0

В следующем вопросе о многоязычном дизайне веб-сайтов предлагается использовать «предварительный процессор» PHP для генерации локализованных файлов PHP. Генерация будет запускаться только один раз и при каждом обновлении базового содержимого.Работа с файлами Javascript на многоязыковой настройке сайта

https://stackoverflow.com/questions/19249159/best-practice-multi-language-website/19425499#19425499

я в настоящее время адаптации сайта для локализации с использованием этого подхода, но мне интересно, какие предложения людей для работы с файлами JavaScript в этих рамках.

ответ

0

Я работаю с ASP.NET, поэтому я не эксперт PHP. Но, как и в PHP, у нас есть файлы ресурсов (.resx вместо .po), и то, что мы делаем, автоматически добавляет все записи в определенном файле .resx на страницу как переменные Javascript.
Итак, у нас есть все локализованные файлы в одном месте и в формате. Хорошо работает для нас.

Я видел подобные идеи для PHP:
Translation in JavaScript like gettext in PHP?

Может быть, Есть готовые решения там, в противном случае вы просто должны построить что-то, что бы сделать это:

var var1 = "<?php echo gettext("Var1 text"); ?>"; 
+0

Благодаря Remy, стратегия I используя прямо сейчас на самом деле препроцессы и кэшированные локализованные версии на уровне файлов, а не вызывающие gettext на уровне строк. Для каждого php-файла требуется localizer.php, содержащая функцию translate(). Каждый раз, когда вызывается другой файл php, вызов ссылается на возвращаемую переменную (локализованное имя файла) из функции перевода. Полная информация содержится в ответе SO, связанного в моем вопросе. Итак, мне интересно, должен ли я обрабатывать файлы .js так же, как .php, или если лучшая практика указывает на альтернативный подход. –

+1

Лично, если вы используете эту предварительную обработку для своего PHP-файла, я бы использовал что-то подобное для ваших .js-файлов. Множество библиотек Javascript поставляется с файлом для каждой культуры. Например. translations.en-us.js – Remy