Connectez vous pour participer aux forums ou laisser vos commentaires.Si vous ne possédez pas de compte, vous pouvez en créer un.
Connectez-vous!
Vendredi, 10 Février 2012
Communauté Forum Archives - Pour les développeurs Copix : Localisation et langue par défa...
Bienvenue Invité   
 Sujet :Copix : Localisation et langue par défaut.. 03.02.2006 (14:49) 
Frédéric Mossmann
Inscription: 21.04.2009 (15:20)
Messages: 182
Lieu: CAP-TIC Strasbourg
Bonjour, Pour les personnes qui désirent ajouter de nouvelles langues à Iconito, et suite à une très interessante discussion que j\'ai eu avec Benat il y a quelques jours, j\'ai posé quelques question à Gérald, l\'un des développeurs de Copix. Nous avions un problème lors de traductions incompletes (des oublis ou plus simplement des nouveautés d\'Iconito), avec un message d\'erreur de Copix qui ne trouvait pas la bonne traduction. Gérald nous propose une astuce simple et efficace, afin d\'eviter ces erreurs : changer les fichiers francais (ex: monmodule_fr.properties) en fichier par défaut (ex: monmodule.properties). Si une traduction n\'existe pas, au lieu d\'un message d\'erreur, il y aura temporairement le texte en français. C\'est \"moins pire\" qu\'une erreur de Copix (qui aurait été en français de toute façon...). On profitera de la migration en Copix 2.3 (compatible PHP4.4 et PHP5) pour modifier les fichiers de langue. Bien évidement, cela ne touche que la langue française, et pas vos éventuelles traductions. Frédéric.
 Sujet :Re: Copix : Localisation et langue par défaut.. 16.02.2006 (02:20) 
benat
Inscription: 09.12.2005 (01:45)
Messages: 23
Lieu
Bonjour, Je reviens un peu en retard sur ce sujet : [quote]...changer les fichiers francais (ex: monmodule_fr.properties) en fichier par défaut (ex: monmodule.properties)[/quote] J\'ai essayé mais ça n\'a pas l\'air de fonctionner. En fait Copix échoue à \"compiler\" les fichiers de ressources de la forme [i]monmodule.properties[/i], lorsque le code $lang est absent. Plus précisément, les fichiers [i]monmodule.properties[/i] ne sont pas \"compilés\" correctement par Copix, et génèrent des fichiers de clés vides dans [i]Iconito/temp/cache/resource_compile/[/i] qui ensuite provoquent une erreur de CopixI18N.class.php (return null en ligne 458). A bientôt, Beñat
 Sujet :Re: Copix : Localisation et langue par défaut.. 16.02.2006 (10:13) 
Frédéric Mossmann
Inscription: 21.04.2009 (15:20)
Messages: 182
Lieu: CAP-TIC Strasbourg
Bonjour Beñat et merci pour ce retour... Je vais voir avec l\'équipe de Copix, et plus précisément Gérald qui m\'a donné cette astuce. Peut-être est-ce limité à Copix 2.3, mais ca ne semblait pas être le cas. Pour l\'instant, on continue donc avec des fichiers localisés. Le changement sera trivial par la suite. J\'espère que ca ne vous choquera pas que le français soit la langue par défaut (il en faut bien une... :) Frédéric.
 Sujet :Re: Copix : Localisation et langue par défaut.. 16.02.2006 (12:43) 
Anonymous

Invité
[quote]J\'espère que ca ne vous choquera pas que le français soit la langue par défaut (il en faut bien une...[/quote] Le latin aurait apporté une touche de classicisme originale. Le français c\'est très vu mais, tant pis, on fera avec :)
 Sujet :Re: Copix : Localisation et langue par défaut.. 16.02.2006 (12:48) 
benat
Inscription: 09.12.2005 (01:45)
Messages: 23
Lieu
Et voilà que j\'ai oublié de me connecter avant de répondre... Je revendique le message absolument sans intérêt ci-dessus. Beñat
 Sujet :Re: Copix : Localisation et langue par défaut.. 16.02.2006 (14:48) 
