Dustin Falgout
9 years ago
2 changed files with 99 additions and 1 deletions
@ -0,0 +1,98 @@
|
||||
/* |
||||
* |
||||
* Copyright © 2015-2016 Antergos |
||||
* |
||||
* combine_translations.js |
||||
* |
||||
* This file is part of lightdm-webkit-theme-antergos |
||||
* |
||||
* lightdm-webkit-theme-antergos is free software: you can redistribute it and/or modify |
||||
* it under the terms of the GNU General Public License as published by |
||||
* the Free Software Foundation, either version 3 of the License, |
||||
* or any later version. |
||||
* |
||||
* lightdm-webkit-theme-antergos is distributed in the hope that it will be useful, |
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
* GNU General Public License for more details. |
||||
* |
||||
* The following additional terms are in effect as per Section 7 of this license: |
||||
* |
||||
* The preservation of all legal notices and author attributions in |
||||
* the material or in the Appropriate Legal Notices displayed |
||||
* by works containing it is required. |
||||
* |
||||
* You should have received a copy of the GNU General Public License |
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/ |
||||
|
||||
var fs = require( "fs" ), |
||||
path = require( 'path' ), |
||||
i18n_dir = process.argv[1] + 'i18n/', |
||||
translation_files = fs.readdirSync( i18n_dir ), |
||||
output = i18n_dir + 'translations.json', |
||||
translations = {}; |
||||
|
||||
|
||||
function sortObj( obj, order ) { |
||||
"use strict"; |
||||
|
||||
var key, |
||||
tempArry = [], |
||||
i, |
||||
tempObj = {}; |
||||
|
||||
for ( key in obj ) { |
||||
tempArry.push( key ); |
||||
} |
||||
|
||||
tempArry.sort( |
||||
function( a, b ) { |
||||
return a.toLowerCase().localeCompare( b.toLowerCase() ); |
||||
} |
||||
); |
||||
|
||||
if ( order === 'desc' ) { |
||||
for ( i = tempArry.length - 1; i >= 0; i -- ) { |
||||
tempObj[ tempArry[ i ] ] = obj[ tempArry[ i ] ]; |
||||
} |
||||
} else { |
||||
for ( i = 0; i < tempArry.length; i ++ ) { |
||||
tempObj[ tempArry[ i ] ] = obj[ tempArry[ i ] ]; |
||||
} |
||||
} |
||||
|
||||
return tempObj; |
||||
} |
||||
|
||||
|
||||
for ( var file of translation_files ) { |
||||
var abs_path = i18n_dir + file, |
||||
lang = file.replace( '.json', '' ); |
||||
|
||||
if ( 'translations.json' === file ) { |
||||
console.log( 'found' ); |
||||
continue; |
||||
} |
||||
|
||||
translations[ lang ] = JSON.parse( fs.readFileSync( abs_path, 'utf8' ) ); |
||||
} |
||||
|
||||
translations = sortObj( translations ); |
||||
|
||||
fs.writeFile( output, JSON.stringify( translations ), function( error ) { |
||||
if ( error ) { |
||||
console.error( "write error: " + error.message ); |
||||
} else { |
||||
console.log( "Successful Write to " + output ); |
||||
} |
||||
} ); |
||||
fs.writeFile( i18n_dir + 'js/translations.js', 'window.ant_translations = ' + JSON.stringify( translations ), function( error ) { |
||||
if ( error ) { |
||||
console.error( "write error: " + error.message ); |
||||
} else { |
||||
console.log( "Successful Write to " + output ); |
||||
} |
||||
} ); |
||||
|
||||
console.log( 'Done!' ); |
Loading…
Reference in new issue