标签: translation

我什么时候应该使用ugettext_lazy?

我有一个关于使用ugettext和ugettext_lazy翻译的问题.我在模型中学到了我应该使用的ugettext_lazy,而在视图ugettext中.但是还有其他地方,我应该在哪里使用ugettext_lazy?表格定义怎么样?它们之间是否有任何性能差异?

编辑: 还有一件事.有时候,不是ugettext_lazy,ugettext_noop被使用.正如文档所说,ugettext_noop字符串只标记为翻译并在最新可能的情况下翻译,然后再显示给用户,但我在这里有点困惑,是不是与此类似ugettext_lazy?我仍然很难决定哪个,我应该在我的模型和表格中使用哪个.

python django translation

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

React/Redux和多语言(国际化)应用程序 - 架构

我正在构建一个需要以多种语言和语言环境提供的应用程序.

我的问题不仅仅是技术问题,而是关于架构,以及人们实际在生产中用来解决这个问题的模式.我找不到任何"食谱",所以我转向我最喜欢的Q/A网站:)

这是我的要求(它们真的是"标准"):

  • 用户可以选择语言(平凡)
  • 更改语言后,界面应自动转换为新选择的语言
  • 我现在不太担心格式化数字,日期等,我想要一个简单的解决方案来翻译字符串

以下是我可以想到的可能解决方案:

每个组件都孤立地处理翻译

这意味着每个组件具有例如一组en.json,fr.json等文件以及与翻译的字符串一起的文件.还有一个辅助函数可以帮助读取取决于所选语言的值.

  • 亲:更尊重React的理念,每个组件都是"独立的"
  • 缺点:您无法将所有翻译集中在一个文件中(例如,让其他人添加新语言)
  • 缺点:您仍然需要将当前语言作为道具传递给每个血腥组件及其子项

每个组件通过道具接收翻译

所以他们不知道当前的语言,他们只是将字符串列表作为与当前语言匹配的道具

  • 亲:由于这些字符串"从顶部"出现,它们可以集中在某处
  • 缺点:每个组件现在都绑定到翻译系统,你不能只重用一个,你需要每次都指定正确的字符串

你稍微绕过了道具,并可能使用上下文来传递当前语言

  • 亲:它大部分是透明的,不必一直通过道具传递当前的语言和/或翻译
  • 缺点:使用它看起来很麻烦

如果您有任何其他想法,请说!

你怎么做呢?

architecture translation internationalization reactjs redux

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

字符串和标签的本地化和全球化的最佳实践

我是一个拥有20多名开发人员的团队成员.每个开发人员都在一个单独的模块上工作(接近10个模块).在每个模块中,我们可能至少有50个CRUD表单,这意味着我们目前有近500个添加按钮,保存按钮,编辑按钮等.

但是,因为我们想要使我们的应用程序全球化,所以我们需要能够在我们的应用程序中翻译文本.例如,无处不在,单词add应该成为法国用户的焦点.

我们到目前为止所做的是,对于UI或表示层中的每个视图,我们都有一个关键/值对翻译的字典.然后在渲染视图时,我们使用此字典翻译所需的文本和字符串.然而,这种方法,我们已经有500 个字典附近的500个添加.这意味着我们已经违反了DRY委托人.

另一方面,如果我们集中常见的字符串,比如将add添加到一个地方,并要求开发人员在任何地方使用它,我们就会遇到不确定字符串是否已经在集中式字典中定义的问题.

另一个选择可能是没有翻译词典并使用谷歌翻译,Bing翻译等在线翻译服务.

我们遇到的另一个问题是,一些处于准时交付项目压力下的开发人员无法记住翻译密钥.例如,对于添加按钮的文本,开发人员使用了add,而另一个开发人员使用了new,等等.

什么是应用程序的字符串资源的全球化和本地化的最佳实践或最着名的方法?

javascript globalization translation localization client-side

111
推荐指数
3
解决办法
12万
查看次数

用其他(口语)语言编码

这是我一直想知道的事情,我在网上任何地方都找不到它.当一家商店(比如日本)写代码时,我能用英文阅读吗?或者语言,如C,PHP,什么,有他们写的日语翻译?

我想我所问的是,世界上每一位编码人员都知道足够的英语使用我所用的完全相同的保留字吗?

这段代码是:

If (i < size){
    switch
        case 1:
            print "hi there"
        default:
            print "no, thank you"
} else {
    print "yes, thank you"
}
Run Code Online (Sandbox Code Playgroud)

显示与我现在用英语看到的完全相同,或者其他非英语人士会看到"if","switch","case","default","print"和" "用他们的母语?

编辑 - 是的,这很严重.我不知道语言的不同本地化是否有不同的关键字.或者如果甚至有不同的本地化.

