1414import java .io .IOException ;
1515import java .lang .System .Logger ;
1616import java .lang .System .Logger .Level ;
17- import java .nio .charset .Charset ;
1817import java .nio .file .Files ;
1918import java .text .MessageFormat ;
2019import java .util .ArrayList ;
2827
2928import com .maxprograms .converters .Constants ;
3029import com .maxprograms .converters .Convert ;
31- import com .maxprograms .converters .EncodingResolver ;
3230import com .maxprograms .converters .FileFormats ;
3331import com .maxprograms .converters .Utils ;
3432import com .maxprograms .languages .LanguageUtils ;
@@ -48,6 +46,7 @@ public static void main(String[] args) {
4846 String xliff = "" ;
4947 String srcLang = "" ;
5048 String tgtLang = "" ;
49+ String encoding = "ISO-8859-1" ;
5150 boolean xliff2 = false ;
5251
5352 for (int i = 0 ; i < arguments .length ; i ++) {
@@ -68,6 +67,9 @@ public static void main(String[] args) {
6867 if (arg .equals ("-xliff" ) && (i + 1 ) < arguments .length ) {
6968 xliff = arguments [i + 1 ];
7069 }
70+ if (arg .equals ("-enc" ) && (i + 1 ) < arguments .length ) {
71+ encoding = arguments [i + 1 ];
72+ }
7173 if (arg .equals ("-2.0" )) {
7274 xliff2 = true ;
7375 }
@@ -90,14 +92,14 @@ public static void main(String[] args) {
9092 }
9193
9294 try {
93- generateXliff (srcFolder , xliff , srcLang , tgtLang , xliff2 );
95+ generateXliff (srcFolder , xliff , srcLang , tgtLang , encoding , xliff2 );
9496 } catch (IOException | SAXException | ParserConfigurationException e ) {
9597 logger .log (Level .ERROR , e .getMessage (), e );
9698 }
9799 }
98100
99- private static void generateXliff (String src , String xliff , String srcLang , String tgtLang , boolean xliff2 )
100- throws IOException , SAXException , ParserConfigurationException {
101+ private static void generateXliff (String src , String xliff , String srcLang , String tgtLang , String encoding ,
102+ boolean xliff2 ) throws IOException , SAXException , ParserConfigurationException {
101103 File srcFolder = new File (src );
102104 if (!srcFolder .exists ()) {
103105 throw new IOException ("'src' folder does not exist" );
@@ -126,7 +128,6 @@ private static void generateXliff(String src, String xliff, String srcLang, Stri
126128 List <String > xliffs = new ArrayList <>();
127129 for (int i = 0 ; i < sourceFiles .size (); i ++) {
128130 String source = sourceFiles .get (i );
129- Charset encoding = EncodingResolver .getEncoding (source , FileFormats .JAVA );
130131 System .out .println (source );
131132 String skl = source + ".skl" ;
132133 String xlf = source + ".xlf" ;
@@ -135,7 +136,7 @@ private static void generateXliff(String src, String xliff, String srcLang, Stri
135136 params .put ("xliff" , xlf );
136137 params .put ("skeleton" , skl );
137138 params .put ("format" , FileFormats .JAVA );
138- params .put ("srcEncoding" , encoding . name () );
139+ params .put ("srcEncoding" , encoding );
139140 params .put ("catalog" , catalog .getAbsolutePath ());
140141 params .put ("paragraph" , "yes" );
141142 params .put ("srxFile" , srx .getAbsolutePath ());
@@ -219,9 +220,9 @@ private static void harvestProperties(File folder) throws IOException {
219220 }
220221
221222 private static void help () {
222- String launcher = System . getProperty ( "file.separator" ). equals ( "/" ) ? "createxliff.sh" : "createxliff.bat" ;
223+ String launcher = File . separatorChar == '/' ? "createxliff.sh" : "createxliff.bat" ;
223224 MessageFormat mf = new MessageFormat (
224- "Usage:\n \n {0} [-help] -src sourceFolder -xliff xliffFile -srcLang sourceLanguage [-tgtLang targetLanguage] [-2.0]\n \n Where:\n \n -help: (optional) display this help information and exit\n -src: source code folder\n -xliff: XLIFF file to generate\n -srcLang: source language code\n -tgtLang: (optional) target language code\n -2.0: (optional) generate XLIFF 2.0\n \n " );
225+ "Usage:\n \n {0} [-help] -src sourceFolder -xliff xliffFile -srcLang sourceLanguage [-enc characterSet] [- tgtLang targetLanguage] [-2.0]\n \n Where:\n \n -help: (optional) display this help information and exit\n -src: source code folder\n -xliff: XLIFF file to generate\n -srcLang: source language code\n -enc: (optional) character set code for .properties files; default: ISO-8859-1 \n -tgtLang: (optional) target language code\n -2.0: (optional) generate XLIFF 2.0\n \n " );
225226 System .out .println (mf .format (new String [] { launcher }));
226227 }
227228}
0 commit comments