2010-02-01 3 views
12

Ich habe eine String-Tabelle in meiner .rc-Datei erstellt, die meine englischen Strings enthält - jetzt muss ich eine weitere String-Tabelle für eine andere Sprache hinzufügen.Visual Studio-Ressourceneditor: Es kann nur eine String-Tabelle geben?

Wenn ich versuche zu tun:
Ressource hinzufügen ... -> String Table -> New

ich den Fehler: „es nicht mehr als eine Instanz dieser Art sein kann“.

Ich weiß, ich kann die .rc-Datei in Notepad öffnen und Sprache hinzufügen, aber wie soll ich dies aus Visual Studio tun?

Antwort

11

Ja, es ist sehr gut versteckt. Doppelklicken Sie im Projektmappen-Explorer auf die RC-Datei, um das Fenster Ressourcenansicht zu öffnen. Erweitern Sie den Knoten String-Tabelle, klicken Sie mit der rechten Maustaste auf "String-Tabelle" und wählen Sie "Kopie einfügen". Das bringt Sie zur Sprachauswahl-Kombination.

+0

Danke, hab es geschafft! – Warpin

0

Am Ende kann es nur einen geben. (Entschuldigung, ich konnte nicht widerstehen).

Es wird Ihnen erlauben, eine Tabelle hinzuzufügen, wenn es nicht die selbe Sprache wie die aktuelle Tabelle ist, Versuchen Sie, die Sprache in Ihrer aktuellen Zeichenkettentabelle zu etwas anderem "Baskisch" vielleicht zu ändern, dann fügen Sie die neue Tabelle hinzu und ändern dann es zurück.

+0

Wenn Sie die Sprache der Kopie zurück ändern, wird sie mit der Originalversion zusammengeführt. –

+0

Ich habe nicht gesagt, um eine Kopie zu machen. –

6

Wie nobugz erwähnt, können Sie nur für eine String-Tabelle pro Sprache haben.

Aber zurück zum großen Bild: Es ist eine schlechte Praxis, mehrere Sprachen in einer ausführbaren Datei/DLL zu speichern. Die "beste gängige Praxis" ist die Verwendung von Nur-Ressourcen-DLLs, eine pro Sprache. Dann haben Sie die volle Kontrolle darüber, welche Sprache geladen ist (andernfalls lässt Windows die Entscheidung für Sie treffen).

Nehmen Sie auch einen Blick auf die MUI API (http://msdn.microsoft.com/en-us/goglobal/bb978454.aspx, vor allem die „Erste Schritte“ auf der linken Seite)

+0

Apropos beste aktuelle Praxis: Muss ich jeden Dialog noch einmal in jeder Sprache definieren? Kann ich innerhalb eines Dialogfelds nicht auf Ressourcen für Zeichenfolgetabellen verweisen? – OneWorld

0

eine Datei neue Ressource erstellen und neue String-Tabelle mit der gleichen Sprache hinzuzufügen. Ich hoffe, es wird funktionieren ... Ich habe es versucht .. !!!

Verwandte Themen