Frédéric Mossmann
Inscription: 21.04.2009 (15:20)
Messages: 182
Lieu: CAP-TIC Strasbourg
La langue d\'Iconito, c\'est presque un détail. PHP6 apportera le développement en unicode. On va enfin avoir des noms de fonction en grec ou en chinois simplifié... ;) Frédéric.
 Sujet :Re: Copix : Localisation et langue par défaut.. 16.02.2006 (15:16) 
benat
Inscription: 09.12.2005 (01:45)
Messages: 23
Lieu
[quote]La langue d\'Iconito, c\'est presque un détail.[/quote] Entièrement d\'accord, je dirais même [i]...tout à fait un détail[/i]. Plus sérieusement, voici quelques remarques issues de mes premières approches de la localisation d\'Iconito. Comme déjà signalé plus haut, les fichiers ressources de la forme [i]monmodule.properties[/i] ne sont pas lus correctement par Copix lors de l\'étape de \"compilation\", ce qui génère des fichiers de clés vides dans [i]Iconito/temp/cache/resource_compile/[/i]. Ensuite, l\'appel de CopixI18N::get en 447 retourne une valeur $string nulle, ce qui fait entrer en 448 et provoque une sortie d\'erreur Copix en 458 (le code concerné de CopixI18N.class.php est reproduit ci-dessous). Sur le fond, je ne vois pas l\'inconvénient à garder tous les fichiers de ressources sous leur forme actuelle [i]monmodule_xx.properties[/i], y compris donc ceux de la langue par défaut (le français dans notre cas). Ce défaut est fixé dans [i]Iconito/project/config/copix.conf.php[/i] en une seule fois, [code]$config->default_language = \'fr\'; $config->default_country = \'FR\';[/code] ce qui est une bonne chose : en supprimant le code \"_fr\" des fichiers ressources français on devrait gérer à la main la cohérence d\'un tel renommage avec le positionnement des paramètres de langue par défaut dans le fichier de configuration de Copix. Ce serait donc à mon avis, et si rien ne m\'échappe, plutôt un recul qu\'une avancée. Il me semble plus important de s\'intéresser à la gestion des contenus multilingues : avec le système actuel, un changement de langue n\'affecte que [i]l\'interface[/i] des modules localisés, pas leurs contenus. Or dans une école bilingue certains contenus doivent être créés dans les deux langues de travail : par exemple, c\'est le cas des diverses notes d\'information envoyées aux parents. Il est donc nécessaire de penser la manière de créer, de stocker et de restituer ces contenus multilingues. Des solutions, à mon avis intéressantes, ont été implémentées par certains CMS, et on pourrait probablement s\'en inspirer. Mais j\'avoue ne pas avoir regardé de manière plus attentive l\'offre de Copix dans ce domaine. Vos avis sur cette question? Beñat [code] /** * get the translation */ function get ($key, $country){ $country = strtoupper ($country); if (!in_array ($country, $this->_loadedCountries)){ $this->_loadLocales ($this->lang, $country); } // check if the key exists for the specified country if (isset ($this->_messages[$country][$key])){ return $this->_messages[$country][$key]; }elseif ($country !== strtoupper ($this->lang)){ // the key doesn\'t exist for the specified country, // so get the key of the native country return $this->get ($key, $this->lang); }else{ 083: return null; } } //try to get the message from the bundle. 447: $string = $bundle->get ($key, $country); 448: if ($string === null){ //if the message was not found, we\'re gonna //use the default language and country. if ($lang == $GLOBALS[\'COPIX\'][\'CONFIG\']->default_language && $country == $GLOBALS[\'COPIX\'][\'CONFIG\']->default_country){ if ($key == \'copix:copix.error.i18n.keyNotExists\'){ $msg = \'Can\\\'t find message key (which should actually be THIS message): \'.$key; }else{ $msg = CopixI18N::get (\'copix:copix.error.i18n.keyNotExists\',$key); } 458: trigger_error ($msg, E_USER_ERROR); } ...[/code]
 Sujet :Re: Copix : Localisation et langue par défaut.. 16.02.2006 (15:32) 
