(locale)
| 195 | // Collect keys from a locale (main + generated/dynamic sections) |
| 196 | // --------------------------------------------------------------------------- |
| 197 | function loadLocaleKeys(locale) { |
| 198 | const main = JSON.parse( |
| 199 | readFileSync(resolve(LOCALES_DIR, `${locale}.json`), "utf-8") |
| 200 | ); |
| 201 | const dynamic = JSON.parse( |
| 202 | readFileSync(resolve(LOCALES_DIR, `dynamic/${locale}.json`), "utf-8") |
| 203 | ); |
| 204 | const sqlReview = JSON.parse( |
| 205 | readFileSync(resolve(LOCALES_DIR, `sql-review/${locale}.json`), "utf-8") |
| 206 | ); |
| 207 | const subscription = JSON.parse( |
| 208 | readFileSync(resolve(LOCALES_DIR, `subscription/${locale}.json`), "utf-8") |
| 209 | ); |
| 210 | const sections = mergeMessages( |
| 211 | { |
| 212 | "sql-review": sqlReview, |
| 213 | subscription, |
| 214 | }, |
| 215 | main |
| 216 | ); |
| 217 | return new Set( |
| 218 | Object.keys( |
| 219 | flatten({ |
| 220 | ...sections, |
| 221 | dynamic, |
| 222 | }) |
| 223 | ) |
| 224 | ); |
| 225 | } |
| 226 | |
| 227 | // --------------------------------------------------------------------------- |
| 228 | // Check 1: Missing keys (in code but not in locale) |
no test coverage detected