我希望能够在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库可以满足这种需求?我认为它不仅应该正确地根据用户的语言环境进行转换,而且还应支持通过语言环境参数进行转换。因为开发人员无法访问用户配置的首选语言。