Поймать пропущенные локальные ресурсы в файлах resx - PullRequest
7 голосов
/ 12 октября 2009

У меня много файлов ресурсов на разных языках.

Предположим, например, что мы поддерживаем 3 языка (en, de, fr) и имеем этот файл:

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

Я хотел бы обнаружить случаи, когда, например, ресурс запрашивается в de, но отсутствует и поэтому возвращается к языку по умолчанию. Есть ли способ поймать это? (чтобы я мог войти в него и позже добавить отсутствующий ресурс).

Спасибо

Ответы [ 4 ]

5 голосов
/ 20 октября 2009

Если вы хотите отследить различия, используйте RESX Synchronizer . Это приложение с открытым исходным кодом, которое может синхронизировать все различия от основного ресурса до локализованного (оно добавляет и / или удаляет ключи в локализованном ресурсе).

Вы можете использовать его для копирования всех изменений из common.resx в common.de.resx:

resxsync /v common.resx common.de.resx

Параметр / v выводит список всех изменений, а именно всех ключей, которые были добавлены или удалены из de resx.

2 голосов
/ 20 октября 2009

Предполагая, что все изменения файлов ресурсов начинаются в разработке и переходят в рабочий процесс, это похоже на работу для некоторого вида статического анализа.

Я использую Zeta Resource Editor , потому что он выделяет области, в которых отсутствуют переводы, а также заполнители (например, {0} ).

1 голос
/ 10 июня 2013

У Resharper есть эта замечательная особенность

ReSharper предупреждает вас, когда значение определенного ресурса не переопределены в конкретной культуре

0 голосов
/ 19 октября 2009

В существующем API чтения ресурсов нет ничего, что могло бы создавать внешние резервы. Однако System.Resources.ResourceManager не запечатан, поэтому ничто не мешает вам создать его подкласс для вызова события, когда необходим запасной вариант.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...