我收到了一个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?
答案 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"