diff --git a/packages/core/actions/package.json b/packages/core/actions/package.json index d1f7c4a33..ea4e2f7e1 100644 --- a/packages/core/actions/package.json +++ b/packages/core/actions/package.json @@ -16,4 +16,4 @@ "directory": "packages/actions" }, "gitHead": "ce588eefb0bfc50f7d5bbee575e0b5e843bf6644" -} +} \ No newline at end of file diff --git a/packages/core/resourcer/package.json b/packages/core/resourcer/package.json index 431df030a..ee51d90a0 100644 --- a/packages/core/resourcer/package.json +++ b/packages/core/resourcer/package.json @@ -19,4 +19,4 @@ "directory": "packages/resourcer" }, "gitHead": "ce588eefb0bfc50f7d5bbee575e0b5e843bf6644" -} +} \ No newline at end of file diff --git a/packages/core/server/package.json b/packages/core/server/package.json index 19347f6f4..7b851cd73 100644 --- a/packages/core/server/package.json +++ b/packages/core/server/package.json @@ -31,4 +31,4 @@ "@types/semver": "^7.3.9" }, "gitHead": "ce588eefb0bfc50f7d5bbee575e0b5e843bf6644" -} +} \ No newline at end of file diff --git a/packages/core/server/src/application.ts b/packages/core/server/src/application.ts index 370e4d2bc..12e198fba 100644 --- a/packages/core/server/src/application.ts +++ b/packages/core/server/src/application.ts @@ -18,6 +18,7 @@ import { createACL } from './acl'; import { AppManager } from './app-manager'; import { registerCli } from './commands'; import { createI18n, createResourcer, registerMiddlewares } from './helper'; +import { Locale } from './locale'; import { Plugin } from './plugin'; import { InstallOptions, PluginManager } from './plugin-manager'; @@ -167,6 +168,8 @@ export class Application exten protected _authManager: AuthManager; + protected _locales: Locale; + protected _version: ApplicationVersion; protected plugins = new Map(); @@ -230,6 +233,10 @@ export class Application exten return this._logger; } + get locales() { + return this._locales; + } + get name() { return this.options.name || 'main'; } @@ -298,6 +305,8 @@ export class Application exten this._resourcer.use(this._acl.middleware(), { tag: 'acl', after: ['auth'] }); } + this._locales = new Locale(this); + registerMiddlewares(this, options); if (options.registerActions !== false) { diff --git a/packages/plugins/client/src/server/antd.ts b/packages/core/server/src/locale/antd.ts similarity index 100% rename from packages/plugins/client/src/server/antd.ts rename to packages/core/server/src/locale/antd.ts diff --git a/packages/plugins/client/src/server/cron.ts b/packages/core/server/src/locale/cron.ts similarity index 100% rename from packages/plugins/client/src/server/cron.ts rename to packages/core/server/src/locale/cron.ts diff --git a/packages/plugins/client/src/server/cronstrue.ts b/packages/core/server/src/locale/cronstrue.ts similarity index 100% rename from packages/plugins/client/src/server/cronstrue.ts rename to packages/core/server/src/locale/cronstrue.ts diff --git a/packages/core/server/src/locale/index.ts b/packages/core/server/src/locale/index.ts new file mode 100644 index 000000000..5501675d5 --- /dev/null +++ b/packages/core/server/src/locale/index.ts @@ -0,0 +1 @@ +export * from './locale'; diff --git a/packages/core/server/src/locale/locale.ts b/packages/core/server/src/locale/locale.ts new file mode 100644 index 000000000..83455613d --- /dev/null +++ b/packages/core/server/src/locale/locale.ts @@ -0,0 +1,68 @@ +import { Cache, createCache } from '@nocobase/cache'; +import { lodash } from '@nocobase/utils'; +import Application from '../application'; +import { PluginManager } from '../plugin-manager'; +import { getAntdLocale } from './antd'; +import { getCronstrueLocale } from './cronstrue'; +import { getResource } from './resource'; + +export class Locale { + app: Application; + cache: Cache; + defaultLang = 'en-US'; + + constructor(app: Application) { + this.app = app; + this.cache = createCache(); + + this.app.on('afterLoad', () => this.load()); + } + + load() { + this.getCacheResources(this.defaultLang); + } + + async get(lang: string) { + return { + antd: await this.wrapCache(`locale:antd:${lang}`, () => getAntdLocale(lang)), + cronstrue: await this.wrapCache(`locale:cronstrue:${lang}`, () => getCronstrueLocale(lang)), + resources: await this.getCacheResources(lang), + }; + } + + async wrapCache(key: string, fn: () => any) { + const result = await this.cache.get(key); + if (result) { + return result; + } + const value = await fn(); + if (lodash.isEmpty(value)) { + return value; + } + await this.cache.set(key, value); + return value; + } + + async getCacheResources(lang: string) { + return await this.wrapCache(`locale:resources:${lang}`, () => this.getResources(lang)); + } + + getResources(lang: string) { + const resources = {}; + const plugins = this.app.pm.getPlugins(); + for (const name of plugins.keys()) { + try { + const packageName = PluginManager.getPackageName(name); + const res = getResource(packageName, lang); + if (res) { + resources[name] = { ...res }; + } + } catch (err) {} + } + const res = getResource('@nocobase/client', lang); + if (res) { + resources['client'] = { ...(resources['client'] || {}), ...res }; + } + return resources; + } +} diff --git a/packages/core/server/src/locale/resource.ts b/packages/core/server/src/locale/resource.ts new file mode 100644 index 000000000..7a467c976 --- /dev/null +++ b/packages/core/server/src/locale/resource.ts @@ -0,0 +1,27 @@ +const arr2obj = (items: any[]) => { + const obj = {}; + for (const item of items) { + Object.assign(obj, item); + } + return obj; +}; + +export const getResource = (packageName: string, lang: string) => { + const resources = []; + const prefixes = ['src', 'lib']; + for (const prefix of prefixes) { + try { + const file = `${packageName}/${prefix}/locale/${lang}`; + require.resolve(file); + const resource = require(file).default; + resources.push(resource); + } catch (error) {} + if (resources.length) { + break; + } + } + if (resources.length === 0 && lang.replace('-', '_') !== lang) { + return getResource(packageName, lang.replace('-', '_')); + } + return arr2obj(resources); +}; diff --git a/packages/plugins/api-keys/src/client/locale/en-US.ts b/packages/plugins/api-keys/src/locale/en-US.ts similarity index 100% rename from packages/plugins/api-keys/src/client/locale/en-US.ts rename to packages/plugins/api-keys/src/locale/en-US.ts diff --git a/packages/plugins/api-keys/src/client/locale/fr-FR.ts b/packages/plugins/api-keys/src/locale/fr-FR.ts similarity index 100% rename from packages/plugins/api-keys/src/client/locale/fr-FR.ts rename to packages/plugins/api-keys/src/locale/fr-FR.ts diff --git a/packages/plugins/api-keys/src/client/locale/zh-CN.ts b/packages/plugins/api-keys/src/locale/zh-CN.ts similarity index 94% rename from packages/plugins/api-keys/src/client/locale/zh-CN.ts rename to packages/plugins/api-keys/src/locale/zh-CN.ts index fc6b2c7c7..bab920eb3 100644 --- a/packages/plugins/api-keys/src/client/locale/zh-CN.ts +++ b/packages/plugins/api-keys/src/locale/zh-CN.ts @@ -16,6 +16,7 @@ const locale = { '7 Days': '7 天', '30 Days': '30 天', '90 Days': '90 天', + 'Role not found': '角色不存在', }; export default locale; diff --git a/packages/plugins/audit-logs/src/client/locale/en-US.ts b/packages/plugins/audit-logs/src/locale/en-US.ts similarity index 100% rename from packages/plugins/audit-logs/src/client/locale/en-US.ts rename to packages/plugins/audit-logs/src/locale/en-US.ts diff --git a/packages/plugins/audit-logs/src/client/locale/es-ES.ts b/packages/plugins/audit-logs/src/locale/es-ES.ts similarity index 100% rename from packages/plugins/audit-logs/src/client/locale/es-ES.ts rename to packages/plugins/audit-logs/src/locale/es-ES.ts diff --git a/packages/plugins/audit-logs/src/client/locale/fr-FR.ts b/packages/plugins/audit-logs/src/locale/fr-FR.ts similarity index 100% rename from packages/plugins/audit-logs/src/client/locale/fr-FR.ts rename to packages/plugins/audit-logs/src/locale/fr-FR.ts diff --git a/packages/plugins/audit-logs/src/client/locale/ja-JP.ts b/packages/plugins/audit-logs/src/locale/ja-JP.ts similarity index 100% rename from packages/plugins/audit-logs/src/client/locale/ja-JP.ts rename to packages/plugins/audit-logs/src/locale/ja-JP.ts diff --git a/packages/plugins/audit-logs/src/client/locale/pt-BR.ts b/packages/plugins/audit-logs/src/locale/pt-BR.ts similarity index 100% rename from packages/plugins/audit-logs/src/client/locale/pt-BR.ts rename to packages/plugins/audit-logs/src/locale/pt-BR.ts diff --git a/packages/plugins/audit-logs/src/client/locale/ru-RU.ts b/packages/plugins/audit-logs/src/locale/ru-RU.ts similarity index 100% rename from packages/plugins/audit-logs/src/client/locale/ru-RU.ts rename to packages/plugins/audit-logs/src/locale/ru-RU.ts diff --git a/packages/plugins/audit-logs/src/client/locale/tr-TR.ts b/packages/plugins/audit-logs/src/locale/tr-TR.ts similarity index 100% rename from packages/plugins/audit-logs/src/client/locale/tr-TR.ts rename to packages/plugins/audit-logs/src/locale/tr-TR.ts diff --git a/packages/plugins/audit-logs/src/client/locale/zh-CN.ts b/packages/plugins/audit-logs/src/locale/zh-CN.ts similarity index 100% rename from packages/plugins/audit-logs/src/client/locale/zh-CN.ts rename to packages/plugins/audit-logs/src/locale/zh-CN.ts diff --git a/packages/plugins/auth/src/client/locale/zh-CN.ts b/packages/plugins/auth/src/client/locale/zh-CN.ts deleted file mode 100644 index cf10b9eea..000000000 --- a/packages/plugins/auth/src/client/locale/zh-CN.ts +++ /dev/null @@ -1,10 +0,0 @@ -const locale = { - 'Auth Type': '认证类型', - Authenticators: '认证器', - Authentication: '用户认证', - 'Sign in via email': '邮箱登录', - 'Not allowed to sign up': '禁止注册', - 'Allow to sign up': '允许注册', -}; - -export default locale; diff --git a/packages/plugins/auth/src/locale/zh-CN.ts b/packages/plugins/auth/src/locale/zh-CN.ts new file mode 100644 index 000000000..aa7800971 --- /dev/null +++ b/packages/plugins/auth/src/locale/zh-CN.ts @@ -0,0 +1,17 @@ +const locale = { + 'Auth Type': '认证类型', + Authenticators: '认证器', + Authentication: '用户认证', + 'Sign in via email': '邮箱登录', + 'Not allowed to sign up': '禁止注册', + 'Allow to sign up': '允许注册', + 'The email is incorrect, please re-enter': '邮箱有误,请重新输入', + 'Please fill in your email address': '请填写邮箱', + 'The password is incorrect, please re-enter': '密码有误,请重新输入', + 'Not a valid cellphone number, please re-enter': '不是有效的手机号,请重新输入', + 'The phone number has been registered, please login directly': '手机号已注册,请直接登录', + 'The phone number is not registered, please register first': '手机号未注册,请先注册', + 'Please keep and enable at least one authenticator': '请至少保留并启用一个认证器', +}; + +export default locale; diff --git a/packages/plugins/charts/src/client/locale/fr-FR.ts b/packages/plugins/charts/src/client/locale/fr-FR.ts deleted file mode 100644 index 9c4d4711a..000000000 --- a/packages/plugins/charts/src/client/locale/fr-FR.ts +++ /dev/null @@ -1,23 +0,0 @@ -export default { - Edit: 'Modifier', - Delete: 'Supprimer', - Cancel: 'Annuler', - Submit: 'Envoyer', - Actions: 'Actions', - Title: 'Titre', - Enable: 'Activer', - 'SAML manager': 'SAML manager', - 'SAML Providers': 'SAML Providers', - 'Redirect url': 'URL de redirection', - 'SP entity id': 'SP entity id', - 'Add provider': 'Ajouter', - 'Edit provider': 'Modifier', - 'Client id': 'Client id', - 'Entity id or issuer': 'Entity id or issuer', - 'Login Url': 'URL de connexion', - 'Public cert': 'Public cert', - 'Delete provider': 'Supprimer', - 'Are you sure you want to delete it?': 'Êtes-vous sûr de vouloir le supprimer ?', - 'Sign in button name, which will be displayed on the sign in page': - 'Nom du bouton de connexion, qui sera affiché sur la page de connexion', -}; diff --git a/packages/plugins/charts/src/client/locale/en-US.ts b/packages/plugins/charts/src/locale/en-US.ts similarity index 100% rename from packages/plugins/charts/src/client/locale/en-US.ts rename to packages/plugins/charts/src/locale/en-US.ts diff --git a/packages/plugins/charts/src/client/locale/es-ES.ts b/packages/plugins/charts/src/locale/es-ES.ts similarity index 100% rename from packages/plugins/charts/src/client/locale/es-ES.ts rename to packages/plugins/charts/src/locale/es-ES.ts diff --git a/packages/plugins/charts/src/client/locale/ja-JP.ts b/packages/plugins/charts/src/locale/fr-FR.ts similarity index 100% rename from packages/plugins/charts/src/client/locale/ja-JP.ts rename to packages/plugins/charts/src/locale/fr-FR.ts diff --git a/packages/plugins/data-visualization/src/client/locale/ja-JP.ts b/packages/plugins/charts/src/locale/ja-JP.ts similarity index 100% rename from packages/plugins/data-visualization/src/client/locale/ja-JP.ts rename to packages/plugins/charts/src/locale/ja-JP.ts diff --git a/packages/plugins/charts/src/client/locale/pt-BR.ts b/packages/plugins/charts/src/locale/pt-BR.ts similarity index 100% rename from packages/plugins/charts/src/client/locale/pt-BR.ts rename to packages/plugins/charts/src/locale/pt-BR.ts diff --git a/packages/plugins/charts/src/client/locale/ru-RU.ts b/packages/plugins/charts/src/locale/ru-RU.ts similarity index 100% rename from packages/plugins/charts/src/client/locale/ru-RU.ts rename to packages/plugins/charts/src/locale/ru-RU.ts diff --git a/packages/plugins/charts/src/client/locale/tr-TR.ts b/packages/plugins/charts/src/locale/tr-TR.ts similarity index 100% rename from packages/plugins/charts/src/client/locale/tr-TR.ts rename to packages/plugins/charts/src/locale/tr-TR.ts diff --git a/packages/plugins/charts/src/client/locale/zh-CN.ts b/packages/plugins/charts/src/locale/zh-CN.ts similarity index 100% rename from packages/plugins/charts/src/client/locale/zh-CN.ts rename to packages/plugins/charts/src/locale/zh-CN.ts diff --git a/packages/plugins/client/src/index.ts b/packages/plugins/client/src/index.ts index ce9f71d9f..7ddad5814 100644 --- a/packages/plugins/client/src/index.ts +++ b/packages/plugins/client/src/index.ts @@ -1 +1 @@ -export { default, getResourceLocale } from './server'; +export { default } from './server'; diff --git a/packages/plugins/client/src/server/index.ts b/packages/plugins/client/src/server/index.ts index 1d7c99f42..7ddad5814 100644 --- a/packages/plugins/client/src/server/index.ts +++ b/packages/plugins/client/src/server/index.ts @@ -1,2 +1 @@ -export { getResourceLocale } from './resource'; export { default } from './server'; diff --git a/packages/plugins/client/src/server/moment-locale.ts b/packages/plugins/client/src/server/moment-locale.ts deleted file mode 100644 index 932259a1d..000000000 --- a/packages/plugins/client/src/server/moment-locale.ts +++ /dev/null @@ -1,141 +0,0 @@ -const locales = { - af: 'af', - 'ar-dz': 'ar-dz', - 'ar-kw': 'ar-kw', - 'ar-ly': 'ar-ly', - 'ar-ma': 'ar-ma', - 'ar-sa': 'ar-sa', - 'ar-tn': 'ar-tn', - ar: 'ar', - az: 'az', - be: 'be', - bg: 'bg', - bm: 'bm', - 'bn-bd': 'bn-bd', - bn: 'bn', - bo: 'bo', - br: 'br', - bs: 'bs', - ca: 'ca', - cs: 'cs', - cv: 'cv', - cy: 'cy', - da: 'da', - 'de-at': 'de-at', - 'de-ch': 'de-ch', - de: 'de', - dv: 'dv', - el: 'el', - 'en-au': 'en-au', - 'en-ca': 'en-ca', - 'en-gb': 'en-gb', - 'en-ie': 'en-ie', - 'en-il': 'en-il', - 'en-in': 'en-in', - 'en-nz': 'en-nz', - 'en-sg': 'en-sg', - eo: 'eo', - 'es-do': 'es-do', - 'es-mx': 'es-mx', - 'es-us': 'es-us', - es: 'es', - et: 'et', - eu: 'eu', - fa: 'fa', - fi: 'fi', - fil: 'fil', - fo: 'fo', - 'fr-ca': 'fr-ca', - 'fr-ch': 'fr-ch', - fr: 'fr', - fy: 'fy', - ga: 'ga', - gd: 'gd', - gl: 'gl', - 'gom-deva': 'gom-deva', - 'gom-latn': 'gom-latn', - gu: 'gu', - he: 'he', - hi: 'hi', - hr: 'hr', - hu: 'hu', - 'hy-am': 'hy-am', - id: 'id', - is: 'is', - 'it-ch': 'it-ch', - it: 'it', - 'ja-JP': 'ja', - jv: 'jv', - ka: 'ka', - kk: 'kk', - km: 'km', - kn: 'kn', - ko: 'ko', - ku: 'ku', - ky: 'ky', - lb: 'lb', - lo: 'lo', - lt: 'lt', - lv: 'lv', - me: 'me', - mi: 'mi', - mk: 'mk', - ml: 'ml', - mn: 'mn', - mr: 'mr', - 'ms-my': 'ms-my', - ms: 'ms', - mt: 'mt', - my: 'my', - nb: 'nb', - ne: 'ne', - 'nl-be': 'nl-be', - nl: 'nl', - nn: 'nn', - 'oc-lnc': 'oc-lnc', - 'pa-in': 'pa-in', - pl: 'pl', - 'pt-br': 'pt-br', - pt: 'pt', - ro: 'ro', - 'ru-RU': 'ru', - sd: 'sd', - se: 'se', - si: 'si', - sk: 'sk', - sl: 'sl', - sq: 'sq', - 'sr-cyrl': 'sr-cyrl', - sr: 'sr', - ss: 'ss', - sv: 'sv', - sw: 'sw', - ta: 'ta', - te: 'te', - tet: 'tet', - tg: 'tg', - 'th-TH': 'th', - tk: 'tk', - 'tl-ph': 'tl-ph', - tlh: 'tlh', - 'tr-TR': 'tr', - tzl: 'tzl', - 'tzm-latn': 'tzm-latn', - tzm: 'tzm', - 'ug-cn': 'ug-cn', - uk: 'uk', - ur: 'ur', - 'uz-latn': 'uz-latn', - uz: 'uz', - vi: 'vi', - 'x-pseudo': 'x-pseudo', - yo: 'yo', - 'zh-CN': 'zh-cn', - 'zh-hk': 'zh-hk', - 'zh-mo': 'zh-mo', - 'zh-TW': 'zh-tw', -}; - -export const getMomentLocale = (lang: string) => { - return locales[lang] || 'en'; -}; diff --git a/packages/plugins/client/src/server/resource.ts b/packages/plugins/client/src/server/resource.ts deleted file mode 100644 index 354f5bc21..000000000 --- a/packages/plugins/client/src/server/resource.ts +++ /dev/null @@ -1,69 +0,0 @@ -import { PluginManager } from '@nocobase/server'; - -const arr2obj = (items: any[]) => { - const obj = {}; - for (const item of items) { - Object.assign(obj, item); - } - return obj; -}; - -const getResource = (packageName: string, lang: string) => { - const resources = []; - const prefixes = ['src', 'lib']; - const localeKeys = ['locale', 'client/locale', 'server/locale']; - for (const prefix of prefixes) { - for (const localeKey of localeKeys) { - try { - const file = `${packageName}/${prefix}/${localeKey}/${lang}`; - require.resolve(file); - const resource = require(file).default; - resources.push(resource); - } catch (error) {} - } - if (resources.length) { - break; - } - } - if (resources.length === 0 && lang.replace('-', '_') !== lang) { - return getResource(packageName, lang.replace('-', '_')); - } - return arr2obj(resources); -}; - -export const getResourceLocale = async (lang: string, db: any) => { - const resources = {}; - const res = getResource('@nocobase/client', lang); - const defaults = getResource('@nocobase/client', 'zh-CN'); - for (const key in defaults) { - if (Object.prototype.hasOwnProperty.call(defaults, key)) { - defaults[key] = key; - } - } - if (res) { - resources['client'] = { ...defaults, ...res }; - } else { - resources['client'] = defaults; - } - const plugins = await db.getRepository('applicationPlugins').find({ - filter: { - 'name.$ne': 'client', - }, - }); - for (const plugin of plugins) { - const packageName = PluginManager.getPackageName(plugin.get('name')); - const res = getResource(packageName, lang); - const defaults = getResource(packageName, 'zh-CN'); - for (const key in defaults) { - if (Object.prototype.hasOwnProperty.call(defaults, key)) { - defaults[key] = key; - } - } - if (res) { - resources[plugin.get('name')] = { ...defaults, ...res }; - } else { - resources['client'] = defaults; - } - } - return resources; -}; diff --git a/packages/plugins/client/src/server/server.ts b/packages/plugins/client/src/server/server.ts index 6838cc6e3..c7994714c 100644 --- a/packages/plugins/client/src/server/server.ts +++ b/packages/plugins/client/src/server/server.ts @@ -1,14 +1,8 @@ import { Plugin, PluginManager } from '@nocobase/server'; -import { lodash } from '@nocobase/utils'; import fs from 'fs'; import send from 'koa-send'; import serve from 'koa-static'; import { isAbsolute, resolve } from 'path'; -import { getAntdLocale } from './antd'; -import { getCronLocale } from './cron'; -import { getCronstrueLocale } from './cronstrue'; -import { getMomentLocale } from './moment-locale'; -import { getResourceLocale } from './resource'; async function getReadMe(name: string, locale: string) { const packageName = PluginManager.getPackageName(name); @@ -128,7 +122,6 @@ export class ClientPlugin extends Plugin { actions: ['app:reboot', 'app:clearCache'], }); const dialect = this.app.db.sequelize.getDialect(); - const locales = require('./locale').default; const restartMark = resolve(process.cwd(), 'storage', 'restart'); this.app.on('beforeStart', async () => { if (fs.existsSync(restartMark)) { @@ -159,25 +152,10 @@ export class ClientPlugin extends Plugin { }, async getLang(ctx, next) { const lang = await getLang(ctx); - if (lodash.isEmpty(locales[lang])) { - locales[lang] = {}; - } - if (lodash.isEmpty(locales[lang].resources)) { - locales[lang].resources = await getResourceLocale(lang, ctx.db); - } - if (lodash.isEmpty(locales[lang].antd)) { - locales[lang].antd = getAntdLocale(lang); - } - if (lodash.isEmpty(locales[lang].cronstrue)) { - locales[lang].cronstrue = getCronstrueLocale(lang); - } - if (lodash.isEmpty(locales[lang].cron)) { - locales[lang].cron = getCronLocale(lang); - } + const resources = await ctx.app.locales.get(lang); ctx.body = { lang, - moment: getMomentLocale(lang), - ...locales[lang], + ...resources, }; await next(); }, diff --git a/packages/plugins/data-visualization/src/client/locale/en-US.ts b/packages/plugins/data-visualization/src/locale/en-US.ts similarity index 100% rename from packages/plugins/data-visualization/src/client/locale/en-US.ts rename to packages/plugins/data-visualization/src/locale/en-US.ts diff --git a/packages/plugins/data-visualization/src/client/locale/ru-RU.ts b/packages/plugins/data-visualization/src/locale/fr-FR.ts similarity index 100% rename from packages/plugins/data-visualization/src/client/locale/ru-RU.ts rename to packages/plugins/data-visualization/src/locale/fr-FR.ts diff --git a/packages/plugins/oidc/src/client/locale/ja-JP.ts b/packages/plugins/data-visualization/src/locale/ja-JP.ts similarity index 100% rename from packages/plugins/oidc/src/client/locale/ja-JP.ts rename to packages/plugins/data-visualization/src/locale/ja-JP.ts diff --git a/packages/plugins/data-visualization/src/client/locale/pt-BR.ts b/packages/plugins/data-visualization/src/locale/pt-BR.ts similarity index 100% rename from packages/plugins/data-visualization/src/client/locale/pt-BR.ts rename to packages/plugins/data-visualization/src/locale/pt-BR.ts diff --git a/packages/plugins/oidc/src/client/locale/ru-RU.ts b/packages/plugins/data-visualization/src/locale/ru-RU.ts similarity index 100% rename from packages/plugins/oidc/src/client/locale/ru-RU.ts rename to packages/plugins/data-visualization/src/locale/ru-RU.ts diff --git a/packages/plugins/data-visualization/src/client/locale/tr-TR.ts b/packages/plugins/data-visualization/src/locale/tr-TR.ts similarity index 100% rename from packages/plugins/data-visualization/src/client/locale/tr-TR.ts rename to packages/plugins/data-visualization/src/locale/tr-TR.ts diff --git a/packages/plugins/data-visualization/src/client/locale/zh-CN.ts b/packages/plugins/data-visualization/src/locale/zh-CN.ts similarity index 100% rename from packages/plugins/data-visualization/src/client/locale/zh-CN.ts rename to packages/plugins/data-visualization/src/locale/zh-CN.ts diff --git a/packages/plugins/duplicator/src/locale/zh-CN.ts b/packages/plugins/duplicator/src/locale/zh-CN.ts new file mode 100644 index 000000000..0736493f7 --- /dev/null +++ b/packages/plugins/duplicator/src/locale/zh-CN.ts @@ -0,0 +1,8 @@ +export default { + 'Select Import data': '请选择导入数据', + 'Select Import Plugins': '请选择导入插件', + 'Select User Collections': '请选择用户数据', + 'Basic Data': '基础数据', + 'Optional Data': '可选数据', + 'User Data': '用户数据', +}; diff --git a/packages/plugins/error-handler/src/locale/en_US.ts b/packages/plugins/error-handler/src/locale/en_US.ts new file mode 100644 index 000000000..b248d9b0c --- /dev/null +++ b/packages/plugins/error-handler/src/locale/en_US.ts @@ -0,0 +1,6 @@ +export default { + 'unique violation': '{{field}} must be unique', + 'notNull violation': 'notNull violation', + 'Validation error': '{{field}} validation error', + 'notNull Violation': '{{field}} cannot be null', +}; diff --git a/packages/plugins/error-handler/src/locale/es-ES.ts b/packages/plugins/error-handler/src/locale/es-ES.ts new file mode 100644 index 000000000..81ac5606c --- /dev/null +++ b/packages/plugins/error-handler/src/locale/es-ES.ts @@ -0,0 +1,6 @@ +export default { + "unique violation": "{{field}} debe ser único", + "notNull violation": "notNull violación", + "Validation error": "{{field}} error de validación", + "notNull Violation": "{{field}} no puede ser null" +}; diff --git a/packages/plugins/error-handler/src/locale/fr_FR.ts b/packages/plugins/error-handler/src/locale/fr_FR.ts new file mode 100644 index 000000000..10463d83d --- /dev/null +++ b/packages/plugins/error-handler/src/locale/fr_FR.ts @@ -0,0 +1,6 @@ +export default { + 'unique violation': '{{field}} doit être unique', + 'notNull violation': 'Violation de contrainte notNull', + 'Validation error': 'Erreur de validation de {{field}}', + 'notNull Violation': '{{field}} ne peut pas être null', +}; diff --git a/packages/plugins/error-handler/src/locale/ja_JP.ts b/packages/plugins/error-handler/src/locale/ja_JP.ts new file mode 100644 index 000000000..ffd51b984 --- /dev/null +++ b/packages/plugins/error-handler/src/locale/ja_JP.ts @@ -0,0 +1,4 @@ +export default { + 'unique violation': '{{field}} は一意でなくてはなりません', + 'notNull Violation': '{{field}} はNullにできません', +}; diff --git a/packages/plugins/error-handler/src/locale/pt-BR.ts b/packages/plugins/error-handler/src/locale/pt-BR.ts new file mode 100644 index 000000000..6ee8e7caa --- /dev/null +++ b/packages/plugins/error-handler/src/locale/pt-BR.ts @@ -0,0 +1,6 @@ +export default { + 'unique violation': '{{field}} deve ser único', + 'notNull violation': 'violação de não nulo', + 'Validation error': 'erro de validação de {{field}}', + 'notNull Violation': '{{field}} não pode ser nulo', +}; diff --git a/packages/plugins/error-handler/src/locale/zh_CN.ts b/packages/plugins/error-handler/src/locale/zh_CN.ts new file mode 100644 index 000000000..1849dd4dc --- /dev/null +++ b/packages/plugins/error-handler/src/locale/zh_CN.ts @@ -0,0 +1,5 @@ +export default { + 'unique violation': '{{field}} 字段值是唯一的', + 'notNull violation': '{{field}} 字段不能为空', + 'Validation error': '{{field}} 字段规则验证失败', +}; diff --git a/packages/plugins/file-manager/src/client/locale/en-US.ts b/packages/plugins/file-manager/src/locale/en-US.ts similarity index 78% rename from packages/plugins/file-manager/src/client/locale/en-US.ts rename to packages/plugins/file-manager/src/locale/en-US.ts index 9f3414989..553d8c7cc 100644 --- a/packages/plugins/file-manager/src/client/locale/en-US.ts +++ b/packages/plugins/file-manager/src/locale/en-US.ts @@ -1,21 +1,21 @@ export default { 'File manager': 'File manager', - 'Attachment': 'Attachment', + Attachment: 'Attachment', 'MIME type': 'MIME type', 'Storage display name': 'Storage display name', 'Storage name': 'Storage name', 'Storage type': 'Storage type', 'Default storage': 'Default storage', 'Storage base URL': 'Storage base URL', - 'Destination': 'Destination', + Destination: 'Destination', 'Use the built-in static file server': 'Use the built-in static file server', 'Local storage': 'Local storage', 'Aliyun OSS': 'Aliyun OSS', 'Tencent COS': 'Tencent COS', 'Amazon S3': 'Amazon S3', - 'Region': 'Region', - 'Bucket': 'Bucket', - 'Path': 'Path', - 'Filename': 'Filename', + Region: 'Region', + Bucket: 'Bucket', + Path: 'Path', + Filename: 'Filename', 'Will be used for API': 'Will be used for API', }; diff --git a/packages/plugins/file-manager/src/client/locale/fr-FR.ts b/packages/plugins/file-manager/src/locale/fr-FR.ts similarity index 63% rename from packages/plugins/file-manager/src/client/locale/fr-FR.ts rename to packages/plugins/file-manager/src/locale/fr-FR.ts index dffb6879e..6ef4d51d5 100644 --- a/packages/plugins/file-manager/src/client/locale/fr-FR.ts +++ b/packages/plugins/file-manager/src/locale/fr-FR.ts @@ -1,21 +1,21 @@ export default { 'File manager': 'Gestionnaire de fichiers', - 'Attachment': 'Pièce jointe', + Attachment: 'Pièce jointe', 'MIME type': 'Type MIME', - 'Storage display name': 'Nom d\'affichage du stockage', + 'Storage display name': "Nom d'affichage du stockage", 'Storage name': 'Nom du stockage', 'Storage type': 'Type de stockage', 'Default storage': 'Stockage par défaut', 'Storage base URL': 'URL de base du stockage', - 'Destination': 'Destination', + Destination: 'Destination', 'Use the built-in static file server': 'Utiliser le serveur de fichiers statique intégré', 'Local storage': 'Stockage local', 'Aliyun OSS': 'Aliyun OSS', 'Tencent COS': 'Tencent COS', 'Amazon S3': 'Amazon S3', - 'Region': 'Region', - 'Bucket': 'Bucket', - 'Path': 'Chemin', - 'Filename': 'Nom de fichier', - 'Will be used for API': 'Sera utilisé pour l\'API', + Region: 'Region', + Bucket: 'Bucket', + Path: 'Chemin', + Filename: 'Nom de fichier', + 'Will be used for API': "Sera utilisé pour l'API", }; diff --git a/packages/plugins/file-manager/src/client/locale/ja-JP.ts b/packages/plugins/file-manager/src/locale/ja-JP.ts similarity index 100% rename from packages/plugins/file-manager/src/client/locale/ja-JP.ts rename to packages/plugins/file-manager/src/locale/ja-JP.ts diff --git a/packages/plugins/file-manager/src/client/locale/ru-RU.ts b/packages/plugins/file-manager/src/locale/ru-RU.ts similarity index 100% rename from packages/plugins/file-manager/src/client/locale/ru-RU.ts rename to packages/plugins/file-manager/src/locale/ru-RU.ts diff --git a/packages/plugins/file-manager/src/client/locale/tr-TR.ts b/packages/plugins/file-manager/src/locale/tr-TR.ts similarity index 100% rename from packages/plugins/file-manager/src/client/locale/tr-TR.ts rename to packages/plugins/file-manager/src/locale/tr-TR.ts diff --git a/packages/plugins/file-manager/src/client/locale/zh-CN.ts b/packages/plugins/file-manager/src/locale/zh-CN.ts similarity index 100% rename from packages/plugins/file-manager/src/client/locale/zh-CN.ts rename to packages/plugins/file-manager/src/locale/zh-CN.ts diff --git a/packages/plugins/formula-field/src/client/locale/zh-CN.ts b/packages/plugins/formula-field/src/locale/zh-CN.ts similarity index 100% rename from packages/plugins/formula-field/src/client/locale/zh-CN.ts rename to packages/plugins/formula-field/src/locale/zh-CN.ts diff --git a/packages/plugins/graph-collection-manager/src/client/locale/index.ts b/packages/plugins/graph-collection-manager/src/client/locale/index.ts index 70f55564f..086314849 100644 --- a/packages/plugins/graph-collection-manager/src/client/locale/index.ts +++ b/packages/plugins/graph-collection-manager/src/client/locale/index.ts @@ -1,3 +1,3 @@ -export { default as enUS } from './en-US'; -export { default as zhCN } from './zh-CN'; -export { default as jaJP } from './ja-JP'; +// export { default as enUS } from './en-US'; +// export { default as zhCN } from './zh-CN'; +// export { default as jaJP } from './ja-JP'; diff --git a/packages/plugins/graph-collection-manager/src/client/locale/en-US.ts b/packages/plugins/graph-collection-manager/src/locale/en-US.ts similarity index 100% rename from packages/plugins/graph-collection-manager/src/client/locale/en-US.ts rename to packages/plugins/graph-collection-manager/src/locale/en-US.ts diff --git a/packages/plugins/graph-collection-manager/src/client/locale/es-ES.ts b/packages/plugins/graph-collection-manager/src/locale/es-ES.ts similarity index 100% rename from packages/plugins/graph-collection-manager/src/client/locale/es-ES.ts rename to packages/plugins/graph-collection-manager/src/locale/es-ES.ts diff --git a/packages/plugins/graph-collection-manager/src/client/locale/fr-FR.ts b/packages/plugins/graph-collection-manager/src/locale/fr-FR.ts similarity index 65% rename from packages/plugins/graph-collection-manager/src/client/locale/fr-FR.ts rename to packages/plugins/graph-collection-manager/src/locale/fr-FR.ts index 583f1b0da..d8cbcd487 100644 --- a/packages/plugins/graph-collection-manager/src/client/locale/fr-FR.ts +++ b/packages/plugins/graph-collection-manager/src/locale/fr-FR.ts @@ -5,11 +5,11 @@ export default { 'Collection Search': 'Recherche de collection', 'Create Collection': 'Créer une collection', 'All Fields': 'Tous les champs', - 'Association Fields': 'Champs d\'association', + 'Association Fields': "Champs d'association", 'Choices fields': 'Champs de choix', 'All relationships': 'Toutes les relations', - 'Entity relationship only': 'Uniquement les relations d\'entité', - 'Inheritance relationship only': 'Uniquement les relations d\'héritage', + 'Entity relationship only': "Uniquement les relations d'entité", + 'Inheritance relationship only': "Uniquement les relations d'héritage", 'Graphical interface': 'Interface graphique', - 'Selection': 'Sélection', + Selection: 'Sélection', }; diff --git a/packages/plugins/graph-collection-manager/src/client/locale/ja-JP.ts b/packages/plugins/graph-collection-manager/src/locale/ja-JP.ts similarity index 100% rename from packages/plugins/graph-collection-manager/src/client/locale/ja-JP.ts rename to packages/plugins/graph-collection-manager/src/locale/ja-JP.ts diff --git a/packages/plugins/graph-collection-manager/src/client/locale/pt-BR.ts b/packages/plugins/graph-collection-manager/src/locale/pt-BR.ts similarity index 100% rename from packages/plugins/graph-collection-manager/src/client/locale/pt-BR.ts rename to packages/plugins/graph-collection-manager/src/locale/pt-BR.ts diff --git a/packages/plugins/graph-collection-manager/src/client/locale/zh-CN.ts b/packages/plugins/graph-collection-manager/src/locale/zh-CN.ts similarity index 100% rename from packages/plugins/graph-collection-manager/src/client/locale/zh-CN.ts rename to packages/plugins/graph-collection-manager/src/locale/zh-CN.ts diff --git a/packages/plugins/import/src/client/locale/index.ts b/packages/plugins/import/src/client/locale/index.ts index b0b1d48d5..3a2a6d6ca 100644 --- a/packages/plugins/import/src/client/locale/index.ts +++ b/packages/plugins/import/src/client/locale/index.ts @@ -1,2 +1,2 @@ -export { default as enUS } from './en-US'; -export { default as zhCN } from './zh-CN'; +// export { default as enUS } from './en-US'; +// export { default as zhCN } from './zh-CN'; diff --git a/packages/plugins/import/src/client/locale/en-US.ts b/packages/plugins/import/src/locale/en-US.ts similarity index 100% rename from packages/plugins/import/src/client/locale/en-US.ts rename to packages/plugins/import/src/locale/en-US.ts diff --git a/packages/plugins/import/src/client/locale/es-ES.ts b/packages/plugins/import/src/locale/es-ES.ts similarity index 100% rename from packages/plugins/import/src/client/locale/es-ES.ts rename to packages/plugins/import/src/locale/es-ES.ts diff --git a/packages/plugins/import/src/client/locale/pt-BR.ts b/packages/plugins/import/src/locale/pt-BR.ts similarity index 100% rename from packages/plugins/import/src/client/locale/pt-BR.ts rename to packages/plugins/import/src/locale/pt-BR.ts diff --git a/packages/plugins/import/src/client/locale/zh-CN.ts b/packages/plugins/import/src/locale/zh-CN.ts similarity index 73% rename from packages/plugins/import/src/client/locale/zh-CN.ts rename to packages/plugins/import/src/locale/zh-CN.ts index 95ceeffd3..40830edc2 100644 --- a/packages/plugins/import/src/client/locale/zh-CN.ts +++ b/packages/plugins/import/src/locale/zh-CN.ts @@ -20,4 +20,11 @@ export default { Yes: '是', No: '否', 'Field {{fieldName}} does not exist': '字段 {{fieldName}} 不存在', + 'can not find value': '找不到对应值', + 'password is empty': '密码为空', + 'Incorrect time format': '时间格式不正确', + 'Incorrect date format': '日期格式不正确', + 'Incorrect email format': '邮箱格式不正确', + 'Illegal percentage format': '百分比格式有误', + 'Imported template does not match, please download again.': '导入模板不匹配,请检查导入文件标题行或重新下载导入模板', }; diff --git a/packages/plugins/localization-management/package.json b/packages/plugins/localization-management/package.json index eca2fdeb7..042950efc 100644 --- a/packages/plugins/localization-management/package.json +++ b/packages/plugins/localization-management/package.json @@ -18,4 +18,4 @@ "displayName.zh-CN": "多语言管理", "description": "Allows to manage localization resources of the application.", "description.zh-CN": "支持管理应用程序的多语言资源。" -} +} \ No newline at end of file diff --git a/packages/plugins/localization-management/src/client/locale/zh-CN.ts b/packages/plugins/localization-management/src/locale/zh-CN.ts similarity index 100% rename from packages/plugins/localization-management/src/client/locale/zh-CN.ts rename to packages/plugins/localization-management/src/locale/zh-CN.ts diff --git a/packages/plugins/localization-management/src/server/actions/localization.ts b/packages/plugins/localization-management/src/server/actions/localization.ts index 941cb98ee..6b7901858 100644 --- a/packages/plugins/localization-management/src/server/actions/localization.ts +++ b/packages/plugins/localization-management/src/server/actions/localization.ts @@ -1,6 +1,5 @@ import { Context, Next } from '@nocobase/actions'; import { Database, Model, Op } from '@nocobase/database'; -import { getResourceLocale } from '@nocobase/plugin-client'; import { UiSchemaRepository } from '@nocobase/plugin-ui-schema-storage'; import LocalizationManagementPlugin from '../plugin'; import { getTextsFromDBRecord, getTextsFromUISchema } from '../utils'; @@ -10,8 +9,8 @@ const getResourcesInstance = async (ctx: Context) => { return plugin.resources; }; -export const getResources = async (locale: string, db: Database) => { - const resources = await getResourceLocale(locale, db); +export const getResources = async (ctx: Context) => { + const resources = await ctx.app.locales.getCacheResources(ctx.get('X-Locale') || 'en-US'); const client = resources['client']; // Remove duplicated keys Object.keys(resources).forEach((module) => { @@ -24,7 +23,7 @@ export const getResources = async (locale: string, db: Database) => { } }); }); - return resources; + return { ...resources }; }; export const getUISchemas = async (db: Database) => { @@ -174,7 +173,7 @@ const sync = async (ctx: Context, next: Next) => { let resources: { [module: string]: any } = { client: {} }; if (type.includes('local')) { - resources = await getResources(locale, ctx.db); + resources = await getResources(ctx); } if (type.includes('menu')) { const menuTexts = await getTextsFromMenu(ctx.db); diff --git a/packages/plugins/map/src/client/locale/en-US.ts b/packages/plugins/map/src/locale/en-US.ts similarity index 100% rename from packages/plugins/map/src/client/locale/en-US.ts rename to packages/plugins/map/src/locale/en-US.ts diff --git a/packages/plugins/map/src/client/locale/fr-FR.ts b/packages/plugins/map/src/locale/fr-FR.ts similarity index 100% rename from packages/plugins/map/src/client/locale/fr-FR.ts rename to packages/plugins/map/src/locale/fr-FR.ts diff --git a/packages/plugins/map/src/client/locale/pt-BR.ts b/packages/plugins/map/src/locale/pt-BR.ts similarity index 100% rename from packages/plugins/map/src/client/locale/pt-BR.ts rename to packages/plugins/map/src/locale/pt-BR.ts diff --git a/packages/plugins/map/src/client/locale/zh-CN.ts b/packages/plugins/map/src/locale/zh-CN.ts similarity index 100% rename from packages/plugins/map/src/client/locale/zh-CN.ts rename to packages/plugins/map/src/locale/zh-CN.ts diff --git a/packages/plugins/mobile-client/src/client/locale/en-US.ts b/packages/plugins/mobile-client/src/locale/en-US.ts similarity index 54% rename from packages/plugins/mobile-client/src/client/locale/en-US.ts rename to packages/plugins/mobile-client/src/locale/en-US.ts index 53b270f6f..2d905d194 100644 --- a/packages/plugins/mobile-client/src/client/locale/en-US.ts +++ b/packages/plugins/mobile-client/src/locale/en-US.ts @@ -1,5 +1,3 @@ -const locale = { - -} +const locale = {}; export default locale; diff --git a/packages/plugins/mobile-client/src/client/locale/fr-FR.ts b/packages/plugins/mobile-client/src/locale/fr-FR.ts similarity index 54% rename from packages/plugins/mobile-client/src/client/locale/fr-FR.ts rename to packages/plugins/mobile-client/src/locale/fr-FR.ts index 53b270f6f..2d905d194 100644 --- a/packages/plugins/mobile-client/src/client/locale/fr-FR.ts +++ b/packages/plugins/mobile-client/src/locale/fr-FR.ts @@ -1,5 +1,3 @@ -const locale = { - -} +const locale = {}; export default locale; diff --git a/packages/plugins/mobile-client/src/client/locale/zh-CN.ts b/packages/plugins/mobile-client/src/locale/zh-CN.ts similarity index 100% rename from packages/plugins/mobile-client/src/client/locale/zh-CN.ts rename to packages/plugins/mobile-client/src/locale/zh-CN.ts diff --git a/packages/plugins/multi-app-manager/src/client/locale/es-ES.ts b/packages/plugins/multi-app-manager/src/client/locale/es-ES.ts deleted file mode 100644 index 65de84ff0..000000000 --- a/packages/plugins/multi-app-manager/src/client/locale/es-ES.ts +++ /dev/null @@ -1,9 +0,0 @@ -export default { - "Multi-app manager": "Gestor de aplicaciones múltiples", - "Applications": "Aplicaciones", - "App display name": "Mostrar nombre de aplicación", - "App ID": "ID de aplicación", - "Pin to menu": " Fijar al menú", - "Custom domain": "Dominio personalizado", - "Manage applications": "Gestionar aplicaciones" -}; diff --git a/packages/plugins/multi-app-manager/src/locale/es-ES.ts b/packages/plugins/multi-app-manager/src/locale/es-ES.ts new file mode 100644 index 000000000..beacf9530 --- /dev/null +++ b/packages/plugins/multi-app-manager/src/locale/es-ES.ts @@ -0,0 +1,9 @@ +export default { + 'Multi-app manager': 'Gestor de aplicaciones múltiples', + Applications: 'Aplicaciones', + 'App display name': 'Mostrar nombre de aplicación', + 'App ID': 'ID de aplicación', + 'Pin to menu': ' Fijar al menú', + 'Custom domain': 'Dominio personalizado', + 'Manage applications': 'Gestionar aplicaciones', +}; diff --git a/packages/plugins/multi-app-manager/src/client/locale/pt-BR.ts b/packages/plugins/multi-app-manager/src/locale/pt-BR.ts similarity index 100% rename from packages/plugins/multi-app-manager/src/client/locale/pt-BR.ts rename to packages/plugins/multi-app-manager/src/locale/pt-BR.ts diff --git a/packages/plugins/multi-app-manager/src/client/locale/zh-CN.ts b/packages/plugins/multi-app-manager/src/locale/zh-CN.ts similarity index 100% rename from packages/plugins/multi-app-manager/src/client/locale/zh-CN.ts rename to packages/plugins/multi-app-manager/src/locale/zh-CN.ts diff --git a/packages/plugins/multi-app-share-collection/src/client/locale/es-ES.ts b/packages/plugins/multi-app-share-collection/src/client/locale/es-ES.ts deleted file mode 100644 index f28a6c027..000000000 --- a/packages/plugins/multi-app-share-collection/src/client/locale/es-ES.ts +++ /dev/null @@ -1,13 +0,0 @@ -export default { - "Share collections": "Tablas compartidas", - "Unshared collections": "Tablas no compartidas", - "Shared collections": "Tablas compartidas", - "All categories": "Todas las categorías", - "Enter name or title...": "Introducir nombre o título...", - "Are you sure to add the following collections?": "¿Está seguro de que desea añadir las siguientes tablas?", - "Are you sure to remove the following collections?": "¿Está seguro de que desea eliminar las siguientes tablas?", - "Collection display name": "Mostrar nombre de la tabla", - "Collection name": "Nombre de la tabla", - "Collection category": "Categoría de tabla" -}; - diff --git a/packages/plugins/multi-app-share-collection/src/locale/es-ES.ts b/packages/plugins/multi-app-share-collection/src/locale/es-ES.ts new file mode 100644 index 000000000..eb7fb1e9c --- /dev/null +++ b/packages/plugins/multi-app-share-collection/src/locale/es-ES.ts @@ -0,0 +1,12 @@ +export default { + 'Share collections': 'Tablas compartidas', + 'Unshared collections': 'Tablas no compartidas', + 'Shared collections': 'Tablas compartidas', + 'All categories': 'Todas las categorías', + 'Enter name or title...': 'Introducir nombre o título...', + 'Are you sure to add the following collections?': '¿Está seguro de que desea añadir las siguientes tablas?', + 'Are you sure to remove the following collections?': '¿Está seguro de que desea eliminar las siguientes tablas?', + 'Collection display name': 'Mostrar nombre de la tabla', + 'Collection name': 'Nombre de la tabla', + 'Collection category': 'Categoría de tabla', +}; diff --git a/packages/plugins/multi-app-share-collection/src/client/locale/pt-BR.ts b/packages/plugins/multi-app-share-collection/src/locale/pt-BR.ts similarity index 100% rename from packages/plugins/multi-app-share-collection/src/client/locale/pt-BR.ts rename to packages/plugins/multi-app-share-collection/src/locale/pt-BR.ts diff --git a/packages/plugins/multi-app-share-collection/src/client/locale/zh-CN.ts b/packages/plugins/multi-app-share-collection/src/locale/zh-CN.ts similarity index 100% rename from packages/plugins/multi-app-share-collection/src/client/locale/zh-CN.ts rename to packages/plugins/multi-app-share-collection/src/locale/zh-CN.ts diff --git a/packages/plugins/oidc/src/client/locale/en-US.ts b/packages/plugins/oidc/src/locale/en-US.ts similarity index 100% rename from packages/plugins/oidc/src/client/locale/en-US.ts rename to packages/plugins/oidc/src/locale/en-US.ts diff --git a/packages/plugins/oidc/src/client/locale/es-ES.ts b/packages/plugins/oidc/src/locale/es-ES.ts similarity index 100% rename from packages/plugins/oidc/src/client/locale/es-ES.ts rename to packages/plugins/oidc/src/locale/es-ES.ts diff --git a/packages/plugins/oidc/src/client/locale/fr-FR.ts b/packages/plugins/oidc/src/locale/fr-FR.ts similarity index 100% rename from packages/plugins/oidc/src/client/locale/fr-FR.ts rename to packages/plugins/oidc/src/locale/fr-FR.ts diff --git a/packages/plugins/saml/src/client/locale/ja-JP.ts b/packages/plugins/oidc/src/locale/ja-JP.ts similarity index 100% rename from packages/plugins/saml/src/client/locale/ja-JP.ts rename to packages/plugins/oidc/src/locale/ja-JP.ts diff --git a/packages/plugins/oidc/src/client/locale/pt-BR.ts b/packages/plugins/oidc/src/locale/pt-BR.ts similarity index 100% rename from packages/plugins/oidc/src/client/locale/pt-BR.ts rename to packages/plugins/oidc/src/locale/pt-BR.ts diff --git a/packages/plugins/saml/src/client/locale/ru-RU.ts b/packages/plugins/oidc/src/locale/ru-RU.ts similarity index 100% rename from packages/plugins/saml/src/client/locale/ru-RU.ts rename to packages/plugins/oidc/src/locale/ru-RU.ts diff --git a/packages/plugins/oidc/src/client/locale/tr-TR.ts b/packages/plugins/oidc/src/locale/tr-TR.ts similarity index 100% rename from packages/plugins/oidc/src/client/locale/tr-TR.ts rename to packages/plugins/oidc/src/locale/tr-TR.ts diff --git a/packages/plugins/oidc/src/client/locale/zh-CN.ts b/packages/plugins/oidc/src/locale/zh-CN.ts similarity index 100% rename from packages/plugins/oidc/src/client/locale/zh-CN.ts rename to packages/plugins/oidc/src/locale/zh-CN.ts diff --git a/packages/plugins/saml/src/client/locale/fr-FR.ts b/packages/plugins/saml/src/client/locale/fr-FR.ts deleted file mode 100644 index 5d10c1459..000000000 --- a/packages/plugins/saml/src/client/locale/fr-FR.ts +++ /dev/null @@ -1,23 +0,0 @@ -export default { - Edit: 'Modifier', - Delete: 'Supprimer', - Cancel: 'Annuler', - Submit: 'Envoyer', - Actions: 'Actions', - Title: 'Titre', - Enable: 'Activer', - 'SAML manager': 'SAML manager', - 'SAML Providers': 'SAML Providers', - 'Redirect url': 'Url de redirection', - 'SP entity id': 'SP entity id', - 'Add provider': 'Ajouter', - 'Edit provider': 'Modifier', - 'Client id': 'Client id', - 'Entity id or issuer': 'Entity id or issuer', - 'Login Url': 'Url de connexion', - 'Public cert': 'Public cert', - 'Delete provider': 'Supprimer', - 'Are you sure you want to delete it?': 'Êtes-vous sûr de vouloir le supprimer ?', - 'Sign in button name, which will be displayed on the sign in page': - 'Nom du bouton de connexion, qui sera affiché sur la page de connexion', -}; diff --git a/packages/plugins/saml/src/client/locale/en-US.ts b/packages/plugins/saml/src/locale/en-US.ts similarity index 100% rename from packages/plugins/saml/src/client/locale/en-US.ts rename to packages/plugins/saml/src/locale/en-US.ts diff --git a/packages/plugins/saml/src/client/locale/es-ES.ts b/packages/plugins/saml/src/locale/es-ES.ts similarity index 100% rename from packages/plugins/saml/src/client/locale/es-ES.ts rename to packages/plugins/saml/src/locale/es-ES.ts diff --git a/packages/plugins/data-visualization/src/client/locale/fr-FR.ts b/packages/plugins/saml/src/locale/fr-FR.ts similarity index 100% rename from packages/plugins/data-visualization/src/client/locale/fr-FR.ts rename to packages/plugins/saml/src/locale/fr-FR.ts diff --git a/packages/plugins/snapshot-field/src/client/locale/ja-JP.ts b/packages/plugins/saml/src/locale/ja-JP.ts similarity index 100% rename from packages/plugins/snapshot-field/src/client/locale/ja-JP.ts rename to packages/plugins/saml/src/locale/ja-JP.ts diff --git a/packages/plugins/saml/src/client/locale/pt-BR.ts b/packages/plugins/saml/src/locale/pt-BR.ts similarity index 100% rename from packages/plugins/saml/src/client/locale/pt-BR.ts rename to packages/plugins/saml/src/locale/pt-BR.ts diff --git a/packages/plugins/snapshot-field/src/client/locale/ru-RU.ts b/packages/plugins/saml/src/locale/ru-RU.ts similarity index 100% rename from packages/plugins/snapshot-field/src/client/locale/ru-RU.ts rename to packages/plugins/saml/src/locale/ru-RU.ts diff --git a/packages/plugins/saml/src/client/locale/tr-TR.ts b/packages/plugins/saml/src/locale/tr-TR.ts similarity index 100% rename from packages/plugins/saml/src/client/locale/tr-TR.ts rename to packages/plugins/saml/src/locale/tr-TR.ts diff --git a/packages/plugins/saml/src/client/locale/zh-CN.ts b/packages/plugins/saml/src/locale/zh-CN.ts similarity index 100% rename from packages/plugins/saml/src/client/locale/zh-CN.ts rename to packages/plugins/saml/src/locale/zh-CN.ts diff --git a/packages/plugins/sequence-field/src/client/locale/en-US.ts b/packages/plugins/sequence-field/src/locale/en-US.ts similarity index 100% rename from packages/plugins/sequence-field/src/client/locale/en-US.ts rename to packages/plugins/sequence-field/src/locale/en-US.ts diff --git a/packages/plugins/sequence-field/src/client/locale/es-ES.ts b/packages/plugins/sequence-field/src/locale/es-ES.ts similarity index 100% rename from packages/plugins/sequence-field/src/client/locale/es-ES.ts rename to packages/plugins/sequence-field/src/locale/es-ES.ts diff --git a/packages/plugins/sequence-field/src/client/locale/fr-FR.ts b/packages/plugins/sequence-field/src/locale/fr-FR.ts similarity index 100% rename from packages/plugins/sequence-field/src/client/locale/fr-FR.ts rename to packages/plugins/sequence-field/src/locale/fr-FR.ts diff --git a/packages/plugins/sequence-field/src/client/locale/pt-BR.ts b/packages/plugins/sequence-field/src/locale/pt-BR.ts similarity index 100% rename from packages/plugins/sequence-field/src/client/locale/pt-BR.ts rename to packages/plugins/sequence-field/src/locale/pt-BR.ts diff --git a/packages/plugins/sequence-field/src/client/locale/zh-CN.ts b/packages/plugins/sequence-field/src/locale/zh-CN.ts similarity index 100% rename from packages/plugins/sequence-field/src/client/locale/zh-CN.ts rename to packages/plugins/sequence-field/src/locale/zh-CN.ts diff --git a/packages/plugins/sms-auth/src/client/locale/index.ts b/packages/plugins/sms-auth/src/client/locale/index.ts index ba0c934a5..af716e813 100644 --- a/packages/plugins/sms-auth/src/client/locale/index.ts +++ b/packages/plugins/sms-auth/src/client/locale/index.ts @@ -1,11 +1,7 @@ -import { i18n } from '@nocobase/client'; import { useTranslation } from 'react-i18next'; -import zhCN from './zh-CN'; export const NAMESPACE = 'sms-auth'; -i18n.addResources('zh-CN', NAMESPACE, zhCN); - export function useAuthTranslation() { return useTranslation(NAMESPACE); } diff --git a/packages/plugins/sms-auth/src/client/locale/zh-CN.ts b/packages/plugins/sms-auth/src/locale/zh-CN.ts similarity index 100% rename from packages/plugins/sms-auth/src/client/locale/zh-CN.ts rename to packages/plugins/sms-auth/src/locale/zh-CN.ts diff --git a/packages/plugins/snapshot-field/src/client/locale/en-US.ts b/packages/plugins/snapshot-field/src/locale/en-US.ts similarity index 100% rename from packages/plugins/snapshot-field/src/client/locale/en-US.ts rename to packages/plugins/snapshot-field/src/locale/en-US.ts diff --git a/packages/plugins/snapshot-field/src/client/locale/es-ES.ts b/packages/plugins/snapshot-field/src/locale/es-ES.ts similarity index 100% rename from packages/plugins/snapshot-field/src/client/locale/es-ES.ts rename to packages/plugins/snapshot-field/src/locale/es-ES.ts diff --git a/packages/plugins/snapshot-field/src/client/locale/fr-FR.ts b/packages/plugins/snapshot-field/src/locale/fr-FR.ts similarity index 57% rename from packages/plugins/snapshot-field/src/client/locale/fr-FR.ts rename to packages/plugins/snapshot-field/src/locale/fr-FR.ts index 7c78f7b71..655155a8a 100644 --- a/packages/plugins/snapshot-field/src/client/locale/fr-FR.ts +++ b/packages/plugins/snapshot-field/src/locale/fr-FR.ts @@ -1,12 +1,12 @@ export default { Detail: 'Détail', Snapshot: 'Snapshot', - 'View record': 'Voir l\'enregistrement', + 'View record': "Voir l'enregistrement", 'Add block': 'Ajouter un bloc', 'Allow linking to multiple records': 'Autoriser la liaison à plusieurs enregistrements', 'When adding a new record, create a snapshot for its relational record and save in the current record. The snapshot is not updated when the record is subsequently updated.': - 'Lors de l\'ajout d\'un nouvel enregistrement, créez un snapshot pour son enregistrement relationnel et enregistrez-le dans l\'enregistrement actuel. Le snapshot n\'est pas mis à jour lorsque l\'enregistrement est ultérieurement modifié.', - 'The association field to snapshot': 'Le champ d\'association à un snapshot', + "Lors de l'ajout d'un nouvel enregistrement, créez un snapshot pour son enregistrement relationnel et enregistrez-le dans l'enregistrement actuel. Le snapshot n'est pas mis à jour lorsque l'enregistrement est ultérieurement modifié.", + 'The association field to snapshot': "Le champ d'association à un snapshot", "Snapshot the snapshot's association fields": "Snapshot des champs d'association du snapshot", 'Please select': 'Veuillez sélectionner', }; diff --git a/packages/plugins/snapshot-field/src/client/locale/tr-TR.ts b/packages/plugins/snapshot-field/src/locale/ja-JP.ts similarity index 100% rename from packages/plugins/snapshot-field/src/client/locale/tr-TR.ts rename to packages/plugins/snapshot-field/src/locale/ja-JP.ts diff --git a/packages/plugins/snapshot-field/src/client/locale/pt-BR.ts b/packages/plugins/snapshot-field/src/locale/pt-BR.ts similarity index 100% rename from packages/plugins/snapshot-field/src/client/locale/pt-BR.ts rename to packages/plugins/snapshot-field/src/locale/pt-BR.ts diff --git a/packages/plugins/snapshot-field/src/locale/ru-RU.ts b/packages/plugins/snapshot-field/src/locale/ru-RU.ts new file mode 100644 index 000000000..ff8b4c563 --- /dev/null +++ b/packages/plugins/snapshot-field/src/locale/ru-RU.ts @@ -0,0 +1 @@ +export default {}; diff --git a/packages/plugins/snapshot-field/src/locale/tr-TR.ts b/packages/plugins/snapshot-field/src/locale/tr-TR.ts new file mode 100644 index 000000000..ff8b4c563 --- /dev/null +++ b/packages/plugins/snapshot-field/src/locale/tr-TR.ts @@ -0,0 +1 @@ +export default {}; diff --git a/packages/plugins/snapshot-field/src/client/locale/zh-CN.ts b/packages/plugins/snapshot-field/src/locale/zh-CN.ts similarity index 100% rename from packages/plugins/snapshot-field/src/client/locale/zh-CN.ts rename to packages/plugins/snapshot-field/src/locale/zh-CN.ts diff --git a/packages/plugins/theme-editor/src/client/locale/en-US.ts b/packages/plugins/theme-editor/src/locale/en-US.ts similarity index 100% rename from packages/plugins/theme-editor/src/client/locale/en-US.ts rename to packages/plugins/theme-editor/src/locale/en-US.ts diff --git a/packages/plugins/theme-editor/src/client/locale/fr-FR.ts b/packages/plugins/theme-editor/src/locale/fr-FR.ts similarity index 92% rename from packages/plugins/theme-editor/src/client/locale/fr-FR.ts rename to packages/plugins/theme-editor/src/locale/fr-FR.ts index fb5602d28..c0ee95504 100644 --- a/packages/plugins/theme-editor/src/client/locale/fr-FR.ts +++ b/packages/plugins/theme-editor/src/locale/fr-FR.ts @@ -17,7 +17,7 @@ const locale = { 'The theme of the JSON format is incorrect': 'Le thème au format JSON est incorrect', 'Edited successfully': 'Modifié avec succès', 'Saved successfully': 'Enregistré avec succès', - 'Initializing Editor...': 'Initialisation de l\'éditeur...', + 'Initializing Editor...': "Initialisation de l'éditeur...", 'Save theme': 'Enregistrer le thème', 'Please set a name for this theme': 'Veuillez définir un nom pour ce thème', 'Please input the theme name': 'Veuillez saisir le nom du thème', diff --git a/packages/plugins/theme-editor/src/client/locale/zh-CN.ts b/packages/plugins/theme-editor/src/locale/zh-CN.ts similarity index 100% rename from packages/plugins/theme-editor/src/client/locale/zh-CN.ts rename to packages/plugins/theme-editor/src/locale/zh-CN.ts diff --git a/packages/plugins/users/src/locale/en-US.ts b/packages/plugins/users/src/locale/en-US.ts new file mode 100644 index 000000000..8da957a8b --- /dev/null +++ b/packages/plugins/users/src/locale/en-US.ts @@ -0,0 +1,10 @@ +export default { + 'The email is incorrect, please re-enter': 'The email is incorrect, please re-enter', + 'Please fill in your email address': 'Please fill in your email address', + 'The password is incorrect, please re-enter': 'The password is incorrect, please re-enter', + 'Not a valid cellphone number, please re-enter': 'Not a valid cellphone number, please re-enter', + 'The phone number has been registered, please login directly': + 'The phone number has been registered, please login directly', + 'The phone number is not registered, please register first': + 'The phone number is not registered, please register first', +}; diff --git a/packages/plugins/users/src/locale/es-ES.ts b/packages/plugins/users/src/locale/es-ES.ts new file mode 100644 index 000000000..d5c319337 --- /dev/null +++ b/packages/plugins/users/src/locale/es-ES.ts @@ -0,0 +1,8 @@ +export default { + "The email is incorrect, please re-enter": "El correo electrónico es incorrecto, por favor vuelva a introducirlo", + "Please fill in your email address": "Por favor, introduzca su dirección de correo electrónico", + "The password is incorrect, please re-enter": "La contraseña es incorrecta, por favor, vuelva a introducirla", + "Not a valid cellphone number, please re-enter": "No es un número de móvil válido, por favor, vuelva a introducirlo", + "The phone number has been registered, please login directly": "El número de teléfono ha sido registrado, por favor, inicie sesión directamente", + "The phone number is not registered, please register first": "El número de teléfono no está registrado, por favor regístrese primero" +}; \ No newline at end of file diff --git a/packages/plugins/users/src/locale/fr-FR.ts b/packages/plugins/users/src/locale/fr-FR.ts new file mode 100644 index 000000000..4dfacf6b7 --- /dev/null +++ b/packages/plugins/users/src/locale/fr-FR.ts @@ -0,0 +1,11 @@ +export default { + 'The email is incorrect, please re-enter': "L'adresse e-mail est incorrecte, veuillez la saisir à nouveau", + 'Please fill in your email address': 'Veuillez remplir votre adresse e-mail', + 'The password is incorrect, please re-enter': 'Le mot de passe est incorrect, veuillez le saisir à nouveau', + 'Not a valid cellphone number, please re-enter': + 'Numéro de téléphone portable invalide, veuillez le saisir à nouveau', + 'The phone number has been registered, please login directly': + 'Le numéro de téléphone a été enregistré, veuillez vous connecter directement', + 'The phone number is not registered, please register first': + "Le numéro de téléphone n'est pas enregistré, veuillez vous inscrire d'abord", +}; diff --git a/packages/plugins/users/src/locale/ja-JP.ts b/packages/plugins/users/src/locale/ja-JP.ts new file mode 100644 index 000000000..5af98b70f --- /dev/null +++ b/packages/plugins/users/src/locale/ja-JP.ts @@ -0,0 +1,4 @@ +export default { + 'Please fill in your email address': 'メールアドレスを入力してください', + 'The password is incorrect, please re-enter': 'パスワードが正しくありません。再度入力してください。', +}; diff --git a/packages/plugins/users/src/locale/pt-BR.ts b/packages/plugins/users/src/locale/pt-BR.ts new file mode 100644 index 000000000..d6b5f77ec --- /dev/null +++ b/packages/plugins/users/src/locale/pt-BR.ts @@ -0,0 +1,10 @@ +export default { + 'The email is incorrect, please re-enter': 'O e-mail está incorreto, por favor, digite novamente', + 'Please fill in your email address': 'Por favor, preencha o seu endereço de e-mail', + 'The password is incorrect, please re-enter': 'A senha está incorreta, por favor, digite novamente', + 'Not a valid cellphone number, please re-enter': 'Número de celular inválido, por favor, digite novamente', + 'The phone number has been registered, please login directly': + 'O número de celular já está registrado, por favor, faça login diretamente', + 'The phone number is not registered, please register first': + 'O número de celular não está registrado, por favor, registre-se primeiro', +}; diff --git a/packages/plugins/users/src/locale/zh-CN.ts b/packages/plugins/users/src/locale/zh-CN.ts new file mode 100644 index 000000000..a8650e64b --- /dev/null +++ b/packages/plugins/users/src/locale/zh-CN.ts @@ -0,0 +1,8 @@ +export default { + 'The email is incorrect, please re-enter': '邮箱有误,请重新输入', + 'Please fill in your email address': '请填写邮箱', + 'The password is incorrect, please re-enter': '密码有误,请重新输入', + 'Not a valid cellphone number, please re-enter': '不是有效的手机号,请重新输入', + 'The phone number has been registered, please login directly': '手机号已注册,请直接登录', + 'The phone number is not registered, please register first': '手机号未注册,请先注册', +}; diff --git a/packages/plugins/users/src/server/locale/fr-FR.ts b/packages/plugins/users/src/server/locale/fr-FR.ts index 1657dd1e7..4dfacf6b7 100644 --- a/packages/plugins/users/src/server/locale/fr-FR.ts +++ b/packages/plugins/users/src/server/locale/fr-FR.ts @@ -1,8 +1,11 @@ export default { - 'The email is incorrect, please re-enter': 'L\'adresse e-mail est incorrecte, veuillez la saisir à nouveau', + 'The email is incorrect, please re-enter': "L'adresse e-mail est incorrecte, veuillez la saisir à nouveau", 'Please fill in your email address': 'Veuillez remplir votre adresse e-mail', 'The password is incorrect, please re-enter': 'Le mot de passe est incorrect, veuillez le saisir à nouveau', - 'Not a valid cellphone number, please re-enter': 'Numéro de téléphone portable invalide, veuillez le saisir à nouveau', - 'The phone number has been registered, please login directly': 'Le numéro de téléphone a été enregistré, veuillez vous connecter directement', - 'The phone number is not registered, please register first': 'Le numéro de téléphone n\'est pas enregistré, veuillez vous inscrire d\'abord', + 'Not a valid cellphone number, please re-enter': + 'Numéro de téléphone portable invalide, veuillez le saisir à nouveau', + 'The phone number has been registered, please login directly': + 'Le numéro de téléphone a été enregistré, veuillez vous connecter directement', + 'The phone number is not registered, please register first': + "Le numéro de téléphone n'est pas enregistré, veuillez vous inscrire d'abord", }; diff --git a/packages/plugins/verification/src/client/locale/pt-BR.ts b/packages/plugins/verification/src/locale/pt-BR.ts similarity index 100% rename from packages/plugins/verification/src/client/locale/pt-BR.ts rename to packages/plugins/verification/src/locale/pt-BR.ts diff --git a/packages/plugins/verification/src/client/locale/zh-CN.ts b/packages/plugins/verification/src/locale/zh-CN.ts similarity index 54% rename from packages/plugins/verification/src/client/locale/zh-CN.ts rename to packages/plugins/verification/src/locale/zh-CN.ts index 814ba398a..a4d281553 100644 --- a/packages/plugins/verification/src/client/locale/zh-CN.ts +++ b/packages/plugins/verification/src/locale/zh-CN.ts @@ -17,4 +17,10 @@ export default { 'Sign name': '短信签名内容', 'Sms sdk app id': '短信应用 ID', 'Template Id': '短信模板 ID', + + 'Verification send failed, please try later or contact to administrator': '验证码发送失败,请稍后重试或联系管理员', + 'Not a valid cellphone number, please re-enter': '不是有效的手机号,请重新输入', + "Please don't retry in {{time}} seconds": '请 {{time}} 秒后再试', + 'You are trying so frequently, please slow down': '您的操作太频繁,请稍后再试', + 'Verification code is invalid': '无效的验证码', }; diff --git a/packages/plugins/workflow/src/client/locale/en-US.ts b/packages/plugins/workflow/src/locale/en-US.ts similarity index 100% rename from packages/plugins/workflow/src/client/locale/en-US.ts rename to packages/plugins/workflow/src/locale/en-US.ts diff --git a/packages/plugins/workflow/src/client/locale/es-ES.ts b/packages/plugins/workflow/src/locale/es-ES.ts similarity index 100% rename from packages/plugins/workflow/src/client/locale/es-ES.ts rename to packages/plugins/workflow/src/locale/es-ES.ts diff --git a/packages/plugins/workflow/src/client/locale/fr-FR.ts b/packages/plugins/workflow/src/locale/fr-FR.ts similarity index 73% rename from packages/plugins/workflow/src/client/locale/fr-FR.ts rename to packages/plugins/workflow/src/locale/fr-FR.ts index f659ef17b..a7d58324b 100644 --- a/packages/plugins/workflow/src/client/locale/fr-FR.ts +++ b/packages/plugins/workflow/src/locale/fr-FR.ts @@ -1,6 +1,6 @@ export default { Workflow: 'Workflow', - 'Execution history': 'Historique d\'exécution', + 'Execution history': "Historique d'exécution", Executed: 'Exécuté', 'Trigger type': 'Type de déclencheur', Status: 'Statut', @@ -18,13 +18,13 @@ export default { 'Triggered at': 'Déclenché à', 'Collection event': 'Événement de collection', 'Trigger on': 'Déclencher sur', - 'After record added': 'Après l\'ajout d\'un enregistrement', - 'After record updated': 'Après la mise à jour d\'un enregistrement', - 'After record added or updated': 'Après l\'ajout ou la mise à jour d\'un enregistrement', - 'After record deleted': 'Après la suppression d\'un enregistrement', + 'After record added': "Après l'ajout d'un enregistrement", + 'After record updated': "Après la mise à jour d'un enregistrement", + 'After record added or updated': "Après l'ajout ou la mise à jour d'un enregistrement", + 'After record deleted': "Après la suppression d'un enregistrement", 'Changed fields': 'Champs modifiés', 'Triggered only if one of the selected fields changes. If unselected, it means that it will be triggered when any field changes. When record is added or deleted, any field is considered to have been changed.': - 'Déclenché uniquement si l\'un des champs sélectionnés change. S\'il n\'est pas sélectionné, cela signifie qu\'il sera déclenché lorsque n\'importe quel champ change. Lorsque l\'enregistrement est ajouté ou supprimé, n\'importe quel champ est considéré comme ayant été modifié.', + "Déclenché uniquement si l'un des champs sélectionnés change. S'il n'est pas sélectionné, cela signifie qu'il sera déclenché lorsque n'importe quel champ change. Lorsque l'enregistrement est ajouté ou supprimé, n'importe quel champ est considéré comme ayant été modifié.", 'Only triggers when match conditions': 'Déclenche uniquement lorsque les conditions correspondent', 'Schedule event': 'Événement planifié', 'Trigger mode': 'Mode de déclenchement', @@ -70,7 +70,7 @@ export default { Pending: 'En attente', Canceled: 'Annulé', 'This node contains branches, deleting will also be preformed to them, are you sure?': - 'Ce nœud contient des branches, leur suppression sera également effectuée, êtes-vous sûr(e) ?', + 'Ce nœud contient des branches, leur suppression sera également effectuée, êtes-vous sûr(e) ?', Control: 'Contrôle', 'Collection operations': 'Opérations sur la collection', 'Extended types': 'Types étendus', @@ -92,9 +92,9 @@ export default { 'Any succeeded': 'Un réussi', 'Any succeeded or failed': 'Un réussi ou un échoué', 'Continue after all branches succeeded': 'Continuer après la réussite de toutes les branches', - 'Continue after any branch succeeded': 'Continuer après la réussite d\'une branche', + 'Continue after any branch succeeded': "Continuer après la réussite d'une branche", 'Continue after any branch succeeded, or exit after any branch failed': - 'Continuer après la réussite d\'une branche, ou quitter après l\'échec d\'une branche', + "Continuer après la réussite d'une branche, ou quitter après l'échec d'une branche", Delay: 'Délai', Duration: 'Durée', 'End Status': 'Statut de fin', @@ -105,15 +105,16 @@ export default { 'Update record': 'Mettre à jour un enregistrement', 'Query record': 'Interroger un enregistrement', 'Multiple records': 'Multiples enregistrements', - 'Please select collection first': 'Veuillez d\'abord sélectionner une collection', - 'Only update records matching conditions': 'Mettre à jour uniquement les enregistrements correspondant aux conditions', + 'Please select collection first': "Veuillez d'abord sélectionner une collection", + 'Only update records matching conditions': + 'Mettre à jour uniquement les enregistrements correspondant aux conditions', 'Fields that are not assigned a value will be set to the default value, and those that do not have a default value are set to null.': - 'Les champs qui ne reçoivent pas de valeur seront définis sur la valeur par défaut, et ceux qui n\'ont pas de valeur par défaut seront définis sur null.', + "Les champs qui ne reçoivent pas de valeur seront définis sur la valeur par défaut, et ceux qui n'ont pas de valeur par défaut seront définis sur null.", 'Trigger in executed workflow cannot be modified': 'Le déclencheur dans le workflow exécuté ne peut pas être modifié', 'Node in executed workflow cannot be modified': 'Le nœud dans le workflow exécuté ne peut pas être modifié', 'Can not delete': 'Impossible de supprimer', 'The result of this node has been referenced by other nodes ({{nodes}}), please remove the usage before deleting.': - 'Le résultat de ce nœud a été référencé par d\'autres nœuds ({{nodes}}), veuillez supprimer son utilisation avant de le supprimer.', + "Le résultat de ce nœud a été référencé par d'autres nœuds ({{nodes}}), veuillez supprimer son utilisation avant de le supprimer.", 'HTTP request': 'Requête HTTP', 'HTTP method': 'Méthode HTTP', @@ -126,11 +127,11 @@ export default { 'Use variable': 'Utiliser une variable', Format: 'Format', Insert: 'Insérer', - 'Timeout config': 'Configuration du délai d\'expiration', + 'Timeout config': "Configuration du délai d'expiration", ms: 'ms', 'Input request data': 'Entrée des données de requête', 'Only support standard JSON data': 'Prend uniquement en charge les données JSON standard', '"Content-Type" only support "application/json", and no need to specify': - '"Content-Type" prend uniquement en charge "application/json" et n\'a pas besoin d\'être spécifié', - 'Ignore fail request and continue workflow': 'Ignorer l\'échec de la requête et continuer le workflow', + '"Content-Type" prend uniquement en charge "application/json" et n\'a pas besoin d\'être spécifié', + 'Ignore fail request and continue workflow': "Ignorer l'échec de la requête et continuer le workflow", }; diff --git a/packages/plugins/workflow/src/client/locale/ja-JP.ts b/packages/plugins/workflow/src/locale/ja-JP.ts similarity index 100% rename from packages/plugins/workflow/src/client/locale/ja-JP.ts rename to packages/plugins/workflow/src/locale/ja-JP.ts diff --git a/packages/plugins/workflow/src/client/locale/pt-BR.ts b/packages/plugins/workflow/src/locale/pt-BR.ts similarity index 100% rename from packages/plugins/workflow/src/client/locale/pt-BR.ts rename to packages/plugins/workflow/src/locale/pt-BR.ts diff --git a/packages/plugins/workflow/src/client/locale/ru-RU.ts b/packages/plugins/workflow/src/locale/ru-RU.ts similarity index 100% rename from packages/plugins/workflow/src/client/locale/ru-RU.ts rename to packages/plugins/workflow/src/locale/ru-RU.ts diff --git a/packages/plugins/workflow/src/client/locale/tr-TR.ts b/packages/plugins/workflow/src/locale/tr-TR.ts similarity index 100% rename from packages/plugins/workflow/src/client/locale/tr-TR.ts rename to packages/plugins/workflow/src/locale/tr-TR.ts diff --git a/packages/plugins/workflow/src/client/locale/zh-CN.ts b/packages/plugins/workflow/src/locale/zh-CN.ts similarity index 100% rename from packages/plugins/workflow/src/client/locale/zh-CN.ts rename to packages/plugins/workflow/src/locale/zh-CN.ts diff --git a/yarn.lock b/yarn.lock index c84d1b65f..e669bb910 100644 --- a/yarn.lock +++ b/yarn.lock @@ -153,7 +153,6 @@ "@ant-design/cssinjs@^1.11.1": version "1.13.2" resolved "https://registry.npmmirror.com/@ant-design/cssinjs/-/cssinjs-1.13.2.tgz#833098a6866a9f754e31562b0d5dc8b1133648d9" - integrity sha512-II3QJx6V6boYkAIUiEd1/hquSeX1r67sUOtsvco35fTmV46JvkJz946/6K+ikiuODBSE1kLf7fJ5gHetQyUyww== dependencies: "@babel/runtime" "^7.11.1" "@emotion/hash" "^0.8.0" @@ -7313,7 +7312,6 @@ ansi-regex@^5.0.0, ansi-regex@^5.0.1: ansi-regex@^6.0.1: version "6.0.1" resolved "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" - integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== ansi-styles@^2.2.1: version "2.2.1" @@ -7338,7 +7336,6 @@ ansi-styles@^5.0.0: ansi-styles@^6.0.0: version "6.2.1" resolved "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" - integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== ansi-wrap@0.1.0, ansi-wrap@^0.1.0: version "0.1.0" @@ -7793,7 +7790,6 @@ astral-regex@^1.0.0: astral-regex@^2.0.0: version "2.0.0" resolved "https://registry.npmmirror.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" - integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== astring@^1.8.0: version "1.8.6" @@ -8840,7 +8836,6 @@ chalk@3.0.0, chalk@^3.0.0, chalk@~3.0.0: chalk@5.2.0: version "5.2.0" resolved "https://registry.npmmirror.com/chalk/-/chalk-5.2.0.tgz#249623b7d66869c673699fb66d65723e54dfcfb3" - integrity sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA== chalk@^1.1.1, chalk@^1.1.3, chalk@~1.1.3: version "1.1.3" @@ -9071,7 +9066,6 @@ cli-tableau@^2.0.0: cli-truncate@^2.1.0: version "2.1.0" resolved "https://registry.npmmirror.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" - integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== dependencies: slice-ansi "^3.0.0" string-width "^4.2.0" @@ -9079,7 +9073,6 @@ cli-truncate@^2.1.0: cli-truncate@^3.1.0: version "3.1.0" resolved "https://registry.npmmirror.com/cli-truncate/-/cli-truncate-3.1.0.tgz#3f23ab12535e3d73e839bb43e73c9de487db1389" - integrity sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA== dependencies: slice-ansi "^5.0.0" string-width "^5.0.0" @@ -9319,7 +9312,6 @@ colord@^2.9.1: colorette@^2.0.19: version "2.0.20" resolved "https://registry.npmmirror.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" - integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== colors@^1.1.2: version "1.4.0" @@ -9378,7 +9370,6 @@ commander@7, commander@^7.2.0: commander@^10.0.0: version "10.0.1" resolved "https://registry.npmmirror.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" - integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== commander@^2.19.0, commander@^2.20.0, commander@^2.8.1, commander@^2.9.0: version "2.20.3" @@ -11294,7 +11285,6 @@ dynamic-dedupe@^0.3.0: eastasianwidth@^0.2.0: version "0.2.0" resolved "https://registry.npmmirror.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" - integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== ecc-jsbn@~0.1.1: version "0.1.2" @@ -11365,7 +11355,6 @@ emoji-regex@^8.0.0: emoji-regex@^9.2.2: version "9.2.2" resolved "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" - integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== emojis-list@^3.0.0: version "3.0.0" @@ -11816,6 +11805,13 @@ eslint-plugin-prettier@^5.0.0: prettier-linter-helpers "^1.0.0" synckit "^0.8.5" +eslint-plugin-prettier@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.0.0.tgz#6887780ed95f7708340ec79acfdf60c35b9be57a" + dependencies: + prettier-linter-helpers "^1.0.0" + synckit "^0.8.5" + eslint-plugin-promise@^6.1.1: version "6.1.1" resolved "https://registry.npmmirror.com/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz#269a3e2772f62875661220631bd4dafcb4083816" @@ -14488,7 +14484,6 @@ is-fullwidth-code-point@^3.0.0: is-fullwidth-code-point@^4.0.0: version "4.0.0" resolved "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz#fae3167c729e7463f8461ce512b080a49268aa88" - integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== is-generator-fn@^2.0.0: version "2.1.0" @@ -16386,7 +16381,6 @@ linkify-it@^4.0.1: lint-staged@^13.2.3: version "13.2.3" resolved "https://registry.npmmirror.com/lint-staged/-/lint-staged-13.2.3.tgz#f899aad6c093473467e9c9e316e3c2d8a28f87a7" - integrity sha512-zVVEXLuQIhr1Y7R7YAWx4TZLdvuzk7DnmrsTNL0fax6Z3jrpFcas+vKbzxhhvp6TA55m1SQuWkpzI1qbfDZbAg== dependencies: chalk "5.2.0" cli-truncate "^3.1.0" @@ -16405,7 +16399,6 @@ lint-staged@^13.2.3: listr2@^5.0.7: version "5.0.8" resolved "https://registry.npmmirror.com/listr2/-/listr2-5.0.8.tgz#a9379ffeb4bd83a68931a65fb223a11510d6ba23" - integrity sha512-mC73LitKHj9w6v30nLNGPetZIlfpUniNSsxxrbaPcWOjDb92SHPzJPi/t+v1YC/lxKz/AJ9egOjww0qUuFxBpA== dependencies: cli-truncate "^2.1.0" colorette "^2.0.19" @@ -16655,7 +16648,6 @@ log-symbols@^4.1.0: log-update@^4.0.0: version "4.0.0" resolved "https://registry.npmmirror.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" - integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== dependencies: ansi-escapes "^4.3.0" cli-cursor "^3.1.0" @@ -19356,7 +19348,6 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3, picomatc pidtree@^0.6.0: version "0.6.0" resolved "https://registry.npmmirror.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c" - integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== pidusage@^2.0.21: version "2.0.21" @@ -20411,6 +20402,10 @@ prettier@^3.0.0: resolved "https://registry.npmmirror.com/prettier/-/prettier-3.0.0.tgz#e7b19f691245a21d618c68bc54dc06122f6105ae" integrity sha512-zBf5eHpwHOGPC47h0zrPyNn+eAEIdEzfywMoYn2XPi0P44Zp0tSq64rq0xAREh4auw2cJZHo9QUob+NqCQky4g== +prettier@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/prettier/-/prettier-3.0.0.tgz#e7b19f691245a21d618c68bc54dc06122f6105ae" + pretty-error@^4.0.0: version "4.0.0" resolved "https://registry.npmmirror.com/pretty-error/-/pretty-error-4.0.0.tgz#90a703f46dd7234adb46d0f84823e9d1cb8f10d6" @@ -22149,7 +22144,6 @@ reusify@^1.0.4: rfdc@^1.3.0: version "1.3.0" resolved "https://registry.npmmirror.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" - integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== rgb-regex@^1.0.1: version "1.0.1" @@ -22775,7 +22769,6 @@ slash@^4.0.0: slice-ansi@^3.0.0: version "3.0.0" resolved "https://registry.npmmirror.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" - integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== dependencies: ansi-styles "^4.0.0" astral-regex "^2.0.0" @@ -22784,7 +22777,6 @@ slice-ansi@^3.0.0: slice-ansi@^4.0.0: version "4.0.0" resolved "https://registry.npmmirror.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" - integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== dependencies: ansi-styles "^4.0.0" astral-regex "^2.0.0" @@ -22793,7 +22785,6 @@ slice-ansi@^4.0.0: slice-ansi@^5.0.0: version "5.0.0" resolved "https://registry.npmmirror.com/slice-ansi/-/slice-ansi-5.0.0.tgz#b73063c57aa96f9cd881654b15294d95d285c42a" - integrity sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ== dependencies: ansi-styles "^6.0.0" is-fullwidth-code-point "^4.0.0" @@ -23294,7 +23285,6 @@ string-width@^3.0.0, string-width@^3.1.0: string-width@^5.0.0: version "5.1.2" resolved "https://registry.npmmirror.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" - integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== dependencies: eastasianwidth "^0.2.0" emoji-regex "^9.2.2" @@ -23387,7 +23377,6 @@ strip-ansi@^6.0.0, strip-ansi@^6.0.1: strip-ansi@^7.0.1: version "7.1.0" resolved "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" - integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== dependencies: ansi-regex "^6.0.1" @@ -25706,7 +25695,6 @@ yaml@^1.10.0, yaml@^1.10.2: yaml@^2.2.2: version "2.3.1" resolved "https://registry.npmmirror.com/yaml/-/yaml-2.3.1.tgz#02fe0975d23cd441242aa7204e09fc28ac2ac33b" - integrity sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ== yamljs@0.3.0: version "0.3.0"