有沒有辦法獲得正在運行的操作系統的語言?我希望能夠在開始時更改程序的語言。操作系統的語言?
操作系統的語言?
回答
也許
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它。 –