简介
mocoolka-i18n
是一个用于国际化的JavaScript库。该库提供了一种简单的方式来管理和翻译不同语言的应用程序文本。
mocoolka-i18n
依赖于mocoolka-css,mocoolka-css-utils,react-intl和joi。 它为开发人员提供了许多有用的API,使得开发带有国际化的应用变得简单、快捷。
安装
使用npm进行安装:
npm install --save mocoolka-i18n
基本用法
配置
-- -------------------- ---- ------- ------ ----------------- ---- ---------------- ------ -------------- ---- ----------------------------------- ----------------------------------- -------- ------------------------------ ------------------- ------------------------------ ------------------ ------ ---
language.init(languageConfig,defaultLanguage)
— 初始化应用程序语言配置,接受languageConfig
对象和默认语言参数defaultLanguage
。config(options)
— 初始化应用程序配置,接受一个选项对象options
。allowSyncDefaultLanguage
— 如果启用此选项,则在找不到当前语言翻译时将使用默认语言翻译。autoAddLocale
– 如果启用此选项,则在找不到特定已本地化文本时,将自动添加新的本地化文本。languageDirectory
– 指定语言文件的目录,默认为./resouces/languages
syncLocaleOnError
— 如果启用此选项,则在找不到特定翻译时会同步翻译文件.默认情况下是false.
翻译文本
语法
$t('messageStr', optionObj)
'messageStr'
是要翻译的文本字符串。optionObj
是一个带有以下可选属性的对象:defaultValue
— 如果未找到任何翻译,将使用默认值。默认值是undefined
。id
— 翻译文本的ID。description
— 翻译文本的描述。
例子
$t('Hello, world!'); // 'Hello, world!' $t('Hello, {{name}}!', { name: 'Jane' }); // 'Hello, Jane!' $t('appleCount', { count: 2 }); // 'You have 2 apples.'
多语言支持
在多语言中,所有可用的语言类别都需要存储在目录结构中。
例如,对于英语版和法语版,我们将有以下文件和目录:
|-- languages/ | |-- en.js | |-- fr.js
-- -------------------- ---- ------- -- ----- -------------- - - ---------- ---------- ------- - -------- ---------------- - ------- ---------- -- --- - -- ----- -------------- - - ---------- ------------ ------- - ---------------- ---------------- - ---- -- ----- -------- -- --- -
自动化
如果开发者已经定义了一个键名为key1
的翻译,并且默认语言是英语。
因此,只需将翻译文本放在以下路径:
|-- languages/ | |-- en.js | |-- fr.js
en.js
module.exports = { 'key1': 'This is key1 en text', }
fr.js
module.exports = { }
当开发者执行翻译$t('key1')
时,输出将为:This is key1 en text
。
为了自动添加缺失的翻译说,当开发者使用头一次的新文本时,将会在指定的语言文件里添加该文本。
示例
-- -------------------- ---- ------- ------ ------ ---- --------- ------ - --------- ------- --- - ---- ------------------ ----------------------- ------ -- -- - --------- -- - ----- ------- - ------------------------------- ---- ----- -------------- - ----------------------------------------------------- ----------------------------- ------ -------- ------------------------- ----- -------------- ----- ------------------ ----------------------- ------------------ ------ --- --- -------- -- - --- ----------- -- -- - ----- - - ---------- ----------- - ----- ------- --- ---------------------- --------- --- ------- -- ---- -- -- - ----- - - ----------- ----- ------ ------------------------ --- ------- -- ------- --- --------- -- -- - ----- - - ----------- ----- ------ ------------------------ --- ------- -- ------- --- ---------- -- -- - ----- - - -------- -------- --- -- -------- - ----- ---------- -- ------ -------------------- -------- --- -- --------- --- ------ ----- --------- ------ -- - -------- ------- ------------------ -- - --------------- ------- ----------------- ------- ------ ------- --- --- ---
结论
mocoolka-i18n
是一个出色的库,极具特色并且可以让开发人员轻松地实现应用程序的国际化。 该库提供了强大的功能,使其在许多不同的应用程序类型中都可用。 如果您正在寻找一个简单而有效的方式来管理应用程序的多语言支持,那么 mocoolka-i18n
是一个值得一试的选项。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600558ae81e8991b448d5ff5