Dropdowns Translation » History » Version 16

moyo, 10/18/2010 09:29 AM

1 1 ddurieux
h1. Traductiondropdowns
2 1 ddurieux
3 1 ddurieux
Depuis la 0.78, les intitulés sont tous des objets.
4 1 ddurieux
5 1 ddurieux
Pour pouvoir gérer les traductions de ces champs, je propose un onglet pour les traduire : 
6 1 ddurieux
7 1 ddurieux
8 15 ddurieux
h2. Une table glpi_dropdowns_lang : 
9 1 ddurieux
10 1 ddurieux
<pre>
11 1 ddurieux
CREATE TABLE `glpi_dropdowns_lang` (
12 1 ddurieux
   `id` int(11) NOT NULL AUTO_INCREMENT,
13 4 ddurieux
   `items_id` int(11) NOT NULL DEFAULT '0',
14 1 ddurieux
   `itemtype` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
15 1 ddurieux
   `field` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
16 1 ddurieux
   `lang` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
17 1 ddurieux
   `traduction` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
18 1 ddurieux
   PRIMARY KEY (`id`)
19 1 ddurieux
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
20 1 ddurieux
</pre>
21 1 ddurieux
22 1 ddurieux
avec un exemple : 
23 1 ddurieux
24 1 ddurieux
<pre>
25 1 ddurieux
INSERT INTO `glpi_dropdowns_lang` 
26 4 ddurieux
(`id`, `items_id`, `itemtype`, `field`, `lang`, `traduction`) VALUES
27 4 ddurieux
(1, 10, 'ComputerType', 'name', 'fr_FR', 'Portable');
28 1 ddurieux
</pre>
29 1 ddurieux
30 1 ddurieux
Là, on traduit le champ name de glpi_computertypes qui est Laptop
31 1 ddurieux
32 1 ddurieux
33 16 moyo
MoYo : Comment tu fais pour les dropdowns hierarchique pour recontruire l'arborescence ?
34 16 moyo
35 16 moyo
36 15 ddurieux
h2. Ajout d'une option d'activation
37 15 ddurieux
38 15 ddurieux
* Dans l'interface, dans le menu _Accueil  > Configuration >  Générale > Configuration générale_
39 15 ddurieux
Activation des traductions d'intitulés : oui/non (avec le non par défaut)
40 15 ddurieux
41 15 ddurieux
* Ajout d'un champs dans la table "glpi_configs"
42 15 ddurieux
<pre>
43 15 ddurieux
`dropdown_lang` tinyint(1) NOT NULL DEFAULT '0',
44 15 ddurieux
</pre>
45 15 ddurieux
46 15 ddurieux
47 2 ddurieux
Donc : 
48 1 ddurieux
Les champs des tables intitulés serait aurait une valeur definie par l'utilisateur (par exemple tous les champs en anglais) et on gère la traduction pour chacun de ces champs en base MySQL. c'est la référence absolue (pour les règles / dictionnaires par exemple) ou si la traduction n'existe pas en russe, il affiche cette valeur.
49 1 ddurieux
50 11 walid
Un onglet "traduction" permettra de traduire ces champs dans la/les langues que l'on souhaite.
51 12 ddurieux
52 12 ddurieux
Lors de l'affichage de ces champs, on irait chercher les champs dans la langue de l'utilisateur si l'option est activés dans la configuration.