стратегии локализации веб-компонентов vanilla JS [customElement v1] - PullRequest
1 голос
/ 20 февраля 2020

При создании очень универсальных 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?

...