标签: translation

在多语言django网站上搜索功能

我正在构建一个多语言Django站点,我正在使用django-transmeta进行模型数据转换.现在我想知道是否有一个适用于多语言模型的Django搜索应用程序.我玩过Haystack,它适用于单语言网站,但我不能让它与transmeta的元类一起工作......

有没有人有这方面的经验?任何指针将不胜感激!

干杯,

马丁

django search translation django-models

25
推荐指数
1
解决办法
3512
查看次数

如何使用messages.en.yml翻译symfony2表单中的标签?

我试图让表单字段的翻译工作.我有messages.en.yml我的Bundle的Ressource文件夹.

test: it works
form:
    description: Add a description.
Run Code Online (Sandbox Code Playgroud)

我想构建一个表单EntityType,相应地转换表单字段的标签.

$builder->add(
    'description',
    null,
    array('label' => 'form.description', 'required' => false)
);
Run Code Online (Sandbox Code Playgroud)

然而,只显示了文字字符串'form.description',而不是预期的翻译Add a description.

messages.en.yml我可以调用正确加载翻译服务

var_dump($this->get('translator')->trans('test'));

在控制器中获取翻译结果.

当我想将字符串'form.description'视为应翻译的内容时,我错过了什么?

我想我无论如何都必须在它们上调用trans功能,但是如何自动完成它呢?

php forms translation formbuilder symfony

25
推荐指数
3
解决办法
4万
查看次数

是否可以将两个.po翻译文件组合在一起?

我们有两个.po文件,每个文件来自一个软件的不同分支.

我们需要将它们组合成一个.po文件.

这两个文件之间存在重复,理想的处理方式是使一个文件的字符串受到青睐(一致).

我们有一个SUSE系统,因此--output-file似乎没有根据我从网络搜索中找到的手册页忽略/合并Sun版本所具有的重复项的行为.(我们没有太阳机方便!)

translation gettext msgfmt

24
推荐指数
2
解决办法
2万
查看次数

Stripe中的非英文文本可能吗?

成功将Stripe整合到我的在线商店中,我完全没有获得有关是否/如何配置Stripe以返回用德语而不是英语返回错误消息的信息.

所以我的问题是:

有没有办法在使用客户端API" https://js.stripe.com/v2" 时有本地化的错误消息?

更新2014-05-03

我在推特上问了同样的问题,他们的一位工作人员(我猜)告诉我,目前不可行,并在他们的TODO名单上.

translation localization internationalization stripe-payments stripe.net

24
推荐指数
3
解决办法
1万
查看次数

翻译Django数据库值的最佳/推荐方法

我正在试图找出在国际化我的Django应用程序时翻译实际数据库值(文本字符串,而不是日期格式或任何复杂的)的最佳方法.我能想到的最合乎逻辑的方法是:

  • 持有数据库的每一种语言(例如description_en,description_de,description_fr,...)或
  • 有不同的数据库,为每一种语言(例如schema_en,schema_fr,schema_de,...).

这些是最好的选择,还是我还缺少其他东西?谢谢.

database django translation internationalization

23
推荐指数
2
解决办法
1万
查看次数

翻译文件中键值的最佳实践

通常,转换方法采用键>值映射并使用键将其转换为值.现在我认识到两种不同的方法来命名您的翻译密钥,在我的团队中,我们没有达成共识,这似乎是最好的方法.

方法1: 使用完整的英语单词或句子:

Name => Name
Please enter your email address => Please enter your email address
Run Code Online (Sandbox Code Playgroud)

方法2: 使用描述情况的关键字:

NAME => Name
ENTER_EMAIL => Please enter your email address
Run Code Online (Sandbox Code Playgroud)

我个人更喜欢方法#1,因为它直接显示了消息的含义.如果翻译不存在,您可以回到密钥,这不会导致任何问题.但是,当翻译频繁更改时,该方法很麻烦,因为需要更新所有文件.此外,对于较长的文本,这些键变得非常大.这可以通过使用类似的键来解决ENTER_EMAIL,但是语法完全不在上下文中.抽象翻译密钥列表将是巨大的,您需要元数据来解释其使用的所有密钥,并且可以更容易地发生冲突.

两种世界或第三种方法都是最好的吗?如何在应用程序中使用翻译键?在我们的例子中,它是一个基于PHP的Web应用程序,但我认为上面的问题是通用的足以谈论i18n一般.

