2009-10-12 10 views
7

Tengo muchos archivos de recursos, en muchos idiomas diferentes.Capturar recursos locales que faltan en archivos resx

vamos a suponer, por ejemplo, estamos apoyando a 3 idiomas (en, de, fr), y tienen este archivo:

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

I desea detectar las apariciones cuando, por ejemplo, se solicita un recurso en de, pero falta y, por lo tanto, se revierte al idioma predeterminado. ¿Hay alguna forma de atrapar esto? (para poder registrarlo y luego agregar el recurso faltante).

Gracias

Respuesta

5

Si quiere ver las diferencias, use RESX Synchronizer. Es una aplicación de código abierto que puede sincronizar todas las diferencias desde la resx principal a la localizada (agrega y/o elimina claves en el recurso localizado).

Se puede utilizar de la siguiente manera para copiar todos los cambios de common.resx a common.de.resx:

resxsync /v common.resx common.de.resx 

la lista de opciones/v todos los cambios que es todas las claves que se han añadido a, o eliminarse de el de resx

+0

1 Automatización que parece sencillo y útil! – Greg

+0

Esta herramienta es discontinua. El proyecto al que se vincula como alternativa también se suspende. – LueTm

+0

el enlace no funciona más. – Dominik

0

No hay nada en la API de lectura de recursos existentes que expone retrocesos externamente. Sin embargo, System.Resources.ResourceManager no está sellado, por lo que no hay nada que le impida crear subclases para generar un evento cuando se requiera la restauración.

2

Suponiendo que todos los cambios en el archivo de recursos comienzan en desarrollo y llegan a la producción, parece un trabajo para algún tipo de análisis estático.

Uso Zeta Resource Editor porque resalta áreas que faltan traducciones y también marcadores de posición (por ejemplo, {0}).

Cuestiones relacionadas