我有一个模型产品::汽车。 我怎样才能翻译它的属性? 我已经试过这个: activerecord: models: products: car: "Автомобиль" attributes: products: car: owner: "Владелец" 和这个: activerecord: models: products_car: "Автомобиль" attributes: products_car: owner: "Владелец" 但是,如果我尝试使用产品:: Car.model_name.human它仍然说“车”。 我的其他翻译工作得很好,语言设置为:ru。
在Django模板中是否有一些全局variables用于gettin'语言代码,或者至less是通过视图传递的吗? 例如: {{ LANG }}应该产生“en”的例子..当人们使用request.LANGUAGE_CODE时,我真的不舒服。 详细的解释将不胜感激=)
我遇到了Rails 3.0.1,Ruby 1.9.2和我的网站本地化的一些麻烦。 问题很简单,我在视图中有这样的东西: f.input :zip_code, :label => I18n.t('labels.zip_code') 和一个es.yml文件: es: labels: zip_code: "Este código postal no es valido." en.yml文件(它是纯粹的ASCII)没有问题,但是当网站设置为i18n.locale == 'es'我得到这个错误: incompatible character encodings: UTF-8 and ASCII-8BIT 我一直在寻找相当一段时间,但没有find一种方法来使用我的UTF-8翻译文件。 有人知道如何使它工作? 谢谢你的帮助。
使用DateFormat的实例格式化和parsingJava Date(或Calendar)类是非常容易的,也就是说,我可以将当前date格式化为如下所示的短本地化date: DateFormat formatter = DateFormat.getDateInstance(DateFormat.SHORT, Locale.getDefault()); String today = formatter.format(new Date()); 我的问题是:我需要获得这个本地化的模式string(即像"MM/dd/yy" )。 这应该是一个微不足道的任务,但我找不到提供者…
有没有一种方法来设置应用程序不支持设备UI语言时使用的默认语言? 示例:我的应用程序被本地化为英语和德语: // en.lproj: "POWER_TO_THE_PEOPLE_BTN" = "Power"; "POWER_PLUG_BTN" = "Power"; // de.lproj: "POWER_TO_THE_PEOPLE_BTN" = "Macht"; "POWER_PLUG_BTN" = "Spannung"; 现在,如果我在UI设置为Italian的设备上运行应用程序,应用程序将使用键stringPOWER_TO_THE_PEOPLE_BTN和POWER_PLUG_BTN 。 在这种情况下,必须有一种方法来指定应用程序使用的默认(后备)语言。 从上面的例子中,应该清楚的是,使用英文string作为关键是行不通的。 我现在看到的唯一select是使用NSLocalizedStringWithDefaultValue而不是NSLocalizedString 。
我在模型中有以下validation: validates_inclusion_of :whatever, :in => [true, false], :message => I18n.t('please_select_whatever') 看起来翻译在生产模式下不起作用:在所有语言中,英文翻译总是被显示(可能是因为我在我的应用程序中将英语设置为默认语言环境…)。 所以我假设我们不能在模型中翻译validation,因为模型只能被加载一次 – 当服务器被引导(然后,默认的语言环境将被应用)。 我对吗? 如果是的话,你会如何解决这个问题? 谢谢你的帮助!
我知道如何i18n / l10n通常在Rails3中完成,我select了一个ERB文件调用t(…)进行本地化。 但是对于某个特定的部分我需要一些特殊的 我需要显示一个string,其本地化来自外部数据库 。 那么怎样才能知道当前的语言,用en或ja参数调用外部数据库呢? 在UNIX中就像$ LANG一样。 最好从视图或控制器访问。
在一个国际化的Rails(2.3.5)应用程序,我想显示从默认语言环境,而不是“翻译缺失”的翻译 – 有一张票,但它似乎仍然悬而未决: https://rails.lighthouseapp.com/projects/8994/tickets/2637-patch-i18n-look-up-a-translation-with-the-default-locale-when-its-missed-with-another-specific-现场 例如(取自票证),带有两个翻译文件en.yml和es.yml: en: hello: 'hello' hello_world: 'hello world' es: hello_world: 'hola mundo' 当我执行这个代码: I18n.t :hello, :locale => :es Rails返回“hello”,而不是“翻译缺失”的跨度。 由于票证仍然未决,我怎么能实现这个function? 我知道我可以通过改变我所有的I18n.t调用来获得:default选项,但是如果我能避免,我宁愿不必去浏览所有的视图! 因为这是一个补丁,我想我可以将它应用到Rails冰冻gem上,但是如果可以的话,我宁愿避免。
在Django模板中,可以使用{{ _("Hello World") }}或{% trans "Hello World" %}来标记要翻译的string。 在文档中,“官方”方法似乎是{% trans %}标记,但是_()语法也被提及过一次 。 这些方法如何不同 (语法除外),为什么应该是一个更好的而不是另一个呢? 一个区别是,你显然不能使用带有标签和filter的{% trans %} 。 但这是否意味着我可以在任何地方使用_() ,如{{ _("String") }} ? 它的工作原理看起来比使用独立string的{% trans "String" %}和使用标签和filter的_()更清晰和更一致。
当我有一个实例的时候,获取ActiveRecord模型类的名字的最简单的方法是什么? 例如 – 我有这样的模型类: class Category < ActiveRecord::Base … end 我有一个类的实例: category = Category.first 我有YAML文件config/locales/cs.yml : cs: activerecord: models: category: Kategorie 我需要做这个dynamic的事情,即使我以前不知道我将要处理的是什么模型类的实例。 所以我不想明确指定“activerecord.models.category”。 是否有捷径可寻? 我知道,我可以做这样的事情 "activerecord.models.#{category.class.name.underscore}" 但是必须有更好的方法来做到这一点。