跳转到主要内容

Fluent本地化语言的高速实现。

项目描述

https://badge.fury.io/py/fluent-compiler.svg https://readthedocs.org/projects/fluent-compiler/badge/?version=latest&style=flat https://github.com/django-ftl/fluent-compiler/workflows/Python%20package/badge.svg

这是一个Project Fluent的Python实现,这是一个旨在释放自然语言翻译全部表达能力的本地化框架。

它提供了一个不同于官方fluent.runtime实现的不同实现,主要区别在于

  • 策略:我们通过AST将FTL文件编译成Python字节码,并使用exec(类似于Mako、Jinja2和Genshi等项目所使用的策略)。

  • 速度:由于上述原因,加上静态分析,我们得到了非常快的性能,特别是当与PyPy结合使用时,PyPy还可以进一步优化。

  • 编译时检查和错误报告。

  • 提供了‘escapers’功能,用于正确处理HTML转义/嵌入等问题。

安装

要安装

pip install fluent_compiler

使用方法

请参阅文档文件夹在readthedocs.org上阅读

如果您使用Django,请参阅django-ftl,它以Django特定的方式包装了这里的功能。

请参阅变更日志

状态

fluent-compiler是Fluent规范1.0版本(撰写时的最新版本)的所有功能的完整和非常成熟的实现。

关于此包的API,我们计划不对公开文档的接口进行向后不兼容的更改,并对任何更改提供弃用警告。

库的本质意味着我们预计大多数用户仍然会创建自己的包装器,我们鼓励您这样做,以便能够轻松吸收任何向后不兼容的更改。

请参阅问题列表以获取计划中的功能,以及CONTRIBUTING.rst以获取有关如何贡献的信息,以及架构文档

贡献

在开始修改之前,请查看贡献文档架构笔记以获取相关信息。

背景

此代码最初是作为fluent.runtime的一部分开发的,作为FluentBundle的替代实现,但从未合并到主分支。现在,它已被拉取出来作为一个单独的包。这就是为什么仓库的历史中包含了fluent.syntaxfluent.runtime的早期版本,但这个仓库中留下的所有部分都源自@spookylukey从a540993a085e36a9679e12f1ee7317ddc1ece5ad开始的原始版本,以及d1481d61e0bc1a28a228a4b6d5258350d436e765中的新编译器实现(这是长期工作的压缩版本)。这就是为什么我们还纠正了版权声明从Mozilla到Luke Plant。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

fluent_compiler-1.1.tar.gz (83.7 kB 查看哈希)

上传时间:

构建分发

fluent_compiler-1.1-py3-none-any.whl (37.3 kB 查看哈希)

上传时间: Python 3

支持者