Я следую инструкциям из ответа BryanH здесь: эквивалент gettext () в библиотеке Intl? и пытаюсь реализовать локализацию (перевод) с помощью php-intl, но я продолжаю сталкиваться с той же проблемой, что и у этого человека: ResourceBundle возвращает NULL без каких-либо ошибок
Он упоминает, что создал файлы dat с помощью инструмента (с которым я не могу понять, как работать), в то время как человек в предыдущем ответе просто, похоже, использует файлы txt с расширением .res.
Как правильно реализовать локализацию с помощью php-intl и ResourceBundle, и что я делаю не так?
Цель состоит в том, чтобы иметь различные файлы данных на разных языках, чтобы я мог делать что-то похожее на
$t = new Translator();
$t->setResource(new \ResourceBundle('es', 'locales_folder/'));
$t->echo("somestring"); // "el stringo"
... очень похоже на человека в первом ответе. Кроме того, цель состоит в том, чтобы иметь легко редактируемые файлы, чтобы я мог передавать их переводчикам для исправлений, обновлений и так далее. Я понимаю, что могу легко сделать это с помощью специального решения с помощью простого текстового файла, который анализируется и сохраняется в кэш памяти при первом запросе, где он затем сохраняется и обслуживается без необходимости перечитывать файлы .dat, но я бы предпочел выберите предложенный маршрут здесь.
Изменить: просто чтобы получить это там - я успешно реализовал то же самое с gettext, и это было очень легко - за исключением одной ошибки, которая сохраняется в системах Linux (http://www.php.net/manual/en/book.gettext.php#91187) - но я бы хотел по возможности полагайтесь на более современное и всеобъемлющее расширение intl.