Это небольшой фрагмент кода из php manual:
putenv('LC_ALL=zh_CN');
setlocale(LC_ALL, 'zh_CN');
bindtextdomain('domain', './locale');
textdomain('domain');
echo gettext('Hello');
Что будет выводить 你好, как определено в файле domain.mo
, но проблема в том, что Apache работает, gettext()
всегда возвращает результат кэширования.
Если я изменил перевод Hello на 您好 в domain.mo
, он все равно выведет 你好.
Однако для этого существует исправление, изменяя аргумент domain
bindtextdomain()
и textdomain()
на новое имя. Как от "domain"
до "domain2"
. Но мне очень больно редактировать файл php каждый раз, когда я обновляю файл .mo
.
Есть ли лучший способ сделать это, например удалить некоторые папки или вызвать некоторые функции php для выполнения задания? Чтобы я мог написать немного script для этой цели.