translation internationalization

23
推荐指数
1
解决办法
3773
查看次数

使用Python进行谷歌翻译的最佳方式

我正在尝试将大量文本文件从英语翻译成其他几种语言.我们在项目中使用Python,我们首先尝试使用Google翻译服务进行翻译,然后我们将手动纠正错误.

我想出了两种翻译方式:

  1. 使用Python Google翻译API.这里:goslate 1.1.2:Python包

  2. 尝试使用谷歌翻译页面进行编程,即输入我们要翻译的文本,模拟HTTP请求并处理响应.谷歌翻译

有没有人有更好的报价?

python translation

23
推荐指数
3
解决办法
4万
查看次数

最简单的生成本地化文件的方法

我目前正在用Python编写应用程序,需要为它提供本地化.

我可以使用gettext及其附带的实用程序来生成.po和.mo文件.但是,逐个编辑每种语言的.po文件似乎有点单调乏味.然后,为每种语言创建目录并逐个生成.mo文件,似乎有点矫枉过正.最终结果如下:

/en_US/LC_MESSAGES/en_US.mo
/en_CA/LC_MESSAGES/en_CA.mo
etc.
Run Code Online (Sandbox Code Playgroud)

我可能是错的,但似乎必须有更好的方法来做到这一点.有没有人有我尚未找到的工具,技巧或一般知识?

提前致谢!

编辑:为了更清楚一点,我正在寻找能够加速这一过程的东西.因为它已经非常简单了.例如,在.NET中,我可以生成需要转换为excel文件的所有字符串.然后,翻译人员可以填写excel文件并为每种语言添加列.然后,我可以使用xls2resx生成语言资源文件.gettext有什么类似的吗?我意识到我可以编写一个脚本来创建和读取csv并生成文件 - 我只是希望已经有了一些东西.

python translation localization internationalization

21
推荐指数
3
解决办法
2万
查看次数

翻译错误消息是"正确的"吗?

这在某种程度上是主观的,取决于目标翻译语言,但请耐心等待一段时间.

我最近参与了一个翻译项目.目标是将MVC框架的字符串翻译成希腊语.

翻译框架的70%语言字符串,但有30%被故意遗漏.决定是我们不会翻译针对应用程序开发人员的错误消息.

这背后的原因(简言之)是:

  1. 面向设计师/程序员.程序员(甚至设计师:))应该对英语有基本的了解,至少足以让他们在Google上搜索它,如果他们不知道它意味着什么.(种族主义者?)

  2. 针对开发人员,并且在完美的世界中不应该向应用程序的最终用户显示,因为它们涉及Web应用程序本身的内部工作.即"您必须在数据库配置文件中设置数据库名称."

  3. 也许最重要的是,当他试图获得有关错误的更多信息/帮助时,他们会使开发人员的生活更加艰难.例如,上述错误在Google(引号)中产生8个结果,而其希腊语翻译恰好为0.

我知道这取决于目标翻译语言和应用程序本身的流行程度.例如,我猜测有大量关于德国SAP错误消息的文档(我知道,我知道,SAP是德语,但你明白了),而不是关于随机应用程序X的希腊错误消息文档全球约500个装置.

总结一下:当您为应用程序开发语言翻译包时,您是否翻译错误消息?您是否只为英语/西班牙语/德语/法语等主要语言做?或者你把它们完好无损?我不是在寻找"正确"或"正确"的答案,我正在寻找"最佳实践"的答案,或者如果您遇到的任何"官方"标准/政策中都定义了这个问题.

translation localization custom-errors

21
推荐指数
2
解决办法
3141
查看次数

Symfony2长文本的翻译

几个星期后,我开始玩Symfony2.它似乎是一个非常强大的框架,但有些事情我还是不能理解.

在文档中,我看到i18n(即翻译)由翻译服务管理.如果我正确理解,翻译网站的主要方式是将我想要翻译的消息集合放在不同的文件messages.XX.yml(XX=en,fr,it,etc...)中,每种语言一个.

这可能适用于短文本,可能不包含任何HTML标记.但是你如何处理长文本呢?例如,我如何管理服务条款或关于页面的翻译?

我想我应该为我想要使用的每个语言环境包含不同的模板.我对吗?

谢谢你的帮助!

translation symfony twig

21
推荐指数
1
解决办法
8375
查看次数