Co jakiś czas dochodziły mnie informacje o niedziałającym tłumaczeniu do WP, co najciekawsze zdarzyło się to także na jednej z moich instalacji WP. Na pewno nie była to kwestia samego pliku, a raczej ustawień serwera/php. Przez długi czas nie mogłem trafić nawet w pobliże sensownego wytłumaczenia, na rozwiązanie naprowadziła mnie dopiero rozmowa z Łukaszem i analiza ustawień kilku przykładowych hostingów. Co się okazało?
Jakiś czas temu był zgłaszany podobny problem na forum WP i do Ĺşródłowego pliku gettext.php wprowadzono zmiany pozwalające uruchomić lokalizację na 64-bitowych maszynach. I tu właśnie „leżał pies pogrzebany” – wprowadzona poprawka pozwoliła na działanie na części serwerów ale popsuła działanie na innych z PHP 5.0.2.
Tak więc, jeśli ktoś ma podobny problem z działaniem lokalizacji to proponuję spróbować zamienić w pliku wp-includes/gettext.php
(u mnie to linie 117–119) :
if ($magic == ($MAGIC1 & 0xFFFFFFFF) || $magic == ($MAGIC3 & 0xFFFFFFFF)) { // to make sure it works for 64-bit platforms
$this->BYTEORDER = 0;
} elseif ($magic == ($MAGIC2 & 0xFFFFFFFF)) {
na:
if ($magic == $MAGIC1 || $magic == $MAGIC3 ) {
$this->BYTEORDER = 0;
} elseif ($magic == $MAGIC2) {
jest szansa, że pomoże…
Z tego co widzę w kodzie WP 2.4, w nowej wersji nie trzeba będzie już tego zmieniać, błąd jest poprawiony.
2 odpowiedzi na “Niedziałające tłumaczenie WordPress”
Ten sposób działa, odkryłem go jakiś czas temu. 🙂 Pozdrawiam i życzę dalszej owocnej pracy.
wkońcu działa 🙂 wp 2.3.1 php 5.2.4 . A tak długo się męczyłem. Dzięki