2009-10-12 10 views
7

Ich habe viele Ressourcen-Dateien, in vielen verschiedenen Sprachen.Catch fehlende lokale Ressourcen in Resx-Dateien

Hier können zum Beispiel nehmen wir an drei Sprachen unterstützen (en, de, fr), und haben diese Datei:

common.resx common.de.resx common.fr.resx

I möchte Ereignisse erkennen, wenn zum Beispiel eine Ressource in de angefordert wird, aber fehlt und somit zur Standardsprache zurückkehrt. Gibt es eine Möglichkeit, dies zu erfassen? (So ​​kann ich es protokollieren und später die fehlende Ressource hinzufügen).

Dank

Antwort

5

Wenn Sie die Unterschiede erfassen möchten, verwenden Sie RESX Synchronizer. Es ist eine Open-Source-App, die alle Unterschiede von Hauptresx zu lokalisierten synchronisieren kann (es fügt hinzu und/oder entfernt Schlüssel in der lokalisierten Ressource).

Sie können es wie folgt alle Änderungen von common.resx zu kopieren common.de.resx:

resxsync /v common.resx common.de.resx 

Die Option/v Liste alle Änderungen, die alle Schlüssel ist, die hinzugefügt oder entfernt wurden aus das de resx.

+0

+1 Automatisieren das scheint einfach und nützlich außer Kraft gesetzt ist! – Greg

+0

Dieses Tool ist nicht mehr aktuell. Das Projekt, auf das es als Alternative verweist, wird ebenfalls eingestellt. – LueTm

+0

Link funktioniert nicht mehr. – Dominik

0

Dort in der bestehenden Ressource Lesen API nichts, was Fallbacks extern aussetzt. System.Resources.ResourceManager ist jedoch nicht versiegelt, daher gibt es nichts, was Sie daran hindern könnte, ein Ereignis zu erzwingen, wenn ein Fallback erforderlich ist.

2

Unter der Annahme, dass alle Änderungen der Ressourcendatei in der Entwicklung beginnen und ihren Weg in die Produktion finden, scheint dies eine Aufgabe für eine Form der statischen Analyse zu sein.

Ich verwende Zeta Resource Editor, weil es Bereiche, die Übersetzungen fehlen und auch Platzhalter (z. B. {0}) markiert.

Verwandte Themen