Development

Documentation/fr_FR/book/1.2/13-I18n-and-L10n (diff)

You must first sign up to be able to contribute.

Changes between Version 4 and Version 5 of Documentation/fr_FR/book/1.2/13-I18n-and-L10n

Show
Ignore:
Author:
Elianel (IP: 82.235.206.174)
Timestamp:
12/20/08 13:12:34 (9 years ago)
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Documentation/fr_FR/book/1.2/13-I18n-and-L10n

    v4 v5  
    200200 
    201201 
     202 
    202203##Information dans la base de donnée## 
    203204 
    206207###Création du schéma localisé### 
    207208 
    208 Chaque table contenant des données a localisé doit être découpé en deux parties : une table qui ne contient pas de colonne i18n et une autre qui ne contient que les donnée localisé. Ces deux table sont liées par une relation un-a-plusieurs  
     209Chaque table contenant des données a localisé doit être découpé en deux parties : une table qui ne contient pas de colonne i18n et une autre qui ne contient que les donnée localisé. Ces deux table sont liées par une relation un-a-plusieurs. Cette configuration nous permet d'ajouter d'autre langues sans changer le model. Prenons comme exemple une table produit. 
     210 
     211Listing 13-6 - Sample Schema for i18n Data, in config/schema.yml 
     212 
     213     [YML] 
     214     my_connection: 
     215       my_product: 
     216         _attributes: { phpName: Product, isI18N: true, i18nTable: my_product_i18n } 
     217         id:          { type: integer, required: true, primaryKey: true, autoincrement: true } 
     218         price:       { type: float } 
     219      
     220       my_product_i18n: 
     221         _attributes: { phpName: ProductI18n } 
     222         id:          { type: integer, required: true, primaryKey: true, foreignTable: my_product, foreignReference: id } 
     223         culture:     { isCulture: true, type: varchar, size: 7, required: true, primaryKey: true } 
     224         name:        { type: varchar, size: 50 } 
     225 
     226Remarquez les attributs `isI18N` et `i18nTable` dans la première table et la colonne culture dans la seconde. Ce sont des amélioration Propel spécifique a symfony. 
     227 
     228Les automatisme de symfony le rende plus rapide a écrire. Si la table qui contient les données internationalisé a le même nom que la table principale avec le suffix `_i18n` et qu'elles sont associé au travers d'une colonne nommé `id`, vous pouvez omettre les colonne `id`  et `culture` dans la table `i18n` ainsi que les attributs spécifique de la table principale, symfony va les déduire. Cela signifie que symfony verra le schéma du Listing 13-7 de la même façon que celui du Listing 13-6. 
     229 
     230Listing 13-7 - Sample Schema for i18n Data, Short Version, in config/schema.yml 
     231 
     232     [YML] 
     233     my_connection: 
     234       my_product: 
     235         _attributes: { phpName: Product } 
     236         id: 
     237         price:       float 
     238       my_product_i18n: 
     239         _attributes: { phpName: ProductI18n } 
     240         name:        varchar(50) 
     241 
     242 
    209243}}}