Skip to content

Commit bf9b02f

Browse files
committed
Alowed encoding selection
1 parent 0f901df commit bf9b02f

3 files changed

Lines changed: 12 additions & 10 deletions

File tree

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ Where:
2121
-src: source code folder
2222
-xliff: XLIFF file to generate
2323
-srcLang: source language code
24+
-enc: (optional) character set code for .properties files; default: ISO-8859-1
2425
-tgtLang: (optional) target language code
2526
-2.0: (optional) generate XLIFF 2.0
2627
```

src/com/maxprograms/javapm/CreateXliff.java

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
import java.io.IOException;
1515
import java.lang.System.Logger;
1616
import java.lang.System.Logger.Level;
17-
import java.nio.charset.Charset;
1817
import java.nio.file.Files;
1918
import java.text.MessageFormat;
2019
import java.util.ArrayList;
@@ -28,7 +27,6 @@
2827

2928
import com.maxprograms.converters.Constants;
3029
import com.maxprograms.converters.Convert;
31-
import com.maxprograms.converters.EncodingResolver;
3230
import com.maxprograms.converters.FileFormats;
3331
import com.maxprograms.converters.Utils;
3432
import 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\nWhere:\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\nWhere:\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
}

src/com/maxprograms/javapm/MergeXliff.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ private static String updateOriginal(String original, String tgtLang) throws IOE
139139
}
140140

141141
private static void help() {
142-
String launcher = System.getProperty("file.separator").equals("/") ? "mergexliff.sh" : "mergexliff.bat";
142+
String launcher = File.separatorChar == '/' ? "mergexliff.sh" : "mergexliff.bat";
143143
MessageFormat mf = new MessageFormat(
144144
"Usage:\n\n {0} [-help] -src sourceFolder -xliff xliffFile\n\nWhere:\n\n -help: (optional) display this help information and exit\n -src: source code folder\n -xliff: XLIFF file to merge\n\n");
145145
System.out.println(mf.format(new String[] { launcher }));

0 commit comments

Comments
 (0)