我正在构建一个多语言Django站点,我正在使用django-transmeta进行模型数据转换.现在我想知道是否有一个适用于多语言模型的Django搜索应用程序.我玩过Haystack,它适用于单语言网站,但我不能让它与transmeta的元类一起工作......
有没有人有这方面的经验?任何指针将不胜感激!
干杯,
马丁
我试图让表单字段的翻译工作.我有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功能,但是如何自动完成它呢?
我们有两个.po文件,每个文件来自一个软件的不同分支.
我们需要将它们组合成一个.po文件.
这两个文件之间存在重复,理想的处理方式是使一个文件的字符串受到青睐(一致).
我们有一个SUSE系统,因此--output-file似乎没有根据我从网络搜索中找到的手册页忽略/合并Sun版本所具有的重复项的行为.(我们没有太阳机方便!)
成功将Stripe整合到我的在线商店中,我完全没有获得有关是否/如何配置Stripe以返回用德语而不是英语返回错误消息的信息.
所以我的问题是:
有没有办法在使用客户端API" https://js.stripe.com/v2" 时有本地化的错误消息?
更新2014-05-03
我在推特上问了同样的问题,他们的一位工作人员(我猜)告诉我,目前这不可行,并在他们的TODO名单上.
translation localization internationalization stripe-payments stripe.net
我正在试图找出在国际化我的Django应用程序时翻译实际数据库值(文本字符串,而不是日期格式或任何复杂的)的最佳方法.我能想到的最合乎逻辑的方法是:
description_en,description_de,description_fr,...)或schema_en,schema_fr,schema_de,...).这些是最好的选择,还是我还缺少其他东西?谢谢.
通常,转换方法采用键>值映射并使用键将其转换为值.现在我认识到两种不同的方法来命名您的翻译密钥,在我的团队中,我们没有达成共识,这似乎是最好的方法.
方法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一般.
我正在尝试将大量文本文件从英语翻译成其他几种语言.我们在项目中使用Python,我们首先尝试使用Google翻译服务进行翻译,然后我们将手动纠正错误.
我想出了两种翻译方式:
使用Python Google翻译API.这里:goslate 1.1.2:Python包
尝试使用谷歌翻译页面进行编程,即输入我们要翻译的文本,模拟HTTP请求并处理响应.谷歌翻译
有没有人有更好的报价?
我目前正在用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并生成文件 - 我只是希望已经有了一些东西.
这在某种程度上是主观的,取决于目标翻译语言,但请耐心等待一段时间.
我最近参与了一个翻译项目.目标是将MVC框架的字符串翻译成希腊语.
翻译框架的70%语言字符串,但有30%被故意遗漏.决定是我们不会翻译针对应用程序开发人员的错误消息.
这背后的原因(简言之)是:
面向设计师/程序员.程序员(甚至设计师:))应该对英语有基本的了解,至少足以让他们在Google上搜索它,如果他们不知道它意味着什么.(种族主义者?)
针对开发人员,并且在完美的世界中不应该向应用程序的最终用户显示,因为它们涉及Web应用程序本身的内部工作.即"您必须在数据库配置文件中设置数据库名称."
也许最重要的是,当他试图获得有关错误的更多信息/帮助时,他们会使开发人员的生活更加艰难.例如,上述错误在Google(引号)中产生8个结果,而其希腊语翻译恰好为0.
我知道这取决于目标翻译语言和应用程序本身的流行程度.例如,我猜测有大量关于德国SAP错误消息的文档(我知道,我知道,SAP是德语,但你明白了),而不是关于随机应用程序X的希腊错误消息文档全球约500个装置.
总结一下:当您为应用程序开发语言翻译包时,您是否翻译错误消息?您是否只为英语/西班牙语/德语/法语等主要语言做?或者你把它们完好无损?我不是在寻找"正确"或"正确"的答案,我正在寻找"最佳实践"的答案,或者如果您遇到的任何"官方"标准/政策中都定义了这个问题.
几个星期后,我开始玩Symfony2.它似乎是一个非常强大的框架,但有些事情我还是不能理解.
在文档中,我看到i18n(即翻译)由翻译服务管理.如果我正确理解,翻译网站的主要方式是将我想要翻译的消息集合放在不同的文件messages.XX.yml(XX=en,fr,it,etc...)中,每种语言一个.
这可能适用于短文本,可能不包含任何HTML标记.但是你如何处理长文本呢?例如,我如何管理服务条款或关于页面的翻译?
我想我应该为我想要使用的每个语言环境包含不同的模板.我对吗?
谢谢你的帮助!
translation ×10
localization ×3
django ×2
python ×2
symfony ×2
database ×1
formbuilder ×1
forms ×1
gettext ×1
msgfmt ×1
php ×1
search ×1
stripe.net ×1
twig ×1