diff --git a/packages/frontend/@n8n/i18n/src/index.ts b/packages/frontend/@n8n/i18n/src/index.ts index 1d51bb8416..313007e453 100644 --- a/packages/frontend/@n8n/i18n/src/index.ts +++ b/packages/frontend/@n8n/i18n/src/index.ts @@ -14,10 +14,11 @@ import { export * from './types'; export const i18nInstance = createI18n({ + legacy: false, locale: 'en', fallbackLocale: 'en', messages: { en: englishBaseText }, - warnHtmlInMessage: 'off', + warnHtmlMessage: false, }); type BaseTextOptions = { @@ -45,7 +46,7 @@ export class I18nClass { } get locale() { - return i18nInstance.global.locale; + return i18nInstance.global.locale.value; } // ---------------------------------- @@ -377,14 +378,14 @@ export class I18nClass { const loadedLanguages = ['en']; async function setLanguage(language: string) { - i18nInstance.global.locale = language as 'en'; + i18nInstance.global.locale.value = language as 'en'; document.querySelector('html')!.setAttribute('lang', language); return language; } export async function loadLanguage(language: string) { - if (i18nInstance.global.locale === language) { + if (i18nInstance.global.locale.value === language) { return await setLanguage(language); } diff --git a/packages/frontend/editor-ui/src/components/ApiKeyScopes.vue b/packages/frontend/editor-ui/src/components/ApiKeyScopes.vue index ff7d8ac927..70db4cbc3a 100644 --- a/packages/frontend/editor-ui/src/components/ApiKeyScopes.vue +++ b/packages/frontend/editor-ui/src/components/ApiKeyScopes.vue @@ -5,6 +5,7 @@ import { ElSelect, ElOption, ElOptionGroup } from 'element-plus'; import { capitalCase } from 'change-case'; import { useI18n } from '@n8n/i18n'; import { usePageRedirectionHelper } from '@/composables/usePageRedirectionHelper'; +import { I18nT } from 'vue-i18n'; // Define props const props = defineProps({ @@ -116,13 +117,13 @@ function goToUpgradeApiKeyScopes() { - + - + diff --git a/packages/frontend/editor-ui/src/components/ChatEmbedModal.vue b/packages/frontend/editor-ui/src/components/ChatEmbedModal.vue index 2bee6768c3..8c45956381 100644 --- a/packages/frontend/editor-ui/src/components/ChatEmbedModal.vue +++ b/packages/frontend/editor-ui/src/components/ChatEmbedModal.vue @@ -9,6 +9,7 @@ import { useWorkflowsStore } from '@/stores/workflows.store'; import HtmlEditor from '@/components/HtmlEditor/HtmlEditor.vue'; import JsEditor from '@/components/JsEditor/JsEditor.vue'; import { useI18n } from '@n8n/i18n'; +import { I18nT } from 'vue-i18n'; const props = withDefaults( defineProps<{ @@ -161,11 +162,11 @@ function closeDialog() {
- + - +
diff --git a/packages/frontend/editor-ui/src/components/Evaluations.ee/ListRuns/TestRunsTable.vue b/packages/frontend/editor-ui/src/components/Evaluations.ee/ListRuns/TestRunsTable.vue index 6181e20f83..f9deccaaf3 100644 --- a/packages/frontend/editor-ui/src/components/Evaluations.ee/ListRuns/TestRunsTable.vue +++ b/packages/frontend/editor-ui/src/components/Evaluations.ee/ListRuns/TestRunsTable.vue @@ -8,6 +8,7 @@ import type { BaseTextKey } from '@n8n/i18n'; import TestTableBase from '../shared/TestTableBase.vue'; import { statusDictionary } from '../shared/statusDictionary'; import { getErrorBaseKey } from '@/components/Evaluations.ee/shared/errorCodes'; +import { I18nT } from 'vue-i18n'; const emit = defineEmits<{ rowClick: [run: TestRunRecord & { index: number }]; }>(); @@ -88,7 +89,7 @@ const runSummaries = computed(() => { @@ -519,7 +520,7 @@ function handleChangeCollapsingColumn(columnName: string | null) { i18n.baseText('ndv.input.rootNodeHasNotRun.title') }} - + - + @@ -554,7 +555,7 @@ function handleChangeCollapsingColumn(columnName: string | null) { /> - + @@ -573,7 +574,7 @@ function handleChangeCollapsingColumn(columnName: string | null) { diff --git a/packages/frontend/editor-ui/src/components/InviteUsersModal.vue b/packages/frontend/editor-ui/src/components/InviteUsersModal.vue index e4369fc85f..309d38e0c9 100644 --- a/packages/frontend/editor-ui/src/components/InviteUsersModal.vue +++ b/packages/frontend/editor-ui/src/components/InviteUsersModal.vue @@ -18,6 +18,7 @@ import { createEventBus } from '@n8n/utils/event-bus'; import { useClipboard } from '@/composables/useClipboard'; import { useI18n } from '@n8n/i18n'; import { usePageRedirectionHelper } from '@/composables/usePageRedirectionHelper'; +import { I18nT } from 'vue-i18n'; const props = defineProps<{ modalName: string; @@ -304,13 +305,13 @@ function getEmail(email: string): string { > diff --git a/packages/frontend/editor-ui/src/components/MainHeader/WorkflowHistoryButton.vue b/packages/frontend/editor-ui/src/components/MainHeader/WorkflowHistoryButton.vue index 23d0c7432b..e6a4e7cf34 100644 --- a/packages/frontend/editor-ui/src/components/MainHeader/WorkflowHistoryButton.vue +++ b/packages/frontend/editor-ui/src/components/MainHeader/WorkflowHistoryButton.vue @@ -2,6 +2,7 @@ import { computed } from 'vue'; import { VIEWS } from '@/constants'; import { useI18n } from '@n8n/i18n'; +import { I18nT } from 'vue-i18n'; const locale = useI18n(); @@ -42,13 +43,13 @@ const workflowHistoryRoute = computed<{ name: string; params: { workflowId: stri {{ locale.baseText('workflowHistory.button.tooltip.enabled') }} - + - + diff --git a/packages/frontend/editor-ui/src/components/MainSidebar.vue b/packages/frontend/editor-ui/src/components/MainSidebar.vue index 9b53c53797..065e8f21ce 100644 --- a/packages/frontend/editor-ui/src/components/MainSidebar.vue +++ b/packages/frontend/editor-ui/src/components/MainSidebar.vue @@ -28,6 +28,7 @@ import { useBecomeTemplateCreatorStore } from '@/components/BecomeTemplateCreato import Logo from '@/components/Logo/Logo.vue'; import VersionUpdateCTA from '@/components/VersionUpdateCTA.vue'; import { TemplateClickSource, trackTemplatesClick } from '@/utils/experiments'; +import { I18nT } from 'vue-i18n'; const becomeTemplateCreatorStore = useBecomeTemplateCreatorStore(); const cloudPlanStore = useCloudPlanStore(); @@ -390,7 +391,7 @@ onClickOutside(createBtn as Ref, () => { placement="bottom" > {
- + @@ -190,7 +191,7 @@ onMounted(async () => { >{{ i18n.baseText('mfa.setup.step1.instruction1.subtitle.part2') }} - +
@@ -235,7 +236,7 @@ onMounted(async () => {
- + @@ -244,7 +245,7 @@ onMounted(async () => { {{ i18n.baseText('mfa.setup.step2.infobox.description.part2') }} - +
- - +
- + - +
diff --git a/packages/frontend/editor-ui/src/components/Projects/ProjectMoveResourceModal.vue b/packages/frontend/editor-ui/src/components/Projects/ProjectMoveResourceModal.vue index 90bbd44170..b9615f3c08 100644 --- a/packages/frontend/editor-ui/src/components/Projects/ProjectMoveResourceModal.vue +++ b/packages/frontend/editor-ui/src/components/Projects/ProjectMoveResourceModal.vue @@ -23,6 +23,7 @@ import type { EventBus } from '@n8n/utils/event-bus'; import { sortByProperty } from '@n8n/utils/sort/sortByProperty'; import { truncate } from '@n8n/utils/string/truncate'; import { computed, h, onMounted, ref } from 'vue'; +import { I18nT } from 'vue-i18n'; const props = defineProps<{ modalName: string; @@ -201,25 +202,25 @@ onMounted(async () => { }} - + - + - + - + - +
diff --git a/packages/frontend/editor-ui/src/components/Projects/ProjectRoleUpgradeDialog.vue b/packages/frontend/editor-ui/src/components/Projects/ProjectRoleUpgradeDialog.vue index fd4b84d633..58fe233826 100644 --- a/packages/frontend/editor-ui/src/components/Projects/ProjectRoleUpgradeDialog.vue +++ b/packages/frontend/editor-ui/src/components/Projects/ProjectRoleUpgradeDialog.vue @@ -1,6 +1,7 @@ diff --git a/packages/frontend/editor-ui/src/components/VirtualSchema.vue b/packages/frontend/editor-ui/src/components/VirtualSchema.vue index 78381c07c3..0c689e5f54 100644 --- a/packages/frontend/editor-ui/src/components/VirtualSchema.vue +++ b/packages/frontend/editor-ui/src/components/VirtualSchema.vue @@ -45,6 +45,7 @@ import 'vue-virtual-scroller/dist/vue-virtual-scroller.css'; import pick from 'lodash/pick'; import { DateTime } from 'luxon'; import NodeExecuteButton from './NodeExecuteButton.vue'; +import { I18nT } from 'vue-i18n'; type Props = { nodes?: IConnectedNode[]; @@ -417,13 +418,13 @@ const onDragEnd = (el: HTMLElement) => {
{{ i18n.baseText('ndv.search.noNodeMatch.title') }} - + - +
@@ -488,10 +489,11 @@ const onDragEnd = (el: HTMLElement) => { :style="{ '--schema-level': item.level }" > - - - + + diff --git a/packages/frontend/editor-ui/src/components/VirtualSchemaHeader.vue b/packages/frontend/editor-ui/src/components/VirtualSchemaHeader.vue index 98233c8c0f..2d2bf7f814 100644 --- a/packages/frontend/editor-ui/src/components/VirtualSchemaHeader.vue +++ b/packages/frontend/editor-ui/src/components/VirtualSchemaHeader.vue @@ -54,13 +54,13 @@ const emit = defineEmits<{ data-test-id="schema-preview-warning" @click.stop > - + - + diff --git a/packages/frontend/editor-ui/src/components/WorkflowHistory/WorkflowHistoryList.vue b/packages/frontend/editor-ui/src/components/WorkflowHistory/WorkflowHistoryList.vue index 631dbe1127..948e2bf6ad 100644 --- a/packages/frontend/editor-ui/src/components/WorkflowHistory/WorkflowHistoryList.vue +++ b/packages/frontend/editor-ui/src/components/WorkflowHistory/WorkflowHistoryList.vue @@ -10,6 +10,7 @@ import type { } from '@n8n/rest-api-client/api/workflowHistory'; import WorkflowHistoryListItem from '@/components/WorkflowHistory/WorkflowHistoryListItem.vue'; import type { IUser } from 'n8n-workflow'; +import { I18nT } from 'vue-i18n'; const props = defineProps<{ items: WorkflowHistory[]; @@ -142,13 +143,13 @@ const onItemMounted = ({ }) }} - + - + diff --git a/packages/frontend/editor-ui/src/components/WorkflowHistory/WorkflowHistoryVersionRestoreModal.vue b/packages/frontend/editor-ui/src/components/WorkflowHistory/WorkflowHistoryVersionRestoreModal.vue index 6e6cdae850..e7fda65e1b 100644 --- a/packages/frontend/editor-ui/src/components/WorkflowHistory/WorkflowHistoryVersionRestoreModal.vue +++ b/packages/frontend/editor-ui/src/components/WorkflowHistory/WorkflowHistoryVersionRestoreModal.vue @@ -3,6 +3,7 @@ import { useI18n } from '@n8n/i18n'; import Modal from '@/components/Modal.vue'; import { useUIStore } from '@/stores/ui.store'; import type { ButtonType } from '@n8n/design-system'; +import { I18nT } from 'vue-i18n'; const props = defineProps<{ modalName: string; @@ -36,24 +37,25 @@ const closeModal = () => { diff --git a/packages/frontend/editor-ui/src/components/WorkflowShareModal.ee.vue b/packages/frontend/editor-ui/src/components/WorkflowShareModal.ee.vue index 6230f01747..a2c35214f2 100644 --- a/packages/frontend/editor-ui/src/components/WorkflowShareModal.ee.vue +++ b/packages/frontend/editor-ui/src/components/WorkflowShareModal.ee.vue @@ -28,6 +28,7 @@ import { usePageRedirectionHelper } from '@/composables/usePageRedirectionHelper import { useI18n } from '@n8n/i18n'; import { telemetry } from '@/plugins/telemetry'; import { useWorkflowSaving } from '@/composables/useWorkflowSaving'; +import { I18nT } from 'vue-i18n'; const props = defineProps<{ data: { @@ -274,7 +275,7 @@ watch( @project-removed="onProjectRemoved" /> - + @@ -290,20 +291,21 @@ watch( }} - +