From dea1e0dcb9652dbaddcd1f1de68d8a5d340426a2 Mon Sep 17 00:00:00 2001 From: bopol Date: Sat, 4 Jan 2020 21:38:27 +0100 Subject: [PATCH 01/59] Update localizations settings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1) now, on « content language » change, it will also change the app language 2) added Esperanto to the list of language in content language --- app/src/main/java/org/schabi/newpipe/MainActivity.java | 5 +++++ .../java/org/schabi/newpipe/util/Localization.java | 10 ++++++++++ app/src/main/res/values/settings_keys.xml | 2 ++ 3 files changed, 17 insertions(+) diff --git a/app/src/main/java/org/schabi/newpipe/MainActivity.java b/app/src/main/java/org/schabi/newpipe/MainActivity.java index 90d299c7f..cac814085 100644 --- a/app/src/main/java/org/schabi/newpipe/MainActivity.java +++ b/app/src/main/java/org/schabi/newpipe/MainActivity.java @@ -67,6 +67,7 @@ import org.schabi.newpipe.fragments.list.search.SearchFragment; import org.schabi.newpipe.report.ErrorActivity; import org.schabi.newpipe.util.Constants; import org.schabi.newpipe.util.KioskTranslator; +import org.schabi.newpipe.util.Localization; import org.schabi.newpipe.util.NavigationHelper; import org.schabi.newpipe.util.PeertubeHelper; import org.schabi.newpipe.util.PermissionHelper; @@ -78,6 +79,8 @@ import org.schabi.newpipe.util.ThemeHelper; import java.util.ArrayList; import java.util.List; +import static org.schabi.newpipe.util.Localization.changeAppLanguage; + public class MainActivity extends AppCompatActivity { private static final String TAG = "MainActivity"; public static final boolean DEBUG = !BuildConfig.BUILD_TYPE.equals("release"); @@ -116,6 +119,8 @@ public class MainActivity extends AppCompatActivity { ThemeHelper.setTheme(this, ServiceHelper.getSelectedServiceId(this)); + changeAppLanguage(Localization.getPreferredLocale(getApplicationContext()), getResources()); + super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); diff --git a/app/src/main/java/org/schabi/newpipe/util/Localization.java b/app/src/main/java/org/schabi/newpipe/util/Localization.java index 9274df848..6b0b4cd0c 100644 --- a/app/src/main/java/org/schabi/newpipe/util/Localization.java +++ b/app/src/main/java/org/schabi/newpipe/util/Localization.java @@ -2,8 +2,11 @@ package org.schabi.newpipe.util; import android.content.Context; import android.content.SharedPreferences; +import android.content.res.Configuration; +import android.content.res.Resources; import android.preference.PreferenceManager; import android.text.TextUtils; +import android.util.DisplayMetrics; import org.ocpsoft.prettytime.PrettyTime; import org.ocpsoft.prettytime.units.Decade; @@ -216,4 +219,11 @@ public class Localization { public static String relativeTime(Calendar calendarTime) { return getPrettyTime().formatUnrounded(calendarTime); } + + public static void changeAppLanguage(Locale loc, Resources res) { + DisplayMetrics dm = res.getDisplayMetrics(); + Configuration conf = res.getConfiguration(); + conf.setLocale(loc); + res.updateConfiguration(conf, dm); + } } diff --git a/app/src/main/res/values/settings_keys.xml b/app/src/main/res/values/settings_keys.xml index 6aaaa0630..3f361226d 100644 --- a/app/src/main/res/values/settings_keys.xml +++ b/app/src/main/res/values/settings_keys.xml @@ -272,6 +272,7 @@ cs da de + eo et en-GB en @@ -351,6 +352,7 @@ Čeština Dansk Deutsch + Esperanto Eesti English (UK) English (US) From 3ad0e313caee037d42ea9a4ef89e80fbd04d9a2f Mon Sep 17 00:00:00 2001 From: bopol Date: Thu, 9 Jan 2020 09:40:05 +0100 Subject: [PATCH 02/59] =?UTF-8?q?changed=20the=20way=20to=20change=20langu?= =?UTF-8?q?age,=20now=20is=20=C2=ABNewPipe's=20language=C2=BB=20selector?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/schabi/newpipe/MainActivity.java | 8 +- .../schabi/newpipe/about/AboutActivity.java | 6 + .../newpipe/download/DownloadActivity.java | 6 + .../settings/ContentSettingsFragment.java | 5 +- .../newpipe/settings/SettingsActivity.java | 7 +- .../org/schabi/newpipe/util/Localization.java | 26 ++- app/src/main/res/values-ur/strings.xml | 10 +- app/src/main/res/values/settings_keys.xml | 159 ++++++++++++++++-- app/src/main/res/values/strings.xml | 1 + app/src/main/res/xml/content_settings.xml | 10 ++ 10 files changed, 209 insertions(+), 29 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/MainActivity.java b/app/src/main/java/org/schabi/newpipe/MainActivity.java index cac814085..05e224013 100644 --- a/app/src/main/java/org/schabi/newpipe/MainActivity.java +++ b/app/src/main/java/org/schabi/newpipe/MainActivity.java @@ -56,7 +56,6 @@ import androidx.fragment.app.FragmentManager; import com.google.android.material.navigation.NavigationView; import org.schabi.newpipe.extractor.NewPipe; -import org.schabi.newpipe.extractor.ServiceList; import org.schabi.newpipe.extractor.StreamingService; import org.schabi.newpipe.extractor.exceptions.ExtractionException; import org.schabi.newpipe.extractor.services.peertube.PeertubeInstance; @@ -67,7 +66,6 @@ import org.schabi.newpipe.fragments.list.search.SearchFragment; import org.schabi.newpipe.report.ErrorActivity; import org.schabi.newpipe.util.Constants; import org.schabi.newpipe.util.KioskTranslator; -import org.schabi.newpipe.util.Localization; import org.schabi.newpipe.util.NavigationHelper; import org.schabi.newpipe.util.PeertubeHelper; import org.schabi.newpipe.util.PermissionHelper; @@ -78,8 +76,10 @@ import org.schabi.newpipe.util.ThemeHelper; import java.util.ArrayList; import java.util.List; +import java.util.Locale; import static org.schabi.newpipe.util.Localization.changeAppLanguage; +import static org.schabi.newpipe.util.Localization.getAppLanguage; public class MainActivity extends AppCompatActivity { private static final String TAG = "MainActivity"; @@ -116,10 +116,9 @@ public class MainActivity extends AppCompatActivity { if (Build.VERSION.SDK_INT == Build.VERSION_CODES.KITKAT) { TLSSocketFactoryCompat.setAsDefault(); } - ThemeHelper.setTheme(this, ServiceHelper.getSelectedServiceId(this)); - changeAppLanguage(Localization.getPreferredLocale(getApplicationContext()), getResources()); + changeAppLanguage(getAppLanguage(getApplicationContext()), getResources()); super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); @@ -424,6 +423,7 @@ public class MainActivity extends AppCompatActivity { @Override protected void onResume() { + changeAppLanguage(getAppLanguage(getApplicationContext()), getResources()); super.onResume(); // close drawer on return, and don't show animation, so its looks like the drawer isn't open diff --git a/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java b/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java index 2326e795e..4da1611d3 100644 --- a/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java +++ b/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java @@ -25,6 +25,11 @@ import org.schabi.newpipe.R; import org.schabi.newpipe.util.NavigationHelper; import org.schabi.newpipe.util.ThemeHelper; +import java.util.Locale; + +import static org.schabi.newpipe.util.Localization.changeAppLanguage; +import static org.schabi.newpipe.util.Localization.getAppLanguage; + public class AboutActivity extends AppCompatActivity { /** @@ -62,6 +67,7 @@ public class AboutActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { + changeAppLanguage(getAppLanguage(getApplicationContext()), getResources()); super.onCreate(savedInstanceState); ThemeHelper.setTheme(this); diff --git a/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java b/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java index 449a790e8..b8bfcf480 100644 --- a/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java +++ b/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java @@ -15,9 +15,14 @@ import org.schabi.newpipe.R; import org.schabi.newpipe.settings.SettingsActivity; import org.schabi.newpipe.util.ThemeHelper; +import java.util.Locale; + import us.shandian.giga.service.DownloadManagerService; import us.shandian.giga.ui.fragment.MissionsFragment; +import static org.schabi.newpipe.util.Localization.changeAppLanguage; +import static org.schabi.newpipe.util.Localization.getAppLanguage; + public class DownloadActivity extends AppCompatActivity { private static final String MISSIONS_FRAGMENT_TAG = "fragment_tag"; @@ -29,6 +34,7 @@ public class DownloadActivity extends AppCompatActivity { i.setClass(this, DownloadManagerService.class); startService(i); + changeAppLanguage(getAppLanguage(getApplicationContext()), getResources()); ThemeHelper.setTheme(this); super.onCreate(savedInstanceState); setContentView(R.layout.activity_downloader); diff --git a/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsFragment.java b/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsFragment.java index 0c7a4b46e..88c700582 100644 --- a/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsFragment.java +++ b/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsFragment.java @@ -56,6 +56,7 @@ public class ContentSettingsFragment extends BasePreferenceFragment { private Localization initialSelectedLocalization; private ContentCountry initialSelectedContentCountry; + private String initialLanguage; @Override public void onCreate(@Nullable Bundle savedInstanceState) { @@ -64,6 +65,7 @@ public class ContentSettingsFragment extends BasePreferenceFragment { initialSelectedLocalization = org.schabi.newpipe.util.Localization.getPreferredLocalization(requireContext()); initialSelectedContentCountry = org.schabi.newpipe.util.Localization.getPreferredContentCountry(requireContext()); + initialLanguage = androidx.preference.PreferenceManager.getDefaultSharedPreferences(getContext()).getString("newpipes_language_key", "en"); } @Override @@ -125,9 +127,10 @@ public class ContentSettingsFragment extends BasePreferenceFragment { .getPreferredLocalization(requireContext()); final ContentCountry selectedContentCountry = org.schabi.newpipe.util.Localization .getPreferredContentCountry(requireContext()); + final String selectedLanguage = androidx.preference.PreferenceManager.getDefaultSharedPreferences(getContext()).getString("newpipes_language_key", "en"); if (!selectedLocalization.equals(initialSelectedLocalization) - || !selectedContentCountry.equals(initialSelectedContentCountry)) { + || !selectedContentCountry.equals(initialSelectedContentCountry) || !selectedLanguage.equals(initialLanguage)) { Toast.makeText(requireContext(), R.string.localization_changes_requires_app_restart, Toast.LENGTH_LONG).show(); NewPipe.setupLocalization(selectedLocalization, selectedContentCountry); diff --git a/app/src/main/java/org/schabi/newpipe/settings/SettingsActivity.java b/app/src/main/java/org/schabi/newpipe/settings/SettingsActivity.java index a3f218074..40af9f460 100644 --- a/app/src/main/java/org/schabi/newpipe/settings/SettingsActivity.java +++ b/app/src/main/java/org/schabi/newpipe/settings/SettingsActivity.java @@ -14,6 +14,11 @@ import android.view.MenuItem; import org.schabi.newpipe.R; import org.schabi.newpipe.util.ThemeHelper; +import java.util.Locale; + +import static org.schabi.newpipe.util.Localization.changeAppLanguage; +import static org.schabi.newpipe.util.Localization.getAppLanguage; + /* * Created by Christian Schabesberger on 31.08.15. @@ -44,7 +49,7 @@ public class SettingsActivity extends AppCompatActivity implements BasePreferenc @Override protected void onCreate(Bundle savedInstanceBundle) { setTheme(ThemeHelper.getSettingsThemeStyle(this)); - + changeAppLanguage(getAppLanguage(getApplicationContext()), getResources()); super.onCreate(savedInstanceBundle); setContentView(R.layout.settings_layout); diff --git a/app/src/main/java/org/schabi/newpipe/util/Localization.java b/app/src/main/java/org/schabi/newpipe/util/Localization.java index 6b0b4cd0c..7d742b04a 100644 --- a/app/src/main/java/org/schabi/newpipe/util/Localization.java +++ b/app/src/main/java/org/schabi/newpipe/util/Localization.java @@ -7,6 +7,11 @@ import android.content.res.Resources; import android.preference.PreferenceManager; import android.text.TextUtils; import android.util.DisplayMetrics; +import android.widget.Toast; + +import androidx.annotation.NonNull; +import androidx.annotation.PluralsRes; +import androidx.annotation.StringRes; import org.ocpsoft.prettytime.PrettyTime; import org.ocpsoft.prettytime.units.Decade; @@ -21,10 +26,6 @@ import java.util.Date; import java.util.List; import java.util.Locale; -import androidx.annotation.NonNull; -import androidx.annotation.PluralsRes; -import androidx.annotation.StringRes; - /* * Created by chschtsch on 12/29/15. * @@ -226,4 +227,21 @@ public class Localization { conf.setLocale(loc); res.updateConfiguration(conf, dm); } + + public static Locale getAppLanguage(Context context) { + SharedPreferences prefs = androidx.preference.PreferenceManager.getDefaultSharedPreferences(context); + String lang = prefs.getString("newpipes_language_key", "en"); + Locale loc; + if (lang.equals("system")) { + loc = Locale.getDefault(); + } else if (lang.matches(".*-.*")) { + String[] localisation = lang.split("-"); + lang = localisation[0]; + String country = localisation[1]; + loc = new Locale(lang, country); + } else { + loc = new Locale(lang); + } + return loc; + } } diff --git a/app/src/main/res/values-ur/strings.xml b/app/src/main/res/values-ur/strings.xml index 089b793c8..ce6f3f651 100644 --- a/app/src/main/res/values-ur/strings.xml +++ b/app/src/main/res/values-ur/strings.xml @@ -193,13 +193,13 @@ بی کوئی صارفین نہیں - % s صارف - % s صارفین + %s صارف + %s صارفین کوئی مناظر نہیں - % s منظر - % s مناظر + %s منظر + %s مناظر ویڈیوز دستیاب نہیں @@ -388,7 +388,7 @@ کوئی حد نہیں موبائل ڈیٹا کا استعمال کرتے وقت ریذولوشن کو محدود کریں ایپ سوئچ کو کم سے کم کریں - اہم ویڈیو پلیئر سے دوسرے ایپ میں سوئچنگ کرتے وقت کارروائی-% s + اہم ویڈیو پلیئر سے دوسرے ایپ میں سوئچنگ کرتے وقت کارروائی-s% کوئی نہیں پس منظری پلیر میں کم کریں پاپ اپ پلیر میں کم کریں diff --git a/app/src/main/res/values/settings_keys.xml b/app/src/main/res/values/settings_keys.xml index 3f361226d..299803a43 100644 --- a/app/src/main/res/values/settings_keys.xml +++ b/app/src/main/res/values/settings_keys.xml @@ -31,20 +31,20 @@ seek_duration 10000 - 5 seconds - 10 seconds - 15 seconds - 20 seconds - 25 seconds - 30 seconds + 5 seconds + 10 seconds + 15 seconds + 20 seconds + 25 seconds + 30 seconds - 5000 - 10000 - 15000 - 20000 - 25000 - 30000 + 5000 + 10000 + 15000 + 20000 + 25000 + 30000 minimize_on_exit_key @@ -175,6 +175,7 @@ main_page_content enable_playback_resume enable_playback_state_lists + newpipes_language_key import_data export_data @@ -272,7 +273,6 @@ cs da de - eo et en-GB en @@ -352,7 +352,6 @@ Čeština Dansk Deutsch - Esperanto Eesti English (UK) English (US) @@ -925,6 +924,137 @@ ZW + + + system + ar + az + ast + be + bg-bd + bn + ca + cs + da + de + el + en + eo + es + et + eu + fa + fi + fil + fr + gl + he + hi + hr + hu + hy + ia + ind + it + ja + ko + ku + lt + mk + ms + nb-no + ne + nl + nl-be + pa + pl + pr + pt + pt-br + ro + ru + sk + sl + sq + sr + sv + ta + te + th + tr + uk + ur + vi + zh + zh-hans + zh-tw + + + @string/system + العربية + Azərbaycan dili + Asturianu + Беларуская + български език + বাংলা + Català + Čeština + Dansk + Deutsch + Ελληνικά + English + Esperanto + Español + Eesti keel + Euskara + فارسی + Suomen kieli + Wikang Filipino + Français + Galego + עברית + हिन्दी + Hrvatski + magyar + Հայերեն + Interlingua + Bahasa Indonesia + Italiano + 日本語 + 한국어 + کوردی + Lietuvių kalba + македонски јазик + Bahasa Melayu + Norsk bokmål + Nनेपाली + Nederlands (NL) + Nederlands (BE) + ਪੰਜਾਬੀ + Polski + Pirate Language + Português (PT) + Português (BR) + Română + русский язык + Slovenčina + Slovenščina + Shqip + Српски + Svenska + தமிழ் + తెలుగు + ไทย + Türkçe + українська мова + اردو + Tiếng Việt + 官话 + 简化字 + 臺灣華語 + + + limit_mobile_data_usage limit_data_usage_none @@ -943,6 +1073,7 @@ list_view_mode auto + System auto diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 6021df15e..12a96fe74 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -585,5 +585,6 @@ Use SAF The Storage Access Framework allows downloads to an external SD card.\nNote: some devices are not compatible Choose an instance + NewPipe\'s language diff --git a/app/src/main/res/xml/content_settings.xml b/app/src/main/res/xml/content_settings.xml index 4044e92d8..ab9896cde 100644 --- a/app/src/main/res/xml/content_settings.xml +++ b/app/src/main/res/xml/content_settings.xml @@ -3,6 +3,16 @@ xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:title="@string/content"> + + + Date: Thu, 9 Jan 2020 12:15:01 +0100 Subject: [PATCH 03/59] removed unused imports --- app/src/main/java/org/schabi/newpipe/MainActivity.java | 1 - app/src/main/java/org/schabi/newpipe/about/AboutActivity.java | 2 -- .../main/java/org/schabi/newpipe/download/DownloadActivity.java | 2 -- .../main/java/org/schabi/newpipe/settings/SettingsActivity.java | 2 -- 4 files changed, 7 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/MainActivity.java b/app/src/main/java/org/schabi/newpipe/MainActivity.java index 05e224013..eb5f11987 100644 --- a/app/src/main/java/org/schabi/newpipe/MainActivity.java +++ b/app/src/main/java/org/schabi/newpipe/MainActivity.java @@ -76,7 +76,6 @@ import org.schabi.newpipe.util.ThemeHelper; import java.util.ArrayList; import java.util.List; -import java.util.Locale; import static org.schabi.newpipe.util.Localization.changeAppLanguage; import static org.schabi.newpipe.util.Localization.getAppLanguage; diff --git a/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java b/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java index 4da1611d3..3555ecefe 100644 --- a/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java +++ b/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java @@ -25,8 +25,6 @@ import org.schabi.newpipe.R; import org.schabi.newpipe.util.NavigationHelper; import org.schabi.newpipe.util.ThemeHelper; -import java.util.Locale; - import static org.schabi.newpipe.util.Localization.changeAppLanguage; import static org.schabi.newpipe.util.Localization.getAppLanguage; diff --git a/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java b/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java index b8bfcf480..bf546bf85 100644 --- a/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java +++ b/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java @@ -15,8 +15,6 @@ import org.schabi.newpipe.R; import org.schabi.newpipe.settings.SettingsActivity; import org.schabi.newpipe.util.ThemeHelper; -import java.util.Locale; - import us.shandian.giga.service.DownloadManagerService; import us.shandian.giga.ui.fragment.MissionsFragment; diff --git a/app/src/main/java/org/schabi/newpipe/settings/SettingsActivity.java b/app/src/main/java/org/schabi/newpipe/settings/SettingsActivity.java index 40af9f460..781c033b8 100644 --- a/app/src/main/java/org/schabi/newpipe/settings/SettingsActivity.java +++ b/app/src/main/java/org/schabi/newpipe/settings/SettingsActivity.java @@ -14,8 +14,6 @@ import android.view.MenuItem; import org.schabi.newpipe.R; import org.schabi.newpipe.util.ThemeHelper; -import java.util.Locale; - import static org.schabi.newpipe.util.Localization.changeAppLanguage; import static org.schabi.newpipe.util.Localization.getAppLanguage; From b32935a1b087bbc6d19fb7e50493273796d2ffb4 Mon Sep 17 00:00:00 2001 From: bopol Date: Thu, 9 Jan 2020 15:51:41 +0100 Subject: [PATCH 04/59] app language now changes time formatting (3hrs ago), was system language b4 --- app/src/main/java/org/schabi/newpipe/App.java | 2 +- .../java/org/schabi/newpipe/MainActivity.java | 8 +++++--- .../org/schabi/newpipe/about/AboutActivity.java | 4 ++-- .../newpipe/download/DownloadActivity.java | 4 ++-- .../newpipe/settings/SettingsActivity.java | 4 ++-- .../org/schabi/newpipe/util/Localization.java | 17 ++++++++--------- 6 files changed, 20 insertions(+), 19 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/App.java b/app/src/main/java/org/schabi/newpipe/App.java index 7f050e6c7..dae143b6c 100644 --- a/app/src/main/java/org/schabi/newpipe/App.java +++ b/app/src/main/java/org/schabi/newpipe/App.java @@ -99,7 +99,7 @@ public class App extends Application { NewPipe.init(getDownloader(), Localization.getPreferredLocalization(this), Localization.getPreferredContentCountry(this)); - Localization.init(); + Localization.init(getApplicationContext()); StateSaver.init(this); initNotificationChannel(); diff --git a/app/src/main/java/org/schabi/newpipe/MainActivity.java b/app/src/main/java/org/schabi/newpipe/MainActivity.java index eb5f11987..d48db1035 100644 --- a/app/src/main/java/org/schabi/newpipe/MainActivity.java +++ b/app/src/main/java/org/schabi/newpipe/MainActivity.java @@ -66,6 +66,7 @@ import org.schabi.newpipe.fragments.list.search.SearchFragment; import org.schabi.newpipe.report.ErrorActivity; import org.schabi.newpipe.util.Constants; import org.schabi.newpipe.util.KioskTranslator; +import org.schabi.newpipe.util.Localization; import org.schabi.newpipe.util.NavigationHelper; import org.schabi.newpipe.util.PeertubeHelper; import org.schabi.newpipe.util.PermissionHelper; @@ -78,7 +79,7 @@ import java.util.ArrayList; import java.util.List; import static org.schabi.newpipe.util.Localization.changeAppLanguage; -import static org.schabi.newpipe.util.Localization.getAppLanguage; +import static org.schabi.newpipe.util.Localization.getAppLocale; public class MainActivity extends AppCompatActivity { private static final String TAG = "MainActivity"; @@ -117,7 +118,7 @@ public class MainActivity extends AppCompatActivity { } ThemeHelper.setTheme(this, ServiceHelper.getSelectedServiceId(this)); - changeAppLanguage(getAppLanguage(getApplicationContext()), getResources()); + changeAppLanguage(getAppLocale(getApplicationContext()), getResources()); super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); @@ -422,7 +423,8 @@ public class MainActivity extends AppCompatActivity { @Override protected void onResume() { - changeAppLanguage(getAppLanguage(getApplicationContext()), getResources()); + changeAppLanguage(getAppLocale(getApplicationContext()), getResources()); + Localization.init(getApplicationContext()); //change the date format to match the selected language on resume super.onResume(); // close drawer on return, and don't show animation, so its looks like the drawer isn't open diff --git a/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java b/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java index 3555ecefe..795feceb0 100644 --- a/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java +++ b/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java @@ -26,7 +26,7 @@ import org.schabi.newpipe.util.NavigationHelper; import org.schabi.newpipe.util.ThemeHelper; import static org.schabi.newpipe.util.Localization.changeAppLanguage; -import static org.schabi.newpipe.util.Localization.getAppLanguage; +import static org.schabi.newpipe.util.Localization.getAppLocale; public class AboutActivity extends AppCompatActivity { @@ -65,7 +65,7 @@ public class AboutActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { - changeAppLanguage(getAppLanguage(getApplicationContext()), getResources()); + changeAppLanguage(getAppLocale(getApplicationContext()), getResources()); super.onCreate(savedInstanceState); ThemeHelper.setTheme(this); diff --git a/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java b/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java index bf546bf85..fd0d28a0e 100644 --- a/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java +++ b/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java @@ -19,7 +19,7 @@ import us.shandian.giga.service.DownloadManagerService; import us.shandian.giga.ui.fragment.MissionsFragment; import static org.schabi.newpipe.util.Localization.changeAppLanguage; -import static org.schabi.newpipe.util.Localization.getAppLanguage; +import static org.schabi.newpipe.util.Localization.getAppLocale; public class DownloadActivity extends AppCompatActivity { @@ -32,7 +32,7 @@ public class DownloadActivity extends AppCompatActivity { i.setClass(this, DownloadManagerService.class); startService(i); - changeAppLanguage(getAppLanguage(getApplicationContext()), getResources()); + changeAppLanguage(getAppLocale(getApplicationContext()), getResources()); ThemeHelper.setTheme(this); super.onCreate(savedInstanceState); setContentView(R.layout.activity_downloader); diff --git a/app/src/main/java/org/schabi/newpipe/settings/SettingsActivity.java b/app/src/main/java/org/schabi/newpipe/settings/SettingsActivity.java index 781c033b8..6804f9831 100644 --- a/app/src/main/java/org/schabi/newpipe/settings/SettingsActivity.java +++ b/app/src/main/java/org/schabi/newpipe/settings/SettingsActivity.java @@ -15,7 +15,7 @@ import org.schabi.newpipe.R; import org.schabi.newpipe.util.ThemeHelper; import static org.schabi.newpipe.util.Localization.changeAppLanguage; -import static org.schabi.newpipe.util.Localization.getAppLanguage; +import static org.schabi.newpipe.util.Localization.getAppLocale; /* @@ -47,7 +47,7 @@ public class SettingsActivity extends AppCompatActivity implements BasePreferenc @Override protected void onCreate(Bundle savedInstanceBundle) { setTheme(ThemeHelper.getSettingsThemeStyle(this)); - changeAppLanguage(getAppLanguage(getApplicationContext()), getResources()); + changeAppLanguage(getAppLocale(getApplicationContext()), getResources()); super.onCreate(savedInstanceBundle); setContentView(R.layout.settings_layout); diff --git a/app/src/main/java/org/schabi/newpipe/util/Localization.java b/app/src/main/java/org/schabi/newpipe/util/Localization.java index 7d742b04a..695a73295 100644 --- a/app/src/main/java/org/schabi/newpipe/util/Localization.java +++ b/app/src/main/java/org/schabi/newpipe/util/Localization.java @@ -7,7 +7,6 @@ import android.content.res.Resources; import android.preference.PreferenceManager; import android.text.TextUtils; import android.util.DisplayMetrics; -import android.widget.Toast; import androidx.annotation.NonNull; import androidx.annotation.PluralsRes; @@ -54,8 +53,8 @@ public class Localization { private Localization() { } - public static void init() { - initPrettyTime(); + public static void init(Context context) { + initPrettyTime(context); } @NonNull @@ -203,17 +202,17 @@ public class Localization { // Pretty Time //////////////////////////////////////////////////////////////////////////*/ - private static void initPrettyTime() { - prettyTime = new PrettyTime(Locale.getDefault()); + private static void initPrettyTime(Context context) { + prettyTime = new PrettyTime(getAppLocale(context)); // Do not use decades as YouTube doesn't either. prettyTime.removeUnit(Decade.class); } private static PrettyTime getPrettyTime() { // If pretty time's Locale is different, init again with the new one. - if (!prettyTime.getLocale().equals(Locale.getDefault())) { - initPrettyTime(); - } +// if (!prettyTime.getLocale().equals(Locale.getDefault())) { +// initPrettyTime(); +// } return prettyTime; } @@ -228,7 +227,7 @@ public class Localization { res.updateConfiguration(conf, dm); } - public static Locale getAppLanguage(Context context) { + public static Locale getAppLocale(Context context) { SharedPreferences prefs = androidx.preference.PreferenceManager.getDefaultSharedPreferences(context); String lang = prefs.getString("newpipes_language_key", "en"); Locale loc; From 8f46432391578b6602cea69ef344817857f75a7e Mon Sep 17 00:00:00 2001 From: bopol Date: Fri, 10 Jan 2020 15:50:15 +0100 Subject: [PATCH 05/59] fixed some activities where the wrong languages would be set --- app/src/main/java/org/schabi/newpipe/MainActivity.java | 1 - .../java/org/schabi/newpipe/about/AboutActivity.java | 1 + .../java/org/schabi/newpipe/player/BackgroundPlayer.java | 4 +++- .../java/org/schabi/newpipe/player/MainVideoPlayer.java | 9 +++++++-- .../java/org/schabi/newpipe/player/PopupVideoPlayer.java | 3 +++ .../org/schabi/newpipe/player/ServicePlayerActivity.java | 3 +++ .../java/org/schabi/newpipe/report/ErrorActivity.java | 4 ++++ .../main/java/org/schabi/newpipe/util/Localization.java | 4 ---- 8 files changed, 21 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/MainActivity.java b/app/src/main/java/org/schabi/newpipe/MainActivity.java index d48db1035..c5aedb85b 100644 --- a/app/src/main/java/org/schabi/newpipe/MainActivity.java +++ b/app/src/main/java/org/schabi/newpipe/MainActivity.java @@ -119,7 +119,6 @@ public class MainActivity extends AppCompatActivity { ThemeHelper.setTheme(this, ServiceHelper.getSelectedServiceId(this)); changeAppLanguage(getAppLocale(getApplicationContext()), getResources()); - super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); diff --git a/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java b/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java index 795feceb0..c8c62bbe7 100644 --- a/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java +++ b/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java @@ -68,6 +68,7 @@ public class AboutActivity extends AppCompatActivity { changeAppLanguage(getAppLocale(getApplicationContext()), getResources()); super.onCreate(savedInstanceState); ThemeHelper.setTheme(this); + this.setTitle(getString(R.string.title_activity_about)); setContentView(R.layout.activity_about); diff --git a/app/src/main/java/org/schabi/newpipe/player/BackgroundPlayer.java b/app/src/main/java/org/schabi/newpipe/player/BackgroundPlayer.java index 76da7da36..c74882161 100644 --- a/app/src/main/java/org/schabi/newpipe/player/BackgroundPlayer.java +++ b/app/src/main/java/org/schabi/newpipe/player/BackgroundPlayer.java @@ -58,6 +58,8 @@ import org.schabi.newpipe.util.NavigationHelper; import org.schabi.newpipe.util.ThemeHelper; import static org.schabi.newpipe.player.helper.PlayerHelper.getTimeString; +import static org.schabi.newpipe.util.Localization.changeAppLanguage; +import static org.schabi.newpipe.util.Localization.getAppLocale; /** @@ -115,7 +117,7 @@ public final class BackgroundPlayer extends Service { notificationManager = ((NotificationManager) getSystemService(NOTIFICATION_SERVICE)); lockManager = new LockManager(this); sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); - + changeAppLanguage(getAppLocale(getApplicationContext()), getResources()); ThemeHelper.setTheme(this); basePlayerImpl = new BasePlayerImpl(this); basePlayerImpl.setup(); diff --git a/app/src/main/java/org/schabi/newpipe/player/MainVideoPlayer.java b/app/src/main/java/org/schabi/newpipe/player/MainVideoPlayer.java index 7a3e60c66..284d10b42 100644 --- a/app/src/main/java/org/schabi/newpipe/player/MainVideoPlayer.java +++ b/app/src/main/java/org/schabi/newpipe/player/MainVideoPlayer.java @@ -93,6 +93,8 @@ import static org.schabi.newpipe.util.AnimationUtils.Type.SCALE_AND_ALPHA; import static org.schabi.newpipe.util.AnimationUtils.Type.SLIDE_AND_ALPHA; import static org.schabi.newpipe.util.AnimationUtils.animateRotation; import static org.schabi.newpipe.util.AnimationUtils.animateView; +import static org.schabi.newpipe.util.Localization.changeAppLanguage; +import static org.schabi.newpipe.util.Localization.getAppLocale; import static org.schabi.newpipe.util.StateSaver.KEY_SAVED_STATE; /** @@ -123,6 +125,7 @@ public final class MainVideoPlayer extends AppCompatActivity @Override protected void onCreate(@Nullable Bundle savedInstanceState) { + changeAppLanguage(getAppLocale(getApplicationContext()), getResources()); super.onCreate(savedInstanceState); if (DEBUG) Log.d(TAG, "onCreate() called with: savedInstanceState = [" + savedInstanceState + "]"); defaultPreferences = PreferenceManager.getDefaultSharedPreferences(this); @@ -190,6 +193,7 @@ public final class MainVideoPlayer extends AppCompatActivity @Override protected void onResume() { if (DEBUG) Log.d(TAG, "onResume() called"); + changeAppLanguage(getAppLocale(getApplicationContext()), getResources()); super.onResume(); if (globalScreenOrientationLocked()) { @@ -220,6 +224,7 @@ public final class MainVideoPlayer extends AppCompatActivity @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); + changeAppLanguage(getAppLocale(getApplicationContext()), getResources()); if (playerImpl.isSomePopupMenuVisible()) { playerImpl.getQualityPopupMenu().dismiss(); @@ -364,8 +369,8 @@ public final class MainVideoPlayer extends AppCompatActivity } private boolean globalScreenOrientationLocked() { - // 1: Screen orientation changes using acelerometer - // 0: Screen orientatino is locked + // 1: Screen orientation changes using accelerometer + // 0: Screen orientation is locked return !(android.provider.Settings.System.getInt(getContentResolver(), Settings.System.ACCELEROMETER_ROTATION, 0) == 1); } diff --git a/app/src/main/java/org/schabi/newpipe/player/PopupVideoPlayer.java b/app/src/main/java/org/schabi/newpipe/player/PopupVideoPlayer.java index 969c47990..b173448d0 100644 --- a/app/src/main/java/org/schabi/newpipe/player/PopupVideoPlayer.java +++ b/app/src/main/java/org/schabi/newpipe/player/PopupVideoPlayer.java @@ -80,6 +80,8 @@ import static org.schabi.newpipe.player.BasePlayer.STATE_PLAYING; import static org.schabi.newpipe.player.VideoPlayer.DEFAULT_CONTROLS_DURATION; import static org.schabi.newpipe.player.VideoPlayer.DEFAULT_CONTROLS_HIDE_TIME; import static org.schabi.newpipe.util.AnimationUtils.animateView; +import static org.schabi.newpipe.util.Localization.changeAppLanguage; +import static org.schabi.newpipe.util.Localization.getAppLocale; /** * Service Popup Player implementing VideoPlayer @@ -142,6 +144,7 @@ public final class PopupVideoPlayer extends Service { @Override public void onCreate() { + changeAppLanguage(getAppLocale(getApplicationContext()), getResources()); windowManager = (WindowManager) getSystemService(WINDOW_SERVICE); notificationManager = ((NotificationManager) getSystemService(NOTIFICATION_SERVICE)); diff --git a/app/src/main/java/org/schabi/newpipe/player/ServicePlayerActivity.java b/app/src/main/java/org/schabi/newpipe/player/ServicePlayerActivity.java index 2207808ac..d5ee59a7e 100644 --- a/app/src/main/java/org/schabi/newpipe/player/ServicePlayerActivity.java +++ b/app/src/main/java/org/schabi/newpipe/player/ServicePlayerActivity.java @@ -46,6 +46,8 @@ import java.util.List; import static org.schabi.newpipe.player.helper.PlayerHelper.formatPitch; import static org.schabi.newpipe.player.helper.PlayerHelper.formatSpeed; +import static org.schabi.newpipe.util.Localization.changeAppLanguage; +import static org.schabi.newpipe.util.Localization.getAppLocale; public abstract class ServicePlayerActivity extends AppCompatActivity implements PlayerEventListener, SeekBar.OnSeekBarChangeListener, @@ -116,6 +118,7 @@ public abstract class ServicePlayerActivity extends AppCompatActivity @Override protected void onCreate(Bundle savedInstanceState) { + changeAppLanguage(getAppLocale(getApplicationContext()), getResources()); super.onCreate(savedInstanceState); ThemeHelper.setTheme(this); setContentView(R.layout.activity_player_queue_control); diff --git a/app/src/main/java/org/schabi/newpipe/report/ErrorActivity.java b/app/src/main/java/org/schabi/newpipe/report/ErrorActivity.java index e7a6319e3..05dfe33ca 100644 --- a/app/src/main/java/org/schabi/newpipe/report/ErrorActivity.java +++ b/app/src/main/java/org/schabi/newpipe/report/ErrorActivity.java @@ -46,6 +46,9 @@ import java.util.List; import java.util.TimeZone; import java.util.Vector; +import static org.schabi.newpipe.util.Localization.changeAppLanguage; +import static org.schabi.newpipe.util.Localization.getAppLocale; + /* * Created by Christian Schabesberger on 24.10.15. * @@ -171,6 +174,7 @@ public class ErrorActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { + changeAppLanguage(getAppLocale(getApplicationContext()), getResources()); super.onCreate(savedInstanceState); ThemeHelper.setTheme(this); setContentView(R.layout.activity_error); diff --git a/app/src/main/java/org/schabi/newpipe/util/Localization.java b/app/src/main/java/org/schabi/newpipe/util/Localization.java index 695a73295..3f555fcfd 100644 --- a/app/src/main/java/org/schabi/newpipe/util/Localization.java +++ b/app/src/main/java/org/schabi/newpipe/util/Localization.java @@ -209,10 +209,6 @@ public class Localization { } private static PrettyTime getPrettyTime() { - // If pretty time's Locale is different, init again with the new one. -// if (!prettyTime.getLocale().equals(Locale.getDefault())) { -// initPrettyTime(); -// } return prettyTime; } From 11d06dc86d8e1f0e2614251a1359e36dd537a81c Mon Sep 17 00:00:00 2001 From: bopol Date: Fri, 10 Jan 2020 16:03:24 +0100 Subject: [PATCH 06/59] remove todo as it's already done --- app/src/main/res/values/settings_keys.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/app/src/main/res/values/settings_keys.xml b/app/src/main/res/values/settings_keys.xml index 4bb66bf62..18f42fe46 100644 --- a/app/src/main/res/values/settings_keys.xml +++ b/app/src/main/res/values/settings_keys.xml @@ -1054,7 +1054,6 @@ 官话 简化字 臺灣華語 - From f8a7aac40d0e7e1a6558753e012dabd6f97d7df7 Mon Sep 17 00:00:00 2001 From: bopol Date: Tue, 14 Jan 2020 14:15:42 +0100 Subject: [PATCH 07/59] fixed indonesian, see https://stackoverflow.com/questions/13291578/how-to-localize-an-android-app-in-indonesian-language --- app/src/main/res/{values-id => values-in}/strings.xml | 0 app/src/main/res/values/settings_keys.xml | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename app/src/main/res/{values-id => values-in}/strings.xml (100%) diff --git a/app/src/main/res/values-id/strings.xml b/app/src/main/res/values-in/strings.xml similarity index 100% rename from app/src/main/res/values-id/strings.xml rename to app/src/main/res/values-in/strings.xml diff --git a/app/src/main/res/values/settings_keys.xml b/app/src/main/res/values/settings_keys.xml index 18f42fe46..88da3afe5 100644 --- a/app/src/main/res/values/settings_keys.xml +++ b/app/src/main/res/values/settings_keys.xml @@ -956,7 +956,7 @@ hu hy ia - ind + in it ja ko From 055365a44931b65e9fffd0d5d57595fe3be40abb Mon Sep 17 00:00:00 2001 From: bopol Date: Tue, 14 Jan 2020 14:26:53 +0100 Subject: [PATCH 08/59] added Occitan to the selector --- app/src/main/res/values/settings_keys.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/src/main/res/values/settings_keys.xml b/app/src/main/res/values/settings_keys.xml index 88da3afe5..08b18f49b 100644 --- a/app/src/main/res/values/settings_keys.xml +++ b/app/src/main/res/values/settings_keys.xml @@ -968,6 +968,7 @@ ne nl nl-be + oc pa pl pr @@ -1032,6 +1033,7 @@ Nनेपाली Nederlands (NL) Nederlands (BE) + Occitan ਪੰਜਾਬੀ Polski Pirate Language From 105981b2eb426b598f81694442621e8b695a642e Mon Sep 17 00:00:00 2001 From: bopol Date: Tue, 14 Jan 2020 19:11:46 +0100 Subject: [PATCH 09/59] made system translatable + renamed it to system's language --- app/src/main/res/values/settings_keys.xml | 3 +-- app/src/main/res/values/strings.xml | 1 + 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values/settings_keys.xml b/app/src/main/res/values/settings_keys.xml index 08b18f49b..ed3c454b8 100644 --- a/app/src/main/res/values/settings_keys.xml +++ b/app/src/main/res/values/settings_keys.xml @@ -993,7 +993,7 @@ zh-tw - @string/system + @string/systems_language العربية Azərbaycan dili Asturianu @@ -1076,7 +1076,6 @@ list_view_mode auto - System auto diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 8a44fdc64..c5a59abe7 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -590,4 +590,5 @@ The Storage Access Framework allows downloads to an external SD card.\nNote: some devices are not compatible Choose an instance NewPipe\'s language + System\'s language From 9d8fcbbffe7ade9e662ab94e1a5a539a7e4e7d04 Mon Sep 17 00:00:00 2001 From: B0pol Date: Wed, 15 Jan 2020 08:33:57 +0100 Subject: [PATCH 10/59] fix: wrong language shown when rotating screen in popup player --- .../main/java/org/schabi/newpipe/player/PopupVideoPlayer.java | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/java/org/schabi/newpipe/player/PopupVideoPlayer.java b/app/src/main/java/org/schabi/newpipe/player/PopupVideoPlayer.java index b173448d0..c0ac95445 100644 --- a/app/src/main/java/org/schabi/newpipe/player/PopupVideoPlayer.java +++ b/app/src/main/java/org/schabi/newpipe/player/PopupVideoPlayer.java @@ -172,6 +172,7 @@ public final class PopupVideoPlayer extends Service { @Override public void onConfigurationChanged(Configuration newConfig) { + changeAppLanguage(getAppLocale(getApplicationContext()), getResources()); if (DEBUG) Log.d(TAG, "onConfigurationChanged() called with: newConfig = [" + newConfig + "]"); updateScreenSize(); updatePopupSize(popupLayoutParams.width, -1); From b155f23d276ebc48ffe5fe86759320b6751ac512 Mon Sep 17 00:00:00 2001 From: bopol Date: Sat, 18 Jan 2020 09:46:38 +0100 Subject: [PATCH 11/59] fix: wrong language shown in playback parameters dialog MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is a hardly reproduceable bug that I hopefully fixed. After a long time of watching videos, you could have your system language shown in playback parameters dialog. Calling changeAppLanguage(getAppLocale(…),…) onCreate will most certainly fix this bug --- .../schabi/newpipe/player/helper/PlaybackParameterDialog.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/src/main/java/org/schabi/newpipe/player/helper/PlaybackParameterDialog.java b/app/src/main/java/org/schabi/newpipe/player/helper/PlaybackParameterDialog.java index 4feed74fe..2aefa675e 100644 --- a/app/src/main/java/org/schabi/newpipe/player/helper/PlaybackParameterDialog.java +++ b/app/src/main/java/org/schabi/newpipe/player/helper/PlaybackParameterDialog.java @@ -17,6 +17,8 @@ import org.schabi.newpipe.R; import org.schabi.newpipe.util.SliderStrategy; import static org.schabi.newpipe.player.BasePlayer.DEBUG; +import static org.schabi.newpipe.util.Localization.changeAppLanguage; +import static org.schabi.newpipe.util.Localization.getAppLocale; public class PlaybackParameterDialog extends DialogFragment { @NonNull private static final String TAG = "PlaybackParameterDialog"; @@ -108,6 +110,7 @@ public class PlaybackParameterDialog extends DialogFragment { @Override public void onCreate(@Nullable Bundle savedInstanceState) { + changeAppLanguage(getAppLocale(getContext()), getResources()); super.onCreate(savedInstanceState); if (savedInstanceState != null) { initialTempo = savedInstanceState.getDouble(INITIAL_TEMPO_KEY, DEFAULT_TEMPO); @@ -137,6 +140,7 @@ public class PlaybackParameterDialog extends DialogFragment { @NonNull @Override public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { + changeAppLanguage(getAppLocale(getContext()), getResources()); final View view = View.inflate(getContext(), R.layout.dialog_playback_parameter, null); setupControlViews(view); From e08e7245738ca8ee5dab4dc5801dc6d35399873a Mon Sep 17 00:00:00 2001 From: bopol Date: Sat, 18 Jan 2020 10:46:53 +0100 Subject: [PATCH 12/59] upload date in description now matches newpipe's language --- .../main/java/org/schabi/newpipe/util/Localization.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/util/Localization.java b/app/src/main/java/org/schabi/newpipe/util/Localization.java index 3f555fcfd..d2fbd3a65 100644 --- a/app/src/main/java/org/schabi/newpipe/util/Localization.java +++ b/app/src/main/java/org/schabi/newpipe/util/Localization.java @@ -1,5 +1,6 @@ package org.schabi.newpipe.util; +import android.annotation.SuppressLint; import android.content.Context; import android.content.SharedPreferences; import android.content.res.Configuration; @@ -118,12 +119,13 @@ public class Localization { return nf.format(number); } - public static String formatDate(Date date) { - return DateFormat.getDateInstance(DateFormat.MEDIUM, Locale.getDefault()).format(date); + public static String formatDate(Date date, Context context) { + return DateFormat.getDateInstance(DateFormat.MEDIUM, getAppLocale(context)).format(date); } + @SuppressLint("StringFormatInvalid") public static String localizeUploadDate(Context context, Date date) { - return context.getString(R.string.upload_date_text, formatDate(date)); + return context.getString(R.string.upload_date_text, formatDate(date, context)); } public static String localizeViewCount(Context context, long viewCount) { From 9d5612d1046b08ae9c03d75e561868ce73c66604 Mon Sep 17 00:00:00 2001 From: B0pol Date: Sat, 18 Jan 2020 19:34:22 +0000 Subject: [PATCH 13/59] Translated using Weblate (German) Currently translated at 100.0% (527 of 527 strings) --- app/src/main/res/values-de/strings.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 53b9a52eb..9a2482814 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -155,7 +155,7 @@ Über Freies und schlankes Streaming für Android. NewPipes Lizenz - Ob Ideen, Übersetzungen, Design-Änderungen, Code-Aufräumung oder richtig große Code-Änderungen – Hilfe ist immer willkommen. Je mehr geholfen wird, desto besser wird NewPipe! + Ob Ideen, Übersetzungen, Design-Änderungen, Code-Aufräumung oder richtig große Code-Änderungen — Hilfe ist immer willkommen. Je mehr geholfen wird, desto besser wird NewPipe! Drittanbieter-Lizenzen Auf GitHub ansehen Beitragen @@ -366,7 +366,7 @@ yourID, soundcloud.com/yourid Keine Streams zum Download verfügbar Bevorzugte \"Öffnen\" Aktion - Standardaktion beim Öffnen von Inhalten - %s + Standardaktion beim Öffnen von Inhalten — %s Untertitel Textgröße und Hintergrund der Untertitel im Player anpassen. Wird erst nach Neustart der App wirksam. Keine App zum Abspielen dieser Datei installiert @@ -392,7 +392,7 @@ Unbegrenzt Auflösung bei Verwendung mobiler Daten begrenzen Minimieren beim Appwechsel - Aktion beim Umschalten auf eine andere App vom Haupt-Videoplayer - %s + Aktion beim Umschalten auf eine andere App vom Haupt-Videoplayer — %s Keine Zum Hintergrund-Player minimieren Zum Popup-Player minimieren From 6b7043fb9d7aa50ecf47b691f908ee70e8c56572 Mon Sep 17 00:00:00 2001 From: B0pol Date: Fri, 17 Jan 2020 08:52:56 +0000 Subject: [PATCH 14/59] Translated using Weblate (French) Currently translated at 100.0% (527 of 527 strings) --- app/src/main/res/values-fr/strings.xml | 31 ++++++++++++++------------ 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 444310aef..7695fe31c 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -19,14 +19,14 @@ Partager Partager avec Affiche une option pour lire une vidéo via Kodi - Afficher l’option « Lire avec Kodi » + Afficher l’option « Lire avec Kodi » Publiée le %1$s %1$s vues Audio Format audio par défaut Télécharger Suivant - Afficher les vidéos « Suivantes » et « Similaires » + Afficher les vidéos « Suivantes » et « Similaires » URL non pris en charge Vidéo et audio Autre @@ -50,8 +50,8 @@ Dossier de téléchargement audio Les fichiers audio téléchargés sont stockés ici Choisissez le dossier de téléchargement des fichiers audio - Impossible de créer le répertoire de téléchargement « %1$s » - Répertoire de téléchargement « %1$s » créé + Impossible de créer le répertoire de téléchargement « %1$s » + Répertoire de téléchargement « %1$s » créé Erreur Impossible d’analyser le site web Contenu indisponible @@ -231,8 +231,8 @@ Retirer Détails Paramètres audios - Afficher l’astuce « Maintenir pour ajouter » - Affiche l’astuce lors de l’appui du bouton « Arrière-plan » ou « Mode flottant » sur la page de détails d’une vidéo + Afficher l’astuce « Maintenir pour ajouter » + Affiche l’astuce lors de l’appui du bouton « Arrière-plan » ou « Mode flottant » sur la page de détails d’une vidéo [Inconnu] Récupération depuis l’erreur du lecteur Kiosque @@ -348,11 +348,11 @@ \n1. Suivez ce lien : %1$s. \n2. Connectez-vous à votre compte. \n3. Un téléchargement va démarrer (celui du fichier d’exportation). - Veuillez importer un profil SoundCloud en saisissant l’URL de votre profil ou votre identifiant. -\n -\n1. Activez le « mode bureau » dans votre navigateur web (le site n’est pas disponible pour les appareils mobiles). -\n2. Suivez cette URL : %1$s. -\n3. Connectez-vous à votre compte. + Veuillez importer un profil SoundCloud en saisissant l’URL de votre profil ou votre identifiant. +\n +\n1. Activez le « mode bureau » dans votre navigateur web (le site n’est pas disponible pour les appareils mobiles). +\n2. Suivez cette URL : %1$s. +\n3. Connectez-vous à votre compte. \n4. Copiez l’URL du profil vers lequel vous venez d’être redirigé. votre identifiant, soundcloud.com/votreidentifiant Cette opération peut charger énormément la connexion réseau. @@ -484,7 +484,7 @@ NewPipe a été fermé alors qu’il travaillait sur le fichier Aucun espace disponible sur le périphérique Progression perdue, car le fichier a été effacé - Êtes-vous sûr \? + Voulez-vous effacer l\'historique de téléchargement ou supprimer tous les fichiers téléchargés \? Limiter la file d’attente de téléchargement Un téléchargement s’exécutera en même temps Démarrer les téléchargements @@ -508,8 +508,8 @@ Kiosque par défaut Personne ne regarde - %s regarde - %s regardent + %s spectateur + %s spectateurs Personne n\'écoute @@ -535,4 +535,7 @@ Généré automatiquement (pas de téléverseur trouvé) Activer la vidéo miniaturisée sur l\'écran de verrouillage En utilisant le lecteur audio, la miniature de la vidéo sera affichée sur l\'écran de verrouillage + Effacer l\'historique de téléchargement + Supprimer les fichiers téléchargés + %1$s téléchargements supprimés \ No newline at end of file From 2873f723e88c4c9b41928082e1969df101b19e04 Mon Sep 17 00:00:00 2001 From: Igor Nedoboy Date: Thu, 16 Jan 2020 20:12:21 +0000 Subject: [PATCH 15/59] Translated using Weblate (Russian) Currently translated at 100.0% (527 of 527 strings) --- app/src/main/res/values-ru/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 1da98cc74..975a9479b 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -330,7 +330,7 @@ Подогнать Заполнить Приблизить - Созданы автоматически + Создано автоматически Включить LeakCanary Мониторинг утечки памяти может привести к зависанию приложения Сообщать об ошибках жизненного цикла From 5dbab85505a1f20255dcc8cd566057f2fb12221d Mon Sep 17 00:00:00 2001 From: pjammo Date: Thu, 16 Jan 2020 16:07:08 +0000 Subject: [PATCH 16/59] Translated using Weblate (Italian) Currently translated at 100.0% (527 of 527 strings) --- app/src/main/res/values-it/strings.xml | 87 ++++++++++++++------------ 1 file changed, 46 insertions(+), 41 deletions(-) diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 4942f4720..9d9241045 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -30,9 +30,9 @@ URL non supportato Lingua Predefinita per Contenuti Video e Audio - Miniatura anteprima video + Copertina di anteprima video Riproduci video, durata: - Miniatura dell\'immagine di profilo dell\'utente + Immagine di profilo dell\'utente Non mi piace Mi piace Impossibile creare la cartella di download \'%1$s\' @@ -51,7 +51,7 @@ Riproduci Errore Errore di connessione - Impossibile caricare tutte le miniature + Impossibile caricare tutte le copertine Impossibile decriptare la firma dell\'URL del video Contenuto non disponibile Usa Tor @@ -117,19 +117,19 @@ È richiesta la risoluzione del reCAPTCHA Più tardi - Apri in modalità popup - Modalità popup di NewPipe - Riproduzione in Modalità Popup + Apri in modalità Popup + Modalità Popup di NewPipe + Riproduzione in modalità Popup Disattivato L\'audio potrebbe non essere disponibile per ALCUNE risoluzioni - In sottofondo + In Sottofondo Popup Risoluzione Predefinita Popup Mostra Altre Risoluzioni Solo alcuni dispositivi supportano la riproduzione video in 2K e 4K Formato Video Predefinito Ricorda Dimensione e Posizione Popup - Ricorda l\'ultima dimensione e posizione della finestra popup + Ricorda dimensione e posizione della finestra Popup Controllo Movimenti Lettore Multimediale Usa i movimenti per controllare luminosità e volume del lettore multimediale Suggerimenti Ricerca @@ -140,8 +140,8 @@ Cancella Ridimensionamento Risoluzione migliore - Questo permesso è necessario -\nper riprodurre in modalità popup + Questo permesso è necessario +\nper utilizzare il lettore Popup Impostazioni Informazioni Licenze di Terze Parti @@ -191,7 +191,7 @@ Playlist Annulla Notifiche NewPipe - Notifiche per NewPipe in background e per il lettore a comparsa + Notifiche per lettore in Sottofondo e Popup Nessun risultato Nessun iscritto @@ -225,25 +225,25 @@ Top 50 New & hot Mostra Suggerimento \"Tieni Premuto per Accocodare\" - Mostra suggerimento quando il pulsante per la riproduzione \"popup\" o \"in sottofondo\" viene premuto nella pagina dei dettagli del video - In Coda in Sottofondo - In Coda in Modalità Popup + Nella pagina dei dettagli del video, mostra un suggerimento alla pressione dei pulsanti per la riproduzione Popup o in Sottofondo + Accoda in Sottofondo + Accodato in Popup Riproduci tutto Impossibile riprodurre questo flusso Si è verificato un errore irreversibile Ripristino dell\'errore del lettore multimediale - Riproduzione in sottofondo - Riproduzione in modalità a comparsa + Riproduzione in Sottofondo + Lettore Popup Rimuovi Dettagli - Impostazioni audio - Tenere premuto per aggiungere alla coda + Impostazioni Audio + Tenere premuto per accodare [Sconosciuto] - In coda in sottofondo - In coda nel riproduttore a comparsa + Accoda in Sottofondo + Accoda in Popup Inizia la riproduzione qui Avvia riproduzione in sottofondo - Avvia riproduzione a comparsa + Avvia subito in Popup Dona Sito Visita il sito di NewPipe per informazioni e novità. @@ -251,9 +251,9 @@ Restituisci Paese Predefinito per Contenuti Cambia orientamento - Passa alla riproduzione in background + Passa in Sottofondo Passa a Popup - Passa alla produzione predefinita + Passa a Principale Servizio Apri il menu Chiudi il menu @@ -265,8 +265,8 @@ Nessun flusso video trovato Nessun flusso audio trovato Lettore video - Riproduzione in sottofondo - Riproduzione in modalità popup + Riproduzione in Sottofondo + Lettore Popup Raccogliendo informazioni… Caricamento del contenuto richiesto Importa database @@ -298,13 +298,13 @@ Rinomina Nome Aggiunti alla playlist - Imposta come miniatura della playlist + Imposta come Copertina della Playlist Segnalibri playlist Rimuovi segnalibro Eliminare la playlist\? Playlist creata Aggiunto alla Playlist - Miniatura della Playlist cambiata. + Copertina playlist cambiata. Impossibile eliminare la Playlist. Nessun Sottotitolo Rientrato @@ -352,7 +352,7 @@ Tieni presente che questa operazione può consumare una grande quantità di traffico dati. \n \nVuoi continuare? - Carica Anteprime + Carica Copertine Disabilita per prevenire il caricamento delle anteprime, risparmiando dati e memoria. La modifica di questa opzione cancellerà la cache delle immagini in memoria e sul disco. Cache immagini svuotata Pulisci Cache Metadati @@ -393,11 +393,11 @@ Avanzamento veloce durante il silenzio Step Reset - Minimizza al cambio dell\'applicazione - Azione quando si passa ad un\'altra app dal lettore video principale — %s - Nessuna - Minimizza al lettore in sottofondo - Minimizza al lettore popup + Riduci Cambiando App + Azione da eseguire cambiando app dal lettore video principale — %s + Niente + Riduci in Sottofondo + Riduci a Popup Canali Playlist Tracce @@ -423,7 +423,7 @@ Selezione Aggiornamenti Mostra una notifica per suggerire l\'aggiornamento dell\'app se una nuova versione è disponibile - Visualizzazione a lista + Modalità Visualizzazione Lista Lista Griglia Automatica @@ -433,14 +433,14 @@ Finito In attesa in pausa - in coda + accodato post-processo Accoda Azione negata dal sistema Download fallito Download terminato %s download terminati - Genera un nome unico + Genera Nome Univoco Sovrascrivi Esiste già un file scaricato con lo stesso nome C\'è un download in corso con questo nome @@ -484,11 +484,11 @@ File spostato o cancellato Esiste già un file con questo nome impossibile sovrascrivere il file - C\'è un download in corso con questo nome + C\'è un download in attesa con questo nome NewPipe è stato chiuso mentre lavorava sul file Spazio insufficiente sul dispositivo Progresso perso poiché il file è stato eliminato - Sei sicuro\? + Pulire la cronologia dei download o eliminare tutti i file scaricati\? Sarà avviato un solo dowload per volta Avvia downloads Metti in pausa i downloads @@ -519,10 +519,10 @@ Contenuti in Evidenza Predefiniti Durata Avanzamento e Riavvolgimento Rapidi Istanze PeerTube - Imposta le tue istanze PeerTube preferite - Trova le istanze più adatte a te su https://joinpeertube.org/instances#instances-list + Seleziona le istanze PeerTube preferite + Trova le istanze più adatte a te su %s Aggiungi Istanza - Inserisci URL Istanza + Inserisci URL istanza Impossibile convalidare l\'istanza Sono supportati solo gli URL HTTPS L\'istanza esiste già @@ -533,4 +533,9 @@ recupero Impossibile recuperare questo download Scegli un\'Istanza + Abilita Copertine sulla Schermata di Blocco + Durante la riproduzione in sottofondo, verrà mostrata la copertina del video sulla schermata di blocco + Svuota Cronologia Download + Elimina File Scaricati + %1$s download eliminati \ No newline at end of file From 1c53b22239b1ef4595a68a7f19390b86b206947a Mon Sep 17 00:00:00 2001 From: ssantos Date: Wed, 15 Jan 2020 20:13:19 +0000 Subject: [PATCH 17/59] Translated using Weblate (Portuguese) Currently translated at 100.0% (527 of 527 strings) --- app/src/main/res/values-pt/strings.xml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 98b85bcab..7d3fb68e3 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -487,7 +487,7 @@ Não há espaço disponível no dispositivo Progresso perdido, porque o ficheiro foi eliminado Tempo limite de conexão - Tem a certeza\? + Quer limpar o seu histórico de descarregamentos ou apagar todos os ficheiros descarregados\? Limitar a fila de transferências Uma transferências será executada ao mesmo tempo Iniciar transferências @@ -534,4 +534,7 @@ Escolha uma instância Ativar miniatura do vídeo no ecrã de bloqueio Ao usar o reprodutor de fundo, uma miniatura de vídeo será exibida no ecrã de bloqueio + Limpar histórico de descarregamentos + Apagar ficheiros descarregados + %1$s descarregamentos apagados \ No newline at end of file From 9c9a432ea0240d33d43a9733ec08251c1c824b91 Mon Sep 17 00:00:00 2001 From: Osoitz Date: Sat, 18 Jan 2020 11:53:19 +0000 Subject: [PATCH 18/59] Translated using Weblate (Basque) Currently translated at 100.0% (527 of 527 strings) --- app/src/main/res/values-eu/strings.xml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml index b376f1f6d..7563e1be5 100644 --- a/app/src/main/res/values-eu/strings.xml +++ b/app/src/main/res/values-eu/strings.xml @@ -488,7 +488,7 @@ NewPipe itxi egin da fitxategian lanean zegoela Ez dago lekurik gailuan Progresioa galdu da, fitxategia ezabatu delako - Ziur al zaude\? + Zure deskargen historiala garbitu nahi duzu ala deskargatutako fitxategi guztiak ezabatu\? Mugatu deskargen ilara Deskarga bakarra aldi berean Hasi deskargak @@ -533,4 +533,9 @@ berreskuratzen Ezin da deskarga hau berreskuratu Aukeratu instantzia + Gaitu bideoaren iruditxoa blokeo pantailan + Bigarren planoko erreproduzigailua erabiltzean bideoaren iruditxo bat bistaratuko da blokeo pantailan + Garbitu deskargen historiala + Ezabatu deskargatutako fitxategiak + %1$s deskarga ezabatuta \ No newline at end of file From 36c4063db681c8769ed31d75a9d42f796badec88 Mon Sep 17 00:00:00 2001 From: B0pol Date: Fri, 17 Jan 2020 08:55:28 +0000 Subject: [PATCH 19/59] Translated using Weblate (Esperanto) Currently translated at 100.0% (527 of 527 strings) --- app/src/main/res/values-eo/strings.xml | 63 ++++++++++++++------------ 1 file changed, 33 insertions(+), 30 deletions(-) diff --git a/app/src/main/res/values-eo/strings.xml b/app/src/main/res/values-eo/strings.xml index 224e8837e..c6ce250e6 100644 --- a/app/src/main/res/values-eo/strings.xml +++ b/app/src/main/res/values-eo/strings.xml @@ -4,14 +4,14 @@ Eldonita je %1$s Instali Nuligi - Malfermi per krozilo + Malfermi en retumilo Konigi Elŝuti Serĉi Agordoj Ĉu vi signifis: %1$s\? Konigi kun - Elekti krozilon + Elekti retumilon turno Uzi eksteran filmetoludilon Uzi eksteran sonludilon @@ -66,7 +66,7 @@ Signali eraron Filmeto Reprovi - Premu serĉo por komenci + Premi serĉon por komenci Neniu elsendlflua ludilo trovita (instalu VLC por ludi ĝin). Malfermi en ŝprucfenestron modon Forigas aŭdon ĉe KELKAJ rezolucioj @@ -144,7 +144,7 @@ Konservi la historio de serĉo lokale Rigardu historion Spuri la viditajn filmetojn - Newpipe Sciifo + NewPipe Sciigo Sciigoj por NewPipe fono kaj ŝprucfenestroj ludiloj Ludilo Konduto @@ -159,7 +159,7 @@ Montri indikon kiam la fono aŭ ŝprucfenestro butono estas premita en la retpaĝo de dalatadoj de la filmeto Viciĝita en la ludilo en fono Viciĝita en ŝprucfenestro ludilo - Ludi ĉiuj + Ludi ĉiujn Ne povis ludi tion torenton Neatendebla eraro de ludilo okazis Reakiri el eraro de la ludilo @@ -180,7 +180,7 @@ Ŝangi al Ĉefa Servo Ĉiam - Nur unfoje + Nur unufoje Nevalida ligilo Neniuj filmeta torentoj trovitaj Neniuj sonaj torentoj trovis @@ -191,18 +191,18 @@ Eksporti historion, abonojn kaj ludlistoj Ĉiam peti Nova ludlisto - Forigi + Forviŝi Alinomi Nomo Aldoni al la ludlisto Meti kiel bildeto de ludlisto Legosigno Ludlisto - Forigi Legosignon - Ĉu forigi ĉi tiun ludliston \? + Forviŝi Legosignon + Ĉu forviŝi ĉi tiun ludliston \? Ludlisto kreita Ludlistita Bildeto de ludlisto ŝanĝiĝita. - Ne povis forigi ludlisto. + Ne povis forviŝi ludliston. Malcimigi Auto-vico sekva fluo Aŭto-aldoni rilatan enhavon kiam ludanta la lasta enhavo en malrepetita atendovico @@ -218,7 +218,7 @@ \n3. Elŝuto devus komenci (ĝi estas la dosiero de eksporto) Importu Soundcloud-n profilon tajpante ĉu la ligilon, ĉu vian ID : \n -\n1. Ebligu komputilon modon en krozilo (la retejo malhaveblas por poŝtelefonoj) +\n1. Ebligu komputilon modon en retumilon (la retejo malhaveblas por poŝtelefonoj) \n2. Iru tien: %1$s \n3. Ensalutu kiam oni petas vin \n4. Kopiu la ligilon de profilo ke oni kondikis vin. @@ -252,7 +252,7 @@ Ĝisdatigoj Dosiero forviŝita Sciigo por ĝisdatigi apon - Sciigo por nova versio de Newpipe + Sciigo por nova versio de NewPipe Ekstera konservejo malhavebla Elŝuti al ekstera SD-karto ne eblas. Ĉu vi volas restarigi la elŝutan dosierujon \? viciĝita @@ -281,7 +281,7 @@ Ludaj pozicioj forviŝitaj. Dosiero movita aŭ forviŝita ne povas dispremi la dosieron - Ĉu vi certas\? + Ĉu vi volas forviŝi vian historion de elŝutoj aŭ forviŝi la tutajn elŝutitajn dosierojn\? Limigi la elŝutan atendovicon Unu elŝuto ruliĝos en la sama tempo Komenci elŝutojn @@ -307,7 +307,7 @@ Komenci Paŭzigi Ludi - Forigi + Forviŝi Kontrolsumo Nova misio Bone @@ -341,7 +341,7 @@ Permesiloj Rigardu ĉe GitHub Permesilo de NewPipe - Ĉu vi havas ideojn pri; traduko, desegnaĵoj ŝanĝoj, purigado de kodo, aŭ realaj masivaj ŝanĝoj—helpo estas ĉiam bonvena. Ju pli oni faras, des pli bonas! + Ĉu vi havas ideojn pri; traduko, desegnaĵoj ŝanĝoj, purigado de kodo, aŭ realaj masivaj ŝanĝoj—helpo ĉiam estas bonvena. Ju pli oni faras, des pli bonas! Legi permesilon Kontribui Permesitaj karakteroj en dosiernomoj @@ -353,7 +353,7 @@ La historio estas malŝatita Historio La historio estas malplena - Historio vakigita + Historio forviŝita Neniuj rezultoj Neniu enhavo Neniuj abonantoj @@ -377,10 +377,10 @@ Komenci ludi ĉi tie Komenci ludi fone Donaci - NewPipe estas programada par volontuoj, elspezante tempo por alporti vin la plej bona sperto. Redonu por helpi programistojn plibonigi NewPipe dum ĝuante tason da kafo. + NewPipe estas programadita par volontuoj, elspezante tempo por alporti vin la plej bona sperto. Redoni por helpi programistojn plibonigi NewPipe dum ĝuante tason da kafo. Redoni Retejo - Vizitu la retejon de NewPipe por pli da informoj kaj novaĵoj. + Viziti la retejon de NewPipe por pli da informoj kaj novaĵoj. Malfermi la tirkeston Fermi la tirtekston Ekstaraj ludantoj ne suportas tiajn ligilojn @@ -395,8 +395,8 @@ Ĉi tio nuligos vian nunan aranĝon. Trenu por reorgidi Krei - Forigi Unu - Forigi ĉiujn + Forviŝi Unu + Forviŝi ĉiujn Rezigni Alinomi Ĉu vi volas forviŝi tion eron el la spekta historio \? @@ -440,11 +440,11 @@ NewPipe estas programaro sub rajtoceda permesilo: Vi povas uzi, studi, komuniki kaj plibonigi ĝin kiel vi volas. Precize, vi povas redistribui kaj/aŭ modifi ĝin sub la kondiĉoj de la Ĝenerala Publika Permesilo de GNU, kiel publikigita per la Free Software Foundation, ĉu en la versio 3, ĉu (se vi volas) ajna posta versio. Ĉu vi volas ankaŭ importi agordojn\? Privateca politiko de NewPipe - La NewPipe projekto serioze respektas vian privatecon. Konsekvence, la apo ne kolektas ajnan datumo sen via konsento. -\nLa privateco politiko de Newpipe detale eksplikas kion datumon estas sendita kaj stokita kiam vi sendas falegosignalon. + La NewPipe projekto serioze respektas vian privatecon. Konsekvence, la apo ne kolektas ajnan datumon sen via konsento. +\nLa privateco politiko de NewPipe detale eksplikas kion datumon estas sendita kaj stokita kiam vi sendas falegosignalon. Legi la privatecan politikon Por konformiĝi al la Ĝenerala Datum-Protekta Regularon (GDPR), ni allogas vian atenton al la privateca politiko de NewPipe. Bonvolu atentive legi ĝin. -\nVi devas akcepti ĝin por sendi nin la cimsignalo. +\nVi devas akcepti ĝin por sendi la cimsignalon al ni. Akcepti Rifuzi Neniu limo @@ -468,8 +468,8 @@ Krado Aŭto Ŝanĝi vidon - Ĝisdatigo de NewPipe havebla ! - Premu por elŝuti + Ĝisdatigo de NewPipe havebla! + Premi por elŝuti Finita Pritraktata Paŭzigita @@ -507,8 +507,8 @@ Defaŭlta Kiosko Neniu spektas - %s spektanta - %s spektanta + %s spektanto + %s spektantoj Neniu aŭskultas @@ -525,13 +525,16 @@ Ne povis validigi instanco Nur HTTPS ligiloj estas subtenitaj La instanco jam ekzistas - Loka - Freŝdate ĝisdatigita - La plej ŝatitatj + Lokaj + Freŝe aldonitaj + La plej ŝatitaj Aŭtomate generita (neniu alŝutilo trovita) Reakiranta Ne povas reakiri tion elŝuton Elektu instancon Enablu bildeta filmeton ĉe ŝlosita ekrano Uzante la fona ludilo, bildeta filmeto vidiĝos ĉe ŝlosita ekrano + Forviŝi la historion de elŝutoj + Forviŝi elŝutitajn dosierojn + %1$s elŝutoj forviŝitaj \ No newline at end of file From 84dd1a688eb5d7329289384b00bc2460e84c6aea Mon Sep 17 00:00:00 2001 From: zeritti Date: Fri, 17 Jan 2020 21:40:15 +0000 Subject: [PATCH 20/59] Translated using Weblate (Czech) Currently translated at 100.0% (527 of 527 strings) --- app/src/main/res/values-cs/strings.xml | 35 ++++++++++++++++++++------ 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 66c952a26..548358473 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -143,7 +143,7 @@ otevření ve vyskakovacím okně Zobrazovat návrhy při vyhledávání Historie vyhledávání Hledané výrazy lokálně uchovávat - Historie zhlédnutí + Historie sledování Evidovat zhlédnutá videa Přehrávat po přechodu do popředí Pokračovat v přehrávání po přerušení (např. hovor) @@ -319,7 +319,7 @@ otevření ve vyskakovacím okně Povolit službu LeakCanary Monitoring úniku paměti může způsobit nereagování aplikace při heap dumpingu Nahlásit mimo-cyklické chyby - Vynutit vykazování výjimek Rx mimo fragment nebo životnost cyklu po odstranění + Vynutit hlášení nedoručitelných výjimek Rx mimo fragment nebo trvání činnosti po odstranění Použít rychlé nepřesné hledání Nepřesné hledání umožní přehrávači posouvat se rychleji, ale se sníženou přesností Načítat náhledy @@ -365,7 +365,7 @@ otevření ve vyskakovacím okně \n \nChcete pokračovat? Ovládání rychlosti přehrávání - Rychlost + Tempo Výška tónu Rozpojit (může způsobit zkreslení) Výchozí nastavení @@ -483,8 +483,8 @@ otevření ve vyskakovacím okně Zavřít Stahování na externí SD kartu není možné. Resetovat umístění složky pro stahování\? Pokračovat v přehrávání - Obnovit poslední přehrávanou pozici - Pořadí v seznamech + Obnovit poslední pozici přehrávání + Pozice v seznamech Vymazat data Soubor přemístěn nebo smazán soubor nelze přepsat @@ -492,7 +492,7 @@ otevření ve vyskakovacím okně NewPipe byl ukončen v průběhu zpracovávání souboru V zařízení nezbývá žádné místo Postup ztracen, protože soubor byl smazán - Jste si jisti\? + Jste si jisti smazáním své historie stahování nebo smazáním všech stažených souborů\? Omezit frontu stahování Najednou se bude stahovat pouze jeden soubor Začít stahování @@ -504,7 +504,7 @@ otevření ve vyskakovacím okně Použít SAF Storage Access Framework umožňuje stahovat na externí SD kartu. \nUpozornění: některá zařízení jsou nekompatibilní - Ukázat poziční indikátory playbacku v seznamech + Zobrazit pozici přehrávání v seznamech Pozice playbacku smazány. Timeout spojení Smazat pozice playbacku @@ -526,4 +526,25 @@ otevření ve vyskakovacím okně Ke změně jazyka dojde po restartu aplikace. Výchozí kiosek + Délka přetočení vpřed/zpět + Instance PeerTube + Vybrat oblíbené instance PeerTube + Vyhledat nejvhodnější instance na %s + Přidat instanci + Zadat URL instance + Instanci nebylo možno potvrdit + Podporujeme pouze URL s HTTPS + Instance již existuje + Místní + Přidány nedávno + Nejoblíbenější + Autogenerovány (uploader nenalezen) + obnovuji + Toto stahování nelze obnovit + Vyberte instanci + Zapnout náhled videa na zamknuté obrazovce + Hraje-li video na pozadí, náhled videa se ukáže na zamknuté obrazovce + Smazat historii stahování + Smazat stažené soubory + Smazat %1$s stahování \ No newline at end of file From de1a92539a658e77bbbc59716c40be4a38c48d22 Mon Sep 17 00:00:00 2001 From: thami simo Date: Thu, 16 Jan 2020 04:11:00 +0000 Subject: [PATCH 21/59] Translated using Weblate (Arabic) Currently translated at 100.0% (527 of 527 strings) --- app/src/main/res/values-ar/strings.xml | 62 ++++++++++++++------------ 1 file changed, 34 insertions(+), 28 deletions(-) diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index b1dad5672..02f79c8ab 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -20,7 +20,7 @@ يتم تخزين ملفات الفيديو التي تم تنزيلها هنا مجلد تحميل الفيديو "لا يمكن إنشاء مجلد للتنزيلات في '%1$s'" - دليل التنزيل الذي تم إنشاؤه \'%1$s\' + إنشاء دليل التحميل \'%1$s\' تثبيت تطبيق Kore غير موجود. هل تريد تثبيته ؟ مضيء @@ -42,7 +42,7 @@ مشاركة مشاركة بواسطة عرض مقاطع الفيديو \"التالية\" و \"المشابهة\" - عرض خيارات تشغيل الفيديو من خلال مركز كودي ميديا + اعرض خيار لتشغيل الفيديو عبر مركز وسائط Kodi عرض خيار التشغيل بواسطة كودي السمة تم النشر يوم %1$s @@ -57,7 +57,7 @@ خطأ تعذرت عملية تحليل الموقع تعذر فك تشفير توقيع رابط الفيديو - اضغط بحث للبدء + انقر فوق بحث لتبدأ اشتراك مشترك الرئيسية @@ -69,8 +69,8 @@ مراقبة السجل التاريخ و ذاكرة التخزين المؤقت محتوى - الملفات المحملة - الملفات المحملة + التحميلات + التحميلات الجميع القناة الفيديو @@ -80,7 +80,7 @@ التاريخ التاريخ فتح في وضع منبثق - إزالة الصوت في بعض مستوى الدقة + يزيل الصوت في بعض القرارات وضع النوافذ المنبثقة NewPipe تم إلغاء الاشتراك في القناة تعذر تغيير حالة الاشتراك @@ -113,7 +113,7 @@ محتوى مقيد بحسب العمر "إظهار الفيديو المقيد بحسب العمر. يمكن السماح باستخدام هذه المواد من \"الإعدادات\"." بث مباشر - تقرير عن مشكلة + تقرير خطأ قائمة التشغيل نعم لاحقاً @@ -155,15 +155,15 @@ تم رفض إذن الوصول إلى التخزين ألف مليون - G + B ليس هناك مشترِكون - %s لا يوجد مشاركين + %s لا يوجد مشترك %s مشترك - %s مشاريكان - %s اشتراكات - %s مشاركون - %s اشتراك + %s المشتركين + %s المشتركين + %s المشتركين + %s المشتركين دون مشاهدات لاتوجد فيديوهات @@ -200,7 +200,7 @@ فتح الموقع المساهمون التراخيص - تطبيق مجاني خفيف الوزن وبث حي على نظام أندرويد. + تطبيق مجاني خفيف البث على أندرويد. ساهم إذا كانت لديك أفكار؛ أو ترجمة، أو تغييرات تخص التصميم، أو تنظيف و تحسين الشفرة البرمجية ، أو تعديلات عميقة عليها، فتذكر أنّ مساعدتك دائما موضع ترحيب. وكلما أتممنا شيئا كلما كان ذلك أفضل ! عرض على GitHub @@ -238,12 +238,12 @@ تحدي الكابتشا ضغط مطول للإدراج الى قائمة الانتظار - %s بدون مشهد - %s شاهد - %s مشاهدتان - %s مشاهدات - %s مشاهدون - %s شاهدو + %s بدون مشهادة + %s مشاهدة + %s مشاهدة + %s مشاهدة + %s مشاهدة + %s مشاهدة فيديوهات @@ -425,7 +425,7 @@ تتبيه تحديث التطبيق إيماءة التحكم بالصوت الأحداث - إخطارات لنسخة NewPipe الجديدة + الإخطارات لإصدار NewPipe الجديد وحدة التخزين الخارجية غير متوفرة "التنزيل على بطاقة SD الخارجية غير ممكن. إعادة تعيين موقع مجلد التحميل؟" باستخدام علامات التبويب الافتراضية ، خطأ أثناء قراءة علامات التبويب المحفوظة @@ -449,7 +449,7 @@ متوقف في قائمة الانتظار قيد المعالجة - قائمه انتظار + طابور تم رفضها من قبل النظام فشل التنزيل تم الانتهاء من التحميل @@ -504,7 +504,7 @@ لم يتبقى مساحة في الجهاز تم فقد التقدم بسبب حذف الملف انتهى وقت الاتصال - هل أنت واثق؟ + هل تريد محو سجل التنزيل أو حذف جميع الملفات التي تم تنزيلها؟ حد قائمة انتظار التنزيل سيتم تشغيل تنزيل واحد في نفس الوقت بدء التنزيلات @@ -542,11 +542,11 @@ تسريع إلى الأمام/-ترجيع وقت البحث مثيلات خوادم پيرتيوب - عيّن مثيلات خوادم پيرتيوب التي تُفضّلها + حدد مثيلات PeerTube المفضلة لديك إضافة نموذج - أدخل رابط مثيل الخادم - فشل في التحقق من مثيل الخادم - فقط عناوين https المدعومة + أدخل عنوان URL للمثيل + لا يمكن التحقق من صحة المثال + يتم دعم عناوين URL HTTPS فقط مثيل الخادم موجود بالفعل محلي أضيف مؤخرا @@ -554,5 +554,11 @@ تم إنشاؤه-تلقائيًا (لم يتم العثور على برنامج تحميل) استرد لا يمكن استرداد هذا التنزيل - اختيار مثيل خادم + اختيار مثيل + ابحث عن الحالات التي تناسبك على %s + تمكين صور مصغرة قفل شاشة فيديو + عند استخدام مشغل الخلفية ، سيتم عرض صورة مصغرة للفيديو على شاشة القفل + تنظيف تاريخ التحميل + حذف الملفات التي تم تنزيلها + التنزيلات %1$s المحذوفة \ No newline at end of file From 7e9345680578174a24043e89fb47eebb03600fd2 Mon Sep 17 00:00:00 2001 From: zmni Date: Fri, 17 Jan 2020 16:25:26 +0000 Subject: [PATCH 22/59] Translated using Weblate (Indonesian) Currently translated at 99.8% (526 of 527 strings) --- app/src/main/res/values-id/strings.xml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/values-id/strings.xml b/app/src/main/res/values-id/strings.xml index 8677df678..dd8413be8 100644 --- a/app/src/main/res/values-id/strings.xml +++ b/app/src/main/res/values-id/strings.xml @@ -480,7 +480,7 @@ NewPipe telah ditutup saat sedang memproses berkas Tidak ada ruang kosong tersisa pada perangkat Kehilangan laju, karena berkas telah dihapus - Apakah anda yakin\? + Apakah anda yakin ingin menghapus semua riwayat unduhan dan berkas yang telah diunduh\? Batasi antrean unduhan Satu unduhan akan berjalan pada waktu yang bersamaan Mulai unduh @@ -527,4 +527,8 @@ Pilih situs Aktifkan kunci layar thumbnail video Ketika menggunakan pemutar latar belakang, thumbnail video akan ditampilkan di tampilan kunci layar + Kiosk Default + Hapus riwayat unduhan + Hapus berkas yang diunduh + %1$s unduhan dihapus \ No newline at end of file From 366c55c8f49b9578b5ef6fcfe9ff1d2aa01bfc6a Mon Sep 17 00:00:00 2001 From: B0pol Date: Fri, 17 Jan 2020 09:02:16 +0000 Subject: [PATCH 23/59] Translated using Weblate (Polish) Currently translated at 100.0% (527 of 527 strings) --- app/src/main/res/values-pl/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 0da89ad48..4d2b38b5f 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -543,5 +543,5 @@ Podczas korzystania z odtwarzacza w tle na ekranie blokady zostanie wyświetlona miniatura filmu Wyczyść historię pobierania Usuń pobrane pliki - Usunięte% 1$s pobrania + Usunięte %1$s pobrania \ No newline at end of file From 4797cd91840a51e26728a97d111af002282da97c Mon Sep 17 00:00:00 2001 From: Matsuri Date: Sat, 18 Jan 2020 03:50:06 +0000 Subject: [PATCH 24/59] Translated using Weblate (Chinese (Simplified)) Currently translated at 98.5% (519 of 527 strings) --- .../main/res/values-b+zh+HANS+CN/strings.xml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/app/src/main/res/values-b+zh+HANS+CN/strings.xml b/app/src/main/res/values-b+zh+HANS+CN/strings.xml index 078379683..4538fc184 100644 --- a/app/src/main/res/values-b+zh+HANS+CN/strings.xml +++ b/app/src/main/res/values-b+zh+HANS+CN/strings.xml @@ -130,8 +130,8 @@ 没有结果 没有订阅者 - %s个订阅者 - + %s 位订阅者 + 没有视频 拖动以重新排序 @@ -410,8 +410,8 @@ NewPipe 项目非常重视您的隐私。因此,未经您的同意,应用程序不会收集任何数据。 \nNewPipe 的隐私政策详细解释了在发送崩溃报告时发送和存储的数据。 阅读隐私政策 - 为了遵守欧洲一般数据保护条例 (GDPR),我们提请您注意 NewPipe 的隐私政策。请仔细阅读。 -\n您必须接受它才能向我们发送错误报告。 + 为了遵守欧盟的《通用数据保护条例》(GDPR),我们特此提醒您注意 NewPipe 的隐私政策。请您仔细阅读。 +\n您必须在同意以后才能向我们发送错误报告。 接受 拒绝 无限制 @@ -504,15 +504,15 @@ 删除所有播放位置记录? 更改下载目录让内容生效 『时下流行』页-默认 - 无人在线观看 + 没有人在观看 %s 人在观看 - 没人在听 + 没有人在听 %s 人在听 - + 重新启动应用后,语言将更改。 PeerTube 服务器 @@ -531,8 +531,8 @@ 无法恢复此下载 选择一个服务器 快进 / 快退的单位时间 - 在锁屏界面显示视频缩略图 - 在后台播放时,锁屏界面将会显示视频的缩略图 + 在锁屏上显示视频缩略图 + 在后台播放时,锁屏上将会显示视频的缩略图 清除下载历史记录 删除下载了的文件 已删除 %1$s 下载 From 62906fb84a294fd847274b0f7e9ed10136915bfe Mon Sep 17 00:00:00 2001 From: Jeff Huang Date: Fri, 17 Jan 2020 03:52:10 +0000 Subject: [PATCH 25/59] Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (527 of 527 strings) --- app/src/main/res/values-zh-rTW/strings.xml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 6cb16623f..b82736f90 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -480,7 +480,7 @@ NewPipe 在處理檔案時被關閉 裝置上沒有剩餘的空間 進度遺失,因為檔案已被刪除 - 您確定? + 您想要清除您的下載歷史紀錄或刪除所有已下載的檔案嗎? 限制下載佇列 一次執行一個下載 開始下載 @@ -531,4 +531,7 @@ 選擇一個站臺 啟用鎖定畫面影片縮圖 使用背景播放器時,鎖定畫面上將會顯示影片縮圖 + 清除下載歷史紀錄 + 刪除已下載的檔案 + 已刪除 %1$s 個下載 \ No newline at end of file From b6028cef5bf2df810774396cd1e19ef316a18785 Mon Sep 17 00:00:00 2001 From: MohammedSR Vevo Date: Fri, 17 Jan 2020 16:14:04 +0000 Subject: [PATCH 26/59] Translated using Weblate (Kurdish) Currently translated at 100.0% (527 of 527 strings) --- app/src/main/res/values-ku/strings.xml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/values-ku/strings.xml b/app/src/main/res/values-ku/strings.xml index 50350e1b3..b6d8bb877 100644 --- a/app/src/main/res/values-ku/strings.xml +++ b/app/src/main/res/values-ku/strings.xml @@ -517,7 +517,7 @@ بیرگەی ناوەکیت پڕبووە کردارەکە شکستی هێنا, چونکە ئەو فایلە سڕاوەتەوە هێڵی ئینتەرنێت نەما - ئایا دڵنیای؟ + ئایا دەتەوێ مێژووی داگرتنەکانت بسڕدرێنەوە یان هەموو فایلە داگیراوەکان بسڕدرێنەوە؟ سنوری ڕیزبوونی داگرتنەکان تەنها یەک داگرتن کاردەکات لەیەک کاتدا دەستپێکردنەوەی داگرتنەکان @@ -538,4 +538,7 @@ دۆخێک هەڵبژێرە چالاککردنی وێنۆچکەی ڤیدیۆی داخستنی ڕوونما کاتێ کارپێکەری پاشبنەما کاردەکات ئەوا وێنۆچکەی ڤیدیۆکە لە ڕوونما داخراوەکەدا نیشاندەدرێت + سڕینەوەی مێژووی داگرتن + سڕینەوەی فایلە داگیراوەکان + %1$ لە داگرتنەکان سڕانەوە \ No newline at end of file From 0e39071b5e19df627b416cdf1aae143f125bb99c Mon Sep 17 00:00:00 2001 From: B0pol Date: Fri, 17 Jan 2020 23:18:47 +0000 Subject: [PATCH 27/59] Translated using Weblate (Urdu) Currently translated at 94.3% (497 of 527 strings) --- app/src/main/res/values-ur/strings.xml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/app/src/main/res/values-ur/strings.xml b/app/src/main/res/values-ur/strings.xml index 724c9c3ed..d885cb915 100644 --- a/app/src/main/res/values-ur/strings.xml +++ b/app/src/main/res/values-ur/strings.xml @@ -1,7 +1,7 @@ شروع کرنے کے لیے تلاش پر ٹیپ کریں - ملاحظات + ملاحظات s$1% کوشائع ہوا انسٹال منسوخ کریں @@ -193,13 +193,13 @@ بی کوئی صارفین نہیں - s% صارف - s% صارفین + %s صارف + %s صارفین کوئی مناظر نہیں - s% منظر - s% مناظر + %s منظر + %s مناظر ویڈیوز دستیاب نہیں @@ -306,7 +306,7 @@ دراز بند کریں یہاں جلد ہی کچھ نظر آئے گا D D ترجیح \' کھلی \' عمل - مواد کھولنے پر ڈیفالٹ کارروائی — s% + مواد کھولنے پر ڈیفالٹ کارروائی — %s ویڈیو پلیئر پس منظر پلیئر پوپ اپ پلیئر @@ -437,7 +437,7 @@ سسٹم نےکارروائی سے انکار کیا گیا ڈاؤن لوڈ ناکام ڈاؤن لوڈ تکمیل - s% ڈاؤن لوڈ مکمل ہوگئے + %s ڈاؤن لوڈ مکمل ہوگئے منفرد نام بنائیں برتحریر اس نام کے ساتھ ایک ڈاؤن لوڈ جاری ہے From cf60033424888963c07a3327913d8371a0dafe95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Allan=20Nordh=C3=B8y?= Date: Thu, 16 Jan 2020 05:28:38 +0000 Subject: [PATCH 28/59] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegian?= =?UTF-8?q?=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 96.4% (508 of 527 strings) --- app/src/main/res/values-nb-rNO/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values-nb-rNO/strings.xml b/app/src/main/res/values-nb-rNO/strings.xml index d01647f5d..0c4ee8dde 100644 --- a/app/src/main/res/values-nb-rNO/strings.xml +++ b/app/src/main/res/values-nb-rNO/strings.xml @@ -524,6 +524,6 @@ Tøm nedlastingshistorikk Slett nedlastede filer Slettet %1$s nedlastninger - Aktiver videominiatyrbilde med låseskjerm - Når du bruker bakgrunnsspilleren, vises en videominiaturbilde på låseskjermen + Aktiver videominiatyrbilde på låseskjerm + Når du bruker bakgrunnsspilleren, vises ent videominiatyrbilde på låseskjermen \ No newline at end of file From ee0f94c2325bcc276c784ede77e719f367878b52 Mon Sep 17 00:00:00 2001 From: chr56 Date: Wed, 22 Jan 2020 03:44:23 +0000 Subject: [PATCH 29/59] Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (527 of 527 strings) --- app/src/main/res/values-b+zh+HANS+CN/strings.xml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/app/src/main/res/values-b+zh+HANS+CN/strings.xml b/app/src/main/res/values-b+zh+HANS+CN/strings.xml index 4538fc184..9fbc08493 100644 --- a/app/src/main/res/values-b+zh+HANS+CN/strings.xml +++ b/app/src/main/res/values-b+zh+HANS+CN/strings.xml @@ -131,7 +131,7 @@ 没有订阅者 %s 位订阅者 - + 没有视频 拖动以重新排序 @@ -148,7 +148,7 @@ 等待中… 已暂停 排队中 - 已加入队列 + 加入队列 操作已被系统拒绝 下载失败 下载完成 @@ -219,7 +219,7 @@ 记住最后一次使用悬浮窗的大小和位置 悬浮窗 调整大小 - 部分分辨率的视频将没有声音 + 隐藏部分没有音频的分辨率 播放器手势控制 使用手势控制播放器的亮度和音量 显示搜索建议 @@ -416,7 +416,7 @@ 拒绝 无限制 使用移动数据时限制分辨率 - 切换应用时最小化 + 退出应用时最小化 从主播放器切换到其他应用时的操作 - %s 静音时快进 滑块[比例尺] @@ -487,7 +487,7 @@ 设备上没有剩余储存空间 进度丢失,文件已被删除 连接超时 - 你确定吗? + 是否要清除下载历史记录或删除所有下载的文件? 最大下载队列 同时只允许一个下载进行 开始下载 @@ -512,16 +512,16 @@ 没有人在听 %s 人在听 - + 重新启动应用后,语言将更改。 PeerTube 服务器 设置自己喜欢的PeerTube服务器 查找最适合你的服务器%s 添加服务器 - 输入服务器网址 + 输入服务器网址(URL) 无法验证服务器 - 仅支持 https URL + 仅支持 HTTPS和URL 该服务器已存在 本地 最近添加 From ce075395a1b72b2c1db53ff6921ed4b70123d86d Mon Sep 17 00:00:00 2001 From: MohammedSR Vevo Date: Tue, 21 Jan 2020 16:37:53 +0000 Subject: [PATCH 30/59] Translated using Weblate (Kurdish) Currently translated at 100.0% (527 of 527 strings) --- app/src/main/res/values-ku/strings.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/src/main/res/values-ku/strings.xml b/app/src/main/res/values-ku/strings.xml index b6d8bb877..9a061bab7 100644 --- a/app/src/main/res/values-ku/strings.xml +++ b/app/src/main/res/values-ku/strings.xml @@ -3,20 +3,20 @@ گرته‌ له‌ گه‌ڕان بكه‌ بۆ ده‌ستپێكردن %1$s بینراو بڵاوكراوه‌ته‌وه‌ له‌ %1$s - هیچ كارپێكه‌رێكی ڤیدیۆیی نه‌دۆزرایه‌وه‌. ده‌ته‌وێت VLC داگریت؟ - هیچ کارپێکەرێکی ڤیدیۆ نەدۆزرایەوە (دەتوانی کارپێکەری VLC دامەزرێنی) . + هیچ كارپێكه‌رێكی ڤیدیۆیی نه‌دۆزرایه‌وه‌. ده‌ته‌وێت VLC دابمەزرێنیت؟ + هیچ کارپێکەرێکی ڤیدیۆیی نەدۆزرایەوە (دەتوانی کارپێکەری VLC دامەزرێنی) . دامەزراندن پاشگه‌زبوونه‌وه‌ كردنه‌وه‌ له‌ وێبگه‌ر كردنه‌وه‌ له‌ په‌نجه‌ره‌ی بچووک هاوبه‌شپێكردن داگرتن - داگرتنی فایلی پەخش + داگرتنی پەڕگەی پەخش گه‌ڕان ڕێكخستنه‌كان مەبەستت ئەمەیە: \n%1$s\? - "هاوبه‌شپێكردن له‌گه‌ڵ " + هاوبه‌شپێكردن له‌گه‌ڵ هه‌ڵبژاردنی وێبگه‌ر لاربوونەوە به‌كارهێنانی كارپێكه‌ری ڤیدیۆی ده‌ره‌كی @@ -31,7 +31,7 @@ پیشاندانی زانیاری سه‌ره‌كی به‌شدارییه‌كان - لیستی کارپێکردنەکان نیشانەکران + خشتەی کارپێکردنەکان نیشانەکران چی نوێ هه‌یه‌ لە پاشبنەما په‌نجه‌ره‌ی بچووک From 1f975c0a3ac677cbc2829c0e80ce36bd7553fcd2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Allan=20Nordh=C3=B8y?= Date: Tue, 21 Jan 2020 15:55:32 +0000 Subject: [PATCH 31/59] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegian?= =?UTF-8?q?=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 98.1% (517 of 527 strings) --- app/src/main/res/values-nb-rNO/strings.xml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/app/src/main/res/values-nb-rNO/strings.xml b/app/src/main/res/values-nb-rNO/strings.xml index 0c4ee8dde..28a11185d 100644 --- a/app/src/main/res/values-nb-rNO/strings.xml +++ b/app/src/main/res/values-nb-rNO/strings.xml @@ -526,4 +526,14 @@ Slettet %1$s nedlastninger Aktiver videominiatyrbilde på låseskjerm Når du bruker bakgrunnsspilleren, vises ent videominiatyrbilde på låseskjermen + Velg dine favoritter blandt PeerTube-instansene + Finn instansene som passer deg best på %s + Legg til instans + Skriv inn nettadresse til instans + Kunne ikke bekrefte instans + Kun HTTPS-nettadresser støttes + Instansen finnes allerede + Autogenerert (fant ingen opplaster) + gjenoppretter + Kan ikke gjenopprette denne nedlastingen \ No newline at end of file From e224f8ca288b0f4d0a0d088b22a82bec2ae31d0a Mon Sep 17 00:00:00 2001 From: Abu Sarim Hindi Date: Thu, 23 Jan 2020 14:31:20 +0000 Subject: [PATCH 32/59] Translated using Weblate (Urdu) Currently translated at 100.0% (527 of 527 strings) --- app/src/main/res/values-ur/strings.xml | 188 +++++++++++++++---------- 1 file changed, 110 insertions(+), 78 deletions(-) diff --git a/app/src/main/res/values-ur/strings.xml b/app/src/main/res/values-ur/strings.xml index d885cb915..8ddc28711 100644 --- a/app/src/main/res/values-ur/strings.xml +++ b/app/src/main/res/values-ur/strings.xml @@ -1,79 +1,78 @@ شروع کرنے کے لیے تلاش پر ٹیپ کریں - ملاحظات s$1% - کوشائع ہوا + s$1% ملاحظات + %1$s کو شائع ہوا انسٹال منسوخ کریں - بانٹیں - ڈاؤن لوڈکریں + اشتراک کریں + ڈاؤن لوڈ تلاش کریں - کیا آپ کا مطلب تھا: s$1%\? - انٹرنیٹ میں کھولیں + کیا آپ کا مطلب یہ ہے: s$1%\? + براؤزر میں کھولیں ترتیبات - کوئیstream پلیئر نہیں ملا.کیا آپ VLC انسٹال کرنا چاہتے ہیں؟ - کوئیstream پلیئر نہیں ملا(آپ VLC انسٹال کر سکتے ہیے)۔ - PopUp موڈ میں کھولیں - سٹریم فائل ڈاؤن لوڈ کریں - کے ساتھ بانٹیں - Internet Browser منتخب کریں -\n - rotation کرو - external video player استعمال کریں - کچھ ریذولوشن پر آڈیو ہٹاتا ہے - بیرونی سوتی عامل ایپ استعمال کریں - NewPipe ابھاری اسلوب - سبسکرائیب کریں - سبسکرائیب کر لیا + کوئی اسٹریم پلیئر نہیں ملا۔ کیا آپ VLC انسٹال کرنا چاہتے ہیں؟ + کوئی اسٹریم پلیئر نہیں ملا (آپ VLC انسٹال کر سکتے ہیں)۔ + پاپ اپ وضع میں کھولیں + اسٹریم فائل ڈاؤن لوڈ کریں + کے ساتھ اشتراک کریں + براؤزر منتخب کریں + گھماؤ + خارجی ویڈیو پلئیر استعمال کریں + کچھ ریزولوشن پر آڈیو ہٹاتا ہے + خارجی آڈیو پلیر استعمال کریں + NewPipe پاپ اپ اسلوب + رکنیت اختیار کریں + رکنیت شدہ چینل کی رکنیت ختم کردی گئی - رکنیت کو تبدیل نہیں کیا جاسکا - سبسکرپشن کو اپ ڈیٹ نہیں کیا جاسکا + رکنیت کو تبدیل نہیں کیا جا سکا + رکنیت کی تازہ کاری نہیں ہو سکی معلومات دکھائیں - بنیادی - سبسکرپشنز - بُک مارک کردہ پلے لسٹس - نئ آمد + مرکزی + رکنیتیں + نشان زدہ پلے لسٹس + نیا کیا ہے پس منظر پوپ اپ شامل کریں ویڈیو ڈاؤن لوڈ فولڈر - ڈاؤن لوڈ کی ویڈیو فائلوں کو یہاں ذخیرہ کیا جاتا ہے + ڈاؤن لوڈ کی گئی ویڈیو فائلیں یہاں محفوظ ہیں ویڈیو فائلوں کے لئے ڈاؤن لوڈ فولڈر کا انتخاب کریں آڈیو ڈاؤن لوڈ فولڈر ڈاؤن لوڈ کی گئی آڈیو فائلیں یہاں محفوظ ہیں آڈیو فائلوں کے لئے ڈاؤن لوڈ فولڈر کا انتخاب کریں آٹوپلے - ایک ویڈیو ادا کرتا ہے جب نیو پائپ کسی دوسرے ایپ سے بلایا جاتا ہے - طے شدہ جزیات - طے شدہ پوپ جزیات - اعلی قراردادیں دکھائیں - صرف کچھ آلات 2K / 4K ویڈیوز کھیلنے میں معاون ہیں + جب دوسرے ایپ سے نیو پائپ کال کی جاتی ہے تو ویڈیو چلاتا ہے + طے شدہ ریزولوشن + طے شدہ پوپ اپ ریزولوشن + اعلیٰ معیارات دکھائیں + صرف کچھ آلات 2K / 4K ویڈیوز چلانے میں معاون ہیں کوڈی کے ساتھ استعمال کریں کور ایپ نہیں ملی۔ اسے انسٹال کریں؟ - \"کودی کے ساتھ کھیلیں\" کا آپشن دکھائیں - کوڈی میڈیا سنٹر کے ذریعے ویڈیو چلانے کا آپشن دکھائیں + \"کودی کے ساتھ چلائیں\" آپشن دکھائیں + کوڈی کے ذریعے ویڈیو چلانے کا آپشن دکھائیں آڈیو - پہلے سے طے شدہ آڈیو فارمیٹ - طے شدہ وڈیو وضع + طے شدہ آڈیو فارمیٹ + طے شدہ وڈیو فارمیٹ خیالیہ - روشنی + روشن تاریک سیاہ - پاپ اپ سائز اور پوزیشن کو یاد رکھیں - آخری سائز اور پوپ اپ کی پوزیشن یاد رکھیں - تیز رفتار تلاش کریں - غیر معقول تلاش سے کھلاڑی کم ہونے والی صحت سے متعلق تیزی سے پوزیشن حاصل کرنے کی اجازت دیتا ہے - Thumbnailلوڈکریں - تھمب نیلز کو لوڈ کرنے ، اعداد و شمار کی بچت اور میموری کے استعمال کو روکنے کیلئے آف کریں۔ تبدیلیاں دونوں میموری میں اور آن ڈسک امیج کیشے کو صاف کرتی ہیں۔ - تصویری کیشے کا صفایا کردیا - کیشڈ میٹا ڈیٹا کو صاف کریں - ویب میں موجود سبھی ڈیٹا کو ہٹا دیں - میٹا ڈیٹا کیشے کا صفایا کردیا - آٹو قطار اگلا اسٹریم + پاپ اپ جسامت اور مقام کو یاد رکھیں + پچھلی جسامت اور پوپ اپ کا مقام یاد رکھیں + بالواسطہ رسائی استعمال کریں + بالواسطہ تلاش مشکلات کو کم کر کے پلیئر کو تیز رفتاری سے مقامات تک رسائی کرنے دیتی ہے + نظرِ انگشتی لوڈ کریں + ڈیٹا کی بچت اور میموری کے استعمال کو روکنے کیلئے نظرِ انگشتی کو بند کریں۔ تبدیلیاں میموری اور آن ڈسک عکس کے کیشے کو صاف کرتی ہیں۔ + تصویری کیشے کی صفائی ہوئی + کیشے میٹا ڈیٹا کو صاف کریں + ویب پیج کے سبھی کیشے ڈیٹا کو ہٹا دیں + میٹا ڈیٹا کیشے کی صفائی ہوئی + اگلا سلسلہ خود قطار جب دوبارہ نہ چلنے والی قطار میں آخری سلسلہ جاری ہو تو متعلقہ سلسلے کو خود سے شامل کریں پلیر اشارہ کنٹرول اشارے کی چمک اور آواذکو کنٹرول کرنے کے لئے اشاروں کا استعمال کریں - تلاش کی تجاویز + تلاش کے اشارے تلاش کرتے وقت تجاویز دکھائیں تاریخ تلاش کریں تلاش کے استفسارات کو مقامی طور پر ذخیرہ کریں @@ -138,7 +137,7 @@ تاریخ ، خریداری اور پلے لسٹ برآمد کریں خرابی نیٹ ورک کی خرابی - تمام تمبنیلذلوڈ نہیں کر سکے + تمام نظرِ انگشتی لوڈ نہیں کر سکے ویڈیو یو آر ایل کے دستخط ڈکرپٹ نہیں ہو سکے ویب سائٹ کو تجزیہ نہیں کیا جاسکا ویب سائٹ کو مکمل طور پر تجزیہ نہیں کرسکے @@ -188,9 +187,9 @@ آڈیو دوبارہ کوشش کریں ذخیرہ رسائی اجازت مسترد - K + ہزار ایم - بی + ارب کوئی صارفین نہیں %s صارف @@ -203,8 +202,8 @@ ویڈیوز دستیاب نہیں - ویڈیوز - + ویڈیو + ویڈیوز شروع کریں توقف @@ -243,13 +242,13 @@ ترتیبات کے بارے میں تیسری پارٹی کے لائسنس - 3٪ 1 $ s بذریعہ٪ 2 $ s٪ 3 $ s کے تحت + © %1$s بذریعہ %2$s %3$s کے تحت لائسنس لوڈ نہیں کر سکا ویب سائٹ کھولیں کے بارے میں معاونین لائسنس - لوڈ ، اتارنا Android پر ہلکا پھلکا اسٹریمنگ۔ + لِبرے کی اینڈروئیڈ پر کم وزنی اسٹریمنگ تعاون کریں چاہے آپ کے خیالات ہوں؛ ترجمہ ، ڈیزائن میں تبدیلیاں ، کوڈ صاف کرنا ، یا حقیقی ہیوی کوڈ میں تبدیلی — مدد کا ہمیشہ خیرمقدم کیا جاتا ہے۔ جتنا زیادہ ہوتا ہے اتنا ہی بہتر ہوتا ہے! گٹ ہب پر دیکھیں @@ -276,17 +275,17 @@ مرکزی صفحہ کا مواد خالی صفحہ رجحان صفحہ - سکریپشن پیج + صفحۂ رکنیت فیڈ صفحہ چینل کا صفحہ ایک چینل منتخب کریں - کسی چینل کی رکنیت نہیں + اب تک چینل کی رکنیت نہیں ایک کیوسک منتخب کریں - برآمدشدہ + برآمد شدہ درآمدشدہ - کوئی درست زپ فائل نہیں ہے + درست زپ فائل نہیں ہے انتباہ: تمام فائلوں کو درآمد نہیں کیا جاسکا۔ - یہ آپ کے موجودہ سیٹ اپ کو اوور رائڈ کرے گا۔ + یہ آپ کی موجودہ سیٹ اپ کو رد کر دے گا۔ کیوسک رجحان سازی Top 50 @@ -305,8 +304,8 @@ دراز کھولیں دراز بند کریں یہاں جلد ہی کچھ نظر آئے گا D D - ترجیح \' کھلی \' عمل - مواد کھولنے پر ڈیفالٹ کارروائی — %s + پسندیدہ \'کھلی\' کارروائی + مواد کھولنے پر طے شدہ کارروائی — %s ویڈیو پلیئر پس منظر پلیئر پوپ اپ پلیئر @@ -347,7 +346,7 @@ رکنیت برآمد نہیں کر سکا برآمد فائل کو ڈاؤن لوڈ کرکے YouTube کی رکنیت کو درآمد کریں: \n -\n1. اس یو آر ایل پر جائیں:s$1% +\n1. اس یو آر ایل پر جائیں: %1$s \n2. جب پوچھا جائے تو لاگ ان کریں \nA. ڈاؤن لوڈ شروع ہونا چاہئے (یہ برآمد فائل ہے) URL یا آپ کی ID ٹائپ کرکے ایک SoundCloud پروفائل درآمد کریں: @@ -361,7 +360,7 @@ \n \nکیا آپ جاری رکھنا چاہتے ہیں؟ پلے بیک رفتار کنٹرول - Tempo + ٹیمپو "آواز کو موٹا کرنا" ختم (مسخ کا سبب بن سکتا ہے) کیپشن @@ -376,7 +375,7 @@ تلاش کی تاریخ حذف ہوگئی۔ 1 شے حذف کر دی گئی ۔ نیو پائپ کاپلیفٹ فری سافٹ ویئر ہے: آپ استعمال کرسکتے ہیں ، مطالعہ شیئر کرسکتے ہیں اور اپنی مرضی سے اسے بہتر کرسکتے ہیں۔ خاص طور پر آپ اسے مفت سافٹ ویئر فاؤنڈیشن کے ذریعہ شائع کردہ GNU جنرل پبلک لائسنس کی شرائط کے تحت دوبارہ تقسیم اور / یا ترمیم کرسکتے ہیں ، جو لائسنس کا ورژن 3 ، یا (آپ کے اختیار پر) کسی بھی بعد کا ورژن ہے۔ - کیا آپ سیٹنگیں بھی درآمد کرنا چاہتے ہیں؟ + کیا آپ ترتیبات بھی درآمد کرنا چاہتے ہیں؟ نیو پائپ کی رازداری کی پالیسی نیوپی پائپ منصوبہ آپ کی رازداری کو بہت سنجیدگی سے لیتا ہے. لہذا ، اپلی کیشن آپ کی رضامندی کے بغیر کسی بھی ڈیٹا کو جمع نہیں کرتا. \nنیو پائپ کی رازداری کی پالیسی تفصیل سے وضاحت کرتی ہے کہ آپ کو کریش رپورٹ بھیجنے پر کیا ڈیٹا بھیجا جاتا ہے اور ذخیرہ کیا جاتا ہے ۔ @@ -399,13 +398,13 @@ پلے لسٹس ویڈیو ذ صارفین - اندراج خارج کریں + رکنیت چھوڑیں نیا ٹیب - ٹیب کا انتخاب کریں - صوت اشارہ کنٹرول - پلیر کی آواذکنٹرول کرنے کے لیے اشاروں کا استعمال کریں - چمک اشارہ کنٹرول - پلیرکی چمک کو کنٹرول کرنے کیلئے اشاروں کا استعمال کریں + ٹیب منتخب کریں + صوتی اشارہ کنٹرول + پلیئر کی آواز کنٹرول کرنے کے لیے اشاروں کا استعمال کریں + چمک کا متحرک کنٹرول + پلیئرکی چمک کو کنٹرول کرنے کیلئے اشاروں کا استعمال کریں ڈیفالٹ مواد کی زبان تازہ کاریاں فائل حذف ہوگئی @@ -436,8 +435,8 @@ قطار سسٹم نےکارروائی سے انکار کیا گیا ڈاؤن لوڈ ناکام - ڈاؤن لوڈ تکمیل - %s ڈاؤن لوڈ مکمل ہوگئے + ڈاؤن لوڈ مکمل + %s ڈاؤن لوڈ مکمل ہوا منفرد نام بنائیں برتحریر اس نام کے ساتھ ایک ڈاؤن لوڈ جاری ہے @@ -462,14 +461,14 @@ تقریبات کانفرنسیں تبصرے دکھائیں - تبصرے دکھانا بند کرو + تبصرے دکھانا بند کریں آٹوپلے تبصرے کوئی تبصرہ نہیں - تبصرے لوڈ نہیں ہوسکے + تبصرے لوڈ نہیں ہو سکے بند کریں پلے بیک دوبارہ شروع کریں آخری پلے بیک پوزیشن بحال کریں @@ -487,7 +486,7 @@ آلے میں کوئی جگہ نہیں بچی پیشرفت ختم ہوگئی ، کیونکہ فائل کو حذف کردیا گیا تھا رابطے کا وقت ختم - کیا تمہیں یقین ہے؟ + کیا آپ اپنی ڈاؤن لوڈ کی سرگزشت کو صاف کرنا چاہتے ہیں یا ڈاؤن لوڈ کی گئی تمام فائلوں کو حذف کرنا چاہتے ہیں؟ ڈاؤن لوڈ کی قطار کو محدود کریں ایک ڈاؤن لوڈ ایک ہی وقت میں چلے گا ڈاؤن لوڈ شروع کریں @@ -502,6 +501,39 @@ پلے بیک پوزیشن حذف کریں تمام پلے بیک پوزیشن حذف کریں تمام پلے بیک پوزیشنوں کو حذف کریں ؟ - اثر لینے کے لئے ڈاؤن لوڈ فولڈرز کو تبدیل کریں + مؤثر بنانے کے لئے ڈاؤن لوڈ فولڈرز کو تبدیل کریں ٹوگل خدمت ، حالیہ منتخب: + کوئی نہیں دیکھ رہا ہے + + % s دیکھ رہا + %s دیکھ رہے + + کوئی نہیں سن رہا ہے + + %s سننے والا + %s سننے والے + + جب ایپ دوبارہ شروع ہو گی تو زبان تبدیل ہو جائے گی۔ + طے شدہ کیوسک + آگے بھگانے /- پیچھے کرنے کی مدت + پیر ٹیوب واقعات + اپنے پسندیدہ پیر ٹیوب کی مثالیں منتخب کریں + ایسی مثالوں کی تلاش کریں جو آپ کو ٪s پر موزوں بنائیں + مثال شامل کریں + مثال کا URL درج کریں + مثال کی توثیق نہیں کی جاسکی + صرف HTTPS URLs موافق ہیں + مثال پہلے سے موجود ہے + مقامی + حال ہی میں شامل + زیادہ پسندیدہ + خود سے بنا (کوئی اپ لوڈر نہیں ملا) + بازیافتی ہو رہی + یہ ڈاؤن لوڈ بازیافت نہیں ہو سکتا + ایک مثال منتخب کریں + لاک اسکرین ویڈیو تھمب نیل کو فعال کریں + بیک گراؤنڈ پلیئر استعمال کرتے وقت ایک ویڈیو تھمب نیل کو لاک اسکرین پر دکھایا جائے گا + ڈاؤن لوڈ کی سرگزشت صاف کریں + ڈاؤن لوڈ شدہ فائلیں حذف کریں + %1$s ڈاؤن لوڈز کو حذف کیا گیا \ No newline at end of file From c21ccef7bc4b71636829110cb4d8548e8a007b14 Mon Sep 17 00:00:00 2001 From: B0pol Date: Wed, 22 Jan 2020 23:50:53 +0000 Subject: [PATCH 33/59] Translated using Weblate (Esperanto) Currently translated at 100.0% (527 of 527 strings) --- app/src/main/res/values-eo/strings.xml | 30 +++++++++++++------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/app/src/main/res/values-eo/strings.xml b/app/src/main/res/values-eo/strings.xml index c6ce250e6..fe63caf1b 100644 --- a/app/src/main/res/values-eo/strings.xml +++ b/app/src/main/res/values-eo/strings.xml @@ -68,9 +68,9 @@ Reprovi Premi serĉon por komenci Neniu elsendlflua ludilo trovita (instalu VLC por ludi ĝin). - Malfermi en ŝprucfenestron modon + Malfermi en ŝprucfenestran modon Forigas aŭdon ĉe KELKAJ rezolucioj - NewPipe ŝprucfenestron modon + NewPipe ŝprucfenestran modon Aboni Abonita Kanalo malabonita @@ -87,12 +87,12 @@ Aldonu al Aŭtomata play Ludas filmeton kiam NewPipe vokas el alia programo - Defaŭlta rezolucio de la ŝprucfenestro + Defaŭlta rezolucio de la ŝprucfenestra ludilo Montri pli altajn rezoluciojn Nur kelkaj aparatoj subtenas ludi 2K / 4K filmetojn Defaŭlta fomato de filmeto Nigra - Memoru ŝprucfenestron kaj pozicion + Memoru ŝprucfenestran grandecon kaj pozicion Memoru lastan grandecon kaj pozicion de ŝprucfenestro Uzu rapide, ne preciza serĉon Ne preciza serĉo permesas al la ludanto serĉi poziciojn pli rapide kun malalta precizeco @@ -120,9 +120,9 @@ Jes Poste - Tiu permeso estas necesa por -\nmalfermi en ŝprucfenestro modo - Ludanta en ŝprucfenestro modo + Tiu permeso estas necesa por +\nmalfermi en ŝprucfenestra modo + Ludante en ŝprucfenestra modo Malaktiva Filtri Aktualigi @@ -145,7 +145,7 @@ Rigardu historion Spuri la viditajn filmetojn NewPipe Sciigo - Sciigoj por NewPipe fono kaj ŝprucfenestroj ludiloj + Sciigoj por NewPipe fonaj kaj ŝprucfenestraj ludiloj Ludilo Konduto Historio kaj kaŝmemoro @@ -156,21 +156,21 @@ Supro 50 Nova & varma Montri la indiko « Tenu por aldoni » - Montri indikon kiam la fono aŭ ŝprucfenestro butono estas premita en la retpaĝo de dalatadoj de la filmeto - Viciĝita en la ludilo en fono - Viciĝita en ŝprucfenestro ludilo + Montri indikon kiam la fona aŭ ŝprucfenestra butono estas premita en la retpaĝo de dalatadoj de la filmeto + Viciĝita en la fona ludilo + Viciĝita en ŝprucfenestra ludilo Ludi ĉiujn Ne povis ludi tion torenton Neatendebla eraro de ludilo okazis Reakiri el eraro de la ludilo Fona ludilo - Ŝprucfenestro ludilo + Ŝprucfenestra ludilo Retiri Detalado Sonaj parametroj Teni por viciĝi [Nekonata] - Viciĝi en la fono + Viciĝi en la fona ludilo Viciĝi en nova ŝprucfenestro Komencu ludi en nova ŝprucfenestro Defaŭlta enhava lando @@ -184,7 +184,7 @@ Nevalida ligilo Neniuj filmeta torentoj trovitaj Neniuj sonaj torentoj trovis - Ŝprucfenestro ludilo + Ŝprucfenestra ludilo Importi la datumbazon Eksporti la datumbazon Anstataŭigas vian aktualan historion kaj abonojn @@ -237,7 +237,7 @@ Ĉu vi volas forviŝi la totalon de la historio de serĉo \? Historio de serĉo forviŝita. Limigi rezolucio kiam uzanta moveblan datumon - Minimumigi al ŝprucfenestro ludilo + Minimumigi al ŝprucfenestra ludilo Kanaloj Ludlistoj Spuroj From d3aadc71b182e432a65d34e2113bc933784d8f15 Mon Sep 17 00:00:00 2001 From: B0pol Date: Fri, 24 Jan 2020 00:21:51 +0000 Subject: [PATCH 34/59] Translated using Weblate (Urdu) Currently translated at 100.0% (527 of 527 strings) --- app/src/main/res/values-ur/strings.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/res/values-ur/strings.xml b/app/src/main/res/values-ur/strings.xml index 8ddc28711..4c622a193 100644 --- a/app/src/main/res/values-ur/strings.xml +++ b/app/src/main/res/values-ur/strings.xml @@ -1,7 +1,7 @@ شروع کرنے کے لیے تلاش پر ٹیپ کریں - s$1% ملاحظات + %1$s ملاحظات %1$s کو شائع ہوا انسٹال منسوخ کریں @@ -505,7 +505,7 @@ ٹوگل خدمت ، حالیہ منتخب: کوئی نہیں دیکھ رہا ہے - % s دیکھ رہا + %s دیکھ رہا %s دیکھ رہے کوئی نہیں سن رہا ہے @@ -518,7 +518,7 @@ آگے بھگانے /- پیچھے کرنے کی مدت پیر ٹیوب واقعات اپنے پسندیدہ پیر ٹیوب کی مثالیں منتخب کریں - ایسی مثالوں کی تلاش کریں جو آپ کو ٪s پر موزوں بنائیں + ایسی مثالوں کی تلاش کریں جو آپ کو %s پر موزوں بنائیں مثال شامل کریں مثال کا URL درج کریں مثال کی توثیق نہیں کی جاسکی From 64b0ccd574c0a0b5968129891fcd39534f335a31 Mon Sep 17 00:00:00 2001 From: Abu Sarim Hindi Date: Fri, 24 Jan 2020 00:50:40 +0000 Subject: [PATCH 35/59] Translated using Weblate (Urdu) Currently translated at 100.0% (527 of 527 strings) --- app/src/main/res/values-ur/strings.xml | 30 +++++++++++++------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/app/src/main/res/values-ur/strings.xml b/app/src/main/res/values-ur/strings.xml index 4c622a193..68fb80c84 100644 --- a/app/src/main/res/values-ur/strings.xml +++ b/app/src/main/res/values-ur/strings.xml @@ -73,24 +73,24 @@ پلیر اشارہ کنٹرول اشارے کی چمک اور آواذکو کنٹرول کرنے کے لئے اشاروں کا استعمال کریں تلاش کے اشارے - تلاش کرتے وقت تجاویز دکھائیں - تاریخ تلاش کریں + تلاش کرتے وقت اشارے دکھائیں + سرگزشت تلاش کریں تلاش کے استفسارات کو مقامی طور پر ذخیرہ کریں - واچ ہسٹری - دیکھے ہوئے ویڈیوز کا ریکارڈرکھیں + دیکھے جانے کی سرگزشت + دیکھی گئی ویڈیوز کی سرگزشت رکھیں فوکس حاصل پر دوبارہ شروع کریں - مداخلت کے بعد چلاناجاری رکھیں (جیسے فون کالز) + مداخلت کے بعد چلانا جاری رکھیں (جیسے فون کالز) ڈاؤن لوڈ اگلا - \'اگلا\' اور \'ملتے جلتے\' ویڈیوز دکھائیں - \"الحاق کرنے کے لئے منعقد\" ٹپ دکھائیں + \'اگلی\' اور \'ملتی جلتی\' ویڈیوز دکھائیں + \"شامل کرنے کے لئے پکڑیں\" ٹپ دکھائیں ویڈیو تفصیلات کے صفحے پر جب بیک گراؤنڈ یا پاپ اپ بٹن دبائے جاتے ہیں تو ٹپ دکھائیں غیر معاون URL طے شدہ مواد والا ملک خدمت پلیئر رویہ - ویڈیو & آڈیو + ویڈیو اور آڈیو تاریخ اور کیشے پوپ اپ ظہور @@ -349,12 +349,12 @@ \n1. اس یو آر ایل پر جائیں: %1$s \n2. جب پوچھا جائے تو لاگ ان کریں \nA. ڈاؤن لوڈ شروع ہونا چاہئے (یہ برآمد فائل ہے) - URL یا آپ کی ID ٹائپ کرکے ایک SoundCloud پروفائل درآمد کریں: + ۔URL یا آپ کی ID ٹائپ کرکے ایک SoundCloud پروفائل درآمد کریں: \n -\n1. ویب براؤزر میں \"ڈیسک ٹاپ موڈ\" کو فعال کریں (سائٹ موبائل آلات کے لئے دستیاب نہیں ہے) -\n2. اس URL پر جائیں: s$1% -\n3. پوچھا گیا میں لاگ ان کریں -\n4. پروفائل یو آر ایل کاپی کریں جو آپ کو ہدایت کی گئی تھی. +\n1. ویب براؤزر میں \"ڈیسک ٹاپ موڈ\" کو فعال کریں (یہ سائٹ موبائل آلات کے لئے دستیاب نہیں ہے) +\n2. اس URL پر جائیں: %1$s +\n3. جب پوچھا جائے تو لاگ ان کریں +\n4. پروفائل یو آر ایل کاپی کریں جہاں تک آپ کی رہنمائی کی گئی تھی۔ yourID، soundcloud.com/yourid یاد رکھیں کہ یہ آپریشن نیٹ ورک مہنگا ہوسکتا ہے۔ \n @@ -472,8 +472,8 @@ بند کریں پلے بیک دوبارہ شروع کریں آخری پلے بیک پوزیشن بحال کریں - فہرست میں پوزیشن - فہرستوں میں پلے بیک پوزیشن کے اشارے دکھائیں + فہرست میں مقامات + فہرستوں میں پلے بیک مقامات کے اشارے دکھائیں کوائف صاف کریں دیکھنے کی تاریخ حذف ہوگئی۔ پلے بیک پوزیشنیں حذف ہوگئیں۔ From e9fda96aa1c42fd5244b7ebaae6f8a2904a9810a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Allan=20Nordh=C3=B8y?= Date: Thu, 23 Jan 2020 05:51:46 +0000 Subject: [PATCH 36/59] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegian?= =?UTF-8?q?=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 98.3% (518 of 527 strings) --- app/src/main/res/values-nb-rNO/strings.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/res/values-nb-rNO/strings.xml b/app/src/main/res/values-nb-rNO/strings.xml index 28a11185d..61e4b4574 100644 --- a/app/src/main/res/values-nb-rNO/strings.xml +++ b/app/src/main/res/values-nb-rNO/strings.xml @@ -536,4 +536,5 @@ Autogenerert (fant ingen opplaster) gjenoppretter Kan ikke gjenopprette denne nedlastingen + Hurtigframoverspoling/-tilbakeblafringsvarighet \ No newline at end of file From b2d78786c23b35db6d7de828f9e9f800bdad816e Mon Sep 17 00:00:00 2001 From: Abu Sarim Hindi Date: Fri, 24 Jan 2020 16:26:56 +0000 Subject: [PATCH 37/59] Translated using Weblate (Urdu) Currently translated at 100.0% (527 of 527 strings) --- app/src/main/res/values-ur/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-ur/strings.xml b/app/src/main/res/values-ur/strings.xml index 68fb80c84..cebcdc0ae 100644 --- a/app/src/main/res/values-ur/strings.xml +++ b/app/src/main/res/values-ur/strings.xml @@ -287,7 +287,7 @@ انتباہ: تمام فائلوں کو درآمد نہیں کیا جاسکا۔ یہ آپ کی موجودہ سیٹ اپ کو رد کر دے گا۔ کیوسک - رجحان سازی + رجحان میں Top 50 نیا اور تاذہ پس منظر پلیئر From e1145f16f2b49b07d6a74d3ebe1fe6e22095ec3b Mon Sep 17 00:00:00 2001 From: Harshal Lele Date: Sat, 25 Jan 2020 22:30:49 +0530 Subject: [PATCH 38/59] ask for display over other apps permission in settings --- .../settings/VideoAudioSettingsFragment.java | 56 +++++++++++++++++++ app/src/main/res/values/strings.xml | 1 + 2 files changed, 57 insertions(+) diff --git a/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java b/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java index 9bbdd650d..64ff23140 100644 --- a/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java +++ b/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java @@ -1,12 +1,68 @@ package org.schabi.newpipe.settings; +import android.content.SharedPreferences; +import android.os.Build; import android.os.Bundle; +import android.provider.Settings; +import android.view.View; + +import androidx.annotation.Nullable; + +import com.google.android.material.snackbar.Snackbar; import org.schabi.newpipe.R; +import org.schabi.newpipe.util.PermissionHelper; public class VideoAudioSettingsFragment extends BasePreferenceFragment { + + private SharedPreferences.OnSharedPreferenceChangeListener listener; + + @Override + public void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + listener = new SharedPreferences.OnSharedPreferenceChangeListener() { + @Override + public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String s) { + if(s.equals(getString(R.string.minimize_on_exit_key))){ + String newSetting = sharedPreferences.getString(s,null); + if(newSetting != null){ + if(newSetting.equals(getString(R.string.minimize_on_exit_popup_key))){ + if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && !Settings.canDrawOverlays(getContext())){ + Snackbar.make(getListView(),R.string.permission_display_over_apps,Snackbar.LENGTH_INDEFINITE) + .setAction(R.string.settings, new View.OnClickListener() { + @Override + public void onClick(View view) { + PermissionHelper.checkSystemAlertWindowPermission(getContext()); + } + }) + .show(); + + } + } + } + } + } + }; + } + + + @Override public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { addPreferencesFromResource(R.xml.video_audio_settings); } + + @Override + public void onResume() { + super.onResume(); + getPreferenceManager().getSharedPreferences().registerOnSharedPreferenceChangeListener(listener); + + } + + @Override + public void onPause() { + super.onPause(); + getPreferenceManager().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(listener); + } } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index e1b2cc0a4..2d69ea402 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -227,6 +227,7 @@ Using default tabs, error while reading saved tabs Restore defaults Do you want to restore the defaults? + Give permission to display over other apps Sorry, that should not have happened. Guru Meditation. From 9c58a07a72b4b69d14d9b2c51762fd27aa92ea95 Mon Sep 17 00:00:00 2001 From: AioiLight Date: Sat, 25 Jan 2020 17:06:03 +0000 Subject: [PATCH 39/59] Translated using Weblate (Japanese) Currently translated at 99.8% (526 of 527 strings) --- app/src/main/res/values-ja/strings.xml | 54 ++++++++++++++++++-------- 1 file changed, 37 insertions(+), 17 deletions(-) diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 553a54f1e..fdab646b2 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -212,7 +212,7 @@ フィードページ チャンネルページ チャンネルを選択 - 購読しているチャンネルはありません + 登録しているチャンネルはありません Kioskを選択 Kiosk 人気 @@ -232,8 +232,8 @@ 一度だけ データベースをインポート データベースをエクスポート - 既存の履歴と購読リストは上書きされます - 履歴や購読リスト、プレイリストをエクスポートします + 既存の履歴と登録リストは上書きされます + 履歴や登録リスト、プレイリストをエクスポートします 再生エラーからの回復中 外部プレイヤーは、これらのタイプのリンクをサポートしていません 無効なURL @@ -254,7 +254,7 @@ コンテンツを読み込んでいます 動画ファイルをダウンロード 情報を表示 - ブックマーク + プレイリスト サムネイルを読み込む 画像キャッシュを消去しました キャッシュを消去 @@ -301,8 +301,8 @@ エクスポートしています… ファイルからインポート 前回のエクスポート先 - 購読リストがインポートできませんでした - 購読リストがエクスポートできませんでした + 登録リストがインポートできませんでした + 登録リストがエクスポートできませんでした 速度 音程 デフォルト @@ -330,7 +330,7 @@ すべての検索履歴を削除しますか? このファイル/コンテンツはありません - 登録者数 %s 人 + %s を登録しています 視聴なし @@ -339,7 +339,7 @@ 1 つのアイテムが削除されました。 支援する NewPipe プロジェクトはあなたのプライバシーを非常に大切にしています。あなたの同意がない限り、アプリはいかなるデータも収集しません。NewPipe のプライバシー・ポリシーでは、クラッシュリポート送信時にどのような種類のデータが送信・記録されるかを詳細に説明しています。 - NewPipe は著作権が自由のソフトウェアです。あなたは自由にそれを使用し、研究し、そして改善することができます。あなたは、GNU フリーソフトウェア財団が公開する GNU General Public ライセンス バージョン3以降の下に、自由に再配布・修正を行うことができます。 + NewPipe はコピーレフトなソフトウェアです。あなたは自由にそれを使用し、研究し、そして改善することができます。あなたは、GNU フリーソフトウェア財団が公開する GNU General Public ライセンス バージョン3以降の下に、自由に再配布・修正を行うことができます。 最終再生日時 最も再生した動画 ズーム @@ -360,10 +360,10 @@ 自動生成 プレーヤーのキャプションテキストの縮尺と背景スタイルを変更します。有効にするには、アプリの再起動が必要です。 何もありません - 保存したエクスポートファイルからYouTubeの購読をインポート: -\n -\n1. このURLを開きます: %1$s -\n2. ログインしていなければログインします + 保存したエクスポートファイルからYouTubeの登録をインポート: +\n +\n1. このURLを開きます: %1$s +\n2. ログインしていなければログインします \n3. ダウンロードが始まります (これがエクスポートファイルです) リセット 同意する @@ -393,7 +393,7 @@ 速度と音程を連動せずに変更 (歪むかもしれません) 無音の間に早送り 音程幅 - 購読解除 + 登録解除 新しいタブ タブを選択 アプリの更新 @@ -402,7 +402,7 @@ 外部記憶装置は利用できません 既定値に戻す 既定の設定を復元しますか\? - 登録者数は表示できません + 登録者数は利用できません 選択 会議 ヨーロッパの一般データ保護規制(GDPR)に準拠するために、NewPipeの個人情報保護方針にご注意ください。よく読んでください。 @@ -415,7 +415,7 @@ スイッチビュー NewPipeのアップデートがあります! タップでダウンロード - 終了しました + 完了 保留中 一時停止 順番待ちに追加しました @@ -480,7 +480,7 @@ ファイルの作業中に NewPipe が閉じられました デバイスに空き容量がありません ファイルが削除されたため、進行状況が失われました - よろしいですか\? + ダウンロード履歴、またはダウンロードしたファイルを消去しますか\? ダウンロード キューの制限 同時に1つのダウンロードが実行されます ダウンロードの開始 @@ -503,11 +503,31 @@ デフォルトのキオスク 誰も見ていません - %s 見ています + %s 視聴中 誰も聞いていません %s リスナー アプリを再起動すると、言語が変更されます。 + 高速早送り/巻き戻し時間 + PeerTube インスタンス + PeerTube インスタンスを選択する + あなたに最適なインスタンスを探せます: %s + インスタンスを追加 + インスタンスの URL を入力 + インスタンスを検証することができませんでした + HTTPS な URL のみがサポートされています + インスタンスはすでに存在しています + ローカル + 最近追加された + 高評価 + 修復中 + ダウンロードが修復できません + インスタンスを選択 + ロック画面の動画サムネイルを有効にする + バックグラウンドプレイヤーを使用中、ロック画面に動画のサムネイルが表示されるようになります + ダウンロード履歴を消去 + ダウンロードしたファイルを消去 + %1$s 個削除しました \ No newline at end of file From 14b3cf7ccd9491719d20f63cce2fbf7a56890b19 Mon Sep 17 00:00:00 2001 From: "Ian Emmanuel M. Enanoria" Date: Sat, 25 Jan 2020 04:50:59 +0000 Subject: [PATCH 40/59] Translated using Weblate (Filipino) Currently translated at 12.7% (67 of 527 strings) --- app/src/main/res/values-fil/strings.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/src/main/res/values-fil/strings.xml b/app/src/main/res/values-fil/strings.xml index 40412ac11..9813b6922 100644 --- a/app/src/main/res/values-fil/strings.xml +++ b/app/src/main/res/values-fil/strings.xml @@ -39,4 +39,7 @@ Popup Idagdag sa Folder ng pag-download ng video + Pumili ng folder kung saan ido-download ang mga bidyo + Nakaimbak sa folder na ito ang mga nai-download na mga audio files + Pumili ng folder kung saan ido-download ang mga audio files \ No newline at end of file From 156a2eb4ffe7479333536f3195ed3ceee63fa7f1 Mon Sep 17 00:00:00 2001 From: bopol Date: Mon, 27 Jan 2020 19:32:40 +0100 Subject: [PATCH 41/59] update prettytime dependency MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit see https://github.com/TeamNewPipe/NewPipe/pull/2921#issuecomment-572601812 It will add Esperanto, add bengali, update vietnamese pretty time is the library used in the home page: … days ago --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 0ca03f158..f8fc1565f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -94,7 +94,7 @@ dependencies { implementation 'io.reactivex.rxjava2:rxjava:2.2.2' implementation 'io.reactivex.rxjava2:rxandroid:2.1.0' implementation 'com.jakewharton.rxbinding2:rxbinding:2.1.1' - implementation 'org.ocpsoft.prettytime:prettytime:4.0.1.Final' + implementation 'org.ocpsoft.prettytime:prettytime:4.0.3.Final' implementation "androidx.room:room-runtime:${roomDbLibVersion}" implementation "androidx.room:room-rxjava2:${roomDbLibVersion}" From e0829769141cb959b9d5a6d78e7e694af618e274 Mon Sep 17 00:00:00 2001 From: Sithananthan Date: Mon, 27 Jan 2020 08:59:46 +0000 Subject: [PATCH 42/59] Translated using Weblate (Tamil) Currently translated at 43.3% (228 of 527 strings) --- app/src/main/res/values-ta/strings.xml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/app/src/main/res/values-ta/strings.xml b/app/src/main/res/values-ta/strings.xml index 0dee99ad0..41e683545 100644 --- a/app/src/main/res/values-ta/strings.xml +++ b/app/src/main/res/values-ta/strings.xml @@ -36,10 +36,10 @@ சேர் காணிலி தரவிறக்கப் பாதை தரவிறக்கப்பட்ட காணொலிகளின் சேமிப்புப் பாதை - காணொலியின் தரவிறக்கப் பாதையை உள்ளிடு + காணொலியின் தரவிறக்கப் பாதையை தேர்வு செய்க ஒலி பதிவிறக்க அடைவு தரவிறக்கப்பட்ட ஒலி இங்கே சேமிக்கப்பட்டுள்ளது - ஒலி கோப்புகளுக்கான தரவிறக்கப் பாதையை உள்ளிடு + ஒலி கோப்புகளுக்கான தரவிறக்கப் பாதையை தேர்வு செய்க தானே இயக்கு NewPipe மற்றொரு செயலியில் இருந்து அழைக்கப்படும் போது காணொலியை இயக்கும் முதல் பிரிதிறன் @@ -180,7 +180,7 @@ காணொளிகள் - + முதற்பக்கத்துக்கு மாற்று சரியில்லாத URL @@ -208,7 +208,7 @@ தானாக ஓட்டு கருத்துக்கள் - + திரையிடலை தொடங்கு பட்டியலில் இடங்கள் @@ -220,4 +220,7 @@ %s பார்க்கிறார் %s பார்க்கிறார்கள் + வேகமாக முன்னோக்கி / திரும்பத் தேடும் காலம் + பூட்டு திரை வீடியோ சிறுபடத்தை இயக்கவும் + பின்னணி பிளேயரைப் பயன்படுத்தும் போது பூட்டுத் திரையில் வீடியோ சிறுபடம் காண்பிக்கப்படும் \ No newline at end of file From 42bb96af23a3550285b432c46b46d3563d08454b Mon Sep 17 00:00:00 2001 From: Laura Arjona Reina Date: Mon, 27 Jan 2020 14:37:13 +0000 Subject: [PATCH 43/59] Translated using Weblate (Spanish) Currently translated at 100.0% (527 of 527 strings) --- app/src/main/res/values-es/strings.xml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 9f25208bb..5b3265cd7 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -425,7 +425,7 @@ Mostrar como grilla Mostrar como lista Limpiar descargas finalizadas - ¿Lo confirma\? + ¿Quiere limpiar su historial de descargas o eliminar todos los ficheros descargados\? Detener Intentos máximos Cantidad máxima de intentos antes de cancelar la descarga @@ -534,4 +534,7 @@ Elige una instancia Habilitar miniatura de video de la pantalla de bloqueo Al usar el reproductor de fondo, se mostrará una miniatura de video en la pantalla de bloqueo + Limpiar historial de descargas + Eliminar archivos descargados + Eliminadas %1$s descargas \ No newline at end of file From c486368b9b8caaf6955b8656f4ce9b4ae2df7f8d Mon Sep 17 00:00:00 2001 From: Ryan Date: Mon, 27 Jan 2020 01:23:37 +0000 Subject: [PATCH 44/59] Translated using Weblate (Korean) Currently translated at 100.0% (527 of 527 strings) --- app/src/main/res/values-ko/strings.xml | 34 ++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index e8a2a9c51..e2010c50f 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -482,7 +482,7 @@ 남은 저장공간이 없습니다 파일이 삭제되어 진행이 중지되었습니다 연결시간 초과 - 확실합니까\? + 모든 다운로드 기록과 파일을 삭제합니다.확실합니까\? 다운로드 대기 제한 다운로드 시작 다운로드 일시정지 @@ -497,10 +497,40 @@ 매 다운로드 마다 저장경로를 묻습니다. \n외장 SD카드에 다운로드 하고자 한다면 SAF를 선택하십시오 - %s개의 동영상 + 동영상 하나의 다운로드가 동시에 진행됩니다 적용하려면 다운로드 폴더를 변경하세요 서비스 토글, 현재 선택된 서비스: 기본 키오스크 + 시청자가 없습니다. + + %s 시청 + + 듣고 있는 사람이 없습니다. + + %s 듣는사람 + + 앱을 재시작하면 언어가 변경됩니다. + 빠른-감기/되감기 찾는 시간 + 피어튜브 인스턴스 + 당신이 선호하는 피어튜브 인스턴스를 선택하세요. + %s에서 당신에게 가장 잘 어울리는 인스턴스를 찾으세요. + 인스턴스 추가하기 + 인스턴스 URL을 입력하세요. + 인스턴스를 검증할 수 없습니다. + 오직 HTTPS URL들만 지원합니다. + 인스턴스가 이미 존재합니다. + 로컬 + 최근에 추가됨. + 가장 선호하는 + 자동생성된(업로더를 찾지못함) + 복구하기 + 이 다운로드를 복구할 수 없습니다 + 인스턴스를 선택하세요 + 비디어 썸네일 화면 고정을 가능하게 한다 + 백그라운드 플레이어를 사용하는 경우 비디오 썸네일은 고정된 스크린 위에 표시됩니다. + 다운로드 기록 삭제 + 다운로드된 파일 삭제 + %1$s 다운로드 삭제 \ No newline at end of file From c17d80948cdeadfacf476f5c9361d83d15a142df Mon Sep 17 00:00:00 2001 From: Abu Sarim Hindi Date: Sun, 26 Jan 2020 22:29:45 +0000 Subject: [PATCH 45/59] Translated using Weblate (Urdu) Currently translated at 100.0% (527 of 527 strings) --- app/src/main/res/values-ur/strings.xml | 56 +++++++++++++------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/app/src/main/res/values-ur/strings.xml b/app/src/main/res/values-ur/strings.xml index cebcdc0ae..375c0d6fd 100644 --- a/app/src/main/res/values-ur/strings.xml +++ b/app/src/main/res/values-ur/strings.xml @@ -79,55 +79,55 @@ دیکھے جانے کی سرگزشت دیکھی گئی ویڈیوز کی سرگزشت رکھیں فوکس حاصل پر دوبارہ شروع کریں - مداخلت کے بعد چلانا جاری رکھیں (جیسے فون کالز) + مداخلت کے بعد چلانا جاری رکھیں (مثلاً فون کالز) ڈاؤن لوڈ - اگلا + اگلی \'اگلی\' اور \'ملتی جلتی\' ویڈیوز دکھائیں - \"شامل کرنے کے لئے پکڑیں\" ٹپ دکھائیں - ویڈیو تفصیلات کے صفحے پر جب بیک گراؤنڈ یا پاپ اپ بٹن دبائے جاتے ہیں تو ٹپ دکھائیں - غیر معاون URL - طے شدہ مواد والا ملک + ’’شامل کرنے کے لئے پکڑیں‘‘ اشارہ دکھائیں + ویڈیو تفصیلات کے صفحے پر جب پس منظر یا پاپ اپ بٹن دبائے جانے پر ٹپ دکھائیں + غیر موافق URL + مشمولات کا طے شدہ ملک خدمت پلیئر رویہ ویڈیو اور آڈیو - تاریخ اور کیشے + سرگزشت اور کیشے پوپ اپ - ظہور + ظاہر دیگر - ڈیبگ + ڈِیبَگ پس منظر میں چلائیں - پوپ اپ موڈ میں چلائیں - بیک گراؤنڈ پلیئر پر قطار ہے - پاپ اپ پلیئر پر قطارہے + پوپ اپ اسلوب میں چلائیں + پس منظر پلیئر میں شامل ہوئی + پاپ اپ پلیئر میں شامل ہوئی چلائیں - مواد - عمر محدود مواد - عمر پر پابندی والا ویڈیو دکھائیں۔ ترتیبات سے اس طرح کے مواد کی اجازت ممکن ہے۔ + مشمول + نازیبا مشمولات + نازیبا ویڈیو دکھائی دے گی۔ ترتیبات سے اس طرح کے مشمولات کی اجازت ممکن ہے۔ براہ راست ڈاؤن لوڈ ڈاؤن لوڈ - غلطی کی اطلاع + خرابی کی اطلاع تمام - چینل(ذریعہ) + چینل پلے لسٹ ہاں بعد میں غیر فعال فلٹر - تازہ + ازسرنو صاف - سائز تبدیل کریں + جسامت بدلیں بہترین ریزولوشن کالعدم کریں تمام چلائیں ہمیشہ صرف ایک بار فائل - نیو پائپ نوٹیفیکیشن + نیو پائپ اطلاعات نیو پائپ کے پس منظر اور پاپ اپ پلیئرز کیلئے اطلاعات [نامعلوم] - ترتیب وضع کریں + سمت بندی بدلیں پس منظر پر جائیں پاپ اپ پر جائیں مین پر سوئچ کریں @@ -396,7 +396,7 @@ ری سیٹ کریں چینلز پلے لسٹس - ویڈیو ذ + ویڈیوز صارفین رکنیت چھوڑیں نیا ٹیب @@ -405,11 +405,11 @@ پلیئر کی آواز کنٹرول کرنے کے لیے اشاروں کا استعمال کریں چمک کا متحرک کنٹرول پلیئرکی چمک کو کنٹرول کرنے کیلئے اشاروں کا استعمال کریں - ڈیفالٹ مواد کی زبان + مشمولات کی طےشدہ زبان تازہ کاریاں فائل حذف ہوگئی - ایپ اپ ڈیٹ نوٹیفکیشن - نئے نیو پائپ ورژن کیلئے نوٹیفیکیشن + ایپ کی تازہ کاری کی اطلاع + جدید نیو پائپ ورژن کیلئے اطلاعات بیرونی اسٹوریج دستیاب نہیں بیرونی ایسڈی کارڈ پر ڈاؤن لوڈ ممکن نہیں۔ ڈاؤن لوڈ فولڈر کے مقام کو دوبارہ ترتیب دیں؟ پہلے سے طے شدہ ٹیبز کا استعمال ، محفوظ ٹیبز کو پڑھنے کے دوران خرابی @@ -464,8 +464,8 @@ تبصرے دکھانا بند کریں آٹوپلے - تبصرے - + تبصرہ + تبصرے کوئی تبصرہ نہیں تبصرے لوڈ نہیں ہو سکے @@ -521,7 +521,7 @@ ایسی مثالوں کی تلاش کریں جو آپ کو %s پر موزوں بنائیں مثال شامل کریں مثال کا URL درج کریں - مثال کی توثیق نہیں کی جاسکی + مثال کی توثیق نہیں کی جا سکی صرف HTTPS URLs موافق ہیں مثال پہلے سے موجود ہے مقامی From 153790d80a506d748269b979f34919e937df989f Mon Sep 17 00:00:00 2001 From: Igor Nedoboy Date: Tue, 28 Jan 2020 11:44:29 +0000 Subject: [PATCH 46/59] Translated using Weblate (Russian) Currently translated at 100.0% (527 of 527 strings) --- app/src/main/res/values-ru/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 975a9479b..63d0e7699 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -313,7 +313,7 @@ Текущие данные будут заменены Скоро здесь кое-что появится ;D Всегда спрашивать - Создать плейлист + Новый плейлист Удалить Переименовать Имя @@ -534,7 +534,7 @@ Локальное Новое Популярное - Создан автоматически (автор не найден) + Создано автоматически (автор не найден) восстановление Не удалось восстановить загрузку Выберите сервер From 1f24c186146c17f6fe5e140539cc7e56b2266062 Mon Sep 17 00:00:00 2001 From: Harshal Lele Date: Tue, 28 Jan 2020 20:14:35 +0530 Subject: [PATCH 47/59] reformatted and commented code --- .../newpipe/settings/VideoAudioSettingsFragment.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java b/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java index 64ff23140..86b04c4a7 100644 --- a/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java +++ b/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java @@ -24,11 +24,18 @@ public class VideoAudioSettingsFragment extends BasePreferenceFragment { listener = new SharedPreferences.OnSharedPreferenceChangeListener() { @Override public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String s) { + + //on M and above, if user chooses to minimise to popup player on exit and the app doesn't have + //display over other apps permission, show a snackbar to let the user give permission if(s.equals(getString(R.string.minimize_on_exit_key))){ + String newSetting = sharedPreferences.getString(s,null); if(newSetting != null){ + if(newSetting.equals(getString(R.string.minimize_on_exit_popup_key))){ + if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && !Settings.canDrawOverlays(getContext())){ + Snackbar.make(getListView(),R.string.permission_display_over_apps,Snackbar.LENGTH_INDEFINITE) .setAction(R.string.settings, new View.OnClickListener() { @Override From a78762756a68b8db5fd711f461e53b8aed0a3c48 Mon Sep 17 00:00:00 2001 From: Harshal Lele Date: Tue, 28 Jan 2020 20:54:24 +0530 Subject: [PATCH 48/59] reformatted code --- .../settings/VideoAudioSettingsFragment.java | 30 +++++++++---------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java b/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java index 86b04c4a7..6d32fb39f 100644 --- a/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java +++ b/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java @@ -27,29 +27,27 @@ public class VideoAudioSettingsFragment extends BasePreferenceFragment { //on M and above, if user chooses to minimise to popup player on exit and the app doesn't have //display over other apps permission, show a snackbar to let the user give permission - if(s.equals(getString(R.string.minimize_on_exit_key))){ + if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && + s.equals(getString(R.string.minimize_on_exit_key))){ String newSetting = sharedPreferences.getString(s,null); - if(newSetting != null){ + if(newSetting != null + && newSetting.equals(getString(R.string.minimize_on_exit_popup_key)) + && !Settings.canDrawOverlays(getContext())){ - if(newSetting.equals(getString(R.string.minimize_on_exit_popup_key))){ + Snackbar.make(getListView(),R.string.permission_display_over_apps,Snackbar.LENGTH_INDEFINITE) + .setAction(R.string.settings, new View.OnClickListener() { + @Override + public void onClick(View view) { + PermissionHelper.checkSystemAlertWindowPermission(getContext()); + } + }) + .show(); - if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && !Settings.canDrawOverlays(getContext())){ - - Snackbar.make(getListView(),R.string.permission_display_over_apps,Snackbar.LENGTH_INDEFINITE) - .setAction(R.string.settings, new View.OnClickListener() { - @Override - public void onClick(View view) { - PermissionHelper.checkSystemAlertWindowPermission(getContext()); - } - }) - .show(); - - } - } } } } + }; } From fbf6351b993638040ac1df767ce63cf8b6c67a18 Mon Sep 17 00:00:00 2001 From: Abu Sarim Hindi Date: Tue, 28 Jan 2020 19:36:53 +0000 Subject: [PATCH 49/59] Translated using Weblate (Urdu) Currently translated at 100.0% (527 of 527 strings) --- app/src/main/res/values-ur/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-ur/strings.xml b/app/src/main/res/values-ur/strings.xml index 375c0d6fd..fe3108a5d 100644 --- a/app/src/main/res/values-ur/strings.xml +++ b/app/src/main/res/values-ur/strings.xml @@ -248,7 +248,7 @@ کے بارے میں معاونین لائسنس - لِبرے کی اینڈروئیڈ پر کم وزنی اسٹریمنگ + لِبرے کی اینڈروئیڈ پر کم وزنی اسٹریمنگ۔ تعاون کریں چاہے آپ کے خیالات ہوں؛ ترجمہ ، ڈیزائن میں تبدیلیاں ، کوڈ صاف کرنا ، یا حقیقی ہیوی کوڈ میں تبدیلی — مدد کا ہمیشہ خیرمقدم کیا جاتا ہے۔ جتنا زیادہ ہوتا ہے اتنا ہی بہتر ہوتا ہے! گٹ ہب پر دیکھیں From fd3d61c6a0ecdec689c450aefeb1470c8e27fa58 Mon Sep 17 00:00:00 2001 From: Markus Richter <8398165+mqus@users.noreply.github.com> Date: Wed, 29 Jan 2020 13:48:02 +0100 Subject: [PATCH 50/59] fixes #3021, see also https://github.com/TeamNewPipe/NewPipe-legacy/pull/21 --- app/src/main/java/us/shandian/giga/get/DownloadMission.java | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/java/us/shandian/giga/get/DownloadMission.java b/app/src/main/java/us/shandian/giga/get/DownloadMission.java index c0f85b321..9ad73050b 100644 --- a/app/src/main/java/us/shandian/giga/get/DownloadMission.java +++ b/app/src/main/java/us/shandian/giga/get/DownloadMission.java @@ -223,6 +223,7 @@ public class DownloadMission extends Mission { conn.setInstanceFollowRedirects(true); conn.setRequestProperty("User-Agent", DownloaderImpl.USER_AGENT); conn.setRequestProperty("Accept", "*/*"); + conn.setRequestProperty("Accept-Encoding", "*"); if (headRequest) conn.setRequestMethod("HEAD"); From edc9d47da795efbc1606efae50788bdc81f4468b Mon Sep 17 00:00:00 2001 From: bopol Date: Tue, 28 Jan 2020 20:48:42 +0100 Subject: [PATCH 51/59] app language: refactoring MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit renamed NewPipe's language into App language, and same for all the concerning thing (keys, comments…) we now call assureCorrectAppLanguage(CONTEXT) in activities needing it instead of changeAppLanguage(getAppLocale(CONTEXT), RESOURCES) changeAppLanguage becomes private. --- app/src/main/java/org/schabi/newpipe/MainActivity.java | 8 +++----- .../java/org/schabi/newpipe/about/AboutActivity.java | 6 ++---- .../org/schabi/newpipe/download/DownloadActivity.java | 6 ++---- .../org/schabi/newpipe/player/BackgroundPlayer.java | 6 ++---- .../org/schabi/newpipe/player/MainVideoPlayer.java | 9 ++++----- .../org/schabi/newpipe/player/PopupVideoPlayer.java | 7 +++---- .../schabi/newpipe/player/ServicePlayerActivity.java | 5 ++--- .../newpipe/player/helper/PlaybackParameterDialog.java | 7 +++---- .../java/org/schabi/newpipe/report/ErrorActivity.java | 5 ++--- .../org/schabi/newpipe/settings/SettingsActivity.java | 6 ++---- .../java/org/schabi/newpipe/util/Localization.java | 10 ++++++++-- app/src/main/res/values/settings_keys.xml | 8 ++++---- app/src/main/res/values/strings.xml | 4 ++-- app/src/main/res/xml/content_settings.xml | 8 ++++---- 14 files changed, 43 insertions(+), 52 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/MainActivity.java b/app/src/main/java/org/schabi/newpipe/MainActivity.java index 63bc8df15..7cd620faa 100644 --- a/app/src/main/java/org/schabi/newpipe/MainActivity.java +++ b/app/src/main/java/org/schabi/newpipe/MainActivity.java @@ -31,7 +31,6 @@ import android.preference.PreferenceManager; import android.util.Log; import android.view.LayoutInflater; import android.view.Menu; -import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.view.Window; @@ -78,8 +77,7 @@ import org.schabi.newpipe.util.ThemeHelper; import java.util.ArrayList; import java.util.List; -import static org.schabi.newpipe.util.Localization.changeAppLanguage; -import static org.schabi.newpipe.util.Localization.getAppLocale; +import static org.schabi.newpipe.util.Localization.assureCorrectAppLanguage; public class MainActivity extends AppCompatActivity { private static final String TAG = "MainActivity"; @@ -118,7 +116,7 @@ public class MainActivity extends AppCompatActivity { } ThemeHelper.setTheme(this, ServiceHelper.getSelectedServiceId(this)); - changeAppLanguage(getAppLocale(getApplicationContext()), getResources()); + assureCorrectAppLanguage(this); super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); @@ -422,7 +420,7 @@ public class MainActivity extends AppCompatActivity { @Override protected void onResume() { - changeAppLanguage(getAppLocale(getApplicationContext()), getResources()); + assureCorrectAppLanguage(this); Localization.init(getApplicationContext()); //change the date format to match the selected language on resume super.onResume(); diff --git a/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java b/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java index 4d9cfc7e1..9e23d9d3d 100644 --- a/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java +++ b/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java @@ -22,11 +22,9 @@ import android.widget.TextView; import org.schabi.newpipe.BuildConfig; import org.schabi.newpipe.R; -import org.schabi.newpipe.util.NavigationHelper; import org.schabi.newpipe.util.ThemeHelper; -import static org.schabi.newpipe.util.Localization.changeAppLanguage; -import static org.schabi.newpipe.util.Localization.getAppLocale; +import static org.schabi.newpipe.util.Localization.assureCorrectAppLanguage; public class AboutActivity extends AppCompatActivity { @@ -65,7 +63,7 @@ public class AboutActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { - changeAppLanguage(getAppLocale(getApplicationContext()), getResources()); + assureCorrectAppLanguage(this); super.onCreate(savedInstanceState); ThemeHelper.setTheme(this); this.setTitle(getString(R.string.title_activity_about)); diff --git a/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java b/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java index 7aaaeeb17..00dd45ac9 100644 --- a/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java +++ b/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java @@ -12,14 +12,12 @@ import android.view.MenuItem; import android.view.ViewTreeObserver; import org.schabi.newpipe.R; -import org.schabi.newpipe.settings.SettingsActivity; import org.schabi.newpipe.util.ThemeHelper; import us.shandian.giga.service.DownloadManagerService; import us.shandian.giga.ui.fragment.MissionsFragment; -import static org.schabi.newpipe.util.Localization.changeAppLanguage; -import static org.schabi.newpipe.util.Localization.getAppLocale; +import static org.schabi.newpipe.util.Localization.assureCorrectAppLanguage; public class DownloadActivity extends AppCompatActivity { @@ -32,7 +30,7 @@ public class DownloadActivity extends AppCompatActivity { i.setClass(this, DownloadManagerService.class); startService(i); - changeAppLanguage(getAppLocale(getApplicationContext()), getResources()); + assureCorrectAppLanguage(this); ThemeHelper.setTheme(this); super.onCreate(savedInstanceState); setContentView(R.layout.activity_downloader); diff --git a/app/src/main/java/org/schabi/newpipe/player/BackgroundPlayer.java b/app/src/main/java/org/schabi/newpipe/player/BackgroundPlayer.java index c74882161..9e23d9145 100644 --- a/app/src/main/java/org/schabi/newpipe/player/BackgroundPlayer.java +++ b/app/src/main/java/org/schabi/newpipe/player/BackgroundPlayer.java @@ -58,9 +58,7 @@ import org.schabi.newpipe.util.NavigationHelper; import org.schabi.newpipe.util.ThemeHelper; import static org.schabi.newpipe.player.helper.PlayerHelper.getTimeString; -import static org.schabi.newpipe.util.Localization.changeAppLanguage; -import static org.schabi.newpipe.util.Localization.getAppLocale; - +import static org.schabi.newpipe.util.Localization.assureCorrectAppLanguage; /** * Base players joining the common properties @@ -117,7 +115,7 @@ public final class BackgroundPlayer extends Service { notificationManager = ((NotificationManager) getSystemService(NOTIFICATION_SERVICE)); lockManager = new LockManager(this); sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); - changeAppLanguage(getAppLocale(getApplicationContext()), getResources()); + assureCorrectAppLanguage(this); ThemeHelper.setTheme(this); basePlayerImpl = new BasePlayerImpl(this); basePlayerImpl.setup(); diff --git a/app/src/main/java/org/schabi/newpipe/player/MainVideoPlayer.java b/app/src/main/java/org/schabi/newpipe/player/MainVideoPlayer.java index 487629c12..31f7dd74a 100644 --- a/app/src/main/java/org/schabi/newpipe/player/MainVideoPlayer.java +++ b/app/src/main/java/org/schabi/newpipe/player/MainVideoPlayer.java @@ -95,8 +95,7 @@ import static org.schabi.newpipe.util.AnimationUtils.Type.SCALE_AND_ALPHA; import static org.schabi.newpipe.util.AnimationUtils.Type.SLIDE_AND_ALPHA; import static org.schabi.newpipe.util.AnimationUtils.animateRotation; import static org.schabi.newpipe.util.AnimationUtils.animateView; -import static org.schabi.newpipe.util.Localization.changeAppLanguage; -import static org.schabi.newpipe.util.Localization.getAppLocale; +import static org.schabi.newpipe.util.Localization.assureCorrectAppLanguage; import static org.schabi.newpipe.util.StateSaver.KEY_SAVED_STATE; /** @@ -127,7 +126,7 @@ public final class MainVideoPlayer extends AppCompatActivity @Override protected void onCreate(@Nullable Bundle savedInstanceState) { - changeAppLanguage(getAppLocale(getApplicationContext()), getResources()); + assureCorrectAppLanguage(this); super.onCreate(savedInstanceState); if (DEBUG) Log.d(TAG, "onCreate() called with: savedInstanceState = [" + savedInstanceState + "]"); defaultPreferences = PreferenceManager.getDefaultSharedPreferences(this); @@ -195,7 +194,7 @@ public final class MainVideoPlayer extends AppCompatActivity @Override protected void onResume() { if (DEBUG) Log.d(TAG, "onResume() called"); - changeAppLanguage(getAppLocale(getApplicationContext()), getResources()); + assureCorrectAppLanguage(this); super.onResume(); if (globalScreenOrientationLocked()) { @@ -226,7 +225,7 @@ public final class MainVideoPlayer extends AppCompatActivity @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); - changeAppLanguage(getAppLocale(getApplicationContext()), getResources()); + assureCorrectAppLanguage(this); if (playerImpl.isSomePopupMenuVisible()) { playerImpl.getQualityPopupMenu().dismiss(); diff --git a/app/src/main/java/org/schabi/newpipe/player/PopupVideoPlayer.java b/app/src/main/java/org/schabi/newpipe/player/PopupVideoPlayer.java index 96bc606cc..fc14e8d51 100644 --- a/app/src/main/java/org/schabi/newpipe/player/PopupVideoPlayer.java +++ b/app/src/main/java/org/schabi/newpipe/player/PopupVideoPlayer.java @@ -80,8 +80,7 @@ import static org.schabi.newpipe.player.BasePlayer.STATE_PLAYING; import static org.schabi.newpipe.player.VideoPlayer.DEFAULT_CONTROLS_DURATION; import static org.schabi.newpipe.player.VideoPlayer.DEFAULT_CONTROLS_HIDE_TIME; import static org.schabi.newpipe.util.AnimationUtils.animateView; -import static org.schabi.newpipe.util.Localization.changeAppLanguage; -import static org.schabi.newpipe.util.Localization.getAppLocale; +import static org.schabi.newpipe.util.Localization.assureCorrectAppLanguage; /** * Service Popup Player implementing VideoPlayer @@ -144,7 +143,7 @@ public final class PopupVideoPlayer extends Service { @Override public void onCreate() { - changeAppLanguage(getAppLocale(getApplicationContext()), getResources()); + assureCorrectAppLanguage(this); windowManager = (WindowManager) getSystemService(WINDOW_SERVICE); notificationManager = ((NotificationManager) getSystemService(NOTIFICATION_SERVICE)); @@ -172,7 +171,7 @@ public final class PopupVideoPlayer extends Service { @Override public void onConfigurationChanged(Configuration newConfig) { - changeAppLanguage(getAppLocale(getApplicationContext()), getResources()); + assureCorrectAppLanguage(this); if (DEBUG) Log.d(TAG, "onConfigurationChanged() called with: newConfig = [" + newConfig + "]"); updateScreenSize(); updatePopupSize(popupLayoutParams.width, -1); diff --git a/app/src/main/java/org/schabi/newpipe/player/ServicePlayerActivity.java b/app/src/main/java/org/schabi/newpipe/player/ServicePlayerActivity.java index 1c6d786cd..669d1c16c 100644 --- a/app/src/main/java/org/schabi/newpipe/player/ServicePlayerActivity.java +++ b/app/src/main/java/org/schabi/newpipe/player/ServicePlayerActivity.java @@ -46,8 +46,7 @@ import java.util.List; import static org.schabi.newpipe.player.helper.PlayerHelper.formatPitch; import static org.schabi.newpipe.player.helper.PlayerHelper.formatSpeed; -import static org.schabi.newpipe.util.Localization.changeAppLanguage; -import static org.schabi.newpipe.util.Localization.getAppLocale; +import static org.schabi.newpipe.util.Localization.assureCorrectAppLanguage; public abstract class ServicePlayerActivity extends AppCompatActivity implements PlayerEventListener, SeekBar.OnSeekBarChangeListener, @@ -118,7 +117,7 @@ public abstract class ServicePlayerActivity extends AppCompatActivity @Override protected void onCreate(Bundle savedInstanceState) { - changeAppLanguage(getAppLocale(getApplicationContext()), getResources()); + assureCorrectAppLanguage(this); super.onCreate(savedInstanceState); ThemeHelper.setTheme(this); setContentView(R.layout.activity_player_queue_control); diff --git a/app/src/main/java/org/schabi/newpipe/player/helper/PlaybackParameterDialog.java b/app/src/main/java/org/schabi/newpipe/player/helper/PlaybackParameterDialog.java index 2aefa675e..3ada3a6be 100644 --- a/app/src/main/java/org/schabi/newpipe/player/helper/PlaybackParameterDialog.java +++ b/app/src/main/java/org/schabi/newpipe/player/helper/PlaybackParameterDialog.java @@ -17,8 +17,7 @@ import org.schabi.newpipe.R; import org.schabi.newpipe.util.SliderStrategy; import static org.schabi.newpipe.player.BasePlayer.DEBUG; -import static org.schabi.newpipe.util.Localization.changeAppLanguage; -import static org.schabi.newpipe.util.Localization.getAppLocale; +import static org.schabi.newpipe.util.Localization.assureCorrectAppLanguage; public class PlaybackParameterDialog extends DialogFragment { @NonNull private static final String TAG = "PlaybackParameterDialog"; @@ -110,7 +109,7 @@ public class PlaybackParameterDialog extends DialogFragment { @Override public void onCreate(@Nullable Bundle savedInstanceState) { - changeAppLanguage(getAppLocale(getContext()), getResources()); + assureCorrectAppLanguage(getContext()); super.onCreate(savedInstanceState); if (savedInstanceState != null) { initialTempo = savedInstanceState.getDouble(INITIAL_TEMPO_KEY, DEFAULT_TEMPO); @@ -140,7 +139,7 @@ public class PlaybackParameterDialog extends DialogFragment { @NonNull @Override public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { - changeAppLanguage(getAppLocale(getContext()), getResources()); + assureCorrectAppLanguage(getContext()); final View view = View.inflate(getContext(), R.layout.dialog_playback_parameter, null); setupControlViews(view); diff --git a/app/src/main/java/org/schabi/newpipe/report/ErrorActivity.java b/app/src/main/java/org/schabi/newpipe/report/ErrorActivity.java index 05dfe33ca..4512ab3a6 100644 --- a/app/src/main/java/org/schabi/newpipe/report/ErrorActivity.java +++ b/app/src/main/java/org/schabi/newpipe/report/ErrorActivity.java @@ -46,8 +46,7 @@ import java.util.List; import java.util.TimeZone; import java.util.Vector; -import static org.schabi.newpipe.util.Localization.changeAppLanguage; -import static org.schabi.newpipe.util.Localization.getAppLocale; +import static org.schabi.newpipe.util.Localization.assureCorrectAppLanguage; /* * Created by Christian Schabesberger on 24.10.15. @@ -174,7 +173,7 @@ public class ErrorActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { - changeAppLanguage(getAppLocale(getApplicationContext()), getResources()); + assureCorrectAppLanguage(this); super.onCreate(savedInstanceState); ThemeHelper.setTheme(this); setContentView(R.layout.activity_error); diff --git a/app/src/main/java/org/schabi/newpipe/settings/SettingsActivity.java b/app/src/main/java/org/schabi/newpipe/settings/SettingsActivity.java index 6804f9831..53d60f86c 100644 --- a/app/src/main/java/org/schabi/newpipe/settings/SettingsActivity.java +++ b/app/src/main/java/org/schabi/newpipe/settings/SettingsActivity.java @@ -14,9 +14,7 @@ import android.view.MenuItem; import org.schabi.newpipe.R; import org.schabi.newpipe.util.ThemeHelper; -import static org.schabi.newpipe.util.Localization.changeAppLanguage; -import static org.schabi.newpipe.util.Localization.getAppLocale; - +import static org.schabi.newpipe.util.Localization.assureCorrectAppLanguage; /* * Created by Christian Schabesberger on 31.08.15. @@ -47,7 +45,7 @@ public class SettingsActivity extends AppCompatActivity implements BasePreferenc @Override protected void onCreate(Bundle savedInstanceBundle) { setTheme(ThemeHelper.getSettingsThemeStyle(this)); - changeAppLanguage(getAppLocale(getApplicationContext()), getResources()); + assureCorrectAppLanguage(this); super.onCreate(savedInstanceBundle); setContentView(R.layout.settings_layout); diff --git a/app/src/main/java/org/schabi/newpipe/util/Localization.java b/app/src/main/java/org/schabi/newpipe/util/Localization.java index d2fbd3a65..6149118cc 100644 --- a/app/src/main/java/org/schabi/newpipe/util/Localization.java +++ b/app/src/main/java/org/schabi/newpipe/util/Localization.java @@ -218,7 +218,7 @@ public class Localization { return getPrettyTime().formatUnrounded(calendarTime); } - public static void changeAppLanguage(Locale loc, Resources res) { + private static void changeAppLanguage(Locale loc, Resources res) { DisplayMetrics dm = res.getDisplayMetrics(); Configuration conf = res.getConfiguration(); conf.setLocale(loc); @@ -227,11 +227,13 @@ public class Localization { public static Locale getAppLocale(Context context) { SharedPreferences prefs = androidx.preference.PreferenceManager.getDefaultSharedPreferences(context); - String lang = prefs.getString("newpipes_language_key", "en"); + String lang = prefs.getString("app_language_key", "en"); Locale loc; if (lang.equals("system")) { loc = Locale.getDefault(); } else if (lang.matches(".*-.*")) { + //to differentiate different versions of the language + //for example, pt (portuguese in Portugal) and pt-br (portuguese in Brazil) String[] localisation = lang.split("-"); lang = localisation[0]; String country = localisation[1]; @@ -241,4 +243,8 @@ public class Localization { } return loc; } + + public static void assureCorrectAppLanguage(Context c) { + changeAppLanguage(getAppLocale(c), c.getResources()); + } } diff --git a/app/src/main/res/values/settings_keys.xml b/app/src/main/res/values/settings_keys.xml index ed3c454b8..1a7d61dae 100644 --- a/app/src/main/res/values/settings_keys.xml +++ b/app/src/main/res/values/settings_keys.xml @@ -176,7 +176,7 @@ enable_playback_resume enable_playback_state_lists - newpipes_language_key + app_language_key enable_lock_screen_video_thumbnail import_data @@ -926,8 +926,8 @@ ZW - - + + system ar az @@ -992,7 +992,7 @@ zh-hans zh-tw - + @string/systems_language العربية Azərbaycan dili diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c5a59abe7..29864963f 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -589,6 +589,6 @@ Use SAF The Storage Access Framework allows downloads to an external SD card.\nNote: some devices are not compatible Choose an instance - NewPipe\'s language - System\'s language + App language + System default diff --git a/app/src/main/res/xml/content_settings.xml b/app/src/main/res/xml/content_settings.xml index ab9896cde..197c14487 100644 --- a/app/src/main/res/xml/content_settings.xml +++ b/app/src/main/res/xml/content_settings.xml @@ -7,11 +7,11 @@ + android:title="@string/app_language_title"/> Date: Tue, 28 Jan 2020 21:11:12 +0000 Subject: [PATCH 52/59] Translated using Weblate (Hungarian) Currently translated at 67.4% (355 of 527 strings) --- app/src/main/res/values-hu/strings.xml | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 4d7ff986e..3587ad136 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -14,9 +14,9 @@ Megosztás ezzel Válasszon böngészőt forgatás - Videófájlok letöltési helye - Útvonal a letöltött videók tárolásához - Adja meg a videófájlok letöltési helyét + Videók letöltési helye + Ide kerülnek a letöltött videók + Válassza ki a videófájlok letöltési helyét Alapértelmezett felbontás Lejátszás Kodi-val A Kore alkalmazás nem található. Telepíted a Kore lejátszót? @@ -29,7 +29,7 @@ Nem támogatott webcím Külső videólejátszó használata Külső hanglejátszó használata - Add meg a hangfájlok letöltési helyét + Válaszd ki a hangfájlok letöltési helyét Tor használata (Kísérleti) Adatforgalom Tor-on keresztüli kényszerítése a biztonság fokozása érdekében (a videó stream-elés még nem támogatott). Lejátszás @@ -44,7 +44,7 @@ Világos Téma Hangfájlok letöltési helye - Letöltött hangfájlok itt találhatók + A letöltött hangfájlok itt találhatóak Tetszik Nem tetszik Előnézeti kép @@ -123,8 +123,7 @@ Mutassa a magasabb felbontásokat Csak néhány eszköz támogatja a 2K/4K videók lejátszását Alapértelmezett videó formátum - Fekete -\n + Fekete Jegyezze meg a felugró ablak helyét és méretét Jegyezze meg a felugró ablak előző helyét és méretét Keresési javaslatok @@ -382,4 +381,8 @@ Figyelmen kívül hagy Lejátszási lista könyvjelzők közé Hasonló videó beadása az utolsó videó után egy nem ismétlődő sorban + Sor + a fájl nem írható felül + Az előre- és visszatekerés időtartama + Videó előnézet megjelenítése a lezárási képernyőn \ No newline at end of file From d686a2c9dc8555c917739ada61ccd4a9f99773ee Mon Sep 17 00:00:00 2001 From: Abu Sarim Hindi Date: Wed, 29 Jan 2020 18:12:14 +0000 Subject: [PATCH 53/59] Translated using Weblate (Urdu) Currently translated at 100.0% (527 of 527 strings) --- app/src/main/res/values-ur/strings.xml | 52 +++++++++++++------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/app/src/main/res/values-ur/strings.xml b/app/src/main/res/values-ur/strings.xml index fe3108a5d..55a0963d2 100644 --- a/app/src/main/res/values-ur/strings.xml +++ b/app/src/main/res/values-ur/strings.xml @@ -89,24 +89,24 @@ مشمولات کا طے شدہ ملک خدمت پلیئر - رویہ + برتاؤ ویڈیو اور آڈیو سرگزشت اور کیشے پوپ اپ - ظاہر + اظہار دیگر ڈِیبَگ پس منظر میں چلائیں - پوپ اپ اسلوب میں چلائیں + پوپ اپ اسلوب میں جاری پس منظر پلیئر میں شامل ہوئی پاپ اپ پلیئر میں شامل ہوئی چلائیں مشمول نازیبا مشمولات - نازیبا ویڈیو دکھائی دے گی۔ ترتیبات سے اس طرح کے مشمولات کی اجازت ممکن ہے۔ + نازیبا ویڈیو دکھائی دے گی۔ ترتیبات سے اس طرح کی مشمولات کی اجازت ممکن ہے۔ براہ راست - ڈاؤن لوڈ - ڈاؤن لوڈ + ڈاؤن لوڈز + ڈاؤن لوڈز خرابی کی اطلاع تمام چینل @@ -130,11 +130,11 @@ سمت بندی بدلیں پس منظر پر جائیں پاپ اپ پر جائیں - مین پر سوئچ کریں - کوائفیہ درآمد کریں - کوائفیہ برآمد کریں - اپنی موجودہ تاریخ اور رکنیت ضد - تاریخ ، خریداری اور پلے لسٹ برآمد کریں + مرکزی صفحہ پر جائیں + ڈیٹا بیس درآمد کریں + ڈیٹا بیس برآمد کریں + اپنی موجودہ سرگزشت اور رکنیت باطل کریں + سرگزشت، رکنیتیں اور پلے لسٹ برآمد کریں خرابی نیٹ ورک کی خرابی تمام نظرِ انگشتی لوڈ نہیں کر سکے @@ -143,10 +143,10 @@ ویب سائٹ کو مکمل طور پر تجزیہ نہیں کرسکے مواد دستیاب نہیں ہے ڈاؤن لوڈ مینو ترتیب نہیں دے سکتے - براہ راست سلسلے ابھی تک تعاون یافتہ نہیں ہیں - کوئی اسٹریم نہیں مل سکی + براہ راست سلسلے ابھی تک معاون نہیں ہیں + کوئی سلسلہ حاصل نہیں کر سکے تصویر کو لوڈ نہیں کر سکتا - ایپ/UI کریش + ایپ/UI تباہ یہ اسٹریم نہیں چل سکا انریکوورابلی پلیئر نقص واقع ہوا پلیر نقص سے بازیافت کر رہا ہے @@ -366,13 +366,13 @@ کیپشن پلیئر کیپشن ٹیکسٹ اسکیل اور بیک گراونڈ اسٹائل میں ترمیم کریں۔ اثر لینے کیلئے ایپ کو دوبارہ شروع کرنا ضروری ہے۔ اس فائل کو چلانے کے لئے کوئی ایپ انسٹال نہیں ہے - دیکھنے کی تاریخ صاف کریں - ادا شدہ اسٹریمز اور پلے بیک پوزیشنوں کی تاریخ کو خارج کریں - دیکھنے کی پوری تاریخ کو حذف کریں؟ - تلاش کی ہسٹری کو مٹا دیں - تلاش کے مطلوبہ الفاظ کی تاریخ کو حذف کریں - پوری تلاش کی تاریخ کو حذف کریں؟ - تلاش کی تاریخ حذف ہوگئی۔ + دیکھنے کی سرگزشت صاف کریں + چلائے گئے سلسلوں اور پلے بیک پوزیشنز کی سرگزشت کو حذف کیا گیا + دیکھے جانے کی تمام سرگزشت حذف کریں؟ + تلاش کی سرگزشت مٹائیں + تلاش کے الفاظ کی سرگزشت حذف کی گئیں + تلاش کی مکمل سرگزشت حذف کریں؟ + تلاش کی سرگزشت حذف ہوئی۔ 1 شے حذف کر دی گئی ۔ نیو پائپ کاپلیفٹ فری سافٹ ویئر ہے: آپ استعمال کرسکتے ہیں ، مطالعہ شیئر کرسکتے ہیں اور اپنی مرضی سے اسے بہتر کرسکتے ہیں۔ خاص طور پر آپ اسے مفت سافٹ ویئر فاؤنڈیشن کے ذریعہ شائع کردہ GNU جنرل پبلک لائسنس کی شرائط کے تحت دوبارہ تقسیم اور / یا ترمیم کرسکتے ہیں ، جو لائسنس کا ورژن 3 ، یا (آپ کے اختیار پر) کسی بھی بعد کا ورژن ہے۔ کیا آپ ترتیبات بھی درآمد کرنا چاہتے ہیں؟ @@ -410,7 +410,7 @@ فائل حذف ہوگئی ایپ کی تازہ کاری کی اطلاع جدید نیو پائپ ورژن کیلئے اطلاعات - بیرونی اسٹوریج دستیاب نہیں + بیرونی ذخیرہ دستیاب نہیں بیرونی ایسڈی کارڈ پر ڈاؤن لوڈ ممکن نہیں۔ ڈاؤن لوڈ فولڈر کے مقام کو دوبارہ ترتیب دیں؟ پہلے سے طے شدہ ٹیبز کا استعمال ، محفوظ ٹیبز کو پڑھنے کے دوران خرابی ڈیفالٹس بحال کریں @@ -475,8 +475,8 @@ فہرست میں مقامات فہرستوں میں پلے بیک مقامات کے اشارے دکھائیں کوائف صاف کریں - دیکھنے کی تاریخ حذف ہوگئی۔ - پلے بیک پوزیشنیں حذف ہوگئیں۔ + دیکھے جانے کی سرگزشت حذف ہوگئی۔ + پلے بیک پوزیشنس حذف ہوئیں۔ فائل منتقل یا حذف ہوگئی اس نام والی فائل پہلے سے موجود ہے اس نام والی ڈاؤن لوڈ کی فائل پہلے سے موجود ہے @@ -499,8 +499,8 @@ اسٹوریج ایکسیس فریم ورک ایک بیرونی SD کارڈ میں ڈاؤن لوڈ کی اجازت دیتا ہے۔ \nنوٹ: کچھ آلات مطابقت نہیں رکھتے ہیں پلے بیک پوزیشن حذف کریں - تمام پلے بیک پوزیشن حذف کریں - تمام پلے بیک پوزیشنوں کو حذف کریں ؟ + تمام پلے بیک پوزیشن حذف کی گئی + تمام پلے بیک پوزیشنس حذف کریں؟ مؤثر بنانے کے لئے ڈاؤن لوڈ فولڈرز کو تبدیل کریں ٹوگل خدمت ، حالیہ منتخب: کوئی نہیں دیکھ رہا ہے From 2977de1df22b879e1e455a0002ed01ca7ea29042 Mon Sep 17 00:00:00 2001 From: Abu Sarim Hindi Date: Wed, 29 Jan 2020 21:50:19 +0000 Subject: [PATCH 54/59] Translated using Weblate (Urdu) Currently translated at 100.0% (527 of 527 strings) --- app/src/main/res/values-ur/strings.xml | 249 +++++++++++++------------ 1 file changed, 125 insertions(+), 124 deletions(-) diff --git a/app/src/main/res/values-ur/strings.xml b/app/src/main/res/values-ur/strings.xml index 55a0963d2..e0149f2d8 100644 --- a/app/src/main/res/values-ur/strings.xml +++ b/app/src/main/res/values-ur/strings.xml @@ -147,39 +147,39 @@ کوئی سلسلہ حاصل نہیں کر سکے تصویر کو لوڈ نہیں کر سکتا ایپ/UI تباہ - یہ اسٹریم نہیں چل سکا - انریکوورابلی پلیئر نقص واقع ہوا - پلیر نقص سے بازیافت کر رہا ہے - بیرونی پلیراس قسم کے لنکس کی حمایت نہیں کرتے + یہ سلسلہ نہیں چل سکا + پلیئر میں نا قابلِ تلافی نقص واقع ہوئی + پلیر نقص سے بازیافت کیا جارہا ہے + بیرونی پلیئر اس قسم کے روابط کی حمایت نہیں کرتے غلط URL - کوئی ویڈیو اسٹریمز نہیں ملے - کوئی آڈیو اسٹریمز نہیں ملے + کوئی ویڈیو سلسلے نہیں ملے + کوئی آڈیو سلسلے نہیں ملے ایسا کوئی فولڈر نہیں - ایسی کوئی فائل / مواد کا ذریعہ نہیں - فائل موجود نہیں ہے اور نہ ہی اسے پڑھنے یا لکھنے کی اجازت ہے + ایسی کوئی فائل/مواد کا ذریعہ نہیں + فائل موجود نہیں ہے یا اسے پڑھنے یا لکھنے کی اجازت کا فقدان ہے فائل کا نام ضروری ہے - ایک خامی پیش آگئی: s$1% - کوئی اسٹریمز ڈاؤن لوڈ کرنے کے لئے دستیاب نہیں - معذرت ، ایسا نہیں ہونا چاہئے تھا۔ + ایک خامی پیش آگئی: %1$s + کوئی سلسلسہ ڈاؤن لوڈ کرنے کے لئے دستیاب نہیں + معذرت، ایسا نہیں ہونا چاہئے تھا۔ ای میل کے ذریعے غلطی کی اطلاع دیں - معذرت ، کچھ خرابی آگئی + معذرت، کچھ خرابی آگئی۔ رپورٹ کریں معلومات: - کوئی مسئلہ ہے - What:\\nRequest:\\nContent Lang:\\nService:\\nGMT Time:\\nPackage:\\nVersion:\\nOS version: + کیا ہوا: + کیا ہوا:\\nدرخواست:\\nمواد کی زبان:\\nخدمات:\\nGMT وقت:\\nپیکیج:\\nورژن:\\nاو ایس ورژن: آپ کا تبصرہ (انگریزی میں): تفصیلات: - ویڈیو پیش نظارہ تھمب نیل - وڈیو کادورانیہ: - اپ لوڈر کا اوتار تھمب نیل - پسند - ناپسند + ویڈیو پیش منظر انگشتی + ویڈیو چلائیں، دورانیہ: + اپ لوڈر کا اوتار نظرِ انگشتی + پسندیدگی + ناپسندیدگی Tor کا استعمال - (تجرباتی) بڑھتی ہوئی رازداری کے لئے ٹور کے ذریعہ ٹریفک کو ڈاؤن لوڈ کرنے پر مجبور کریں (ویڈیوز کو ابھی تک سپورٹ نہیں کیا گیا ہے)۔ + (تجرباتی) بڑھتی ہوئی رازداری کے لئے ٹور کے ذریعہ ٹریفک کو ڈاؤن لوڈ کرنے پر مجبور کریں (سلسلے کی ویڈیوز ابھی تک غیر موافق ہے)۔ غلطی کی اطلاع دیں صارف رپورٹ - کوئی نتیجہ نہیں - یہاں کچھ نہیں مگر اداسی کے + کوئی نتائج نہیں + یہاں کچھ نہیں سوائے میرے دوبارہ ترتیب دینے کیلئے کھینچں ڈاؤن لوڈ ڈائریکٹری \'s$1%\' تشکیل نہیں دے سکتے ڈاؤن لوڈ ڈائریکٹری \'s$1%\' بن گئی @@ -188,7 +188,7 @@ دوبارہ کوشش کریں ذخیرہ رسائی اجازت مسترد ہزار - ایم + دہ لاکھ ارب کوئی صارفین نہیں @@ -215,7 +215,7 @@ تشخیص کریں برخاست کریں نام تبدیل کریں - نیا حدف + نیا مشن ٹھيک ہے فائل کا نام موضوعات @@ -226,52 +226,52 @@ نیو پائپ ڈاؤن لوڈ ہو رہا ہے تفصیلات کے لیے ٹیپ کریں براۓ مہربانی انتظار کريں… - کلپ بورڈ میں کاپی کریں + کلپ بورڈ میں نقل ہوا براہ کرم بعد میں ترتیبات میں ڈاؤن لوڈ فولڈر کی وضاحت رکھیں - پوپ اپ موڈ میں کھولنے کیلئے اس اجازت کی ضرورت ہے + پوپ اپ موڈ میں کھولنے کیلئے/nاس اجازت کی ضرورت ہے reCAPTCHA reCAPTCHA چیلنج reCAPTCHA چیلینج کی درخواست کی گئی ڈاؤن لوڈ - فائل ناموں میں حروف کی اجازت ہے - ناجائز کریکٹر اس قدر کے ساتھ تبدیل کیےگئے ہیں + فائل کے ناموں میں ان حروف کی اجازت ہے + ناجائز کریکٹر اس قدر کے ساتھ تبدیل کیےگئے متبادل کریکٹر - خطوط اور ہندسے - سب سے خاص کردار + حروف اور ہندسے + اہم مخصوص حروف نیو پائپ کے بارے میں ترتیبات کے بارے میں - تیسری پارٹی کے لائسنس + تیسری پارٹی کی لائسنس © %1$s بذریعہ %2$s %3$s کے تحت لائسنس لوڈ نہیں کر سکا ویب سائٹ کھولیں کے بارے میں معاونین لائسنس - لِبرے کی اینڈروئیڈ پر کم وزنی اسٹریمنگ۔ + اینڈروئیڈ پر لِبرے کی ہلکی اسٹریمنگ۔ تعاون کریں - چاہے آپ کے خیالات ہوں؛ ترجمہ ، ڈیزائن میں تبدیلیاں ، کوڈ صاف کرنا ، یا حقیقی ہیوی کوڈ میں تبدیلی — مدد کا ہمیشہ خیرمقدم کیا جاتا ہے۔ جتنا زیادہ ہوتا ہے اتنا ہی بہتر ہوتا ہے! + جو بھی آپ کے خیالات ہوں؛ ترجمہ، ڈیزائن میں تبدیلیاں، کوڈ کی درستی، یا حقیقتاً کوڈ میں بڑی تبدیلی—مدد کا ہمیشہ خیرمقدم ہے۔ جتنا زیادہ ہوگا اتنی ہی بہتری ہو گی! گٹ ہب پر دیکھیں عطیہ - نیا پائپ رضاکاروں کے ذریعہ تیار کیا گیا ہے جو آپ کو بہترین تجربہ فراہم کرنے میں وقت گزارتے ہیں۔ ایک کپ کافی سے لطف اندوز ہوتے ہوئے ڈویلپرز کو نیو پائپ کو اور بہتر بنانے میں مدد دینے کے لئے واپس دیں۔ - واپس دو + نیو پائپ رضاکاروں کے ذریعہ تیار کیا گیا ہے جو آپ کو بہترین تجربہ فراہم کرنے میں وقت صرف کرتے ہیں۔ ایک کپ کافی سے لطف اندوز ہوتے ہوئے ڈویلپرز کو نیو پائپ کو اور بہتر بنانے میں مدد دینے کے لئے بہتر بدلہ دیں۔ + بدلہ دیں ویب سائٹ مزید معلومات اور خبروں کے لئے نیو پائپ ویب سائٹ ملاحظہ کریں۔ نیو پائپ کا لائسنس لائسنس پڑھیں - تاریخ + سرگزشت تلاش کیا گیا - دیکھاھوا - تاریخ آف کردی گئی ہے - تاریخ - تاریخ خالی ہے - تاریخ صاف ہوگئی + دیکھا ہوا + سرگزشت بند کر دی گئی + سرگزشت + سرگزشت خالی ہے + سرگزشت مٹائی گئی آئٹم حذف ہوگیا - کیا آپ اس آئٹم کو تلاش کی تاریخ سے حذف کرنا چاہتے ہیں؟ - کیا آپ اس آئٹم کو دیکھنے کی تاریخ سے حذف کرنا چاہتے ہیں؟ - کیا آپ واقعی تاریخ سے سبھی اشیاء کو حذف کرنا چاہتے ہیں؟ - آخری پلے کیا گیا - سب سے زیادہ دیکھاگیا + کیا آپ اس آئٹم کو تلاش کی سرگزشت سے حذف کرنا چاہتے ہیں؟ + کیا آپ اس آئٹم کو دیکھے جانے کی سرگزشت سے حذف کرنا چاہتے ہیں؟ + کیا آپ واقعی سرگزشت سے سبھی اشیاء کو حذف کرنا چاہتے ہیں؟ + آخری چلائی گئی + سب سے زیادہ چلائی گئی مرکزی صفحہ کا مواد خالی صفحہ رجحان صفحہ @@ -285,11 +285,11 @@ درآمدشدہ درست زپ فائل نہیں ہے انتباہ: تمام فائلوں کو درآمد نہیں کیا جاسکا۔ - یہ آپ کی موجودہ سیٹ اپ کو رد کر دے گا۔ + یہ آپ کی موجودہ سیٹ اپ کو باطل کر دے گا۔ کیوسک رجحان میں - Top 50 - نیا اور تاذہ + اوّل 50 + نیا اور تازہ پس منظر پلیئر پوپ اپ پلیئر ہٹائیں @@ -298,12 +298,12 @@ انقطار کو پکڑو پس منظر میں قطار ایک نئی پوپ اپ میں انقطار - یہاں سےچلاناشروع کریں - پس منظر میں چلاناشروع کریں - نئے پاپ اپ میں چلاناشروع کریں + یہاں چلانا شروع کریں + پس منظر میں چلانا شروع کریں + نئے پاپ اپ میں چلانا شروع کریں دراز کھولیں دراز بند کریں - یہاں جلد ہی کچھ نظر آئے گا D D + یہاں جلد ہی کچھ نظر آئے گا ;D پسندیدہ \'کھلی\' کارروائی مواد کھولنے پر طے شدہ کارروائی — %s ویڈیو پلیئر @@ -317,53 +317,55 @@ نام تبدیل کریں نام پلے لسٹ میں شامل - پلے لسٹ تھمب نیل کے بطور سیٹ کریں - پلے لسٹ کو بُک مارک کریں - بُک مارک کو حدف کریں - اس پلے لسٹ کو حذف کریں؟ + بطور پلے لسٹ انگشتی طے کریں + پلے لسٹ کو نشان زد کریں + نشان زد حدف کریں + کیا یہ پلے لسٹ حذف کریں؟ پلے لسٹ بنائی گئی فہرست میں شامل کر دیا - پلے لسٹ تھمب نیل تبدیل کر دیا گیا۔ - پلے لسٹ کو حذف نہیں کیا جاسکا۔ - کوئی کیپشن نہیں + پلے لسٹ انگشتی تبدیل ہوا۔ + پلے لسٹ حذف نہیں کیا جاسکا۔ + کوئی عنوانات نہیں فٹ بھریں زوم خود بخود تیار - لیک کینری کو قابل بنائیں - میموری لیک ہونے کی نگرانی ہیپ ڈمپنگ کے وقت ایپ کو غیرذمہ دار بننے کا باعث بن سکتی ہے - زندگی سے دور کی غلطیوں کی اطلاع دیں - ضائع ہونے کے بعد ٹکڑے یا سرگرمی زندگی سے دور کے ناقابل تسخیر Rx مستثنیات کی اطلاع دہندگی - درآمد برآمد - درآمد + لیک کیناری کو فعال کریں + میموری لیک ہونے کی مانیٹرنگ، ہیپ ڈمپنگ کے وقت ایپ کو غیرذمہ دار بننے کا باعث بن سکتی ہے + گردشِ حیات سے دوری کی غلطیوں کی اطلاع دیں + فریگمنٹ یا دائرۂ حیات کی سر گرمی کے بعد Rx پیغامات نہ پہنچایا جا سکے تو ضرور کوشش کریں + در آمد/بر آمد + در آمد سے درآمد کریں - کو برآمد کریں - درآمد کیا جا رہا ہے… - برآمد کر رہا ہے… - فائل درآمد کریں - پچھلی برآمد - سبسکرپشنز کو درآمد نہیں کیا جاسکا - رکنیت برآمد نہیں کر سکا + کو بر آمد کریں + در آمد کیا جا رہا ہے… + بر آمد کر رہا ہے… + فائل در آمد کریں + پچھلی بر آمد + رکنیتوں کو در آمد نہیں کیا جا سکا + رکنیتوں بر آمد نہیں کر سکا برآمد فائل کو ڈاؤن لوڈ کرکے YouTube کی رکنیت کو درآمد کریں: \n -\n1. اس یو آر ایل پر جائیں: %1$s +\n1. اس URL پر جائیں: +\n%1$s \n2. جب پوچھا جائے تو لاگ ان کریں -\nA. ڈاؤن لوڈ شروع ہونا چاہئے (یہ برآمد فائل ہے) +\n3. ڈاؤن لوڈ شروع ہونا چاہئے (یہ برآمد فائل ہے) ۔URL یا آپ کی ID ٹائپ کرکے ایک SoundCloud پروفائل درآمد کریں: \n \n1. ویب براؤزر میں \"ڈیسک ٹاپ موڈ\" کو فعال کریں (یہ سائٹ موبائل آلات کے لئے دستیاب نہیں ہے) -\n2. اس URL پر جائیں: %1$s +\n2. اس URL پر جائیں: +\n%1$s \n3. جب پوچھا جائے تو لاگ ان کریں -\n4. پروفائل یو آر ایل کاپی کریں جہاں تک آپ کی رہنمائی کی گئی تھی۔ - yourID، soundcloud.com/yourid - یاد رکھیں کہ یہ آپریشن نیٹ ورک مہنگا ہوسکتا ہے۔ +\n4. پروفائل URL کاپی کریں جہاں تک آپ کی رہنمائی کی گئی تھی۔ + آپ کی آئی ڈی، soundcloud.com/yourid + اس بات کو ذہن میں رکھیں کہ اس عملیہ کا نیٹ ورک مہنگا ہو سکتا ہے۔ \n -\nکیا آپ جاری رکھنا چاہتے ہیں؟ +\nکیا آپ جاری رکھنا چاہتے ہیں ؟ پلے بیک رفتار کنٹرول ٹیمپو - "آواز کو موٹا کرنا" - ختم (مسخ کا سبب بن سکتا ہے) - کیپشن + موٹی آواز + غیر مربوط (مسخ کا سبب بن سکتا ہے) + عنوانات پلیئر کیپشن ٹیکسٹ اسکیل اور بیک گراونڈ اسٹائل میں ترمیم کریں۔ اثر لینے کیلئے ایپ کو دوبارہ شروع کرنا ضروری ہے۔ اس فائل کو چلانے کے لئے کوئی ایپ انسٹال نہیں ہے دیکھنے کی سرگزشت صاف کریں @@ -373,24 +375,23 @@ تلاش کے الفاظ کی سرگزشت حذف کی گئیں تلاش کی مکمل سرگزشت حذف کریں؟ تلاش کی سرگزشت حذف ہوئی۔ - 1 شے حذف کر دی گئی ۔ - نیو پائپ کاپلیفٹ فری سافٹ ویئر ہے: آپ استعمال کرسکتے ہیں ، مطالعہ شیئر کرسکتے ہیں اور اپنی مرضی سے اسے بہتر کرسکتے ہیں۔ خاص طور پر آپ اسے مفت سافٹ ویئر فاؤنڈیشن کے ذریعہ شائع کردہ GNU جنرل پبلک لائسنس کی شرائط کے تحت دوبارہ تقسیم اور / یا ترمیم کرسکتے ہیں ، جو لائسنس کا ورژن 3 ، یا (آپ کے اختیار پر) کسی بھی بعد کا ورژن ہے۔ + 1 شے حذف کر دی گئی۔ + نیو پائپ کاپلیفٹ فری سافٹ ویئر ہے: آپ استعمال کرسکتے ہیں، مطالعہ شیئر کرسکتے ہیں اور اپنی مرضی سے اسے بہتر کرسکتے ہیں۔ خاص طور پر آپ اسے مفت سافٹ ویئر فاؤنڈیشن کے ذریعہ شائع کردہ GNU جنرل پبلک لائسنس کی شرائط کے تحت دوبارہ تقسیم اور / یا ترمیم کرسکتے ہیں، خواہ لائسنس کا ورژن 3، یا (آپ کے اختیار پر) کسی بھی بعد کا ورژن۔ کیا آپ ترتیبات بھی درآمد کرنا چاہتے ہیں؟ نیو پائپ کی رازداری کی پالیسی - نیوپی پائپ منصوبہ آپ کی رازداری کو بہت سنجیدگی سے لیتا ہے. لہذا ، اپلی کیشن آپ کی رضامندی کے بغیر کسی بھی ڈیٹا کو جمع نہیں کرتا. -\nنیو پائپ کی رازداری کی پالیسی تفصیل سے وضاحت کرتی ہے کہ آپ کو کریش رپورٹ بھیجنے پر کیا ڈیٹا بھیجا جاتا ہے اور ذخیرہ کیا جاتا ہے ۔ + نیو پائپ منصوبہ آپ کی رازداری کو بہت سنجیدگی سے لیتا ہے. لہذا، ایپلی کیشن آپ کی رضامندی کے بغیر کسی بھی ڈیٹا کو جمع نہیں کرتا./nنیو پائپ کی رازداری پالیسی تفصیل سے وضاحت کرتی ہے کہ آپ کے کریش رپورٹ بھیجنے پر کیا ڈیٹا بھیجا جاتا ہے اور ذخیرہ کیا جاتا ہے ۔ رازداری کی پالیسی پڑھیں - یورپی جنرل ڈیٹا پروٹیکشن ریگولیشن (جی ڈی پی آر) کی تعمیل کرنے کیلئے ، ہم آپ کی توجہ نیو پائپ کی رازداری کی پالیسی کی طرف مبذول کراتے ہیں۔ برائے مہربانی اسے غور سے پڑھیں۔ -\nہمیں بگ رپورٹ بھیجنے کے ل it آپ کو اسے قبول کرنا چاہئے۔ - قبول کریں + یورپی جنرل ڈیٹا پروٹیکشن ریگولیشن (جی ڈی پی آر) کی تعمیل کرنے کیلئے، ہم آپ کی توجہ نیو پائپ کی رازداری کی پالیسی کی طرف مبذول کراتے ہیں۔ برائے مہربانی اسے غور سے پڑھیں۔ +\nہمیں بگ رپورٹ بھیجنے کے لیے آپ کو اسے قبول کرنا ضروری ہے۔ + قبول رد - کوئی حد نہیں - موبائل ڈیٹا کا استعمال کرتے وقت ریذولوشن کو محدود کریں - ایپ سوئچ کو کم سے کم کریں - اہم ویڈیو پلیئر سے دوسرے ایپ میں سوئچنگ کرتے وقت کارروائی — %s + لا محدود + موبائل ڈیٹا کا استعمال کرتے وقت ریزولوشن کو محدود کریں + ایپ بدلنے پر چھوٹا کریں + اصل ویڈیو پلیئر سے دوسرے ایپ میں تبدیل ہوتے وقت کارروائی — %s کوئی نہیں - پس منظری پلیر میں کم کریں - پاپ اپ پلیر میں کم کریں + پس منظر پلیئر میں کم کریں + پاپ اپ پلیئر میں کم کریں خاموشی کے دوران فاسٹ فارورڈ قدم ری سیٹ کریں @@ -412,28 +413,28 @@ جدید نیو پائپ ورژن کیلئے اطلاعات بیرونی ذخیرہ دستیاب نہیں بیرونی ایسڈی کارڈ پر ڈاؤن لوڈ ممکن نہیں۔ ڈاؤن لوڈ فولڈر کے مقام کو دوبارہ ترتیب دیں؟ - پہلے سے طے شدہ ٹیبز کا استعمال ، محفوظ ٹیبز کو پڑھنے کے دوران خرابی - ڈیفالٹس بحال کریں - کیا آپ ڈیفالٹس کو بحال کرنا چاہتے ہیں؟ + پہلے سے طے شدہ ٹیبز کا استعمال، محفوظ ٹیبز کو پڑھنے کے دوران خرابی + طے شدہ بحال کریں + کیا آپ پہلے سے طے شدہ کو بحال کرنا چاہتے ہیں؟ صارفین کا شمار دستیاب نہیں - مرکزی صفحہ پر کون کون سے ٹیبزدکھائے جاہیں + مرکزی صفحہ پر کون کون سے ٹیبز دکھائے جاہیں انتخاب - تازہ ترین - جب نیا ورژن دستیاب ہوتا ہے تو فوری طور پر ایپ اپڈیٹ کے لئے ایک اطلاع دکھائیں - فہرست منظردیکھیں + تازہ کاری + نیا ورژن دستیاب ہونے پر ایپ کی تازہ کاری کے لیے اجازتی اطلاع دکھائیں + فہرست نما اسلوب فہرست گرڈ خودکار - منظر سوئچ کریں - نیو پائپ اپ ڈیٹ دستیاب! + منظر بدلیں + نیو پائپ کی تازہ کاری دستیاب! ڈاؤن لوڈ کرنے کے لئے کلک کریں ختم ملتوی - موقوف - قطار میں کھڑا ہے - پوسٹ پروسیسنگ + توقف + قطار میں + بعد کا عمل جاری قطار - سسٹم نےکارروائی سے انکار کیا گیا + سسٹم کے ذریعہ کارروائی سے انکار کیا گیا ڈاؤن لوڈ ناکام ڈاؤن لوڈ مکمل %s ڈاؤن لوڈ مکمل ہوا @@ -442,22 +443,22 @@ اس نام کے ساتھ ایک ڈاؤن لوڈ جاری ہے غلطی دکھائیں کوڈ - مقصود پوشہ نہیں بنایا جا سکتا + مطلوبہ فولڈر نہیں بنایا جا سکتا فائل نہیں بنائی جاسکتی ہے - نظام نے اجازت نہیں دی + سسٹم نے اجازت نہیں دی محفوظ کنکشن ناکام سرور نہیں مل سکا - سرور سے متصل نہیں ہوسکتا + سرور سے متصل نہیں ہو سکتا سرور ڈیٹا نہیں بھیجتا ہے - سرور ملٹی تھریڈڈ ڈاؤن لوڈز کو قبول نہیں کرتا ہے ، @ سٹرنگ / msg_threads = 1 کے ساتھ دوبارہ کوشش کریں + سرور ملٹی تھریڈڈ ڈاؤن لوڈز کو قبول نہیں کرتا ہے، @string/msg_threads = 1 کے ساتھ دوبارہ کوشش کریں نہیں ملا - پوسٹ پروسیسنگ ناکام + بعد کا عمل نا کام ختم شدہ ڈاؤن لوڈ صاف کریں - رکو - زیادہ سے زیادہ دوبارہ کوشش کریں + روکیں + زیادہ سے زیادہ کوششیں ڈاؤن لوڈ منسوخ کرنے سے پہلے کوششوں کی زیادہ سے زیادہ تعداد - میٹرڈ نیٹ ورک پر مداخلت - موبائل ڈیٹا پر سوئچنگ کرتے وقت مفید ہے ، اگرچہ کچھ ڈاؤن لوڈ معطل نہیں ہوسکتی ہیں + میٹر والی نیٹ ورک پر مداخلت + موبائل ڈیٹا پر بدلتے وقت مفید ہے، اگرچہ کچھ ڈاؤن لوڈ معطل نہیں ہوسکتی ہیں تقریبات کانفرنسیں تبصرے دکھائیں @@ -479,20 +480,20 @@ پلے بیک پوزیشنس حذف ہوئیں۔ فائل منتقل یا حذف ہوگئی اس نام والی فائل پہلے سے موجود ہے - اس نام والی ڈاؤن لوڈ کی فائل پہلے سے موجود ہے + اس نام کی ڈاؤن لوڈ کی گئی فائل پہلے سے موجود ہے فائل برتحریر نہیں کر سکتا اس نام کے ساتھ ڈاؤن لوڈ زیر التوا ہے فائل پر کام کرنے کے دوران نیو پائپ بند کردی گئی تھی - آلے میں کوئی جگہ نہیں بچی - پیشرفت ختم ہوگئی ، کیونکہ فائل کو حذف کردیا گیا تھا + آلہ میں کوئی جگہ نہیں بچی + پیشرفت ختم ہوگئی، کیونکہ فائل کو حذف کردیا گیا تھا رابطے کا وقت ختم کیا آپ اپنی ڈاؤن لوڈ کی سرگزشت کو صاف کرنا چاہتے ہیں یا ڈاؤن لوڈ کی گئی تمام فائلوں کو حذف کرنا چاہتے ہیں؟ ڈاؤن لوڈ کی قطار کو محدود کریں ایک ڈاؤن لوڈ ایک ہی وقت میں چلے گا ڈاؤن لوڈ شروع کریں ڈاؤن لوڈ روکیں - کہاں پرڈاؤن لوڈ کریں - آپ سے پوچھا جائے گا کہ ہر ڈاؤن لوڈ کو کہاں محفوظ کرنا ہے + ڈاؤن لوڈ کہاں کریں، پوچھیں + ہر ڈاؤن لوڈ کو کہاں محفوظ کرنا ہے آپ سے پوچھا جائے گا آپ سے پوچھا جائے گا کہ ہر ڈاؤن لوڈ کو کہاں محفوظ کرنا ہے۔ \nاگر آپ کسی بیرونی SD کارڈ پر ڈاؤن لوڈ کرنا چاہتے ہیں تو SAF کا انتخاب کریں SAF استعمال کریں @@ -502,7 +503,7 @@ تمام پلے بیک پوزیشن حذف کی گئی تمام پلے بیک پوزیشنس حذف کریں؟ مؤثر بنانے کے لئے ڈاؤن لوڈ فولڈرز کو تبدیل کریں - ٹوگل خدمت ، حالیہ منتخب: + ٹوگل خدمت، حالیہ منتخب: کوئی نہیں دیکھ رہا ہے %s دیکھ رہا From 089a9f1a9c650a814692fb926820376d61b21708 Mon Sep 17 00:00:00 2001 From: nautilusx Date: Fri, 31 Jan 2020 15:37:13 +0000 Subject: [PATCH 55/59] Translated using Weblate (German) Currently translated at 100.0% (527 of 527 strings) --- app/src/main/res/values-de/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 9a2482814..1fab90386 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -484,7 +484,7 @@ Wiedergabeposition gelöscht. Datei verschoben oder gelöscht Eine heruntergeladene Datei mit diesem Namen existiert bereits - kann die Datei nicht überschreiben + Datei kann nicht überschreiben werden Es gibt einen ausstehenden Download mit diesem Namen NewPipe wurde während der Verarbeitung der Datei geschlossen Kein Speicherplatz mehr auf dem Gerät @@ -506,7 +506,7 @@ Alle Wiedergabepositionen löschen\? Ändere die Downloadordner, damit sie wirksam werden Dienst umschalten, aktuell ausgewählt: - Quiosque Predefinido + Standard-Kiosk Niemand schaut zu %s Zuschauer From 6be23a0a6fd7ea3ced7efed21c5b8e4b8321a7ec Mon Sep 17 00:00:00 2001 From: bopol Date: Fri, 31 Jan 2020 22:49:43 +0100 Subject: [PATCH 56/59] fix wrong language shown many popup dialogs Changed android.R.string.ok, which is "OK", into R.string.finish, which is also OK, but from our strings Then for a small amount of languages that don't have Android translation, it will show the good string. --- .../newpipe/about/LicenseFragmentHelper.java | 15 +++++++----- .../newpipe/download/DownloadDialog.java | 24 +++++++++++-------- .../ImportConfirmationDialog.java | 5 +++- .../settings/ContentSettingsFragment.java | 12 ++++++---- .../settings/DownloadSettingsFragment.java | 10 +++++--- .../giga/ui/adapter/MissionAdapter.java | 2 +- 6 files changed, 43 insertions(+), 25 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/about/LicenseFragmentHelper.java b/app/src/main/java/org/schabi/newpipe/about/LicenseFragmentHelper.java index eeafc1f57..9a11b19cc 100644 --- a/app/src/main/java/org/schabi/newpipe/about/LicenseFragmentHelper.java +++ b/app/src/main/java/org/schabi/newpipe/about/LicenseFragmentHelper.java @@ -3,6 +3,7 @@ package org.schabi.newpipe.about; import android.app.Activity; import android.content.Context; import android.content.DialogInterface; +import android.content.res.Resources; import android.os.AsyncTask; import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; @@ -14,6 +15,8 @@ import java.io.BufferedReader; import java.io.InputStreamReader; import java.lang.ref.WeakReference; +import static org.schabi.newpipe.util.Localization.assureCorrectAppLanguage; + public class LicenseFragmentHelper extends AsyncTask { final WeakReference weakReference; @@ -55,15 +58,15 @@ public class LicenseFragmentHelper extends AsyncTask { wv.loadData(webViewData, "text/html; charset=UTF-8", null); alert.setView(wv); - alert.setNegativeButton(android.R.string.ok, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - } - }); + assureCorrectAppLanguage(activity.getApplicationContext()); + alert.setNegativeButton(getFinishString(activity), (dialog, which) -> dialog.dismiss()); alert.show(); } + private static String getFinishString(Activity activity) { + return activity.getApplicationContext().getResources().getString(R.string.finish); + } + /** * @param context the context to use * @param license the license diff --git a/app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java b/app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java index 44966744b..c78e68597 100644 --- a/app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java +++ b/app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java @@ -11,15 +11,6 @@ import android.os.Bundle; import android.os.Environment; import android.os.IBinder; import android.preference.PreferenceManager; -import androidx.annotation.IdRes; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.annotation.StringRes; -import androidx.fragment.app.DialogFragment; -import androidx.documentfile.provider.DocumentFile; -import androidx.appcompat.app.AlertDialog; -import androidx.appcompat.view.menu.ActionMenuItemView; -import androidx.appcompat.widget.Toolbar; import android.util.Log; import android.util.SparseArray; import android.view.LayoutInflater; @@ -34,6 +25,16 @@ import android.widget.Spinner; import android.widget.TextView; import android.widget.Toast; +import androidx.annotation.IdRes; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.annotation.StringRes; +import androidx.appcompat.app.AlertDialog; +import androidx.appcompat.view.menu.ActionMenuItemView; +import androidx.appcompat.widget.Toolbar; +import androidx.documentfile.provider.DocumentFile; +import androidx.fragment.app.DialogFragment; + import com.nononsenseapps.filepicker.Utils; import org.schabi.newpipe.MainActivity; @@ -78,6 +79,8 @@ import us.shandian.giga.service.DownloadManagerService; import us.shandian.giga.service.DownloadManagerService.DownloadManagerBinder; import us.shandian.giga.service.MissionState; +import static org.schabi.newpipe.util.Localization.assureCorrectAppLanguage; + public class DownloadDialog extends DialogFragment implements RadioGroup.OnCheckedChangeListener, AdapterView.OnItemSelectedListener { private static final String TAG = "DialogFragment"; private static final boolean DEBUG = MainActivity.DEBUG; @@ -527,10 +530,11 @@ public class DownloadDialog extends DialogFragment implements RadioGroup.OnCheck } private void showFailedDialog(@StringRes int msg) { + assureCorrectAppLanguage(getContext()); new AlertDialog.Builder(context) .setTitle(R.string.general_error) .setMessage(msg) - .setNegativeButton(android.R.string.ok, null) + .setNegativeButton(getString(R.string.finish), null) .create() .show(); } diff --git a/app/src/main/java/org/schabi/newpipe/local/subscription/ImportConfirmationDialog.java b/app/src/main/java/org/schabi/newpipe/local/subscription/ImportConfirmationDialog.java index fbcf5d70e..a44efa1d3 100644 --- a/app/src/main/java/org/schabi/newpipe/local/subscription/ImportConfirmationDialog.java +++ b/app/src/main/java/org/schabi/newpipe/local/subscription/ImportConfirmationDialog.java @@ -15,6 +15,8 @@ import org.schabi.newpipe.util.ThemeHelper; import icepick.Icepick; import icepick.State; +import static org.schabi.newpipe.util.Localization.assureCorrectAppLanguage; + public class ImportConfirmationDialog extends DialogFragment { @State protected Intent resultServiceIntent; @@ -34,11 +36,12 @@ public class ImportConfirmationDialog extends DialogFragment { @NonNull @Override public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { + assureCorrectAppLanguage(getContext()); return new AlertDialog.Builder(getContext(), ThemeHelper.getDialogTheme(getContext())) .setMessage(R.string.import_network_expensive_warning) .setCancelable(true) .setNegativeButton(R.string.cancel, null) - .setPositiveButton(android.R.string.ok, (dialogInterface, i) -> { + .setPositiveButton(R.string.finish, (dialogInterface, i) -> { if (resultServiceIntent != null && getContext() != null) { getContext().startService(resultServiceIntent); } diff --git a/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsFragment.java b/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsFragment.java index 88c700582..dc6ccb0a0 100644 --- a/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsFragment.java +++ b/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsFragment.java @@ -7,11 +7,12 @@ import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.preference.PreferenceManager; +import android.util.Log; +import android.widget.Toast; + import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.preference.Preference; -import android.util.Log; -import android.widget.Toast; import com.nononsenseapps.filepicker.Utils; import com.nostra13.universalimageloader.core.ImageLoader; @@ -40,6 +41,8 @@ import java.util.Map; import java.util.zip.ZipFile; import java.util.zip.ZipOutputStream; +import static org.schabi.newpipe.util.Localization.assureCorrectAppLanguage; + public class ContentSettingsFragment extends BasePreferenceFragment { private static final int REQUEST_IMPORT_PATH = 8945; @@ -139,6 +142,7 @@ public class ContentSettingsFragment extends BasePreferenceFragment { @Override public void onActivityResult(int requestCode, int resultCode, @NonNull Intent data) { + assureCorrectAppLanguage(getContext()); super.onActivityResult(requestCode, resultCode, data); if (DEBUG) { Log.d(TAG, "onActivityResult() called with: requestCode = [" + requestCode + "], resultCode = [" + resultCode + "], data = [" + data + "]"); @@ -153,7 +157,7 @@ public class ContentSettingsFragment extends BasePreferenceFragment { } else { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); builder.setMessage(R.string.override_current_data) - .setPositiveButton(android.R.string.ok, + .setPositiveButton(getString(R.string.finish), (DialogInterface d, int id) -> importDatabase(path)) .setNegativeButton(android.R.string.cancel, (DialogInterface d, int id) -> d.cancel()); @@ -248,7 +252,7 @@ public class ContentSettingsFragment extends BasePreferenceFragment { // restart app to properly load db System.exit(0); }); - alert.setPositiveButton(android.R.string.yes, (dialog, which) -> { + alert.setPositiveButton(getString(R.string.finish), (dialog, which) -> { dialog.dismiss(); loadSharedPreferences(newpipe_settings); // restart app to properly load db diff --git a/app/src/main/java/org/schabi/newpipe/settings/DownloadSettingsFragment.java b/app/src/main/java/org/schabi/newpipe/settings/DownloadSettingsFragment.java index 8becc79a8..b8ce0ec18 100644 --- a/app/src/main/java/org/schabi/newpipe/settings/DownloadSettingsFragment.java +++ b/app/src/main/java/org/schabi/newpipe/settings/DownloadSettingsFragment.java @@ -8,11 +8,12 @@ import android.content.Intent; import android.net.Uri; import android.os.Build; import android.os.Bundle; +import android.util.Log; +import android.widget.Toast; + import androidx.annotation.Nullable; import androidx.annotation.StringRes; import androidx.preference.Preference; -import android.util.Log; -import android.widget.Toast; import com.nononsenseapps.filepicker.Utils; @@ -28,6 +29,8 @@ import java.nio.charset.StandardCharsets; import us.shandian.giga.io.StoredDirectoryHelper; +import static org.schabi.newpipe.util.Localization.assureCorrectAppLanguage; + public class DownloadSettingsFragment extends BasePreferenceFragment { private static final int REQUEST_DOWNLOAD_VIDEO_PATH = 0x1235; private static final int REQUEST_DOWNLOAD_AUDIO_PATH = 0x1236; @@ -159,7 +162,7 @@ public class DownloadSettingsFragment extends BasePreferenceFragment { AlertDialog.Builder msg = new AlertDialog.Builder(ctx); msg.setTitle(title); msg.setMessage(message); - msg.setPositiveButton(android.R.string.ok, null); + msg.setPositiveButton(getString(R.string.finish), null); msg.show(); } @@ -202,6 +205,7 @@ public class DownloadSettingsFragment extends BasePreferenceFragment { @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { + assureCorrectAppLanguage(getContext()); super.onActivityResult(requestCode, resultCode, data); if (DEBUG) { Log.d(TAG, "onActivityResult() called with: requestCode = [" + requestCode + "], " + diff --git a/app/src/main/java/us/shandian/giga/ui/adapter/MissionAdapter.java b/app/src/main/java/us/shandian/giga/ui/adapter/MissionAdapter.java index aaf7826ef..852c29835 100644 --- a/app/src/main/java/us/shandian/giga/ui/adapter/MissionAdapter.java +++ b/app/src/main/java/us/shandian/giga/ui/adapter/MissionAdapter.java @@ -534,7 +534,7 @@ public class MissionAdapter extends Adapter implements Handler.Callb ); } - builder.setNegativeButton(android.R.string.ok, (dialog, which) -> dialog.cancel()) + builder.setNegativeButton(R.string.finish, (dialog, which) -> dialog.cancel()) .setTitle(mission.storage.getName()) .create() .show(); From f7203d4ac9666c1eee10374210c2f92ec50a2eba Mon Sep 17 00:00:00 2001 From: TobiGr Date: Sat, 1 Feb 2020 13:41:03 +0100 Subject: [PATCH 57/59] Fix formatting and use lamda functions --- .../settings/VideoAudioSettingsFragment.java | 35 +++++++------------ 1 file changed, 13 insertions(+), 22 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java b/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java index 6d32fb39f..7bb931309 100644 --- a/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java +++ b/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java @@ -21,38 +21,29 @@ public class VideoAudioSettingsFragment extends BasePreferenceFragment { public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); - listener = new SharedPreferences.OnSharedPreferenceChangeListener() { - @Override - public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String s) { + listener = (sharedPreferences, s) -> { - //on M and above, if user chooses to minimise to popup player on exit and the app doesn't have - //display over other apps permission, show a snackbar to let the user give permission - if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && - s.equals(getString(R.string.minimize_on_exit_key))){ + // on M and above, if user chooses to minimise to popup player on exit and the app doesn't have + // display over other apps permission, show a snackbar to let the user give permission + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && + s.equals(getString(R.string.minimize_on_exit_key))) { - String newSetting = sharedPreferences.getString(s,null); - if(newSetting != null - && newSetting.equals(getString(R.string.minimize_on_exit_popup_key)) - && !Settings.canDrawOverlays(getContext())){ + String newSetting = sharedPreferences.getString(s, null); + if (newSetting != null + && newSetting.equals(getString(R.string.minimize_on_exit_popup_key)) + && !Settings.canDrawOverlays(getContext())) { - Snackbar.make(getListView(),R.string.permission_display_over_apps,Snackbar.LENGTH_INDEFINITE) - .setAction(R.string.settings, new View.OnClickListener() { - @Override - public void onClick(View view) { - PermissionHelper.checkSystemAlertWindowPermission(getContext()); - } - }) - .show(); + Snackbar.make(getListView(), R.string.permission_display_over_apps, Snackbar.LENGTH_INDEFINITE) + .setAction(R.string.settings, + view -> PermissionHelper.checkSystemAlertWindowPermission(getContext())) + .show(); - } } } - }; } - @Override public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { addPreferencesFromResource(R.xml.video_audio_settings); From 55a138e8da10ffb7b9a18b9ee602c20f2ef4b307 Mon Sep 17 00:00:00 2001 From: bopol Date: Sat, 1 Feb 2020 15:30:51 +0100 Subject: [PATCH 58/59] fix toast on app language change I forgot to change the key here when I renamed it --- .../org/schabi/newpipe/settings/ContentSettingsFragment.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsFragment.java b/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsFragment.java index dc6ccb0a0..5abdd6806 100644 --- a/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsFragment.java +++ b/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsFragment.java @@ -68,7 +68,7 @@ public class ContentSettingsFragment extends BasePreferenceFragment { initialSelectedLocalization = org.schabi.newpipe.util.Localization.getPreferredLocalization(requireContext()); initialSelectedContentCountry = org.schabi.newpipe.util.Localization.getPreferredContentCountry(requireContext()); - initialLanguage = androidx.preference.PreferenceManager.getDefaultSharedPreferences(getContext()).getString("newpipes_language_key", "en"); + initialLanguage = PreferenceManager.getDefaultSharedPreferences(getContext()).getString("app_language_key", "en"); } @Override @@ -130,7 +130,7 @@ public class ContentSettingsFragment extends BasePreferenceFragment { .getPreferredLocalization(requireContext()); final ContentCountry selectedContentCountry = org.schabi.newpipe.util.Localization .getPreferredContentCountry(requireContext()); - final String selectedLanguage = androidx.preference.PreferenceManager.getDefaultSharedPreferences(getContext()).getString("newpipes_language_key", "en"); + final String selectedLanguage = PreferenceManager.getDefaultSharedPreferences(getContext()).getString("app_language_key", "en"); if (!selectedLocalization.equals(initialSelectedLocalization) || !selectedContentCountry.equals(initialSelectedContentCountry) || !selectedLanguage.equals(initialLanguage)) { From d36ac7a5dee1c460e5bf06dd291f292830e77dd4 Mon Sep 17 00:00:00 2001 From: TobiGr Date: Sat, 1 Feb 2020 15:35:33 +0100 Subject: [PATCH 59/59] Improve formatting --- .../schabi/newpipe/settings/ContentSettingsFragment.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsFragment.java b/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsFragment.java index 5abdd6806..03d48ca5b 100644 --- a/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsFragment.java +++ b/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsFragment.java @@ -196,7 +196,7 @@ public class ContentSettingsFragment extends BasePreferenceFragment { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); - }finally { + } finally { try { if (output != null) { output.flush(); @@ -243,7 +243,7 @@ public class ContentSettingsFragment extends BasePreferenceFragment { } //If settings file exist, ask if it should be imported. - if(ZipHelper.extractFileFromZip(filePath, newpipe_settings.getPath(), "newpipe.settings")) { + if (ZipHelper.extractFileFromZip(filePath, newpipe_settings.getPath(), "newpipe.settings")) { AlertDialog.Builder alert = new AlertDialog.Builder(getContext()); alert.setTitle(R.string.import_settings); @@ -298,7 +298,7 @@ public class ContentSettingsFragment extends BasePreferenceFragment { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); - }finally { + } finally { try { if (input != null) { input.close();