2016-01-19 12 views
16

Sto mantenendo un programma scritto in C# 2.0 (VS2005). Ha codebase piuttosto grande, molti autori, è quasi un'app interna, ma al momento è anche uno dei nostri clienti che la usa.C# .NET e traduzione di componente esterno

L'app è multilingue e la traduzione delle proprie forme e componenti funziona OK. Ma c'è un componente - DockPanel Suite di WeifenLuo e ho bisogno di tradurlo in un'altra lingua (zh-CN) - uno dei ragazzi cinesi ha tradotto il file di risorse nella sua lingua e ora sto cercando di includerlo e utilizzarlo nell'applicazione, ma non ci riesco, anche se l'intera app è in cinese, questo componente rimane in inglese. Il file di risorse non tradotto può essere trovato su github: https://github.com/dockpanelsuite/dockpanelsuite/blob/master/WinFormsUI/Docking/Strings.resx

Come fare? Ho provato quasi tutto, approccio naïf (solo resgen e compilato per al, e provando ad usarlo come assembly satellite - anche provato ilmerge), quindi aprendo DockPanelSuite in VS2013 Express, aggiungendo resx come Strings.zh-CN.resx, ma niente funziona e tooltips e altri sono ancora in inglese.

provato anche fare un passo-in con debugger, ma debugger rotto a tooltip = Strings.DockPaneCaption_ToolTipAutoHide ma non passo in getter definito Strings.Designer.cs

mi sono bloccato e non so, come fare quella. Qualche idea? Grazie mille!

+0

Non capisco del tutto il tuo problema, ma una cosa che potrei aiutare a spiegare: "non è entrata in crisi" - non lo farà. Per eseguire il debug di setter o getter, è necessario un modo speciale. Controlla questo: http://stackoverflow.com/questions/4408110/debugging-automatic-properties – Ian

+0

Il problema è che non riesco a "inserire" un'altra risorsa linguistica nel componente (in una DLL separata). Usa ancora l'inglese. –

risposta

6

sono stato in grado di tradurre un'etichetta nell'applicazione demo in un processo molto semplice:

  • git clone biblioteca
  • Copia & incollare il file Strings.resx
  • rinominare la copia in Strings .PT-BR.resx
  • Compile, è fatta (nel mio caso, ho tradotto il "Chiudi" label)

enter image description here

tuttavia, questo progetto contiene molti file Strings.resx

enter image description here

Hai cambiato tutti loro? O hai appena cambiato uno? (forse uno sbagliato, come ho fatto al mio primo tentativo)

+0

Ciao, grazie per la risposta. Buon punto, tuttavia se non sbaglio, ogni "tema" va a separare .dll e non li sto usando. Ma, naturalmente, ho provato ad aggiornare ogni resx per vedere da quali stringhe di file provengono e provengono dal file che sto usando e cercando di tradurre (aggiunto qualche breve stringa id a ogni "Auto hide" in risorse e La stringa WinFormsUI è stata visualizzata nella mia applicazione). –

Problemi correlati