Я хочу преобразовать строки в нижний или верхний регистр в JavaScript в желаемый язык. Я думаю, что стандартные функции, такие как toUpperCase()
и toLocaleUpperCase()
, не удовлетворяют этой потребности. toLocale
функции не ведут себя так, как должны.
Например, в Safari 4, Chrome 4 Beta, Firefox 3.5.x в моей системе он неправильно преобразует строки с турецкими символами. Браузеры отвечают на navigator.language как "en-US"
, "tr"
, "en-US"
соответственно. Но нет способа установить пользовательский параметр Accept-Lang
в браузере, насколько я мог бы найти. Только Chrome дает мне "tr"
, хотя я настроил каждый браузер, предпочитаемый турецким языком. Я думаю, что эти настройки влияют только на HTTP-заголовок, но мы не можем получить доступ к этим настройкам с помощью JavaScript.
В документации Mozilla говорится:
Символы внутри строки преобразуются в... при уважении к текущему языку. Для большинства языков это будет возвращать то же, что...
Я думаю, что он действителен для турецкого, он не отличается от него как en или tr. На турецком языке он должен преобразовать "DİNÇ"
в "dinç"
и "DINÇ"
в "dınç"
или наоборот.
Есть ли какая-либо библиотека JavaScript, которая удовлетворяет эту потребность? Я думаю, что он должен не только правильно преобразовываться в локали пользователя, но также должен поддерживать преобразование через параметр locale. Потому что разработчики не могут получить доступ к настраиваемому пользователем языку.