#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