polyglot.js 是一个 JavaScript 库,用于在多语言 Web 应用程序中处理翻译。它支持动态语言切换和复数规则。
安装和导入
您可以使用 npm 在项目中安装 polyglot.js:
npm install polyglot --save
然后,您可以使用以下代码将其导入到您的代码中:
import Polyglot from 'polyglot';
创建和配置实例
使用构造函数创建一个新的 Polyglot 实例:
const phrases = { hello: 'Hello', world: 'World' }; const polyglot = new Polyglot({ phrases });
在这里,我们向构造函数传递了一个包含 Key-Value 对的对象作为参数,该对象将用作翻译短语的存储库。
您还可以将 Polyglot 实例配置为执行其他操作。以下是一些示例:
Locale 配置
locale
属性决定当前翻译的语言:
const polyglot = new Polyglot({ phrases, locale: 'fr-FR' });
按需加载语言
您可以通过调用 extend()
方法来添加或覆盖翻译短语:
polyglot.extend({ goodbye: 'Goodbye' });
复数形式
Polyglot.js 支持不同语言的复数形式:
const polyglot = new Polyglot({ phrases, pluralRules: { one: function (n) { return n === 1 ? 'one' : 'other'; }, two: function (n) { return n === 2 ? 'two' : 'other'; }, // ... } });
翻译短语
Polyglot.js 通过 t()
方法来处理翻译。以下是一些示例:
基本用法
polyglot.t('hello'); // -> 'Hello'
插值
您可以在短语中插入变量:
const name = 'John'; polyglot.t('hello_name', { name }); // -> 'Hello, John'
在这里,我们将 {name}
插入了翻译短语 "Hello, {name}"
中,并传递了一个包含 name
变量的对象作为第二个参数。
复数形式
Polyglot.js 自动根据 pluralRules
属性选择正确的复数形式:
polyglot.t('num_people', { smart_count: 1 }); // -> '1 person' polyglot.t('num_people', { smart_count: 2 }); // -> '2 people'
在这里,我们使用了与 pluralRules
属性相对应的翻译短语 "1 person"
和 "2 people"
,并使用 {smart_count}
参数告诉 Polyglot.js 应该使用哪个规则。
结论
Polyglot.js 是一个强大的多语言翻译库,支持动态语言切换和复数规则。在使用时,您可以根据需要进行配置,并使用 t()
方法轻松翻译短语。希望本教程对您有所帮助!
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/34055