mirror of
https://github.com/n8n-io/n8n.git
synced 2024-12-25 04:34:06 -08:00
fix(editor): Fix i18n translation addition (#9451)
This commit is contained in:
parent
18933edff1
commit
04dd4760e1
|
@ -186,6 +186,7 @@ export default defineComponent({
|
|||
},
|
||||
parentTypes: {
|
||||
type: Array as PropType<string[]>,
|
||||
default: () => [],
|
||||
},
|
||||
credentialData: {},
|
||||
credentialId: {
|
||||
|
@ -274,7 +275,7 @@ export default defineComponent({
|
|||
return '';
|
||||
}
|
||||
|
||||
const appName = getAppNameFromCredType((this.credentialType as ICredentialType).displayName);
|
||||
const appName = getAppNameFromCredType(this.credentialType.displayName);
|
||||
|
||||
return (
|
||||
appName ||
|
||||
|
@ -282,13 +283,13 @@ export default defineComponent({
|
|||
);
|
||||
},
|
||||
credentialTypeName(): string {
|
||||
return (this.credentialType as ICredentialType)?.name;
|
||||
return this.credentialType?.name;
|
||||
},
|
||||
credentialOwnerName(): string {
|
||||
return this.credentialsStore.getCredentialOwnerNameById(`${this.credentialId}`);
|
||||
},
|
||||
documentationUrl(): string {
|
||||
const type = this.credentialType as ICredentialType;
|
||||
const type = this.credentialType;
|
||||
const activeNode = this.ndvStore.activeNode;
|
||||
const isCommunityNode = activeNode ? isCommunityPackageName(activeNode.type) : false;
|
||||
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
import type { Plugin } from 'vue';
|
||||
import axios from 'axios';
|
||||
import { createI18n } from 'vue-i18n';
|
||||
import type { I18nOptions } from 'vue-i18n';
|
||||
import { locale } from 'n8n-design-system';
|
||||
import type { INodeProperties, INodePropertyCollection, INodePropertyOptions } from 'n8n-workflow';
|
||||
|
||||
|
@ -437,9 +436,7 @@ async function setLanguage(language: string) {
|
|||
return language;
|
||||
}
|
||||
|
||||
export async function loadLanguage(language?: string) {
|
||||
if (!language) return;
|
||||
|
||||
export async function loadLanguage(language: string) {
|
||||
if (i18nInstance.global.locale === language) {
|
||||
return await setLanguage(language);
|
||||
}
|
||||
|
@ -466,25 +463,15 @@ export async function loadLanguage(language?: string) {
|
|||
*/
|
||||
export function addNodeTranslation(
|
||||
nodeTranslation: { [nodeType: string]: object },
|
||||
language: keyof I18nOptions['messages'],
|
||||
language: string,
|
||||
) {
|
||||
const oldNodesBase: { nodes: {} } = i18nInstance.global.messages[language]['n8n-nodes-base'] ?? {
|
||||
nodes: {},
|
||||
const newMessages = {
|
||||
'n8n-nodes-base': {
|
||||
nodes: nodeTranslation,
|
||||
},
|
||||
};
|
||||
|
||||
const updatedNodes = {
|
||||
...oldNodesBase.nodes,
|
||||
...nodeTranslation,
|
||||
};
|
||||
|
||||
const newNodesBase = {
|
||||
'n8n-nodes-base': Object.assign(oldNodesBase, { nodes: updatedNodes }),
|
||||
};
|
||||
|
||||
i18nInstance.global.setLocaleMessage(
|
||||
language,
|
||||
Object.assign(i18nInstance.global.messages[language], newNodesBase),
|
||||
);
|
||||
i18nInstance.global.mergeLocaleMessage(language, newMessages);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -492,38 +479,22 @@ export function addNodeTranslation(
|
|||
*/
|
||||
export function addCredentialTranslation(
|
||||
nodeCredentialTranslation: { [credentialType: string]: object },
|
||||
language: keyof I18nOptions['messages'],
|
||||
language: string,
|
||||
) {
|
||||
const oldNodesBase: { credentials: {} } = i18nInstance.global.messages[language][
|
||||
'n8n-nodes-base'
|
||||
] || { credentials: {} };
|
||||
|
||||
const updatedCredentials = {
|
||||
...oldNodesBase.credentials,
|
||||
...nodeCredentialTranslation,
|
||||
const newMessages = {
|
||||
'n8n-nodes-base': {
|
||||
credentials: nodeCredentialTranslation,
|
||||
},
|
||||
};
|
||||
|
||||
const newNodesBase = {
|
||||
'n8n-nodes-base': Object.assign(oldNodesBase, { credentials: updatedCredentials }),
|
||||
};
|
||||
|
||||
i18nInstance.global.setLocaleMessage(
|
||||
language,
|
||||
Object.assign(i18nInstance.global.messages[language], newNodesBase),
|
||||
);
|
||||
i18nInstance.global.mergeLocaleMessage(language, newMessages);
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a node's header strings to the i18n instance's `messages` object.
|
||||
*/
|
||||
export function addHeaders(
|
||||
headers: INodeTranslationHeaders,
|
||||
language: keyof I18nOptions['messages'],
|
||||
) {
|
||||
i18nInstance.global.setLocaleMessage(
|
||||
language,
|
||||
Object.assign(i18nInstance.global.messages[language], { headers }),
|
||||
);
|
||||
export function addHeaders(headers: INodeTranslationHeaders, language: string) {
|
||||
i18nInstance.global.mergeLocaleMessage(language, { headers });
|
||||
}
|
||||
|
||||
export const i18n: I18nClass = new I18nClass();
|
||||
|
|
Loading…
Reference in a new issue