Skip to content

Commit 2e064c3

Browse files
committed
Alert Dialoge Implemented
1 parent 7e08179 commit 2e064c3

File tree

3 files changed

+44
-7
lines changed

3 files changed

+44
-7
lines changed

app/src/main/java/fr/free/nrw/commons/AboutActivity.java

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package fr.free.nrw.commons;
22

33
import android.annotation.SuppressLint;
4+
import android.app.AlertDialog;
5+
import android.content.DialogInterface;
46
import android.content.Intent;
57
import android.net.Uri;
68
import android.os.Bundle;
@@ -10,6 +12,9 @@
1012
import android.support.customtabs.CustomTabsIntent;
1113
import android.support.v4.content.ContextCompat;
1214
import android.view.View;
15+
import android.widget.ArrayAdapter;
16+
import android.widget.LinearLayout;
17+
import android.widget.Spinner;
1318
import android.widget.TextView;
1419
import android.widget.Toast;
1520

@@ -102,6 +107,37 @@ public void launchPrivacyPolicy(View view) {
102107
public void launchFrequentlyAskedQuesions(View view) {
103108
Utils.handleWebUrl(this,Uri.parse("https://github.com/commons-app/apps-android-commons/wiki/Frequently-Asked-Questions\\"));
104109
}
105-
110+
111+
@OnClick(R.id.about_translate)
112+
public void launchTranslate(View view) {
113+
final ArrayAdapter<String> languageAdapter = new ArrayAdapter<String>(AboutActivity.this,
114+
android.R.layout.simple_spinner_item, language);
115+
final Spinner spinner = new Spinner(AboutActivity.this);
116+
spinner.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT));
117+
spinner.setAdapter(languageAdapter);
118+
spinner.setGravity(17);
119+
120+
AlertDialog.Builder builder = new AlertDialog.Builder(AboutActivity.this);
121+
builder.setView(spinner);
122+
builder.setTitle(R.string.about_translate_title)
123+
.setMessage(R.string.about_translate_message)
124+
.setPositiveButton(R.string.about_translate_proceed, new DialogInterface.OnClickListener() {
125+
@Override
126+
public void onClick(DialogInterface dialog, int which) {
127+
String languageSelected = spinner.getSelectedItem().toString();
128+
TokensTranslations tokensTranslations = new TokensTranslations();
129+
String token = tokensTranslations.getTranslationToken(languageSelected);
130+
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 ?"));
131+
}
132+
});
133+
builder.setNegativeButton(R.string.about_translate_cancel, new DialogInterface.OnClickListener() {
134+
@Override
135+
public void onClick(DialogInterface dialog, int which) {
136+
finish();
137+
}
138+
});
139+
builder.create().show();
140+
141+
}
106142

107143
}

app/src/main/java/fr/free/nrw/commons/TokensTranslations.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88

99
public class TokensTranslations {
1010
private static HashMap<String,String> translationToken;
11-
private static HashMap<String,String> License_selectionToken;
1211

1312
TokensTranslations() {
1413
translationToken.put("Kazakh", "ab");
@@ -98,11 +97,9 @@ public class TokensTranslations {
9897
translationToken.put("Tiếng Việt","vi");
9998
translationToken.put(" მარგალური", "xmf");
10099
translationToken.put("ייִדיש","yi");
101-
translationToken.put();
102-
translationToken.put();
103-
translationToken.put();
104-
translationToken.put();
105-
translationToken.put();
100+
}
106101

102+
public String getTranslationToken ( String language){
103+
return translationToken.get(language);
107104
}
108105
}

app/src/main/res/values/strings.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -246,5 +246,9 @@
246246
<string name="about_faq">Frequently Asked Questions</string>
247247
<string name="welcome_skip_button">Skip Tutorial</string>
248248
<string name="about_translate"><u>Translate</u></string>
249+
<string name="about_translate_title">Languages</string>
250+
<string name="about_translate_message">Select the langauge you want translations for ?</string>
251+
<string name="about_translate_proceed">Proceed</string>
252+
<string name="about_translate_cancel">Cancel</string>
249253

250254
</resources>

0 commit comments

Comments
 (0)