Mehrsprachigkeit - Problem Hauptprojekt - Komponente

30/09/2007 - 19:08 von Thomas Bauer | Report spam
Hallo,

ich habe ein Projekt mit mehreren Komponenten.
Nun muss übersetzt werden.

In der App.Config lege ich die Sprache fest
Hauptprojekt

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>


<!--<add key="language" value="de-DE" />-->

<!--<add key="language" value="en-GB" />-->
<add key="language" value="en-GB" />
</appSettings>
</configuration>

Language System.Configuration.ConfigurationManager.AppSettings["language"];
System.Threading.Thread.CurrentThread.CurrentUICulture = new
System.Globalization.CultureInfo(Language);
System.Threading.Thread.CurrentThread.CurrentCulture = new
System.Globalization.CultureInfo( Language );
Resources.Culture = new CultureInfo( Language );
InitializeComponent();

lblCulture1.Text = Resources.String1;
lblCulture2.Text = Resources.Culture.ToString();

Jetzt die Komponente:
ResourceManager RM;
string Language;
static string NL = Environment.NewLine;

public ucKundePanelBatchMask( )
{
Language System.Configuration.ConfigurationManager.AppSettings["language"];
Resources.Culture = new CultureInfo( Language );


#### Kompilieren geht
#### Nur kann ich das Hauptformular nicht mehr öffnen
#### Wer weiß Rat.
Vielen Dank.

Grüße Thomas




Der Zeichenfolgenverweis ist nicht auf einen Zeichenfolgeninstanz
festgelegt. Parametername: name
Ausblenden

bei System.Globalization.CultureInfo..ctor(String name, Boolean
useUserOverride)
bei System.Globalization.CultureInfo..ctor(String name)
bei RKunde.ucKundePanelBatchMask..ctor() in C:\Project\200709\RKunde
\ucKundePanelBatchMask.cs:Zeile 219.

Die Variable ucKundePanelBatchMask wurde nicht deklariert oder nicht
zugeordnet.
Ausblenden Bearbeiten

bei
System.ComponentModel.Design.Serialization.CodeDomSerializerBase.Error(IDesignerSerializationManager
manager, String exceptionText, String helpLink)
bei
System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeExpression(IDesignerSerializationManager
manager, String name, CodeExpression expression)
bei
System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeExpression(IDesignerSerializationManager
manager, String name, CodeExpression expression)
bei
System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeStatement(IDesignerSerializationManager
manager, CodeStatement statement)
 

Lesen sie die antworten

#1 Frank Dzaebel
30/09/2007 - 21:31 | Warnen spam
Hallo Thomas,

In der App.Config lege ich die Sprache fest



Wàre fragwürdig wegen der Rechte zur
Änderung auf diese Datei, wenn der User
es auch àndern soll. Wenn nur der Admin,
dann eher genau richtig.

Allerdings würde man hier wohl oft auch eine
typsichere Eigenschaft über Properties /
Einstellungen im Applikations-Scope verwenden.

Das Verfahren zur Lokalisierung kannst
Du Dir ggf. hier abschauen:

[Lokalisierung zur Laufzeit]
http://dzaebel.net/LocalizeRuntime.htm


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen