| 219 | uniqueMissingData.sort((a, b) => a.language.localeCompare(b.language) || a.key.localeCompare(b.key)); | 217 | uniqueMissingData.sort((a, b) => a.language.localeCompare(b.language) || a.key.localeCompare(b.key)); |
| 220 | | 218 | |
| 221 | // Map to { language: { key: value } } | 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 | console.log('Missing Translations:'); | 222 | console.log(`Missing Translations (${uniqueMissingData.length}):`); |
| 228 | console.table(uniqueMissingData); | 223 | console.table(uniqueMissingData); |
| 229 | console.log('Full map of missing data:'); | 224 | console.log(`Full map of missing data (${Object.keys(missingDataMap).length}):`); |
| 230 | console.log(missingDataMap); | 225 | console.log(missingDataMap); |
| 231 | | 226 | |
| 232 | if (trackMissingDynamicTranslate) { | 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 | toastr.success(`Found ${uniqueMissingData.length} missing translations. See browser console for details.`); | 233 | toastr.success(`Found ${uniqueMissingData.length} missing translations. See browser console for details.`); |