Проблема с Gettext с Nginx, PHP и докером

#php #docker #nginx #gettext

Вопрос:

В настоящее время я переключаюсь с Apache на Nginx в проекте, в котором я также настраиваю Docker. Однако, похоже, у меня возникают проблемы с тем, чтобы Gettext правильно подбирал переводы.

У меня есть один контейнер Nginx и один контейнер PHP (fpm), которые правильно работают вместе.

Gettext был установлен в контейнере PHP, и расширение отображается как включенное и доступно в коде.

Соответствующий языковой стандарт («sv-SE») был установлен в контейнере PHP. Запуск «Locale -a» возвращает следующее:

 C
C.UTF-8
POSIX
sv_SE
sv_SE.iso88591
sv_SE.iso885915
sv_SE.utf8
swedish
 

Тестирование кода для Gettext:

 setlocale(LC_ALL, $locale);
putenv("LC_ALL=$locale");
textdomain('main');
bindtextdomain('main', LOCALE_PATH);
bindtextdomain('urls', LOCALE_PATH);
bind_textdomain_codeset('main', 'UTF-8');
echo gettext("Yes");
 

$locale = «sv-SE», а LOCALE_PATH-это просто путь к переводам в контейнере Nginx, и, похоже, он выбран правильно.

Я действительно не понимаю, в чем здесь проблема, но текст не переведен, и сообщений об ошибках нет.

Есть какие-нибудь идеи?

Комментарии:

1. Что именно не работает с данным кодом? Что вы пытались сделать, чтобы это сработало?

2. Код «работает» как таковой в том смысле, что сообщений об ошибках нет, но текст не переводится, как в предыдущей среде Apache. Сначала у меня была проблема с другим языком, но теперь я понятия не имею, в чем проблема, но я думаю, что мне чего-то не хватает с Nginx или контейнером.