He estado buscando hacer aplicaciones adecuadas para múltiples lenguajes en C # ya que necesito trabajar en un pequeño proyecto donde este es el caso. He encontrado básicamente dos formas de hacer esto:
Establezca la propiedad Localizable de un formulario en verdadero, establezca la propiedad Language, complete todas las etiquetas y demás, y ya está. El mayor inconveniente que veo en esto es: cómo hacer que otras cosas que no forman parte de un formulario estén listas para varios idiomas (por ejemplo, ventanas emergentes, archivos de registro o ventanas, etc.).
Cree un archivo de recursos, por ejemplo 'Lang.en-us.resx' y uno para cada idioma, por ejemplo 'Lang.nl-nl.resx' y rellénelo con cadenas. El IDE parece generar una clase para mí automáticamente, por lo que en el código puedo usar Lang.SomeText. El mayor inconveniente que veo en esto es: para cada formulario, necesito configurar todas las etiquetas y otros subtítulos en el código (y no parece que el enlace de datos funcione con estos recursos).
Sin embargo, estoy seguro de que también existen otros métodos para hacer esto.
Entonces, ¿cuál es la mejor práctica? ¿Qué es lo más fácil para aplicaciones pequeñas (algunos formularios, conexión de base de datos, etc.) y qué escala mejor para aplicaciones más grandes?