i18n tool, gnu gettext
- po format string to/from javascript object
- load po format file
- save to po format file
- node version: 8+
npm install ziey-gettext
var gettext = require( 'ziey-gettext' );
/**
* @return {string} # 当前语言
*/
gettext.getLang()
/**
* @param {string} lang # 设置当前语言,Exp: zh_CN, en_US ...
* @return {string} # 当前语言
*/
gettext.setLang( lang )
/**
* @param {string} lang # 设置的语言名称,Exp: zh_CN, en_US ...
* @param {string} po_file_path # po 文件路径
* @return {object|undefined} # 设置成功返回 Object
*/
gettext.handlePo( lang, po_file_path )
/**
* @param {string} lang # 设置的语言名称,Exp: zh_CN, en_US ...
* @param {string} po_text # po 格式内容
* @return {object|undefined} # 设置成功返回 Object
*/
gettext.handlePo( lang, po_text )
/**
* @param {string} str # 要翻译的文本
* @return {string} # 返回翻译结果
*/
gettext.gettext( str )
gettext._( str ) // alias
/**
* @description 清空翻译词条
*/
gettext.clear()
/**
* @param {string} msgid # 词条原文,新增或者更新现有词典
* @param {object} opts # 更新明细
* @param {string} opts.str # 词条译文
* @param {reference} opts.reference # 词条来源
*/
gettext.updateCurrentDict( msgid, opts )
/**
* @description 清空当前词典中的来源
*/
gettext.cleanCurrentDictReference()
/**
* @description 清空当前词典中的空词条 (废弃)
* 建议使用 clearDict
*/
gettext.clearCurrentDictEmptyItem()
/**
* @description 清理字典
* @param {boolean} options.str 是否要根据 str 为空来清理
* @param {boolean} options.reference 是否要根据 reference 为空来清理
* @param {string} options.lang? 指定语言,默认为当前选中语言
*/
gettext.clearDict()
/**
* @param {string} po_text # po 格式内容
* @return {object} # 根据 po 文本生成的 object 对象
*/
gettext.po2obj( po_text );
/**
* @param {object} obj # 带翻译标识的 object 对象
* @param {string} header # 需要补充到 header 的文本
* @return {string} # 生成的 po 格式文本
*/
gettext.obj2po( obj, header );
npm test