Frédéric Mossmann
Inscription: 21.04.2009 (15:20)
Messages: 182
Lieu: CAP-TIC Strasbourg
ReBonjour Beñat, [quote]Ce serait donc à mon avis, et si rien ne m\'échappe, plutôt un recul qu\'une avancée.[/quote] Je sais bien que pour vous, avoir un message en français c\'est pas une solution. Mais on parle bien du message affiché si la traduction n\'existe pas dans la langue souhaitée. En gros, si vous avez une interface en espagnol, et que la traduction n\'est pas aussi à jour qu\'Iconito, les nouveaux messages n\'existent pas encore en espagnol. Dans ce cas, je pense qu\'il est préférable (même si ce n\'est clairement pas une solution idéale) d\'avoir une phrase non localisée qu\'une erreur Copix. Il faut bien comprendre que c\'est une solution de \"dépannage\" en attendant la traduction, pour éviter de se retrouver avec un ENT bloqué. A voir avec Copix 2.3 si ca convient mieux... Pour ce qui est des contenus multilingues, c\'est beaucoup plus compliqué, et ca demande à la fois une configuration précise des utilisateurs (langues préférées, avec un ordre de préférence) et des rédacteurs. Pour l\'instant, les message envoyés aux parents peuvent avoir deux parties avec deux langues, par exemple, comme ca se fait souvent lors d\'annonces. Gérer cela automatiquement implique aussi d\'avoir les contenus en ligne (en plus du message envoyé aux parents, par exemple). En effet, si le message n\'est pas recu dans la bonne langue, il faut avoir un moyen d\'en choisir une nouvelle, et donc de télécharger le nouveau contenu. [b]Question :[/b] Est-ce que les mails peuvent gérer des parties en plusieurs langues, affichées de façon alternatives en fonction de l\'utilisateur (comme c\'est déjà le cas avec les versions texte brut et HTML) ? Ca serait peut-être une piste... Frédéric.
 Sujet :Re: Copix : Localisation et langue par défaut.. 16.02.2006 (16:44) 
benat
Inscription: 09.12.2005 (01:45)
Messages: 23
Lieu
Bonjour, [quote]Je sais bien que pour vous, avoir un message en français c\'est pas une solution.[/quote] Désolé, je ne me suis pas fait comprendre. Avoir un message non localisé (donc en français) au lieu d\'une erreur Copix n\'est absolument pas un problème pour moi (ni pour personne je pense :) ), bien au contraire. Mon point de vue est en fait qu\'une erreur Copix n\'est [i]pas[/i] vraiment un problème, car nous sommes entrain de parler de messages de substitution pour des localisations incomplètes, c\'est à dire de détails de fonctionnement \"hors normalité\" qui ont vocation à être réglés, et donc à disparaître, le plus vite possible. De mon point de vue, une localisation \"pas aussi à jour qu\'Iconito\" n\'a tout simplement pas vocation à faire partie du tarball mis en distribution, et dans cette optique les erreurs sont plutôt une aide en phase de test : elles rendent les défauts bien visibles. Le fonctionnement des fichiers [i]monmodule.properties[/i] (sans extension de langue \"_xx\") n\'étant a priori pas acquis (du moins c\'est le résultat de mes essais), je suggérais seulement de laisser les choses en l\'état et d\'orienter les réflexions sur des sujets qui me paraissent plus intéressants sur le fond. Maintenant, c\'est vrai que la gestion des contenus multilingues pose des problèmes sérieux, et la mixité de ces contenus est une solution simple et parfaitement raisonnable, à mon avis aussi. D\'autant que, à la différence de certaines situations (textes de l\'Union Européenne par exemple), il faut bien comprendre que tous les contenus ne sont [i]pas[/i] censés être disponibles dans chaque langue, il s\'en faut même de beaucoup : dans les écoles bilingues, chaque langue a ses propres domaines d\'utilisation (et ses enseignants), et seuls certains contenus sont censés exister dans les deux langues. La gestion de tout ceci pose donc des questions spécifiques pour Iconito qui, me semble-t-il, doivent être abordées à la lumière des modes de fonctionnement des écoles concernées, et non pas en termes de \"préférences\" des utilisateurs, qu\'ils soient élèves, enseignants ou parents. J\'espère que ceci éclaire un peu mieux mon précédent message. Beñat
 Sujet :Re: Copix : Localisation et langue par défaut.. 16.02.2006 (17:09) 
