diff --git a/.gitignore b/.gitignore index 26ef1d09..60b55eeb 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,7 @@ build/ # User-specific configurations local.properties +crowdin.yaml .idea .idea/libraries/ diff --git a/.hidden b/.hidden new file mode 100755 index 00000000..8a68f745 --- /dev/null +++ b/.hidden @@ -0,0 +1,8 @@ +build +crowdin.yaml +diaspora-android.iml +gradle +gradle.properties +gradlew +gradlew.bat +local.properties diff --git a/app/src/main/java/com/github/dfa/diaspora_android/activity/MainActivity.java b/app/src/main/java/com/github/dfa/diaspora_android/activity/MainActivity.java index 17628f0a..a8535795 100644 --- a/app/src/main/java/com/github/dfa/diaspora_android/activity/MainActivity.java +++ b/app/src/main/java/com/github/dfa/diaspora_android/activity/MainActivity.java @@ -84,6 +84,7 @@ import com.github.dfa.diaspora_android.listener.WebUserProfileChangedListener; import com.github.dfa.diaspora_android.ui.ContextMenuWebView; import com.github.dfa.diaspora_android.ui.CustomWebViewClient; import com.github.dfa.diaspora_android.util.Helpers; +import com.github.dfa.diaspora_android.util.WebHelper; import org.json.JSONException; @@ -114,14 +115,12 @@ public class MainActivity extends AppCompatActivity public static final String ACTION_CHANGE_ACCOUNT = "com.github.dfa.diaspora_android.MainActivity.change_account"; public static final String ACTION_CLEAR_CACHE = "com.github.dfa.diaspora_android.MainActivity.clear_cache"; public static final String ACTION_UPDATE_TITLE_FROM_URL = "com.github.dfa.diaspora_android.MainActivity.set_title"; + public static final String ACTION_RELOAD_ACTIVITY = "com.github.dfa.diaspora_android.MainActivity.reload_activity"; public static final String URL_MESSAGE = "URL_MESSAGE"; public static final String EXTRA_URL = "com.github.dfa.diaspora_android.extra_url"; private App app; private String podDomain; - private Menu menu; - private int notificationCount = 0; - private int conversationCount = 0; private ValueCallback mFilePathCallback; private String mCameraPhotoPath; private WebSettings webSettings; @@ -219,7 +218,7 @@ public class MainActivity extends AppCompatActivity .setAction(android.R.string.yes, new View.OnClickListener() { @Override public void onClick(View view) { - if (Helpers.isOnline(MainActivity.this)) { + if (WebHelper.isOnline(MainActivity.this)) { webView.loadUrl("https://" + podDomain + "/notifications"); } else { Snackbar.make(contentLayout, R.string.no_internet, Snackbar.LENGTH_LONG).show(); @@ -236,7 +235,7 @@ public class MainActivity extends AppCompatActivity String url = "https://" + podDomain; if (savedInstanceState == null) { - if (Helpers.isOnline(MainActivity.this)) { + if (WebHelper.isOnline(MainActivity.this)) { webView.loadData("", "text/html", null); webView.loadUrl(url); } else { @@ -291,7 +290,6 @@ public class MainActivity extends AppCompatActivity webViewClient = new CustomWebViewClient(app, webView); webView.setWebViewClient(webViewClient); - /* * WebChromeClient */ @@ -301,19 +299,15 @@ public class MainActivity extends AppCompatActivity progressBar.setProgress(progress); if (progress > 0 && progress <= 60) { - Helpers.getNotificationCount(wv); - Helpers.getUserProfile(wv); + WebHelper.getUserProfile(wv); + WebHelper.optimizeMobileSiteLayout(wv); } if (progress > 60) { - Helpers.applyDiasporaMobileSiteChanges(wv); + WebHelper.optimizeMobileSiteLayout(wv); } - if (progress == 100) { - progressBar.setVisibility(View.GONE); - } else { - progressBar.setVisibility(View.VISIBLE); - } + progressBar.setVisibility(progress == 100 ? View.GONE : View.VISIBLE); } @Override @@ -394,6 +388,10 @@ public class MainActivity extends AppCompatActivity app.getAvatarImageLoader().startImageDownload(navheaderImage, appSettings.getAvatarUrl()); } } + + Menu navMenu = navView.getMenu(); + navMenu.findItem(R.id.nav_exit).setVisible(appSettings.isShowExitButtonInNavAlso()); + } @OnClick(R.id.toolbar) @@ -440,6 +438,9 @@ public class MainActivity extends AppCompatActivity Helpers.animateToActivity(MainActivity.this, PodSelectionActivity.class, true); } else if (ACTION_CLEAR_CACHE.equals(action)) { webView.clearCache(true); + } else if (ACTION_RELOAD_ACTIVITY.equals(action)) { + recreate(); + return; } else if (Intent.ACTION_SEND.equals(action) && type != null) { switch (type) { case "text/plain": @@ -515,9 +516,11 @@ public class MainActivity extends AppCompatActivity if (webView.canGoBack()) { webView.goBack(); - } else { - if (!snackbarExitApp.isShown()) - snackbarExitApp.show(); + return; + } + + if (!snackbarExitApp.isShown()) { + snackbarExitApp.show(); } } @@ -578,20 +581,19 @@ public class MainActivity extends AppCompatActivity @Override public boolean onPrepareOptionsMenu(Menu menu) { - this.menu = menu; MenuItem itemNotification = menu.findItem(R.id.action_notifications); if (itemNotification != null) { - if (notificationCount > 0) { - itemNotification.setIcon(R.drawable.ic_bell_ring_white_24dp); + if (podUserProfile.getNotificationCount() > 0) { + itemNotification.setIcon(R.drawable.ic_notifications_colored_48px); } else { - itemNotification.setIcon(R.drawable.ic_bell_outline_white_24dp); + itemNotification.setIcon(R.drawable.ic_notifications_white_48px); } MenuItem itemConversation = menu.findItem(R.id.action_conversations); - if (conversationCount > 0) { - itemConversation.setIcon(R.drawable.ic_message_text_white_24dp); + if (podUserProfile.getUnreadMessagesCount() > 0) { + itemConversation.setIcon(R.drawable.ic_email_colored_48px); } else { - itemConversation.setIcon(R.drawable.ic_message_text_outline_white_24dp); + itemConversation.setIcon(R.drawable.ic_mail_white_48px); } } return super.onPrepareOptionsMenu(menu); @@ -601,7 +603,7 @@ public class MainActivity extends AppCompatActivity public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.action_notifications: { - if (Helpers.isOnline(MainActivity.this)) { + if (WebHelper.isOnline(MainActivity.this)) { webView.loadUrl("https://" + podDomain + "/notifications"); return true; } else { @@ -611,7 +613,7 @@ public class MainActivity extends AppCompatActivity } case R.id.action_conversations: { - if (Helpers.isOnline(MainActivity.this)) { + if (WebHelper.isOnline(MainActivity.this)) { webView.loadUrl("https://" + podDomain + "/conversations"); return true; } else { @@ -621,7 +623,7 @@ public class MainActivity extends AppCompatActivity } case R.id.action_reload: { - if(Helpers.isOnline(MainActivity.this)) { + if(WebHelper.isOnline(MainActivity.this)) { webView.reload(); return true; } else { @@ -642,7 +644,7 @@ public class MainActivity extends AppCompatActivity } case R.id.action_compose: { - if (Helpers.isOnline(MainActivity.this)) { + if (WebHelper.isOnline(MainActivity.this)) { webView.loadUrl("https://" + podDomain + "/status_messages/new"); } else { snackbarNoInternet.show(); @@ -678,7 +680,7 @@ public class MainActivity extends AppCompatActivity } case R.id.action_search: { - if (Helpers.isOnline(MainActivity.this)) { + if (WebHelper.isOnline(MainActivity.this)) { final InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); LinearLayout layout = new LinearLayout(this); layout.setOrientation(LinearLayout.VERTICAL); @@ -746,6 +748,7 @@ public class MainActivity extends AppCompatActivity return super.onOptionsItemSelected(item); } + @SuppressWarnings("ResultOfMethodCallIgnored") private boolean makeScreenshotOfWebView(boolean hasToShareScreenshot) { if (android.os.Build.VERSION.SDK_INT >= 23) { int hasWRITE_EXTERNAL_STORAGE = checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE); @@ -801,7 +804,7 @@ public class MainActivity extends AppCompatActivity if (bitmapWriter != null) { try { bitmapWriter.close(); - } catch (IOException _ignored) {/* Nothing */} + } catch (IOException _ignSaveored) {/* Nothing */} } } @@ -836,12 +839,13 @@ public class MainActivity extends AppCompatActivity void handleSendText(Intent intent) { webView.loadUrl("https://"+podDomain+"/status_messages/new"); - String content = intent.getStringExtra(Intent.EXTRA_TEXT); + String content = WebHelper.replaceUrlWithMarkdown(intent.getStringExtra(Intent.EXTRA_TEXT)); if(appSettings.isAppendSharedViaApp()) { - //TODO: Make \n work - content = content + " \n" +getString(R.string.shared_by_diaspora_android); + // = \n + content = content + "\n\n" + getString(R.string.shared_by_diaspora_android); } - final String sharedText = content; + + final String sharedText = WebHelper.escapeHtmlText(content); if (sharedText != null) { webView.setWebViewClient(new WebViewClient() { public void onPageFinished(WebView view, String url) { @@ -868,20 +872,24 @@ public class MainActivity extends AppCompatActivity */ void handleSendSubject(Intent intent) { webView.loadUrl("https://"+podDomain+"/status_messages/new"); - String content = intent.getStringExtra(Intent.EXTRA_TEXT); - final String sharedSubject = intent.getStringExtra(Intent.EXTRA_SUBJECT); + String content = WebHelper.replaceUrlWithMarkdown(intent.getStringExtra(Intent.EXTRA_TEXT)); + String subject = WebHelper.replaceUrlWithMarkdown(intent.getStringExtra(Intent.EXTRA_SUBJECT)); + if (appSettings.isAppendSharedViaApp()) { - //TODO: Make \n work - content = content + " \n" + getString(R.string.shared_by_diaspora_android); + // = \n + content = content + "\n\n" + getString(R.string.shared_by_diaspora_android); } - final String sharedText = content; - if (sharedSubject != null) { + + final String sharedSubject = WebHelper.escapeHtmlText(subject); + final String sharedContent = WebHelper.escapeHtmlText(content); + + if (subject != null) { webView.setWebViewClient(new WebViewClient() { public void onPageFinished(WebView view, String url) { webView.loadUrl("javascript:(function() { " + "document.getElementsByTagName('textarea')[0].style.height='110px'; " + - "document.getElementsByTagName('textarea')[0].innerHTML = '**" + sharedSubject + "** " + sharedText + "'; " + + "document.getElementsByTagName('textarea')[0].innerHTML = '**" + sharedSubject + "** " + sharedContent + "'; " + " if(document.getElementById(\"main_nav\")) {" + " document.getElementById(\"main_nav\").parentNode.removeChild(" + " document.getElementById(\"main_nav\"));" + @@ -908,76 +916,34 @@ public class MainActivity extends AppCompatActivity // TODO: Move from Javascript interface @Override public void onNotificationCountChanged(int notificationCount) { + // Count saved in PodUserProfile + invalidateOptionsMenu(); + if (notificationCount > 0 && !snackbarNewNotification.isShown() + && !webView.getUrl().equals("https://" + podDomain + "/notifications")) { + snackbarNewNotification.show(); + } } // TODO: Move from Javascript interface @Override public void onUnreadMessageCountChanged(int unreadMessageCount) { + // Count saved in PodUserProfile + invalidateOptionsMenu(); + if (unreadMessageCount > 0 && !snackbarNewNotification.isShown() + && !webView.getUrl().equals("https://" + podDomain + "/notifications")) { + snackbarNewNotification.show(); + } } private class JavaScriptInterface { - @JavascriptInterface - public void setNotificationCount(final String webMessage) { - uiHandler.post(new Runnable() { - @Override - public void run() { - if (menu == null) { - return; - } - notificationCount = Integer.valueOf(webMessage); - - MenuItem item = menu.findItem(R.id.action_notifications); - - if (item != null) { - if (notificationCount > 0) { - item.setIcon(R.drawable.ic_bell_ring_white_24dp); - if (!snackbarNewNotification.isShown() && !webView.getUrl().equals("https://" + podDomain + "/notifications")) - snackbarNewNotification.show(); - } else { - item.setIcon(R.drawable.ic_bell_outline_white_24dp); - } - } - - - } - }); - } - @JavascriptInterface public void setUserProfile(final String webMessage) throws JSONException { if (podUserProfile.isRefreshNeeded()) { podUserProfile.parseJson(webMessage); } } - - @JavascriptInterface - public void setConversationCount(final String webMessage) { - uiHandler.post(new Runnable() { - @Override - public void run() { - if (menu == null) { - return; - } - conversationCount = Integer.valueOf(webMessage); - - MenuItem item = menu.findItem(R.id.action_conversations); - - if (item != null) { - if (conversationCount > 0) { - item.setIcon(R.drawable.ic_message_text_white_24dp); - if (!snackbarNewNotification.isShown() && !webView.getUrl().equals("https://" + podDomain + "/notifications")) - snackbarNewNotification.show(); - } else { - item.setIcon(R.drawable.ic_message_text_outline_white_24dp); - } - } - - } - }); - } - } @SuppressWarnings("StatementWithEmptyBody") @@ -986,7 +952,7 @@ public class MainActivity extends AppCompatActivity // Handle navigation view item clicks here. switch (item.getItemId()) { case R.id.nav_stream: { - if (Helpers.isOnline(MainActivity.this)) { + if (WebHelper.isOnline(MainActivity.this)) { webView.loadUrl("https://" + podDomain + "/stream"); } else { snackbarNoInternet.show(); @@ -995,7 +961,7 @@ public class MainActivity extends AppCompatActivity break; case R.id.nav_profile: { - if (Helpers.isOnline(MainActivity.this)) { + if (WebHelper.isOnline(MainActivity.this)) { webView.loadUrl("https://" + podDomain + "/people/" + appSettings.getProfileId()); } else { snackbarNoInternet.show(); @@ -1004,9 +970,9 @@ public class MainActivity extends AppCompatActivity break; case R.id.nav_followed_tags: { - if (Helpers.isOnline(MainActivity.this)) { + if (WebHelper.isOnline(MainActivity.this)) { // webView.loadUrl("https://" + podDomain + "/followed_tags"); - Helpers.showFollowedTagsList(webView, app); + WebHelper.showFollowedTagsList(webView, app); setTitle(R.string.nav_followed_tags); } else { snackbarNoInternet.show(); @@ -1015,9 +981,9 @@ public class MainActivity extends AppCompatActivity break; case R.id.nav_aspects: { - if (Helpers.isOnline(MainActivity.this)) { + if (WebHelper.isOnline(MainActivity.this)) { // webView.loadUrl("https://" + podDomain + "/aspects"); - Helpers.showAspectList(webView, app); + WebHelper.showAspectList(webView, app); setTitle(R.string.aspects); } else { snackbarNoInternet.show(); @@ -1026,7 +992,7 @@ public class MainActivity extends AppCompatActivity break; case R.id.nav_activities: { - if (Helpers.isOnline(MainActivity.this)) { + if (WebHelper.isOnline(MainActivity.this)) { webView.loadUrl("https://" + podDomain + "/activity"); } else { snackbarNoInternet.show(); @@ -1035,7 +1001,7 @@ public class MainActivity extends AppCompatActivity break; case R.id.nav_liked: { - if (Helpers.isOnline(MainActivity.this)) { + if (WebHelper.isOnline(MainActivity.this)) { webView.loadUrl("https://" + podDomain + "/liked"); } else { snackbarNoInternet.show(); @@ -1044,7 +1010,7 @@ public class MainActivity extends AppCompatActivity break; case R.id.nav_commented: { - if (Helpers.isOnline(MainActivity.this)) { + if (WebHelper.isOnline(MainActivity.this)) { webView.loadUrl("https://" + podDomain + "/commented"); } else { snackbarNoInternet.show(); @@ -1053,22 +1019,29 @@ public class MainActivity extends AppCompatActivity break; case R.id.nav_mentions: { - if (Helpers.isOnline(MainActivity.this)) { + if (WebHelper.isOnline(MainActivity.this)) { webView.loadUrl("https://" + podDomain + "/mentions"); } else { snackbarNoInternet.show(); } + break; } - break; case R.id.nav_public: { - if (Helpers.isOnline(MainActivity.this)) { + if (WebHelper.isOnline(MainActivity.this)) { webView.loadUrl("https://" + podDomain + "/public"); } else { snackbarNoInternet.show(); } + break; + } + + + case R.id.nav_exit: { + moveTaskToBack(true); + finish(); + break; } - break; case R.id.nav_settings_app: { startActivity(new Intent(this, SettingsActivity.class)); diff --git a/app/src/main/java/com/github/dfa/diaspora_android/activity/PodSelectionActivity.java b/app/src/main/java/com/github/dfa/diaspora_android/activity/PodSelectionActivity.java index b661df12..9dea2697 100644 --- a/app/src/main/java/com/github/dfa/diaspora_android/activity/PodSelectionActivity.java +++ b/app/src/main/java/com/github/dfa/diaspora_android/activity/PodSelectionActivity.java @@ -46,6 +46,7 @@ import com.github.dfa.diaspora_android.App; import com.github.dfa.diaspora_android.R; import com.github.dfa.diaspora_android.task.GetPodsService; import com.github.dfa.diaspora_android.util.Helpers; +import com.github.dfa.diaspora_android.util.WebHelper; import java.util.ArrayList; @@ -80,7 +81,7 @@ public class PodSelectionActivity extends AppCompatActivity { setListedPods(app.getSettings().getPreviousPodlist()); LocalBroadcastManager.getInstance(this).registerReceiver(podListReceiver, new IntentFilter(GetPodsService.MESSAGE_PODS_RECEIVED)); - if (!Helpers.isOnline(PodSelectionActivity.this)) { + if (!WebHelper.isOnline(PodSelectionActivity.this)) { Snackbar.make(listPods, R.string.no_internet, Snackbar.LENGTH_LONG).show(); } } @@ -164,7 +165,7 @@ public class PodSelectionActivity extends AppCompatActivity { Linkify.addLinks(dialogMessage, Linkify.ALL); // Check if online - if (!Helpers.isOnline(PodSelectionActivity.this)) { + if (!WebHelper.isOnline(PodSelectionActivity.this)) { Snackbar.make(listPods, R.string.no_internet, Snackbar.LENGTH_LONG).show(); return; } @@ -232,7 +233,7 @@ public class PodSelectionActivity extends AppCompatActivity { public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.action_reload: { - if (Helpers.isOnline(PodSelectionActivity.this)) { + if (WebHelper.isOnline(PodSelectionActivity.this)) { Intent i = new Intent(PodSelectionActivity.this, GetPodsService.class); startService(i); return true; diff --git a/app/src/main/java/com/github/dfa/diaspora_android/activity/SettingsActivity.java b/app/src/main/java/com/github/dfa/diaspora_android/activity/SettingsActivity.java index c5d40ac0..87f429b0 100644 --- a/app/src/main/java/com/github/dfa/diaspora_android/activity/SettingsActivity.java +++ b/app/src/main/java/com/github/dfa/diaspora_android/activity/SettingsActivity.java @@ -38,6 +38,7 @@ import com.github.dfa.diaspora_android.R; public class SettingsActivity extends PreferenceActivity implements SharedPreferences.OnSharedPreferenceChangeListener { private SharedPreferences sharedPreferences; + private boolean activityRestartRequired = false; @Override public void onCreate(Bundle savedInstanceState) { @@ -124,6 +125,12 @@ public class SettingsActivity extends PreferenceActivity implements SharedPrefer intent.setAction(MainActivity.ACTION_CLEAR_CACHE); break; } + case R.string.pref_title__show_exit_button_in_nav_also: + case R.string.pref_title__intellihide_toolbars: { + activityRestartRequired = true; + return true; + } + default: { intent = null; break; @@ -136,4 +143,14 @@ public class SettingsActivity extends PreferenceActivity implements SharedPrefer } return super.onPreferenceTreeClick(screen, preference); } + + @Override + protected void onStop() { + super.onStop(); + if (activityRestartRequired){ + Intent intent = new Intent(this, MainActivity.class); + intent.setAction(MainActivity.ACTION_RELOAD_ACTIVITY); + startActivity(intent); + } + } } diff --git a/app/src/main/java/com/github/dfa/diaspora_android/activity/SplashActivity.java b/app/src/main/java/com/github/dfa/diaspora_android/activity/SplashActivity.java index 250bbbc3..99535239 100644 --- a/app/src/main/java/com/github/dfa/diaspora_android/activity/SplashActivity.java +++ b/app/src/main/java/com/github/dfa/diaspora_android/activity/SplashActivity.java @@ -28,6 +28,7 @@ import android.widget.ImageView; import com.github.dfa.diaspora_android.App; import com.github.dfa.diaspora_android.R; import com.github.dfa.diaspora_android.util.Helpers; +import com.github.dfa.diaspora_android.util.WebHelper; import butterknife.BindView; import butterknife.ButterKnife; diff --git a/app/src/main/java/com/github/dfa/diaspora_android/data/AppSettings.java b/app/src/main/java/com/github/dfa/diaspora_android/data/AppSettings.java index 938e8bfd..e15f35e2 100644 --- a/app/src/main/java/com/github/dfa/diaspora_android/data/AppSettings.java +++ b/app/src/main/java/com/github/dfa/diaspora_android/data/AppSettings.java @@ -87,6 +87,10 @@ public class AppSettings { return pref.getBoolean(context.getString(ressourceId), defaultValue); } + private int getInt(SharedPreferences pref, int ressourceId, int defaultValue) { + return pref.getInt(context.getString(ressourceId), defaultValue); + } + /* // Setters & Getters @@ -174,6 +178,22 @@ public class AppSettings { setStringArray(prefPod, R.string.pref_key__podprofile_followed_tags, tags); } + public int getUnreadMessageCount(){ + return getInt(prefPod, R.string.pref_key__podprofile_unread_message_count, 0); + } + + public void setUnreadMessageCount(int unreadMessageCount) { + setInt(prefPod, R.string.pref_key__podprofile_unread_message_count, unreadMessageCount); + } + + public int getNotificationCount(){ + return getInt(prefPod, R.string.pref_key__podprofile_notification_count, 0); + } + + public void setNotificationCount(int notificationCount) { + setInt(prefPod, R.string.pref_key__podprofile_notification_count, notificationCount); + } + public boolean isAppendSharedViaApp() { return getBoolean(prefApp, R.string.pref_key__append_shared_via_app, true); } @@ -234,4 +254,8 @@ public class AppSettings { public boolean isIntellihideToolbars() { return getBoolean(prefApp, R.string.pref_key__intellihide_toolbars, true); } + + public boolean isShowExitButtonInNavAlso(){ + return getBoolean(prefApp, R.string.pref_key__show_exit_button_in_nav_also, false); + } } diff --git a/app/src/main/java/com/github/dfa/diaspora_android/data/PodUserProfile.java b/app/src/main/java/com/github/dfa/diaspora_android/data/PodUserProfile.java index 898ca0a1..420d984b 100644 --- a/app/src/main/java/com/github/dfa/diaspora_android/data/PodUserProfile.java +++ b/app/src/main/java/com/github/dfa/diaspora_android/data/PodUserProfile.java @@ -60,6 +60,8 @@ public class PodUserProfile { name = appSettings.getName(); podAspects = appSettings.getPodAspects(); followedTags = appSettings.getFollowedTags(); + notificationCount = appSettings.getNotificationCount(); + unreadMessagesCount = appSettings.getUnreadMessageCount(); } public PodUserProfile(App app, Handler callbackHandler, WebUserProfileChangedListener listener) { @@ -102,11 +104,12 @@ public class PodUserProfile { // Unread message count if (json.has("notifications_count") && loadNotificationCount(json.getInt("notifications_count"))) { + appSettings.setNotificationCount(notificationCount); } // Unread message count if (json.has("unread_messages_count") && loadUnreadMessagesCount(json.getInt("unread_messages_count"))) { - appSettings.setPodAspects(podAspects); + appSettings.setUnreadMessageCount(unreadMessagesCount); } // Aspect diff --git a/app/src/main/java/com/github/dfa/diaspora_android/util/Helpers.java b/app/src/main/java/com/github/dfa/diaspora_android/util/Helpers.java index fc94d79e..b7cb6f5c 100644 --- a/app/src/main/java/com/github/dfa/diaspora_android/util/Helpers.java +++ b/app/src/main/java/com/github/dfa/diaspora_android/util/Helpers.java @@ -16,33 +16,15 @@ If not, see . */ - package com.github.dfa.diaspora_android.util; import android.app.Activity; -import android.content.Context; import android.content.Intent; -import android.net.ConnectivityManager; -import android.net.NetworkInfo; -import android.support.v4.content.ContextCompat; -import android.webkit.WebView; -import com.github.dfa.diaspora_android.App; import com.github.dfa.diaspora_android.R; -import com.github.dfa.diaspora_android.data.AppSettings; -import com.github.dfa.diaspora_android.data.PodAspect; -import com.github.dfa.diaspora_android.data.PodUserProfile; - -import java.util.Locale; public class Helpers { - public static boolean isOnline(Context context) { - ConnectivityManager cnm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); - NetworkInfo ni = cnm.getActiveNetworkInfo(); - return ni != null && ni.isConnectedOrConnecting(); - } - public static void animateToActivity(Activity from, Class to, boolean finishFromActivity) { Intent intent = new Intent(from, to); intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); @@ -52,103 +34,4 @@ public class Helpers { from.finish(); } } - - public static void applyDiasporaMobileSiteChanges(final WebView wv) { - wv.loadUrl("javascript: ( function() {" + - " document.documentElement.style.paddingBottom = '260px';" + - " document.getElementById('main').style.paddingTop = '5px';" + - " if(document.getElementById('main_nav')) {" + - " document.getElementById('main_nav').parentNode.removeChild(" + - " document.getElementById('main_nav'));" + - " } else if (document.getElementById('main-nav')) {" + - " document.getElementById('main-nav').parentNode.removeChild(" + - " document.getElementById('main-nav'));" + - " }" + - "})();"); - } - - public static void getNotificationCount(final WebView wv) { - wv.loadUrl("javascript: ( function() {" + - "if (document.getElementById('notification')) {" + - " var count = document.getElementById('notification').innerHTML;" + - " AndroidBridge.setNotificationCount(count.replace(/(\\r\\n|\\n|\\r)/gm, \"\"));" + - " } else {" + - " AndroidBridge.setNotificationCount('0');" + - " }" + - " if (document.getElementById('conversation')) {" + - " var count = document.getElementById('conversation').innerHTML;" + - " AndroidBridge.setConversationCount(count.replace(/(\\r\\n|\\n|\\r)/gm, \"\"));" + - " } else {" + - " AndroidBridge.setConversationCount('0');" + - " }" + - "})();"); - } - - public static void getUserProfile(final WebView wv) { - // aspects":[{"id":124934,"name":"Friends","selected":true},{"id":124937,"name":"Liked me","selected":false},{"id":124938,"name":"Follow","selected":false},{"id":128327,"name":"Nur ich","selected":false}] - wv.loadUrl("javascript: ( function() {" + - " if (typeof gon !== 'undefined' && typeof gon.user !== 'undefined') {" + - " var followed_tags = document.getElementById(\"followed_tags\");" + - " if(followed_tags != null) {" + - " try {" + - " var links = followed_tags.nextElementSibling.children[0].children;" + - " var tags = [];" + - " for(var i = 0; i < links.length - 1; i++) {" + // the last element is "Manage followed tags" link - " tags.push(links[i].innerText.substring(1));" + - " }" + - " gon.user[\"android_app.followed_tags\"] = tags;" + - " } catch(e) {}" + - " }" + - " var userProfile = JSON.stringify(gon.user);" + - " AndroidBridge.setUserProfile(userProfile.toString());" + - " } " + - "})();"); - } - - public static void showAspectList(final WebView wv, final App app) { - wv.stopLoading(); - PodUserProfile profile = app.getPodUserProfile(); - StringBuilder sb = new StringBuilder(); - - sb.append(""); - - // Content - for (PodAspect aspect : profile.getAspects()) { - sb.append("»  "); - sb.append(aspect.toHtmlLink(app)); - sb.append("
"); - } - - // End - sb.append(""); - wv.loadDataWithBaseURL(null, sb.toString(), "text/html", "UTF-16", null); - } - - public static void showFollowedTagsList(final WebView wv, final App app) { - wv.stopLoading(); - PodUserProfile profile = app.getPodUserProfile(); - StringBuilder sb = new StringBuilder(); - - sb.append(""); - - // Content - AppSettings appSettings = app.getSettings(); - sb.append("»  "); - sb.append(String.format(Locale.getDefault(), - "%s", - appSettings.getPodDomain(), app.getString(R.string.all_tags))); - sb.append("
"); - for (String tag: profile.getFollowedTags()) { - sb.append("»  "); - sb.append(String.format(Locale.getDefault(), - "#%s", - appSettings.getPodDomain(), tag, tag)); - sb.append("
"); - } - - // End - sb.append(""); - wv.loadDataWithBaseURL(null, sb.toString(), "text/html", "UTF-16", null); - } - } diff --git a/app/src/main/java/com/github/dfa/diaspora_android/util/WebHelper.java b/app/src/main/java/com/github/dfa/diaspora_android/util/WebHelper.java new file mode 100644 index 00000000..ae0abd9c --- /dev/null +++ b/app/src/main/java/com/github/dfa/diaspora_android/util/WebHelper.java @@ -0,0 +1,148 @@ +/* + This file is part of the Diaspora for Android. + + Diaspora for Android is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + Diaspora for Android is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with the Diaspora for Android. + + If not, see . + */ + +package com.github.dfa.diaspora_android.util; + +import android.app.Activity; +import android.content.Context; +import android.content.Intent; +import android.net.ConnectivityManager; +import android.net.NetworkInfo; +import android.support.v4.content.ContextCompat; +import android.text.Html; +import android.webkit.URLUtil; +import android.webkit.WebView; + +import com.github.dfa.diaspora_android.App; +import com.github.dfa.diaspora_android.R; +import com.github.dfa.diaspora_android.data.AppSettings; +import com.github.dfa.diaspora_android.data.PodAspect; +import com.github.dfa.diaspora_android.data.PodUserProfile; + +import java.net.URL; +import java.util.Locale; + +/** + * Created by Gregor Santner on 07.08.16. + * https://gsantner.github.io + */ +public class WebHelper { + + public static boolean isOnline(Context context) { + ConnectivityManager cnm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); + NetworkInfo ni = cnm.getActiveNetworkInfo(); + return ni != null && ni.isConnectedOrConnecting(); + } + + public static String replaceUrlWithMarkdown(String url){ + if( url != null && URLUtil.isHttpUrl(url) || URLUtil.isHttpsUrl(url)){ + return "<" + url + ">"; + } + return url; + } + + public static String escapeHtmlText(String text){ + text = Html.escapeHtml(text);; + text = text.replace("\n", " "); + return text; + } + + public static void optimizeMobileSiteLayout(final WebView wv) { + wv.loadUrl("javascript: ( function() {" + + " if (document.documentElement == null || document.documentElement.style == null) { return; }" + + " document.documentElement.style.paddingBottom = '260px';" + + " document.getElementById('main').style.paddingTop = '5px';" + + " if(document.getElementById('main_nav')) {" + + " document.getElementById('main_nav').parentNode.removeChild(" + + " document.getElementById('main_nav'));" + + " } else if (document.getElementById('main-nav')) {" + + " document.getElementById('main-nav').parentNode.removeChild(" + + " document.getElementById('main-nav'));" + + " }" + + "})();"); + } + + public static void getUserProfile(final WebView wv) { + // aspects":[{"id":124934,"name":"Friends","selected":true},{"id":124937,"name":"Liked me","selected":false},{"id":124938,"name":"Follow","selected":false},{"id":128327,"name":"Nur ich","selected":false}] + wv.loadUrl("javascript: ( function() {" + + " if (typeof gon !== 'undefined' && typeof gon.user !== 'undefined') {" + + " var followed_tags = document.getElementById(\"followed_tags\");" + + " if(followed_tags != null) {" + + " try {" + + " var links = followed_tags.nextElementSibling.children[0].children;" + + " var tags = [];" + + " for(var i = 0; i < links.length - 1; i++) {" + // the last element is "Manage followed tags" link + " tags.push(links[i].innerText.substring(1));" + + " }" + + " gon.user[\"android_app.followed_tags\"] = tags;" + + " } catch(e) {}" + + " }" + + " var userProfile = JSON.stringify(gon.user);" + + " AndroidBridge.setUserProfile(userProfile.toString());" + + " } " + + "})();"); + } + + public static void showAspectList(final WebView wv, final App app) { + wv.stopLoading(); + PodUserProfile profile = app.getPodUserProfile(); + StringBuilder sb = new StringBuilder(); + + sb.append(""); + + // Content + for (PodAspect aspect : profile.getAspects()) { + sb.append("»  "); + sb.append(aspect.toHtmlLink(app)); + sb.append("
"); + } + + // End + sb.append(""); + wv.loadDataWithBaseURL(null, sb.toString(), "text/html", "UTF-16", null); + } + + public static void showFollowedTagsList(final WebView wv, final App app) { + wv.stopLoading(); + PodUserProfile profile = app.getPodUserProfile(); + StringBuilder sb = new StringBuilder(); + + sb.append(""); + + // Content + AppSettings appSettings = app.getSettings(); + sb.append("»  "); + sb.append(String.format(Locale.getDefault(), + "%s", + appSettings.getPodDomain(), app.getString(R.string.all_tags))); + sb.append("
"); + for (String tag: profile.getFollowedTags()) { + sb.append("»  "); + sb.append(String.format(Locale.getDefault(), + "#%s", + appSettings.getPodDomain(), tag, tag)); + sb.append("
"); + } + + // End + sb.append(""); + wv.loadDataWithBaseURL(null, sb.toString(), "text/html", "UTF-16", null); + } + +} diff --git a/app/src/main/res/drawable-hdpi/ic_bell_outline_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_bell_outline_white_24dp.png deleted file mode 100644 index b53dde90..00000000 Binary files a/app/src/main/res/drawable-hdpi/ic_bell_outline_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_bell_ring_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_bell_ring_white_24dp.png deleted file mode 100644 index 9cc1f069..00000000 Binary files a/app/src/main/res/drawable-hdpi/ic_bell_ring_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_message_text_outline_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_message_text_outline_white_24dp.png deleted file mode 100644 index 610aa130..00000000 Binary files a/app/src/main/res/drawable-hdpi/ic_message_text_outline_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_message_text_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_message_text_white_24dp.png deleted file mode 100644 index a086bcbb..00000000 Binary files a/app/src/main/res/drawable-hdpi/ic_message_text_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_bell_outline_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_bell_outline_white_24dp.png deleted file mode 100644 index 0d4b0a1d..00000000 Binary files a/app/src/main/res/drawable-mdpi/ic_bell_outline_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_bell_ring_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_bell_ring_white_24dp.png deleted file mode 100644 index 56001f7b..00000000 Binary files a/app/src/main/res/drawable-mdpi/ic_bell_ring_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_message_text_outline_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_message_text_outline_white_24dp.png deleted file mode 100644 index 576b5274..00000000 Binary files a/app/src/main/res/drawable-mdpi/ic_message_text_outline_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_message_text_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_message_text_white_24dp.png deleted file mode 100644 index aee3a1ce..00000000 Binary files a/app/src/main/res/drawable-mdpi/ic_message_text_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_bell_outline_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_bell_outline_white_24dp.png deleted file mode 100644 index 657e69d8..00000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_bell_outline_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_bell_ring_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_bell_ring_white_24dp.png deleted file mode 100644 index be2a70e0..00000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_bell_ring_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_message_text_outline_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_message_text_outline_white_24dp.png deleted file mode 100644 index d66b733a..00000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_message_text_outline_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_message_text_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_message_text_white_24dp.png deleted file mode 100644 index 5155a77a..00000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_message_text_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_bell_outline_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_bell_outline_white_24dp.png deleted file mode 100644 index 069bb3e5..00000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_bell_outline_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_bell_ring_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_bell_ring_white_24dp.png deleted file mode 100644 index cdb2c24f..00000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_bell_ring_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_message_text_outline_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_message_text_outline_white_24dp.png deleted file mode 100644 index 9fcb8682..00000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_message_text_outline_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_message_text_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_message_text_white_24dp.png deleted file mode 100644 index 1d3d19e7..00000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_message_text_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_bell_outline_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_bell_outline_white_24dp.png deleted file mode 100644 index 2756e2ae..00000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_bell_outline_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_bell_ring_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_bell_ring_white_24dp.png deleted file mode 100644 index 7ed1a2f2..00000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_bell_ring_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_message_text_outline_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_message_text_outline_white_24dp.png deleted file mode 100644 index 26a10423..00000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_message_text_outline_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_message_text_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_message_text_white_24dp.png deleted file mode 100644 index 3fd53a5a..00000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_message_text_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable/ic_cancel_black_48px.xml b/app/src/main/res/drawable/ic_cancel_black_48px.xml new file mode 100644 index 00000000..789bf6f4 --- /dev/null +++ b/app/src/main/res/drawable/ic_cancel_black_48px.xml @@ -0,0 +1,4 @@ + + + diff --git a/app/src/main/res/drawable/ic_email_colored_48px.xml b/app/src/main/res/drawable/ic_email_colored_48px.xml new file mode 100644 index 00000000..302869b1 --- /dev/null +++ b/app/src/main/res/drawable/ic_email_colored_48px.xml @@ -0,0 +1,4 @@ + + + diff --git a/app/src/main/res/drawable/ic_favorite_black_48px.xml b/app/src/main/res/drawable/ic_favorite_black_48px.xml new file mode 100644 index 00000000..e3cc36da --- /dev/null +++ b/app/src/main/res/drawable/ic_favorite_black_48px.xml @@ -0,0 +1,4 @@ + + + diff --git a/app/src/main/res/drawable/ic_format_align_left_black_48px.xml b/app/src/main/res/drawable/ic_format_align_left_black_48px.xml new file mode 100644 index 00000000..f1e324c5 --- /dev/null +++ b/app/src/main/res/drawable/ic_format_align_left_black_48px.xml @@ -0,0 +1,4 @@ + + + diff --git a/app/src/main/res/drawable/ic_group_black_48px.xml b/app/src/main/res/drawable/ic_group_black_48px.xml new file mode 100644 index 00000000..c023a47c --- /dev/null +++ b/app/src/main/res/drawable/ic_group_black_48px.xml @@ -0,0 +1,4 @@ + + + diff --git a/app/src/main/res/drawable/ic_history_black_48px.xml b/app/src/main/res/drawable/ic_history_black_48px.xml new file mode 100644 index 00000000..b70c2146 --- /dev/null +++ b/app/src/main/res/drawable/ic_history_black_48px.xml @@ -0,0 +1,4 @@ + + + diff --git a/app/src/main/res/drawable/ic_info_black_48px.xml b/app/src/main/res/drawable/ic_info_black_48px.xml new file mode 100644 index 00000000..a002fad8 --- /dev/null +++ b/app/src/main/res/drawable/ic_info_black_48px.xml @@ -0,0 +1,4 @@ + + + diff --git a/app/src/main/res/drawable/ic_local_offer_black_48px.xml b/app/src/main/res/drawable/ic_local_offer_black_48px.xml new file mode 100644 index 00000000..68fdd1b7 --- /dev/null +++ b/app/src/main/res/drawable/ic_local_offer_black_48px.xml @@ -0,0 +1,4 @@ + + + diff --git a/app/src/main/res/drawable/ic_mail_white_48px.xml b/app/src/main/res/drawable/ic_mail_white_48px.xml new file mode 100644 index 00000000..5382ce54 --- /dev/null +++ b/app/src/main/res/drawable/ic_mail_white_48px.xml @@ -0,0 +1,4 @@ + + + diff --git a/app/src/main/res/drawable/ic_notifications_colored_48px.xml b/app/src/main/res/drawable/ic_notifications_colored_48px.xml new file mode 100644 index 00000000..24b09e43 --- /dev/null +++ b/app/src/main/res/drawable/ic_notifications_colored_48px.xml @@ -0,0 +1,4 @@ + + + diff --git a/app/src/main/res/drawable/ic_notifications_white_48px.xml b/app/src/main/res/drawable/ic_notifications_white_48px.xml new file mode 100644 index 00000000..173dea85 --- /dev/null +++ b/app/src/main/res/drawable/ic_notifications_white_48px.xml @@ -0,0 +1,4 @@ + + + diff --git a/app/src/main/res/drawable/ic_public_black_48px.xml b/app/src/main/res/drawable/ic_public_black_48px.xml new file mode 100644 index 00000000..97b21143 --- /dev/null +++ b/app/src/main/res/drawable/ic_public_black_48px.xml @@ -0,0 +1,4 @@ + + + diff --git a/app/src/main/res/drawable/ic_settings_black_48px.xml b/app/src/main/res/drawable/ic_settings_black_48px.xml new file mode 100644 index 00000000..8fbaa9a2 --- /dev/null +++ b/app/src/main/res/drawable/ic_settings_black_48px.xml @@ -0,0 +1,4 @@ + + + diff --git a/app/src/main/res/drawable/jb_activities.png b/app/src/main/res/drawable/jb_activities.png deleted file mode 100644 index f4f7d131..00000000 Binary files a/app/src/main/res/drawable/jb_activities.png and /dev/null differ diff --git a/app/src/main/res/drawable/jb_aspects.png b/app/src/main/res/drawable/jb_aspects.png deleted file mode 100644 index 1f2b3a4f..00000000 Binary files a/app/src/main/res/drawable/jb_aspects.png and /dev/null differ diff --git a/app/src/main/res/drawable/jb_commented.png b/app/src/main/res/drawable/jb_commented.png deleted file mode 100644 index 64f27b0b..00000000 Binary files a/app/src/main/res/drawable/jb_commented.png and /dev/null differ diff --git a/app/src/main/res/drawable/jb_heart.png b/app/src/main/res/drawable/jb_heart.png deleted file mode 100644 index ea9685e3..00000000 Binary files a/app/src/main/res/drawable/jb_heart.png and /dev/null differ diff --git a/app/src/main/res/drawable/jb_license.png b/app/src/main/res/drawable/jb_license.png deleted file mode 100644 index b552a1c7..00000000 Binary files a/app/src/main/res/drawable/jb_license.png and /dev/null differ diff --git a/app/src/main/res/drawable/jb_settings.png b/app/src/main/res/drawable/jb_settings.png deleted file mode 100644 index 9d65f2a1..00000000 Binary files a/app/src/main/res/drawable/jb_settings.png and /dev/null differ diff --git a/app/src/main/res/drawable/jb_tag2.png b/app/src/main/res/drawable/jb_tag2.png deleted file mode 100644 index c8711117..00000000 Binary files a/app/src/main/res/drawable/jb_tag2.png and /dev/null differ diff --git a/app/src/main/res/menu/main__menu_top.xml b/app/src/main/res/menu/main__menu_top.xml index b2acfafd..5b3c9337 100644 --- a/app/src/main/res/menu/main__menu_top.xml +++ b/app/src/main/res/menu/main__menu_top.xml @@ -5,13 +5,13 @@ diff --git a/app/src/main/res/menu/main__navdrawer.xml b/app/src/main/res/menu/main__navdrawer.xml index a9fff831..d3bd1b03 100644 --- a/app/src/main/res/menu/main__navdrawer.xml +++ b/app/src/main/res/menu/main__navdrawer.xml @@ -14,26 +14,26 @@ + + diff --git a/app/src/main/res/values-cs/strings-preferences.xml b/app/src/main/res/values-cs/strings-preferences.xml new file mode 100644 index 00000000..397edf31 --- /dev/null +++ b/app/src/main/res/values-cs/strings-preferences.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml new file mode 100644 index 00000000..9553bf61 --- /dev/null +++ b/app/src/main/res/values-cs/strings.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/app/src/main/res/values-de/strings-preferences.xml b/app/src/main/res/values-de/strings-preferences.xml index 74f51fdb..34646a8f 100644 --- a/app/src/main/res/values-de/strings-preferences.xml +++ b/app/src/main/res/values-de/strings-preferences.xml @@ -18,6 +18,8 @@ Nutze einen Proxyserver um Firewalls zu umgehen Host Port + Beenden Button im Slider + Fügt einen zusätzlichen »App beenden« Button zum Navigations-Slider hinzu Persönliche Einstellungen Öffne die Einstellungen deines Diaspora Accounts @@ -34,4 +36,5 @@ Toolbars intelligent verstecken Verweise auf App Füge beim Teilen von Texten Verweis auf diese App an (\"geteilt durch…\") - \ No newline at end of file + + diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 8bba3ee4..7c64188b 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -7,8 +7,10 @@ Neu laden Ungelesene Benachrichtigung. Lesen? + Einstellungen Benachrichtigungen Unterhaltungen + Stream Profil Aspekte Aktivitäten @@ -16,6 +18,7 @@ Kommentiert Erwähnungen Öffentliche Aktivitäten + Suche Pod auswählen Pod-Domain eingeben @@ -38,13 +41,12 @@ Speichere Bild als Bildschirmfoto wird gespeichert unter: Linkadresse kopiert … + Neuer Beitrag Nach oben scrollen Suche nach Tags oder Personen … - Neuer Beitrag App beenden Mobil-/Desktopansicht umschalten Teilen… - Neuer Beitrag nach Tags nach Personen Füge einen Namen ein. @@ -139,4 +141,4 @@ along with this program. If not, see http://www.gnu.org/licenses.<br> < https://www.flickr.com/photos/129581906@N06/sets/72157651933980136/with/16594947123. Sie wurden von \"Lydia\" veröffentlicht und stehen unter der cc by-nc-sa Lizenz.</i> - \ No newline at end of file + diff --git a/app/src/main/res/values-el/strings-preferences.xml b/app/src/main/res/values-el/strings-preferences.xml new file mode 100644 index 00000000..397edf31 --- /dev/null +++ b/app/src/main/res/values-el/strings-preferences.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml new file mode 100644 index 00000000..9553bf61 --- /dev/null +++ b/app/src/main/res/values-el/strings.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/app/src/main/res/values-es/strings-preferences.xml b/app/src/main/res/values-es/strings-preferences.xml new file mode 100644 index 00000000..397edf31 --- /dev/null +++ b/app/src/main/res/values-es/strings-preferences.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml new file mode 100644 index 00000000..9553bf61 --- /dev/null +++ b/app/src/main/res/values-es/strings.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/app/src/main/res/values-fr/strings-preferences.xml b/app/src/main/res/values-fr/strings-preferences.xml index 78fd2f5f..9d4d26b5 100644 --- a/app/src/main/res/values-fr/strings-preferences.xml +++ b/app/src/main/res/values-fr/strings-preferences.xml @@ -3,7 +3,7 @@ - Apparance + Apparence Paramètres du réseau Paramètres du pod @@ -12,14 +12,29 @@ Charger les images + Désactiver le chargements des images pour préserver la data mobile Activer Proxy + Serveur Proxy.\n(Nécessite un redémarrage) Hôte + Port + Bouton \"Quitter\" dans la barre de navigation + Ajouter le bouton »Quitter l\'application« dans la barre de navigation Paramètres personnels - Gérer votre liste des contacts + Ouvrir vos paramètres de compte Diaspora + Contacts + Gérer votre liste de contacts Gérer les Hashtags + Ajouter et supprimer les hashtags que vous suivez Changer de compte + Effacer les données de session locale et passer à un autre pod/compte Diaspora Cette opération va effacer les cookies et données de session. Voulez-vous vraiment changer de compte/pod? Vider le cache - \ No newline at end of file + Vider le cache + Masquer les barres d’outils en haut et en bas automatiquement lors du défilement + Masquage intelligent des barres d\'outils + Ajoutez \"partagé via …\" aux partages + Ajoutez une référence à l\'application (« partagée via …\") aux textes partagés + + diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 8519384f..694e34f1 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -7,12 +7,18 @@ Rafraîchir Notifications non lues. Lire ? + Paramètres + Notifications Discussions Flux Profil + Aspects Activités Aimés Commentés + Mentions + Publique + Rechercher Selectionnez un Pod Entrez le nom de domaine du pod @@ -21,6 +27,7 @@ Veuillez entrer un nom de domaine valide Erreur : impossible de récupérer la liste des pods ! Désolé, vous devez être connecté à Internet pour continuer + Confirmation Voulez-vous vraiment utiliser\nhttps://%1$s\ncomme pod Diaspora ? Souhaitez-vous quitter ? @@ -34,12 +41,12 @@ Enregistrer l\'image sous Enregistrer la capture d\'écran sous : Lien copié… + Nouveau message Retour en haut Recherche par tags ou par personnes - Nouveau message Quitter l\'application + Activer/désactiver la version mobile Partager… - Nouveau message par tags par personne Veuillez ajouter un nom @@ -115,4 +122,4 @@ https://www.flickr.com/photos/129581906@N06/sets/72157651933980136/with/16594947123. They were published by \"Lydia\" and are licensed under cc by-nc-sa.</i> - \ No newline at end of file + diff --git a/app/src/main/res/values-hi/strings-preferences.xml b/app/src/main/res/values-hi/strings-preferences.xml new file mode 100644 index 00000000..397edf31 --- /dev/null +++ b/app/src/main/res/values-hi/strings-preferences.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml new file mode 100644 index 00000000..9553bf61 --- /dev/null +++ b/app/src/main/res/values-hi/strings.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/app/src/main/res/values-hu/strings-preferences.xml b/app/src/main/res/values-hu/strings-preferences.xml new file mode 100644 index 00000000..397edf31 --- /dev/null +++ b/app/src/main/res/values-hu/strings-preferences.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml new file mode 100644 index 00000000..9553bf61 --- /dev/null +++ b/app/src/main/res/values-hu/strings.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/app/src/main/res/values-it/strings-preferences.xml b/app/src/main/res/values-it/strings-preferences.xml new file mode 100644 index 00000000..397edf31 --- /dev/null +++ b/app/src/main/res/values-it/strings-preferences.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml new file mode 100644 index 00000000..ef40c31f --- /dev/null +++ b/app/src/main/res/values-it/strings.xml @@ -0,0 +1,14 @@ + + + + + + + Impostazioni + + + + + + + diff --git a/app/src/main/res/values-ja/strings-preferences.xml b/app/src/main/res/values-ja/strings-preferences.xml new file mode 100644 index 00000000..397edf31 --- /dev/null +++ b/app/src/main/res/values-ja/strings-preferences.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml new file mode 100644 index 00000000..9553bf61 --- /dev/null +++ b/app/src/main/res/values-ja/strings.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/app/src/main/res/values-ml/strings-preferences.xml b/app/src/main/res/values-ml/strings-preferences.xml new file mode 100644 index 00000000..397edf31 --- /dev/null +++ b/app/src/main/res/values-ml/strings-preferences.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/app/src/main/res/values-ml/strings.xml b/app/src/main/res/values-ml/strings.xml new file mode 100644 index 00000000..b16d1a9d --- /dev/null +++ b/app/src/main/res/values-ml/strings.xml @@ -0,0 +1,25 @@ + + + + + + + സജ്ജീകരണങ്ങൾ + അറിയിപ്പുകൾ + സംഭാഷണങ്ങൾ + സ്ട്രീം + ഇഷ്ടപെട്ടവ + കമന്റ് ചെയ്തവ + പരാമർശങ്ങൾ + തിരയുക + + പോഡ് തിരഞ്ഞെടുക്കുക + പോഡ് അഡ്രസ് രേഖപ്പെടുത്തുക + പോഡ് അഡ്രസ് ഉറപ്പാക്കുക + അറിയിപ്പ് : പോഡുകളുടെ ലിസ്റ്റ് https://podupti.me യിൽ നിന്നാണ്‌ ലഭിക്കുന്നത്. തിരുത്തൽ വരുത്താനുള്ളയിടത്തിൽ മറ്റു പോഡുകളുടെ അഡ്രസ് നൽകാം. + + + + + + diff --git a/app/src/main/res/values-nl/strings-preferences.xml b/app/src/main/res/values-nl/strings-preferences.xml new file mode 100644 index 00000000..397edf31 --- /dev/null +++ b/app/src/main/res/values-nl/strings-preferences.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml new file mode 100644 index 00000000..e737c484 --- /dev/null +++ b/app/src/main/res/values-nl/strings.xml @@ -0,0 +1,65 @@ + + + + + *[gedeeld door #DiasporaForAndroid]* + + Opnieuw Laden + Ongelezen bericht. Wilt u het lezen? + + Instellingen + Meldingen + Gesprekken + Stream + Profiel + Aspecten + Activiteiten + Leuk gevonden + Gereageerd + Vermeldingen + Openbaar + Zoeken + + Selecteer Pod + Voer pod domein + Bevestigen pod url + Opmerking: De podlijst is gevuld met beveiligde pods vermeld op https://podupti.me. U kunt in het bewerk veld elke pod invullen die niet in de lijst staat. + Voer een geldige domeinnaam in + Fout: Kan niet de podlijst ophalen! + Sorry, u moet verbinding met internet hebben om verder te gaan + Bevestiging + Wilt u echt \nhttps://%1$s\n als uw Diaspora pod gebruiken? + Wilt u afsluiten? + + Over de app | Help + Gevolgde Tags + Publieke activiteiten + App-instellingen + Link delen als tekst + Screenshot van de webpagina delen + Neem screenshot van de webpagina + Afbeelding opslaan + Screenshot oplaan als: + Link adres gekopieerd… + Nieuw Bericht + Terug naar boven + Zoeken op tags of personen + App afsluiten + Delen… + viaTags + via mensen + Voeg een naam toe + Deel adreslink + Afbeelding opslaan + Deel afbeelding + Geopend in externe browser… + Link-adres kopiëren naar Klembord + + Waarschuwing: Kan niet netwerk proxy instellen… + Niet in staat om afbeelding te laden + Alle tags + + U moet machtegingen aan \"Access Storage Permission\" geven om screenshots op te slaan. Daarna moet u de app volledig afsluiten of de telefoon opnieuw opstarten. Als u geen toestemming aan opslag wil geven maar screenshot functie later wil gebruiken, kunt u de toestemming later geven. Open dan: systemsettings - apps - Diaspora. In de machtegings sectie kunt u machtegingen geven aan \"write storage permission\". + + + diff --git a/app/src/main/res/values-no/strings-preferences.xml b/app/src/main/res/values-no/strings-preferences.xml new file mode 100644 index 00000000..397edf31 --- /dev/null +++ b/app/src/main/res/values-no/strings-preferences.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/app/src/main/res/values-no/strings.xml b/app/src/main/res/values-no/strings.xml new file mode 100644 index 00000000..9553bf61 --- /dev/null +++ b/app/src/main/res/values-no/strings.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/app/src/main/res/values-pl/strings-preferences.xml b/app/src/main/res/values-pl/strings-preferences.xml new file mode 100644 index 00000000..ecde9fee --- /dev/null +++ b/app/src/main/res/values-pl/strings-preferences.xml @@ -0,0 +1,18 @@ + + + + + + Wygląd + Sieć + Ustawienia poda + + + Rozmiar czcionki + + + Załaduj obrazy + + + + diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml new file mode 100644 index 00000000..504988c2 --- /dev/null +++ b/app/src/main/res/values-pl/strings.xml @@ -0,0 +1,34 @@ + + + + + *[dzielone przez #DiasporaForAndroid]* + + Odśwież + Nieprzeczytane powiadomienia. Chcesz je przeczytać? + + Ustawienia + Powiadomienia + Rozmowy + Strumień + Profil + Aspekty + Aktywności + Polubione + Skomentowane + Szukaj + + Wybierz Pod + Wprowadź domenę poda + Potwierdzić adres url poda + Wprowadź prawidłową nazwę domeny + Błąd: Nie można pobrać listy podów! + Przepraszam, musisz być podłączony do Internetu, aby kontynuować + Potwierdzenie + Czy naprawdę chcesz używać\nhttps://%1$s \njako Twój Pod Diaspory? + + + + + + diff --git a/app/src/main/res/values-pt-rBR/strings-preferences.xml b/app/src/main/res/values-pt-rBR/strings-preferences.xml new file mode 100644 index 00000000..f4d96138 --- /dev/null +++ b/app/src/main/res/values-pt-rBR/strings-preferences.xml @@ -0,0 +1,40 @@ + + + + + + Aparência + Rede + Configurações do Pod + + + Tamanho da fonte + + + Carregar imagens + Desabilitar o carregamento de imagens para economizar seus créditos + + Habilitar o Proxy + Usar proxy para o tráfego da diáspora para contornar firewalls.\nPode requerer reinicialização + Servidor + Porta + Botão de sair na barra de navegação + Adiciona um botão extra » Sair App «na barra de navegação + + Configurações pessoais + Abra suas configurações de usuário diáspora + Contatos + Gerenciar sua lista de contatos + Gerenciar Hashtags + Adicionar ou excluir as hashtags que você está seguindo + Alterar conta + Apagar dados de sessão local e mudar para outro usuário de outro Pod diáspora + Isto apagará todos os dados de sessão e cookies. Você quer realmente mudar sua conta? + Limpar cache + Limpar o cache do WebView + Ocultar as barras de ferramentas superior e inferior automaticamente durante a rolagem + Barras de ferramentas auto ocultante + Acrescentar compartilhado-por-aviso + Acrescentar uma referência (\"compartilhado por…\") a este app para textos compartilhados + + diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml new file mode 100644 index 00000000..aa71eb2f --- /dev/null +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -0,0 +1,69 @@ + + + + + *[compartilhado por #DiasporaForAndroid]* + + Atualizar + Notificação não lida. Quer ler? + + Opções + Notificações + Conversas + Stream + Perfil + Aspectos + Atividades + Curti + Comentou + Menções + Público + Buscar + + Selecione o Pod + Insira o domínio do Pod + Confirme a URL do Pod + OBS: A lista de pods é gerada por pods seguros do https://podupti.me. Você pode adicionar qualquer pod não listado. + Por favor insira um nome de domínio válido + Erro: Não conseguimos recuperar a lista de pods! + Desculpe, que você deve estar conectado à Internet para prosseguir + Confirmação + Você realmente quer usar\nhttps://%1$s\no seu Pod diáspora? + Deseja sair? + + Sobre o app | Ajuda + Tags selecionadas + Atividades públicas + Configurações do App + Compartilhar link como texto + Compartilhar o screenshot da página Web + Tirar screenshot da página Web + Salvar imagem para + Salvar screenshot como: + Link copiado… + Nova mensagem + Ir para o topo + Procurar por tags ou pessoas + Sair do app + Alternar a exibição móvel/área de trabalho + Compartilhar… + por tags + por pessoas + Por favor, adicione um nome + Compartilhar link + Salvar imagem + Compartilhar Imagem + Abrir em navegador externo… + Copiar link para área de transferência + + Aviso: Não foi possível definir proxy de rede… + Não é possível carregar a imagem + Todas as tags + + Permissão negada. + Permissão concedida. Por favor, tente novamente. + + Licença + Formatação de markdown + + diff --git a/app/src/main/res/values-pt/strings-preferences.xml b/app/src/main/res/values-pt/strings-preferences.xml new file mode 100644 index 00000000..397edf31 --- /dev/null +++ b/app/src/main/res/values-pt/strings-preferences.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml new file mode 100644 index 00000000..9553bf61 --- /dev/null +++ b/app/src/main/res/values-pt/strings.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/app/src/main/res/values-ru/strings-preferences.xml b/app/src/main/res/values-ru/strings-preferences.xml new file mode 100644 index 00000000..4a2e926d --- /dev/null +++ b/app/src/main/res/values-ru/strings-preferences.xml @@ -0,0 +1,38 @@ + + + + + + Внешний вид + Сеть + Настройки пода + + + Размер шрифта + + + Загрузка изображений + Отключить загрузку изображений для экономии траффика + + Использовать прокси + Перенаправить трафик Диаспоры в обход брандмауэров.\nМожет потребовать перезапуска + Хост + Порт + + Личные настройки + Открыть настройки аккаунта диаспоры + Контакты + Управление списком контактов + Управление хэштегами + Добавление и удаление хэштегов, на которые вы подписаны + Сменить аккаунт + Стереть данные локального сеанса и переключиться на другой под/аккаунт Диаспоры + Это удалит все файлы cookie и данные сеанса. Вы действительно хотите изменить вашу учетную запись? + Очистить кэш + Очистить кэш WebView + Скрывать верхнюю и нижнюю панели инструментов автоматически во время прокрутки + Интеллектуальное скрытие панелей инструментов + Присоединять \"Опубликовано из\" к сообщению + Присоединять ссылку на приложение (\"Опубликовано из…\") к размещенным записям + + diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml new file mode 100644 index 00000000..ebd56f14 --- /dev/null +++ b/app/src/main/res/values-ru/strings.xml @@ -0,0 +1,70 @@ + + + + + *[опубликовано из #DiasporaForAndroid]* + + Перезагрузить + Непрочитанное уведомление. Хотите прочитать его? + + Настройки + Уведомления + Разговоры + Поток + Профиль + Аспекты + Недавняя активность + Понравившиеся + Прокомментированные + Упоминания + Публичные + Поиск + + Выберите под + Введите адрес пода + Подтвердите URL пода + Примечание: список подов формируется на основании списка безопасных подов с https://podupti.me. Вы можете ввести в поле для ввода любой под не из списка. + Пожалуйста, введите корректное имя домена + Ошибка: не удалось получить список подов! + Извините, вы должны быть подключены к Интернету, чтобы продолжить + Подтверждение + Вы действительно хотите использовать\nhttps://%1$s\nв качестве вашего пода в Диаспоре? + Вы действительно хотите выйти? + + О приложении | Справка + Отслеживаемые хэштеги + Публичная активность + Настройки приложения + Разместить ссылку как текст + Разместить экранный снимок страницы + Сделать экранный снимок страницы + Сохранение изображения в + Сохранение экранного снимка как: + Адрес ссылки скопирован… + Наверх + Поиск по тегам или людям + Выйти из приложения + Переключить мобильный/настольный режим просмотра + Поделиться… + по тегам + по людям + Пожалуйста добавьте имя + Разместить адрес ссылки + Сохранить изображение + Поделиться изображением + Открыть во внешнем браузере… + Копировать адрес ссылки в буфер обмена + + Предупреждение: Не удалось установить сетевой прокси… + Не удается загрузить изображение + Все теги + + Необходимо предоставить «Разрешение на доступ к хранилищу» для сохранения скриншотов. После этого вы должны полностью закрыть приложение или перезагрузите телефон. Если вы не разрешаете доступ к хранилищу, но хотите использовать функцию скриншотов позже, можно предоставить разрешение позднее. Затем откройте: Системные настройки - приложения - Диаспора. В разделе разрешения можно предоставить «разрешение на запись в хранилище». + Необходимо предоставить «Разрешение на доступ к хранилищу» для сохранения изображений. После этого вы должны полностью закрыть приложение или перезагрузите телефон. Если вы не разрешаете доступ к хранилищу, но хотите сохранять изображения позже, можно предоставить разрешение позднее. Затем откройте: Системные настройки - приложения - Диаспора. В разделе разрешения можно предоставить «разрешение на запись в хранилище». + В разрешении отказано. + Разрешение получено. Пожалуйста, попробуйте еще раз. + + Лицензия + Форматирование Markdown + + diff --git a/app/src/main/res/values-sv/strings-preferences.xml b/app/src/main/res/values-sv/strings-preferences.xml new file mode 100644 index 00000000..397edf31 --- /dev/null +++ b/app/src/main/res/values-sv/strings-preferences.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml new file mode 100644 index 00000000..9553bf61 --- /dev/null +++ b/app/src/main/res/values-sv/strings.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/app/src/main/res/values-tr/strings-preferences.xml b/app/src/main/res/values-tr/strings-preferences.xml new file mode 100644 index 00000000..397edf31 --- /dev/null +++ b/app/src/main/res/values-tr/strings-preferences.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml new file mode 100644 index 00000000..9553bf61 --- /dev/null +++ b/app/src/main/res/values-tr/strings.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/app/src/main/res/values/strings-preferences.xml b/app/src/main/res/values/strings-preferences.xml index d3afc808..77b45318 100644 --- a/app/src/main/res/values/strings-preferences.xml +++ b/app/src/main/res/values/strings-preferences.xml @@ -14,6 +14,8 @@ pref_key_category_network pref_key_load_images pref_key_clear_cache + pref_key__show_exit_button_in_nav_also + pref_key_append_shared_via_app pref_key_proxy_enabled pref_key_proxy_host @@ -21,11 +23,15 @@ wasProxyEnabled + + podUserProfile_avatar podUserProfile_name podUserProfile_guid podUserProfile_aspects podUserProfile_followedTags + podUserProfile_unreadMessageCount + podUserProfile_NotificationCount @@ -55,11 +61,13 @@ Enable Proxy Proxy Diaspora\'s traffic to circumvent firewalls.\nMay require restart - Host - Port + Exit button in navigation slider + Adds an additional »Exit App« button to the navigation slider + + Personal settings Open your diaspora account settings @@ -83,4 +91,5 @@ Append shared-by-notice Append a reference to this app ("shared by…") to shared texts + \ 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 9bb88634..ab79e952 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -169,7 +169,6 @@ <i>The splashscreen images can be found on flickr: https://www.flickr.com/photos/129581906@N06/sets/72157651933980136/with/16594947123. They were published by \"Lydia\" and are licensed under cc by-nc-sa.</i> - diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml index f1c8778a..336ac6df 100644 --- a/app/src/main/res/xml/preferences.xml +++ b/app/src/main/res/xml/preferences.xml @@ -24,6 +24,12 @@ android:summary="@string/pref_desc__append_shared_via_app" android:title="@string/pref_title__append_shared_via_app"/> + + diff --git a/crowdin.yaml b/crowdin.yaml index 05210466..d51f8da2 100644 --- a/crowdin.yaml +++ b/crowdin.yaml @@ -1,4 +1,24 @@ files: - source: '/app/src/main/res/values/strings*.xml' - translation: '/app/src/main/res/values-%two_letters_code%/%original_file_name%' + translation: '/app/src/main/res/values-%android_code%/%original_file_name%' + languages_mapping: + android_code: + sv-SE: sv + es-ES: es + ml-IN: ml + pt-PT: pt + "no": 'no' + de: de + tr: tr + ca: ca + ru: ru + pl: pl + nl: nl + ja: ja + it: it + hu: hu + hi: hi + fr: fr + el: el + cs: cs diff --git a/tools/localization/.gitignore b/tools/localization/.gitignore new file mode 100755 index 00000000..98626981 --- /dev/null +++ b/tools/localization/.gitignore @@ -0,0 +1 @@ +crowdin.yaml diff --git a/tools/localization/downloadLocalizations.sh b/tools/localization/downloadLocalizations.sh new file mode 100755 index 00000000..86fc3252 --- /dev/null +++ b/tools/localization/downloadLocalizations.sh @@ -0,0 +1,40 @@ +#!/bin/bash +######################################################### +# +# Title +# +# Created by Gregor Santer (gsantner), 2016 +# https://gsantner.github.io/ +# +######################################################### + + +#Pfade +SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +SCRIPTFILE=$(readlink -f $0) +SCRIPTPATH=$(dirname $SCRIPTFILE) +argc=$# + +######################################################### +cd "$SCRIPTDIR" + +if [ ! -f "crowdin.yaml" ] ; then + echo "project_identifier: diaspora-for-android" > 'crowdin.yaml' + echo "base_path: $(realpath '../../')" >>'crowdin.yaml' + echo "api_key: DONT_PUSH_API_KEY" >>'crowdin.yaml' + cat "../../crowdin.yaml" >> "crowdin.yaml" + echo "# Add all non locality languages here" >> "crowdin.yaml" + echo "# (e.g. enUS, enUK, deCH, deAT will automatically go into the right folder)" >> "crowdin.yaml" + echo "# Otherwise e.g. en would get added into the folder enEN (which is wrong)." >> "crowdin.yaml" + echo "# https://crowdin.com/page/api/language-codes contains supported language codes" >> "crowdin.yaml" + echo "# The first listed ones here are diffently managed by crowdin than on android" >> "crowdin.yaml" +fi + +if grep -q "DONT_PUSH" "crowdin.yaml" ; then + echo "Insert API key to crowdin.yaml" + echo "and update folder to the root folder of the repository" + exit +fi + +# Load latest translations +crowdin-cli download -b master