fix(editor): Fix i18n translation addition (#9451)

This commit is contained in:
Csaba Tuncsik 2024-05-17 17:18:15 +02:00 committed by GitHub
parent 18933edff1
commit 04dd4760e1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 19 additions and 47 deletions

View file

@ -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;

View file

@ -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();