Лучшая практика: локализация сайтов, содержащих HTML

0

Я работаю над сайтом Javascript MVC, используя Ember/Handlebars, который должен поддерживать интернационализацию. У меня уже есть код для выполнения переводов, но мне интересно, что лучше всего подходит для локализации больших блоков текста (mutliple paragraph, lists и т.д.). Лучше ли локализовать каждый абзац, элемент списка отдельно или содержать локализацию HTML?

HTML:

<p>{{i18n first_paragraph}}</p>
<p>{{i18n second_paragraph}}</p>
<ul>
  <li>{{i18n first_item}}</li>
  <li>{{i18n second_item}}</li>
  <li>{{i18n third_item}}</li>
</ul>

Файл локализации:

first_paragraph: 'some text',
second_paragraph: 'some text',
first_item: 'some text',
second_item: 'some text',
third_item: 'some text'

VS.

HTML:

{{i18n page_content}}

Файл локализации:

page_content: '<p>some text</p><p>some text</p><ul><li>some text</li><li>some text</li><li>some text</li></ul>

Спасибо за любой совет

  • 0
    Я не хочу видеть HTML в файлах локализации
Теги:
ember.js
internationalization

1 ответ

1
Лучший ответ

Первый вариант гораздо более канонический. Зачем? Потому что вы абстрагируете локализацию (которая выполняется логически для объектов данных: в случае локализации, строки) из семантической разметки.

Возможно, это не так важно сейчас, но что происходит, когда вы вдруг хотите поддержать другой язык? Если вы разделили свою локализацию на - в вашем случае - Handlebars Helper, вы можете добавлять переводы в массив внутри этого помощника. Если ваша локализация смешана с вашей разметкой, вам придется тралить через свои файлы локализации небрежным (отнимающим много времени и подверженным ошибкам) способом.

  • 0
    Спасибо, я склонялся к этому.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню