Domanda

Sembra che ci sia un buon modo per localizzare un'applicazione WPF.MSDN sembra pensare che inquinano il mio XAML con x:Uid's, generazione di file CSV e quindi la generazione di nuovi assembly (utilizzando il loro codice di esempio!) è la risposta.Peggio, questo processo non affrontare come localizzare le immagini, i blob binari (ad esempio, file PDF), o stringhe che sono incorporati nel codice.

Così, in che modo ritieni di localizzare un'applicazione che:

  1. Contiene diverse assemblee
  2. Contiene immagini e altri blob binari (es.:PDF docs) che devono essere localizzate
  3. Ha stringa di dati che non è in XAML (es.: MessageBox.Show("Hello World");)
È stato utile?

Soluzione

Non sono un esperto qui, ma "sporcare" il codice xaml con x:Uid non è peggio di "sporcare" il codice Windows Form con tutte le stringhe tabella sciocchezze che dovete fare per la localizzazione di loro.

Da quanto ho capito, WPF apps supporta ancora "tutto il Quadro CLR risorse, compresa la stringa di tabelle, immagini, e così via." il che significa che si può avere di risorse localizzate.

Naturalmente, sarebbe molto più semplice se si è creata un'estensione di markup che ha gestito gran parte di questa sciocchezza per voi. Potete trovare un esempio di qualcuno che fa questo qui. E ecco un altro, simile soluzione.

Altri suggerimenti

Si dovrebbe avere uno sguardo a questo articolo e codice disponibile qui.Esso descrive i vari modi di localizzazione di applicazioni WPF, utilizzando LocBaml, le estensioni di markup personalizzati, o le proprietà associate.IMHO la soluzione migliore è quella di utilizzare le estensioni di markup e Resx risorse.Il codice contiene un framework di localizzazione per farlo.

È possibile utilizzare il vecchio "ResX" di file che supportano tutti i vostri scenari di cui.Come questo può essere realizzato in un'applicazione WPF è spiegato qui:

WPF Application Framework (WAF) => Vedi Localizzazione Campione

provare Gnu GetText utilità e applicazioni di supporto.Non generare C# classi in base intorno ResourceManager e ResourceSets, e, naturalmente, si possono riutilizzare le traduzioni in altre parti dell'applicazione - ad esempio pagine web, il codice nativo, o iphone, ecc

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top