У меня есть 2 файла en.json и xx.json с переводами в приложении Angular. Обычной идеей является создание перевода в обоих файлах для многоязычного приложения, но иногда некоторые программисты добавляют перевод только в один из этих файлов, потому что они тестируют приложение только на своем языке.
Я ищу инструмент, который проверяет одинаковую структуру в обоих файлах JSON, иначе он выдает ошибку и помогает с добавлением при создании переводов для второго языка. Знаете ли вы какие-либо передовые методы, инструменты или плагины для этого? Я использую Вебсторм.

Попробуйте POEditor. Это бесплатно до 1000 строк.
Вы можете проверить Pootle (http://pootle.translatehouse.org/index.html) или Poedit (https://poedit.net) или POEditor (https://poeditor.com/)
Поскольку у вас уже установлен Angular (что означает, что у вас есть NPM и Node.Js), вы можете найти несоответствия в ваших JSON-файлах перевода с помощью скрипта. Вот как это выглядит
const fs = require('fs');
// Define your file paths here
const files = ['./english.json', './russian.json']
// Read contents and parse JSON
const filesWithKeys = files.map(f => ({
name: f,
content: JSON.parse(fs.readFileSync(f, 'utf8'))
}));
// Gather all the keys used in all files in one array
const allKeys = filesWithKeys.map(f => Object.keys(f.content)).flat();
// Find the missing keys by file
const missingKeysByFile = filesWithKeys.map(f => ({
name: f.name,
missingKeys: allKeys.filter(k => !(k in f.content))
})).filter(f => f.missingKeys.length > 0);
// Print the result
missingKeysByFile.forEach(f => {
console.info(`File "${f.name}" is missing keys [ ${f.missingKeys.join(' ')} ]`);
});
File "english.json" is missing keys [ appTitle, contentHeader ]
File "russian.json" is missing keys [ usernameHint ]
Примечание. Не работает для вложенных JSON.
attranslate — современный инструмент, специально разработанный для сравнения и синхронизации JSON-файлов: github.com/fkirc/attranslate