| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- import Path from 'path'
- import fs from 'fs'
- import Senitize from './sanitize.js'
- import { fileURLToPath } from 'node:url'
- import { loadLocale } from './utils.js'
- const __dirname = fileURLToPath(new URL('.', import.meta.url))
- const { sanitize } = Senitize
- async function main() {
- let ok = true
- const base = Path.join(__dirname, '/../../locales')
- for (const name of await fs.promises.readdir(base)) {
- if (name === 'README.md') continue
- const language = name.replace('.json', '')
- const locales = loadLocale(language)
- for (const key of Object.keys(locales)) {
- const want = locales[key]
- const got = sanitize(locales[key])
- if (got !== want) {
- if (want === 'Editor & PDF' && got === 'Editor & PDF') {
- // Ignore this mismatch. React cannot handle escaped labels.
- continue
- }
- ok = false
- console.warn(`${name}: ${key}: want: ${want}`)
- console.warn(`${name}: ${key}: got: ${got}`)
- }
- }
- }
- if (!ok) {
- throw new Error('Check the logs, some values changed.')
- }
- }
- try {
- await main()
- process.exit(0)
- } catch (error) {
- console.error(error)
- process.exit(1)
- }
|