| 219 | 217 | uniqueMissingData.sort((a, b) => a.language.localeCompare(b.language) || a.key.localeCompare(b.key)); |
| 220 | 218 | |
| 221 | 219 | // Map to { language: { key: value } } |
| 222 | | - let missingDataMap = {}; |
| 220 | + const missingDataMap = Object.fromEntries(uniqueMissingData.map(({ key, value }) => [key, value])); |
| 223 | | - for (const { key, value } of uniqueMissingData) { |
| 224 | | - missingDataMap[key] = value; |
| 225 | | - } |
| 226 | 221 | |
| 227 | 222 | console.log('`Missing Translations (${uniqueMissingData.length}):'`); |
| 228 | 223 | console.table(uniqueMissingData); |
| 229 | 224 | console.log('`Full map of missing data (${Object.keys(missingDataMap).length}):'`); |
| 230 | 225 | console.log(missingDataMap); |
| 231 | 226 | |
| 232 | 227 | if (trackMissingDynamicTranslate) { |
| 233 | | - console.log('Dynamic translations missing:'); |
| 228 | + const trackMissingDynamicTranslateMap = Object.fromEntries(trackMissingDynamicTranslate.map(key => [key, key])); |
| 234 | | - console.log(trackMissingDynamicTranslate); |
| 229 | + console.log(`Dynamic translations missing (${Object.keys(trackMissingDynamicTranslateMap).length}):`); |
| 230 | + console.log(trackMissingDynamicTranslateMap); |
| 235 | 231 | } |
| 236 | 232 | |
| 237 | 233 | toastr.success(`Found ${uniqueMissingData.length} missing translations. See browser console for details.`); |