Added english translation

removed hardwired strings
This commit is contained in:
NudeDude 2018-08-02 12:48:24 +02:00
parent 37fe57444e
commit ab600a0bb7
14 changed files with 139 additions and 69 deletions

View File

@ -73,7 +73,7 @@ public class ImagePopup extends AsyncTask<String, Void, Boolean> {
}
return true;
} catch (Exception err) {
errorLog.add("Image load: "+err.getMessage());
errorLog.add("E: " + err.getMessage());
return false;
}
}

View File

@ -41,6 +41,7 @@ public class MainPage extends AsyncTask<Integer, Void, Integer> {
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<Integer, Void, Integer> {
} 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<Integer, Void, Integer> {
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);

View File

@ -45,7 +45,7 @@ public class ProfileLoader extends AsyncTask<Long,Void,Long> {
private TimelineRecycler homeTl, homeFav;
private WeakReference<UserProfile> 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<Long,Void,Long> {
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<Long,Void,Long> {
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<Long,Void,Long> {
} 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<Long,Void,Long> {
}
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);

View File

@ -39,10 +39,11 @@ public class Registration extends AsyncTask<String, Void, Boolean> {
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;

View File

@ -403,6 +403,6 @@ public class StatusLoader extends AsyncTask<Long, Void, Long> {
}
public interface OnMediaClick {
void onMediaClicked(String medialinks[]);
void onMediaClicked(String mediaLinks[]);
}
}

View File

@ -54,7 +54,7 @@ public class StatusUpload extends AsyncTask<Object, Void, Boolean> 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<Object, Void, Boolean> 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);

View File

@ -28,8 +28,8 @@ public class TwitterSearch extends AsyncTask<String, Void, Void> {
private ErrorLog errorLog;
private WeakReference<SearchPage> 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<String, Void, Void> {
} 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<String, Void, Void> {
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);

View File

@ -28,8 +28,8 @@ public class UserLists extends AsyncTask <Long, Void, Boolean> {
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 <Long, Void, Boolean> {
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 <Long, Void, Boolean> {
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();
}
}
}

View File

@ -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();
}
}

View File

@ -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();
}
}
}

View File

@ -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;

View File

@ -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();

View File

@ -0,0 +1,51 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Shitter</string>
<string name="font">Schrift</string>
<string name="highlight">Hervorhebung</string>
<string name="verify">verifiziert</string>
<string name="yes_confirm">Ja</string>
<string name="no_confirm">Nein</string>
<string name="fullimg">Großbild</string>
<string name="profile_locked">Privat</string>
<string name="load_factor">Anzahl Tweets</string>
<string name="followback">Folgt dir</string>
<string name="block">Block</string>
<string name="follow">folgen</string>
<string name="retry">wiederholen</string>
<string name="cancel">verwerfen</string>
<string name="errorstack_button">fehlermeldungen</string>
<string name="color_settings">Farb einstellungen</string>
<string name="data_load">Datenverbrauch</string>
<string name="trend_setting">Trendeinstellung</string>
<string name="database">Datenbank</string>
<string name="profile">Profil</string>
<string name="register_link">app registrieren</string>
<string name="verifierbutton">Login</string>
<string name="pin">PIN</string>
<string name="profile_image">profilbild</string>
<string name="tweet">Tweet</string>
<string name="settings">Einstellungen</string>
<string name="back">Zurück</string>
<string name="image">Bilder Laden</string>
<string name="delete_database">Datenbank Löschen</string>
<string name="search">Suche</string>
<string name="following">following</string>
<string name="follower">follower</string>
<string name="retweet">Retweet</string>
<string name="favorite">favorisieren</string>
<string name="background">Hintergrund</string>
<string name="popup">Popup</string>
<string name="should_cancel_tweet">Tweet verwerfen?</string>
<string name="delete_tweet">Tweet löschen?</string>
<string name="connection_failed">Verbindung fehlgeschlagen</string>
<string name="enter_pin">PIN eingeben!</string>
<string name="pin_added">PIN eingefügt!</string>
<string name="false_format">Falsches Format!</string>
<string name="delete_database_popup">Datenbank löschen?</string>
<string name="saved">gesichert</string>
<string name="rate_limit_exceeded">Abrufgrenze überschritten!</string>
<string name="error_sending_tweet">Fehler beim Senden!</string>
<string name="tweet_sent">Tweet gesendet</string>
<string name="error">Fehler!</string>
</resources>

View File

@ -1,38 +1,50 @@
<resources>
<string name="app_name">Shitter</string>
<string name="profile_image">profilbild</string>
<string name="profile_image">profile image</string>
<string name="pin">PIN</string>
<string name="verifierbutton">Verifizieren</string>
<string name="register_link">Link</string>
<string name="profile">Profil</string>
<string name="verifierbutton">login</string>
<string name="tweet">Tweet</string>
<string name="settings">Einstellungen</string>
<string name="settings">Settings</string>
<string name="back">Back</string>
<string name="image">Bilder Laden</string>
<string name="delete_database">Datenbank Löschen</string>
<string name="search">Suche</string>
<string name="following">Following</string>
<string name="follower">Follower</string>
<string name="retweet">Retweet</string>
<string name="favorite">Favorite</string>
<string name="background">Hintergrund</string>
<string name="font">Schrift</string>
<string name="background">Background</string>
<string name="font">Font</string>
<string name="popup">Popup</string>
<string name="highlight">Highlight</string>
<string name="verify">Verifiziert</string>
<string name="yes_confirm">Ja</string>
<string name="no_confirm">Nein</string>
<string name="fullimg">Vollbild</string>
<string name="profile_locked">Privates Profil</string>
<string name="load_factor">Anzahl Tweets</string>
<string name="followback">Folgt dir</string>
<string name="verify">verified</string>
<string name="yes_confirm">Yes</string>
<string name="no_confirm">No</string>
<string name="fullimg">big image</string>
<string name="profile_locked">locked</string>
<string name="load_factor">tweet count</string>
<string name="block">Block</string>
<string name="follow">folgen</string>
<string name="retry">Wiederholen</string>
<string name="cancel">Verwerfen</string>
<string name="errorstack_button">Fehlerspeicher</string>
<string name="color_settings">Farbeinstellungen</string>
<string name="data_load">Datenverbrauch</string>
<string name="trend_setting">Trendeinstellung</string>
<string name="database">Speicher</string>
<string name="follow">follow</string>
<string name="retry">retry</string>
<string name="cancel">cancel</string>
<string name="errorstack_button">error messages</string>
<string name="color_settings">Color Settings</string>
<string name="followback">follows you</string>
<string name="data_load">data consumption</string>
<string name="trend_setting">trend setting</string>
<string name="database">database</string>
<string name="profile">profile</string>
<string name="register_link">app registry</string>
<string name="image">load images</string>
<string name="delete_database">delete database</string>
<string name="search">search</string>
<string name="should_cancel_tweet">cancel tweet?</string>
<string name="delete_tweet">delete tweet?</string>
<string name="connection_failed">connection failed</string>
<string name="enter_pin">Enter PIN</string>
<string name="pin_added">PIN added!</string>
<string name="false_format">not valid!</string>
<string name="delete_database_popup">delete database?</string>
<string name="saved">saved</string>
<string name="rate_limit_exceeded">Rate limit exceeded</string>
<string name="error_sending_tweet">error while sending</string>
<string name="tweet_sent">tweet sent</string>
<string name="error">Error!</string>
</resources>