将德国国家名称翻译成法语

Translate German country names to French

我得到了一个 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?

您可以使用 countries gem 获取翻译

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

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

国家/地区名称已经过翻译,几乎可以使用任何格式。在 CVS 中只是 Google it. Here is an example,XML 和 YAML 格式。

如果您的某些项目需要此文件,我会像这样在原始 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"