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

预期工作流

  1. 使用把手内的助手(支持常规和块状直升机的gettext/ngettext)
  2. js端应该将数据传递给jed包装器(请参阅客户端用法)
  3. jed wrapper将字符串和参数传递给jed
  4. jed实例将字符串转换为它启动时使用的语言
  5. jed使用po2json输出(对生成的.po文件使用po2json,然后将输出传递给jed)
  6. 至于生成.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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
字典java cassandra对象映射注释   java定制Solr TokenFilter lemmatizer   字符串从Java文件中读取windows文件名   java如何在Windows上设置StanfordCorenlp服务器以返回文本   java axis2“意外的子元素值”   java使用POI HSSF获取错误   多线程Java等待计时器线程完成   java ForkJoinPool BuffereImage处理风格   从java代码运行Python脚本   java将字节[]转换为短[],使每个短元素包含13位数据   java如何为swing jframe应用程序将代码划分为类   java使用okhttp更改baseurl   java AlertDialog。建设者setView导致堆栈溢出错误   java如何在特定的radius 安卓 studio中接收地址列表?