Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

fr:specs:i18n [2016/08/26 21:06] (Version actuelle)
Ligne 1: Ligne 1:
 +====== Internationalisation (I18n) ======
  
 +Ekylibre suit le fonctionnement de Rails pour l'​implémentation et l'​utilisation des traductions.
 +
 +Le dossier config/​locales contient un sous-dossier par langue codée avec la norme [[https://​fr.wikipedia.org/​wiki/​ISO_639-3|ISO 639-3]].
 +
 +Chaque sous dossier contient :
 +
 +  * ''​access.yml''​ : Ressources et droits
 +  * ''​action.yml''​ : Titre des actions et éléments de l'​interface
 +  * ''​aggregators.yml''​ : Titre, paramètres et propriétés des agrégateurs
 +  * ''​complement.yml''​ : Fichier auto-généré
 +  * ''​devise.views.yml''​ : Éléments des vues Devise
 +  * ''​devise.yml''​ : Éléments de Devise
 +  * ''​enumerize.yml''​ : Enumerizations dans les modèles
 +  * ''​formats.yml''​ : Nom des formats de fichier
 +  * ''​help/''​ : Fichiers d'aide
 +  * ''​i18n.rb''​ : Conf core (pluralisation,​ correspondances codes)
 +  * ''​models.yml''​ : Nom, attributs, erreurs, éléments des modèles
 +  * ''​nomenclatures.yml''​ : Nom, propriétés et éléments des nomenclatures
 +  * ''​procedures.yml''​ : Nom, handlers, actions des procédures
 +  * ''​reporting/''​ : Modèles d'​impression (JasperReports)
 +  * ''​support.yml''​ : Traductions de base
 +
 +===== Description =====
 +
 +==== action.yml ====
 +
 +<code yaml>
 +# config/​locale/<​locale>/​action.yml
 +<​locale>:​
 +  actions:
 +    # Titre des actions apparaissant dans l'​interface
 +    <​controller-path>:​
 +      index: "​Index"​
 +      <​action>:​ "Bla bla %{info}"​
 +      ...
 +  ...
 +  # LE dictionnaire pour beaucoup de choses
 +  labels:
 +    some_text_to_translate:​ "Blah blah blah"
 +  notifications:​
 +    # Titre des type de notification (error, warning, information,​ success)
 +    levels:
 +      error: "​Arrgggghhhhh"​
 +      ...
 +    # Contenus des messages
 +    messages:
 +      an_info_you_want:​ "Blah bla bla"
 +      ...
 +  # Noms des préférences systèmes
 +  preferences:​
 +    country: "​Pays"​
 +    ...
 +  # REST
 +  rest:
 +    # Nom des actions REST
 +    actions:
 +      abort: "​Annuler"​
 +      ...
 +  # Expression utilisée pour afficher les éléments des listes de unroll
 +  unrolls:
 +    <​controller-path>:​ "​%{name} (%{number}//​%{count})"​
 +    backend/​animals:​ "​%{name} ‒ %{work_number}"​
 +    ...
 +</​code>​
 +
 +==== models.yml ====
 +
 +<code yaml>
 +# config/​locales/<​locale>/​models.yml
 +<​locale>:​
 +  activerecord:​
 +    # Pour les traductions SPÉCIFIQUES d'​attributs. À utiliser ​
 +    # que si nécessaire,​ sinon utiliser "<​locale>​.attributes.<​attribute>"​
 +    attributes:
 +      <​model>:​
 +        <​attribute>:​ "<​Attribut>"​
 +    errors:
 +      # Messages d'​erreur affichés sur les formulaires
 +      messages:
 +        <​message>:​ "​%{sdfsfd} blah blah"
 +      models:
 +        <​model>:​
 +          # Pour les traductions SPÉCIFIQUES de messages d'​erreurs
 +          # À utiliser que si nécessaire,​ sinon utiliser :
 +          # "<​locale>​.activerecord.errors.messages"​
 +          <​message>:​ "Blab wrong!"​
 +    # Nom des modèles
 +    models:
 +      <​model>:​ "​Model"​
 +  # Nom des attributs au sens large (colonnes, relations...)
 +  attributes:
 +    <​attribute>:​
 +  # Éléments divers au sein du modèle
 +  models:
 +    <​model>:​
 +      <​thing_to_translate>:​ "​1231"​
 +  ​
 +</​code>​