Я хочу преобразовать строки в нижний или верхний регистр в 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. Потому что разработчики не могут получить доступ к настраиваемому пользователем языку.