Если набор цветов более или менее фиксирован, наиболее эффективным и наиболее читаемым способом будет использование строковых констант в вашем приложении, а затем использование типа 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
).
Как обсуждалось в комментариях, расширение 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"
(как вы уже сделали).