mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-05-30 20:31:34 +02:00
[web] extend 'make sort_locales' to sort extracted-translations.json (#32193)
GitOrigin-RevId: 19ad8ea5a8b7fb3eadfccb11affe6794bee84050
This commit is contained in:
@@ -8,31 +8,39 @@ const LOCALES = Path.join(__dirname, '../../locales')
|
||||
const CHECK = process.argv.includes('--check')
|
||||
|
||||
async function main() {
|
||||
await sortFile(
|
||||
Path.join(__dirname, '../../frontend/extracted-translations.json')
|
||||
)
|
||||
for (const locale of await fs.promises.readdir(LOCALES)) {
|
||||
if (locale === 'README.md') continue
|
||||
const path = Path.join(LOCALES, locale)
|
||||
const input = await fs.promises.readFile(path, 'utf-8')
|
||||
const parsed = JSON.parse(input)
|
||||
const sorted = JSON.stringify(parsed, Object.keys(parsed).sort(), 2) + '\n'
|
||||
if (input === sorted) {
|
||||
continue
|
||||
}
|
||||
if (CHECK) {
|
||||
console.warn('---')
|
||||
console.warn(
|
||||
locale,
|
||||
'is not sorted. Try running:\n\n',
|
||||
' web$ make sort_locales',
|
||||
'\n'
|
||||
)
|
||||
console.warn('---')
|
||||
throw new Error(locale + ' is not sorted')
|
||||
}
|
||||
console.log('Storing sorted version of', locale)
|
||||
await fs.promises.writeFile(path, sorted)
|
||||
await sortFile(path)
|
||||
}
|
||||
}
|
||||
|
||||
async function sortFile(path) {
|
||||
const name = Path.basename(path)
|
||||
const input = await fs.promises.readFile(path, 'utf-8')
|
||||
const parsed = JSON.parse(input)
|
||||
const sorted = JSON.stringify(parsed, Object.keys(parsed).sort(), 2) + '\n'
|
||||
if (input === sorted) {
|
||||
return
|
||||
}
|
||||
if (CHECK) {
|
||||
console.warn('---')
|
||||
console.warn(
|
||||
name,
|
||||
'is not sorted. Try running:\n\n',
|
||||
' web$ make sort_locales',
|
||||
'\n'
|
||||
)
|
||||
console.warn('---')
|
||||
throw new Error(name + ' is not sorted')
|
||||
}
|
||||
console.log('Storing sorted version of', name)
|
||||
await fs.promises.writeFile(path, sorted)
|
||||
}
|
||||
|
||||
try {
|
||||
await main()
|
||||
} catch (error) {
|
||||
|
||||
Reference in New Issue
Block a user