translation localization spoken-language

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

无法找到存储文件__init__.py的翻译的语言环境路径

我正在尝试翻译Django应用程序.我{% trans %}在模板中创建了一些字符串.但是,当我在我的app文件夹中执行以下命令时,收到一条错误消息:

$ django-admin.py makemessages -l fr 
CommandError: Unable to find a locale path to store translations for file __init__.py`
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

django translation

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

有没有免费的在线词典API(json/xml)有多种语言可供选择?

是否有任何不需要API密钥的免费词典API,并允许您在多种源语言和目标语言之间进行选择(尽可能多,至少英语,德语,西班牙语,法语...)?

translation

71
推荐指数
3
解决办法
7万
查看次数

如何在Symfony布局中获取_locale变量?

我在一个有两种语言的网站上使用Symfony 2,我想根据用户的语言环境改变我的路由模式!

例:

user_login_en:
    pattern:  /en/user/login.html
    defaults: { _controller: SfErrorsAppBundle:User:login, _locale: en }

user_login_fr:
    pattern:  /fr/utilisateur/connexion.html
    defaults: { _controller: SfErrorsAppBundle:User:login, _locale: fr}
Run Code Online (Sandbox Code Playgroud)

在模板内部,这并不困难,我只需要将$ this-> get('session') - > getLocale()从控制器传递给模板......

为了工作,我必须打电话给我的路线:

$router->generate('user_login_'.$locale, array());
Run Code Online (Sandbox Code Playgroud)

但在我的布局中,我当然有一个菜单和侧边栏,它们有链接......所以我想得到locale变量来使用它!所以我的问题很简单:如何在"布局"模板中获取此变量?否则,您是否有任何想法根据语言更改模式?

原因是我想为所有用户提供优美的路线,无论是英语还是法语......还有SEO的原因!

layout routing templates translation symfony

64
推荐指数
3
解决办法
8万
查看次数

保留多语言数据的最佳数据库结构是什么?

可能重复:
多语言数据库的模式

这是一个例子:

[ products ]
id (INT)
name-en_us (VARCHAR)
name-es_es (VARCHAR)
name-pt_br (VARCHAR)
description-en_us (VARCHAR)
description-es_es (VARCHAR)
description-pt_br (VARCHAR)
price (DECIMAL)
Run Code Online (Sandbox Code Playgroud)

问题是:每种新语言都需要修改表结构.

这是另一个例子:

[ products-en_us ]
id (INT)
name (VARCHAR)
description (VARCHAR)
price (DECIMAL)

[ products-es_es ]
id (INT)
name (VARCHAR)
description (VARCHAR)
price (DECIMAL)
Run Code Online (Sandbox Code Playgroud)

问题是:每种新语言都需要创建新表,并且"价格"字段在每个表中都是重复的.

这是另一个例子:

[ languages ]
id (INT)
name (VARCHAR)

[ products ]
id (INT)
price (DECIMAL)

[ translation ]
id (INT, PK)
model (VARCHAR) // product
field (VARCHAR) // name
language_id (INT, …
Run Code Online (Sandbox Code Playgroud)

mysql database multilingual translation localization

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

如何使用非翻译字符串在Android Studio上签名APK?

背景

我最近将我的应用迁移到Android-Studio.我有一些问题,但最终我克服了它们.

问题

出于某种原因,在Android Studio上,当我尝试签署APK时,我收到很多错误,如下所示:

Error:(16) Error: "..." is not translated in "de" (German), "el" (Greek), "iw" (Hebrew) [MissingTranslation]
Run Code Online (Sandbox Code Playgroud)

(其中"......"是一个字符串)

在底部,经过这种很多错误,我看到了这个:

Error:Execution failed for task ':app:lintVitalRelease'.
> Lint found fatal errors while assembling a release target.
To proceed, either fix the issues identified by lint, or modify your build script as follows:
...
android {
    lintOptions {
        checkReleaseBuilds false
        // Or, if you prefer, you can continue to check for errors in release builds,
        // but continue the …
Run Code Online (Sandbox Code Playgroud)

android translation apk android-studio

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

有什么好的替代poEdit?

我正在寻找一个.po/.mo编辑器.我使用gettext作为翻译文件,但不喜欢poEdit.它必须在Windows Vista上运行,如果它内置于Visual Studio 2008中,它会更好,所以我可以开发和翻译

我真的想要一些能帮助我翻译并使翻译更容易的东西.我想有建议和拼写检查

[没有选择?如果真的没有选择,我也可以做一些事情并编写代码,这样翻译就很容易了.您甚至可以整合http://dict.leo.org或查看Google翻译为查询提供的内容.]

translation gettext poedit

51
推荐指数
5
解决办法
4万
查看次数