Изменить язык из динамически содержимого с помощью Javascript - PullRequest
1 голос
/ 21 января 2011

Мой проект должен поддерживать различные языки для GUI (испанский, английский, немецкий и т. Д.). Я использую CodeIgniter, поэтому у меня нет проблем с представлениями PHP с использованием Language Class. Я могу загрузить некоторые ранее определенные переменные в PHP для создания представлений на разных языках.

Проблема возникает здесь:

Некоторые функции (многие из них на самом деле) используют Javascript: персонализированное контекстное меню для некоторых элементов, различные DIV, созданные динамически, и т. Д. Большинство этих функций создаются динамически, поэтому я не могу знать выбранный язык создайте много дублированного кода, по одному для каждого языка, но это слишком излишне).

Мне нужно найти способ перевести этот контент на новый язык, ранее выбранный пользователем.

Например:

Пользовательский щелчок правой кнопкой мыши и контекстное меню имеют следующие параметры (создаются динамически с использованием Javascript):

  • Привет
  • Прощай

Когда пользователь меняет язык страницы на «Испанский», контекстное меню должно отображать:

  • Hola
  • Adios

Есть ли способ сохранить некоторые переменные со всеми именами на разных языках, а затем загрузить для создания меню?

Извините за большой пост. Я надеюсь, что все могут помочь мне или принести мне небольшой совет.

Ответы [ 2 ]

1 голос
/ 21 января 2011

есть несколько систем, которые нужно использовать, когда вы хотите, чтобы i18n (сокращение от «интернационализация») работало как на стороне сервера, так и на стороне клиента Javascript.

это пример, который я нашел для PHP и JavaScript: http://doc.silverstripe.org/sapphire/en/topics/i18n

Я сделал это на PHP, Ruby и Python. В общем, есть один способ сделать это. Вы создаете библиотеку текста. эта библиотека имеет указатели на конкретные фрагменты этого текста. В вашем коде вы используете этот указатель для ссылки на этот фрагмент текста. То, что в приведенном выше примере предоставляет вам способ создать библиотеку в PHP, которая может быть скомпилирована в эквивалент JavaScript, который вы можете вызвать в JavaScript. По сути, он полностью отделяет копирайтинг и другой текст от кода.

Надеюсь, это поможет вам на вашем пути.

0 голосов
/ 21 января 2011

Есть ли способ сохранить некоторые переменные со всеми именами на разных языках, а затем загрузить их для создания меню?

Я предполагаю, что вы спрашиваете, можете ли вы сохранить этипредпочтения пользователя?

Если это так, сохраните его как файл cookie на компьютере пользователя.


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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...