Prática recomendada para fazer um aplicativo de vários idiomas em c # / WinForms? [fechadas]

Eu tenho procurado fazer aplicações adequadas para vários idiomas em C # desde que eu preciso trabalhar em um projeto pequeno, quando este é o caso. Eu encontrei basicamente duas maneiras de fazer isso:

Defina a propriedade Localizable de um formulário como true, defina a propriedade Language, preencha todos os rótulos e tal e você está "pronto". A principal desvantagem que vejo nisso é: como fazer outras coisas que não fazem parte de um formulário pronto para vários idiomas (por exemplo, janelas pop-up, arquivos de log ou janelas, etc.).

Crie um arquivo de recursos, por exemplo, 'Lang.en-us.resx' e um para cada idioma, por exemplo, 'Lang.nl-nl.resx' e preencha-o com Strings. O IDE parece gerar uma classe para mim automaticamente, portanto, no código, posso usar o Lang.SomeText. A maior desvantagem que vejo nisso é: para cada formulário, preciso definir todos os rótulos e outras legendas no código (e não parece que a vinculação de dados funcione com esses recursos).

Tenho certeza, no entanto, que existem outros métodos para fazer isso também.

Então, qual é a melhor prática? O que é mais fácil para aplicações pequenas (alguns formulários, conexão de banco de dados, etc.) e quais são as melhores para aplicações maiores?

questionAnswers(3)

yourAnswerToTheQuestion