]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - scripts/i18n/create-custom-files.ts
Split admin conf page
[github/Chocobozzz/PeerTube.git] / scripts / i18n / create-custom-files.ts
index 298eda71b4fd8c53f6196530ca0d072d296a3e3d..d4d5b44f05a00030bb89e6a56a73e0f8c8e25c25 100755 (executable)
@@ -1,6 +1,7 @@
-import { registerTSPaths } from '../../server/helpers/register-ts-paths'
 import { writeJSON } from 'fs-extra'
 import { writeJSON } from 'fs-extra'
+import { values } from 'lodash'
 import { join } from 'path'
 import { join } from 'path'
+import { registerTSPaths } from '../../server/helpers/register-ts-paths'
 import {
   buildLanguages,
   VIDEO_CATEGORIES,
 import {
   buildLanguages,
   VIDEO_CATEGORIES,
@@ -11,7 +12,7 @@ import {
   VIDEO_PRIVACIES,
   VIDEO_STATES
 } from '../../server/initializers/constants'
   VIDEO_PRIVACIES,
   VIDEO_STATES
 } from '../../server/initializers/constants'
-import { values } from 'lodash'
+import { I18N_LOCALES } from '../../shared/core-utils/i18n'
 
 registerTSPaths()
 
 
 registerTSPaths()
 
@@ -31,7 +32,11 @@ const playerKeys = {
   'Copy embed code': 'Copy embed code',
   'Copy magnet URI': 'Copy magnet URI',
   'Total downloaded: ': 'Total downloaded: ',
   'Copy embed code': 'Copy embed code',
   'Copy magnet URI': 'Copy magnet URI',
   'Total downloaded: ': 'Total downloaded: ',
-  'Total uploaded: ': 'Total uploaded: '
+  'Total uploaded: ': 'Total uploaded: ',
+  'From servers: ': 'From servers: ',
+  'From peers: ': 'From peers: ',
+  'Normal mode': 'Normal mode',
+  'Theater mode': 'Theater mode'
 }
 Object.assign(playerKeys, videojs)
 
 }
 Object.assign(playerKeys, videojs)
 
@@ -50,7 +55,10 @@ values(VIDEO_CATEGORIES)
     'Sorry',
     'This video is not available because the remote instance is not responding.',
     'This playlist does not exist',
     'Sorry',
     'This video is not available because the remote instance is not responding.',
     'This playlist does not exist',
-    'We cannot fetch the playlist. Please try again later.'
+    'We cannot fetch the playlist. Please try again later.',
+    'Playlist: {1}',
+    'By {1}',
+    'Unavailable video'
   ])
   .forEach(v => { serverKeys[v] = v })
 
   ])
   .forEach(v => { serverKeys[v] = v })
 
@@ -67,10 +75,28 @@ Object.keys(languages).forEach(k => { languageKeys[languages[k]] = languages[k]
 
 Object.assign(serverKeys, languageKeys)
 
 
 Object.assign(serverKeys, languageKeys)
 
-Promise.all([
-  writeJSON(join(__dirname, '../../../client/src/locale/player.en-US.json'), playerKeys),
-  writeJSON(join(__dirname, '../../../client/src/locale/server.en-US.json'), serverKeys)
-]).catch(err => {
+writeAll().catch(err => {
   console.error(err)
   process.exit(-1)
 })
   console.error(err)
   process.exit(-1)
 })
+
+async function writeAll () {
+  const localePath = join(__dirname, '../../../client/src/locale')
+
+  await writeJSON(join(localePath, 'player.en-US.json'), playerKeys, { spaces: 4 })
+  await writeJSON(join(localePath, 'server.en-US.json'), serverKeys, { spaces: 4 })
+
+  for (const key of Object.keys(I18N_LOCALES)) {
+    const playerJsonPath = join(localePath, `player.${key}.json`)
+    const translatedPlayer = require(playerJsonPath)
+
+    const newTranslatedPlayer = Object.assign({}, playerKeys, translatedPlayer)
+    await writeJSON(playerJsonPath, newTranslatedPlayer, { spaces: 4 })
+
+    const serverJsonPath = join(localePath, `server.${key}.json`)
+    const translatedServer = require(serverJsonPath)
+
+    const newTranslatedServer = Object.assign({}, serverKeys, translatedServer)
+    await writeJSON(serverJsonPath, newTranslatedServer, { spaces: 4 })
+  }
+}