Browse Source

Translations: Handle recursed subcategories

master
parent
commit
2d42012487
  1. 22
      bin/categories-to-lang
  2. 27
      bin/lang-to-categories

22
bin/categories-to-lang

@ -65,6 +65,10 @@ fs.readdir(
all[lang]['category:' + id] = data.name[lang]
}
if (data.type && data.type === 'index') {
parseSubCategories(data.subCategories, all)
}
}
done()
@ -75,6 +79,24 @@ fs.readdir(
}
)
function parseSubCategories(categories, all) {
categories.forEach(data => {
if ('name' in data) {
for (var lang in data.name) {
if (!(lang in all)) {
all[lang] = {}
}
all[lang]['category:' + data.id] = data.name[lang]
}
if (data.type && data.type === 'index') {
parseSubCategories(data.subCategories, all)
}
}
})
}
function writeTranslationFiles () {
forEach(Object.keys(all), function (lang) {
let done = this.async()

27
bin/lang-to-categories

@ -38,6 +38,29 @@ fs.readdir('lang', function (err, files) {
writeCategories)
})
function writeSubCategories(categories, all) {
categories.forEach(data => {
if (!('type' in data)) {
return
}
if (!('name' in data)) {
data.name = {}
}
for (var lang in all[data.id]) {
if (all[data.id][lang]) {
data.name[lang] = all[data.id][lang]
}
}
if (data.type && data.type === 'index') {
writeSubCategories(data.subCategories, all)
}
})
}
function writeCategories () {
fs.readdir(
'.',
@ -74,6 +97,10 @@ function writeCategories () {
}
}
if (data.type && data.type === 'index') {
writeSubCategories(data.subCategories, all)
}
let result = {}
let keys = Object.keys(data.name)
keys.sort()

Loading…
Cancel
Save