|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2011-02-10 17:32 UTC] cristian dot datculescu at gmail dot com
Description: ------------ When changing the .mo files, the changes are not taken into consideration until reloading/restarting the webserver. The solution we are using at the moment is to make symlinks for the modified .mo files and version them (so basicly php ends up reading a default_5.mo file). But we have run into a bug that it is for us very hard to track: sometimes while changing the .mo files and updating the version, about 50% of the translation attempts fail, reverting to printing the original text. It continues to do so until the webserver is reloaded/restarted. I have managed to replicate the bug by doing this: create the sylink, restart server, delete the symlink. In some of the cases the weird behaviour will start to manifest. What is even weirder is that putting back the symlinks does not help, the translation requests continuing to be 50% failed. PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Oct 25 22:00:01 2025 UTC |
<?php // set the locale putenv("LANGUAGE=fr_FR"); setlocale(LC_ALL, "fr_FR"); $domain_new = "messages_1"; // bind the text domain bindtextdomain($domain_new, dirname(__FILE__) . DIRECTORY_SEPARATOR . "locale"); // set the new domain textdomain($domain_new); $strlen = array(); // the sample text echo gettext("Niste informatie de test!"); ?> The .mo file contains only the "Niste informatie de test!" phrase translated into "version1". This script runned for the first time will translate ok. Changing the name of the file to messages_2 and the translation to "version_2" [and updating the php as necessary], will lead to keeping the old translation [although a new domain has been set] or translating the text only about 50% [with a small deviation].