Преглед изворни кода

[web] extend 'make sort_locales' to sort extracted-translations.json (#32193)

GitOrigin-RevId: 19ad8ea5a8b7fb3eadfccb11affe6794bee84050
Jakob Ackermann пре 5 месеци
родитељ
комит
bfcd62883a
1 измењених фајлова са 27 додато и 19 уклоњено
  1. 27 19
      services/web/scripts/translations/sort.js

+ 27 - 19
services/web/scripts/translations/sort.js

@@ -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) {