Gettext php, идея?

62
3

Я установил gettext на сервер и хочу использовать скрипт php.

Я использую 3 языка. Оригинальный сайт написан на английском языке..

Другие - французский и итальянский.

Я могу без проблем изменить язык на французский или итальянский. Но когда я хочу загрузить файл en_EN.mo, чтобы заменить исходный текст php файла, перевод не загружается.

Я пробую много чего.. Удалите файл, замените имя.. restart apache..

Ничего.. он отлично работает со всеми другими языками, но невозможно использовать английский файл.

Я создаю новый язык.. он тоже работает.. но никогда не en_EN..

Все мои файлы langage находятся в одном стиле дерева

    место действия
      en_EN
        LC_MESSAGES
          en_EN.mo
      а как
        LC_MESSAGES
          fr_FR.mo
      ...

если я принуждаю использовать..

$directory = './locale';
$domain ='en_EN';
$locale ='en_EN';

putenv('LC_ALL='.$locale);
setlocale(LC_ALL, $locale);
bindtextdomain($domain, $directory);
textdomain($domain);
bind_textdomain_codeset($domain, 'UTF-8');

безрезультатно..

Моя проблема в том, что я понятия не имею, как отладить его? Где я могу найти журнал или что-то в этом роде? Где видите ошибки?

Странно, что он работает со всеми lang, но не с английским. Я использую Poedit для создания своего файла, я создаю файл много раз.. так же, как и другие.

Поделитесь своей идеей :)

спросил(а) 2021-01-25T14:49:34+03:00 4 месяца, 3 недели назад
1
Решение
77

Я создаю новый язык.. он тоже работает.. но никогда не en_EN..

Вы неправильно понимаете, что означает языковая строка. Это не "2 буквы кода языка, за которыми следуют одни и те же буквы в верхнем регистре" (это не имеет никакого смысла, не так ли), это "код языка, за которым следует код страны" по ISO 3166. И "EN" - это не только не действительный код страны для любой страны, говорящей на английском языке, ее не является действительной страной вообще. Youre попросит WordPress работать под английским языком (предположительно), но только предоставив ему файлы переводов для языковой версии "Английский язык в готовой стране", который WP никогда не будет искать.

Ты думаешь об en_US.

ответил(а) 2021-01-25T14:49:34+03:00 4 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема