Skip to content

Commit 31ea10d

Browse files
chroseyrohanjain1
authored andcommitted
Resolved Merge conflicts with dev (#174)
Includes localization support for German language.
1 parent 387b7db commit 31ea10d

File tree

7 files changed

+436
-28
lines changed

7 files changed

+436
-28
lines changed

app/src/main/java/com/omkarmoghe/pokemap/views/LoginActivity.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ public void authRequested(GoogleService.AuthRequest body) {
118118
public void onClick(View view) {
119119
new AlertDialog.Builder(LoginActivity.this)
120120
.setTitle(getString(R.string.login_warning_title))
121-
.setMessage(Html.fromHtml(getString(R.string.login_warning) + "<b>banned</b>"))
121+
.setMessage(Html.fromHtml(getString(R.string.login_warning) + "<b>"+getString(R.string.ban)+"</b>"))
122122
.setPositiveButton("OK", null)
123123
.show();
124124
}
@@ -170,7 +170,7 @@ private void showAuthFailed() {
170170
mUsernameView.setText(mPref.getUsername());
171171
mPasswordView.setText(mPref.getPassword());
172172

173-
Snackbar.make((View)mLoginFormView.getParent(), "PTC Login Failed", Snackbar.LENGTH_LONG).show();
173+
Snackbar.make((View)mLoginFormView.getParent(),getString(R.string.toast_ptc_login_error), Snackbar.LENGTH_LONG).show();
174174
}
175175

176176
@Override

app/src/main/java/com/omkarmoghe/pokemap/views/MainActivity.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ public void onEvent(LoginEventResult result) {
158158
if (latLng != null) {
159159
nianticManager.getMapInformation(latLng.latitude, latLng.longitude, 0D);
160160
} else {
161-
Snackbar.make(findViewById(R.id.root), "Failed to Login.", Snackbar.LENGTH_LONG).show();
161+
Snackbar.make(findViewById(R.id.root), getString(R.string.toast_login_error), Snackbar.LENGTH_LONG).show();
162162
}
163163
}
164164
}
@@ -172,7 +172,7 @@ public void onEvent(LoginEventResult result) {
172172
public void onEvent(SearchInPosition event) {
173173
SearchParams params = new SearchParams(SearchParams.DEFAULT_RADIUS * 3, new LatLng(event.getPosition().latitude, event.getPosition().longitude));
174174
List<LatLng> list = params.getSearchArea();
175-
MapWrapperFragment.pokeSnackbar.setText("Searching...");
175+
MapWrapperFragment.pokeSnackbar.setText(getString(R.string.toast_searching));
176176
MapWrapperFragment.pokeSnackbar.show();
177177
MapWrapperFragment.pokemonFound = 0;
178178
MapWrapperFragment.positionNum = 0;
@@ -188,7 +188,7 @@ public void onEvent(SearchInPosition event) {
188188
*/
189189
@Subscribe
190190
public void onEvent(ServerUnreachableEvent event) {
191-
Snackbar.make(findViewById(R.id.root), "Unable to contact the Pokemon GO servers. The servers may be down.", Snackbar.LENGTH_LONG).show();
191+
Snackbar.make(findViewById(R.id.root), getString(R.string.toast_server_unreachable), Snackbar.LENGTH_LONG).show();
192192
event.getE().printStackTrace();
193193
}
194194

@@ -200,7 +200,7 @@ public void onEvent(ServerUnreachableEvent event) {
200200
@Subscribe
201201
public void onEvent(InternalExceptionEvent event) {
202202
event.getE().printStackTrace();
203-
Snackbar.make(findViewById(R.id.root), "An internal error occurred. This might happen when you are offline or the servers are down.", Snackbar.LENGTH_LONG).show();
203+
Snackbar.make(findViewById(R.id.root), getString(R.string.toast_internal_error), Snackbar.LENGTH_LONG).show();
204204
}
205205

206206
}

app/src/main/java/com/omkarmoghe/pokemap/views/map/MapWrapperFragment.java

+30-11
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@
5454
import org.greenrobot.eventbus.Subscribe;
5555
import org.greenrobot.eventbus.ThreadMode;
5656

57+
import java.lang.reflect.Field;
5758
import java.util.ArrayList;
5859
import java.util.Collection;
5960
import java.util.HashMap;
@@ -191,8 +192,8 @@ private void initMap() {
191192
|| ContextCompat.checkSelfPermission(mView.getContext(), Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
192193

193194
new AlertDialog.Builder(getActivity())
194-
.setTitle("Enable Location Permission")
195-
.setMessage("Please enable location permission to use this application")
195+
.setTitle(getString(R.string.enable_location_permission_title))
196+
.setMessage(getString(R.string.enable_location_permission_message))
196197
.setPositiveButton("OK", null)
197198
.show();
198199
return;
@@ -309,6 +310,24 @@ private void setPokestopsMarkers(final Collection<Pokestop> pokestops){
309310
}
310311
}
311312

313+
/**
314+
* try to resolve PokemonName from Resources
315+
* @param apiPokeName
316+
* @return
317+
*/
318+
private String getLocalePokemonName(String apiPokeName){
319+
int resId = 0;
320+
try{
321+
Class resClass = R.string.class;
322+
Field field = resClass.getField(apiPokeName.toLowerCase());
323+
resId = field.getInt(null);
324+
}catch(Exception e){
325+
Log.e("PokemonTranslation","Failure to get Name",e);
326+
resId = -1;
327+
}
328+
return resId > 0 ? getString(resId) : apiPokeName;
329+
}
330+
312331
private void setPokemonMarkers(final List<CatchablePokemon> pokeList){
313332
positionNum++;
314333
int markerSize = getResources().getDimensionPixelSize(R.dimen.pokemon_marker);
@@ -331,7 +350,7 @@ public void onResourceReady(Bitmap bitmap, GlideAnimation anim) {
331350
//int resourceID = getResources().getIdentifier("p" + poke.getPokemonId().getNumber(), "drawable", getActivity().getPackageName());
332351
Marker marker = mGoogleMap.addMarker(new MarkerOptions()
333352
.position(new LatLng(poke.getLatitude(), poke.getLongitude()))
334-
.title(poke.getPokemonId().name())
353+
.title(getLocalePokemonName(poke.getPokemonId().name()))
335354
.icon(BitmapDescriptorFactory.fromBitmap(bitmap))
336355
.anchor(0.5f, 0.5f));
337356
//adding pokemons to list to be removed on next search
@@ -344,13 +363,13 @@ public void onResourceReady(Bitmap bitmap, GlideAnimation anim) {
344363
}
345364
if(getView() != null) {
346365
if(positionNum != LOCATION_PERMISSION_REQUEST) {
347-
String text = " Searching...." + pokemonFound + " Pokemon found";
366+
String text = getString(R.string.toast_searching) + pokemonFound + getString(R.string.toast_pokemon_found_count);
348367
pokeSnackbar.setText(text);
349368
pokeSnackbar.show();
350369

351370
}
352371
else {
353-
String text = pokemonFound > 0 ? pokemonFound + " new catchable Pokemon have been found." : "No new Pokemon have been found.";
372+
String text = pokemonFound > 0 ? pokemonFound + getString(R.string.pokemon_found_new) : getString(R.string.pokemon_found_none);
354373
pokeSnackbar.setText(text);
355374
pokeSnackbar.show();
356375
}
@@ -375,26 +394,26 @@ private String getCorrectPokemonImageId (int pokemonId){
375394

376395
private void showMapNotInitializedError() {
377396
if(getView() != null){
378-
Snackbar.make(getView(), "Problem Initializing Google Map", Snackbar.LENGTH_SHORT).show();
397+
Snackbar.make(getView(), getString(R.string.toast_map_not_initialized), Snackbar.LENGTH_SHORT).show();
379398
}
380399
}
381400

382401
private void showLocationFetchFailed() {
383402
if(getView() != null){
384-
Snackbar.make(getView(), "Failed to Find GPS Location", Snackbar.LENGTH_SHORT).show();
403+
Snackbar.make(getView(),getString(R.string.toast_no_location), Snackbar.LENGTH_SHORT).show();
385404
}
386405
}
387406

388-
public static String getExpirationBreakdown(long millis) {
407+
public String getExpirationBreakdown(long millis) {
389408
if(millis < 0) {
390-
return "Expired";
409+
return getString(R.string.pokemon_expired);
391410
}
392411

393412
long minutes = TimeUnit.MILLISECONDS.toMinutes(millis);
394413
millis -= TimeUnit.MINUTES.toMillis(minutes);
395414
long seconds = TimeUnit.MILLISECONDS.toSeconds(millis);
396415

397-
return(String.format("Expires in: %1$d:%2$02ds", minutes, seconds));
416+
return(getString(R.string.expiring_in)+String.format("%1$d:%2$02ds", minutes, seconds));
398417
}
399418

400419
/**
@@ -490,7 +509,7 @@ private void drawMarkerWithCircle(LatLng position){
490509

491510
userSelectedPositionMarker = mGoogleMap.addMarker(new MarkerOptions()
492511
.position(position)
493-
.title("Position Picked")
512+
.title(getString(R.string.position_picked))
494513
.icon(BitmapDescriptorFactory.fromBitmap(BitmapFactory.decodeResource(getContext().getResources(),
495514
R.drawable.ic_my_location_white_24dp)))
496515
.anchor(0.5f, 0.5f));
+153
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,153 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<resources>
3+
<string name="bulbasaur">Bisasam</string>
4+
<string name="ivysaur">Bisaknosp</string>
5+
<string name="venusaur">Bisaflor</string>
6+
<string name="charmander">Glumanda</string>
7+
<string name="charmeleon">Glutexo</string>
8+
<string name="charizard">Glurak</string>
9+
<string name="squirtle">Schiggy</string>
10+
<string name="wartortle">Schillok</string>
11+
<string name="blastoise">Turtok</string>
12+
<string name="caterpie">Raupy</string>
13+
<string name="metapod">Safcon</string>
14+
<string name="butterfree">Smettbo</string>
15+
<string name="weedle">Hornliu</string>
16+
<string name="kakuna">Kokuna</string>
17+
<string name="beedrill">Bibor</string>
18+
<string name="pidgey">Taubsi</string>
19+
<string name="pidgeotto">Tauboga</string>
20+
<string name="pidgeot">Tauboss</string>
21+
<string name="rattata">Rattfratz</string>
22+
<string name="raticate">Rattikarl</string>
23+
<string name="spearow">Habitak</string>
24+
<string name="fearow">Ibitak</string>
25+
<string name="ekans">Rettan</string>
26+
<string name="arbok">Arbok</string>
27+
<string name="pikachu">Pikachu</string>
28+
<string name="raichu">Raichu</string>
29+
<string name="sandshrew">Sandan</string>
30+
<string name="sandslash">Sandamer</string>
31+
<string name="nidoran_female">Nidoran♀</string>
32+
<string name="nidorina">Nidorina</string>
33+
<string name="nidoqueen">Nidoqueen</string>
34+
<string name="nidoran_male">Nidoran♂</string>
35+
<string name="nidorino">Nidorino</string>
36+
<string name="nidoking">Nidoking</string>
37+
<string name="clefairy">Piepi</string>
38+
<string name="clefable">Pixi</string>
39+
<string name="vulpix">Vulpix</string>
40+
<string name="ninetales">Vulnona</string>
41+
<string name="jigglypuff">Pummeluff</string>
42+
<string name="wigglytuff">Knuddeluff</string>
43+
<string name="zubat">Zubat</string>
44+
<string name="golbat">Golbat</string>
45+
<string name="oddish">Myrapla</string>
46+
<string name="gloom">Duflor</string>
47+
<string name="vileplume">Giflor</string>
48+
<string name="paras">Paras</string>
49+
<string name="parasect">Parasek</string>
50+
<string name="venonat">Bluzuk</string>
51+
<string name="venomoth">Omot</string>
52+
<string name="diglett">Digda</string>
53+
<string name="dugtrio">Digdri</string>
54+
<string name="meowth">Mauzi</string>
55+
<string name="persian">Snobilikat</string>
56+
<string name="psyduck">Enton</string>
57+
<string name="golduck">Entoron</string>
58+
<string name="mankey">Menki</string>
59+
<string name="primeape">Rasaff</string>
60+
<string name="growlithe">Fukano</string>
61+
<string name="arcanine">Arkani</string>
62+
<string name="poliwag">Quapsel</string>
63+
<string name="poliwhirl">Quaputzi</string>
64+
<string name="poliwrath">Quappo</string>
65+
<string name="abra">Abra</string>
66+
<string name="kadabra">Kadabra</string>
67+
<string name="alakazam">Simsala</string>
68+
<string name="machop">Machollo</string>
69+
<string name="machoke">Maschock</string>
70+
<string name="machamp">Machomei</string>
71+
<string name="bellsprout">Knofensa</string>
72+
<string name="weepinbell">Ultrigaria</string>
73+
<string name="victreebel">Sarzenia</string>
74+
<string name="tentacool">Tentacha</string>
75+
<string name="tentacruel">Tentoxa</string>
76+
<string name="geodude">Kleinstein</string>
77+
<string name="graveler">Georok</string>
78+
<string name="golem">Geowaz</string>
79+
<string name="ponyta">Ponita</string>
80+
<string name="rapidash">Gallopa</string>
81+
<string name="slowpoke">Flegmon</string>
82+
<string name="slowbro">Lahmus</string>
83+
<string name="magnemite">Magnetilo</string>
84+
<string name="magneton">Magneton</string>
85+
<string name="doduo">Dodu</string>
86+
<string name="dodrio">Dodri</string>
87+
<string name="seel">Jurob</string>
88+
<string name="dewgong">Jugong</string>
89+
<string name="grimer">Sleima</string>
90+
<string name="muk">Sleimok</string>
91+
<string name="shellder">Muschas</string>
92+
<string name="cloyster">Austos</string>
93+
<string name="gastly">Nebulak</string>
94+
<string name="haunter">Alpollo</string>
95+
<string name="gengar">Gengar</string>
96+
<string name="onix">Onix</string>
97+
<string name="drowzee">Traumato</string>
98+
<string name="hypno">Hypno</string>
99+
<string name="krabby">Krabby</string>
100+
<string name="kingler">Kingler</string>
101+
<string name="voltorb">Voltobal</string>
102+
<string name="electrode">Lektrobal</string>
103+
<string name="exeggcute">Owei</string>
104+
<string name="exeggutor">Kokowei</string>
105+
<string name="cubone">Tragosso</string>
106+
<string name="marowak">Knogga</string>
107+
<string name="hitmonlee">Kicklee</string>
108+
<string name="hitmonchan">Nockchan</string>
109+
<string name="lickitung">Schlurp</string>
110+
<string name="koffing">Smogon</string>
111+
<string name="weezing">Smogmog</string>
112+
<string name="rhyhorn">Rihorn</string>
113+
<string name="rhydon">Rizeros</string>
114+
<string name="chansey">Chaneira</string>
115+
<string name="tangela">Tangela</string>
116+
<string name="kangaskhan">Kangama</string>
117+
<string name="horsea">Seeper</string>
118+
<string name="seadra">Seemon</string>
119+
<string name="goldeen">Goldini</string>
120+
<string name="seaking">Golking</string>
121+
<string name="staryu">Sterndu</string>
122+
<string name="starmie">Starmie</string>
123+
<string name="mr_mime">Pantimos</string>
124+
<string name="scyther">Sichlor</string>
125+
<string name="jynx">Rossana</string>
126+
<string name="electabuzz">Elektek</string>
127+
<string name="magmar">Magmar</string>
128+
<string name="pinsir">Pinsir</string>
129+
<string name="tauros">Tauros</string>
130+
<string name="magikarp">Karpador</string>
131+
<string name="gyarados">Garados</string>
132+
<string name="lapras">Lapras</string>
133+
<string name="ditto">Ditto</string>
134+
<string name="eevee">Evoli</string>
135+
<string name="vaporeon">Aquana</string>
136+
<string name="jolteon">Blitza</string>
137+
<string name="flareon">Flamara</string>
138+
<string name="porygon">Porygon</string>
139+
<string name="omanyte">Amonitas</string>
140+
<string name="omastar">Amoroso</string>
141+
<string name="kabuto">Kabuto</string>
142+
<string name="kabutops">Kabutops</string>
143+
<string name="aerodactyl">Aerodactyl</string>
144+
<string name="snorlax">Relaxo</string>
145+
<string name="articuno">Arktos</string>
146+
<string name="zapdos">Zapdos</string>
147+
<string name="moltres">Lavados</string>
148+
<string name="dratini">Dratini</string>
149+
<string name="dragonair">Dragonir</string>
150+
<string name="dragonite">Dragoran</string>
151+
<string name="mewtwo">Mewtu</string>
152+
<string name="mew">Mew</string>
153+
</resources>
+58
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!--Translation by chrosey -->
3+
<resources>
4+
<string name="action_settings">Einstellungen</string>
5+
<string name="action_sign_in">Einloggen</string>
6+
<string name="action_relogin">Neu einloggen</string>
7+
<string name="error_field_required">Feld erforderlich</string>
8+
<string name="login_warning">Es wird empfohlen nicht den eigenen Account zu nutzen.
9+
Lege dir einen PTC account mit einem anderem Passwort und Emailadresse an,
10+
oder nutze einen Google Account der nicht mit deiner Emailadresse verknüpft ist.</string>
11+
<string name="login_warning_title">Warnung:</string>
12+
<string name="pref_cat_general">Allgemein</string>
13+
<string name="pref_cat_user_account">Benutzerkonto</string>
14+
<string name="pref_gyms_title">Zeige Arenen</string>
15+
<string name="pref_password">Passwort setzen</string>
16+
<string name="pref_pokestops_title">Zeige Pokestops</string>
17+
<string name="pref_username">Nutzernamen setzen</string>
18+
<string name="pref_warning">Anmerkung: Nutze nicht deinen Hauptaccount für diese App.
19+
Lege dir lieber einen zusätzlichen PTC Account mit anderem Passwort und Email an.</string>
20+
<string name="prompt_password">PTC Passwort</string>
21+
<string name="prompt_username">PTC Benutzername</string>
22+
<string name="request_credentials_title">Gib deine Pokemon Go Zugangsdaten ein</string>
23+
<string name="search_pokemon_map_suggestion">(Lange gedrückt halten zum Ändern der Suchposition)</string>
24+
<string name="title_activity_maps">Karte</string>
25+
<string name="title_activity_poke_map">Pokemon in der Nähe</string>
26+
<string name="toast_credentials">Login fehlerhaft. Bitte überprüfe deine Zugangsdaten.</string>
27+
<string name="pref_default_username">Max Mustermann</string>
28+
<string name="toast_login_successful">Login erfolgreich.</string>
29+
<string name="toast_searching">Suche...</string>
30+
<string name="toast_server_unreachable">Pokemon GO Server nicht erreichbar. Eventuell sind die Server offline.</string>
31+
<string name="toast_token_expired">Der Logintoken ist abgelaufen. Hole einen neuen.</string>
32+
<string name="ban">gebannt</string>
33+
<string name="minutes">" Minuten "</string>
34+
<string name="pokemon_disappearing_in">"Verschwindet in: "</string>
35+
<string name="pokemon_expired">Abgelaufen</string>
36+
<string name="pokemon_found_new">" neue fangbare Pokemon wurden gefunden."</string>
37+
<string name="position_picked">Gewählte Position</string>
38+
<string name="seconds">" Sekunden"</string>
39+
<string name="toast_localization_waiting">Warte auf Koordinaten...</string>
40+
<string name="toast_map_not_initialized">Die Karte ist nicht initialisiert.</string>
41+
<string name="toast_user_found">Hab dich!</string>
42+
<string name="farfetch_d">Porenta</string>
43+
<string name="action_clearmap">Karte leeren</string>
44+
<string name="action_logout">Logout</string>
45+
<string name="pref_scanned_title">Zeige gescannte Bereiche</string>
46+
<string name="pref_service_enable_title">Aktivieren</string>
47+
<string name="pref_service_refresh_summary">Anzahl Sekunden nach der der Dienst aktualisieren soll.</string>
48+
<string name="pref_service_refresh_title">Aktualisierungsrate</string>
49+
<string name="enable_location_permission_message">Bitte genehmige GPS-Erlaubnis für die App.</string>
50+
<string name="enable_location_permission_title">Aktiviere GPS-Erlaubnis</string>
51+
<string name="expiring_in">"Läuft ab in: "</string>
52+
<string name="pokemon_found_none">Keine neuen Pokemon gefunden.</string>
53+
<string name="toast_internal_error">Ein interner Fehler ist aufgetreten. Das kann passieren wenn dein Gerät oder die Server offline sind.</string>
54+
<string name="toast_login_error">Fehler beim einloggen.</string>
55+
<string name="toast_no_location">Fehler bei der GPS-Ortung.</string>
56+
<string name="toast_pokemon_found_count">" Pokemon gefunden"</string>
57+
<string name="toast_ptc_login_error">PTC Login gescheitert</string>
58+
</resources>

0 commit comments

Comments
 (0)