Dropdowns Translation » History » Version 17
ddurieux, 10/18/2010 09:36 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 | 17 | ddurieux | David : Chaque éléments de la dropdown hiérarchique est un objet, donc on aura un onglet de traduction pour chacun. Il faudra que je modifie les fonctions de dropdowns pour aller chercher les traductions (s'il y en a) lorsque l'option de traduction est activée dans la configuration. Si un champs n'est pas traduit, on prendra la valeur par défaut (c'est à dire celle comme aujourd'hui on a dans la table de l'intitulé) |
36 | 17 | ddurieux | |
37 | 16 | moyo | |
38 | 15 | ddurieux | h2. Ajout d'une option d'activation |
39 | 15 | ddurieux | |
40 | 15 | ddurieux | * Dans l'interface, dans le menu _Accueil > Configuration > Générale > Configuration générale_ |
41 | 15 | ddurieux | Activation des traductions d'intitulés : oui/non (avec le non par défaut) |
42 | 15 | ddurieux | |
43 | 15 | ddurieux | * Ajout d'un champs dans la table "glpi_configs" |
44 | 15 | ddurieux | <pre> |
45 | 15 | ddurieux | `dropdown_lang` tinyint(1) NOT NULL DEFAULT '0', |
46 | 15 | ddurieux | </pre> |
47 | 15 | ddurieux | |
48 | 15 | ddurieux | |
49 | 2 | ddurieux | Donc : |
50 | 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. |
51 | 1 | ddurieux | |
52 | 11 | walid | Un onglet "traduction" permettra de traduire ces champs dans la/les langues que l'on souhaite. |
53 | 12 | ddurieux | |
54 | 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. |