Ho aggiunto il multi-linguaggio utilizzando il breve articolo qui sotto.C# Creazione di un'impostazione per il linguaggio multilingue
Quando si aggiunge ad esempio la lingua tedesca si avrà questi file: formMain.resx formMain.de-DE.resx formMain.Designer.cs formMain.cs
Nel primo file si avrà risorse per la lingua neutra, come stringhe, immagini, ..
Quindi ora è necessario aggiungere anche le risorse per le stringhe utilizzate nel codice. Aggiungi un nuovo file di risorse e chiamalo formMain.Strings.resx Quindi inserirò il nome, coppia di valori per ogni stringa che deve essere tradotta. Quando aggiungi il file di risorse, viene automaticamente digitato perché un altro file con nome formMain.Strings.Designer.cs viene rigenerato automaticamente ad ogni chiusura di resx designer.
Aggiungi un'altra risorsa con nome formMain.Strings.de-DE.resx. Aggiungi la stessa chiave del nome dalla risorsa precedente e modifica semplicemente il valore con le parole tedesche corrispondenti. Ora per accedere alla risorsa creata dalla fonte sarà così.
MessageBox.Show (formMain_Strings.SameStringName);
Tuttavia, ho cambiato la lingua tailandese. Tutto funziona correttamente quando eseguo la mia app in VS.
Tuttavia, non appena aggiungo un progetto di installazione e l'installazione sul computer client, non cambierà la lingua in tailandese e si limiterà alla lingua predefinita.
Quindi ho aggiunto i file di risorse e la TH-TH dll all'impostazione del progetto. E ho ancora lo stesso problema.
Packaging file 'Lang.Strings.resx'...
Packaging file 'MultiLanguage.resources.dll'...
Packaging file 'MultiLanguage.exe'...
Packaging file 'Lang.Strings.th-TH.resx'...
Come tutto funziona correttamente quando si esegue in Visual Studio. C'è qualcosa che devo fare per farlo funzionare una volta che è stato installato. Tutte le proprietà per ogni file che ho conservano il valore predefinito.
Molte grazie,
=========
static void Main()
{
System.Threading.Thread.CurrentThread.CurrentUICulture =
new System.Globalization.CultureInfo("th-TH");
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
Se possibile, è meglio abbandonare Setup Project non appena umanamente possibile e passare a Windows Installer XML (WiX). Ho spedito un prodotto utilizzando un progetto di installazione una volta. Mai più. Mai, mai più. – Promit
Ho appena dato una rapida occhiata a WiX e non riesce nemmeno a includere la DLL localizzata delle risorse nel pacchetto di installazione. Sembra che le risorse localizzate in qualsiasi tipo di progetto di installazione semplicemente non funzioni (sto lavorando a un progetto VC++ qui). – galmok