Elm的国际化解决方案
项目描述
elm-fluent
elm-fluent是Fluent在Elm中的实现。
Fluent是由Mozilla团队设计的新一代翻译/本地化解决方案,基于多年的大量不同语言的本地化经验。Mozilla从其“l20n”解决方案(如Firefox和Thunderbird等应用程序使用)中提取了部分内容,设计了一个专门为Web设计的可重用规范。
elm-fluent是这个规范在Elm中的完整实现(有关确切版本支持的详细信息,请参阅变更日志)。
它作为一个命令行工具运行,将.ftl文件编译为.elm文件。结果是,每条消息都变成一个函数,为给定的区域设置和可选的强类型参数集(字符串、日期或数字)生成翻译后的字符串(或HTML片段)。
日期和数字也可以通过提供格式化参数传递 - 例如,将货币附加到数字上,以便它可以正确地根据使用区域设置的规则格式化为货币。
有关更多信息,请参阅文档。
有关Fluent的讨论,包括elm-fluent,请参阅Mozilla Discourse Fluent分类。
状态
边缘有些粗糙,但在生产中使用。请参阅开放问题列表。
一个相当完整的测试套件,以及足够的文档。
在用户体验方面,对错误信息的良好处理值得注意。
兼容性:仅支持Elm 0.18。
Elm 0.19存在问题——我们需要一个Intl的包装器,但Elm还没有提供,并且原生模块的限制阻止我们编写自己的。
不清楚官方是否会提供包装器以及它是否适合elm-fluent。我们使用elm-intl,它已经证明非常适合我们的使用,但核心团队显然迅速否定了采用此类库的提议。
鉴于这一点,以及由0.19中原生模块限制引起的其他问题,elm-fluent的作者可能被迫放弃Elm。在这种情况下,最可能的结果是迁移到bucklescript,并使用bucklescript-tea,elm-fluent将被分叉以针对该平台。此仓库不会删除,但进一步的开发可能会停止。
自由软件:MIT许可协议
致谢
此软件包是用Cookiecutter和audreyr/cookiecutter-pypackage项目模板创建的。
历史记录
0.6.0 (2020-04-09)
对类型推断/检查机制的全面重写,现在具有更准确的错误信息。
0.5.0 (2019-08-15)
更新到Syntax 1.0 (fluent.syntax 0.15)
各种错误修复和小的改进
0.4.0 (2019-03-18)
ftl2elm –include选项
取消对Python 2.7的支持
0.3.0 (2019-03-06)
支持Syntax 0.8,包括参数化术语。
提高了某些表达式的编译时解析能力。
0.2.1 (2018-12-19)
将python-fluent依赖项更改为较旧版本(< 0.9),因为它与新版本不兼容。感谢@stasm的报告。
0.2.0 (2018-09-10)
更好地处理各种错误条件
实现了适当的回退机制
添加了--watch选项。
从生成的代码中消除未使用的导入
各种错误修复
避免输出没有导出的.elm文件
HTML属性和非字符串消息参数的bug
多行消息的崩溃器
默认语言中缺少消息时的崩溃器
0.1.0 (2018-07-27)
PyPI上的首次发布。
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分布
构建分布
elm_fluent-0.6.0.tar.gz的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | md5:c85a6e63e8c50a25ff48e2d6552d2c8f4a713a990b937c5ec6ff2850cf398335 |
|
MD5 | md5:59bce1866eb90e31b5c3710f2e9eaf1b |
|
BLAKE2b-256 | md5:7fd01b62dc44bdf53f218249281f797ec73ecac73cfbf34639d42266d111e2e6 |
elm_fluent-0.6.0-py3-none-any.whl的哈希值
算法 | 散列摘要 | |
---|---|---|
SHA256 | md5:a9f2246ae5c5e73711a9a3597d9a489c54e1bb9d180298502f0010612b186681 |
|
MD5 | md5:6c5359265dd8e1122cbe509e826b94fd |
|
BLAKE2b-256 | md5:216805bc34792bce7891a7c4355808741958a65bd26813aac93dcd9b2221c1e8 |