From ab600a0bb783bb9d2b2c63e921371be7fa204dd4 Mon Sep 17 00:00:00 2001 From: NudeDude Date: Thu, 2 Aug 2018 12:48:24 +0200 Subject: [PATCH] Added english translation removed hardwired strings --- .../nuclearfog/twidda/backend/ImagePopup.java | 2 +- .../nuclearfog/twidda/backend/MainPage.java | 12 ++-- .../twidda/backend/ProfileLoader.java | 19 +++--- .../twidda/backend/Registration.java | 5 +- .../twidda/backend/StatusLoader.java | 2 +- .../twidda/backend/StatusUpload.java | 6 +- .../twidda/backend/TwitterSearch.java | 14 ++--- .../nuclearfog/twidda/backend/UserLists.java | 13 ++-- .../nuclearfog/twidda/window/AppSettings.java | 4 +- .../nuclearfog/twidda/window/LoginPage.java | 8 +-- .../nuclearfog/twidda/window/TweetDetail.java | 8 +-- .../nuclearfog/twidda/window/TweetPopup.java | 2 +- app/src/main/res/values-de-rDE/strings.xml | 51 +++++++++++++++ app/src/main/res/values/strings.xml | 62 +++++++++++-------- 14 files changed, 139 insertions(+), 69 deletions(-) create mode 100644 app/src/main/res/values-de-rDE/strings.xml diff --git a/app/src/main/java/org/nuclearfog/twidda/backend/ImagePopup.java b/app/src/main/java/org/nuclearfog/twidda/backend/ImagePopup.java index ee88d203..7a6d53d9 100644 --- a/app/src/main/java/org/nuclearfog/twidda/backend/ImagePopup.java +++ b/app/src/main/java/org/nuclearfog/twidda/backend/ImagePopup.java @@ -73,7 +73,7 @@ public class ImagePopup extends AsyncTask { } return true; } catch (Exception err) { - errorLog.add("Image load: "+err.getMessage()); + errorLog.add("E: " + err.getMessage()); return false; } } diff --git a/app/src/main/java/org/nuclearfog/twidda/backend/MainPage.java b/app/src/main/java/org/nuclearfog/twidda/backend/MainPage.java index 60ad5731..0ff3da3c 100644 --- a/app/src/main/java/org/nuclearfog/twidda/backend/MainPage.java +++ b/app/src/main/java/org/nuclearfog/twidda/backend/MainPage.java @@ -41,6 +41,7 @@ public class MainPage extends AsyncTask { private String errMsg; private int highlight, font; private boolean image; + private int retryAfter = 0; /** * Main View @@ -159,15 +160,15 @@ public class MainPage extends AsyncTask { } catch(TwitterException e) { int errCode = e.getErrorCode(); if(errCode == 420) { - int retry = e.getRetryAfter(); - errMsg = "Rate limit erreicht!\n Weiter in "+retry+" Sekunden"; + retryAfter = e.getRetryAfter(); } else { - errMsg = "Fehler: "+e.getMessage(); + String errMsg = "E: " + e.getMessage(); + errorLog.add(errMsg); } return FAIL; } catch (Exception e) { - errMsg = "Main Page: "+e.getMessage(); + String errMsg = "E: Main Page, " + e.getMessage(); if(ui.get() != null) { errorLog.add(errMsg); } @@ -205,7 +206,8 @@ public class MainPage extends AsyncTask { break; case FAIL: - Toast.makeText(connect,errMsg, Toast.LENGTH_LONG).show(); + if (retryAfter > 0) + Toast.makeText(connect, R.string.rate_limit_exceeded, Toast.LENGTH_LONG).show(); default: timelineRefresh.setRefreshing(false); trendRefresh.setRefreshing(false); diff --git a/app/src/main/java/org/nuclearfog/twidda/backend/ProfileLoader.java b/app/src/main/java/org/nuclearfog/twidda/backend/ProfileLoader.java index 03f120e6..ee62f49b 100644 --- a/app/src/main/java/org/nuclearfog/twidda/backend/ProfileLoader.java +++ b/app/src/main/java/org/nuclearfog/twidda/backend/ProfileLoader.java @@ -45,7 +45,7 @@ public class ProfileLoader extends AsyncTask { private TimelineRecycler homeTl, homeFav; private WeakReference ui; private TwitterEngine mTwitter; - private String errMsg = ""; + private ErrorLog errorLog; private int font, highlight; private long homeId; private boolean imgEnabled; @@ -55,6 +55,7 @@ public class ProfileLoader extends AsyncTask { private boolean isVerified = false; private boolean isLocked = false; private boolean blocked = false; + private int retryAfter = 0; /** * @param context Context to Activity @@ -64,6 +65,7 @@ public class ProfileLoader extends AsyncTask { ui = new WeakReference<>((UserProfile)context); mTwitter = TwitterEngine.getInstance(context); GlobalSettings settings = GlobalSettings.getInstance(context); + errorLog = new ErrorLog(ui.get()); font = settings.getFontColor(); highlight = settings.getHighlightColor(); imgEnabled = settings.loadImages(); @@ -187,18 +189,16 @@ public class ProfileLoader extends AsyncTask { } catch (TwitterException err) { int errCode = err.getErrorCode(); if(errCode == 420) { - int retry = err.getRetryAfter(); - errMsg = "Rate limit erreicht!\n Weiter in "+retry+" Sekunden"; + retryAfter = err.getRetryAfter(); } else if(errCode != 136) { - errMsg = err.getMessage(); + String errMsg = "E: " + err.getMessage(); + errorLog.add(errMsg); } return FAILURE; } catch(Exception err) { - errMsg = "Profile Load: "+err.getMessage(); - err.printStackTrace(); - ErrorLog errorLog = new ErrorLog(ui.get()); + String errMsg = "E: Profile Load, " + err.getMessage(); errorLog.add(errMsg); return FAILURE; } @@ -285,11 +285,14 @@ public class ProfileLoader extends AsyncTask { } else if(mode == FAILURE) { - Toast.makeText(connect,errMsg,Toast.LENGTH_LONG).show(); SwipeRefreshLayout tweetsReload = connect.findViewById(R.id.hometweets); SwipeRefreshLayout favoritsReload = connect.findViewById(R.id.homefavorits); tweetsReload.setRefreshing(false); favoritsReload.setRefreshing(false); + + if (retryAfter > 0) { + Toast.makeText(connect, R.string.rate_limit_exceeded, Toast.LENGTH_LONG).show(); + } } if(!isHome && (mode==ACTION_FOLLOW||mode==ACTION_MUTE||mode==GET_INFORMATION)) { Toolbar tool = connect.findViewById(R.id.profile_toolbar); diff --git a/app/src/main/java/org/nuclearfog/twidda/backend/Registration.java b/app/src/main/java/org/nuclearfog/twidda/backend/Registration.java index c80cc09b..b0b45cda 100644 --- a/app/src/main/java/org/nuclearfog/twidda/backend/Registration.java +++ b/app/src/main/java/org/nuclearfog/twidda/backend/Registration.java @@ -39,10 +39,11 @@ public class Registration extends AsyncTask { return true; } } catch(TwitterException e) { - errorMessage = e.getErrorMessage(); + errorMessage = "E: " + e.getErrorMessage(); + errorLog.add(errorMessage); } catch ( Exception e ) { - errorMessage = "Registration: "+e.getMessage(); + errorMessage = "E: Registration, " + e.getMessage(); errorLog.add(errorMessage); } return false; diff --git a/app/src/main/java/org/nuclearfog/twidda/backend/StatusLoader.java b/app/src/main/java/org/nuclearfog/twidda/backend/StatusLoader.java index d0ab0f00..78c62f4e 100644 --- a/app/src/main/java/org/nuclearfog/twidda/backend/StatusLoader.java +++ b/app/src/main/java/org/nuclearfog/twidda/backend/StatusLoader.java @@ -403,6 +403,6 @@ public class StatusLoader extends AsyncTask { } public interface OnMediaClick { - void onMediaClicked(String medialinks[]); + void onMediaClicked(String mediaLinks[]); } } \ No newline at end of file diff --git a/app/src/main/java/org/nuclearfog/twidda/backend/StatusUpload.java b/app/src/main/java/org/nuclearfog/twidda/backend/StatusUpload.java index 18c4423f..46a8f9b1 100644 --- a/app/src/main/java/org/nuclearfog/twidda/backend/StatusUpload.java +++ b/app/src/main/java/org/nuclearfog/twidda/backend/StatusUpload.java @@ -54,7 +54,7 @@ public class StatusUpload extends AsyncTask implements On } return true; } catch(Exception err) { - errorLog.add("Status Upload: "+err.getMessage()); + errorLog.add("E: Upload, " + err.getMessage()); return false; } } @@ -66,11 +66,11 @@ public class StatusUpload extends AsyncTask implements On return; Context context = connect.getApplicationContext(); if(success) { - Toast.makeText(context, "gesendet!", Toast.LENGTH_LONG).show(); + Toast.makeText(context, R.string.tweet_sent, Toast.LENGTH_LONG).show(); connect.finish(); } else { AlertDialog.Builder builder = new AlertDialog.Builder(ui.get()); - builder.setTitle("Fehler").setMessage("Tweet wurde nicht gesendet!") + builder.setTitle(R.string.error).setMessage(R.string.error_sending_tweet) .setPositiveButton(R.string.retry, this) .setNegativeButton(R.string.cancel, this).show(); View load = ui.get().findViewById(R.id.tweet_sending); diff --git a/app/src/main/java/org/nuclearfog/twidda/backend/TwitterSearch.java b/app/src/main/java/org/nuclearfog/twidda/backend/TwitterSearch.java index afa9a0cc..a47d8cdf 100644 --- a/app/src/main/java/org/nuclearfog/twidda/backend/TwitterSearch.java +++ b/app/src/main/java/org/nuclearfog/twidda/backend/TwitterSearch.java @@ -28,8 +28,8 @@ public class TwitterSearch extends AsyncTask { private ErrorLog errorLog; private WeakReference ui; private int highlight, font_color; - private String errorMessage; private boolean imageLoad; + private int retryAfter = 0; public TwitterSearch(Context context) { ui = new WeakReference<>((SearchPage)context); @@ -83,13 +83,13 @@ public class TwitterSearch extends AsyncTask { } catch (TwitterException err) { int errCode = err.getErrorCode(); if(errCode == 420) { - int retry = err.getRetryAfter(); - errorMessage = "Rate limit erreicht!\n Weiter in "+retry+" Sekunden"; + retryAfter = err.getRetryAfter(); } else { - errorMessage = "Fehler beim Laden: "+err.getErrorMessage(); + String errorMessage = "E: " + err.getErrorMessage(); + errorLog.add(errorMessage); } } catch(Exception err) { - errorMessage = "Twitter search: "+err.getMessage(); + String errorMessage = "E: Twitter search, " + err.getMessage(); errorLog.add(errorMessage); } return null; @@ -101,8 +101,8 @@ public class TwitterSearch extends AsyncTask { SearchPage connect = ui.get(); if(connect == null) return; - if(errorMessage != null) { - Toast.makeText(connect,errorMessage,Toast.LENGTH_LONG).show(); + if (retryAfter > 0) { + Toast.makeText(connect, R.string.rate_limit_exceeded, Toast.LENGTH_LONG).show(); } SwipeRefreshLayout tweetReload = connect.findViewById(R.id.searchtweets); diff --git a/app/src/main/java/org/nuclearfog/twidda/backend/UserLists.java b/app/src/main/java/org/nuclearfog/twidda/backend/UserLists.java index a25ef880..7925c757 100644 --- a/app/src/main/java/org/nuclearfog/twidda/backend/UserLists.java +++ b/app/src/main/java/org/nuclearfog/twidda/backend/UserLists.java @@ -28,8 +28,8 @@ public class UserLists extends AsyncTask { private TwitterEngine mTwitter; private UserRecycler usrAdp; private ErrorLog errorLog; - private String errorMessage; private boolean imageLoad; + private int retryAfter = 0; /** *@see UserDetail @@ -73,14 +73,14 @@ public class UserLists extends AsyncTask { catch(TwitterException err) { int errCode = err.getErrorCode(); if(errCode == 420) { - int retry = err.getRetryAfter(); - errorMessage = "Rate limit erreicht!\n Weiter in "+retry+" Sekunden"; + retryAfter = err.getRetryAfter(); } else { - errorMessage = "Fehler: "+err.getMessage(); + String errorMessage = "E: " + err.getMessage(); + errorLog.add(errorMessage); } return false; } catch(Exception err) { - errorMessage = "Userlist: "+err.getMessage(); + String errorMessage = "E: Userlist, " + err.getMessage(); errorLog.add(errorMessage); return false; } @@ -97,7 +97,8 @@ public class UserLists extends AsyncTask { if(success) { usrAdp.notifyDataSetChanged(); } else { - Toast.makeText(ui.get(),errorMessage,Toast.LENGTH_LONG).show(); + if (retryAfter > 0) + Toast.makeText(ui.get(), R.string.rate_limit_exceeded, Toast.LENGTH_LONG).show(); } } } \ No newline at end of file diff --git a/app/src/main/java/org/nuclearfog/twidda/window/AppSettings.java b/app/src/main/java/org/nuclearfog/twidda/window/AppSettings.java index 67ec1bb2..5674adce 100644 --- a/app/src/main/java/org/nuclearfog/twidda/window/AppSettings.java +++ b/app/src/main/java/org/nuclearfog/twidda/window/AppSettings.java @@ -107,7 +107,7 @@ public class AppSettings extends AppCompatActivity implements OnClickListener, switch(v.getId()) { case R.id.delete_db: new AlertDialog.Builder(this) - .setMessage("Datenbank löschen?") + .setMessage(R.string.delete_database_popup) .setNegativeButton(R.string.no_confirm, null) .setPositiveButton(R.string.yes_confirm, new DialogInterface.OnClickListener() { @Override @@ -239,6 +239,6 @@ public class AppSettings extends AppCompatActivity implements OnClickListener, settings.setWoeId(wId); settings.setRowLimit(row); settings.setWoeIdSelection(woeIdPos); - Toast.makeText(getApplicationContext(),"Gespeichert",Toast.LENGTH_SHORT).show(); + Toast.makeText(getApplicationContext(), R.string.saved, Toast.LENGTH_SHORT).show(); } } \ No newline at end of file diff --git a/app/src/main/java/org/nuclearfog/twidda/window/LoginPage.java b/app/src/main/java/org/nuclearfog/twidda/window/LoginPage.java index a4bbd29f..4faaafe2 100644 --- a/app/src/main/java/org/nuclearfog/twidda/window/LoginPage.java +++ b/app/src/main/java/org/nuclearfog/twidda/window/LoginPage.java @@ -49,7 +49,7 @@ public class LoginPage extends Activity implements OnClickListener, OnConnect { if(!twitterPin.trim().isEmpty()) { new Registration(this).execute(twitterPin); } else { - Toast.makeText(getApplicationContext(),"PIN eingeben!",Toast.LENGTH_LONG).show(); + Toast.makeText(getApplicationContext(), R.string.enter_pin, Toast.LENGTH_LONG).show(); } break; @@ -59,9 +59,9 @@ public class LoginPage extends Activity implements OnClickListener, OnConnect { String text = clip.getPrimaryClip().getItemAt(0).getText().toString(); if(text.matches("\\d++\n?")) { pin.setText(text); - Toast.makeText(getApplicationContext(),"Eingefügt!",Toast.LENGTH_LONG).show(); + Toast.makeText(getApplicationContext(), R.string.pin_added, Toast.LENGTH_LONG).show(); } else { - Toast.makeText(getApplicationContext(),"Falsches Format!",Toast.LENGTH_LONG).show(); + Toast.makeText(getApplicationContext(), R.string.false_format, Toast.LENGTH_LONG).show(); } } break; @@ -78,7 +78,7 @@ public class LoginPage extends Activity implements OnClickListener, OnConnect { startActivity(browser); } } else { - Toast.makeText(this, "Keine Verbindung!", Toast.LENGTH_SHORT).show(); + Toast.makeText(this, R.string.connection_failed, Toast.LENGTH_SHORT).show(); } } } \ No newline at end of file diff --git a/app/src/main/java/org/nuclearfog/twidda/window/TweetDetail.java b/app/src/main/java/org/nuclearfog/twidda/window/TweetDetail.java index e033033a..12bf5407 100644 --- a/app/src/main/java/org/nuclearfog/twidda/window/TweetDetail.java +++ b/app/src/main/java/org/nuclearfog/twidda/window/TweetDetail.java @@ -136,7 +136,7 @@ public class TweetDetail extends AppCompatActivity implements OnClickListener, case R.id.delete: AlertDialog.Builder alerta = new AlertDialog.Builder(this); - alerta.setMessage("Tweet löschen?"); + alerta.setMessage(R.string.delete_tweet); alerta.setPositiveButton(R.string.yes_confirm, this); alerta.setNegativeButton(R.string.no_confirm, this); alerta.show(); @@ -145,11 +145,11 @@ public class TweetDetail extends AppCompatActivity implements OnClickListener, case R.id.timedetail: if (mConnect.getActiveNetworkInfo() != null && mConnect.getActiveNetworkInfo().isConnected()) { intent = new Intent(Intent.ACTION_VIEW); - String tweetlink = "https://twitter.com/" + username + "/status/" + tweetID; - intent.setData(Uri.parse(tweetlink)); + String tweetLink = "https://twitter.com/" + username + "/status/" + tweetID; + intent.setData(Uri.parse(tweetLink)); startActivity(intent); } else { - Toast.makeText(this, "Keine Verbindung!", Toast.LENGTH_SHORT).show(); + Toast.makeText(this, R.string.connection_failed, Toast.LENGTH_SHORT).show(); } break; diff --git a/app/src/main/java/org/nuclearfog/twidda/window/TweetPopup.java b/app/src/main/java/org/nuclearfog/twidda/window/TweetPopup.java index 9a24074e..00d66453 100644 --- a/app/src/main/java/org/nuclearfog/twidda/window/TweetPopup.java +++ b/app/src/main/java/org/nuclearfog/twidda/window/TweetPopup.java @@ -147,7 +147,7 @@ public class TweetPopup extends AppCompatActivity implements OnClickListener, private void showClosingMsg() { if( !addition.equals(tweet.getText().toString()) || imgIndex > 0) { AlertDialog.Builder alerta = new AlertDialog.Builder(this); - alerta.setMessage("Tweet verwerfen?"); + alerta.setMessage(R.string.should_cancel_tweet); alerta.setPositiveButton(R.string.yes_confirm,this); alerta.setNegativeButton(R.string.no_confirm,null); alerta.show(); diff --git a/app/src/main/res/values-de-rDE/strings.xml b/app/src/main/res/values-de-rDE/strings.xml new file mode 100644 index 00000000..6d6889b5 --- /dev/null +++ b/app/src/main/res/values-de-rDE/strings.xml @@ -0,0 +1,51 @@ + + + Shitter + Schrift + Hervorhebung + verifiziert + Ja + Nein + Großbild + Privat + Anzahl Tweets + Folgt dir + Block + folgen + wiederholen + verwerfen + fehlermeldungen + Farb einstellungen + Datenverbrauch + Trendeinstellung + Datenbank + Profil + app registrieren + Login + PIN + profilbild + Tweet + Einstellungen + Zurück + Bilder Laden + Datenbank Löschen + Suche + following + follower + Retweet + favorisieren + Hintergrund + Popup + Tweet verwerfen? + Tweet löschen? + Verbindung fehlgeschlagen + PIN eingeben! + PIN eingefügt! + Falsches Format! + Datenbank löschen? + gesichert + Abrufgrenze überschritten! + Fehler beim Senden! + Tweet gesendet + Fehler! + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 816f827b..82ec1632 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,38 +1,50 @@ Shitter - profilbild + profile image PIN - Verifizieren - Link - Profil + login Tweet - Einstellungen + Settings Back - Bilder Laden - Datenbank Löschen - Suche Following Follower Retweet Favorite - Hintergrund - Schrift + Background + Font Popup Highlight - Verifiziert - Ja - Nein - Vollbild - Privates Profil - Anzahl Tweets - Folgt dir + verified + Yes + No + big image + locked + tweet count Block - folgen - Wiederholen - Verwerfen - Fehlerspeicher - Farbeinstellungen - Datenverbrauch - Trendeinstellung - Speicher + follow + retry + cancel + error messages + Color Settings + follows you + data consumption + trend setting + database + profile + app registry + load images + delete database + search + cancel tweet? + delete tweet? + connection failed + Enter PIN + PIN added! + not valid! + delete database? + saved + Rate limit exceeded + error while sending + tweet sent + Error! \ No newline at end of file