将德国国家/地区名称翻译为法语

时间:2016-04-13 12:00:35

标签: ruby translation rails-i18n

我收到了一个YAML文件,其中包含以德语为国家/地区名称的结构:

countries:
      country_1:  "Schweiz"
      country_2:  "Deutschland"
      country_3:  "Italien"
      country_4:  "Frankreich"
      country_6:  "Afghanistan"

我可以将文件导入Ruby并将其另存为Hash

require 'yaml'
yml = YAML.load_file('countries.yml')
countries = yml['countries'] 

我想将它们翻译成法语。我认为使用I18nCountryTranslations这应该是一个相当简单的任务,但是我被卡住了。有没有办法用内置的Ruby工具做到这一点?或者我需要整个Rails框架吗?还是外部API?

2 个答案:

答案 0 :(得分:3)

您可以使用countries gem来获取翻译

只需安装gem并将require 'countries'添加到ruby文件即可。您可以按照文档here

进行操作
c = ISO3166::Country.find_country_by_name('united states')
c.translations['fr'] #=> "États-Unis"

答案 1 :(得分:0)

国家/地区名称已经过翻译,几乎可以以任何格式提供。只需Google it。这是CVS,XML和YAML格式的example

如果您的某些项目需要此文件,我只会在原始yaml文件中包含这些国家/地区,如下所示:

de:
   countries:
      country_1:  "Schweiz"
      country_2:  "Deutschland"
      country_3:  "Italien"
      country_4:  "Frankreich"
      country_6:  "Afghanistan"
fr:
   countries:
      country_1:  "Schweiz in French"
      country_2:  "Deutschland in French"