При создании очень универсальных c и многоразовых веб-компонентов на основе vanilla JS я застрял с частью локализации.
Для очень простых компонентов, которые получают свой текст через атрибуты, это не проблема, так как предоставленный текст должен быть уже на желаемом языке.
# label in English
<raised-button lable="Add Products"></raised-button>
# Arabic
<raised-button lable="أضف منتجات"></raised-button>
Проблема в том, что компонент немного сложнее и может иметь свои собственные сообщения и т. Д. c
<strong-password></strong-password>
этот компонент проверяет ввод пароля и отображает сообщения, которые вам нужны. по крайней мере, одна заглавная, одна строчная и одно целое число. [default, english]
Но чтобы сделать этот компонент универсальным для использования, он должен иметь возможность адаптироваться к языку страницы, на которой он используется.
Одни идеи, которые я имею в виду это добавить язык в качестве атрибута. точно так же как html tag
<strong-password lang='en'></strong-password>
Второй вариант, внутри компонента, используйте JS, чтобы проверить, установлена ли <html lang>
, затем автоматически используйте язык тегов html. Этот подход выглядит немного странно, потому что компонент javascript выглядит как выход за пределы своей досягаемости для самого родительского тега.
Поскольку веб-компоненты становятся популярными, я уверен, что уже есть какой-то стандартный способ решить эту проблему.
Может ли компонент каким-либо образом знать язык surrounding
?