y18n
yargs使用的基本国际化库。
灵感来自 国际化。
例子
简单的字符串翻译:
const __ = require('y18n')().__;
console.log(__('my awesome string %s', 'foo'));
输出:
my awesome string foo
使用标记的模板文字
const __ = require('y18n')().__;
const str = 'foo';
console.log(__`my awesome string ${str}`);
输出:
my awesome string foo
多元化支持:
const __n = require('y18n')().__n;
console.log(__n('one fish %s', '%d fishes %s', 2, 'foo'));
输出:
2 fishes foo
Deno例子
的 v5 y18n 支持 Deno:
import y18n from "https://deno.land/x/y18n/deno.ts";
const __ = y18n({
locale: 'pirate',
directory: './test/locales'
}).__
console.info(__`Hi, ${'Ben'} ${'Coe'}!`)
您将需要运行 --allow-read 加载替代区域设置。
JSON语言文件
JSON语言文件应存储在 ./locales 文件夹。
文件名对应于区域设置,例如, en.json, pirate.json。
当第一次观察到字符串时,它们将是 添加到与当前区域设置对应的JSON文件。
方法
需要 ('y18n')(配置)
使用提供的配置创建y18n的实例,选项包括:
directory: 区域设置目录,默认./locales。updateFiles: 应该在文件中更新新观察到的字符串,默认true。locale: 应该使用什么区域设置。fallbackToLanguage: 应该回退到仅限语言的文件 (例如en.json) 如果与区域设置匹配的文件不存在 (例如en_US.json), 默认的true。
y18n.__(str, arg, arg, arg)
打印本地化的字符串, %s 将替换为 arg年代。
此函数也可以用作模板文字的标记。你可以用它
是这样的: __`hello ${'world'}`.这将相当于
__('hello %s', 'world')。
y18n.__N (单弦,pluralString,count,arg,arg,arg)
使用适当的复数形式打印本地化字符串。如果 %d 被提供
在字符串中, count 将替换此占位符。
y18n.setLocale(str)
设置当前使用的区域设置。
y18n.getLocale()
当前使用的是什么语言环境?
y18n.updateLocale(obj)
使用中的键值对更新当前区域设置 obj。
支持的Node.js版本
在这个生态系统中,图书馆尽最大努力跟踪 Node.js的发布时间表. 这是 一个 发表我们认为这很重要的原因。
许可证
ISC