pybabel把手gettext字符串提取器
PyBabel-hbs的Python项目详细描述
发行说明
- 0.2.2-
- 修复了n_u提取的错误
- 修复了将变量翻译插入.po文件时出现的错误
- 0.2.1-通过将文件读取移动到nodejs,极大地提高了速度(x4)。
- 0.2.0-现在只有一个nodejs进程生成用于单个babel运行,因此对于大量文件来说,总的来说工作速度要快得多。
- 0.1.4-小错误修复
- 0.1.3-初始版本
安装
pip安装pybabel hbs
用法
将[hbs:path/**.hbs]添加到babel.cfg
预期工作流
- 使用把手内的助手(支持常规和块状直升机的gettext/ngettext)
- js端应该将数据传递给jed包装器(请参阅客户端用法)
- jed wrapper将字符串和参数传递给jed
- jed实例将字符串转换为它启动时使用的语言
- jed使用po2json输出(对生成的.po文件使用po2json,然后将输出传递给jed)
- 至于生成.po文件,只需将[hbs:**.hbs]添加到babel config(babel.cfg)(考虑通过pip或setup.py安装安装的扩展)
- 巴贝尔的延伸,以支持车把。
- 使用原生handlebars.js解析和小技巧传递行号。
- 因为handlebars.js是js,所以这个babel扩展需要node.js
支持的把手助手:
_ (Undercore) helper
{{_ "Some text to be translated %(param)s" param="some param"}}n_ helper
{{\n_ num_to_check_against "Some text to be translated with %(num)s" "Some plural text to be translated with %(num)s" num=num_to_check_against}}trans block helper:
{{#trans params_1="something"}} Some text to be translated with %(param_1)s {{/trans}}ntrans block helper:
{{#ntrans num_to_check_aganst param_1="something" num=num_to_check_against}} Some text to be translated with %(param_1)s and %(num)s {{else}} Some plural text to be translated with %(param_1)s and %(num)s {{/ntrans}}
汇总
- Every helper can have params, they will be passed to sprintf (built-in into Jed)
- n_ and ntrans helpers MUST have some integer as first parameter, it will determine if plural or singular form should be used