【发布时间】:2010-12-23 10:36:31
【问题描述】:
我想在我想要的语言环境中将字符串转换为 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 访问这些设置。
字符串中的字符在遵守当前语言环境的情况下转换为 ...。对于大多数语言,这将返回与 ...
我认为它对土耳其语有效,它配置为 en 或 tr 并没有什么不同。在土耳其语中,它应该将 "DİNÇ" 转换为 "dinç" 并将 "DINÇ" 转换为 "dınç",反之亦然。
是否有任何 JavaScript 库可以满足这种需求?我认为它不仅应该在用户的语言环境中正确转换,而且还应该支持通过语言环境参数进行转换。因为开发人员无法访问用户配置的首选语言。
【问题讨论】:
-
您可能有兴趣关注潜在的新 SE 站点的提议,包括 Turkish Language & Usage 和 StackOverflow in Turkish。
标签: javascript internationalization uppercase lowercase