我想使用 JavaScript toLocaleUpperCase() 方法来确保土耳其语的大写正确。但是,我不能确定土耳其语是否会被设置为用户的语言环境。
如果我确定字符串是土耳其语,现代浏览器中是否有办法在运行时设置语言环境?
(我在考虑土耳其语时遇到了这个问题,但实际上它可以是任何其他语言。)
我想使用 JavaScript toLocaleUpperCase() 方法来确保土耳其语的大写正确。但是,我不能确定土耳其语是否会被设置为用户的语言环境。
如果我确定字符串是土耳其语,现代浏览器中是否有办法在运行时设置语言环境?
(我在考虑土耳其语时遇到了这个问题,但实际上它可以是任何其他语言。)
那里实际上并没有什么东西,但我遇到了这个JavaScript setlocale 函数脚本,您可能会发现它很有用。
不幸的是,您无法在运行时设置语言环境。但是,所有的希望都不会丢失,npm 上有许多不错的库供您使用。例如,查看https://www.npmjs.com/package/upper-case和https://www.npmjs.com/package/lower-case ,它也适用于许多其他语言。
如果这太多了,您可以推出自己的简单库:
var ALL_LETTERS_LOWERCASE = 'abcçdefgğhıijklmnoöprsştuüvyz';
var ALL_LETTERS_UPPERCASE = 'ABCÇDEFGĞHIİJKLMNOÖPRSŞTUÜVYZ';
function toLowerCaseLetter(letter) {
letter_index = ALL_LETTERS_UPPERCASE.indexOf(letter);
return ALL_LETTERS_LOWERCASE[letter_index];
}
function toLowerCase(my_str) {
var lower_cased = ''
for (letter of my_str) {
lower_cased += toLowerCaseLetter(letter);
}
return lower_cased;
}
console.log(toLowerCase('ÇDEFGĞHIİJKLMNOÖPRSŞTUÜ'))
大写版本非常相似。
此选项在 2013 年可能不存在,但可能会帮助新访问者了解此主题:
根据 MDN(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toLocaleUpperCase),函数 toLocaleUpperCase 采用可选参数“locale”。
设置正确的语言标签本身就是一个主题(https://www.w3.org/International/articles/language-tags/)。最简单的例子看起来像这样
'selam dünya'.toLocaleUpperCase('tr'); // SELAM DÜNYA