PHP bindtextdomain не работает

Если набор цветов более или менее фиксирован, наиболее эффективным и наиболее читаемым способом будет использование строковых констант в вашем приложении, а затем использование типа SET MySQL [] в ваших запросах. При использовании типа SET с FIND_IN_SET MySQL использует одно целое число для хранения всех значений и использует двоичную "and" операцию для проверки наличия значений, которые являются более эффективными, чем сканирование разделенной запятыми строки .

В SET('red','blue','green'), 'red' будет храниться внутри 1, 'blue' будет храниться внутри, так как 2 и 'green' будут храниться внутри 4. Значение 'red,blue' будет сохранено как 3 (1|2) и 'red,green' как 5 (1|4).

2
задан uncovery 18 January 2019 в 11:35
поделиться

1 ответ

Как обсуждалось в комментариях, расширение gettext опирается на стандартные спецификаторы локали, содержащие код языка и региона, то есть ja_JP для «японского языка в Японии» или с указанной кодировкой ja_JP.utf-8. Даже если есть псевдоним, такой как japanese, реализация gettext на PHP не принимает это. Обратите внимание, что языковой стандарт должен быть установлен и настроен в вашей системе.

Спецификаторы языка и региона можно найти в language-subtag-registry IANA

Этот код уже должен работать для японского языка:

$dir     = 

Как обсуждалось в комментариях, расширение gettext опирается на стандартные спецификаторы локали, содержащие код языка и региона, то есть ja_JP для «японского языка в Японии» или с указанной кодировкой ja_JP.utf-8. Даже если есть псевдоним, такой как japanese, реализация gettext на PHP не принимает это. Обратите внимание, что языковой стандарт должен быть установлен и настроен в вашей системе.

Спецификаторы языка и региона можно найти в language-subtag-registry IANA

Этот код уже должен работать для японского языка:

[110]

Не забудьте также переименуйте ваш каталог в locale/ja_JP.utf8. Убедитесь, что ваши файлы .po хранятся в правильной кодировке, т.е. в этом примере UTF-8, и содержат строку

"Content-Type: text/plain; charset=UTF-8\n"

(как вы уже сделали).

SERVER['DOCUMENT_ROOT'] . '/locale'; $domain = 'messages'; $locale = 'ja_JP.utf8'; $codeset = 'UTF-8'; setlocale( LC_MESSAGES, $locale); bindtextdomain($domain, $dir); textdomain($domain); bind_textdomain_codeset($domain, $codeset);

Не забудьте также переименуйте ваш каталог в locale/ja_JP.utf8. Убедитесь, что ваши файлы .po хранятся в правильной кодировке, т.е. в этом примере UTF-8, и содержат строку

"Content-Type: text/plain; charset=UTF-8\n"

(как вы уже сделали).

0
ответ дан Quasimodo's clone 18 January 2019 в 11:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: