Как я могу сравнить несколько файлов .resx?

Как я могу сравнить содержимое двух (или более) больших файлов .resx? С сотнями пар имя / значение в каждом файле было бы очень полезно просмотреть комбинированную версию. Меня особенно интересуют пары имя / значение, которые присутствуют в нейтральной культуре, но также не указаны в версии для конкретной культуры.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
23
0
10 718
6
Перейти к ответу Данный вопрос помечен как решенный

Ответы 6

Вы можете использовать такой инструмент, как diff TortoiseSVN (если вы используете Windows). Просто выберите оба файла, щелкните правой кнопкой мыши и затем выберите «diff» в подменю TortoiseSVN.

Использование простого сравнения файлов XML может быть совершенно бесполезным, если совпадающие элементы не появляются в одном и том же порядке в обоих файлах. Я тоже искал специфичный для XML инструмент diff, но пока безуспешно.

А пока я использовал следующий обходной путь:

  • Откройте файлы .resx в Visual Studio.
  • Выберите все [Ctrl + A] и вырежьте [Ctrl + X] (это может занять некоторое время для больших файлов - проявите терпение)
  • Вставьте [Ctrl + V] и сохраните (это воссоздает файлы .resx, отсортированные по ключам)

Когда таким образом оба файла переупорядочиваются, обычное сравнение становится намного проще. Вы можете быстро найти недостающие ключи, бегло просматривая разницу.

Хотя сам по себе это не инструмент сравнения, Синхронизатор RESX может вам здесь помочь. Его основное использование - обновление локализованных файлов .resx новыми записями с нейтрального языка и удаление всех удаленных элементов.

Возможно, результат, сгенерированный с помощью ключа командной строки / v, будет тем, что вам нужно. В противном случае он поставляется с полным исходным кодом C#, поэтому, возможно, вы можете адаптировать его для своих нужд.

Синхронизатор RESX больше не выпускается, но сейчас они рекомендуют http://amanuens.com/, который можно использовать бесплатно до 31 декабря 2011 года и выглядит действительно потрясающе!

Luuk 03.11.2011 13:16

Ни один из этих инструментов сейчас недоступен

wh1t3cat1k 27.02.2018 18:44

Вы можете что-то закодировать, используя XML Diff. См. Использование XML Diff and Patch Tool в ваших приложениях.

Ответ принят как подходящий

Существует отличный бесплатный инструмент для редактирования файлов resx, где вы можете видеть сразу несколько языков и четко видеть, что отсутствует или лишнее - Редактор ресурсов Zeta

Действительно мило, Ты сэкономил мне полдня.

SPnL 08.11.2019 15:00

Для более новых версий Visual Studio (2010+) теперь есть расширение Visual Studio под названием ResXManager (созданное Tomenglert), которое отлично подходит для этого.

Он позволяет просматривать каждый ресурс на каждом языке рядом и выделять недостающие ресурсы. (Пример ниже взят со страницы загрузки расширения.)

Example From Extension Download Page

Другие вопросы по теме