Bug #53986 [Opn->Dup]: Weird behavior upon reading .mo files
| From: | cmb@php.net | Date: | Mon, 25 Jan 2021 12:04:29 +0000 |
| Subject: | Bug #53986 [Opn->Dup]: Weird behavior upon reading .mo files | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-231747@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=53986&edit=1
ID: 53986
Updated by: cmb@php.net
Reported by: cristian dot datculescu at gmail dot com
Summary: Weird behavior upon reading .mo files
-Status: Open
+Status: Duplicate
Type: Bug
Package: Gettext related
Operating System: CentOS 5.2
PHP Version: Irrelevant
-Assigned To:
+Assigned To: cmb
Block user comment: N
Private report: N
New Comment:
This is basically a duplicate of bug #53128.
Previous Comments:
------------------------------------------------------------------------
[2011-02-14 14:56:18] cristian dot datculescu at gmail dot com
<?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].
------------------------------------------------------------------------
[2011-02-12 08:40:36] kalle@php.net
Thank you for this bug report. To properly diagnose the problem, we
need a short but complete example script to be able to reproduce
this bug ourselves.
A proper reproducing script starts with <?php and ends with ?>,
is max. 10-20 lines long and does not require any external
resources such as databases, etc. If the script requires a
database to demonstrate the issue, please make sure it creates
all necessary tables, stored procedures etc.
Please avoid embedding huge scripts into the report.
------------------------------------------------------------------------
[2011-02-10 17:32:36] 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.
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=53986&edit=1