diff --git a/javase/src/com/google/zxing/HtmlAssetTranslator.java b/javase/src/com/google/zxing/HtmlAssetTranslator.java index 9937b8d45..7e157faf4 100644 --- a/javase/src/com/google/zxing/HtmlAssetTranslator.java +++ b/javase/src/com/google/zxing/HtmlAssetTranslator.java @@ -34,9 +34,11 @@ import java.io.FileFilter; import java.io.FilenameFilter; import java.io.IOException; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collection; import java.util.LinkedList; import java.util.Queue; +import java.util.regex.Pattern; /** *

A utility which auto-translates the English-language text in a directory of HTML documents using @@ -56,9 +58,11 @@ import java.util.Queue; */ public final class HtmlAssetTranslator { + private static final Pattern COMMA = Pattern.compile(","); + private HtmlAssetTranslator() {} - public static void main(String[] args) throws Exception { + public static void main(String[] args) throws IOException { File assetsDir = new File(args[0]); Collection languagesToTranslate = parseLanguagesToTranslate(assetsDir, args[1]); Collection filesToTranslate = parseFilesToTranslate(args); @@ -71,6 +75,7 @@ public final class HtmlAssetTranslator { Collection languages = new ArrayList(); if ("all".equals(languageArg)) { FileFilter fileFilter = new FileFilter() { + @Override public boolean accept(File file) { return file.isDirectory() && file.getName().startsWith("html-") && !"html-en".equals(file.getName()); } @@ -79,7 +84,7 @@ public final class HtmlAssetTranslator { languages.add(languageDir.getName().substring(5)); } } else { - languages.add(languageArg); + languages.addAll(Arrays.asList(COMMA.split(languageArg))); } return languages; } @@ -103,6 +108,7 @@ public final class HtmlAssetTranslator { StringsResourceTranslator.translateString("Translated by Google Translate.", language); File[] sourceFiles = englishHtmlDir.listFiles(new FilenameFilter() { + @Override public boolean accept(File dir, String name) { return name.endsWith(".html") && (filesToTranslate.isEmpty() || filesToTranslate.contains(name)); } @@ -128,7 +134,7 @@ public final class HtmlAssetTranslator { } catch (ParserConfigurationException pce) { throw new IllegalStateException(pce); } catch (SAXException sae) { - throw new IOException(sae.toString()); + throw new IOException(sae); } Element rootElement = document.getDocumentElement(); diff --git a/javase/src/com/google/zxing/StringsResourceTranslator.java b/javase/src/com/google/zxing/StringsResourceTranslator.java index db7af5e2e..fadf163c4 100644 --- a/javase/src/com/google/zxing/StringsResourceTranslator.java +++ b/javase/src/com/google/zxing/StringsResourceTranslator.java @@ -28,6 +28,7 @@ import java.io.OutputStreamWriter; import java.io.Reader; import java.io.Writer; import java.net.URL; +import java.net.URLConnection; import java.net.URLEncoder; import java.nio.charset.Charset; import java.util.Arrays; @@ -51,13 +52,12 @@ import java.util.regex.Pattern; */ public final class StringsResourceTranslator { - private static final long MIN_API_CALL_INTERVAL_MS = 10 * 1000L; - + private static final String API_KEY = "INSERT-YOUR-KEY"; + private static final Charset UTF8 = Charset.forName("UTF-8"); private static final Pattern ENTRY_PATTERN = Pattern.compile("([^<]+)"); private static final Pattern STRINGS_FILE_NAME_PATTERN = Pattern.compile("values-(.+)"); - private static final Pattern TRANSLATE_RESPONSE_PATTERN = Pattern.compile( - "\\{\"translatedText\":\"([^\"]+)\"\\}"); + private static final Pattern TRANSLATE_RESPONSE_PATTERN = Pattern.compile("translatedText\":\\s*\"([^\"]+)\""); private static final String APACHE_2_LICENSE = "