summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorByteHamster <info@bytehamster.com>2022-02-19 13:46:12 +0100
committerByteHamster <info@bytehamster.com>2022-02-19 13:46:12 +0100
commitacb384b128c00580878b55aeb8dfdede7e3dc0cc (patch)
tree9e1b9b774fcc0ac90bb24cc4ca6eda95d1943f02
parent6273dff85f4b9bba233ddf5d30ea36b617b09334 (diff)
parentf4c90885d7e60089bfd94f10b09895a477f33187 (diff)
downloadantennapod-acb384b128c00580878b55aeb8dfdede7e3dc0cc.zip
Merge branch 'master' into develop
-rw-r--r--app/build.gradle4
-rw-r--r--app/src/main/java/de/danoeh/antennapod/dialog/ProxyDialog.java42
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/preferences/UserPreferences.java13
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/download/AntennapodHttpClient.java2
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadService.java19
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/download/ProxyConfig.java12
-rw-r--r--core/src/main/res/values-da/strings.xml14
-rw-r--r--core/src/main/res/values-es/strings.xml2
-rw-r--r--core/src/main/res/values-fi/strings.xml163
-rw-r--r--core/src/main/res/values-fr/strings.xml16
-rw-r--r--core/src/main/res/values-lt/strings.xml19
-rw-r--r--core/src/main/res/values-nl/strings.xml42
-rw-r--r--core/src/main/res/values-pt/strings.xml42
-rw-r--r--core/src/main/res/values-ro/strings.xml43
-rw-r--r--core/src/main/res/values-ru/strings.xml44
-rw-r--r--core/src/main/res/values-sv/strings.xml52
-rw-r--r--parser/feed/src/main/java/de/danoeh/antennapod/parser/feed/namespace/Rss20.java2
-rw-r--r--parser/media/src/main/java/de/danoeh/antennapod/parser/media/vorbis/VorbisCommentReader.java11
18 files changed, 449 insertions, 93 deletions
diff --git a/app/build.gradle b/app/build.gradle
index 0257347fc..7b324e878 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -11,8 +11,8 @@ android {
// Version code schema:
// "1.2.3-beta4" -> 1020304
// "1.2.3" -> 1020395
- versionCode 2050001
- versionName "2.5.0-beta1"
+ versionCode 2050003
+ versionName "2.5.0-beta3"
def commit = ""
try {
diff --git a/app/src/main/java/de/danoeh/antennapod/dialog/ProxyDialog.java b/app/src/main/java/de/danoeh/antennapod/dialog/ProxyDialog.java
index ad2ed3499..2c3c44b1d 100644
--- a/app/src/main/java/de/danoeh/antennapod/dialog/ProxyDialog.java
+++ b/app/src/main/java/de/danoeh/antennapod/dialog/ProxyDialog.java
@@ -148,32 +148,24 @@ public class ProxyDialog {
}
private void setProxyConfig() {
- String type = (String) spType.getSelectedItem();
- ProxyConfig proxy;
- if (Proxy.Type.valueOf(type) == Proxy.Type.DIRECT) {
- proxy = ProxyConfig.direct();
- } else {
- String host = etHost.getText().toString();
- String port = etPort.getText().toString();
- String username = etUsername.getText().toString();
- if (TextUtils.isEmpty(username)) {
- username = null;
- }
- String password = etPassword.getText().toString();
- if (TextUtils.isEmpty(password)) {
- password = null;
- }
- int portValue = 0;
- if (!TextUtils.isEmpty(port)) {
- portValue = Integer.parseInt(port);
- }
- if (Proxy.Type.valueOf(type) == Proxy.Type.SOCKS) {
- proxy = ProxyConfig.socks(host, portValue, username, password);
- } else {
- proxy = ProxyConfig.http(host, portValue, username, password);
- }
+ final String type = (String) spType.getSelectedItem();
+ final Proxy.Type typeEnum = Proxy.Type.valueOf(type);
+ final String host = etHost.getText().toString();
+ final String port = etPort.getText().toString();
+
+ String username = etUsername.getText().toString();
+ if (TextUtils.isEmpty(username)) {
+ username = null;
+ }
+ String password = etPassword.getText().toString();
+ if (TextUtils.isEmpty(password)) {
+ password = null;
+ }
+ int portValue = 0;
+ if (!TextUtils.isEmpty(port)) {
+ portValue = Integer.parseInt(port);
}
- UserPreferences.setProxyConfig(proxy);
+ UserPreferences.setProxyConfig(new ProxyConfig(typeEnum, host, portValue, username, password));
}
private final TextWatcher requireTestOnChange = new TextWatcher() {
diff --git a/core/src/main/java/de/danoeh/antennapod/core/preferences/UserPreferences.java b/core/src/main/java/de/danoeh/antennapod/core/preferences/UserPreferences.java
index 08daf01e2..74f89a039 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/preferences/UserPreferences.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/preferences/UserPreferences.java
@@ -611,27 +611,22 @@ public class UserPreferences {
public static void setProxyConfig(ProxyConfig config) {
SharedPreferences.Editor editor = prefs.edit();
editor.putString(PREF_PROXY_TYPE, config.type.name());
- Proxy.Type type = Proxy.Type.valueOf(config.type.name());
- if (type == Proxy.Type.DIRECT) {
- editor.apply();
- return;
- }
- if(TextUtils.isEmpty(config.host)) {
+ if (TextUtils.isEmpty(config.host)) {
editor.remove(PREF_PROXY_HOST);
} else {
editor.putString(PREF_PROXY_HOST, config.host);
}
- if(config.port <= 0 || config.port > 65535) {
+ if (config.port <= 0 || config.port > 65535) {
editor.remove(PREF_PROXY_PORT);
} else {
editor.putInt(PREF_PROXY_PORT, config.port);
}
- if(TextUtils.isEmpty(config.username)) {
+ if (TextUtils.isEmpty(config.username)) {
editor.remove(PREF_PROXY_USER);
} else {
editor.putString(PREF_PROXY_USER, config.username);
}
- if(TextUtils.isEmpty(config.password)) {
+ if (TextUtils.isEmpty(config.password)) {
editor.remove(PREF_PROXY_PASSWORD);
} else {
editor.putString(PREF_PROXY_PASSWORD, config.password);
diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/download/AntennapodHttpClient.java b/core/src/main/java/de/danoeh/antennapod/core/service/download/AntennapodHttpClient.java
index bca3792b0..b26c57963 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/service/download/AntennapodHttpClient.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/service/download/AntennapodHttpClient.java
@@ -118,7 +118,7 @@ public class AntennapodHttpClient {
builder.followSslRedirects(true);
ProxyConfig config = UserPreferences.getProxyConfig();
- if (config.type != Proxy.Type.DIRECT) {
+ if (config.type != Proxy.Type.DIRECT && !TextUtils.isEmpty(config.host)) {
int port = config.port > 0 ? config.port : ProxyConfig.DEFAULT_PORT;
SocketAddress address = InetSocketAddress.createUnresolved(config.host, port);
builder.proxy(new Proxy(config.type, address));
diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadService.java b/core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadService.java
index 982800b1c..1973c626b 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadService.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadService.java
@@ -7,7 +7,6 @@ import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
-import android.os.Binder;
import android.os.Build;
import android.os.IBinder;
import android.text.TextUtils;
@@ -88,18 +87,11 @@ public class DownloadService extends Service {
private ScheduledFuture<?> downloadPostFuture;
private final ScheduledThreadPoolExecutor notificationUpdateExecutor;
private static DownloaderFactory downloaderFactory = new DefaultDownloaderFactory();
- private final IBinder binder = new LocalBinder();
private ConnectionStateMonitor connectionMonitor;
- private class LocalBinder extends Binder {
- public DownloadService getService() {
- return DownloadService.this;
- }
- }
-
@Override
public IBinder onBind(Intent intent) {
- return binder;
+ return null;
}
public DownloadService() {
@@ -264,9 +256,9 @@ public class DownloadService extends Service {
EventBus.getDefault().postSticky(DownloadEvent.refresh(Collections.emptyList()));
cancelNotificationUpdater();
- downloadHandleExecutor.shutdown();
- downloadEnqueueExecutor.shutdown();
- notificationUpdateExecutor.shutdown();
+ downloadEnqueueExecutor.shutdownNow();
+ downloadHandleExecutor.shutdownNow();
+ notificationUpdateExecutor.shutdownNow();
if (downloadPostFuture != null) {
downloadPostFuture.cancel(true);
}
@@ -401,6 +393,9 @@ public class DownloadService extends Service {
@Override
public void onReceive(Context context, Intent intent) {
Log.d(TAG, "cancelDownloadReceiver: " + intent.getAction());
+ if (!isRunning) {
+ return;
+ }
if (TextUtils.equals(intent.getAction(), ACTION_CANCEL_DOWNLOAD)) {
String url = intent.getStringExtra(EXTRA_DOWNLOAD_URL);
if (url == null) {
diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/download/ProxyConfig.java b/core/src/main/java/de/danoeh/antennapod/core/service/download/ProxyConfig.java
index 0d59a1b7e..797001e3a 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/service/download/ProxyConfig.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/service/download/ProxyConfig.java
@@ -14,18 +14,6 @@ public class ProxyConfig {
public static final int DEFAULT_PORT = 8080;
- public static ProxyConfig direct() {
- return new ProxyConfig(Proxy.Type.DIRECT, null, 0, null, null);
- }
-
- public static ProxyConfig http(String host, int port, String username, String password) {
- return new ProxyConfig(Proxy.Type.HTTP, host, port, username, password);
- }
-
- public static ProxyConfig socks(String host, int port, String username, String password) {
- return new ProxyConfig(Proxy.Type.SOCKS, host, port, username, password);
- }
-
public ProxyConfig(Proxy.Type type, String host, int port, String username, String password) {
this.type = type;
this.host = host;
diff --git a/core/src/main/res/values-da/strings.xml b/core/src/main/res/values-da/strings.xml
index 42c7410e3..a6fec5b82 100644
--- a/core/src/main/res/values-da/strings.xml
+++ b/core/src/main/res/values-da/strings.xml
@@ -128,7 +128,7 @@
<string name="episode_notification">Notifikationer om afsnit</string>
<string name="episode_notification_summary">Vis en notifikation når der er nye afsnit</string>
<plurals name="new_episode_notification_message">
- <item quantity="one">%2$s har en ny udsendelse</item>
+ <item quantity="one">%2$s har et nyt afsnit</item>
<item quantity="other">%2$s har %1$d nye afsnit</item>
</plurals>
<plurals name="new_episode_notification_title">
@@ -177,7 +177,7 @@
<!--actions on feeditems-->
<string name="download_label">Hent</string>
<plurals name="downloading_batch_label">
- <item quantity="one">Henter %d udsendelse.</item>
+ <item quantity="one">Henter %d afsnit.</item>
<item quantity="other">Henter %d afsnit.</item>
</plurals>
<string name="play_label">Afspil</string>
@@ -198,24 +198,24 @@
<string name="mark_read_no_media_label">Marker som læst</string>
<string name="play_this_to_seek_position">For at springe til positioner, er du nødt til at afspille afsnittet</string>
<plurals name="marked_read_batch_label">
- <item quantity="one">%d udsendelse markeret som afspillet.</item>
+ <item quantity="one">%d afsnit markeret som afspillet.</item>
<item quantity="other">%d afsnit markeret som afspillet.</item>
</plurals>
<string name="mark_unread_label">Marker som uafspillet</string>
<string name="mark_unread_label_no_media">Marker som ulæst</string>
<plurals name="marked_unread_batch_label">
- <item quantity="one">%d udsendelse markeret som uafspillet.</item>
+ <item quantity="one">%d afsnit markeret som uafspillet.</item>
<item quantity="other">%d afsnit markeret som uafspillede.</item>
</plurals>
<string name="add_to_queue_label">Føj til kø</string>
<string name="added_to_queue_label">Føjet til kø</string>
<plurals name="added_to_queue_batch_label">
- <item quantity="one">%d udsendelse føjet til køen.</item>
+ <item quantity="one">%d afsnit føjet til køen.</item>
<item quantity="other">%d afsnit føjet til køen.</item>
</plurals>
<string name="remove_from_queue_label">Fjern fra kø</string>
<plurals name="removed_from_queue_batch_label">
- <item quantity="one">%d udsendelse fjernet fra køen.</item>
+ <item quantity="one">%d afsnit fjernet fra køen.</item>
<item quantity="other">%d afsnit fjernet fra køen.</item>
</plurals>
<string name="add_to_favorite_label">Føj til favoritter</string>
@@ -505,7 +505,7 @@
<string name="back_button_go_to_page_title">Vælg side</string>
<string name="pref_delete_removes_from_queue_title">Slet fjernet fra kø</string>
<string name="pref_delete_removes_from_queue_sum">Fjern automatisk afsnit fra køen, når det slettes.</string>
- <string name="pref_filter_feed_title">Abonnement filter</string>
+ <string name="pref_filter_feed_title">Abonnementsfilter</string>
<string name="pref_filter_feed_sum">Filtrer dine abonnementer i navigationspanelet og på abonnementsoversigten.</string>
<string name="subscriptions_are_filtered">Abonnementer er filtreret.</string>
<string name="subscriptions_counter_greater_zero">Tæller større end 0</string>
diff --git a/core/src/main/res/values-es/strings.xml b/core/src/main/res/values-es/strings.xml
index 9d3c23025..922154cb5 100644
--- a/core/src/main/res/values-es/strings.xml
+++ b/core/src/main/res/values-es/strings.xml
@@ -171,6 +171,8 @@
<item quantity="one">%d suscripción actualizada.</item>
<item quantity="other">%d suscripciones actualizadas.</item>
</plurals>
+ <string name="edit_tags">Editar etiquetas</string>
+ <string name="rename_tag_label">Renombrar etiqueta</string>
<!--actions on feeditems-->
<string name="download_label">Descargar</string>
<plurals name="downloading_batch_label">
diff --git a/core/src/main/res/values-fi/strings.xml b/core/src/main/res/values-fi/strings.xml
index bb8a1bcc7..28d17bfdc 100644
--- a/core/src/main/res/values-fi/strings.xml
+++ b/core/src/main/res/values-fi/strings.xml
@@ -39,6 +39,7 @@
<string name="total_time_listened_to_podcasts">Jaksojen toistoaika yhteensä:</string>
<string name="statistics_mode">Tilastointitila</string>
<string name="statistics_mode_normal">Laske oikeasti soitettu aikamäärä. Uudelleensoitto lasketaan kahdesti, mutta soitetuksi merkattua ei lasketa.</string>
+ <string name="statistics_mode_count_all">Laske yhteen kaikki soitetuksi merkityt jaksot</string>
<string name="statistics_speed_not_counted">Huomio: Soittonopeutta ei lasketa mukaan.</string>
<string name="statistics_reset_data">Nollaa tilastotiedot</string>
<string name="statistics_reset_data_msg">Tämä poistaa kaikkien jaksojen soiton keston historian. Haluatko varmasti jatkaa?</string>
@@ -170,6 +171,9 @@
<item quantity="one">%d tilaus päivitetty.</item>
<item quantity="other">%d tilausta päivitetty.</item>
</plurals>
+ <string name="edit_tags">Muokkaa tunnisteita</string>
+ <string name="rename_tag_label">Nimeä tunniste uudelleen</string>
+ <string name="confirm_mobile_feed_refresh_dialog_message">Jaksojen lataaminen mobiilidatayhteydellä on poistettu käytöstä asetuksista.\n\nHaluatko silti päivittää kaikki podcastit mobiilidatan kautta?</string>
<!--actions on feeditems-->
<string name="download_label">Lataa</string>
<plurals name="downloading_batch_label">
@@ -182,6 +186,10 @@
<string name="delete_label">Poista</string>
<string name="delete_failed">Ei voida poistaa tiedostoa. Laitteen uudelleenkäynnistys saattaa auttaa.</string>
<string name="delete_episode_label">Poista jakso</string>
+ <plurals name="deleted_multi_episode_batch_label">
+ <item quantity="one">1 ladattu jakso poistettu.</item>
+ <item quantity="other">%d ladattua jaksoa poistettu.</item>
+ </plurals>
<string name="remove_new_flag_label">Poista \"uusi\"-lippu</string>
<string name="removed_new_flag_label">Poistettiin \"uusi\"-lippu</string>
<string name="mark_read_label">Merkitse soitetuksi</string>
@@ -239,6 +247,8 @@
<string name="download_error_forbidden">Podcastin palvelin ei vastaa.</string>
<string name="download_canceled_msg">Lataus peruutettu</string>
<string name="download_error_wrong_size">Palvelinyhteys katkesi ennen latauksen valmistumista</string>
+ <string name="download_error_blocked">Toinen laitteesi sovellus (kuten VPN tai mainosten esto) esti latauksen.</string>
+ <string name="download_error_certificate">Suojattua yhteyttä ei voi muodostaa. Tämä voi tarkoittaa, että jokin muu laitteesi sovellus (kuten VPN tai mainosten esto) esti latauksen tai että palvelimen varmenteissa on jotain vialla.</string>
<string name="download_report_title">Lataukset valmistuivat virhe(id)en kanssa</string>
<string name="auto_download_report_title">Automaattiset lataukset valmistuivat</string>
<string name="download_error_io_error">IO virhe</string>
@@ -248,11 +258,13 @@
<item quantity="one">%d lataus jäljellä</item>
<item quantity="other">%d latausta jäljellä</item>
</plurals>
+ <string name="completing">Viimeistellään...</string>
<string name="download_notification_title">Ladataan podcastin tietoja</string>
<string name="download_log_title_unknown">Tuntematon otsikko</string>
<string name="download_type_feed">Syöte</string>
<string name="download_type_media">Mediatiedosto</string>
<string name="null_value_podcast_error">Ei voida näyttää olematonta podcastia</string>
+ <string name="no_feed_url_podcast_found_by_search">Ehdotetulla podcastilla ei ollut RSS-linkkiä, AntennaPod löysi mahdollisesti vastaavan podcastin</string>
<string name="authentication_notification_title">Todentaminen vaaditaan</string>
<string name="authentication_notification_msg">Pyytämäsi resurssi vaatii käyttäjätunnuksen ja salasanan</string>
<string name="confirm_mobile_download_dialog_title">Varmista mobiililataus</string>
@@ -296,6 +308,8 @@
<string name="clear_queue_confirmation_msg">Vahvista, että haluat tyhjentää jonon KAIKISTA jaksoista</string>
<string name="time_left_label">Aikaa jäljellä:\u0020</string>
<!--Variable Speed-->
+ <string name="speed_presets">Esiasetukset</string>
+ <string name="preset_already_exists">%1$.2fx on jo tallennettu esiasetuksena.</string>
<!--Empty list labels-->
<string name="no_items_header_label">Ei jaksoja jonossa</string>
<string name="no_items_label">Lisää jakso lataamalla se, tai painamalla sitä pitkään ja valitsemalla \"Lisää jonoon\".</string>
@@ -319,6 +333,7 @@
<string name="storage_sum">Jakson automaattinen poisto, tuonti, vienti</string>
<string name="project_pref">Projekti</string>
<string name="synchronization_pref">Synkronointi</string>
+ <string name="synchronization_sum">Synkronoi muiden laitteiden kanssa</string>
<string name="automation">Automaatio</string>
<string name="download_pref_details">Tietoja</string>
<string name="import_export_pref">Tuo/Vie</string>
@@ -333,9 +348,18 @@
<string name="preference_search_clear_history">Tyhjennä historia</string>
<string name="media_player">Mediasoitin</string>
<string name="pref_episode_cleanup_title">Jakson siivous</string>
+ <string name="pref_episode_cleanup_summary">Jaksot, jotka voidaan poistaa, jos automaattinen lataus tarvitsee tilaa uusille jaksoille</string>
<string name="pref_pauseOnDisconnect_sum">Pysäytä soitto kun kuulokkeet tai bluetooth katkaistaan</string>
<string name="pref_unpauseOnHeadsetReconnect_sum">Jatka soittoa kun kuulokkeet yhdistetään uudestaan</string>
<string name="pref_unpauseOnBluetoothReconnect_sum">Jatka soittoa kun bluetooth yhdistyy uudestaan</string>
+ <string name="pref_hardware_forward_button_title">Eteenpäin-painike</string>
+ <string name="pref_hardware_forward_button_summary">Mukauta eteenpäin-painikkeen toimintaa</string>
+ <string name="pref_hardware_previous_button_title">Edellinen-painike</string>
+ <string name="pref_hardware_previous_button_summary">Mukauta edellinen-painikkeen toimintaa</string>
+ <string name="button_action_fast_forward">Pikakelaus</string>
+ <string name="button_action_rewind">Taaksepäin kelaus</string>
+ <string name="button_action_skip_episode">Ohita jakso</string>
+ <string name="button_action_restart_episode">Aloita jakso alusta</string>
<string name="pref_followQueue_sum">Hyppää seuraavaan jonossa kun soitto valmistuu</string>
<string name="pref_auto_delete_sum">Poista jakso toiston loputtua</string>
<string name="pref_auto_delete_title">Automaattinen poisto</string>
@@ -350,7 +374,11 @@
<string name="network_pref">Verkko</string>
<string name="network_pref_sum">Päivitysaikaväli, latauksen ohjaimet, mobiilidata</string>
<string name="feed_refresh_title">Päivitä podcastit</string>
+ <string name="feed_refresh_sum">Määritä aikaväli tai tietty aika etsiä uusia jaksoja automaattisesti</string>
+ <string name="feed_refresh_interval">Aikaväli</string>
+ <string name="feed_refresh_time">Aika</string>
<string name="feed_refresh_never">Ei koskaan</string>
+ <string name="feed_refresh_interval_at">aikaan %1$s</string>
<plurals name="feed_refresh_every_x_hours">
<item quantity="one">Tunnin välein</item>
<item quantity="other">%d tunnin välein</item>
@@ -373,10 +401,10 @@
<string name="pref_set_theme_title">Valitse teema</string>
<string name="pref_nav_drawer_items_title">Aseta navigointihyllyn asiat</string>
<string name="pref_nav_drawer_items_sum">Vaihda navigointihyllyssä esiintyviä asioita.</string>
- <string name="pref_nav_drawer_feed_order_title">Aseta tilauksien järjestys</string>
+ <string name="pref_nav_drawer_feed_order_title">Aseta tilausten järjestys</string>
<string name="pref_nav_drawer_feed_order_sum">Vaihda tilauksiesi järjestystä</string>
<string name="pref_nav_drawer_feed_counter_title">Aseta tilauslaskuri</string>
- <string name="pref_nav_drawer_feed_counter_sum">Vaihda tilauslaskurin näyttämiä tietoja. Tämä vaikuttaa myös tilauksien järjestykseen, jos \"Tilausjärjestys\" on \"Laskuri\".</string>
+ <string name="pref_nav_drawer_feed_counter_sum">Vaihda tilauslaskurin näyttämiä tietoja. Tämä vaikuttaa myös tilausten järjestykseen, jos \"Tilausjärjestys\" on \"Laskuri\".</string>
<string name="pref_set_theme_sum">Muuta AntennaPodin ulkonäköä</string>
<string name="pref_automatic_download_title">Automaattinen lataus</string>
<string name="pref_automatic_download_sum">Aseta jaksojen automaattinen lataus</string>
@@ -388,15 +416,34 @@
<string name="pref_episode_cache_title">Jaksojen välimuisti</string>
<string name="pref_episode_cache_summary">Ladattuja jaksoja yhteensä välimuistissa tällä laitteella. Automaattinen lataaminen pysäytetään, jos tämä raja ylittyy.</string>
<string name="pref_episode_cover_title">Käytä jakson kansikuvaa</string>
+ <string name="pref_episode_cover_summary">Käytä jaksokohtaista kansikuvaa luetteloissa aina, kun se on saatavilla. Jos tätä ei ole valittu, sovellus käyttää aina podcastin kansikuvaa.</string>
<string name="pref_show_remain_time_title">Näytä jäljellä oleva aika</string>
+ <string name="pref_show_remain_time_summary">Näytä jaksojen jäljellä oleva aika, kun tämä on valittuna. Jos tätä ei ole valittu, näytä jaksojen kokonaiskesto.</string>
<string name="pref_theme_title_use_system">Käytä järjestelmän teemaa</string>
<string name="pref_theme_title_light">Vaalea</string>
<string name="pref_theme_title_dark">Tumma</string>
<string name="pref_theme_title_trueblack">Musta (AMOLED valmis)</string>
<string name="pref_episode_cache_unlimited">Ei rajoitettu</string>
+ <string name="synchronization_logout">Kirjaudu ulos</string>
+ <string name="pref_synchronization_logout_toast">Uloskirjautuminen onnistui</string>
<string name="pref_gpodnet_setlogin_information_title">Vaihda kirjautumistietoja</string>
<string name="pref_gpodnet_setlogin_information_sum">Vaihda kirjautumistietoja gpodder.net tiliisi.</string>
+ <string name="synchronization_sync_changes_title">Synkronoi nyt</string>
+ <string name="synchronization_full_sync_title">Pakota täysi synkronointi</string>
+ <string name="synchronization_login_status"><![CDATA[Kirjauduttu sisään <i>%1$s</i> kohteessa <i>%2$s</i>. <br/><br/>Voit valita synkronointipalveluntarjoajan uudelleen kirjauduttuasi ulos]]></string>
+ <string name="synchronization_summary_unchoosen">Voit valita useista palveluntarjoajista, joiden kanssa voit synkronoida tilauksesi ja jaksojen toistotilan</string>
+ <string name="synchronization_summary_nextcloud">Gpoddersync on avoimen lähdekoodin Nextcloud-sovellus, jonka voit helposti asentaa omalle palvelimellesi. Sovellus on riippumaton AntennaPod-projektista.</string>
+ <string name="synchronization_nextcloud_authenticate_browser">Myönnä käyttöoikeus avatun verkkoselaimen avulla ja palaa AntennaPodiin.</string>
+ <string name="synchronization_choose_title">Valitse synkronointipalveluntarjoaja</string>
+ <string name="synchronization_force_sync_summary">Uudelleensynkronoi kaikki tilaukset ja jaksojen tilat</string>
+ <string name="synchronization_sync_summary">Synkronoi tilausten ja jaksojen tilojen muutokset</string>
+ <string name="dialog_choose_sync_service_title">Valitse synkronointipalveluntarjoaja</string>
+ <string name="pref_playback_speed_sum">Mukauta muuttuvanopeuksisen toiston käytettävissä olevia nopeuksia </string>
<string name="pref_feed_playback_speed_sum">Tämän podcastin jaksoja soittamaan aloitettaessa käytettävä nopeus</string>
+ <string name="pref_feed_skip">Automaattinen ohitus</string>
+ <string name="pref_feed_skip_sum">Ohita esittelyt ja loppukiitokset.</string>
+ <string name="pref_feed_skip_ending">Ohita lopusta</string>
+ <string name="pref_feed_skip_intro">Ohita alusta</string>
<string name="pref_feed_skip_ending_toast">Ohitettiin viimeiset %d sekuntia</string>
<string name="pref_feed_skip_intro_toast">Ohitettiin ensimmäiset %d sekuntia</string>
<string name="pref_playback_time_respects_speed_title">Mukauta mediatietoja soiton nopeuteen</string>
@@ -404,17 +451,27 @@
<string name="pref_fast_forward">Seuraava skippaa aikaa</string>
<string name="pref_fast_forward_sum">Kustomoi sekunnit jonka verran skipataaan kun painat Seuraava nappia.</string>
<string name="pref_rewind">Edellinen skippaa aikaa</string>
- <string name="pref_rewind_sum">kustomoi sekunnit jonka verran hypätään takaisin kun painat Edellinen nappia.</string>
+ <string name="pref_rewind_sum">Mukauta sekunnit jonka verran hypätään takaisin kun painat taakse kelaus -painiketta.</string>
<string name="pref_expandNotify_title">Korkea ilmoitusprioriteetti</string>
<string name="pref_expandNotify_sum">Tämä laajentaa ilmoituksen näyttämään soittonapit</string>
<string name="pref_persistNotify_title">Pysyvät soittokontrollit</string>
<string name="pref_persistNotify_sum">Säilytä ilmoitus- ja lukitusnäytön kontrollit kun soitto on pysäytetty.</string>
+ <string name="pref_compact_notification_buttons_title">Aseta kompaktit ilmoituspainikkeet</string>
+ <string name="pref_compact_notification_buttons_sum">Muuta toistopainikkeita, kun ilmoitus on tiivistetty. Toisto/tauko-painike on aina mukana.</string>
<string name="pref_compact_notification_buttons_dialog_title">Valitse maksimi %1$d asioita</string>
<string name="pref_compact_notification_buttons_dialog_error">Voit valita vain maksimissaan %1$d asioita.</string>
<string name="pref_lockscreen_background_title">Aseta lukitusruudun taustakuva</string>
<string name="pref_lockscreen_background_sum">Aseta lukitusruudun taustakuva nykyisen jakson kuvaan. Tämä kuva näkyy kolmannen osapuolen sovelluksissa.</string>
+ <string name="pref_enqueue_location_title">Jonoon lisäyksen paikka</string>
+ <string name="pref_enqueue_location_sum">Lisää jaksot kohteeseen%1$s: </string>
+ <string name="enqueue_location_back">Perään</string>
+ <string name="enqueue_location_front">Eteen</string>
+ <string name="enqueue_location_after_current">Nykyisen jakson jälkeen</string>
<string name="pref_smart_mark_as_played_disabled">Poissa käytöstä</string>
+ <string name="documentation_support">Dokumentaatio ja tuki</string>
<string name="visit_user_forum">Käyttäjäfoorumi</string>
+ <string name="bug_report_title">Ilmoita virheestä</string>
+ <string name="open_bug_tracker">Avaa virheseuranta</string>
<string name="copy_to_clipboard">Kopioi leikepöydälle</string>
<string name="copied_to_clipboard">Kopioitiin leikepöydälle</string>
<string name="experimental_pref">Kokeellinen</string>
@@ -425,6 +482,8 @@
<string name="pref_no_browser_found">Selainta ei löydetty</string>
<string name="pref_enqueue_downloaded_title">Lisää ladatut jonoon</string>
<string name="pref_enqueue_downloaded_summary">Lisää ladatut jaksot jonoon</string>
+ <string name="media_player_builtin">Androidin sisäänrakennettu soitin (vanhentunut)</string>
+ <string name="media_player_sonic">Sonic Media Player (vanhentunut)</string>
<string name="media_player_exoplayer_recommended">ExoPlayer (suositeltu)</string>
<string name="media_player_switch_to_exoplayer">Vaihda ExoPlayeriin</string>
<string name="media_player_switched_to_exoplayer">Vaihdettu ExoPlayeriin.</string>
@@ -434,26 +493,43 @@
<string name="stop_playback">Lopeta soitto</string>
<string name="continue_playback">Jatka audion soittoa</string>
<string name="behavior">Toiminta</string>
- <string name="pref_back_button_behavior_title">Takaisin napin toiminta</string>
- <string name="pref_back_button_behavior_sum">Vaihda Takaisin napin toiminta</string>
+ <string name="pref_back_button_behavior_title">Takaisin-painikkeen toiminta</string>
+ <string name="pref_back_button_behavior_sum">Mukauta takaisin-painikkeen toiminta.</string>
<string name="back_button_default">Oletus</string>
<string name="back_button_open_drawer">Avaa navigaatiohylly</string>
<string name="back_button_double_tap">Tuplanaputa sulkemiseen</string>
<string name="back_button_show_prompt">Varmista poistuminen</string>
<string name="close_prompt">Haluatko varmasti sulkea AntennaPodin?</string>
- <string name="double_tap_toast">Napauta Takaisin nappia sulkemiseen</string>
+ <string name="double_tap_toast">Napauta takaisin-painiketta sulkeaksesi</string>
<string name="back_button_go_to_page">Mene sivulle...</string>
<string name="back_button_go_to_page_title">Valitse sivu</string>
<string name="pref_delete_removes_from_queue_title">Deletointi poistaa jonosta</string>
<string name="pref_delete_removes_from_queue_sum">Poista jakso automaattisesti jonosta kun se deletoidaan.</string>
<string name="pref_filter_feed_title">Tilaussuodin</string>
+ <string name="pref_filter_feed_sum">Suodata navigointihyllyn ja tilausnäkymän tilauksiasi.</string>
+ <string name="subscriptions_are_filtered">Tilauksia on suodatettu.</string>
+ <string name="subscriptions_counter_greater_zero">Laskurin arvo suurempi kuin nolla</string>
+ <string name="auto_downloaded">Automaattisesti ladattu</string>
+ <string name="not_auto_downloaded">Ei ladattu automaattisesti</string>
+ <string name="kept_updated">Päivitettynä pidetyt</string>
+ <string name="not_kept_updated">Päivitettynä pitämättömät</string>
+ <string name="new_episode_notification_enabled">Ilmoitus käytössä</string>
+ <string name="new_episode_notification_disabled">Ilmoitus pois käytöstä</string>
+ <string name="pref_feed_settings_dialog_msg">Tämä asetus on podcast-kohtainen. Voit muuttaa sitä avaamalla podcastin-sivun.</string>
+ <string name="pref_contribute">Osallistu</string>
+ <string name="pref_show_subscription_title">Näytä tilauksen nimi</string>
+ <string name="pref_show_subscription_title_summary">Näytä tilauksen nimi kansikuvan alapuolella</string>
<!--About screen-->
<string name="about_pref">Tietoja</string>
<string name="antennapod_version">AntennaPod versio</string>
+ <string name="contributors">Osallistujat</string>
<string name="contributors_summary">Kuka tahansa voi auttaa tekemään AntennaPodista paremman - koodilla, käännöksillä, tai avustamalla käyttäjiä foorumilla</string>
<string name="developers">Kehittäjät</string>
<string name="translators">Kääntäjät</string>
<string name="special_thanks">Erityiskiitokset</string>
+ <string name="privacy_policy">Tietosuojakäytäntö</string>
+ <string name="licenses">Lisenssit</string>
+ <string name="licenses_summary">AntennaPod käyttää muita hienoja ohjelmistoja</string>
<!--Search-->
<string name="search_status_no_results">Ei löydetty tuloksia</string>
<string name="type_to_search">Kirjoita hakulause etsiäksesi</string>
@@ -461,7 +537,11 @@
<string name="no_results_for_query">Ei löydetty tuloksia \"%1$s\"</string>
<!--Synchronization-->
<string name="sync_status_started">Synkronointi aloitettu</string>
+ <string name="sync_status_episodes_upload">Ladataan jaksomuutokset palvelimelle...</string>
+ <string name="sync_status_episodes_download">Ladataan jaksomuutokset palvelimelta...</string>
+ <string name="sync_status_upload_played">Ladataan toistojen tilat palvelimelle...</string>
<string name="sync_status_subscriptions">Synkronoidaan tilauksia...</string>
+ <string name="sync_status_wait_for_downloads">Odotetaan latausten valmistumista...</string>
<string name="sync_status_success">Synkronointi onnistui</string>
<string name="sync_status_error">Synkronointi epäonnistui</string>
<!--import and export-->
@@ -469,7 +549,13 @@
<string name="database">Tietokanta</string>
<string name="opml">OPML</string>
<string name="html">HTML</string>
+ <string name="html_export_summary">Näytä tilauksesi ystävälle</string>
+ <string name="opml_export_summary">Siirrä tilauksesi toiseen podcast-sovellukseen</string>
+ <string name="opml_import_summary">Tuo tilauksesi toisesta podcast-sovelluksesta</string>
+ <string name="database_export_summary">Siirrä tilaukset, kuunnellut jaksot ja jono toisella laitteella olevaan AntennaPodiin</string>
+ <string name="database_import_summary">Tuo AntennaPod-tietokanta toiselta laitteelta</string>
<string name="opml_import_label">OPML tuonti</string>
+ <string name="opml_add_podcast_label">Tuo podcastien lista (OPML)</string>
<string name="opml_reader_error">Virhe lukiessa OPML dokumenttia:</string>
<string name="opml_import_error_no_file">Ei tiedostoa valittuna!</string>
<string name="select_all_label">Valitse kaikki</string>
@@ -478,6 +564,8 @@
<string name="html_export_label">HTML vienti</string>
<string name="database_export_label">Tietokannan vienti</string>
<string name="database_import_label">Tietokannan tuonti</string>
+ <string name="database_import_warning">Tietokannan tuonti korvaa kaikki nykyiset tilauksesi ja toistohistoriasi. Vie nykyinen tietokanta halutessasi varmuuskopioksi ennen jatkamista. Haluatko korvata?</string>
+ <string name="please_wait">Ole hyvä ja odota...</string>
<string name="export_error_label">Vientivirhe</string>
<string name="export_success_title">Vienti onnistunut</string>
<string name="export_success_sum">Viety tiedosto on kirjoitettu:\n\n%1$s</string>
@@ -486,12 +574,15 @@
<string name="import_ok">Valitse OK käynnistääksesi AntennaPodin uudelleen</string>
<string name="import_no_downgrade">Tämä tietokanta on viety AntennaPodin uudemmalla versiolla. Tämänhetkinen versiosi ei vielä osaa käsitellä sitä.</string>
<string name="favorites_export_label">Suosikkien vienti</string>
+ <string name="favorites_export_summary">Vie tallennetut suosikit tiedostoon</string>
<!--Sleep timer-->
<string name="set_sleeptimer_label">Aseta uniajastin</string>
<string name="disable_sleeptimer_label">Lopeta uniajastin</string>
<string name="extend_sleep_timer_label">+%d min</string>
<string name="sleep_timer_label">Uniajastin</string>
<string name="time_dialog_invalid_input">Väärä syöte. Ajan tulee olla numero</string>
+ <string name="shake_to_reset_label">Ravista nollataksesi</string>
+ <string name="timer_vibration_label">Värise ennen loppua</string>
<string name="time_seconds">sekuntia</string>
<string name="time_minutes">minuuttia</string>
<string name="time_hours">tuntia</string>
@@ -514,14 +605,19 @@
<string name="gpodnet_toplist_header">TOP PODCASTIT</string>
<string name="gpodnet_search_hint">Etsi gpodder.net</string>
<string name="gpodnetauth_login_butLabel">Sisäänkirjautuminen</string>
+ <string name="gpodnetauth_encryption_warning">Salasanaa ja tietoja ei salata!</string>
<string name="create_account">Luo tili</string>
<string name="username_label">Käyttäjätunnus</string>
<string name="password_label">Salasana</string>
+ <string name="gpodnet_description">Gpodder.net on avoimen lähdekoodin podcast-synkronointipalvelu, joka on riippumaton AntennaPod-projektista.</string>
<string name="gpodnetauth_server_official">Virallinen gpodder.net-palvelin</string>
<string name="gpodnetauth_server_custom">Mukautettu palvelin</string>
+ <string name="gpodnetauth_host">Isäntänimi</string>
<string name="gpodnetauth_select_server">Valitse palvelin</string>
<string name="gpodnetauth_device_name">Laitteen nimi</string>
+ <string name="gpodnetauth_device_name_default">AntennaPod laitteella %1$s</string>
<string name="gpodnetauth_existing_devices">Olemassaolevat laitteet</string>
+ <string name="gpodnetauth_create_device">Luo laite</string>
<string name="gpodnetauth_finish_descr">Onneksi olkoon! Sinun gpodder.net tili on liitetty laitteeseesi. AntennaPod alkaa automaattisesti synkronoimaan gpodder.net tiliisi.</string>
<string name="gpodnetauth_finish_butsyncnow">Aloita synkrointi nyt</string>
<string name="gpodnetsync_error_title">gpodder.net synkrointivirhe</string>
@@ -539,30 +635,49 @@
<string name="pref_resumeAfterCall_title">Jatka puhelinsoiton jälkeen</string>
<!--Online feed view-->
<string name="subscribe_label">Tilaa</string>
+ <string name="subscribing_label">Tilataan...</string>
+ <string name="preview_episode">Näyte</string>
+ <string name="stop_preview">Pysäytä näyte</string>
<!--Content descriptions for image buttons-->
+ <string name="toolbar_back_button_content_description">Takaisin</string>
<string name="rewind_label">Kelaa takaisin</string>
<string name="fast_forward_label">Hyppää eteen</string>
+ <string name="increase_speed">Nopeuta</string>
+ <string name="decrease_speed">Hidasta</string>
<string name="media_type_video_label">Video</string>
<string name="status_downloading_label">Jaksoa ladataan</string>
<string name="in_queue_label">Jakso on jonossa</string>
+ <string name="is_favorite_label">Jakso on merkitty suosikiksi</string>
<string name="load_next_page_label">Lataa seuraava sivu</string>
+ <string name="position">Kohta: %1$s</string>
+ <string name="apply_action">Käytä toiminto</string>
<string name="play_chapter">Soita kappale</string>
<string name="prev_chapter">Edellinen kappale</string>
<string name="next_chapter">Seuraava kappale</string>
<!--Feed settings/information screen-->
<string name="authentication_label">Autentikaatio</string>
<string name="authentication_descr">Vaihda käyttäjätunnus ja salasana tälle podcastille ja sen jaksoille.</string>
+ <string name="feed_tags_label">Tunnisteet</string>
+ <string name="feed_tags_summary">Muokkaa tämän podcastin tunnisteita tilaustesi järjestelemisen avuksi.</string>
<string name="feed_folders_include_root">Näytä pääluettelossa</string>
+ <string name="multi_feed_common_tags_info">{fa-info-circle} Vain kaikissa valituissa tilauksissa esiintyvät tunnisteet näytetään. Muita tunnisteita ei muuteta.</string>
<string name="auto_download_settings_label">Automaattisen latauksen asetukset</string>
- <string name="episode_filters_label">Jakson filtterit</string>
+ <string name="episode_filters_label">Jaksosuodin</string>
<string name="episode_filters_description">Lista termeistä joilla valitaan jakso automaattiseen lataukseen</string>
<string name="episode_filters_include">Sisällytä</string>
<string name="episode_filters_exclude">Poista</string>
+ <string name="episode_filters_duration">Vähimmäiskesto (minuuttia)</string>
<string name="episode_filters_hint">Yksittäiset sanat \n\"Monta sanaa\"</string>
<string name="keep_updated">Pidä päivitettynä</string>
+ <string name="keep_updated_summary">Sisällytä tämä podcast kun kaikki podcastit (auto)päivitetään</string>
<string name="auto_download_disabled_globally">Automaattinen lataaminen on pysäytetty AntennaPodin asetuksissa</string>
+ <string name="statistics_time_played">Toistoaika:</string>
+ <string name="statistics_total_duration">Koknaiskesto (arvio):</string>
+ <string name="statistics_duration_played_episodes">Toistettujen jaksojen kesto:</string>
<string name="statistics_episodes_on_device">Jaksoja laitteella:</string>
<string name="statistics_space_used">Tilaa käytetty:</string>
+ <string name="statistics_episodes_started_total">Aloitettuja jaksoja/yhteensä:</string>
+ <string name="statistics_view_all">Kaikki podcastit »</string>
<!--AntennaPodSP-->
<string name="sp_apps_importing_feeds_msg">Tuodaan tilauksia sovelluksista</string>
<!--Add podcast fragment-->
@@ -570,25 +685,35 @@
<string name="search_itunes_label">Etsi iTunes:sta</string>
<string name="search_podcastindex_label">Etsi Podcastindex.org:sta</string>
<string name="search_fyyd_label">Etsi fyyd:sta</string>
+ <string name="advanced">Edistyneet</string>
<string name="add_podcast_by_url">Lisää Podcast RSS-osoitteesta</string>
<string name="browse_gpoddernet_label">Selaa gpodder.net</string>
<string name="discover">Löydä</string>
<string name="discover_hide">Piilota</string>
<string name="discover_is_hidden">Valitsit piilottaa ehdotukset.</string>
<string name="discover_more">lisää »</string>
+ <string name="discover_powered_by_itunes">Ehdotukset tarjoaa iTunes</string>
+ <string name="search_powered_by">Tulosten lähde %1$s</string>
<!--Local feeds-->
<string name="add_local_folder">Lisää paikallinen kansio</string>
<string name="local_folder">Paikallinen kansio</string>
<string name="reconnect_local_folder">Yhdistä paikallinen kansio uudelleen</string>
- <string name="filter">Filteri</string>
+ <string name="reconnect_local_folder_warning">Jos lupa evätään, voit käyttää tätä yhteyden muodostamiseen uudelleen täsmälleen samaan kansioon. Älä valitse toista kansiota.</string>
+ <string name="local_feed_description">Tämä virtuaalinen podcast luotiin lisäämällä kansio AntennaPodiin.</string>
+ <string name="unable_to_start_system_file_manager">Järjestelmän tiedostonhallintaa ei voi käynnistää</string>
+ <string name="filter">Suodin</string>
<string name="hide_is_favorite_label">On suosikki</string>
+ <string name="not_favorite">Ei suosikki</string>
<string name="hide_downloaded_episodes_label">Ladattu</string>
<string name="hide_not_downloaded_episodes_label">Ei ladattu</string>
<string name="queued_label">Jonossa</string>
<string name="not_queued_label">Ei jonossa</string>
<string name="has_media">On media</string>
+ <string name="no_media">Ei mediaa</string>
<string name="hide_paused_episodes_label">Pause</string>
+ <string name="not_paused">Ei tauotettu</string>
<string name="hide_played_episodes_label">Soitettu</string>
+ <string name="not_played">Ei toistettu</string>
<!--Sort-->
<string name="sort_title_a_z">Otsikko (A \u2192 Z)</string>
<string name="sort_title_z_a">Otsikko (Z \u2192 A)</string>
@@ -596,6 +721,8 @@
<string name="sort_date_old_new">Aika (Vanha \u2192 New)</string>
<string name="sort_duration_short_long">Kesto (Lyhyt \u2192 Long)</string>
<string name="sort_duration_long_short">Kesto (Pitkä \u2192 Short)</string>
+ <string name="sort_filename_a_z">Tiedoston nimi (A \u2192 Ö)</string>
+ <string name="sort_filename_z_a">Tiedoston nimi (Ö \u2192 A)</string>
<string name="sort_a_z">A \u2192 Ö</string>
<string name="sort_z_a">Ö \u2192 A</string>
<string name="sort_new_old">Uusi \u2192 vanha</string>
@@ -609,6 +736,12 @@
<string name="rating_later_label" tools:ignore="UnusedResources">Muistuta minua myöhemmin</string>
<string name="rating_now_label" tools:ignore="UnusedResources">Miksei, tehdään tämä!</string>
<!--Share episode dialog-->
+ <string name="share_dialog_include_label">Sisällytä:</string>
+ <string name="share_playback_position_dialog_label">Toiston kohta</string>
+ <string name="share_dialog_episode_website_label">Jakson nettisivu</string>
+ <string name="share_dialog_link_to_episode">Linkki jaksoon</string>
+ <string name="share_dialog_media_file_label">Mediatiedosto</string>
+ <string name="share_starting_position_label">Aloituskohta</string>
<!--Audio controls-->
<string name="audio_controls">Audiokontrollit</string>
<string name="playback_speed">Soittonopeus</string>
@@ -631,6 +764,8 @@
<!--Subscriptions fragment-->
<string name="subscription_num_columns">Sarakkeiden määrä</string>
<!--Notification channels-->
+ <string name="notification_group_errors">Virheet</string>
+ <string name="notification_group_news">Uutiset</string>
<string name="notification_channel_user_action">Tarvitaan valinta</string>
<string name="notification_channel_user_action_description">Näytetään jos toiminta tarvitaan, esimerkiksi jos tarvitset uuden salasanan.</string>
<string name="notification_channel_downloading">Ladataan</string>
@@ -638,10 +773,22 @@
<string name="notification_channel_playing">Soittaa nyt</string>
<string name="notification_channel_playing_description">Sallii soiton kontrollit. Tämä on pääilmoitus, jonka näet kun podcast soitetaan.</string>
<string name="notification_channel_download_error">Lataus epäonnistui</string>
+ <string name="notification_channel_download_error_description">Näytetään, kun lataus tai syötteen päivitys epäonnistuu.</string>
+ <string name="notification_channel_sync_error">Synkronointi epäonnistui</string>
<string name="notification_channel_sync_error_description">Näytetään, kun gpodder-synkronointi epäonnistuu.</string>
<string name="notification_channel_auto_download">Automaattinen lataus valmis</string>
<string name="notification_channel_episode_auto_download">Näytetään, kun jaksot on automaattisesti ladattu.</string>
<string name="notification_channel_new_episode">Uusi jakso</string>
+ <string name="notification_channel_new_episode_description">Näytetään ilmoitusten ollessa käytössä, kun podcastin uusi jakso löytyy</string>
<!--Widget settings-->
+ <string name="widget_settings">Widget-asetukset</string>
+ <string name="widget_create_button">Luo widget</string>
+ <string name="widget_opacity">Läpikuultamattomuus</string>
<!--On-Demand configuration-->
+ <string name="on_demand_config_setting_changed">Asetuksen päivitys onnistui.</string>
+ <string name="on_demand_config_stream_text">Näyttää siltä, että suoratoistat paljon. Haluatko, että jaksoluetteloissa näytetään suoratoistopainikkeet?</string>
+ <string name="on_demand_config_download_text">Näyttää siltä, että lataat paljon. Haluatko, että jaksoluetteloissa näytetään latauspainikkeet?</string>
+ <string name="shortcut_subscription_label">Tilauksen pikakuvake</string>
+ <string name="shortcut_select_subscription">Valitse tilaus</string>
+ <string name="add_shortcut">Lisää pikakuvake</string>
</resources>
diff --git a/core/src/main/res/values-fr/strings.xml b/core/src/main/res/values-fr/strings.xml
index ffd5efffa..b0ffcb348 100644
--- a/core/src/main/res/values-fr/strings.xml
+++ b/core/src/main/res/values-fr/strings.xml
@@ -173,7 +173,7 @@
</plurals>
<string name="edit_tags">Modifier les tags</string>
<string name="rename_tag_label">Renommer le tag</string>
- <string name="confirm_mobile_feed_refresh_dialog_message">Le téléchargement d\'épisodes par la connexion mobile est désactivé dans les paramètres.\n\nVoulez-vous quand même actualiser les podcasts ?</string>
+ <string name="confirm_mobile_feed_refresh_dialog_message">Le téléchargement d\'épisodes par la connexion mobile est désactivé dans les options.\n\nVoulez-vous quand même actualiser tous les podcasts ?</string>
<!--actions on feeditems-->
<string name="download_label">Télécharger</string>
<plurals name="downloading_batch_label">
@@ -432,7 +432,7 @@
<string name="synchronization_full_sync_title">Forcer une synchronisation complète</string>
<string name="synchronization_login_status"><![CDATA[Connecté en tant que <i>%1$s</i> sur <i>%2$s</i>. <br/><br/>Déconnectez-vous pour pouvoir changer le service de synchronisation]]></string>
<string name="synchronization_summary_unchoosen">Vous pouvez choisir entre plusieurs services pour synchroniser les abonnements et les statuts des épisodes</string>
- <string name="synchronization_summary_nextcloud">Gpoddersync est une application Nextcloud open-source que vous pouvez installer facilement sur votre serveur. L\'application est indépendante du projet AntennaPod.</string>
+ <string name="synchronization_summary_nextcloud">Gpoddersync est une application Nextcloud et open-source que vous pouvez installer facilement sur votre serveur. L\'application est indépendante du projet AntennaPod.</string>
<string name="synchronization_nextcloud_authenticate_browser">Autoriser l\'accès à l\'aide du navigateur qui a été ouvert puis revenez sur AntennaPod.</string>
<string name="synchronization_choose_title">Choisir le service de synchronisation</string>
<string name="synchronization_force_sync_summary">Resynchroniser tous les abonnements et tous les statuts d\'épisodes</string>
@@ -518,7 +518,7 @@
<string name="pref_feed_settings_dialog_msg">Ce paramètre est spécifique à chaque podcast. Vous pouvez le changer en ouvrant la page du podcast.</string>
<string name="pref_contribute">Contribuer</string>
<string name="pref_show_subscription_title">Afficher les noms des podcasts</string>
- <string name="pref_show_subscription_title_summary">Affiche le nom des abonnements en dessous des images des podcasts.</string>
+ <string name="pref_show_subscription_title_summary">Affiche le nom des podcasts en dessous de leur image.</string>
<!--About screen-->
<string name="about_pref">À propos</string>
<string name="antennapod_version">Version d\'AntennaPod</string>
@@ -541,7 +541,7 @@
<string name="sync_status_episodes_download">Import des statuts des épisodes...</string>
<string name="sync_status_upload_played">Export des statuts de lecture...</string>
<string name="sync_status_subscriptions">Synchronisation des abonnements...</string>
- <string name="sync_status_wait_for_downloads">En attente de la fin des téléchargements...</string>
+ <string name="sync_status_wait_for_downloads">En attente que la récupération des données finissent...</string>
<string name="sync_status_success">Synchronisation réussie</string>
<string name="sync_status_error">Echec de la synchronisation</string>
<!--import and export-->
@@ -658,7 +658,7 @@
<string name="authentication_label">Authentification</string>
<string name="authentication_descr">Identifiant et mot de passe pour ce podcast.</string>
<string name="feed_tags_label">Tags</string>
- <string name="feed_tags_summary">Modifier les tags de ce podcast pour organiser vos abonnements</string>
+ <string name="feed_tags_summary">Modifier les tags de ce podcast pour classer vos abonnements</string>
<string name="feed_folders_include_root">Montrer dans la liste principale</string>
<string name="multi_feed_common_tags_info">{fa-info-circle} Seul les tags communs à tous les abonnements sélectionnés sont montrés. Les autres tags ne seront pas modifiés.</string>
<string name="auto_download_settings_label">Préférence de téléchargement automatique</string>
@@ -674,9 +674,9 @@
<string name="statistics_time_played">Temps de lecture :</string>
<string name="statistics_total_duration">Durée totale (estimation) :</string>
<string name="statistics_duration_played_episodes">Durée des épisodes lus :</string>
- <string name="statistics_episodes_on_device">Episodes sur l\'appareil :</string>
+ <string name="statistics_episodes_on_device">Episode(s) sur l\'appareil :</string>
<string name="statistics_space_used">Espace utilisé :</string>
- <string name="statistics_episodes_started_total">Episodes commencés / total :</string>
+ <string name="statistics_episodes_started_total">Episodes démarrés / total :</string>
<string name="statistics_view_all">Voir les statistiques pour tous les podcasts »</string>
<!--AntennaPodSP-->
<string name="sp_apps_importing_feeds_msg">Importation des abonnements à partir d\'applications à usage unique...</string>
@@ -741,7 +741,7 @@
<string name="share_dialog_episode_website_label">Lien de la page web de l\'épisode</string>
<string name="share_dialog_link_to_episode">Lien de l\'épisode</string>
<string name="share_dialog_media_file_label">Fichier de l\'épisode</string>
- <string name="share_starting_position_label">A partir de</string>
+ <string name="share_starting_position_label">A partir de </string>
<!--Audio controls-->
<string name="audio_controls">Contrôles audio</string>
<string name="playback_speed">Vitesse de lecture</string>
diff --git a/core/src/main/res/values-lt/strings.xml b/core/src/main/res/values-lt/strings.xml
index f2a60e04f..ffa272965 100644
--- a/core/src/main/res/values-lt/strings.xml
+++ b/core/src/main/res/values-lt/strings.xml
@@ -185,6 +185,8 @@
<item quantity="many">%d prenumeratų atnaujinta.</item>
<item quantity="other">%d prenumeratų atnaujinta.</item>
</plurals>
+ <string name="edit_tags">Redaguoti žymes</string>
+ <string name="rename_tag_label">Pervadinti žymę</string>
<!--actions on feeditems-->
<string name="download_label">Atsisiųsti</string>
<plurals name="downloading_batch_label">
@@ -349,6 +351,7 @@
<string name="storage_sum">Automatinis epizodų trynimas, importas, eksportas</string>
<string name="project_pref">Projektas</string>
<string name="synchronization_pref">Sinchronizavimas</string>
+ <string name="synchronization_sum">Sinchronizuoti su kitais įrenginiais</string>
<string name="automation">Automatizacija</string>
<string name="download_pref_details">Išsamiau</string>
<string name="import_export_pref">Importas/Eksportas</string>
@@ -441,8 +444,17 @@
<string name="pref_theme_title_dark">Tamsi</string>
<string name="pref_theme_title_trueblack">Juoda (paruošta AMOLED)</string>
<string name="pref_episode_cache_unlimited">Neribojamas</string>
+ <string name="synchronization_logout">Atsijungti</string>
+ <string name="pref_synchronization_logout_toast">Sėkmingai atsijungta</string>
<string name="pref_gpodnet_setlogin_information_title">Keisti prisijungimo duomenis</string>
<string name="pref_gpodnet_setlogin_information_sum">Keisti prisijungimo prie „gpodder.net“ paskyros duomenis.</string>
+ <string name="synchronization_sync_changes_title">Sinchronizuoti dabar</string>
+ <string name="synchronization_full_sync_title">Priverstinis pilnas sinchronizavimas</string>
+ <string name="synchronization_summary_unchoosen">Galite pasirinkti iš keleto teikėjų prenumeratų ir epizodų atkūrimo būsenai sinchronizuoti</string>
+ <string name="synchronization_choose_title">Pasirinkite sinchronizavimo teikėją</string>
+ <string name="synchronization_force_sync_summary">Sinchronizuoti visų prenumeratų ir epizodų būsenas iš naujo</string>
+ <string name="synchronization_sync_summary">Sinchronizuoti prenumeratų ir epizodų būsenų pokyčius</string>
+ <string name="dialog_choose_sync_service_title">Pasirinkite sinchronizavimo teikėją</string>
<string name="pref_playback_speed_sum">Derinkite prieinamas garso atkūrimo spartas</string>
<string name="pref_feed_playback_speed_sum">Atkūrimo sparta, naudojama pradedant šios tinklalaidės epizodų atkūrimą</string>
<string name="pref_feed_skip">Automatinis praleidimas</string>
@@ -522,6 +534,7 @@
<string name="new_episode_notification_disabled">Pranešimas išjungtas</string>
<string name="pref_feed_settings_dialog_msg">Šis nustatymas individualus kiekvienai tinklalaidei. Jį pakeisti galite atvėrę tinklalaidės langą.</string>
<string name="pref_contribute">Prisidėti</string>
+ <string name="pref_show_subscription_title">Rodyti prenumeratos pavadinimą</string>
<!--About screen-->
<string name="about_pref">Apie</string>
<string name="antennapod_version">„AntennaPod“ versija</string>
@@ -647,6 +660,7 @@
<string name="preview_episode">Peržiūra</string>
<string name="stop_preview">Stabdyti peržiūrą</string>
<!--Content descriptions for image buttons-->
+ <string name="toolbar_back_button_content_description">Atgal</string>
<string name="rewind_label">Atsukti</string>
<string name="fast_forward_label">Persukti į priekį</string>
<string name="increase_speed">Padidinti spartą</string>
@@ -664,12 +678,16 @@
<!--Feed settings/information screen-->
<string name="authentication_label">Tapatumo nustatymas</string>
<string name="authentication_descr">Keisti vartotojo vardą ir slaptažodį šiai tinklalaidei ir jos epizodams.</string>
+ <string name="feed_tags_label">Žymės</string>
+ <string name="feed_tags_summary">Keisti tinklalaidės žymes, kad palengvinti prenumeratų tvarkymą</string>
<string name="feed_folders_include_root">Rodyti pagrindiniame sąraše</string>
+ <string name="multi_feed_common_tags_info">{fa-info-circle} Rodomos tik žymės, bendros visoms pažymėtoms prenumeratoms. Kitos žymės liks nepaveiktos.</string>
<string name="auto_download_settings_label">Automatinio atsiuntimo nustatymai</string>
<string name="episode_filters_label">Epizodų filtras</string>
<string name="episode_filters_description">Žodžių ar frazių sąrašas, kuriuo remiantis sprendžiama, ar epizodas turėtų būti įtrauktas ar išbrauktas iš automatiškai atsiunčiamų epizodų</string>
<string name="episode_filters_include">Įtraukti</string>
<string name="episode_filters_exclude">Išbraukti</string>
+ <string name="episode_filters_duration">Minimali trukmė (minutėmis)</string>
<string name="episode_filters_hint">Pavieniai žodžiai\n\"frazės kabutėse\"</string>
<string name="keep_updated">Pastoviai atnaujinti</string>
<string name="keep_updated_summary">Įtraukti šią tinklalaidę į (automatinį) visų tinklalaidžių atnaujinimą</string>
@@ -783,4 +801,5 @@
<string name="on_demand_config_setting_changed">Nustatymas sėkmingai atnaujintas.</string>
<string name="on_demand_config_stream_text">Panašu, jog dažnai klausotės tiesiogiai. Ar norite, jog epizodų sąraše būtų rodomi tiesioginio klausymosi mygtukai?</string>
<string name="on_demand_config_download_text">Panašu, jog dažnai atsisiunčiate epizodus. Ar norite, jog epizodų sąraše būtų rodomi atsiuntimo mygtukai?</string>
+ <string name="shortcut_select_subscription">Pažymėti prenumeratą</string>
</resources>
diff --git a/core/src/main/res/values-nl/strings.xml b/core/src/main/res/values-nl/strings.xml
index 6e5d5befa..31f030290 100644
--- a/core/src/main/res/values-nl/strings.xml
+++ b/core/src/main/res/values-nl/strings.xml
@@ -171,6 +171,9 @@
<item quantity="one">%d aflevering bijgewerkt.</item>
<item quantity="other">%d afleveringen bijgewerkt.</item>
</plurals>
+ <string name="edit_tags">Labels bewerken</string>
+ <string name="rename_tag_label">Labelnaam wijzigen</string>
+ <string name="confirm_mobile_feed_refresh_dialog_message">Het downloaden van afleveringen via mobiel internet is uitgeschakeld in de instellingen.\n\nWeet je zeker dat je wilt doorgaan?</string>
<!--actions on feeditems-->
<string name="download_label">Downloaden</string>
<plurals name="downloading_batch_label">
@@ -183,6 +186,10 @@
<string name="delete_label">Verwijderen</string>
<string name="delete_failed">Kan bestand niet verwijderen; start je apparaat opnieuw op.</string>
<string name="delete_episode_label">Aflevering verwijderen</string>
+ <plurals name="deleted_multi_episode_batch_label">
+ <item quantity="one">1 gedownloade aflevering verwijderd.</item>
+ <item quantity="other">%d gedownloade afleveringen verwijderd.</item>
+ </plurals>
<string name="remove_new_flag_label">\'Nieuw\'-label verwijderen</string>
<string name="removed_new_flag_label">\'Nieuw\'-label is verwijderd</string>
<string name="mark_read_label">Als afgespeeld markeren</string>
@@ -240,6 +247,8 @@
<string name="download_error_forbidden">De hostserver reageert niet.</string>
<string name="download_canceled_msg">Download afgebroken</string>
<string name="download_error_wrong_size">De serververbinding werd verbroken voordat de download kon worden afgerond</string>
+ <string name="download_error_blocked">Het downloaden is geblokkeerd door een andere app (bijv. een vpn of advertentieblokkeerder).</string>
+ <string name="download_error_certificate">Er kan geen beveiligde verbinding worden opgezet. Mogelijk blokkeert een andere app (bijv. een vpn of advertentieblokkeerder) de download of is er een probleem met de servercertificaten.</string>
<string name="download_report_title">Downloads afgerond, maar met fout(en)</string>
<string name="auto_download_report_title">Automatisch downloaden afgerond</string>
<string name="download_error_io_error">In-/Uitvoerfout</string>
@@ -255,6 +264,7 @@
<string name="download_type_feed">Feed</string>
<string name="download_type_media">Mediabestand</string>
<string name="null_value_podcast_error">Er is geen te tonen podcast opgegeven.</string>
+ <string name="no_feed_url_podcast_found_by_search">De aanbevolen podcast bevat geen rss-link, maar er is een gelijkaardige podcast gevonden</string>
<string name="authentication_notification_title">Authenticatie vereist</string>
<string name="authentication_notification_msg">De opgevraagde bron vereist een gebruikersnaam en wachtwoord</string>
<string name="confirm_mobile_download_dialog_title">Bevestig downloaden via mobiel internet</string>
@@ -323,6 +333,7 @@
<string name="storage_sum">Automatisch verwijderen, im- en exporteren</string>
<string name="project_pref">Project</string>
<string name="synchronization_pref">Synchronisatie</string>
+ <string name="synchronization_sum">Synchroniseren met andere apparaten</string>
<string name="automation">Automatische acties</string>
<string name="download_pref_details">Details</string>
<string name="import_export_pref">Importeren/Exporteren</string>
@@ -413,8 +424,20 @@
<string name="pref_theme_title_dark">Donker</string>
<string name="pref_theme_title_trueblack">Zwart (geschikt voor AMOLED)</string>
<string name="pref_episode_cache_unlimited">Onbeperkt</string>
+ <string name="synchronization_logout">Uitloggen</string>
+ <string name="pref_synchronization_logout_toast">Uitgelogd</string>
<string name="pref_gpodnet_setlogin_information_title">Inloggegevens wijzigen</string>
<string name="pref_gpodnet_setlogin_information_sum">Wijzig de inloggegevens van je gpodder.net-account.</string>
+ <string name="synchronization_sync_changes_title">Nu synchroniseren</string>
+ <string name="synchronization_full_sync_title">Volledige synchronisatie afdwingen</string>
+ <string name="synchronization_login_status"><![CDATA[Ingelogd als <i>%1$s</i> op <i>%2$s</i>. <br/><br/>Na het uitloggen kun je een synchronizatiedienst kiezen]]></string>
+ <string name="synchronization_summary_unchoosen">Je kunt meerdere diensten kiezen voor het synchroniseren van je abonnementen en afspeelstatussen</string>
+ <string name="synchronization_summary_nextcloud">Gpoddersyng is een open source Nextcloud-app die je kunt installeren op je eigen server. De app niet betrokken is bij het AntennaPod-project.</string>
+ <string name="synchronization_nextcloud_authenticate_browser">Verleen toegang in de geopende webbrowser en keer terug naar AntennaPod.</string>
+ <string name="synchronization_choose_title">Kies een synchronisatiedienst</string>
+ <string name="synchronization_force_sync_summary">Alle abonnementen en afspeelstatussen opnieuw synchroniseren</string>
+ <string name="synchronization_sync_summary">Alle gewijzigde abonnementen en afspeelstatussen opnieuw synchroniseren</string>
+ <string name="dialog_choose_sync_service_title">Kies een synchronisatiedienst</string>
<string name="pref_playback_speed_sum">Pas de beschikbare snelheden aan voor de variabele afspeelsnelheid</string>
<string name="pref_feed_playback_speed_sum">De te gebruiken snelheid bij het afspelen van afleveringen in deze podcast</string>
<string name="pref_feed_skip">Automatisch overslaan</string>
@@ -494,6 +517,8 @@
<string name="new_episode_notification_disabled">Melding is uitgeschakeld</string>
<string name="pref_feed_settings_dialog_msg">Deze instellingen moet per podcast worden in- of uitgeschakeld. Pas aan door de podcastpagina te openen.</string>
<string name="pref_contribute">Bijdragen</string>
+ <string name="pref_show_subscription_title">Abonnementsnaam tonen</string>
+ <string name="pref_show_subscription_title_summary">Toon de abonnementsnaam onder de omslag.</string>
<!--About screen-->
<string name="about_pref">Over AntennaPod</string>
<string name="antennapod_version">AntennaPod-versie</string>
@@ -516,6 +541,7 @@
<string name="sync_status_episodes_download">Afleveringswijzigingen aan het downloaden…</string>
<string name="sync_status_upload_played">Afspeelstatus aan het uploaden …</string>
<string name="sync_status_subscriptions">Abonnementen aan het synchroniseren…</string>
+ <string name="sync_status_wait_for_downloads">Bezig met wachten op downloads…</string>
<string name="sync_status_success">Synchronisatie afgerond</string>
<string name="sync_status_error">Synchronisatie mislukt</string>
<!--import and export-->
@@ -613,6 +639,7 @@
<string name="preview_episode">Voorvertoning</string>
<string name="stop_preview">Stop voorvertoning</string>
<!--Content descriptions for image buttons-->
+ <string name="toolbar_back_button_content_description">Terug</string>
<string name="rewind_label">Terugspoelen</string>
<string name="fast_forward_label">Vooruitspoelen</string>
<string name="increase_speed">Verhoog snelheid</string>
@@ -630,18 +657,26 @@
<!--Feed settings/information screen-->
<string name="authentication_label">Authenticatie</string>
<string name="authentication_descr">Gebruikersnaam en wachtwoord wijzigen voor deze podcast en bijbehorende afleveringen.</string>
+ <string name="feed_tags_label">Labels</string>
+ <string name="feed_tags_summary">Wijzig de labels van deze podcast om je abonnementen te organiseren</string>
<string name="feed_folders_include_root">Tonen op overzicht</string>
+ <string name="multi_feed_common_tags_info">{fa-info-circle} Er worden alleen algemene labels getoond. Andere labels worden niet aangepast.</string>
<string name="auto_download_settings_label">Instellingen voor Automatisch downloaden</string>
<string name="episode_filters_label">Afleveringsfilter</string>
<string name="episode_filters_description">Lijst van zoektermen die bepalen of een aflevering meegenomen of uitgesloten wordt bij automatisch downloaden</string>
<string name="episode_filters_include">Meenemen</string>
<string name="episode_filters_exclude">Uitsluiten</string>
+ <string name="episode_filters_duration">Minimale duur (in minuten)</string>
<string name="episode_filters_hint">Losse woorden \n\"Meerdere tussen aanhalingstekens\"</string>
<string name="keep_updated">Bijgewerkt houden</string>
<string name="keep_updated_summary">Deze podcast meenemen bij het (automatisch) verversen van alle podcasts</string>
<string name="auto_download_disabled_globally">Automatisch downloaden is uitgeschakeld in de AntennaPod-instellingen</string>
+ <string name="statistics_time_played">Afgespeeld:</string>
+ <string name="statistics_total_duration">Totale duur (geschat):</string>
+ <string name="statistics_duration_played_episodes">Duur van beluisterde afleveringen:</string>
<string name="statistics_episodes_on_device">Afleveringen op apparaat:</string>
<string name="statistics_space_used">Gebruikte ruimte:</string>
+ <string name="statistics_episodes_started_total">Aantal gestarte afleveringen:</string>
<string name="statistics_view_all">Alle podcasts tonen »</string>
<!--AntennaPodSP-->
<string name="sp_apps_importing_feeds_msg">Bezig met importeren van abonnementen uit eenmalige apps...</string>
@@ -686,6 +721,8 @@
<string name="sort_date_old_new">Datum (oud \u2192 nieuw)</string>
<string name="sort_duration_short_long">Lengte (kort \u2192 lang)</string>
<string name="sort_duration_long_short">Lengte (lang \u2192 kort)</string>
+ <string name="sort_filename_a_z">Bestandsnaam (A \u2192 Z)</string>
+ <string name="sort_filename_z_a">Bestandsnaam (Z \u2192 A)</string>
<string name="sort_a_z">A \u2192 Z</string>
<string name="sort_z_a">Z \u2192 A</string>
<string name="sort_new_old">Nieuw \u2192 Oud</string>
@@ -702,7 +739,9 @@
<string name="share_dialog_include_label">Opnemen:</string>
<string name="share_playback_position_dialog_label">Afspeelpositie</string>
<string name="share_dialog_episode_website_label">Website van aflevering</string>
+ <string name="share_dialog_link_to_episode">Link naar aflevering</string>
<string name="share_dialog_media_file_label">Mediabestand</string>
+ <string name="share_starting_position_label">Beginnen vanaf</string>
<!--Audio controls-->
<string name="audio_controls">Audio-instellingen</string>
<string name="playback_speed">Afspeelsnelheid</string>
@@ -749,4 +788,7 @@
<string name="on_demand_config_setting_changed">De instelling is aangepast.</string>
<string name="on_demand_config_stream_text">Het lijkt er op dat je vaak streamt. Wil je streamknoppen tonen in de lijst met afleveringen?</string>
<string name="on_demand_config_download_text">Het lijkt er op dat je vaak dowloadt. Wil je downloadknoppen tonen in de lijst met afleveringen?</string>
+ <string name="shortcut_subscription_label">Abonnementssnelkoppeling</string>
+ <string name="shortcut_select_subscription">Kies een abonnement</string>
+ <string name="add_shortcut">Snelkoppeling toevoegen</string>
</resources>
diff --git a/core/src/main/res/values-pt/strings.xml b/core/src/main/res/values-pt/strings.xml
index c4fb8ef1e..646f9cdc2 100644
--- a/core/src/main/res/values-pt/strings.xml
+++ b/core/src/main/res/values-pt/strings.xml
@@ -171,6 +171,9 @@
<item quantity="one">%d subscrição atualizada.</item>
<item quantity="other">%d subscrições atualizadas.</item>
</plurals>
+ <string name="edit_tags">Editar etiquetas</string>
+ <string name="rename_tag_label">Renomear etiqueta</string>
+ <string name="confirm_mobile_feed_refresh_dialog_message">A possibilidade de descarregar episódios através de dados móveis está desativada nas definições.\n\nAinda assim deseja recarregar todos os podcasts?</string>
<!--actions on feeditems-->
<string name="download_label">Descarregar</string>
<plurals name="downloading_batch_label">
@@ -183,6 +186,10 @@
<string name="delete_label">Eliminar</string>
<string name="delete_failed">Episódio não eliminado. Tente reiniciar o dispositivo.</string>
<string name="delete_episode_label">Eliminar episódio</string>
+ <plurals name="deleted_multi_episode_batch_label">
+ <item quantity="one">1 episódio eliminado.</item>
+ <item quantity="other">%d episódios eliminados.</item>
+ </plurals>
<string name="remove_new_flag_label">Remover a marca \"novo\"</string>
<string name="removed_new_flag_label">A marca \"novo\" foi removida</string>
<string name="mark_read_label">Marcar como reproduzido</string>
@@ -240,6 +247,8 @@
<string name="download_error_forbidden">O servidor do podcast não respondeu.</string>
<string name="download_canceled_msg">Descarga cancelada</string>
<string name="download_error_wrong_size">A ligação ao servidor foi terminada antes de terminar a descarga.</string>
+ <string name="download_error_blocked">A descarga foi bloqueada por outra aplicação do seu dispositivo (uma VPN ou bloqueador de anúncios).</string>
+ <string name="download_error_certificate">Não foi possível estabelecer uma ligação segura. Isto pode significar que uma aplicação (VPN ou bloqueador de anúncios) bloqueou a descarga ou que existe algum problema com o servidor.</string>
<string name="download_report_title">Descargas terminadas com erros</string>
<string name="auto_download_report_title">Descargas automáticas terminadas</string>
<string name="download_error_io_error">Erro I/O</string>
@@ -255,6 +264,7 @@
<string name="download_type_feed">Fonte</string>
<string name="download_type_media">Ficheiro multimédia</string>
<string name="null_value_podcast_error">Não foi possível mostrar o podcast.</string>
+ <string name="no_feed_url_podcast_found_by_search">O podcast sugerido não tem uma ligação RSS mas AntennaPod encontrou um podcast que pode ser coincidente.</string>
<string name="authentication_notification_title">Requer autenticação</string>
<string name="authentication_notification_msg">O recurso solicitado requer um utilizador e uma palavra-passe</string>
<string name="confirm_mobile_download_dialog_title">Confirmação de descarga</string>
@@ -323,6 +333,7 @@
<string name="storage_sum">Eliminação automática, importação e exportação</string>
<string name="project_pref">Projeto</string>
<string name="synchronization_pref">Sincronização</string>
+ <string name="synchronization_sum">Sincronizar com outros dispositivos</string>
<string name="automation">Automatização</string>
<string name="download_pref_details">Detalhes</string>
<string name="import_export_pref">Importar/Exportar</string>
@@ -413,8 +424,20 @@
<string name="pref_theme_title_dark">Escuro</string>
<string name="pref_theme_title_trueblack">Preto (AMOLED)</string>
<string name="pref_episode_cache_unlimited">Sem limite</string>
+ <string name="synchronization_logout">Terminar sessão</string>
+ <string name="pref_synchronization_logout_toast">Sessão terminada com sucesso</string>
<string name="pref_gpodnet_setlogin_information_title">Alterar informação de acesso</string>
<string name="pref_gpodnet_setlogin_information_sum">Alterar a informação de acesso à sua conta gpodder.net</string>
+ <string name="synchronization_sync_changes_title">Sincronizar agora</string>
+ <string name="synchronization_full_sync_title">Impor sincronização total</string>
+ <string name="synchronization_login_status"><![CDATA[Iniciou sessão como <i>%1$s</i> em <i>%2$s</i>. <br/><br/>Se quiser, pode escolher outro serviço de sincronização assim quer terminar a sessão]]></string>
+ <string name="synchronization_summary_unchoosen">Pode escolher diversos serviços para sincronizar as suas subscrições e o estado de reprodução dos episódios com</string>
+ <string name="synchronization_summary_nextcloud">Gpoddersync é uma aplicação NextCloud que pode, facilmente, ser instalada no seu servidor. Esta aplicação é independente do projeto AntennaPod.</string>
+ <string name="synchronization_nextcloud_authenticate_browser">Conceda o acesso necessário através do navegador web e retorne a AntennaPod.</string>
+ <string name="synchronization_choose_title">Escolher serviço de sincroniação</string>
+ <string name="synchronization_force_sync_summary">Voltar a sincronizar todas as subscrições e o estado de reprodução</string>
+ <string name="synchronization_sync_summary">Sincronizar alterações às subscrições e ao estado de reprodução</string>
+ <string name="dialog_choose_sync_service_title">Escolher serviço de sincroniação</string>
<string name="pref_playback_speed_sum">Personalizar disponibilidade das velocidades variáveis de reprodução</string>
<string name="pref_feed_playback_speed_sum">Velocidade utilizada para a reprodução áudio dos episódios deste podcast</string>
<string name="pref_feed_skip">Ignorar automaticamente</string>
@@ -494,6 +517,8 @@
<string name="new_episode_notification_disabled">Notificações desativadas</string>
<string name="pref_feed_settings_dialog_msg">Esta definição é específica por podcast. Pode alterar a sua opção na página do podcast.</string>
<string name="pref_contribute">Participar</string>
+ <string name="pref_show_subscription_title">Mostrar título da subscrição</string>
+ <string name="pref_show_subscription_title_summary">Mostrar título da subscrição por baixo da imagem.</string>
<!--About screen-->
<string name="about_pref">Acerca</string>
<string name="antennapod_version">Versão do AntennaPod</string>
@@ -516,6 +541,7 @@
<string name="sync_status_episodes_download">Descarregar alterações nos episódios...</string>
<string name="sync_status_upload_played">Carregar estado de reprodução...</string>
<string name="sync_status_subscriptions">Sincronizar subscrições...</string>
+ <string name="sync_status_wait_for_downloads">A aguardar pelo término das descargas...</string>
<string name="sync_status_success">Sincronização bem sucedida</string>
<string name="sync_status_error">Falha na sincronização</string>
<!--import and export-->
@@ -613,6 +639,7 @@
<string name="preview_episode">Antevisão</string>
<string name="stop_preview">Parar pré-visualização</string>
<!--Content descriptions for image buttons-->
+ <string name="toolbar_back_button_content_description">Recuar</string>
<string name="rewind_label">Recuo rápido</string>
<string name="fast_forward_label">Avanço rápido</string>
<string name="increase_speed">Aumentar velocidade</string>
@@ -630,18 +657,26 @@
<!--Feed settings/information screen-->
<string name="authentication_label">Autenticação</string>
<string name="authentication_descr">Altere o seu nome de utilizador e palavra-passe para este podcast e seus episódios</string>
+ <string name="feed_tags_label">Etiquetas</string>
+ <string name="feed_tags_summary">Escolha as etiquetas a usar neste podcast para organizar melhor as suas subscrições</string>
<string name="feed_folders_include_root">Mostrar na lista principal</string>
+ <string name="multi_feed_common_tags_info">{fa-info-circle} Apenas são mostradas as etiquetas comuns às subscrições selecionadas. As outras etiquetas não são afetadas.</string>
<string name="auto_download_settings_label">Definições de descarga automática</string>
<string name="episode_filters_label">Filtro de episódios</string>
<string name="episode_filters_description">Lista de termos utilizados para determinar se um episódio deve ser incluído ou excluído das descargas automáticas</string>
<string name="episode_filters_include">Incluir</string>
<string name="episode_filters_exclude">Excluir</string>
+ <string name="episode_filters_duration">Duração mínima (em minutos)</string>
<string name="episode_filters_hint">Uma palavra\n\"Várias palavras\"</string>
<string name="keep_updated">Manter atualizada</string>
<string name="keep_updated_summary">Incluir este podcast ao recarregar automaticamente todos os podcasts</string>
<string name="auto_download_disabled_globally">A descarga automática está desativada nas definições do AntennaPod</string>
+ <string name="statistics_time_played">Tempo de reprodução:</string>
+ <string name="statistics_total_duration">Duração total (estimada):</string>
+ <string name="statistics_duration_played_episodes">Duração dos episódios reproduzidos:</string>
<string name="statistics_episodes_on_device">Episódios no dispositivo:</string>
<string name="statistics_space_used">Espaço utilizado:</string>
+ <string name="statistics_episodes_started_total">Episódios iniciados/total:</string>
<string name="statistics_view_all">Ver para todos os podcasts »</string>
<!--AntennaPodSP-->
<string name="sp_apps_importing_feeds_msg">Importar subscrições de aplicações single-purpose...</string>
@@ -686,6 +721,8 @@
<string name="sort_date_old_new">Data (Antiga \u2192 Recente)</string>
<string name="sort_duration_short_long">Duração (Curta \u2192 Longa)</string>
<string name="sort_duration_long_short">Duração (Longa \u2192 Curta)</string>
+ <string name="sort_filename_a_z">Nome do ficheiro (A \u2192 Z)</string>
+ <string name="sort_filename_z_a">Nome do ficheiro (Z \u2192 A)</string>
<string name="sort_a_z">A \u2192 Z</string>
<string name="sort_z_a">Z \u2192 A</string>
<string name="sort_new_old">Novo \u2192 Antigo</string>
@@ -702,7 +739,9 @@
<string name="share_dialog_include_label">Incluir:</string>
<string name="share_playback_position_dialog_label">Posição de reprodução</string>
<string name="share_dialog_episode_website_label">Página web do episódio</string>
+ <string name="share_dialog_link_to_episode">Ligação para o episódio</string>
<string name="share_dialog_media_file_label">Ficheiro multimédia</string>
+ <string name="share_starting_position_label">Iniciando em</string>
<!--Audio controls-->
<string name="audio_controls">Controlos de áudio</string>
<string name="playback_speed">Velocidade de reprodução</string>
@@ -749,4 +788,7 @@
<string name="on_demand_config_setting_changed">Definições atualizadas com sucesso.</string>
<string name="on_demand_config_stream_text">Parece que você prefere as emissões. Deseja que a lista de episódios mostre os botões adequados?</string>
<string name="on_demand_config_download_text">Parece que você prefere as descargas. Deseja que a lista de episódios mostre os botões adequados?</string>
+ <string name="shortcut_subscription_label">Atalho da subscrição</string>
+ <string name="shortcut_select_subscription">Selecione a subscrição</string>
+ <string name="add_shortcut">Adicionar atalho</string>
</resources>
diff --git a/core/src/main/res/values-ro/strings.xml b/core/src/main/res/values-ro/strings.xml
index e00e1104a..b9cf03cb8 100644
--- a/core/src/main/res/values-ro/strings.xml
+++ b/core/src/main/res/values-ro/strings.xml
@@ -178,6 +178,9 @@
<item quantity="few">%d abonamente actualizate.</item>
<item quantity="other">%d de abonamente actualizate.</item>
</plurals>
+ <string name="edit_tags">Editează etichetele</string>
+ <string name="rename_tag_label">Redenumește etichetele</string>
+ <string name="confirm_mobile_feed_refresh_dialog_message">Descărcarea episoadelor folosint datele mobile este oprită din setări.\n\nDoriți să reîmprospătați toate podcasturile folosint datele mobile ?</string>
<!--actions on feeditems-->
<string name="download_label">Descarcă</string>
<plurals name="downloading_batch_label">
@@ -191,6 +194,11 @@
<string name="delete_label">Șterge</string>
<string name="delete_failed">Imposibil de șters. Restartarea dispozitivului ar putea ajuta.</string>
<string name="delete_episode_label">Șterge episod</string>
+ <plurals name="deleted_multi_episode_batch_label">
+ <item quantity="one">1 episod descărcat a fost șters.</item>
+ <item quantity="few">%d episoade descărcare au fost șterse.</item>
+ <item quantity="other">%d de episoade descărcare au fost șterse.</item>
+ </plurals>
<string name="remove_new_flag_label">Îndepărtați semnul \"nou\"</string>
<string name="removed_new_flag_label">Semnul \"nou\" a fost șters</string>
<string name="mark_read_label">Marchează ca citit</string>
@@ -252,6 +260,8 @@
<string name="download_error_forbidden">Serverul podcastului refuză să răspundă.</string>
<string name="download_canceled_msg">Descărcare anulată</string>
<string name="download_error_wrong_size">Conexiunea cu serverul a fost pierdută înainte să se termine descărcarea.</string>
+ <string name="download_error_blocked">Descărcarea a fost blocată de o altă aplicație de pe dispozitivul dumneavoastră (VPN sau ad blocker).</string>
+ <string name="download_error_certificate">Nu s-a putut stabili o conexiune securizată. Acest lucru poate sugera că o aplicație de pe dispozitivul dumoneavoastră (VPN sau ad blocker) a blocat descărcarea, sau că ceva este în neregulă cu certificatele de la server.</string>
<string name="download_report_title">Descărcări terminate</string>
<string name="auto_download_report_title">Descărcările automate sunt complete</string>
<string name="download_error_io_error">Eroare IO</string>
@@ -268,6 +278,7 @@
<string name="download_type_feed">Feed</string>
<string name="download_type_media">Fișier media</string>
<string name="null_value_podcast_error">Nu a fost furnizat niciun podcast ce ar putea fi arătat.</string>
+ <string name="no_feed_url_podcast_found_by_search">Podcastul sugerat nu are un link RSS, AntennaPod a găsit un podcast care s-ar putea potrivi</string>
<string name="authentication_notification_title">Autentificare necesară</string>
<string name="authentication_notification_msg">Resursele cerute necesită un username si parolă</string>
<string name="confirm_mobile_download_dialog_title">Confirmați descărcarea folosind datele mobile</string>
@@ -336,6 +347,7 @@
<string name="storage_sum">Episoadele se șterg automat, Importă, Exportă</string>
<string name="project_pref">Proiect</string>
<string name="synchronization_pref">Sincronizare</string>
+ <string name="synchronization_sum">Sincronizare cu alte dispozitive</string>
<string name="automation">Automatizare</string>
<string name="download_pref_details">Detalii</string>
<string name="import_export_pref">Importă/Exportă</string>
@@ -427,8 +439,20 @@
<string name="pref_theme_title_dark">Întunecat</string>
<string name="pref_theme_title_trueblack">Negru (pentru AMOLED)</string>
<string name="pref_episode_cache_unlimited">Nelimitat</string>
+ <string name="synchronization_logout">Deconectare</string>
+ <string name="pref_synchronization_logout_toast">Deconectarea a reușit</string>
<string name="pref_gpodnet_setlogin_information_title">Schimbă informațiile de autentificare</string>
<string name="pref_gpodnet_setlogin_information_sum">Schimbă informațiile de autentificare pentru contul tău gpodder.net.</string>
+ <string name="synchronization_sync_changes_title">Sincronizează acum</string>
+ <string name="synchronization_full_sync_title">Forțează sincronizarea completă</string>
+ <string name="synchronization_login_status"><![CDATA[Conectat ca <i>%1$s</i> pe <i>%2$s</i>. <br/><br/>Puteți să vă alegeți furnizorul de sincronizare din nou, după ce v-ați deconectat]]></string>
+ <string name="synchronization_summary_unchoosen">Puteți alege dintre furnizori multipli pentru a vă sincroniza abonamentele dumneavoastră și starea episoadelor</string>
+ <string name="synchronization_summary_nextcloud">Gpoddersync este o aplicație Nextcould cu sursă deschisă ce poate fii instalată cu ușurință pe serverul dumneavoastră. Aceasta aplicație este independenta de proiectul AntennaPod.</string>
+ <string name="synchronization_nextcloud_authenticate_browser">Oferă acces folosint web browserul deschis și întorcețivă la AntennaPod.</string>
+ <string name="synchronization_choose_title">Alege furnizorul de sincronizare</string>
+ <string name="synchronization_force_sync_summary">Resincronizează toate abonamentele și starea episoadelor</string>
+ <string name="synchronization_sync_summary">Sincronizează schimbările abonamentelor și starea episoadelor </string>
+ <string name="dialog_choose_sync_service_title">Alege furnizorul de sincronizare</string>
<string name="pref_playback_speed_sum">Personalizați viteza variabilă pentru redare</string>
<string name="pref_feed_playback_speed_sum">Viteza de redare folosită la pornirea redării audio pentru episoadele din acest podcast</string>
<string name="pref_feed_skip">Ignorare automată</string>
@@ -508,6 +532,8 @@
<string name="new_episode_notification_disabled">Notificări oprite</string>
<string name="pref_feed_settings_dialog_msg">Această setare este unică pentru fiecare podcast. Poți schimba această setare dacă deschizi pagina podcastului.</string>
<string name="pref_contribute">Contribuie</string>
+ <string name="pref_show_subscription_title">Arată titlul abonamentului</string>
+ <string name="pref_show_subscription_title_summary">Arată titlul abonamentului sub imaginea de copertă.</string>
<!--About screen-->
<string name="about_pref">Despre</string>
<string name="antennapod_version">Versiune AntennaPod</string>
@@ -530,6 +556,7 @@
<string name="sync_status_episodes_download">Se descarcă modificările episoadelor...</string>
<string name="sync_status_upload_played">Se încarcă starea fișierelor redate...</string>
<string name="sync_status_subscriptions">Se sincronizează abonamentele...</string>
+ <string name="sync_status_wait_for_downloads">Aștepați ca descărcarea să se încheie...</string>
<string name="sync_status_success">Sincronizarea a reușit</string>
<string name="sync_status_error">Sincronizarea a eșuat</string>
<!--import and export-->
@@ -630,6 +657,7 @@
<string name="preview_episode">Previzualizare</string>
<string name="stop_preview">Oprește previzualizarea</string>
<!--Content descriptions for image buttons-->
+ <string name="toolbar_back_button_content_description">Înapoi</string>
<string name="rewind_label">Înapoi</string>
<string name="fast_forward_label">Repede înainte</string>
<string name="increase_speed">Mărește viteza</string>
@@ -647,18 +675,26 @@
<!--Feed settings/information screen-->
<string name="authentication_label">Autentificare</string>
<string name="authentication_descr">Schimbăți numele si parola pentru acest podcast și episoadele sale,</string>
+ <string name="feed_tags_label">Etichete</string>
+ <string name="feed_tags_summary">Schimbă etichetele acestui podcast pentru a putea organiza abonamentele dumneavoastră</string>
<string name="feed_folders_include_root">Arată în lista principală</string>
+ <string name="multi_feed_common_tags_info">{fa-info-circle} Doar etichetele comune din toate abonamentele selectate sunt arătate. Alte etichete rămân neafectate.</string>
<string name="auto_download_settings_label">Descarcă automat setările</string>
<string name="episode_filters_label">Filtru setări</string>
<string name="episode_filters_description">Listă de termeni folosită pentru a decide dacă un episod va fi sau nu inclus când descărcarea automată este pornită</string>
<string name="episode_filters_include">Include</string>
<string name="episode_filters_exclude">Exclude</string>
+ <string name="episode_filters_duration">Durata minimă (în minute)</string>
<string name="episode_filters_hint">Un singur cuvânt \n\"Cuvinte multiple\"</string>
<string name="keep_updated">Menține actualizat</string>
<string name="keep_updated_summary">Include acest podcast când reîmprospătarea automată a podcasturilor este pornită</string>
<string name="auto_download_disabled_globally">Descărcarea automată este oprită în setările generale ale AntennaPod</string>
+ <string name="statistics_time_played">Timpul redat:</string>
+ <string name="statistics_total_duration">Durata totală (estimată):</string>
+ <string name="statistics_duration_played_episodes">Durata episoadelor redate:</string>
<string name="statistics_episodes_on_device">Episoade pe acest dispozitiv:</string>
<string name="statistics_space_used">Spațiu folosit:</string>
+ <string name="statistics_episodes_started_total">Episoade pornite/total:</string>
<string name="statistics_view_all">Vizualizare a tuturor podcasturilor »</string>
<!--AntennaPodSP-->
<string name="sp_apps_importing_feeds_msg">Importare abonamente din aplicații cu un singur scop...</string>
@@ -703,6 +739,8 @@
<string name="sort_date_old_new">Data (Nouă \u2192 Veche)</string>
<string name="sort_duration_short_long">Durată (Shortă \u2192 Lungă)</string>
<string name="sort_duration_long_short">Durată (Lungă \u2192 Scurtă)</string>
+ <string name="sort_filename_a_z">Numele fișierului (A \u2192 Z)</string>
+ <string name="sort_filename_z_a">Numele fișierului (Z \u2192 A)</string>
<string name="sort_a_z">A \u2192 Z</string>
<string name="sort_z_a">Z \u2192 A</string>
<string name="sort_new_old">Nou \u2192 Vechi</string>
@@ -719,7 +757,9 @@
<string name="share_dialog_include_label">Include:</string>
<string name="share_playback_position_dialog_label">Poziția de redare</string>
<string name="share_dialog_episode_website_label">Pagina web a episodului</string>
+ <string name="share_dialog_link_to_episode">Linkul episodului</string>
<string name="share_dialog_media_file_label">Fișier media</string>
+ <string name="share_starting_position_label">Pornind de la </string>
<!--Audio controls-->
<string name="audio_controls">Control audio</string>
<string name="playback_speed">Viteza de redare</string>
@@ -766,4 +806,7 @@
<string name="on_demand_config_setting_changed">Setarea a fost actualizată cu succes</string>
<string name="on_demand_config_stream_text">Se pare că faci streaming foarte mult. Dorești ca lista de episoade să arate butonul de stream ?</string>
<string name="on_demand_config_download_text">Se pare că descarci foarte mult. Dorești ca lista de episoade să arate butonul de descărcare ?</string>
+ <string name="shortcut_subscription_label">Scurtătură pentru abonamente</string>
+ <string name="shortcut_select_subscription">Selectează abonamentul</string>
+ <string name="add_shortcut">Adaugă scurtătură</string>
</resources>
diff --git a/core/src/main/res/values-ru/strings.xml b/core/src/main/res/values-ru/strings.xml
index cbbf1a37d..01dd6fe81 100644
--- a/core/src/main/res/values-ru/strings.xml
+++ b/core/src/main/res/values-ru/strings.xml
@@ -185,6 +185,9 @@
<item quantity="many">%d подписок обновлено.</item>
<item quantity="other">%d подписок обновлено.</item>
</plurals>
+ <string name="edit_tags">Редактировать метки</string>
+ <string name="rename_tag_label">Переименовать метку</string>
+ <string name="confirm_mobile_feed_refresh_dialog_message">Загрузка выпусков через мобильное соединение отключена в настройках.\n\nВы действительно хотите обновить подкасты через мобильное соединение?</string>
<!--actions on feeditems-->
<string name="download_label">Загрузить</string>
<plurals name="downloading_batch_label">
@@ -199,6 +202,12 @@
<string name="delete_label">Удалить</string>
<string name="delete_failed">Невозможно удалить файл. Попробуйте перезагрузить устройство.</string>
<string name="delete_episode_label">Удалить выпуск</string>
+ <plurals name="deleted_multi_episode_batch_label">
+ <item quantity="one">%d загруженный выпуск удалён.</item>
+ <item quantity="few">%d загруженных выпуска удалёно.</item>
+ <item quantity="many">%d загруженных выпусков удалёно.</item>
+ <item quantity="other">%d загруженных выпусков удалёно.</item>
+ </plurals>
<string name="remove_new_flag_label">Убрать пометку «Новый»</string>
<string name="removed_new_flag_label">Пометка «Новый» убрана</string>
<string name="mark_read_label">Отметить как прослушанное</string>
@@ -264,6 +273,8 @@
<string name="download_error_forbidden">Сервер подкаста отказывает в ответе.</string>
<string name="download_canceled_msg">Загрузка отменена</string>
<string name="download_error_wrong_size">Соединение с сервером было оборвано до завершения загрузки.</string>
+ <string name="download_error_blocked">Загрузка была заблокирована другим приложением на вашем устройстве (например, VPN или блокировщиком рекламы).</string>
+ <string name="download_error_certificate">Невозможно установить защищённое соединение. Возможно загрузке препятствует другое приложение (например, VPN или блокировщик рекламы), либо что-то не так с сертификатом сервера.</string>
<string name="download_report_title">Загрузки завершились с ошибкой</string>
<string name="auto_download_report_title">Автозагрузка завершена</string>
<string name="download_error_io_error">Ошибка ввода-вывода</string>
@@ -281,6 +292,7 @@
<string name="download_type_feed">Канал</string>
<string name="download_type_media">Медиафайл</string>
<string name="null_value_podcast_error">Не указан подкаст, который следовало бы показать.</string>
+ <string name="no_feed_url_podcast_found_by_search">У предложенного подкаста отсутствует RSS-ссылка, AntennaPod нашел подкаст, который возможно ему соответствует</string>
<string name="authentication_notification_title">Необходима авторизация</string>
<string name="authentication_notification_msg">Для доступа к ресурсу необходимо ввести имя пользователя и пароль</string>
<string name="confirm_mobile_download_dialog_title">Подтвердите загрузку через мобильное соединение</string>
@@ -349,6 +361,7 @@
<string name="storage_sum">Автоматическое удаление выпусков, импорт, экспорт</string>
<string name="project_pref">Проект</string>
<string name="synchronization_pref">Синхронизация</string>
+ <string name="synchronization_sum">Синхронизация с другими устройствами</string>
<string name="automation">Автоматизация</string>
<string name="download_pref_details">Подробнее</string>
<string name="import_export_pref">Импорт/экспорт</string>
@@ -441,8 +454,20 @@
<string name="pref_theme_title_dark">Темная</string>
<string name="pref_theme_title_trueblack">Черная (для AMOLED)</string>
<string name="pref_episode_cache_unlimited">Неограничен</string>
+ <string name="synchronization_logout">Выход</string>
+ <string name="pref_synchronization_logout_toast">Выход успешно выполнен</string>
<string name="pref_gpodnet_setlogin_information_title">Изменить информацию авторизации</string>
<string name="pref_gpodnet_setlogin_information_sum">Изменить информацию авторизации для аккаунта gpodder.net</string>
+ <string name="synchronization_sync_changes_title">Синхронизировать сейчас</string>
+ <string name="synchronization_full_sync_title">Выполнить полную синхронизацию</string>
+ <string name="synchronization_login_status"><![CDATA[Авторизованы как <i>%1$s</i> на <i>%2$s</i>. <br/><br/>Вы сможете снова выбрать провайдера синхронизации после выхода из системы]]></string>
+ <string name="synchronization_summary_unchoosen">Вы можете выбрать провайдера для сихронизации ваших подписок и состояния воспроизведения выпусков</string>
+ <string name="synchronization_summary_nextcloud">Gpoddersync — приложение с открытым исходным кодом для Nextcloud, которое вы можете установить на свой сервер. Это приложение не связано с проектом AntennaPod.</string>
+ <string name="synchronization_nextcloud_authenticate_browser">Предоставить доступ, открыв веб-браузер, и вернуться в AntennaPod.</string>
+ <string name="synchronization_choose_title">Выберите провайдера синхронизации</string>
+ <string name="synchronization_force_sync_summary">Пересихронизировать ваши подписки и состояние выпусков</string>
+ <string name="synchronization_sync_summary">Сихронизировать ваши подписки и изменения состояния выпусков</string>
+ <string name="dialog_choose_sync_service_title">Выберите провайдера синхронизации</string>
<string name="pref_playback_speed_sum">Выбрать значения скорости, доступные при воспроизведении</string>
<string name="pref_feed_playback_speed_sum">Скорость, с которой будут изначально воспроизводиться выпуски этого подкаста</string>
<string name="pref_feed_skip">Автоматический пропуск</string>
@@ -522,6 +547,8 @@
<string name="new_episode_notification_disabled">Без уведомления</string>
<string name="pref_feed_settings_dialog_msg">Эта настройка у каждого подкаста своя. Изменить её можно открыв страницу подкаста.</string>
<string name="pref_contribute">Поучаствовать</string>
+ <string name="pref_show_subscription_title">Показать название подписки</string>
+ <string name="pref_show_subscription_title_summary">Отображать название подписки внизу обложки.</string>
<!--About screen-->
<string name="about_pref">О программе</string>
<string name="antennapod_version">Версия AntennaPod</string>
@@ -544,6 +571,7 @@
<string name="sync_status_episodes_download">Загрузка изменений выпуска…</string>
<string name="sync_status_upload_played">Отправка состояния прослушивания…</string>
<string name="sync_status_subscriptions">Синхронизация подписок…</string>
+ <string name="sync_status_wait_for_downloads">Ожидаем завершения загрузок…</string>
<string name="sync_status_success">Синхронизация выполнена</string>
<string name="sync_status_error">Сбой синхронизации</string>
<!--import and export-->
@@ -647,6 +675,7 @@
<string name="preview_episode">Предпросмотр</string>
<string name="stop_preview">Остановить предпросмотр</string>
<!--Content descriptions for image buttons-->
+ <string name="toolbar_back_button_content_description">Назад</string>
<string name="rewind_label">Назад</string>
<string name="fast_forward_label">Вперед</string>
<string name="increase_speed">Увеличить скорость</string>
@@ -664,18 +693,26 @@
<!--Feed settings/information screen-->
<string name="authentication_label">Авторизация</string>
<string name="authentication_descr">Изменить имя пользователя и пароль для этого подкаста и его выпусков.</string>
+ <string name="feed_tags_label">Метки</string>
+ <string name="feed_tags_summary">Измените метки для этого подкаста, чтобы помочь организовать ваши подписки</string>
<string name="feed_folders_include_root">Показывать в основном списке</string>
+ <string name="multi_feed_common_tags_info">{fa-info-circle} Отображаются только общие метки для всех выбранных подписок. Другие метки остаются незатронутыми.</string>
<string name="auto_download_settings_label">Настройки автозагрузки</string>
<string name="episode_filters_label">Фильтр выпусков</string>
<string name="episode_filters_description">Перечень условий по включению или исключению выпуска из списков автоматической загрузки</string>
<string name="episode_filters_include">Включить</string>
<string name="episode_filters_exclude">Исключить</string>
+ <string name="episode_filters_duration">Минимальная продолжительность (в минутах)</string>
<string name="episode_filters_hint">По одному слову \n\"По фразе\"</string>
<string name="keep_updated">Постоянно обновлять</string>
<string name="keep_updated_summary">Обновлять подкаст при (авто)обновлении всех подкастов</string>
<string name="auto_download_disabled_globally">Автоматическая загрузка отключена в основных настройках AntennaPod</string>
+ <string name="statistics_time_played">Времени прослушано:</string>
+ <string name="statistics_total_duration">Общая продолжительность (примерно):</string>
+ <string name="statistics_duration_played_episodes">Длительность прослушанных выпусков:</string>
<string name="statistics_episodes_on_device">Выпуски на устройстве:</string>
<string name="statistics_space_used">Используемое пространство:</string>
+ <string name="statistics_episodes_started_total">Выпусков начато/всего:</string>
<string name="statistics_view_all">Просмотреть все подкасты »</string>
<!--AntennaPodSP-->
<string name="sp_apps_importing_feeds_msg">Импорт подписок из моноприложений…</string>
@@ -720,6 +757,8 @@
<string name="sort_date_old_new">от старых к новым</string>
<string name="sort_duration_short_long">от коротких к длинным</string>
<string name="sort_duration_long_short">от длинных к коротким</string>
+ <string name="sort_filename_a_z">имя файла от А к Я</string>
+ <string name="sort_filename_z_a">имя файла от Я к А</string>
<string name="sort_a_z">от А к Я</string>
<string name="sort_z_a">от Я к А</string>
<string name="sort_new_old">от новых к старым</string>
@@ -736,7 +775,9 @@
<string name="share_dialog_include_label">Включая:</string>
<string name="share_playback_position_dialog_label">Позиция воспроизведения</string>
<string name="share_dialog_episode_website_label">Вебстраница выпуска</string>
+ <string name="share_dialog_link_to_episode">Ссылка на выпуск</string>
<string name="share_dialog_media_file_label">Медиафайл</string>
+ <string name="share_starting_position_label">начиная с</string>
<!--Audio controls-->
<string name="audio_controls">Управление звучанием</string>
<string name="playback_speed">Скорость воспроизведения</string>
@@ -783,4 +824,7 @@
<string name="on_demand_config_setting_changed">Настройки успешно обновлены.</string>
<string name="on_demand_config_stream_text">Похоже, вы часто слушаете по сети. Хотите, чтобы в списке выпусков отображались кнопки для потокового воспроизведения?</string>
<string name="on_demand_config_download_text">Похоже, вы часто слушаете загружаете выпуски. Хотите, чтобы в списке выпусков отображались кнопки для загрузки?</string>
+ <string name="shortcut_subscription_label">Ярлык подписки</string>
+ <string name="shortcut_select_subscription">Выбрать подписку</string>
+ <string name="add_shortcut">Добавить ярлык</string>
</resources>
diff --git a/core/src/main/res/values-sv/strings.xml b/core/src/main/res/values-sv/strings.xml
index 80bff0452..caabb24cf 100644
--- a/core/src/main/res/values-sv/strings.xml
+++ b/core/src/main/res/values-sv/strings.xml
@@ -171,11 +171,14 @@
<item quantity="one">%d prenumeration uppdaterad.</item>
<item quantity="other">%d prenumerationer uppdaterade.</item>
</plurals>
+ <string name="edit_tags">Redigera etiketter</string>
+ <string name="rename_tag_label">Byt namn på etikett</string>
+ <string name="confirm_mobile_feed_refresh_dialog_message">Nedladdning av episoder över mobil dataanslutning är avstängt i inställningarna.\n\nVill du fortfarande uppdatera alla podcasts över mobildata?</string>
<!--actions on feeditems-->
<string name="download_label">Ladda ned</string>
<plurals name="downloading_batch_label">
<item quantity="one">Laddar ner 1%d episod.</item>
- <item quantity="other">Laddar ner 1%d episoder.</item>
+ <item quantity="other">Laddar ner %d episoder.</item>
</plurals>
<string name="play_label">Spela</string>
<string name="pause_label">Pausa</string>
@@ -183,6 +186,10 @@
<string name="delete_label">Ta bort</string>
<string name="delete_failed">Kunde inte ta bort filen. Testa att starta om enheten.</string>
<string name="delete_episode_label">Radera episod</string>
+ <plurals name="deleted_multi_episode_batch_label">
+ <item quantity="one">1 nedladdad episod borttagen.</item>
+ <item quantity="other">%d nedladdade episoder borttagna.</item>
+ </plurals>
<string name="remove_new_flag_label">Ta bort \"ny\"-flagga</string>
<string name="removed_new_flag_label">Tog bort \"ny\"-flagga</string>
<string name="mark_read_label">Markera som spelad</string>
@@ -192,24 +199,24 @@
<string name="play_this_to_seek_position">Spela episoden för att kunna hoppa till olika positioner</string>
<plurals name="marked_read_batch_label">
<item quantity="one">1%d episod markerad som spelad.</item>
- <item quantity="other">1%d episoder markerade som spelade.</item>
+ <item quantity="other">%d episoder markerade som spelade.</item>
</plurals>
<string name="mark_unread_label">Markera som ospelad</string>
<string name="mark_unread_label_no_media">Markera som ospelad</string>
<plurals name="marked_unread_batch_label">
<item quantity="one">1%d episod markerad som ospelad.</item>
- <item quantity="other">1%d episoder markerade som ospelade.</item>
+ <item quantity="other">%d episoder markerade som ospelade.</item>
</plurals>
<string name="add_to_queue_label">Lägg till i kön</string>
<string name="added_to_queue_label">Tillagd i kön</string>
<plurals name="added_to_queue_batch_label">
<item quantity="one">1%d episod tillagd i kön.</item>
- <item quantity="other">1%d episoder tillagda i kön.</item>
+ <item quantity="other">%d episoder tillagda i kön.</item>
</plurals>
<string name="remove_from_queue_label">Ta bort från Kön</string>
<plurals name="removed_from_queue_batch_label">
<item quantity="one">1%d episod borttagen från kön.</item>
- <item quantity="other">1%d episoder borttagna från kön.</item>
+ <item quantity="other">%d episoder borttagna från kön.</item>
</plurals>
<string name="add_to_favorite_label">Lägg till i favoriter</string>
<string name="remove_from_favorite_label">Ta bort från favoriter</string>
@@ -240,6 +247,8 @@
<string name="download_error_forbidden">Podcastens server svarade inte.</string>
<string name="download_canceled_msg">Nedladdning avbruten</string>
<string name="download_error_wrong_size">Serveranslutningen förlorades innan nedladdningen var klar.</string>
+ <string name="download_error_blocked">Nedladdningen blockerades av en annan app på din enhet (exepelvis en VPN eller reklamblockerare).</string>
+ <string name="download_error_certificate">Kan inte etablera en säker anslutning. Detta kan betyda att en annan app på din enhet (exempelvis en VPN eller reklamblockerare) blockerade nedladdningen, eller att någonting är fel med servercertifikaten.</string>
<string name="download_report_title">Nedladdningar avslutades med fel</string>
<string name="auto_download_report_title">Automatiska nedladdningar klara</string>
<string name="download_error_io_error">IO fel</string>
@@ -255,6 +264,7 @@
<string name="download_type_feed">Flöde</string>
<string name="download_type_media">Mediafil</string>
<string name="null_value_podcast_error">Inga tillhandahållna podcasts som kunde visas.</string>
+ <string name="no_feed_url_podcast_found_by_search">Den föreslagna podcasten hade inte en RSS-länk, AntennaPod hittade en podcast som kunde matcha</string>
<string name="authentication_notification_title">Autentisering krävs</string>
<string name="authentication_notification_msg">Resursen du begärde kräver ett användarnamn och ett lösenord</string>
<string name="confirm_mobile_download_dialog_title">Bekräfta mobil nedladdning</string>
@@ -323,6 +333,7 @@
<string name="storage_sum">Automatisk episodradering, Import, Export</string>
<string name="project_pref">Projekt</string>
<string name="synchronization_pref">Synkronisering</string>
+ <string name="synchronization_sum">Synkronisera med andra enheter</string>
<string name="automation">Automatisering</string>
<string name="download_pref_details">Detaljer</string>
<string name="import_export_pref">Importera/Exportera</string>
@@ -413,8 +424,20 @@
<string name="pref_theme_title_dark">Mörkt</string>
<string name="pref_theme_title_trueblack">Svart (AMOLED redo)</string>
<string name="pref_episode_cache_unlimited">Obegränsat</string>
+ <string name="synchronization_logout">Logga ut</string>
+ <string name="pref_synchronization_logout_toast">Utloggning lyckades</string>
<string name="pref_gpodnet_setlogin_information_title">Ändra inloggningsinformation</string>
<string name="pref_gpodnet_setlogin_information_sum">Ändra inloggningsinformationen för ditt gpodder.net konto.</string>
+ <string name="synchronization_sync_changes_title">Synkronisera nu</string>
+ <string name="synchronization_full_sync_title">Tvinga full synkronisering</string>
+ <string name="synchronization_login_status"><![CDATA[Inloggad som <i>%1$s</i> på <i>%2$s</i>. <br/><br/> Du kan välja en ny synkroniseringsleverantör när du har loggat ut]]></string>
+ <string name="synchronization_summary_unchoosen">Du kan välja från flera leverantörer att synkronisera dina prenumerationer och episoders uppspelningsstatus med</string>
+ <string name="synchronization_summary_nextcloud">Gpoddersync är en Nexcloud-app med öppen källkod som du enkelt kan installera på din egen server. Appen är oberoende från AntennaPod-projektet.</string>
+ <string name="synchronization_nextcloud_authenticate_browser">Get tillåtelse med webbläsaren som öppnades och kom tillbaka till AntennaPod.</string>
+ <string name="synchronization_choose_title">Välj din synkroniseringsleverantör</string>
+ <string name="synchronization_force_sync_summary">Synkronisera om alla prenumerationer och episodstatusar</string>
+ <string name="synchronization_sync_summary">Synkronisera ändringar i prenumerationer och episodstatusar</string>
+ <string name="dialog_choose_sync_service_title">Välj synkroniseringsleverantör</string>
<string name="pref_playback_speed_sum">Anpassa de tillgängliga hastigheterna för variabel uppspelningshastighet</string>
<string name="pref_feed_playback_speed_sum">Uppspelningshastigheten att använda för episoder i denna podcast</string>
<string name="pref_feed_skip">Automatisk överhoppning</string>
@@ -494,6 +517,8 @@
<string name="new_episode_notification_disabled">Avisering avstängt</string>
<string name="pref_feed_settings_dialog_msg">Denna inställning är unik för var podcast. Du kan ändra den genom att öppna podcastsidan.</string>
<string name="pref_contribute">Bidra</string>
+ <string name="pref_show_subscription_title">Visa Prenumerationstitel</string>
+ <string name="pref_show_subscription_title_summary">Visa titel på prenumerationen under omslagsbilden.</string>
<!--About screen-->
<string name="about_pref">Om</string>
<string name="antennapod_version">AntennaPod version</string>
@@ -516,6 +541,7 @@
<string name="sync_status_episodes_download">Laddar ner episodändringar...</string>
<string name="sync_status_upload_played">Laddar upp spelliststatus</string>
<string name="sync_status_subscriptions">Synkroniserar prenumerationer</string>
+ <string name="sync_status_wait_for_downloads">Väntar på nedladdningar...</string>
<string name="sync_status_success">Synkronisering lyckades</string>
<string name="sync_status_error">Synkronisering misslyckades</string>
<!--import and export-->
@@ -613,6 +639,7 @@
<string name="preview_episode">Förhandsvisning</string>
<string name="stop_preview">Stoppa förhandsvisning</string>
<!--Content descriptions for image buttons-->
+ <string name="toolbar_back_button_content_description">Tillbaka</string>
<string name="rewind_label">Backa</string>
<string name="fast_forward_label">Snabbspola</string>
<string name="increase_speed">Öka hastigheten</string>
@@ -630,18 +657,26 @@
<!--Feed settings/information screen-->
<string name="authentication_label">Autentisering</string>
<string name="authentication_descr">Byt ditt användarnamn och lösenord för den här podcasten och dess episoder.</string>
+ <string name="feed_tags_label">Etiketter</string>
+ <string name="feed_tags_summary">Ändra etiketterna för denna podcast för att organisera prenumerationerna</string>
<string name="feed_folders_include_root">Visa i huvudlistan</string>
+ <string name="multi_feed_common_tags_info">{fa-info-circle} Bara etiketter gemensamma med alla valda prenumerationer visas. Andra etiketter påverkas inte.</string>
<string name="auto_download_settings_label">Automatisk nedladdningsinställningar</string>
<string name="episode_filters_label">Episodfilter</string>
<string name="episode_filters_description">Lista av termer som används för att avgöra om en episod ska inkluderas eller exkluderas vid automatisk nedladdning</string>
<string name="episode_filters_include">Inkludera</string>
<string name="episode_filters_exclude">Exkludera</string>
+ <string name="episode_filters_duration">Minsta längd (i minuter)</string>
<string name="episode_filters_hint">Enstaka ord \n\"Flera ord\"</string>
<string name="keep_updated">Håll uppdaterad</string>
<string name="keep_updated_summary">Inkludera detta flöde vid (auto-)uppdatering av alla podcasts</string>
<string name="auto_download_disabled_globally">Automatisk nedladdning är avstängt i AntennaPods huvudinställningar</string>
+ <string name="statistics_time_played">Tid spelad:</string>
+ <string name="statistics_total_duration">Total längd (uppskattning):</string>
+ <string name="statistics_duration_played_episodes">Längd på spelade episoder:</string>
<string name="statistics_episodes_on_device">Episoder på enheten:</string>
<string name="statistics_space_used">Använt utrymme:</string>
+ <string name="statistics_episodes_started_total">Episoder startade/totalt:</string>
<string name="statistics_view_all">Visa för alla podcasts »</string>
<!--AntennaPodSP-->
<string name="sp_apps_importing_feeds_msg">Importerar prenumerationer från appar gjorda för ett enda syfte…</string>
@@ -686,6 +721,8 @@
<string name="sort_date_old_new">Datum (Gammal \u2192 Ny)</string>
<string name="sort_duration_short_long">Längd (Kort \u2192 Lång)</string>
<string name="sort_duration_long_short">Längd (Lång \u2192 Kort)</string>
+ <string name="sort_filename_a_z">Filnamn (A \u2192 Ö)</string>
+ <string name="sort_filename_z_a">Filnamne (Ö \u2192 A)</string>
<string name="sort_a_z">A \u2192 Ö</string>
<string name="sort_z_a">Ö \u2192 A</string>
<string name="sort_new_old">Ny \u2192 Gammal</string>
@@ -702,7 +739,9 @@
<string name="share_dialog_include_label">Inkludera:</string>
<string name="share_playback_position_dialog_label">Uppspelningsposition</string>
<string name="share_dialog_episode_website_label">Episodes webbplats</string>
+ <string name="share_dialog_link_to_episode">Länk till episod</string>
<string name="share_dialog_media_file_label">Mediafil</string>
+ <string name="share_starting_position_label">Startar från</string>
<!--Audio controls-->
<string name="audio_controls">Ljudkontroller</string>
<string name="playback_speed">Uppspelningshastighet</string>
@@ -749,4 +788,7 @@
<string name="on_demand_config_setting_changed">Inställningen sparad.</string>
<string name="on_demand_config_stream_text">Det verkar som att du strömmar mycket. Vill du att episodlistan ska visa strömmningsknapparna?</string>
<string name="on_demand_config_download_text">Det verkar som at du laddar ner mycket. Vill du att episodlistan ska visa nedladdningsknapparna?</string>
+ <string name="shortcut_subscription_label">Prenumerationsgenväg</string>
+ <string name="shortcut_select_subscription">Välj prenumeration</string>
+ <string name="add_shortcut">Lägg till genväg</string>
</resources>
diff --git a/parser/feed/src/main/java/de/danoeh/antennapod/parser/feed/namespace/Rss20.java b/parser/feed/src/main/java/de/danoeh/antennapod/parser/feed/namespace/Rss20.java
index 1c1ba9f53..b19500895 100644
--- a/parser/feed/src/main/java/de/danoeh/antennapod/parser/feed/namespace/Rss20.java
+++ b/parser/feed/src/main/java/de/danoeh/antennapod/parser/feed/namespace/Rss20.java
@@ -130,7 +130,7 @@ public class Rss20 extends Namespace {
if (CHANNEL.equals(second) && state.getFeed() != null) {
state.getFeed().setDescription(contentFromHtml);
} else if (ITEM.equals(second) && state.getCurrentItem() != null) {
- state.getCurrentItem().setDescriptionIfLonger(contentFromHtml);
+ state.getCurrentItem().setDescriptionIfLonger(content); // fromHtml here breaks \n when not html
}
} else if (LANGUAGE.equals(localName) && state.getFeed() != null) {
state.getFeed().setLanguage(content.toLowerCase(Locale.US));
diff --git a/parser/media/src/main/java/de/danoeh/antennapod/parser/media/vorbis/VorbisCommentReader.java b/parser/media/src/main/java/de/danoeh/antennapod/parser/media/vorbis/VorbisCommentReader.java
index 607172531..3d5f29f17 100644
--- a/parser/media/src/main/java/de/danoeh/antennapod/parser/media/vorbis/VorbisCommentReader.java
+++ b/parser/media/src/main/java/de/danoeh/antennapod/parser/media/vorbis/VorbisCommentReader.java
@@ -41,7 +41,7 @@ public abstract class VorbisCommentReader {
public void readInputStream(InputStream input) throws VorbisCommentReaderException {
try {
- skipIdentificationHeader(input);
+ findIdentificationHeader(input);
onVorbisCommentFound();
findOggPage(input);
findCommentHeader(input);
@@ -61,7 +61,11 @@ public abstract class VorbisCommentReader {
byte[] buffer = new byte[4];
final byte[] oggPageHeader = {'O', 'g', 'g', 'S'};
for (int bytesRead = 0; bytesRead < SECOND_PAGE_MAX_LENGTH; bytesRead++) {
- buffer[bytesRead % buffer.length] = (byte) input.read();
+ int data = input.read();
+ if (data == -1) {
+ throw new IOException("EOF while trying to find vorbis page");
+ }
+ buffer[bytesRead % buffer.length] = (byte) data;
if (bufferMatches(buffer, oggPageHeader, bytesRead)) {
break;
}
@@ -103,7 +107,7 @@ public abstract class VorbisCommentReader {
* Looks for an identification header in the first page of the file. If an
* identification header is found, it will be skipped completely
*/
- private void skipIdentificationHeader(InputStream input) throws IOException {
+ private void findIdentificationHeader(InputStream input) throws IOException {
byte[] buffer = new byte[FIRST_OPUS_PAGE_LENGTH];
IOUtils.readFully(input, buffer);
final byte[] oggIdentificationHeader = new byte[]{ PACKET_TYPE_IDENTIFICATION, 'v', 'o', 'r', 'b', 'i', 's' };
@@ -115,6 +119,7 @@ public abstract class VorbisCommentReader {
return;
}
}
+ throw new IOException("No vorbis identification header found");
}
private void findCommentHeader(InputStream input) throws IOException {