mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-26 20:33:53 +01:00
Merge pull request #1285 from tanvidadu/translate
Add translate link to tell users to localize the app
This commit is contained in:
commit
24641b5d6f
4 changed files with 171 additions and 0 deletions
|
|
@ -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.util.Log;
|
|||
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 class AboutActivity extends NavigationBaseActivity {
|
|||
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<String> languageAdapter = new ArrayAdapter<String>(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();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
105
app/src/main/java/fr/free/nrw/commons/TokensTranslations.java
Normal file
105
app/src/main/java/fr/free/nrw/commons/TokensTranslations.java
Normal file
|
|
@ -0,0 +1,105 @@
|
|||
package fr.free.nrw.commons;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
/**
|
||||
* Created by Dell on 3/16/2018.
|
||||
*/
|
||||
|
||||
public class TokensTranslations {
|
||||
HashMap<String,String> translationToken = new HashMap<String,String>();
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
|
@ -123,6 +123,16 @@
|
|||
android:gravity="center"
|
||||
android:text="@string/about_privacy_policy" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/about_translate"
|
||||
style="?android:textAppearanceSmall"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/primaryColor"
|
||||
android:layout_marginTop="@dimen/standard_gap"
|
||||
android:gravity="center"
|
||||
android:text="@string/about_translate" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/about_credits"
|
||||
style="?android:textAppearanceSmall"
|
||||
|
|
|
|||
|
|
@ -253,4 +253,10 @@
|
|||
<string name="about_rate_us"><u>Rate Us</u></string>
|
||||
<string name="about_faq">Frequently Asked Questions</string>
|
||||
<string name="welcome_skip_button">Skip Tutorial</string>
|
||||
<string name="about_translate"><u>Translate</u></string>
|
||||
<string name="about_translate_title">Languages</string>
|
||||
<string name="about_translate_message">Select the langauge you want translations for ?</string>
|
||||
<string name="about_translate_proceed">Proceed</string>
|
||||
<string name="about_translate_cancel">Cancel</string>
|
||||
|
||||
</resources>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue