有没有办法获得正在运行的操作系统的语言?我希望能够在开始时更改程序的语言。操作系统的语言?
操作系统的语言?
回答
也许
print(os.setlocale(nil));
可以给你所需要的信息,虽然你可能需要分析它一下。或者你可以访问正确的env var,例如
print(os.getenv("LANG"));
给en_GB.utf8我的系统上,这样你就可以推断出我的系统“谈判”的英语。
感谢您的回答,但当我使用os.getenv进行尝试时,我得到了“无”。有没有其他办法可以解决这个问题? – user1248569
envar没有设置,但在“* nix”系统上(它也可以在windows上,但是如果你看到零,它不是!);如果你在windows上,你可以尝试系统特定的方式,比如挖掘寄存器或者使用一些API(GetUserDefaultLangID应该做的);那么你的程序当然是不可移植的。我不知道lua是否有“win32”模块 – ShinTakezou
这是平台特定的,超出了Lua标准库的处理范围。在一些的情况下,你可能能够从getenv
或其他东西中找到它,但你不能以跨平台的方式依赖它。
你可以写一个小的扩展模块,你移植到你需要支持,让你为特定的操作系统信息的各种平台。
- 1. 检测操作系统语言
- 2. 使用C语言监视Windows操作系统的进程
- 3. Windows Phone 7的Programmin语言操作系统
- 4. 什么是开始写入的最佳语言操作系统
- 5. 建立操作系统所需的语言
- 6. 确定Windows 7中操作系统的默认语言?
- 7. 语言/操作系统之间的进程间通信
- 8. 如何获得操作系统的语言名称
- 9. php语言系统
- 10. GetSystemTimeZone英语非英语操作系统
- 11. 检测移动操作系统语言 - angularJs
- 12. 在Linux中如何表示操作系统语言
- 13. 更改“区域和语言”设置操作系统编程
- 14. 我应该学习操作系统特定语言还是Java?
- 15. Mobile操作系统,其应用程序和HTML语言5
- 16. 操作系统如何引入C语言来编写内核
- 17. 在java中获取操作系统语言
- 18. PHP获取当前客户端操作系统语言
- 19. 以解释语言编写操作系统
- 20. 系统语言环境语言设置
- 21. 在JavaScript中制作多语言系统
- 22. 操作系统
- 23. Windows 7日语操作系统
- 24. 多语言OpenCalais像系统?
- 25. 开发多语言系统
- 26. 语言管理系统
- 27. 更改系统语言C#
- 28. 基于语音的Windows Phone操作系统从一种语言翻译为另一种语言
- 29. 如何获取可可中的系统语言环境和系统语言
- 30. FASM操作系统
如果您想遵循国际化的最佳实践,您不应该在应用程序启动时更改***语言,您应该在应用程序启动时选择***用户的***语言。正如你从下面的答案中看到的,在LUA中没有这样做的标准多平台。更糟糕的是,操作系统本机功能和操作系统在Windows上的LCID存在差异。***不是你想要的,你正在寻找用户LCID(相信我,它可能会有所不同)。 –
是的,谢谢。我会让用户选择他最喜欢的语言,这是最好的解决方案。感谢你们所有人! – user1248569
不,这是最糟糕的解决方案。想象一下,系统中的所有应用程序都会这样做 - 它们基本上会迫使您始终选择语言(甚至在第一次启动时)。我不了解你,但在我的情况下,你会在这种情况下听到很多字母。操作系统具有区域首选项设置是有原因的 - 所以您可以选择一次您的首选项。就LUA而言,我很确定有人写了一些很好的脚本来检测语言,只是Google它。 –