跳转到主要内容

JavaScript的Plone i18n

项目描述

简介

此软件包通过locales目录使JavaScript具有i18n功能。它基于jarn.jsi18n并扩展了jarn.jsi18n(因此需要jarn.jsi18n才能工作)。

用法

此软件包的使用方法与jarn.jsi18n完全相同,因此如果您想了解如何使用kreagroup.jsi18n,请访问http://pypi.python.org/pypi/jarn.jsi18n

为什么有这个包?

jarn.jsi18n和kreagroup.jsi18n有所不同……您可以以相同的方式使用这两个包,但结果会在特定情况下有所不同……

假设我们在浏览器中第一次运行以下代码:

> jarn.i18n.loadCatalog(‘plone’,‘es’);

> _es = jarn.i18n.MessageFactory(‘plone’,‘es’);

> _es(‘Contributor’);

“Contribuyente”

在第一行,jarn.jsi18n将以异步方式下载i18n目录。在i18n目录加载时,它将运行第二行和第三行,因此“Contributor”将在i18n目录未加载的情况下被翻译。由于i18n目录未加载,_es(‘Contributor’)将不会被翻译并仅返回输入。在这里,结果将是“Contributor”,而不是“Contribuyente”。下一次我们运行相同的代码时,很大可能性是i18n目录的下载已完成,因此它将在浏览器缓存中(现在无需下载),翻译将正确执行。

另一方面……在第一行,kreagroup.jsi18n以同步方式加载i18n目录,因此它等待i18n目录加载完成。当完成时,它开始执行第二行和第三行,并将正确翻译,因为i18n目录已下载。

jarn.jsi18n与kreagroup.jsi18n,纯粹是品味问题……

jarn.jsi18n更具有响应性,因为它只使用异步ajax调用。这伴随着一个缺点,即第一次运行代码时没有翻译……

kreagroup.jsi18n 总是能正确翻译。但这需要付出同步 AJAX 调用的代价,这意味着你需要在页面第一次加载时等待更长的时间,这会降低响应速度……

附加说明

jarn.jsi18n-1.0 在 Internet Explorer 8 中无法正常工作。kreagroup.jsi18n 包含了一个修复方案,使得翻译可以在 Internet Explorer 8 中正常工作。也许,jarn.jsi18n-1.1 也会包含这个修复方案 :-)

变更日志

1.0.3 - 2013-08-16

  • 将 jarn.jsi18n 固定到版本 1.0

1.0.2 - 2013-08-13

  • 文档中的修复

1.0.1 - 2013-08-13

  • 添加了首个公开版本的文档

1.0.0 - 2013-05-23

  • 初始发布

项目详情


下载文件

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

源代码发行版

kreagroup.jsi18n-1.0.3.tar.gz (14.6 kB 查看散列值)

上传时间 源代码