Vietnamese translation
[KiwiIRC.git] / client / assets / src / build.js
index 8b4f92b8f102621d2be58f82248841c7fda25a1c..d06089b52433185db32f18ca7d1f37c469290928 100644 (file)
@@ -1,6 +1,7 @@
 var fs        = require('fs'),\r
     uglifyJS  = require('uglify-js'),\r
     _         = require('lodash'),\r
+    po2json   = require('po2json'),\r
     config    = require('./../../../server/configuration.js');\r
 \r
 var FILE_ENCODING = 'utf-8',\r
@@ -51,6 +52,7 @@ var source_files = [
     __dirname + '/views/application.js',\r
     __dirname + '/views/apptoolbar.js',\r
     __dirname + '/views/controlbox.js',\r
+    __dirname + '/views/favicon.js',\r
     __dirname + '/views/mediamessage.js',\r
     __dirname + '/views/member.js',\r
     __dirname + '/views/memberlist.js',\r
@@ -99,6 +101,27 @@ console.log('kiwi.js and kiwi.min.js built');
 \r
 \r
 \r
+/**\r
+*   Convert translations from .po to .json\r
+*/\r
+var translations = [];\r
+var translation_files = fs.readdirSync(__dirname + '/translations');\r
+if (!fs.existsSync(__dirname + '/../locales')) {\r
+    fs.mkdirSync(__dirname + '/../locales');\r
+}\r
+translation_files.forEach(function (file) {\r
+    var locale = file.slice(0, -3),\r
+        json = '',\r
+        languages = JSON.parse(fs.readFileSync(__dirname + '/translations/translations.json'));\r
+    if ((file.slice(-3) === '.po') && (locale !== 'template')) {\r
+        json = po2json.parseSync(__dirname + '/translations/' + file);\r
+        fs.writeFileSync(__dirname + '/../locales/' + locale + '.json', JSON.stringify(json));\r
+        translations.push({tag: locale, language: languages[locale]});\r
+        console.log('Built translation file %s', locale + '.json');\r
+    }\r
+});\r
+\r
+\r
 \r
 \r
 \r
@@ -139,6 +162,9 @@ if (config.get().client_plugins && config.get().client_plugins.length > 0) {
     vars.client_plugins = config.get().client_plugins;\r
 }\r
 \r
+// Translations\r
+vars.translations = translations;\r
+\r
 _.each(vars, function(value, key) {\r
     if (typeof value === 'object') value = JSON.stringify(value);\r
     index_src = index_src.replace(new RegExp('<%' + key + '%>', 'g'), value);\r
@@ -147,4 +173,4 @@ _.each(vars, function(value, key) {
 fs.writeFileSync(__dirname + '/../../index.html', index_src, FILE_ENCODING);\r
 \r
 \r
-console.log('index.html built');
\ No newline at end of file
+console.log('index.html built');\r