2016-04-13 6 views
-1

Je suis un fichier YAML avec la structure suivante contenant les noms de pays en allemand:Traduire les noms de pays allemand vers le français

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

je peux importer le fichier à Ruby et l'enregistrer comme un Hash.

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

Je veux les traduire en français. Je pensais que cela devrait être une tâche assez simple en utilisant I18nCountryTranslations, mais je suis coincé. Existe-t-il un moyen de le faire avec des outils Ruby intégrés? Ou ai-je besoin de tout le framework Rails pour cela? Ou une API externe?

+0

Que voulez-vous dire, « coincé »? –

+0

Un autre mot pour - "Je ne sais pas quoi faire ensuite";) –

Répondre

3

Vous pouvez utiliser pour obtenir bijou countries la traduction

Il suffit d'installer la pierre précieuse et ajouter require 'countries' à votre fichier rubis. Vous pouvez suivre la documentation here

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

le problème est que je n'ai pas la traduction ... Je veux les traduire de sorte qu'au lieu de "Schweiz" il est dit "Suisse" –

+0

Je pense que la 'gem pays' peut vous aider –

+1

Voir le deuxième lien dans ma réponse. Vous pouvez trouver toutes les traductions. – Uzbekjon

0

Les noms de pays sont déjà traduits et disponibles dans presque tous les formats. Juste Google it. Voici un example aux formats CVS, XML et YAML.

Si ce fichier est nécessaire pour certains de vos projets, je voudrais simplement avoir dans le fichier YAML d'origine de ces pays comme ceci:

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"