Лучшие практики для интернационализации / локализации с помощью lit-element / lit-html

#localization #internationalization #polymer #lit-element #lit-html

#локализация #интернационализация #полимер #lit-элемент #lit-html

Вопрос:

Спасибо за чтение.

Я новичок в polymer / lit-element, lit-html. Я начал с PWA starter kit. И, к моему удивлению, в нем используются не полимерные элементы, а lit-элементы.

Я попытался применить поведение app-localize-по умолчанию изhttps://polymer-library.polymer-project.org/3.0/docs/apps/localize .

Безуспешно.

Использование mixinBehaviors с PageViewElement, похоже, приводит к сбою.

 mixinBehaviors([AppLocalizeBehavior], PageViewElement) 
  

В конечном итоге возникает ошибка типа:

 TypeError: this.constructor._classProperties is undefined
  

Я видел, что в то же время несколько библиотек начали процветать, как:

https://github.com/andreasbm/lit-translate

Или:

https://github.com/hamedasemi/lit-element-i18n

Итак, я должен признать, что теперь я теряюсь в том, что я должен сделать, чтобы выполнить интернационализацию или локализацию с помощью lit-element и lit-html.

Есть ли какая-либо рекомендуемая библиотека, я пропустил сообщение о том, какой официальный рекомендуемый способ?

Заранее благодарю вас и желаю приятного дня.

Ответ №1:

Я не думаю, что существует официальное решение, и lit-element еще слишком молод, чтобы увидеть, как среди пользователей возникает консенсус, поэтому есть много решений, каждое из которых пытается это сделать.

Со своей стороны, я протестировал (не в производстве, только на небольших сторонних проектах) lit-translate, который вы цитируете, и https://vaadin.com/directory/component/t2ymi18n-element

Кажется, что оба работают довольно хорошо. Второй поддерживается командой, которая серьезно относится к своим компонентам. Я работал с некоторыми из них раньше, и у меня никогда не возникало каких-либо важных проблем. Я не знаю, кто поддерживает первый, но, похоже, это ответы на проблемы и регулярные обновления, поэтому они тоже кажутся серьезными.

Я думаю, вы можете пойти и попробовать тот, который кажется более простым в использовании, и не стесняйтесь добавлять отзывы о них, это будет полезно всем 🙂

Ответ №2:

Google опубликовал официальное решение с выпуском Lit 2.0, доступное в npm как @lit/localize . Вот документация:https://lit.dev/docs/libraries/localization