Frédéric Mossmann
Inscription: 21.04.2009 (15:20)
Messages: 182
Lieu: CAP-TIC Strasbourg
Re, Ok, on partait peut-être sur des pistes différentes... désolé... [quote="benat":35zo7a4b]De mon point de vue, une localisation \"pas aussi à jour qu\'Iconito\" n\'a tout simplement pas vocation à faire partie du tarball mis en distribution[/quote] Cela, pour les langues distribuées avec Iconito. Mais n\'importe qui peut faire sa propre traduction sans vouloir la mettre dans les sources originales. Si jamais on fait une mise à jour d\'Iconito (sans cette langue) et qu\'il y a un nouveau message non traduit en page d\'accueil, tout est bloqué... [quote="benat":35zo7a4b]les erreurs sont plutôt une aide en phase de test : elles rendent les défauts bien visibles.[/quote] Il fait quand même tomber dessus pour voir l\'erreur. Et si c\'est dans un cas très rare, on risque de ne jamais le détecter... Le plus simple est de comparer les fochiers de langue, en se basant sur la langue par défaut. Je peux vous faire un petit script Unix, mais en gros, on prend le fichier personnel et le français, on coupe ce qui est après le premier mot (en vérifiant les retour à la ligne) et on compare. Une autre astuce est d\'ajouter tous les fichiers de langues les une derrière les autres (en coupant au premier mot), de trier (sort sous Unix) et de compter les doublons (uniq -c). Si tout va bien, il y a autant de doublons sur chaque code que de fichiers de langue. Si un code n\'est pas au même niveau, c\'est qu\'il manque une traduction... [quote="benat":35zo7a4b]...orienter les réflexions sur des sujets qui me paraissent plus intéressants sur le fond.[/quote] Les idées d\'orientation sont les bienvenues. Nous ne pouvons pas vous garantir que tout sera fait, ni vous dire quand, mais vous avez au moins la certitude que si on ne le fait pas, vous avez le droit de le faire (ou le faire faire) vous même. Peut-être que vos idées donnerons des idées à d\'autres développeurs... on n\'attend que ca ! :) [quote="benat":35zo7a4b]dans les écoles bilingues, chaque langue a ses propres domaines d\'utilisation (et ses enseignants), et seuls certains contenus sont censés exister dans les deux langues.[/quote] Pour les contenus, rien n\'interdit l\'utilisateur d\'écrire en plusieurs langues ou publier plusieurs documents en fonction des traductions. Si ca peut vous aider, sachez qu\'il est techniquement possible d\'avoir plusieurs modules identiques au même endroit. Par exemple : avoir trois blogs pour une école, l\'un en français, l\'autre en espagnol, le dernier (mais non des moindres...) en basque. Ce n\'est pas de base, mais il suffit d\'ajouter la fonction de création de nouveau module. Le reste est déjà normalement en place. Est-ce une piste dans votre cas ? [quote="benat":35zo7a4b]J\'espère que ceci éclaire un peu mieux mon précédent message.[/quote] Nous n\'avons clairement pas les même contraintes linguistiques que vous, et il faut nous expliquer un peu plus en détail qu\'à d\'autres... Mais on arrive finalement à se comprendre... ;) Frédéric.
 Sujet :Re: Copix : Localisation et langue par défaut.. 16.02.2006 (18:05) 
benat
Inscription: 09.12.2005 (01:45)
Messages: 23
Lieu
ReRe :) Bon, je pense qu\'on est en fait d\'accord : [ul]1. si l\'astuce de Gérald (fichiers ressources par défaut [i]monmodule.properties[/i]) fonctionne, elle apporte une souplesse indiscutable dans le cas de localisations incomplètes; j\'ai juste voulu communiquer que, pour l\'avoir essayée, elle ne me semble pas marcher dans la version actuelle de Copix; 2. le script de vérification me paraît être une très bonne idée, je peux l\'écrire aussi; il peut également être rendu utilisable en ligne, sur le site d\'Iconito, de manière à ce que les responsables de traductions \"privées\" puissent vérifier leur travail sur un validateur \"officiel\" (à la manière des validateurs [X]HTML, CSS, XSD du W3C par exemple); c\'est encore dans mes cordes. [/ul] Pour le reste, quand je parle d\'\"orienter\" la réflexion, je n\'ai bien sûr pas la prétention de \"piloter\" les développements :D Et je n\'attends aucun engagement ni garantie, logiciel libre oblige (euh, justement [i]pas[/i]). Merci pour vos réponses et à la prochaine fois :) Beñat
Page #