问题标签 [transifex]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何在 gettext 中“堆叠”语言
可能是一个误导性的标题,对不起,但我希望我能在下面更好地解释。
我是一个受欢迎的开源项目的一部分,我们希望为该项目提供我们的观众喜欢的任何语言代码的翻译。我们的翻译都是由我们的用户群贡献的,我们愿意支持这个支持者/用户群体所需要的一切。
该项目是用 Python/Django 编写的,我们使用 gettext 并最终使用 Transifex 来管理翻译建议的出色服务。
当有人想要一种语言的语言环境变体时,我们的问题就来了。让我们假设这个问题是法语(fr)。
我们已经为语言代码提供了可靠的翻译fr
。但是,如果来自加拿大的贡献者出现并希望贡献fr_CA
,由于以下情况,我们会突然感到维护头痛:
fr_CA
翻译不完整。在这种情况下,gettext 回退到“未翻译”,这在我们的项目中意味着en
.如果
fr_CA
翻译从 复制大量位fr
,然后只是在这里和那里更改一些位以更好地匹配语言环境,然后,我们发现我们需要在基本fr
翻译中更改某些内容,突然间,我们会遇到一个同步问题,而不是不说话的fr_CA
贡献者很容易解决。
对我来说似乎更有意义的是,有某种形式的“覆盖”设置,我们可以“堆叠”这些语言。fr
在基础上,然后fr_CA
,然后是任何更具体的语言环境变体。我想要的是,一旦这些都被定义,那么翻译器只需要更新fr_CA
该语言环境和堆栈中“下面”的语言环境之间的差异,在这种情况下fr
。通过将与更一般的语言环境相比没有不同的内容保留在任何层下方,我们可以根据需要自由地进行更正/更新,而不会产生同步问题。
我认为这种“堆叠”最终会在生成已编译的 MO 文件的过程中得到解决。
有谁知道我们如何做到这一点?
yaml - 将非标准 yml 本地化文件转换为 php 数组或其他可用于网络翻译的格式
我尝试使用 Transifex Stellaris 本地化文件进行在线翻译,但它没有正确导入,因为它们不遵循本地化标准: http ://docs.transifex.com/formats/yaml/
例如这里有一个文件: http: //pastebin.com/abKLLSpX
我尝试使用一些在线(和离线)工具/脚本将其转换为可在 Transifex 上使用的 php 数组或其他格式,但我没有找到任何可以在没有错误的情况下进行转换的东西,例如使用 Symfony 它给了我错误:
有人可以就如何将其正确转换为可在 Transifex 中使用的格式给我一个建议吗?
感谢您的回复。
delphi - 使用 PUT 通过 TIdHTTP 上传文件
我想在 TIdHtttp 上使用 PUT 上传文件。我从 Remy Lebeau 那里找到了一个答案,说不要使用 PUT,而是使用 POST。
但是,在我的情况下,我不能这样做,因为我正在使用第三个 API,它指定我需要使用 PUT。如果我尝试使用 POST,它会返回一条消息,指出不允许使用该方法。
基本上,我正在尝试做这样的事情:
但是当我这样做时,我得到一个500 - Internal server error
.
如果我删除:
我明白了400 - Bad Request
。
我已经尝试直接从浏览器(高级 REST 客户端 - chrome)发出请求并且它有效。所以API正在工作。消息的标题是:
代码不在这里,但是是的,我配置了授权信息,它正在工作,我可以检查一下,因为我可以使用其他人调用 API。
更新
这是我正在尝试使用的 API :http PUT
: //docs.transifex.com/api/translations/#put
我尝试过的方法:
1)这个返回500 - Internal Server Error
。我也尝试使用内容类型创建 DS 对象application/octet-stream
。但我得到了同样的错误。
2)答案中建议的方式,但它不起作用。我也得到了错误500
。
javascript - 绕过 parsley.js 本地化目录,在 js 中使用 gettext()
我正在使用 parsley.js 进行客户端验证 - 到目前为止一切顺利!
我正在使用 transifex 存储本地化消息。我想找到一种方法在 javascript 中使用 gettext() 之类的东西来进行消息翻译,而不是使用欧芹目录。这样做的正确方法是什么?我已经尝试更新英文(默认)消息,但它似乎不起作用。我是 Parsleyjs 的新手,所以如果我问了一个明显的问题,但我无法弄清楚,请原谅我。
这不起作用(来自 parsley.js):
django-templates - 如何在 Transifex 中处理 Django 模板?
Transifex 广泛用于管理 Django 项目以及内部的翻译。它在 gettext (PO) 文件上做得很好。然而,Django 模板并不是其已知格式之一。你可以告诉 Transifex 它们是 HTML,在这种情况下它需要这样的东西:
并将其变成:
另一个问题是,Transifex 然后将模板标记视为要翻译的字符串,迫使您浏览文件并将每个标记为“锁定” - 即使这样,我认为标记也会影响您的字数。
在 Django 模板标签周围添加 HTML 注释也不起作用,因为它们成为模板的一部分并插入到最终文档中。注释掉模板标签,然后对文件进行后处理以删除它们可能会起作用,但不一定保证 Transifex 会不理会注释,即使他们这样做了,这似乎也很笨重且容易出错。
我希望有人有更好的策略,让您将模板交给 Transifex 而不会被咀嚼。
translation - 为 transifex 生成/编辑源文件
我想在我的开源项目中使用 transifex(所以 transifex 也可以免费使用),但与https://localise.biz/free/poeditor相比,它并不容易使用。我试图做的是从 transifex 中生成或至少更新源文件,而无需下载翻译文件并再次重新上传以更新源文件
可以在 transifex 生成和更新,但据我所知,这是不同的。它不应该用于像“Hello world”这样的简单字符串
如果由于某种原因无法在线执行此操作...那么我想会有一个原因,对吗?但无论如何,即使这样也很高兴。
我现在所做的是使用 localise.biz 生成一个 po 文件,因为我不知道它应该是什么样子并将其导入到 transifex。有一个名为 POedit 的工具,但这也没有多大帮助..
babeljs - 如何在 CKAN 中翻译数据集中的描述?
我想知道如何翻译CKAN中的描述和标题。
我一直在看一个例子:
https://opendata.swiss/和https://github.com/opendata-swiss/ckanext-switzerland 中的代码
和
https://opentransportdata.swiss
在扩展中,我看到了每种语言的文件:
https://github.com/opendata-swiss/ckanext-switzerland/tree/master/ckanext/switzerland/i18n
但我看不到多种语言的每个数据集的文本。
例如:
https://opendata.swiss/en/dataset/bahnhofsliste-station-list
我认为这个数据集的名称是用德语创建的,但我们也得到了英文文本。
所以问题是:
数据集描述的文本在哪里定义???
谢谢
gatsby - 使用 transifex 进行 Gatsby 翻译
我正在尝试用 gatsby 重建我们公司的网站。我们网站的大部分内容来自,Contentful
但翻译本身在Transifex
.
我不确定如何整合所有这些。我使用gatsby-source-contentful
插件从内容中提取数据。
从 transifex 下载翻译的正确方法是什么?
我的想法是在createPages
钩子中使用 transifex API,然后将语言环境数据作为上下文变量传递。然后在组件文件中使用react-intl
.
这是这样做的正确方法吗?或者有什么更好的方法?
ruby-on-rails - 单个 YAML 文件 VS 不同文件夹和子文件夹中的多个 YAML 文件
我正在致力于自动化翻译工作流程并改进整个 Rails 网站的本地化流程。我正在使用 SimpleBackend,因此只有 YAML 文件用于存储翻译。
当前的语言环境目录由文件夹、子文件夹(在某些情况下)和那些包含 yml 文件的子文件夹组成。我正在考虑将该项目与 Transifex 等第三方工具集成以进行翻译管理,因此可能对每种语言使用单个 YAML 文件可能有利于工作流管理。
如果有人可以突出这两种结构的优缺点,那么决定我是否应该从嵌套文件结构切换到单文件模式将非常有帮助。此外,该项目是一个具有积极贡献者的开源项目,因此正在考虑长期解决方案。
谢谢!