如何在JavaScript中设置区域设置,例如toLocaleUpperCase()?

9

我想使用JavaScript的toLocaleUpperCase()方法,确保土耳其语的大写字母正确。但我不能确定土耳其语是否设置为用户的区域设置。

在现代浏览器中,如果我确定字符串是土耳其语,是否有一种方法在运行时设置区域设置?

(我遇到了这个问题,当时考虑的是土耳其语,但实际上它可以是任何其他语言。)

3个回答

1
很抱歉,您无法在运行时设置语言环境。不过别灰心,npm 上有许多优秀的库可供使用。例如,请查看 https://www.npmjs.com/package/upper-casehttps://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Ü'))

非常相似的是大写版本。

好主意。只需要加入一些错误检查,以避免对于无法识别的字符(如空格、标点符号等)返回“未定义”的情况。 - pkExec

1

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接