import type { ILifecycleBoot } from '@eggjs/core'; import type I18nApplication from './app/extend/application.js'; /** * I18n 国际化 * * 通过设置 Plugin 配置 `i18n: true`,开启多语言支持。 * * #### 语言文件存储路径 * * 统一存放在 `config/locale/*.js` 下( 兼容`config/locales/*.js` ),如包含英文,简体中文,繁体中文的语言文件: * * ``` * - config/locale/ * - en-US.js * - zh-CN.js * - zh-TW.js * ``` * @class I18n * @param {App} app Application object. * @example * * #### I18n 文件内容 * * ```js * // config/locale/zh-CN.js * module.exports = { * "Email": "邮箱", * "Welcome back, %s!": "欢迎回来, %s!", * "Hello %s, how are you today?": "你好 %s, 今天过得咋样?", * }; * ``` * * ```js * // config/locale/en-US.js * module.exports = { * "Email": "Email", * }; * ``` * 或者也可以用 JSON 格式的文件: * * ```js * // config/locale/zh-CN.json * { * "email": "邮箱", * "login": "帐号", * "createdAt": "注册时间" * } * ``` */ export default class I18n implements ILifecycleBoot { private readonly app; constructor(app: I18nApplication & { locals: Record; }); didLoad(): Promise; }