diff --git a/src/main/java/org/apluscreators/googletranslatelabs/TranslateApplication.java b/src/main/java/org/apluscreators/googletranslatelabs/TranslateApplication.java index 86e21a9..3b33772 100644 --- a/src/main/java/org/apluscreators/googletranslatelabs/TranslateApplication.java +++ b/src/main/java/org/apluscreators/googletranslatelabs/TranslateApplication.java @@ -1,7 +1,7 @@ package org.apluscreators.googletranslatelabs; -import org.apluscreators.googletranslatelabs.xml.XmlParserReader; +import org.apluscreators.googletranslatelabs.android.xml.XmlParserReader; import java.util.Arrays; import java.util.HashSet; diff --git a/src/main/java/org/apluscreators/googletranslatelabs/model/Resources.java b/src/main/java/org/apluscreators/googletranslatelabs/android/model/Resources.java similarity index 89% rename from src/main/java/org/apluscreators/googletranslatelabs/model/Resources.java rename to src/main/java/org/apluscreators/googletranslatelabs/android/model/Resources.java index 6af66c3..2d3f0fe 100644 --- a/src/main/java/org/apluscreators/googletranslatelabs/model/Resources.java +++ b/src/main/java/org/apluscreators/googletranslatelabs/android/model/Resources.java @@ -1,4 +1,4 @@ -package org.apluscreators.googletranslatelabs.model; +package org.apluscreators.googletranslatelabs.android.model; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; diff --git a/src/main/java/org/apluscreators/googletranslatelabs/model/String.java b/src/main/java/org/apluscreators/googletranslatelabs/android/model/String.java similarity index 93% rename from src/main/java/org/apluscreators/googletranslatelabs/model/String.java rename to src/main/java/org/apluscreators/googletranslatelabs/android/model/String.java index 25141be..7ff384b 100644 --- a/src/main/java/org/apluscreators/googletranslatelabs/model/String.java +++ b/src/main/java/org/apluscreators/googletranslatelabs/android/model/String.java @@ -1,4 +1,4 @@ -package org.apluscreators.googletranslatelabs.model; +package org.apluscreators.googletranslatelabs.android.model; import javax.xml.bind.annotation.XmlAttribute; diff --git a/src/main/java/org/apluscreators/googletranslatelabs/translate/GoogleTranslateFactory.java b/src/main/java/org/apluscreators/googletranslatelabs/android/translate/GoogleTranslateFactory.java similarity index 87% rename from src/main/java/org/apluscreators/googletranslatelabs/translate/GoogleTranslateFactory.java rename to src/main/java/org/apluscreators/googletranslatelabs/android/translate/GoogleTranslateFactory.java index 715fc08..2e12a5b 100644 --- a/src/main/java/org/apluscreators/googletranslatelabs/translate/GoogleTranslateFactory.java +++ b/src/main/java/org/apluscreators/googletranslatelabs/android/translate/GoogleTranslateFactory.java @@ -1,11 +1,11 @@ -package org.apluscreators.googletranslatelabs.translate; +package org.apluscreators.googletranslatelabs.android.translate; import com.google.cloud.translate.Translate; import com.google.cloud.translate.Translate.TranslateOption; import com.google.cloud.translate.TranslateOptions; import com.google.cloud.translate.Translation; -import org.apluscreators.googletranslatelabs.model.Resources; -import org.apluscreators.googletranslatelabs.model.String; +import org.apluscreators.googletranslatelabs.android.model.Resources; +import org.apluscreators.googletranslatelabs.android.model.String; public class GoogleTranslateFactory { @@ -26,7 +26,7 @@ private Resources translateResources(java.lang.String targetLanguage) { Resources translatedResources = new Resources(); String[] translatedStringsArray = new String[resources.getStrings().length]; - org.apluscreators.googletranslatelabs.model.String[] strings = resources.getStrings(); + org.apluscreators.googletranslatelabs.android.model.String[] strings = resources.getStrings(); for (int i = 0; i < strings.length; i++) { String translatedStringEntry = new String(); diff --git a/src/main/java/org/apluscreators/googletranslatelabs/xml/XmlParserReader.java b/src/main/java/org/apluscreators/googletranslatelabs/android/xml/XmlParserReader.java similarity index 88% rename from src/main/java/org/apluscreators/googletranslatelabs/xml/XmlParserReader.java rename to src/main/java/org/apluscreators/googletranslatelabs/android/xml/XmlParserReader.java index c17a858..3845ec2 100644 --- a/src/main/java/org/apluscreators/googletranslatelabs/xml/XmlParserReader.java +++ b/src/main/java/org/apluscreators/googletranslatelabs/android/xml/XmlParserReader.java @@ -1,13 +1,13 @@ -package org.apluscreators.googletranslatelabs.xml; +package org.apluscreators.googletranslatelabs.android.xml; import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Marshaller; import javax.xml.bind.Unmarshaller; -import org.apluscreators.googletranslatelabs.model.String; -import org.apluscreators.googletranslatelabs.model.Resources; -import org.apluscreators.googletranslatelabs.translate.GoogleTranslateFactory; +import org.apluscreators.googletranslatelabs.android.model.String; +import org.apluscreators.googletranslatelabs.android.model.Resources; +import org.apluscreators.googletranslatelabs.android.translate.GoogleTranslateFactory; import java.io.File; import java.io.FileNotFoundException; diff --git a/src/main/java/org/apluscreators/googletranslatelabs/ios/LocalizableFileProcessor.java b/src/main/java/org/apluscreators/googletranslatelabs/ios/LocalizableFileProcessor.java new file mode 100644 index 0000000..eca9dd5 --- /dev/null +++ b/src/main/java/org/apluscreators/googletranslatelabs/ios/LocalizableFileProcessor.java @@ -0,0 +1,24 @@ +package org.apluscreators.googletranslatelabs.ios; + +import java.io.File; +import java.util.List; +import org.apluscreators.googletranslatelabs.ios.model.LocalizableTable; + +public interface LocalizableFileProcessor { + /** + * Extracts the key-values from XCode Localizable.string file + * + * @param localizableFile File + * @return List + */ + List extractLocalizableTableFromFile(File localizableFile); + + /** + * Runs translation for each string in the localizable table and returns a translated set of localizable values + * + * @param originalLocalizableValues + * @param locale String such as en, fr ... + * @return List of translated localizables + */ + List translateLocalizableTable(List originalLocalizableValues, String locale); +} diff --git a/src/main/java/org/apluscreators/googletranslatelabs/ios/model/LocalizableTable.java b/src/main/java/org/apluscreators/googletranslatelabs/ios/model/LocalizableTable.java new file mode 100644 index 0000000..42f06e2 --- /dev/null +++ b/src/main/java/org/apluscreators/googletranslatelabs/ios/model/LocalizableTable.java @@ -0,0 +1,6 @@ +package org.apluscreators.googletranslatelabs.ios.model; + +public class LocalizableTable { + private String key; + private String translatableResouce; +}