Message D'erreur En Français En Local Et Anglais Sur Le Serveur

Bonjour,

En local j’ai wamp avec Yii et PostgreSQL. Quand j’ai une erreur d’insertion SQL par exemple le message suivant s’affiche

Par contre sur le serveur Ubuntu en production j’ai l’erreur en anglais


ERROR:  duplicate key value violates unique constraint "unique_nom_key"

J’ai configuré partout où je pouvais la locale en FR : mon serveur Ubuntu a pour locale LANG=“fr_FR.UTF-8”.

Dans le main.php de Yii j’ai indiqué


return array(

// define language

	'language'=>'fr',

	'sourceLanguage'=>'fr_fr',	

Savez-vous où dois-je configuré mon serveur pour afficher les erreurs en français comme sur ma machine en local ?

Salut tanebisse,

essaye d’initialiser ‘sourceLanguage’ à ‘en_us’ pour voir …D’après ce que j’ai pu comprendre, si sourceLanguage = language, Yii n’applique pas de traduction.

ciao

B)

J’ai testé mais comme je me doutais ça ne change rien, j’ai le même main.php sur mes deux environnements. Et j’ai bien les erreurs en français en local sur windows.

Peut-être au niveau de PHP mais je ne vois où je pourrais configurer ça.

Des idées ?

Salut !

Alors la première chose qui me vient à l’esprit, c’est le côté “case sensitive” du système de fichiers Unix, qui crée parfois des différences de fonctionnement avec le monde Windows. Si je ne me trompe pas, la valeur sourceLanguage est utilisée pour former le nom d’un fichier du framework, c’est à dire /chemin/fr_fr.php. Mais si c’est bien “fr_fr” que tu as saisi et non “fr_FR”, ce n’est visiblement pas ça le problème. M’enfin ça peut-être une piste.

Sinon, au niveau de ta config, tu utilises les fichiers de configuration de base ? Ou une extension style yii-environment ?

J’ai bien saisi fr_fr.

Par contre tu m’a mis sur la piste et j’ai cherché où povait se trouver le message d’erreur, et en fait il se trouve au niveau de PostgreSQL PostgreSQL\9.3\share\locale\fr\LC_MESSAGES dans un fichier MO sur Windows.

Je suis donc aller vérifier mon encodage sur Ubuntu avec la commande


psql -l

et j’obtiens


                                        List of databases

        Name         |   Owner    | Encoding |   Collate   |    Ctype    |   Access privileges

---------------------+------------+----------+-------------+-------------+-----------------------

 gitlabhq_production | git        | UTF8     | fr_FR.UTF-8 | fr_FR.UTF-8 |

 postgres            | postgres   | UTF8     | fr_FR.UTF-8 | fr_FR.UTF-8 |

 template0           | postgres   | UTF8     | fr_FR.UTF-8 | fr_FR.UTF-8 | =c/postgres          +

                     |            |          |             |             | postgres=CTc/postgres

 template1           | postgres   | UTF8     | fr_FR.UTF-8 | fr_FR.UTF-8 | =c/postgres          +

                     |            |          |             |             | postgres=CTc/postgres

 monappli            | monappli   | UTF8     | fr_FR.UTF-8 | fr_FR.UTF-8 |



Mon encodage est donc correct.

Je continue à chercher du côté de la configuration de PostgreSQL sur mon serveur

Après quelques recherches il s’avère que sur Ubuntu le fichier postgres-9.1.mo dans lequel se trouve la traduction des bug SQL se trouve dans /usr/share/locale/fr_FR/LC_MESSAGES, ce dernier n’étant pas présent je l’ai ajouté dans ce dossier. Hélas la traduction n’as toujours pas lieu !

D’autres idées ?