diff --git a/app/src/main/java/fr/free/nrw/commons/AboutActivity.java b/app/src/main/java/fr/free/nrw/commons/AboutActivity.java
index 8951900030..ecf4c21f0b 100644
--- a/app/src/main/java/fr/free/nrw/commons/AboutActivity.java
+++ b/app/src/main/java/fr/free/nrw/commons/AboutActivity.java
@@ -1,6 +1,8 @@
package fr.free.nrw.commons;
import android.annotation.SuppressLint;
+import android.app.AlertDialog;
+import android.content.DialogInterface;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
@@ -10,6 +12,9 @@
import android.support.customtabs.CustomTabsIntent;
import android.support.v4.content.ContextCompat;
import android.view.View;
+import android.widget.ArrayAdapter;
+import android.widget.LinearLayout;
+import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
@@ -29,6 +34,16 @@ public class AboutActivity extends NavigationBaseActivity {
@BindView(R.id.about_license) HtmlTextView aboutLicenseText;
@BindView(R.id.about_faq) TextView faqText;
+ String language[] = { "Kazakh", "Afrikaans", "Arabic", "Bengali", "Asturianu", "azərbaycanca", "Bikol Central",
+ "Bulgarain", "বাংলা", "Bosanski", "Brezhoneg","català","کوردی", " čeština", " kaszëbsczi", "Cymraeg", "dansk", "Deutsch"
+ ,"Zazaki", "डोटेली","Ελληνικά","euskara","español","فارسی","suomi", "français" ,"Nordfriisk", "galego", "Hawaiʻi"
+ ,"हिन्दी","Hunsrik","עברית","hornjoserbsce","magyar","interlingua","Bahasa Indonesia", "íslenska","Italian","japanese",
+ "Basa Jawa", "ქართული", " ភាសាខ្មែរ","ಕನ್ನಡ", "한국어","къарачай-малкъар","Кыргызча", "latina", "Lëtzebuergesch", "lietuvių",
+ "latviešu", "Malagasy", "македонски"," മലയാളം","монгол","मराठी","Bahasa Melayu","Malti", "नेपाली", "norsk bokmål",
+ " Nederlands","occitan","ଓଡ଼ିଆ","ਪੰਜਾਬੀ","polsk","Piemontèis","پښتو","português","română","русский"," سنڌي", " සිංහල",
+ "slovenčina"," سرائیکی", "svenska", "தமிழ்", "ತುಳು"," తెలుగు"," ไทย", "Türkçe","українська", "اردو", "Tiếng Việt",
+ " მარგალური","ייִדיש",};
+
/**
* This method helps in the creation About screen
*
@@ -87,8 +102,43 @@ public void launchPrivacyPolicy(View view) {
Utils.handleWebUrl(this,Uri.parse("https://github.com/commons-app/apps-android-commons/wiki/Privacy-policy\\"));
}
+
@OnClick(R.id.about_faq)
public void launchFrequentlyAskedQuesions(View view) {
Utils.handleWebUrl(this,Uri.parse("https://github.com/commons-app/apps-android-commons/wiki/Frequently-Asked-Questions\\"));
}
+
+ @OnClick(R.id.about_translate)
+ public void launchTranslate(View view) {
+ final ArrayAdapter languageAdapter = new ArrayAdapter(AboutActivity.this,
+ android.R.layout.simple_spinner_item, language);
+ final Spinner spinner = new Spinner(AboutActivity.this);
+ spinner.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT));
+ spinner.setAdapter(languageAdapter);
+ spinner.setGravity(17);
+
+ AlertDialog.Builder builder = new AlertDialog.Builder(AboutActivity.this);
+ builder.setView(spinner);
+ builder.setTitle(R.string.about_translate_title)
+ .setMessage(R.string.about_translate_message)
+ .setPositiveButton(R.string.about_translate_proceed, new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ String languageSelected = spinner.getSelectedItem().toString();
+ TokensTranslations tokensTranslations = new TokensTranslations();
+ tokensTranslations.initailize();
+ String token = tokensTranslations.getTranslationToken(languageSelected);
+ Utils.handleWebUrl(AboutActivity.this,Uri.parse("https://translatewiki.net/w/i.php?title=Special:Translate&language="+token+"&group=commons-android-strings&filter=%21translated&action=translate ?"));
+ }
+ });
+ builder.setNegativeButton(R.string.about_translate_cancel, new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ finish();
+ }
+ });
+ builder.create().show();
+
+ }
+
}
diff --git a/app/src/main/java/fr/free/nrw/commons/TokensTranslations.java b/app/src/main/java/fr/free/nrw/commons/TokensTranslations.java
new file mode 100644
index 0000000000..92278b6e96
--- /dev/null
+++ b/app/src/main/java/fr/free/nrw/commons/TokensTranslations.java
@@ -0,0 +1,105 @@
+package fr.free.nrw.commons;
+
+import java.util.HashMap;
+
+/**
+ * Created by Dell on 3/16/2018.
+ */
+
+public class TokensTranslations {
+ HashMap translationToken = new HashMap();
+
+ public void initailize() {
+ translationToken.put("Kazakh", "ab");
+ translationToken.put("Afrikaans", "af");
+ translationToken.put("Arabic", "ar");
+ translationToken.put("Bengali", "as");
+ translationToken.put("Asturianu", "ast");
+ translationToken.put("azərbaycanca", "az");
+ translationToken.put("Bikol Central", "bcl");
+ translationToken.put("Bulgarain","bg");
+ translationToken.put("বাংলা", "bn");
+ translationToken.put("Brezhoneg", "br");
+ translationToken.put("Bosanski", "bs");
+ translationToken.put("català", "ca");
+ translationToken.put("کوردی","ckb");
+ translationToken.put("čeština", "cs");
+ translationToken.put("kaszëbsczi", "csb");
+ translationToken.put("Cymraeg", "cy");
+ translationToken.put("dansk", "da");
+ translationToken.put("Deutsch", "de");
+ translationToken.put("Zazaki", "diq");
+ translationToken.put("डोटेली","diq");
+ translationToken.put("Ελληνικά","el");
+ translationToken.put("euskara","eu");
+ translationToken.put("español", "es");
+ translationToken.put("فارسی","fa");
+ translationToken.put("suomi", "fi");
+ translationToken.put("føroyskt", "fo");
+ translationToken.put("français", "fr");
+ translationToken.put("Nordfriisk", "frr");
+ translationToken.put("galego", "gr");
+ translationToken.put("Hawaiʻi", "haw");
+ translationToken.put("עברית","he");
+ translationToken.put("हिन्दी","hi");
+ translationToken.put("Hunsrik", "hrx");
+ translationToken.put("hornjoserbsce", "hsb");
+ translationToken.put("magyar","hu");
+ translationToken.put("interlingua","ia");
+ translationToken.put("Bahasa Indonesia", "id");
+ translationToken.put("íslenska","is");
+ translationToken.put("Italian","it");
+ translationToken.put("japanese","ja");
+ translationToken.put("Basa Jawa","jv");
+ translationToken.put("ქართული", "ka");
+ translationToken.put("Taqbaylit","kab");
+ translationToken.put(" ភាសាខ្មែរ","km");
+ translationToken.put("ಕನ್ನಡ", "kn");
+ translationToken.put("한국어", "ko");
+ translationToken.put("къарачай-малкъар","krc");
+ translationToken.put("Кыргызча","ky");
+ translationToken.put("latina","la");
+ translationToken.put("Lëtzebuergesch","lb");
+ translationToken.put("lietuvių", "lt");
+ translationToken.put("latviešu","lv");
+ translationToken.put("Malagasy","mg");
+ translationToken.put("македонски", "mk");
+ translationToken.put("മലയാളം","ml");
+ translationToken.put("монгол","mn");
+ translationToken.put("मराठी","mr");
+ translationToken.put("Bahasa Melayu","ms");
+ translationToken.put("Malti","mt");
+ translationToken.put("norsk bokmål", "nb");
+ translationToken.put("नेपाली","ne");
+ translationToken.put("Nederlands","nl");
+ translationToken.put("occitan","oc");
+ translationToken.put("ଓଡ଼ିଆ","or");
+ translationToken.put("ਪੰਜਾਬੀ","pa");
+ translationToken.put("polsk", "pl");
+ translationToken.put("Piemontèis","pms");
+ translationToken.put("پښتو","ps");
+ translationToken.put("português","pt");
+ translationToken.put("română","ro");
+ translationToken.put("русский","ru");
+ translationToken.put(" سنڌي","sd");
+ translationToken.put(" සිංහල","si");
+ translationToken.put("slovenčina","sk");
+ translationToken.put(" سرائیکی","skr");
+ translationToken.put("Basa Sunda","su");
+ translationToken.put("svenska","sv");
+ translationToken.put("தமிழ்", "ta");
+ translationToken.put("ತುಳು", "tcy");
+ translationToken.put(" తెలుగు","te");
+ translationToken.put(" ไทย","th");
+ translationToken.put("Türkçe","tr");
+ translationToken.put("українська","uk");
+ translationToken.put("اردو","ur");
+ translationToken.put("Tiếng Việt","vi");
+ translationToken.put(" მარგალური", "xmf");
+ translationToken.put("ייִדיש","yi");
+ }
+
+ public String getTranslationToken ( String language){
+ return translationToken.get(language);
+ }
+}
diff --git a/app/src/main/res/layout/activity_about.xml b/app/src/main/res/layout/activity_about.xml
index f4a295d953..9551e6e64f 100644
--- a/app/src/main/res/layout/activity_about.xml
+++ b/app/src/main/res/layout/activity_about.xml
@@ -123,6 +123,16 @@
android:gravity="center"
android:text="@string/about_privacy_policy" />
+
+
Rate Us
Frequently Asked Questions
Skip Tutorial
+ Translate
+ Languages
+ Select the langauge you want translations for ?
+ Proceed
+ Cancel
+