Я создаю приложение на C # на основе WinForms / KryptonForms, и, поскольку приложение находится на полпути в разработке, я подумал, что лучше всего разобраться с локализацией.
Будучи прирожденным программистом PHP (и я знаю, что C # - это совершенно новый уровень), я бы создал класс для определения языка и автоматического назначения языкового пакета приложению. а затем используйте языковые объекты для доступа к значениям.
Мне интересно, могу ли я получить некоторые примеры самых простых / лучших способов сделать это.
Лично мне бы хотелось что-то в соответствии с настройками приложения
Где обычно я делал бы MyApplication.Properties.Settings.Default.SomeKey
Я надеялся на MyApplication.Languages.Current.ApplicationTitle
и MyApplication.Languages.en.ApplicationTitle
например.
Также было бы полезно загрузить только один ресурс на языковой файл для повышения скорости.
Таким образом, язык загружается на английском языке. Испанскому пользователю сообщается, что это приложение на английском языке. Он хотел бы изменить его на испанский язык, нажимает «Да», настройки обновляются, приложение перезапускается и загружает один испанский языковой пакет .
Что вы думаете об этом?
Edit:
Приложение основано на протоколах XMPP и использует библиотеки agsXMPP. Насколько я понимаю, каждый пользователь, отправляющий мне свое присутствие, должен также указать язык, на котором работает его система.
Так что, в принципе, если бы был какой-то способ «понять» факт сохранения одного слова и использования __("some string")
в моем приложении, было бы возможно, но пока я просто смотрю на текст GUI.