Есть ли способ получить язык запущенной операционной системы? Я хотел бы иметь возможность изменить язык программы при ее запуске.Язык операционной системы?
ответ
Может
print(os.setlocale(nil));
может дать вам необходимую информацию, хотя вы, вероятно, нужно разобрать его немного. Или вы можете получить доступ к соответствующему env var, например.
print(os.getenv("LANG"));
дает en_GB.utf8 в моей системе, поэтому вы можете выводить мою систему «переговоры» по-английски.
Спасибо за ваш ответ, но я получаю «ноль», когда я пробую его с os.getenv. Может быть, есть еще один способ решить эту проблему? – user1248569
, что envar не установлен, а в системах «* nix» (он тоже может на окнах, но если вы видите нуль, это не так!); если вы находитесь в окнах, вы можете попробовать системный способ, например, копать регистр или использовать какой-либо API (GetUserDefaultLangID должен делать); то, конечно, ваша программа не будет переносимой. Я не знаю, есть ли у lua модуль «win32» – ShinTakezou
Эта платформа специфична и выходит за рамки стандартной библиотеки Lua. В некоторые случаях вы можете выяснить это из getenv
или что-то в этом роде, но вы не можете полагаться на это кросс-платформенным способом.
Вы можете написать небольшой модуль расширения, который вы переносите на различные платформы, необходимые для поддержки, которые предоставляют вам эту информацию для конкретной операционной системы.
- 1. Как получить текущий язык операционной системы?
- 2. JSF как игнорировать язык операционной системы, настраивая язык?
- 3. Определить язык операционной системы по умолчанию в Windows 7?
- 4. Что такое язык программирования для создания операционной системы или инструментов?
- 5. Как определить язык операционной системы (языковой стандарт) из кода Java
- 6. Проект курса для операционной системы
- 7. jQuery - определение операционной системы и версии операционной системы
- 8. Инструментарий разработки операционной системы
- 9. Транспортир - Возврат операционной системы
- 10. Операционной системы внутри
- 11. Разработка операционной системы
- 12. rubyrails, Обнаружение операционной системы
- 13. прерывания операционной системы
- 14. Семафоры операционной системы
- 15. Тупик операционной системы
- 16. Загрузка операционной системы
- 17. Отладка операционной системы
- 18. Словарь данных операционной системы
- 19. Безопасность новой операционной системы
- 20. Алгоритмы планирования операционной системы
- 21. Получение имени операционной системы
- 22. Размер операционной системы iOS
- 23. Материал операционной системы
- 24. Разработка операционной системы
- 25. Кэш операционной системы MySQL
- 26. Разработка пользовательской файловой системы для операционной системы
- 27. Размер блока файловой системы операционной системы?
- 28. Рекомендуем Изучить создание собственной операционной системы?
- 29. Получить версию операционной системы компьютера
- 30. Широкая языковая локализация операционной системы?
Если вы хотите следовать лучшим практикам i18n, вы не должны *** изменять *** язык при запуске приложения, вы должны выбрать *** язык пользователя *** при запуске приложения. Как видно из приведенных ниже ответов, в LUA нет стандартной многоплатформенной платформы. Хуже того, существуют различия в собственных функциях ОС и OS LCID на Windows *** - это не то, что вы ищете, вы ищете User LCID (поверьте мне, это может отличаться). –
Да, спасибо. Я позволю пользователю выбрать его любимый язык, это лучшее решение. Спасибо всем! – user1248569
Нет, это худшее решение. Представьте себе, что все приложения в вашей системе сделают это - они в основном заставят вас выбирать язык все время (или даже при первом запуске). Я не знаю о вас, но в моем случае вы услышите много ф-слов в таких обстоятельствах. Есть причины, по которым операционные системы имеют настройки региональных настроек, поэтому вы можете выбрать свои настройки один раз. Что касается LUA, я уверен, что кто-то написал хороший сценарий для обнаружения языка, а именно Google. –