Ho cercato di creare applicazioni adatte a più lingue in C # poiché ho bisogno di lavorare su un piccolo progetto in cui questo è il caso. Ho trovato fondamentalmente due modi per farlo:
Imposta la proprietà Localizable di un modulo su true, imposta la proprietà Language, compila tutte le etichette e così via, e il gioco è fatto. Il principale svantaggio che vedo in questo è: come fare altre cose che non fanno parte di un modulo pronto per più lingue (ad esempio finestre pop-up, file di registro o finestre, ecc.).
Crea un file di risorse, ad esempio "Lang.en-us.resx" e uno per ogni lingua, ad esempio "Lang.nl-nl.resx" e riempilo con stringhe. L'IDE sembra generare automaticamente una classe per me, quindi nel codice posso semplicemente usare Lang.SomeText. Il più grande svantaggio che vedo in questo è: per ogni modulo ho bisogno di impostare tutte le etichette e le altre didascalie nel codice (e non sembra che il data binding funzioni con queste risorse).
Sono sicuro, tuttavia, che ci siano anche altri metodi per farlo.
Allora, qual è la migliore pratica? Qual è il più semplice per le piccole applicazioni (pochi moduli, connessione al database, ecc.) E qual è la scalabilità migliore per le applicazioni più grandi?