Обычный способ сделать это с Java через файлы свойств:
- один файл на языке
- каждый файл заполнен список пар ключ/сообщение
- файлы управляются с экземпляр класса ResourceBundle
См., например, Backing a ResourceBundle with Properties Files
Об использовании этого в html-страницах, это зависит от того, как вы их создаете.
UPDATE
О хранении данных, заполненных пользователем на любом языке.
настоятельно рекомендуется кодировать данные с уникальным набором символов, как правило, UTF-8, все по пути, а именно:
- из формы HTML, где пользователь вводит данные
- в HTML отображая их
- через db, используемый для их хранения.
Для html кодировка должна быть настроена на всех страницах.
Для дб, проверить, что набор символов, используемый по умолчанию, и при необходимости изменил его (если это возможно!)
Если на любом этапе процесса требуется изменение кодировки, то явное преобразование необходимо будет ,
В большинстве случаев Java имеет дело с кодировкой, не требуя явно выраженной кодировки. Но это не всегда так, как, например, с копией из массива String в байты.
Вы можете использовать google-api-translate-java для перевода –
Я не хочу переводить, я хочу отобразить точный текст, который вводится пользователем в текстовом поле, либо на английском, либо на любом другом языке. – Tiya
@Tiya: мне кажется, что ваш вопрос заключается не в том, как отображать i18n, а в том, как хранить данные db, заполненные пользователем, а затем отображать их точно так же, как они были введены. – atao