Я занимаюсь разработкой приложений, подходящих для нескольких языков на С#, поскольку мне нужно работать над небольшим проектом, где это так. Я нашел в основном два способа сделать это:
Задайте для свойства Localizable значение true, задайте свойство Language, заполните все ярлыки и т.д., и вы выполните "done". Главный недостаток, который я вижу в этом, заключается в следующем: как сделать другой материал, который не является частью готовой формы для нескольких языков (например, всплывающие окна, файлы журналов или окна и т.д.).
Создайте файл ресурсов, например "Lang.en-us.resx" и один для каждого языка, например "Lang.nl-nl.resx", и заполните его строками. IDE, похоже, автоматически создает класс для меня, поэтому в коде я могу просто использовать Lang.SomeText. Самый большой недостаток, который я вижу в этом, заключается в следующем: для каждой формы мне нужно установить все метки и другие субтитры в коде (и, похоже, привязка данных к этим ресурсам не работает).
Я уверен, однако, что есть и другие способы сделать это.
Итак, что такое лучшая практика? Что проще для небольших приложений (несколько форм, подключение к базе данных и т.д.) И какие масштабы лучше всего подходят для более крупных приложений?