В моем приложении я меняю язык, нажимая кнопки. Теперь я хочу изменить и сделать некоторые слова заглавными в зависимости от правил заглавных букв этого языка. Я попытался сделать это путем динамического изменения атрибута <html/>
lang. Мои языковые варианты турецкий и английский
Чтобы изменить тег html, я использую реагирующий шлем и для перевода слов, которые я использую реагировать-i18следующий . Похоже, что работает для некоторых кодов, но для некоторых слов применяются правила в верхнем регистре в зависимости от предыдущего языка
<Helmet htmlAttributes={{lang: currentlySelectedLanguage}} />
function getHeader(){
return[
{ id: headerOne, label: t("kit")}
]
}
t - это функция перевода из react-i18n
. Эта функция проверяет json-файл перевода файла currentSelectedLanguage и записывает его значение в качестве метки.
Элемент заголовка имеет text-transform:uppercase
в своем классе CSS.
В турецком языке есть два типа букв: i -> İ и ı -> I.
Когда я выбираю english
, происходит, но вместо записи KIT
я получаю KİT
. Что является заглавным правилом для турецкого, а не английского.
Когда я выбираю turkish
, происходит, но потом я получаю KIT
, но это должно быть KİT
, что также является правилом в верхнем регистре для английского