adapt-authoring-lang 1.0.6 → 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/bin/check.js CHANGED
@@ -14,13 +14,15 @@ const underline = (s = '', topLine = true) => {
14
14
  }
15
15
 
16
16
  async function check () {
17
- console.log('\n\nChecking app language strings')
17
+ underline('Language String Check')
18
18
 
19
19
  const translatedStrings = await getTranslatedStrings()
20
+ console.log('\n Languages found:')
21
+ Object.keys(translatedStrings).forEach(l => console.log(' -', l))
20
22
 
21
23
  for (const lang of Object.keys(translatedStrings)) {
22
- console.log('\n\n')
23
- underline(`Language: ${lang}`.toUpperCase().padEnd(80), true)
24
+ console.log('\n')
25
+ underline(`Language: ${lang}`.toUpperCase())
24
26
 
25
27
  const langStrings = translatedStrings[lang]
26
28
  const usedStrings = await getUsedStrings(langStrings)
@@ -28,11 +30,18 @@ async function check () {
28
30
  const missingStrings = Object.entries(usedStrings).filter(([key]) => !langStrings[key] && !key.startsWith('error') && key !== 'app.js')
29
31
 
30
32
  console.log()
31
- logStrings(unusedStrings, 'translated strings not referenced in the code')
32
- console.log()
33
- logStrings(missingStrings, 'strings without translation')
34
- console.log()
35
- underline(`Summary:\n - ${unusedStrings.length} unused language strings found\n - ${missingStrings.length} missing language strings found`.padEnd(80), true)
33
+ if (unusedStrings.length) {
34
+ logStrings(unusedStrings, 'translated strings unreferenced in the code')
35
+ console.log()
36
+ }
37
+ if (missingStrings.length) {
38
+ logStrings(missingStrings, 'strings without translation')
39
+ console.log()
40
+ }
41
+ if (!unusedStrings.length && !missingStrings.length) {
42
+ console.log('✓ No issues found!\n')
43
+ }
44
+ underline(`Summary:\n - ${unusedStrings.length} unused language strings found\n - ${missingStrings.length} missing language strings found`)
36
45
  }
37
46
  console.log()
38
47
  }
@@ -89,7 +98,7 @@ async function getUsedStrings (translatedStrings) {
89
98
 
90
99
  function logStrings (strings, message) {
91
100
  if (!strings.length) {
92
- return
101
+ return console.log(`✓ No ${message}`)
93
102
  }
94
103
  underline(`Found ${strings.length} ${message}`)
95
104
  console.log(`${strings.map(s => `\n- ${s}`).join('')}`)
package/lib/LangModule.js CHANGED
@@ -152,7 +152,7 @@ class LangModule extends AbstractModule {
152
152
  if (key.constructor.name.endsWith('Error')) {
153
153
  return this.translateError(lang, key)
154
154
  }
155
- const s = this.phrases[lang][key]
155
+ const s = this.phrases[lang]?.[key]
156
156
  if (!s) {
157
157
  this.log('warn', `missing key '${lang}.${key}'`)
158
158
  return key
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "adapt-authoring-lang",
3
- "version": "1.0.6",
3
+ "version": "1.0.8",
4
4
  "description": "Localisation for the Adapt authoring tool",
5
5
  "homepage": "https://github.com/taylortom/adapt-authoring-lang",
6
6
  "license": "GPL-3.0",