98 Commits
Author SHA1 Message Date
Jordan Petridis 885b796f85 New release 0.4.6 2018-10-07 10:18:15 +03:00
Jordan Petridis fa47806c93 Update Changelog 2018-10-07 10:18:14 +03:00
Emin Tufan Çetin 5997666bad Update Turkish translation 2018-10-06 15:53:09 +00:00
Jordan Petridis 40186ce155 Update dependancies 2018-10-06 11:29:52 +03:00
Jordan Petridis 9cfdb35224 AboutDialog: Update contributors list 2018-10-06 11:09:07 +03:00
Jordan Petridis 64860c4624 Update screenshots 2018-10-06 10:32:46 +03:00
Jordan Petridis 32bd2a89a3 Stacks: Check if there episodes insteads of shows
If you added a Feed where a Show exists but it had no episodes
entries, the stack would end up in a populated state, but the
HomeView would be blank without widgets.

This changes it so the stack state depends upon the episodes
table being populated instead of the show. The downside
is that if your only feed is one without episodes you can
no longer navigate and interact with it.
2018-10-06 10:22:24 +03:00
Rafael Fontenelle 1e6eca307b Update Brazilian Portuguese translation 2018-10-05 14:19:31 +00:00
Jordan Petridis fc23fcd7c1 Merge branch 'patch-1' into 'master'
Fix typo

See merge request World/podcasts!78
2018-10-05 11:47:38 +00:00
Alexandre Franke ab52825c71 Fix typo 2018-10-05 10:04:44 +00:00
Jordan Petridis 28def30510 Update CHANGELOG.md 2018-10-05 09:25:56 +00:00
Florian Heiser 8f4d017180 Update German translation 2018-10-05 04:41:29 +00:00
Jordan Petridis df302ad517 Pipeline: Do not terminate the stream upon errors
Stream::for_each terminated the stream upon the first error. This
was causing feeds to not update if any one returned a non-200ish
result. To work around this, we create a succesfull result for
every entry regardless at the end.

While we are at it, aslo switch from FuturesOrdered stream
to FuturesUnordered. There is no reason to use Ordered, this was
a typo initially.
2018-10-04 18:48:11 +03:00
Jordan Petridis 357d99ac7c Remove temporary file 2018-10-04 17:18:07 +03:00
Jordan Petridis 7e3fecc44a Source: Refactor the clear_etags method api 2018-10-04 16:46:04 +03:00
Jordan Petridis e0b3dd9795 Mpris: Implement the raise method 2018-10-04 16:46:04 +03:00
Jordan Petridis 6a52a2bc46 Merge branch 'alatiera/player-timeout' into 'master'
Player: Tweak the smart rewind behavior

See merge request World/podcasts!76
2018-10-04 07:55:21 +00:00
Jordan Petridis cd2b087006 Player: Check the episode id before triggering a smart rewind 2018-10-04 05:27:11 +00:00
Jordan Petridis ef2940142c PlayerInfo: Store the id of the current playing episode 2018-10-04 05:27:11 +00:00
Jordan Petridis e13b8b8827 Player: Tweak the smart rewind behavior
Check if time interval passed since the last pause, and only
rewind if the delta to indicates that the user had
switched their focus.

In other words, avoid rewinding if the track was just paused and
resumed.
2018-10-04 05:27:11 +00:00
Jordan Petridis 43fce2e89a CI: Use generic bundle name
When run an environment CI_COMMIT_SHA is not resolved and results
into a 404 url in the review apps
2018-10-04 08:25:50 +03:00
Jordan Petridis 7856f0d602 Merge branch 'mpris' into 'master'
Implement MPRIS, Close #68

See merge request World/podcasts!74
2018-10-04 03:26:03 +00:00
Jordan Petridis bcc6ab50e2 PlayerInfo: Minor refactor of the mpris cover 2018-10-04 02:19:56 +00:00
Jordan Petridis 23aa8c05ab Player: Do not duplicate the mpris instance 2018-10-04 02:19:56 +00:00
Jordan Petridis 986d898217 Player: Remove an unwrap 2018-10-04 02:19:56 +00:00
Jordan Petridis 654c0e5e56 Player: Remove Initialization test
When constucting Player in the Sandbox, it tries to use X-11
for dbus-autolaunch which is disabled in the flatpak environment.

It fails with the following error:
D-Bus error: Using X11 for dbus-daemon autolaunch was disabled at compile time, set your DBUS_SESSION_BUS_ADDRESS instead (org.freedesktop.DBus.Error.NotSupported)
2018-10-04 02:19:56 +00:00
Felix Häcker fed0edbf16 Player: use crates.io package of mpris 2018-10-04 02:19:56 +00:00
Felix Häcker ede91da6f8 cargo fmt 2018-10-04 02:19:56 +00:00
Felix Häcker 1f18d4291f Player: implement fast forward / rewind for mpris 2018-10-04 02:19:56 +00:00
Felix Häcker d066e8939d Player: implement mpris play/pause callbacks 2018-10-04 02:19:56 +00:00
Felix Häcker e4c3435d34 Player: add basic mpris support 2018-10-04 02:19:56 +00:00
Jordan Petridis fc80b180bc CI: Allow rusftm check to fail for now
Stuff broke with rustfmt nightly 0.99.5 and I haven't found time
to look into it yet.
2018-10-04 05:17:21 +03:00
Jordan Petridis 0d9dca99e9 Meson: capture the output of the custom target
Previously meson would withhold the stdout output, and only
print it once the job was finished. This was a bit problematic
with the current way we wire cargo into meson, cause you have
no output of whats going on till then causing a degraded UX.

With this change output is printed directly to stdout and
behaves as expected.

https://mesonbuild.com/Reference-manual.html#custom_target
2018-10-04 04:58:57 +03:00
Kukuh Syafaat 2ff921cc1a Update Indonesian translation 2018-10-02 13:34:32 +00:00
Piotr Drąg e0e66fa6af Update Polish translation 2018-09-30 17:17:46 +00:00
Marek Černocký 110e29ec5a Update Czech translation 2018-09-29 19:31:22 +00:00
Jordan Petridis a2b6d622de Update dependancies 2018-09-29 13:58:45 +03:00
Jordan Petridis 0887789f5e Pipeline: Complete the move to Tokio Runtime 2018-09-29 13:35:45 +03:00
Jordan Petridis 3c4574f2ec scripts/test.sh: Don't keep build-dirs 2018-09-29 12:07:21 +03:00
Jordan Petridis 62029f6164 Pipeline: Minor refactor
Use the proper Stream API to return a future to run on the
executor. Previously I was using a workaround to convert the
Stream into a future and run it to completion in the Executor,
since I was not aware of a better API.
2018-09-29 12:03:00 +03:00
Jordan Petridis ba986847d6 Merge branch 'wip/hyper-12.X-update'
See merge request World/podcasts!75
2018-09-29 11:42:53 +03:00
Jordan Petridis fded78ce6f Flatpak: Switch to the master runtime again 2018-09-29 11:18:39 +03:00
Jordan Petridis 8d44649a1e Update dependancies 2018-09-29 09:54:06 +03:00
Jordan Petridis f4d0c51dc2 podcasts-downloader: Upgrade reqwests to 0.9 2018-09-29 09:54:06 +03:00
Jordan Petridis ba60db9977 podcasts-gtk: Upgrade reqwests to 0.9 2018-09-29 09:54:06 +03:00
Jordan Petridis 0a5a7a684d podcasts-downloader: Remove direct dependancy on hyper 2018-09-29 09:54:06 +03:00
Christopher Davis 7181c46ed5 podcasts-data: Upgrade hyper to 12.X
This also allows us to bump hyper_tls and native_tls, bringing
support for openssl 1.1.
2018-09-29 09:54:06 +03:00
Jordan Petridis afa7e69347 Update CHANGELOG.md 2018-09-28 23:56:51 +00:00
Jordan Petridis 5050dda4d2 Hamburger: Update to reflect the latest HIG changes
Preferences are now grouped with the application actions.
The About label was renamed to "About Podcasts".

https://mail.gnome.org/archives/desktop-devel-list/2018-September/msg00015.html
2018-09-29 02:43:19 +03:00
Florian Heiser 9ea1e16ac8 Update German translation 2018-09-27 15:32:33 +00:00
Rodrigo Lledó 922f44f605 Update Spanish translation 2018-09-24 10:17:44 +00:00
Adolfo Jayme Barrientos 6ea3fc918b Add Catalan translation 2018-09-24 07:52:18 +00:00
Kukuh Syafaat 0c201533f0 Update Indonesian translation 2018-09-22 08:20:38 +00:00
Jordan Petridis b1e99b96c4 CI: Switch the flatpak image 2018-09-22 04:53:08 +03:00
Jordan Petridis de1c8485ae Fix rustc warnings
New warnings were introduced with rustc 1.29.0

podcasts-data/src/lib.rs: this one can be removed once diesel is
upgraded.
https://github.com/diesel-rs/diesel/issues/1785#issuecomment-422577018

podcasts-gtk/src/i18n.rs: This is just a deprication warning
2018-09-22 04:47:24 +03:00
Jordan Petridis 565d1d0388 Build against the 3.28 runtime for now
Freedesktop 18.08.11 dropped openssl 1.0 which caused hyper to
no longer build. Reverting to the old runtime till hyper is
upgraded. See #84 for more.
2018-09-22 04:47:24 +03:00
gogo a15fea1d65 Update Croatian translation 2018-09-19 12:24:57 +00:00
Jordan Petridis da3cf6ca27 Flatpak: Pass configuration to libhandy
Do not build what we don't need.
2018-09-18 12:43:51 +03:00
Emin Tufan Çetin d8dbbc6832 Update Turkish translation 2018-09-15 20:11:23 +00:00
Marek Černocký 3563a964ef Add Czech translation 2018-09-15 05:15:51 +00:00
Jordan Petridis 208f0c248d Update rest of the dependancies 2018-09-13 15:47:40 +03:00
Jordan Petridis c0e034726a Upgrade gtk-rs and friends
Upgrade gtk-rs, and everything dependings on it like gst-rs and
libhandy bindigns
2018-09-13 15:47:40 +03:00
Rafael Fontenelle d676a7071a Update Brazilian Portuguese translation 2018-09-11 00:12:22 +00:00
Rūdolfs Mazurs a681b2c944 Add Latvian translation 2018-09-10 17:34:18 +00:00
Mario Blättermann c53701d56b Update German translation 2018-09-10 07:50:51 +00:00
Anders Jonsson a8c1f2eccc Update Swedish translation 2018-09-09 17:39:22 +00:00
Piotr Drąg cf7ee44efc Update Polish translation 2018-09-09 17:00:14 +00:00
Jordan Petridis 2e4a9eaaeb Update dependancies 2018-09-08 21:41:39 +03:00
Jordan Petridis 569a2b5694 Update CHANGELOG.md 2018-09-08 20:17:48 +03:00
Jordan Petridis baa84773a5 EpisodeWidget: Change the "cancel" action icon 2018-09-08 20:17:47 +03:00
Jordan Petridis a39e642b5a EpisodeWidget: Change cacnel button to an icon
This also reworks the button_box to be just a GtkBox instead.
I couldn't get ButtonBox to behave the way I wanted.

Fixes #89
2018-09-08 20:17:47 +03:00
Jordan Petridis e42cb49cbe EpisodeWidget: Hide total_size if request fails
This moves the rest of the methods of Progress struct to the downloader
trait and cancels the Progress if the request does nto succed.

Close #90
2018-09-08 20:17:47 +03:00
Jordan Petridis b40c12efbd Pipeline: Avoid spamming stderr when not needed
This commit add a new DataError Variant for feeds that return 304.
Its expected behaviror and the current API of Source::into_feed
is kinda limiting the return type to make it easier to handle.

Up till now 304 was returning an Error to early return. Ideally
Source::into_feed will return a Multi variant Result Enum.

example:

enum FeedResult {
    Ok(Success(feed)),
    Ok(NotModified),
    Err(err),
}

Hopefully in a refactor in the near Future™

Till then we will just have to match and ignore
DataError::FeedNotModified.
2018-09-08 20:17:47 +03:00
Jordan Petridis 3c5ddad133 DataError: Improve the FeedRedirect variant 2018-09-08 20:17:47 +03:00
Jordan Petridis 1ca4cb40dd Pipeline: clear the imports of fututres 2018-09-08 20:17:47 +03:00
Jordan Petridis 678b0b9db1 BaseView: Set minimum width to 360
While the HomeView and ShowView can't yet scale that low,
the ShowWidget could get to about 270p already which is not
desirable.

This commit sets the minimum width of all the Views to 360p,
which is our mobile target size.
2018-09-08 20:17:47 +03:00
Jordan Petridis e633fa41ac Pipeline: Minor formatting improvment 2018-09-08 20:17:47 +03:00
Jordan Petridis dac303e33b Pipeline: Use a custom tokio threadpool
This reverts commit e64883eecb
and 40dd2d6923

Seems like core.run() returns once its done even if there
are still tasks in the Runtime underneath. A way to solve that
would be to call the shutdown_on_idle method.

We need ownership of the threadpool in order to invoke
`shutdown_on_idle` method but core.runtime only returns a
referrence so we need to create our own threadpool.
2018-09-08 20:17:46 +03:00
Jordan Petridis fd77d672c5 Update Changelog 2018-09-08 20:17:46 +03:00
Jordan Petridis a991d9f512 DataError: Remove unused error variant
This was added due to Threadpool::spawn returning errors, but its
no longer used.
2018-09-08 20:17:46 +03:00
Jordan Petridis 674b3b54dc Pipeline: reuse the prexisting runtime executor
Instead of creating our own threadpool, we should reuse the executor
of the tokio::runtime::Runtime that backs the tokio::reactor::Core.
2018-09-08 20:17:46 +03:00
Jordan Petridis 09948845ca Pipeline: Remove use of clone! macro 2018-09-08 20:17:46 +03:00
Jordan Petridis 0b8a0695f7 Pipeline: Use tokio threadpool to index feeds 2018-09-08 20:17:46 +03:00
Jordan Petridis a7c95d5718 Pipeline: Remove dependancy on rayon_futures
This requires a RUSTFLAG to be set before hand for rayon to build.
This brakes a lot of tools like rls and clippy by default and
require special configs for itnegration.

Additionally, rayon_futures is still 0.1 and not much work seem
to have gone into it. Ideally it should be replased with the tokio
runtime/threadpool.
2018-09-08 20:17:46 +03:00
Jordan Petridis 8a05597e52 Feed: Remove another unnecessary wrapper 2018-09-08 20:17:45 +03:00
Jordan Petridis 145d45f800 Feed: Remove unnecessary function wrapper 2018-09-08 20:17:45 +03:00
gogo 0476b67b2f Add Croatian translation 2018-09-06 18:29:14 +00:00
Balázs Meskó 2751a828e0 Add Hungarian translation 2018-09-05 22:09:46 +00:00
Jordan Petridis a3f5dbfe07 CI: cache only the sources from flatpak-builder
Gitlab CI zips its cache target which causes it to strip
xattributes. This breaks ostree and the cache artifacts.

Cache only the sources instead.
2018-09-05 00:47:45 +03:00
Fabio Tomat 60e09c0dd7 Add Friulian translation 2018-09-04 18:18:27 +00:00
Milo Casagrande a23297e56a Add Italian translation 2018-09-03 13:42:38 +00:00
Jordan Petridis b05163632b test.sh: build with devel profile as well 2018-09-03 11:17:03 +03:00
Daniel Mustieles f59be31ded Update Spanish translation 2018-09-03 06:32:14 +00:00
Anders Jonsson 2e527250de Add Swedish translation 2018-09-02 23:35:41 +00:00
Piotr Drąg 91dd378f5d Update Polish translation 2018-09-01 17:49:54 +00:00
Jiri Grönroos f5b3d033a3 Update Finnish translation 2018-09-01 16:59:07 +00:00
Rafael Fontenelle db98e3b722 Add Brazilian Portuguese translation 2018-09-01 13:29:55 +00:00
Mario Blättermann 586cf16fdc Update German translation 2018-08-31 19:05:31 +00:00
49 changed files with 5111 additions and 1230 deletions
+5 -4
View File
@@ -4,7 +4,7 @@ stages:
- review
variables:
BUNDLE: "org.gnome.Podcasts.${CI_COMMIT_SHA}.flatpak"
BUNDLE: "org.gnome.Podcasts.Devel.flatpak"
flatpak:
image: "registry.gitlab.gnome.org/gnome/gnome-runtime-images/rust_bundle:master"
@@ -32,7 +32,6 @@ flatpak:
--env=APP_ID="org.gnome.PodcastsDevel" \
--env=LOCALEDIR="./podcasts-gtk/po" \
--env=VERSION="0.0.0" \
--env=RUSTFLAGS="--cfg rayon_unstable" \
--env=CARGO_HOME="target/cargo-home" \
--env=CARGO_TARGET_DIR="target_test/" \
app ${MANIFEST_PATH} \
@@ -51,7 +50,8 @@ flatpak:
cache:
key: "flatpak"
paths:
- .flatpak-builder/cache/
- .flatpak-builder/downloads/
- .flatpak-builder/git/
- target/
- target_test/
@@ -93,4 +93,5 @@ rustfmt:
script:
- rustc -Vv && cargo -Vv
- cargo fmt --version
- cargo fmt --all -- --check
- cargo fmt --all -- --check
allow_failure: true
+42 -1
View File
@@ -5,6 +5,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
## [Unreleased]
### Added:
### Changed:
@@ -13,8 +14,48 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
### Removed:
## [0.4.6] - 2018-10-07
### Added:
- Felix, @haecker-felix, wrote an [mpris crate](https://crates.io/crates/mpris-player) and implemented MPRIS2 client side support! !74 #68
### Changed:
- Download Cancel button was changed to an Icon instead of a label !72
- The applciation will no longer scale below 360p in width 1933c79f7a87d8261d91ca4e14eb51c1ddc66624
- Update to the latest HIG 5050dda4d2f75b706842de8507d115dd5a1bd0a9
- Chris, @brainblasted, upgraded hyper to 0.12, this brings openssl 1.1 support !75
- Pipeline backend is now completly migrated to tokio-runtime 0887789f5e653dd92ad397fb39561df6dffcb45c
- Resume playing an episode will attempt to rewind the track only if more than a minute has passed since the last pause !76
### Fixed:
- Fixed a regression where indexing feeds was blocking the `tokio reactor` #88 !70
- Episodeds Listbox no longer resizes when a download starts #89 !72
- The `total_size` label of the `EpisodeWidget` now behaves correctly if the request fails #90 !73
- The Pipeline will no longer log things in stderr for Requests that returned 304 and are expected to be skipped da361d0cb93cd8edd076859b2c607509a96dac8d
- A bug where the HomeView wold get into an invalid state if your only shows had no episodes 32bd2a89a34e8e940b3b260c6be76defe11835ed
### Translations:
**Added**
- Brazilian Portuguese translation 586cf16f
- Swedish translation 2e527250
- Italian translation a23297e5
- Friulian translation 60e09c0d
- Hungarian translation 2751a828
- Croatian translation 0476b67b
- Latvian translation a681b2c9
- Czech translation 3563a964
- Catalan translation 6ea3fc91
**Updated**
- German translation
- Finnish translation
- Polish translation
- Turkish translation
- Croatian translation
- Indonesian translation
- Spanish translation
## [0.4.5] - 2018-08-31
@@ -199,4 +240,4 @@ not being able to access any file.
- Added appdata.xml file
## [0.1.0] - 2017-11-13
- Initial Release
- Initial Release
Generated
+689 -719
View File
File diff suppressed because it is too large Load Diff
+3 -2
View File
@@ -3,7 +3,7 @@
project(
'gnome-podcasts', 'rust',
version: '0.4.5',
version: '0.4.6',
license: 'GPLv3',
)
@@ -53,6 +53,7 @@ cargo_release = custom_target('cargo-build',
output: ['gnome-podcasts'],
install: true,
install_dir: podcasts_bindir,
console: true,
command: [cargo_script,
'@CURRENT_SOURCE_DIR@',
'@OUTPUT@',
@@ -64,4 +65,4 @@ cargo_release = custom_target('cargo-build',
run_target('release', command: ['scripts/release.sh',
meson.project_name() + '-' + podcasts_version
])
])
+11 -1
View File
@@ -21,7 +21,8 @@
"--socket=x11",
"--socket=wayland",
"--socket=pulseaudio",
"--device=dri"
"--device=dri",
"--own-name=org.mpris.MediaPlayer2.Podcasts"
],
"build-options" : {
"append-path" : "/usr/lib/sdk/rust-stable/bin",
@@ -30,6 +31,7 @@
],
"env" : {
"CARGO_HOME" : "/run/build/Podcasts/cargo",
/* "RUSTFLAGS" : "--error-format=short", */
"RUST_BACKTRACE" : "1"
}
},
@@ -37,6 +39,14 @@
{
"name" : "libhandy",
"buildsystem" : "meson",
"config-opts" : [
"-Dintrospection=true",
"-Dgtk-doc=false",
"-Dtests=false",
"-Dexamples=false",
"-Dvapi=false",
"-Dglade_catalog=false"
],
"sources" : [
{
"type" : "git",
+9 -10
View File
@@ -2,33 +2,32 @@
authors = ["Jordan Petridis <jordanpetridis@protonmail.com>"]
name = "podcasts-data"
version = "0.1.0"
workspace = "../"
[dependencies]
ammonia = "1.2.0"
chrono = "0.4.6"
derive_builder = "0.5.1"
derive_builder = "0.6.0"
lazy_static = "1.1.0"
log = "0.4.4"
log = "0.4.5"
rayon = "1.0.2"
rayon-futures = "0.1.0"
rfc822_sanitizer = "0.3.3"
rss = "1.5.0"
url = "1.7.1"
xdg = "2.1.0"
xml-rs = "0.8.0"
futures = "0.1.23"
hyper = "0.11.27"
tokio-core = "0.1.17"
hyper-tls = "0.1.3"
native-tls = "0.1.5"
futures = "0.1.24"
hyper = "0.12.11"
http = "0.1.13"
tokio = "0.1.11"
hyper-tls = "0.3.1"
native-tls = "0.2.1"
num_cpus = "1.8.0"
failure = "0.1.2"
failure_derive = "0.1.2"
[dependencies.diesel]
features = ["sqlite", "r2d2"]
version = "1.3.2"
version = "1.3.3"
[dependencies.diesel_migrations]
features = ["sqlite"]
+2 -3
View File
@@ -5,7 +5,6 @@ use diesel::prelude::*;
use diesel;
use diesel::dsl::exists;
use diesel::query_builder::AsQuery;
use diesel::select;
use database::connection;
@@ -379,13 +378,13 @@ pub(crate) fn episode_exists(title_: &str, show_id_: i32) -> Result<bool, DataEr
/// Check if the `episodes table contains any rows
///
/// Return true if `episodes` table is populated.
pub fn is_episodes_populated() -> Result<bool, DataError> {
pub fn is_episodes_populated(filter_show_ids: &[i32]) -> Result<bool, DataError> {
use schema::episodes::dsl::*;
let db = connection();
let con = db.get()?;
select(exists(episodes.as_query()))
select(exists(episodes.filter(show_id.ne_all(filter_show_ids))))
.get_result(&con)
.map_err(From::from)
}
+13 -2
View File
@@ -1,6 +1,7 @@
use diesel;
use diesel::r2d2;
use diesel_migrations::RunMigrationsError;
use http;
use hyper;
use native_tls;
use rss;
@@ -46,6 +47,8 @@ pub enum DataError {
R2D2PoolError(#[cause] r2d2::PoolError),
#[fail(display = "Hyper Error: {}", _0)]
HyperError(#[cause] hyper::Error),
#[fail(display = "ToStr Error: {}", _0)]
HttpToStr(#[cause] http::header::ToStrError),
#[fail(display = "Failed to parse a url: {}", _0)]
UrlError(#[cause] url::ParseError),
#[fail(display = "TLS Error: {}", _0)]
@@ -60,8 +63,10 @@ pub enum DataError {
Bail(String),
#[fail(display = "{}", _0)]
HttpStatusGeneral(HttpStatusError),
#[fail(display = "FIXME: This should be better")]
F301(Source),
#[fail(display = "Source redirects to a new url")]
FeedRedirect(Source),
#[fail(display = "Feed is up to date")]
FeedNotModified(Source),
#[fail(
display = "Error occured while Parsing an Episode. Reason: {}",
reason
@@ -101,6 +106,12 @@ impl From<hyper::Error> for DataError {
}
}
impl From<http::header::ToStrError> for DataError {
fn from(err: http::header::ToStrError) -> Self {
DataError::HttpToStr(err)
}
}
impl From<url::ParseError> for DataError {
fn from(err: url::ParseError) -> Self {
DataError::UrlError(err)
+6 -14
View File
@@ -26,7 +26,7 @@ pub struct Feed {
impl Feed {
/// Index the contents of the RSS `Feed` into the database.
pub fn index(self) -> impl Future<Item = (), Error = DataError> + Send {
self.parse_podcast_async()
ok(self.parse_podcast())
.and_then(|pd| pd.to_podcast())
.and_then(move |pd| self.index_channel_items(pd))
}
@@ -35,16 +35,13 @@ impl Feed {
NewShow::new(&self.channel, self.source_id)
}
fn parse_podcast_async(&self) -> impl Future<Item = NewShow, Error = DataError> + Send {
ok(self.parse_podcast())
}
fn index_channel_items(self, pd: Show) -> impl Future<Item = (), Error = DataError> + Send {
let stream = stream::iter_ok::<_, DataError>(self.channel.into_items());
// Parse the episodes
let episodes = stream.filter_map(move |item| {
glue(&item, pd.id())
NewEpisodeMinimal::new(&item, pd.id())
.and_then(move |ep| determine_ep_state(ep, &item))
.map_err(|err| error!("Failed to parse an episode: {}", err))
.ok()
});
@@ -56,10 +53,6 @@ impl Feed {
}
}
fn glue(item: &rss::Item, id: i32) -> Result<IndexState<NewEpisode>, DataError> {
NewEpisodeMinimal::new(item, id).and_then(move |ep| determine_ep_state(ep, item))
}
fn determine_ep_state(
ep: NewEpisodeMinimal,
item: &rss::Item,
@@ -129,7 +122,7 @@ fn batch_insert_episodes(episodes: &[NewEpisode]) {
mod tests {
use failure::Error;
use rss::Channel;
use tokio_core::reactor::Core;
use tokio::{self, prelude::*};
use database::truncate_db;
use dbqueries;
@@ -183,10 +176,9 @@ mod tests {
get_feed(path, s.id())
}).collect();
let mut core = Core::new()?;
// Index the channes
let list: Vec<_> = feeds.into_iter().map(|x| x.index()).collect();
let _foo = core.run(join_all(list));
let stream_ = stream::iter_ok(feeds).for_each(|x| x.index());
tokio::run(stream_.map_err(|_| ()));
// Assert the index rows equal the controlled results
assert_eq!(dbqueries::get_sources()?.len(), 5);
+3 -2
View File
@@ -45,6 +45,7 @@
elided_lifetime_in_paths,
missing_copy_implementations
)]
#![allow(proc_macro_derive_resolution_fallback)]
#![deny(warnings)]
//! FIXME: Docs
@@ -75,15 +76,15 @@ extern crate log;
extern crate ammonia;
extern crate chrono;
extern crate futures;
extern crate http;
extern crate hyper;
extern crate hyper_tls;
extern crate native_tls;
extern crate num_cpus;
extern crate rayon;
extern crate rayon_futures;
extern crate rfc822_sanitizer;
extern crate rss;
extern crate tokio_core;
extern crate tokio;
extern crate url;
extern crate xdg;
extern crate xml;
+67 -59
View File
@@ -4,12 +4,14 @@ use rss::Channel;
use url::Url;
use hyper::client::HttpConnector;
use hyper::header::{
ETag, EntityTag, HttpDate, IfModifiedSince, IfNoneMatch, LastModified, Location, UserAgent,
};
use hyper::{Client, Method, Request, Response, StatusCode, Uri};
use hyper::{Client, Body};
use hyper_tls::HttpsConnector;
use http::{Request, Response, StatusCode, Uri};
use http::header::{
ETAG, IF_MODIFIED_SINCE, IF_NONE_MATCH, LAST_MODIFIED, LOCATION, USER_AGENT as USER_AGENT_HEADER,
HeaderValue,
};
// use futures::future::ok;
use futures::future::{loop_fn, Future, Loop};
use futures::prelude::*;
@@ -91,11 +93,11 @@ impl Source {
/// Extract Etag and LastModifier from res, and update self and the
/// corresponding db row.
fn update_etag(mut self, res: &Response) -> Result<Self, DataError> {
fn update_etag(mut self, res: &Response<Body>) -> Result<Self, DataError> {
let headers = res.headers();
let etag = headers.get::<ETag>().map(|x| x.tag());
let lmod = headers.get::<LastModified>().map(|x| format!("{}", x));
let etag = headers.get(ETAG).and_then(|h| h.to_str().ok()).map(From::from);
let lmod = headers.get(LAST_MODIFIED).and_then(|h| h.to_str().ok()).map(From::from);
if (self.http_etag() != etag) || (self.last_modified != lmod) {
self.set_http_etag(etag);
@@ -107,17 +109,12 @@ impl Source {
}
/// Clear the `HTTP` `Etag` and `Last-modified` headers.
fn clear_etags(mut self) -> Result<Self, DataError> {
if self.http_etag().is_some() || self.last_modified().is_some() {
debug!("Source etags before clear: {:#?}", &self);
self.http_etag = None;
self.last_modified = None;
self = self.save()?;
debug!("Source etags after clear: {:#?}", &self);
info!("Etag fields cleared succesfully for Source: {}", self.uri);
}
Ok(self)
/// This method does not sync the state of self in the database, call
/// .save() method explicitly
fn clear_etags(&mut self) {
debug!("Source etags before clear: {:#?}", &self);
self.http_etag = None;
self.last_modified = None;
}
fn make_err(self, context: &str, code: StatusCode) -> DataError {
@@ -134,48 +131,62 @@ impl Source {
// 408: Timeout
// 410: Feed deleted
// TODO: Rething this api,
fn match_status(mut self, res: Response) -> Result<Response, DataError> {
fn match_status(mut self, res: Response<Body>) -> Result<Response<Body>, DataError> {
let code = res.status();
match code {
if code.is_success() {
// If request is succesful save the etag
StatusCode::NotModified | StatusCode::Ok => self = self.update_etag(&res)?,
// Clear the Etag/lmod else
_ => self = self.clear_etags()?,
self = self.update_etag(&res)?
} else {
match code.as_u16() {
// Save etags if it returns NotModified
304 => self = self.update_etag(&res)?,
// Clear the Etag/lmod else
_ => {
self.clear_etags();
self = self.save()?;
}
};
};
match code {
StatusCode::NotModified => return Err(self.make_err("304: skipping..", code)),
StatusCode::MovedPermanently | StatusCode::Found | StatusCode::PermanentRedirect => {
error!("Feed was moved permanently.");
match code.as_u16() {
304 => {
info!("304: Source, (id: {}), is up to date", self.id());
return Err(DataError::FeedNotModified(self));
}
301 | 302 | 308 => {
warn!("Feed was moved permanently.");
self = self.update_url(&res)?;
return Err(DataError::F301(self));
return Err(DataError::FeedRedirect(self));
}
StatusCode::TemporaryRedirect => {
debug!("307: Temporary Redirect.");
return Err(DataError::F301(self));
307 => {
warn!("307: Temporary Redirect.");
// FIXME: How is it actually handling the redirect?
return Err(DataError::FeedRedirect(self));
}
StatusCode::Unauthorized => return Err(self.make_err("401: Unauthorized.", code)),
StatusCode::Forbidden => return Err(self.make_err("403: Forbidden.", code)),
StatusCode::NotFound => return Err(self.make_err("404: Not found.", code)),
StatusCode::RequestTimeout => return Err(self.make_err("408: Request Timeout.", code)),
StatusCode::Gone => return Err(self.make_err("410: Feed was deleted..", code)),
401 => return Err(self.make_err("401: Unauthorized.", code)),
403 => return Err(self.make_err("403: Forbidden.", code)),
404 => return Err(self.make_err("404: Not found.", code)),
408 => return Err(self.make_err("408: Request Timeout.", code)),
410 => return Err(self.make_err("410: Feed was deleted..", code)),
_ => info!("HTTP StatusCode: {}", code),
};
Ok(res)
}
fn update_url(mut self, res: &Response) -> Result<Self, DataError> {
fn update_url(mut self, res: &Response<Body>) -> Result<Self, DataError> {
let code = res.status();
let headers = res.headers();
info!("HTTP StatusCode: {}", code);
debug!("Headers {:#?}", headers);
if let Some(url) = headers.get::<Location>() {
if let Some(url) = headers.get(LOCATION) {
debug!("Previous Source: {:#?}", &self);
self.set_uri(url.to_string());
self = self.clear_etags()?;
self.set_uri(url.to_str()?.into());
self.clear_etags();
self = self.save()?;
debug!("Updated Source: {:#?}", &self);
info!("Feed url of Source {}, was updated succesfully.", self.id());
@@ -212,7 +223,7 @@ impl Source {
.then(|res| match res {
Ok(response) => Ok(Loop::Break(response)),
Err(err) => match err {
DataError::F301(s) => {
DataError::FeedRedirect(s) => {
info!("Following redirect...");
Ok(Loop::Continue(s))
}
@@ -235,23 +246,22 @@ impl Source {
fn request_constructor(
self,
client: &Client<HttpsConnector<HttpConnector>>,
) -> impl Future<Item = Response, Error = DataError> {
) -> impl Future<Item = Response<Body>, Error = DataError> {
// FIXME: remove unwrap somehow
let uri = Uri::from_str(self.uri()).unwrap();
let mut req = Request::new(Method::Get, uri);
let mut req = Request::get(uri)
.body(Body::empty())
.unwrap();
// Set the UserAgent cause ppl still seem to check it for some reason...
req.headers_mut().set(UserAgent::new(USER_AGENT));
req.headers_mut().insert(USER_AGENT_HEADER, HeaderValue::from_static(USER_AGENT));
if let Some(etag) = self.http_etag() {
let tag = vec![EntityTag::new(true, etag.to_owned())];
req.headers_mut().set(IfNoneMatch::Items(tag));
req.headers_mut().insert(IF_NONE_MATCH, HeaderValue::from_str(etag).unwrap());
}
if let Some(lmod) = self.last_modified() {
if let Ok(date) = lmod.parse::<HttpDate>() {
req.headers_mut().set(IfModifiedSince(date));
}
req.headers_mut().insert(IF_MODIFIED_SINCE, HeaderValue::from_str(lmod).unwrap());
}
client
@@ -261,9 +271,8 @@ impl Source {
}
}
#[allow(needless_pass_by_value)]
fn response_to_channel(res: Response) -> impl Future<Item = Channel, Error = DataError> + Send {
res.body()
fn response_to_channel(res: Response<Body>) -> impl Future<Item = Channel, Error = DataError> + Send {
res.into_body()
.concat2()
.map(|x| x.into_iter())
.map_err(From::from)
@@ -276,7 +285,8 @@ fn response_to_channel(res: Response) -> impl Future<Item = Channel, Error = Dat
mod tests {
use super::*;
use failure::Error;
use tokio_core::reactor::Core;
use num_cpus;
use tokio;
use database::truncate_db;
use utils::get_feed;
@@ -285,18 +295,16 @@ mod tests {
fn test_into_feed() -> Result<(), Error> {
truncate_db()?;
let mut core = Core::new()?;
let client = Client::configure()
.connector(HttpsConnector::new(4, &core.handle())?)
.build(&core.handle());
let mut rt = tokio::runtime::Runtime::new()?;
let https = HttpsConnector::new(num_cpus::get())?;
let client = Client::builder().build::<_, Body>(https);
let url = "https://web.archive.org/web/20180120083840if_/https://feeds.feedburner.\
com/InterceptedWithJeremyScahill";
let source = Source::from_url(url)?;
let id = source.id();
let feed = source.into_feed(client);
let feed = core.run(feed)?;
let feed = rt.block_on(feed)?;
let expected = get_feed("tests/feeds/2018-01-20-Intercepted.xml", id);
assert_eq!(expected, feed);
+33 -45
View File
@@ -1,42 +1,19 @@
// FIXME:
//! Docs.
use futures::future::*;
use futures::prelude::*;
use futures::stream::*;
use futures::{lazy, prelude::*, future::ok, stream::FuturesUnordered};
use tokio;
use hyper::client::HttpConnector;
use hyper::Client;
use hyper::{Client, Body};
use hyper_tls::HttpsConnector;
use tokio_core::reactor::Core;
use num_cpus;
use rayon;
use rayon_futures::ScopeFutureExt;
use errors::DataError;
use Source;
// use std::sync::{Arc, Mutex};
// http://gtk-rs.org/tuto/closures
#[macro_export]
macro_rules! clone {
(@param _) => ( _ );
(@param $x:ident) => ( $x );
($($n:ident),+ => move || $body:expr) => (
{
$( let $n = $n.clone(); )+
move || $body
}
);
($($n:ident),+ => move |$($p:tt),+| $body:expr) => (
{
$( let $n = $n.clone(); )+
move |$(clone!(@param $p),)+| $body
}
);
}
use std::iter::FromIterator;
type HttpsClient = Client<HttpsConnector<HttpConnector>>;
@@ -48,19 +25,30 @@ type HttpsClient = Client<HttpsConnector<HttpConnector>>;
/// Convert `rss::Channel` into `Feed` -> Index Podcast -> Index Episodes.
pub fn pipeline<'a, S>(
sources: S,
client: &HttpsClient,
) -> impl Future<Item = Vec<()>, Error = DataError> + 'a
client: HttpsClient,
) -> impl Future<Item = (), Error = ()> + 'a
where
S: Stream<Item = Source, Error = DataError> + 'a,
S: Stream<Item = Source, Error = DataError> + Send + 'a,
{
sources
.and_then(clone!(client => move |s| s.into_feed(client.clone())))
.and_then(|feed| rayon::scope(|s| s.spawn_future(feed.index())))
// the stream will stop at the first error so
// we ensure that everything will succeded regardless.
.map_err(|err| error!("Error: {}", err))
.then(|_| ok::<(), DataError>(()))
.collect()
.and_then(move |s| s.into_feed(client.clone()))
.map_err(|err| {
match err {
// Avoid spamming the stderr when its not an eactual error
DataError::FeedNotModified(_) => (),
_ => error!("Error: {}", err),
}
})
.and_then(move |feed| {
let fut = lazy(|| feed.index().map_err(|err| error!("Error: {}", err)));
tokio::spawn(fut);
Ok(())
})
// For each terminates the stream at the first error so we make sure
// we pass good values regardless
.then(move |_| ok(()))
// Convert the stream into a Future to later execute as a tokio task
.for_each(move |_| ok(()))
}
/// Creates a tokio `reactor::Core`, and a `hyper::Client` and
@@ -69,15 +57,15 @@ pub fn run<S>(sources: S) -> Result<(), DataError>
where
S: IntoIterator<Item = Source>,
{
let mut core = Core::new()?;
let handle = core.handle();
let client = Client::configure()
.connector(HttpsConnector::new(num_cpus::get(), &handle)?)
.build(&handle);
let https = HttpsConnector::new(num_cpus::get())?;
let client = Client::builder().build::<_, Body>(https);
let stream = iter_ok::<_, DataError>(sources);
let p = pipeline(stream, &client);
core.run(p).map(|_| ())
let foo = sources.into_iter().map(ok::<_, _>);
let stream = FuturesUnordered::from_iter(foo);
let p = pipeline(stream, client);
tokio::run(p);
Ok(())
}
#[cfg(test)]
+1 -3
View File
@@ -2,14 +2,12 @@
authors = ["Jordan Petridis <jordanpetridis@protonmail.com>"]
name = "podcasts-downloader"
version = "0.1.0"
workspace = "../"
[dependencies]
error-chain = "0.12.0"
hyper = "0.11.27"
log = "0.4.4"
mime_guess = "1.8.6"
reqwest = "0.8.8"
reqwest = "0.9.2"
tempdir = "0.3.7"
glob = "0.2.11"
failure = "0.1.2"
+35 -18
View File
@@ -1,8 +1,8 @@
use glob::glob;
use hyper::header::*;
use mime_guess;
use reqwest;
use reqwest::RedirectPolicy;
use reqwest::header::*;
use tempdir::TempDir;
use std::fs;
@@ -22,9 +22,12 @@ use errors::DownloadError;
// with / or not.
pub trait DownloadProgress {
fn get_downloaded(&self) -> u64;
fn set_downloaded(&mut self, downloaded: u64);
fn get_size(&self) -> u64;
fn set_size(&mut self, bytes: u64);
fn should_cancel(&self) -> bool;
fn cancel(&mut self);
}
// Adapted from https://github.com/mattgathu/rget .
@@ -63,16 +66,29 @@ fn download_into(
info!("Status Resp: {}", resp.status());
if !resp.status().is_success() {
if let Some(ref prog) = progress {
if let Ok(mut m) = prog.lock() {
m.cancel();
}
}
return Err(DownloadError::UnexpectedResponse(resp.status()));
}
let headers = resp.headers().clone();
let ct_len = headers.get::<ContentLength>().map(|ct_len| **ct_len);
let ct_type = headers.get::<ContentType>();
let ct_len = headers
.get(CONTENT_LENGTH)
.and_then(|h| h.to_str().ok())
.and_then(|len| len.parse().ok());
let ct_type = headers
.get(CONTENT_TYPE)
.and_then(|h| h.to_str().ok())
.map(From::from);
ct_len.map(|x| info!("File Lenght: {}", x));
ct_type.map(|x| info!("Content Type: {}", x));
let ext = get_ext(ct_type.cloned()).unwrap_or_else(|| String::from("unknown"));
let ext = get_ext(ct_type).unwrap_or_else(|| String::from("unknown"));
info!("Extension: {}", ext);
// Construct a temp file to save desired content.
@@ -82,9 +98,10 @@ fn download_into(
let out_file = format!("{}/temp.part", tempdir.path().to_str().unwrap(),);
ct_len.map(|x| {
if let Some(p) = progress.clone() {
let mut m = p.lock().unwrap();
m.set_size(x);
if let Some(ref p) = progress {
if let Ok(mut m) = p.lock() {
m.set_size(x);
}
}
});
@@ -100,17 +117,17 @@ fn download_into(
}
/// Determine the file extension from the http content-type header.
fn get_ext(content: Option<ContentType>) -> Option<String> {
let cont = content.clone()?;
content
.and_then(|c| mime_guess::get_extensions(c.type_().as_ref(), c.subtype().as_ref()))
.and_then(|c| {
if c.contains(&cont.subtype().as_ref()) {
Some(cont.subtype().as_ref().to_string())
} else {
Some(c.first().unwrap().to_string())
}
})
fn get_ext(content: Option<&str>) -> Option<String> {
let mut iter = content?.split("/");
let type_ = iter.next()?;
let subtype = iter.next()?;
mime_guess::get_extensions(type_, subtype).and_then(|c| {
if c.contains(&&subtype) {
Some(subtype.to_string())
} else {
Some(c.first()?.to_string())
}
})
}
// TODO: Write unit-tests.
-1
View File
@@ -44,7 +44,6 @@ extern crate log;
extern crate pretty_assertions;
extern crate glob;
extern crate hyper;
extern crate mime_guess;
extern crate podcasts_data;
extern crate reqwest;
+12 -12
View File
@@ -3,16 +3,15 @@ authors = ["Jordan Petridis <jordanpetridis@protonmail.com>"]
build = "build.rs"
name = "podcasts-gtk"
version = "0.1.0"
workspace = "../"
[dependencies]
chrono = "0.4.6"
crossbeam-channel = "0.2.4"
gdk = "0.8.0"
gdk-pixbuf = "0.4.0"
glib = "0.5.0"
gstreamer = "0.11.6"
gstreamer-player = "0.11.3"
crossbeam-channel = "0.2.6"
gdk = "0.9.0"
gdk-pixbuf = "0.5.0"
glib = "0.6.0"
gstreamer = "0.12.0"
gstreamer-player = "0.12.0"
humansize = "1.1.0"
lazy_static = "1.1.0"
log = "0.4.4"
@@ -24,19 +23,20 @@ failure = "0.1.2"
failure_derive = "0.1.2"
fragile = "0.3.0"
regex = "1.0.4"
reqwest = "0.8.8"
serde_json = "1.0.26"
reqwest = "0.9.2"
serde_json = "1.0.31"
# html2text = "0.1.8"
html2text = { git = "https://github.com/alatiera/rust-html2text" }
gettext-rs = { git = "https://github.com/danigm/gettext-rs", branch = "no-gettext", features = ["gettext-system"] }
mpris-player = "0.1.0"
[dependencies.gtk]
features = ["v3_22"]
version = "0.4.1"
version = "0.5.0"
[dependencies.gio]
features = ["v2_50"]
version = "0.4.1"
version = "0.5.0"
[dependencies.libhandy]
git = "https://gitlab.gnome.org/jsparber/libhandy-rs"
@@ -48,4 +48,4 @@ path = "../podcasts-data"
path = "../podcasts-downloader"
[dev-dependencies]
pretty_assertions = "0.5.1"
pretty_assertions = "0.5.1"
+9
View File
@@ -1,10 +1,19 @@
# please keep this list sorted alphabetically
#
ca
cs
de
es
fi
fur
gl
hr
hu
id
it
ko
lv
pl
pt_BR
sv
tr
+404
View File
@@ -0,0 +1,404 @@
# Catalan translation for podcasts.
# Copyright (C) 2018 podcasts's COPYRIGHT HOLDER
# This file is distributed under the same license as the podcasts package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: podcasts master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/podcasts/issues\n"
"POT-Creation-Date: 2018-09-23 15:55+0000\n"
"PO-Revision-Date: 2018-09-23 23:03-0500\n"
"Language-Team: Catalan <gnome@llistes.softcatala.org>\n"
"Language: ca\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Last-Translator: Adolfo Jayme Barrientos <fitojb@ubuntu.com>\n"
"X-Generator: Poedit 2.1.1\n"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:15
msgid "Top position of the last open main window"
msgstr "Posició superior de l'última finestra principal oberta"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:19
msgid "Left position of the last open main window"
msgstr "Posició esquerra de l'última finestra principal oberta"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:23
msgid "Height of the last open main window"
msgstr "Alçada de l'última finestra principal oberta"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:27
msgid "Width of the last open main window"
msgstr "Amplada de l'última finestra principal oberta"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:31
msgid "Maximized state of the last open main window"
msgstr "Estat de maximització de l'ultima finestra principal oberta"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:36
msgid "Enable or disable dark theme"
msgstr "Habilita o inhabilita el tema fosc"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:41
msgid "Whether to periodically refresh content"
msgstr "Si s'ha d'actualitzar periòdicament el contingut"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:46
msgid "How many periods of time to wait between automatic refreshes"
msgstr "Quants períodes de temps esperar entre les actualitzacions automàtiques"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:50
msgid "What period of time to wait between automatic refreshes"
msgstr "Quin període de temps esperar entre les actualitzacions automàtiques"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:54
msgid "Whether to refresh content after startup"
msgstr "Si s'ha d'actualitzar el contingut després d'iniciar"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:60
msgid "How many periods of time to wait between automatic cleanups"
msgstr "Quants períodes de temps esperar entre les neteges automàtiques"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:64
msgid "What period of time to wait between automatic cleanups"
msgstr "Quin període de temps esperar entre les neteges automàtiques"
#. Weird magic I copy-pasted that sets the Application Name in the Shell.
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:3
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:4
#: podcasts-gtk/src/app.rs:91 podcasts-gtk/src/app.rs:414
#: podcasts-gtk/src/widgets/aboutdialog.rs:31
msgid "Podcasts"
msgstr "Podcasts"
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:4
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:10
msgid "Listen to your favorite podcasts, right from your desktop."
msgstr "Escolteu els vostres podcasts predilectes, sense sortir del vostre escriptori."
#. Translators: Do NOT translate or transliterate this text (this is an icon file name)!
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:6
msgid "@icon@"
msgstr "@icon@"
#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:13
msgid "Podcast;RSS;"
msgstr "Podcast;RSS;"
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:8
msgid "Podcast app for GNOME"
msgstr "Aplicació de podcasts per al GNOME"
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:51
msgid "Jordan Petridis"
msgstr "Jordan Petridis"
#: podcasts-gtk/resources/gtk/empty_view.ui:46
msgid "This show does not have episodes yet"
msgstr "Aquest programa no té cap episodi encara"
#: podcasts-gtk/resources/gtk/empty_view.ui:62
msgid "If you think this is an error, please consider writing a bug report."
msgstr "Si sospiteu que això és un error, considereu crear un informe."
#: podcasts-gtk/resources/gtk/empty_view.ui:106
msgid "Get some shows"
msgstr "Cerqueu-vos alguns programes"
#: podcasts-gtk/resources/gtk/empty_view.ui:143
msgid "Add new shows via feed URL"
msgstr "Afegeix programes nous mitjançant l'URL del canal"
#: podcasts-gtk/resources/gtk/empty_view.ui:172
msgid "Import shows from another device"
msgstr "Importa programes des d'un altre dispositiu"
#: podcasts-gtk/resources/gtk/episode_widget.ui:180
msgid "Calculating episode size…"
msgstr "S'està calculant la mida de l'episodi…"
#: podcasts-gtk/resources/gtk/episode_widget.ui:220
msgid "Play this episode"
msgstr "Reprodueix aquest episodi"
#: podcasts-gtk/resources/gtk/episode_widget.ui:241
msgid "Cancel the download proccess"
msgstr "Cancel·la el procés de baixada"
#: podcasts-gtk/resources/gtk/episode_widget.ui:264
msgid "Download this episode"
msgstr "Baixa aquest episodi"
#: podcasts-gtk/resources/gtk/hamburger.ui:7
msgid "_Check for New Episodes"
msgstr "_Comprova si hi ha episodis nous"
#: podcasts-gtk/resources/gtk/hamburger.ui:12
msgid "_Import Shows"
msgstr "_Importa programes"
#: podcasts-gtk/resources/gtk/hamburger.ui:22
msgid "_Preferences"
msgstr "_Preferències"
#: podcasts-gtk/resources/gtk/hamburger.ui:29
msgid "_Keyboard Shortcuts"
msgstr "_Dreceres de teclat"
#: podcasts-gtk/resources/gtk/hamburger.ui:37
msgid "_About"
msgstr "_Quant a"
#: podcasts-gtk/resources/gtk/headerbar.ui:35
#: podcasts-gtk/resources/gtk/headerbar.ui:189
msgid "Add a new feed"
msgstr "Afegeix un canal nou"
#: podcasts-gtk/resources/gtk/headerbar.ui:53
msgid "Enter feed address to add"
msgstr "Introduïu l'adreça del canal que s'ha d'afegir"
#: podcasts-gtk/resources/gtk/headerbar.ui:89
msgid "Add"
msgstr "Afegeix"
#: podcasts-gtk/resources/gtk/headerbar.ui:133
msgid "You are already subscribed to that feed!"
msgstr "Ja us heu subscrit a aquest canal."
#: podcasts-gtk/resources/gtk/headerbar.ui:169
msgid "Show Title"
msgstr "Títol del programa"
#: podcasts-gtk/resources/gtk/headerbar.ui:210
msgid "Back"
msgstr "Enrere"
#: podcasts-gtk/resources/gtk/help-overlay.ui:12
msgid "General"
msgstr "General"
#: podcasts-gtk/resources/gtk/help-overlay.ui:18
msgctxt "shortcut window"
msgid "Check for new episodes"
msgstr "Comprova si hi ha episodis nous"
#: podcasts-gtk/resources/gtk/help-overlay.ui:25
msgctxt "shortcut window"
msgid "Preferences"
msgstr "Preferències"
#: podcasts-gtk/resources/gtk/help-overlay.ui:32
msgctxt "shortcut window"
msgid "Quit the application"
msgstr "Surt de l'aplicació"
#: podcasts-gtk/resources/gtk/home_view.ui:56
msgid "Today"
msgstr "Avui"
#: podcasts-gtk/resources/gtk/home_view.ui:112
msgid "Yesterday"
msgstr "Ahir"
#: podcasts-gtk/resources/gtk/home_view.ui:168
msgid "This Week"
msgstr "Aquesta setmana"
#: podcasts-gtk/resources/gtk/home_view.ui:224
msgid "This Month"
msgstr "Aquest mes"
#: podcasts-gtk/resources/gtk/home_view.ui:281
msgid "Older"
msgstr "Més antics"
#: podcasts-gtk/resources/gtk/inapp_notif.ui:101
msgid "An in-app action notification"
msgstr "Una notificació d'acció dins l'aplicació"
#: podcasts-gtk/resources/gtk/inapp_notif.ui:112
msgid "Undo"
msgstr "Desfés"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:72
msgid "Rewind 10 seconds"
msgstr "Rebobina 10 segons"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:87
msgid "Play"
msgstr "Reprodueix"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:103
msgid "Pause"
msgstr "Posa en pausa"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:119
msgid "Fast forward 10 seconds"
msgstr "Avança 10 segons"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:285
msgid "Change the playback speed"
msgstr "Canvia la velocitat de la reproducció"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:300
#: podcasts-gtk/resources/gtk/player_toolbar.ui:380
msgid "1.00×"
msgstr "1,00×"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:344
msgid "1.50×"
msgstr "1,50×"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:348
msgid "1.5 speed rate"
msgstr "Velocitat d'1,5"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:362
msgid "1.25×"
msgstr "1,25×"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:366
msgid "1.25 speed rate"
msgstr "Velocitat d'1,25"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:384
msgid "Normal speed"
msgstr "Velocitat normal"
#: podcasts-gtk/resources/gtk/prefs.ui:42
#: podcasts-gtk/resources/gtk/prefs.ui:295
msgid "Preferences"
msgstr "Preferències"
#: podcasts-gtk/resources/gtk/prefs.ui:76
msgid "Appearance"
msgstr "Aparença"
#: podcasts-gtk/resources/gtk/prefs.ui:120
msgid "Dark Theme"
msgstr "Tema fosc"
#: podcasts-gtk/resources/gtk/prefs.ui:166
msgid "Delete played episodes"
msgstr "Suprimeix els episodis reproduïts"
#: podcasts-gtk/resources/gtk/prefs.ui:211
msgid "After"
msgstr "Després"
#: podcasts-gtk/resources/gtk/secondary_menu.ui:7
msgid "_Mark All Episodes as Played"
msgstr "_Marca tots els episodis com a reproduïts"
#: podcasts-gtk/resources/gtk/secondary_menu.ui:11
msgid "_Website"
msgstr "_Lloc web"
#: podcasts-gtk/resources/gtk/secondary_menu.ui:15
msgid "_Unsubscribe"
msgstr "_Cancel·la la subscripció"
#: podcasts-gtk/resources/gtk/show_menu.ui:51
msgid "Open Website"
msgstr "Obre el lloc web"
#: podcasts-gtk/resources/gtk/show_menu.ui:64
msgid "Mark All as Played"
msgstr "Marca'ls tots com a reproduïts"
#: podcasts-gtk/resources/gtk/show_menu.ui:89
msgid "Unsubscribe"
msgstr "Cancel·la la subscripció"
#: podcasts-gtk/src/app.rs:332
msgid "Fetching new episodes"
msgstr "S'estan recuperant els episodis nous"
#: podcasts-gtk/src/headerbar.rs:98
msgid "You are already subscribed to this show"
msgstr "Ja us heu subscrit a aquest programa"
#: podcasts-gtk/src/headerbar.rs:106
msgid "Invalid URL"
msgstr "L'URL no és vàlid"
#: podcasts-gtk/src/prefs.rs:59
msgid "Seconds"
msgstr "Segons"
#: podcasts-gtk/src/prefs.rs:60
msgid "Minutes"
msgstr "Minuts"
#: podcasts-gtk/src/prefs.rs:61
msgid "Hours"
msgstr "Hores"
#: podcasts-gtk/src/prefs.rs:62
msgid "Days"
msgstr "Dies"
#: podcasts-gtk/src/prefs.rs:63
msgid "Weeks"
msgstr "Setmanes"
#: podcasts-gtk/src/stacks/content.rs:35
msgid "New"
msgstr "Nous"
#: podcasts-gtk/src/stacks/content.rs:36
msgid "Shows"
msgstr "Programes"
#: podcasts-gtk/src/utils.rs:357
msgid "Select the file from which to you want to import shows."
msgstr "Seleccioneu el fitxer des del qual voleu importar els programes."
#: podcasts-gtk/src/utils.rs:360
msgid "_Import"
msgstr "_Importa"
#: podcasts-gtk/src/utils.rs:369
msgid "OPML file"
msgstr "Fitxer OPML"
#: podcasts-gtk/src/utils.rs:386
msgid "Failed to parse the imported file"
msgstr "No s'ha pogut analitzar el fitxer importat"
#: podcasts-gtk/src/utils.rs:391
msgid "Selected file could not be accessed."
msgstr "No s'ha pogut accedir al fitxer seleccionat."
#: podcasts-gtk/src/widgets/aboutdialog.rs:26
msgid "Podcast Client for the GNOME Desktop."
msgstr "Client de podcasts per a l'escriptori GNOME."
#: podcasts-gtk/src/widgets/aboutdialog.rs:33
msgid "Learn more about GNOME Podcasts"
msgstr "Més informació sobre el GNOME Podcasts"
#: podcasts-gtk/src/widgets/aboutdialog.rs:38
msgid "translator-credits"
msgstr "Adolfo Jayme Barrientos <fitojb@ubuntu.com>, 2018"
#: podcasts-gtk/src/widgets/episode.rs:130
msgid "{} min"
msgstr "{} m"
#. sender.send(Action::ErrorNotification(format!("Player Error: {}", error)));
#: podcasts-gtk/src/widgets/player.rs:301
msgid "The media player was unable to execute an action."
msgstr "El reproductor multimèdia ha sigut incapaç d'executar cap acció."
#: podcasts-gtk/src/widgets/show_menu.rs:150
msgid "Marked all episodes as listened"
msgstr "S'han marcat tots els episodis com a escoltats"
#: podcasts-gtk/src/widgets/show_menu.rs:155
msgid "Unsubscribed from {}"
msgstr "Heu cancel·lat la subscripció a {}"
+405
View File
@@ -0,0 +1,405 @@
# Czech translation for podcasts.
# Copyright (C) 2018 podcasts's COPYRIGHT HOLDER
# This file is distributed under the same license as the podcasts package.
# Marek Černocký <marek@manet.cz>, 2018.
#
msgid ""
msgstr ""
"Project-Id-Version: podcasts master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/podcasts/issues\n"
"POT-Creation-Date: 2018-09-28 23:51+0000\n"
"PO-Revision-Date: 2018-09-29 21:28+0200\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: čeština <gnome-cs-list@gnome.org>\n"
"Language: cs\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Generator: Gtranslator 2.91.7\n"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:15
msgid "Top position of the last open main window"
msgstr "Horní souřadnice naposledy otevřeného hlavního okna"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:19
msgid "Left position of the last open main window"
msgstr "Levá souřadnice naposledy otevřeného hlavního okna"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:23
msgid "Height of the last open main window"
msgstr "Výška naposledy otevřeného hlavního okna"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:27
msgid "Width of the last open main window"
msgstr "Šířka naposledy otevřeného hlavního okna"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:31
msgid "Maximized state of the last open main window"
msgstr "Stav maximalizace naposledy otevřeného hlavního okna"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:36
msgid "Enable or disable dark theme"
msgstr "Vypnutý nebo zapnutý tmavý motiv"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:41
msgid "Whether to periodically refresh content"
msgstr "Zda pravidelně aktualizovat obsah"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:46
msgid "How many periods of time to wait between automatic refreshes"
msgstr "Kolik časových jednotek čekat mezi automatickými aktualizacemi"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:50
msgid "What period of time to wait between automatic refreshes"
msgstr "Jaká je časová jednotka pro čekání mezi automatickými aktualizacemi"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:54
msgid "Whether to refresh content after startup"
msgstr "Zda aktualizovat obsah po spuštění"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:60
msgid "How many periods of time to wait between automatic cleanups"
msgstr "Kolik časových jednotek čekat mezi automatickými vymazáními"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:64
msgid "What period of time to wait between automatic cleanups"
msgstr "Jaká je časová jednotka pro čekání mezi automatickými vymazáními"
#. Weird magic I copy-pasted that sets the Application Name in the Shell.
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:3
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:4
#: podcasts-gtk/src/app.rs:91 podcasts-gtk/src/app.rs:414
#: podcasts-gtk/src/widgets/aboutdialog.rs:31
msgid "Podcasts"
msgstr "Podcasty"
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:4
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:10
msgid "Listen to your favorite podcasts, right from your desktop."
msgstr "Poslouchejte své oblíbené podcasty přímo z počítače"
#. Translators: Do NOT translate or transliterate this text (this is an icon file name)!
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:6
msgid "@icon@"
msgstr "@icon@"
#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:13
msgid "Podcast;RSS;"
msgstr "podcast;RSS;pořad;"
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:8
msgid "Podcast app for GNOME"
msgstr "Podcastová aplikace pro GNOME"
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:51
msgid "Jordan Petridis"
msgstr "Jordan Petridis"
#: podcasts-gtk/resources/gtk/empty_view.ui:46
msgid "This show does not have episodes yet"
msgstr "Pořad zatím nemá žádné epizody"
#: podcasts-gtk/resources/gtk/empty_view.ui:62
msgid "If you think this is an error, please consider writing a bug report."
msgstr "Pokud si myslíte, že se jedná o chybu, zvažte její nahlášení."
#: podcasts-gtk/resources/gtk/empty_view.ui:106
msgid "Get some shows"
msgstr "Doplňte si pořady"
#: podcasts-gtk/resources/gtk/empty_view.ui:143
msgid "Add new shows via feed URL"
msgstr "Přidat nové pořady pomocí URL kanálu"
#: podcasts-gtk/resources/gtk/empty_view.ui:172
msgid "Import shows from another device"
msgstr "Naimportovat pořady z jiného zařízení"
#: podcasts-gtk/resources/gtk/episode_widget.ui:180
msgid "Calculating episode size…"
msgstr "Počítá se velikost epizody…"
#: podcasts-gtk/resources/gtk/episode_widget.ui:220
msgid "Play this episode"
msgstr "Přehrát tuto epizodu"
#: podcasts-gtk/resources/gtk/episode_widget.ui:241
msgid "Cancel the download proccess"
msgstr "Zrušit probíhající stahování"
#: podcasts-gtk/resources/gtk/episode_widget.ui:264
msgid "Download this episode"
msgstr "Stáhnout tuto epizodu"
#: podcasts-gtk/resources/gtk/hamburger.ui:7
msgid "_Check for New Episodes"
msgstr "Vy_hledat nové epizody"
#: podcasts-gtk/resources/gtk/hamburger.ui:12
msgid "_Import Shows"
msgstr "Na_importovat pořady"
#: podcasts-gtk/resources/gtk/hamburger.ui:22
msgid "_Preferences"
msgstr "_Předvolby"
#: podcasts-gtk/resources/gtk/hamburger.ui:27
msgid "_Keyboard Shortcuts"
msgstr "_Klávesové zkratky"
#: podcasts-gtk/resources/gtk/hamburger.ui:35
msgid "_About Podcasts"
msgstr "O _aplikaci Podcasty"
#: podcasts-gtk/resources/gtk/headerbar.ui:35
#: podcasts-gtk/resources/gtk/headerbar.ui:189
msgid "Add a new feed"
msgstr "Přidat nový kanál"
#: podcasts-gtk/resources/gtk/headerbar.ui:53
msgid "Enter feed address to add"
msgstr "Zadejte adresu kanálu, který chcete přidat"
#: podcasts-gtk/resources/gtk/headerbar.ui:89
msgid "Add"
msgstr "Přidat"
#: podcasts-gtk/resources/gtk/headerbar.ui:133
msgid "You are already subscribed to that feed!"
msgstr "Z tohoto kanálu již odebíráte!"
#: podcasts-gtk/resources/gtk/headerbar.ui:169
msgid "Show Title"
msgstr "Název pořadu"
#: podcasts-gtk/resources/gtk/headerbar.ui:210
msgid "Back"
msgstr "Zpět"
#: podcasts-gtk/resources/gtk/help-overlay.ui:12
msgid "General"
msgstr "Obecné"
#: podcasts-gtk/resources/gtk/help-overlay.ui:18
msgctxt "shortcut window"
msgid "Check for new episodes"
msgstr "Vyhledat nové epizody"
#: podcasts-gtk/resources/gtk/help-overlay.ui:25
msgctxt "shortcut window"
msgid "Preferences"
msgstr "Předvolby"
#: podcasts-gtk/resources/gtk/help-overlay.ui:32
msgctxt "shortcut window"
msgid "Quit the application"
msgstr "Ukončit aplikaci"
#: podcasts-gtk/resources/gtk/home_view.ui:56
msgid "Today"
msgstr "Dnes"
#: podcasts-gtk/resources/gtk/home_view.ui:112
msgid "Yesterday"
msgstr "Včera"
#: podcasts-gtk/resources/gtk/home_view.ui:168
msgid "This Week"
msgstr "Tento týden"
#: podcasts-gtk/resources/gtk/home_view.ui:224
msgid "This Month"
msgstr "Tento měsíc"
#: podcasts-gtk/resources/gtk/home_view.ui:281
msgid "Older"
msgstr "Starší"
#: podcasts-gtk/resources/gtk/inapp_notif.ui:101
msgid "An in-app action notification"
msgstr "Oznámení o činnosti v aplikaci"
#: podcasts-gtk/resources/gtk/inapp_notif.ui:112
msgid "Undo"
msgstr "Zpět"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:72
msgid "Rewind 10 seconds"
msgstr "Převinout zpět o 10 sekund"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:87
msgid "Play"
msgstr "Přehrát"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:103
msgid "Pause"
msgstr "Pozastavit"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:119
msgid "Fast forward 10 seconds"
msgstr "Posunou rychle vpřed o 10 sekund"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:285
msgid "Change the playback speed"
msgstr "Změnit rychlost přehrávání"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:300
#: podcasts-gtk/resources/gtk/player_toolbar.ui:380
msgid "1.00×"
msgstr "1,00×"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:344
msgid "1.50×"
msgstr "1,50×"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:348
msgid "1.5 speed rate"
msgstr "1,5 násobek rychlosti"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:362
msgid "1.25×"
msgstr "1,25×"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:366
msgid "1.25 speed rate"
msgstr "1,25 násobek rychlosti"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:384
msgid "Normal speed"
msgstr "Normální rychlost"
#: podcasts-gtk/resources/gtk/prefs.ui:42
#: podcasts-gtk/resources/gtk/prefs.ui:295
msgid "Preferences"
msgstr "Předvolby"
#: podcasts-gtk/resources/gtk/prefs.ui:76
msgid "Appearance"
msgstr "Vzhled"
#: podcasts-gtk/resources/gtk/prefs.ui:120
msgid "Dark Theme"
msgstr "Tmavý motiv"
#: podcasts-gtk/resources/gtk/prefs.ui:166
msgid "Delete played episodes"
msgstr "Smazat přehrané epizody"
#: podcasts-gtk/resources/gtk/prefs.ui:211
msgid "After"
msgstr "Po uplynutí"
#: podcasts-gtk/resources/gtk/secondary_menu.ui:7
msgid "_Mark All Episodes as Played"
msgstr "Oz_načit všechny epizody jako přehrané"
#: podcasts-gtk/resources/gtk/secondary_menu.ui:11
msgid "_Website"
msgstr "_Webové stránky"
#: podcasts-gtk/resources/gtk/secondary_menu.ui:15
msgid "_Unsubscribe"
msgstr "O_dhlásit odběr"
#: podcasts-gtk/resources/gtk/show_menu.ui:51
msgid "Open Website"
msgstr "Otevřít webové stránky"
#: podcasts-gtk/resources/gtk/show_menu.ui:64
msgid "Mark All as Played"
msgstr "Označit vše jako přehrané"
#: podcasts-gtk/resources/gtk/show_menu.ui:89
msgid "Unsubscribe"
msgstr "Odhlásit odběr"
#: podcasts-gtk/src/app.rs:332
msgid "Fetching new episodes"
msgstr "Stahují se nové epizody"
#: podcasts-gtk/src/headerbar.rs:98
msgid "You are already subscribed to this show"
msgstr "Již jste přihlášeni k odběru tohoto pořadu"
#: podcasts-gtk/src/headerbar.rs:106
msgid "Invalid URL"
msgstr "Neplatná adresa URL"
#: podcasts-gtk/src/prefs.rs:59
msgid "Seconds"
msgstr "sekund"
#: podcasts-gtk/src/prefs.rs:60
msgid "Minutes"
msgstr "minut"
#: podcasts-gtk/src/prefs.rs:61
msgid "Hours"
msgstr "hodin"
#: podcasts-gtk/src/prefs.rs:62
msgid "Days"
msgstr "dnů"
#: podcasts-gtk/src/prefs.rs:63
msgid "Weeks"
msgstr "týdnů"
#: podcasts-gtk/src/stacks/content.rs:35
msgid "New"
msgstr "Nový"
#: podcasts-gtk/src/stacks/content.rs:36
msgid "Shows"
msgstr "Pořady"
#: podcasts-gtk/src/utils.rs:357
msgid "Select the file from which to you want to import shows."
msgstr "Výběr soubor pro import pořadu"
#: podcasts-gtk/src/utils.rs:360
msgid "_Import"
msgstr "Na_importovat"
#: podcasts-gtk/src/utils.rs:369
msgid "OPML file"
msgstr "Soubor OPML"
#: podcasts-gtk/src/utils.rs:386
msgid "Failed to parse the imported file"
msgstr "Selhalo zpracování naimportovaného souboru"
#: podcasts-gtk/src/utils.rs:391
msgid "Selected file could not be accessed."
msgstr "K vybranému souboru není přístup"
#: podcasts-gtk/src/widgets/aboutdialog.rs:26
msgid "Podcast Client for the GNOME Desktop."
msgstr "Podcastový klient pro uživatelské prostředí GNOME"
#: podcasts-gtk/src/widgets/aboutdialog.rs:33
msgid "Learn more about GNOME Podcasts"
msgstr "Dozvědět se více o Podcastech GNOME"
#: podcasts-gtk/src/widgets/aboutdialog.rs:38
msgid "translator-credits"
msgstr "Marek Černocký <marek@manet.cz>"
#: podcasts-gtk/src/widgets/episode.rs:130
msgid "{} min"
msgstr "{} min"
#. sender.send(Action::ErrorNotification(format!("Player Error: {}", error)));
#: podcasts-gtk/src/widgets/player.rs:301
msgid "The media player was unable to execute an action."
msgstr "Multimediální přehrávač nebyl schopen provést žádnou činnost."
#: podcasts-gtk/src/widgets/show_menu.rs:150
msgid "Marked all episodes as listened"
msgstr "Všechny epizody byly označené jak přehrané"
#: podcasts-gtk/src/widgets/show_menu.rs:155
msgid "Unsubscribed from {}"
msgstr "Byl odhlášen odběr z {}"
+54 -48
View File
@@ -8,10 +8,10 @@ msgid ""
msgstr ""
"Project-Id-Version: podcasts master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/podcasts/issues\n"
"POT-Creation-Date: 2018-08-22 05:29+0000\n"
"PO-Revision-Date: 2018-08-25 23:26+0200\n"
"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
"Language-Team: German <gnome-de@gnome.org>\n"
"POT-Creation-Date: 2018-09-28 23:51+0000\n"
"PO-Revision-Date: 2018-10-04 21:57-0400\n"
"Last-Translator: Florian Heiser <gnu.l10n.de@gmail.com>\n"
"Language-Team: Deutsch <gnome-de@gnome.org>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -69,39 +69,39 @@ msgid "What period of time to wait between automatic cleanups"
msgstr "Zeitintervall zwischen automatischen Löschvorgängen"
#. Weird magic I copy-pasted that sets the Application Name in the Shell.
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop:3
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml:4
#: podcasts-gtk/src/app.rs:92 podcasts-gtk/src/app.rs:406
#: podcasts-gtk/src/widgets/aboutdialog.rs:33
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:3
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:4
#: podcasts-gtk/src/app.rs:91 podcasts-gtk/src/app.rs:414
#: podcasts-gtk/src/widgets/aboutdialog.rs:31
msgid "Podcasts"
msgstr "Podcasts"
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop:4
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml:10
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:4
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:10
msgid "Listen to your favorite podcasts, right from your desktop."
msgstr "Hören Sie Ihre Lieblings-Podcasts direkt in Ihrer Arbeitsumgebung."
#. Translators: Do NOT translate or transliterate this text (this is an icon file name)!
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop:6
msgid "org.gnome.Podcasts"
msgstr "org.gnome.Podcasts"
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:6
msgid "@icon@"
msgstr "@icon@"
#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop:13
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:13
msgid "Podcast;RSS;"
msgstr "Podcast;RSS;"
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml:8
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:8
msgid "Podcast app for GNOME"
msgstr "Podcast-Anwendung für GNOME"
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml:31
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:51
msgid "Jordan Petridis"
msgstr "Jordan Petridis"
#: podcasts-gtk/resources/gtk/empty_view.ui:46
msgid "This show does not have episodes yet"
msgstr "Diese Show hat noch keine Folgen"
msgstr "Dieser Podcast hat noch keine Folgen"
#: podcasts-gtk/resources/gtk/empty_view.ui:62
msgid "If you think this is an error, please consider writing a bug report."
@@ -109,53 +109,53 @@ msgstr ""
"Falls Sie meinen, dass es sich um einen Fehler handeln könnte, schreiben Sie "
"bitte einen Fehlerbericht."
#: podcasts-gtk/resources/gtk/empty_view.ui:107
#: podcasts-gtk/resources/gtk/empty_view.ui:106
msgid "Get some shows"
msgstr "Shows holen"
msgstr "Podcasts abonnieren"
#: podcasts-gtk/resources/gtk/empty_view.ui:144
#: podcasts-gtk/resources/gtk/empty_view.ui:143
msgid "Add new shows via feed URL"
msgstr "Neue Shows mittels Quellen-Adresse hinzufügen"
msgstr "Neue Podcasts mittels Quellen-Adresse hinzufügen"
#: podcasts-gtk/resources/gtk/empty_view.ui:173
#: podcasts-gtk/resources/gtk/empty_view.ui:172
msgid "Import shows from another device"
msgstr "Shows von einem anderen Gerät importieren"
msgstr "Podcasts von einem anderen Gerät importieren"
#: podcasts-gtk/resources/gtk/episode_widget.ui:177
#: podcasts-gtk/resources/gtk/episode_widget.ui:180
msgid "Calculating episode size…"
msgstr "Größe der Folge wird ermittelt …"
#: podcasts-gtk/resources/gtk/episode_widget.ui:212
msgid "Cancel"
msgstr "Abbrechen"
#: podcasts-gtk/resources/gtk/episode_widget.ui:230
msgid "Download this episode"
msgstr "Diese Folge herunterladen"
#: podcasts-gtk/resources/gtk/episode_widget.ui:254
#: podcasts-gtk/resources/gtk/episode_widget.ui:220
msgid "Play this episode"
msgstr "Diese Folge abspielen"
#: podcasts-gtk/resources/gtk/episode_widget.ui:241
msgid "Cancel the download proccess"
msgstr "Herunterladen abbrechen"
#: podcasts-gtk/resources/gtk/episode_widget.ui:264
msgid "Download this episode"
msgstr "Diese Folge herunterladen"
#: podcasts-gtk/resources/gtk/hamburger.ui:7
msgid "_Check for New Episodes"
msgstr "Auf neue Folgen _prüfen"
#: podcasts-gtk/resources/gtk/hamburger.ui:12
msgid "_Import Shows"
msgstr "Shows _importieren"
msgstr "Podcasts _importieren"
#: podcasts-gtk/resources/gtk/hamburger.ui:22
msgid "_Preferences"
msgstr "_Einstellungen"
#: podcasts-gtk/resources/gtk/hamburger.ui:29
#: podcasts-gtk/resources/gtk/hamburger.ui:27
msgid "_Keyboard Shortcuts"
msgstr "Tasten_kürzel"
#: podcasts-gtk/resources/gtk/hamburger.ui:37
msgid "_About"
msgstr "I_nfo"
#: podcasts-gtk/resources/gtk/hamburger.ui:35
msgid "_About Podcasts"
msgstr "Info zu _Podcasts"
#: podcasts-gtk/resources/gtk/headerbar.ui:35
#: podcasts-gtk/resources/gtk/headerbar.ui:189
@@ -319,7 +319,7 @@ msgstr "Alle als angehört markieren"
msgid "Unsubscribe"
msgstr "Abbestellen"
#: podcasts-gtk/src/app.rs:331
#: podcasts-gtk/src/app.rs:332
msgid "Fetching new episodes"
msgstr "Neue Folgen werden abgerufen"
@@ -357,25 +357,25 @@ msgstr "Neu"
#: podcasts-gtk/src/stacks/content.rs:36
msgid "Shows"
msgstr "Shows"
msgstr "Podcasts"
#: podcasts-gtk/src/utils.rs:350
#: podcasts-gtk/src/utils.rs:357
msgid "Select the file from which to you want to import shows."
msgstr "Wählen Sie die Datei aus, aus der Sie Shows importieren wollen."
#: podcasts-gtk/src/utils.rs:353
#: podcasts-gtk/src/utils.rs:360
msgid "_Import"
msgstr "_Importieren"
#: podcasts-gtk/src/utils.rs:362
#: podcasts-gtk/src/utils.rs:369
msgid "OPML file"
msgstr "OPML-Datei"
#: podcasts-gtk/src/utils.rs:379
#: podcasts-gtk/src/utils.rs:386
msgid "Failed to parse the imported file"
msgstr "Die importierte Datei konnte nicht ausgewertet werden"
#: podcasts-gtk/src/utils.rs:384
#: podcasts-gtk/src/utils.rs:391
msgid "Selected file could not be accessed."
msgstr "Auf die gewählte Datei konnte nicht zugegriffen werden."
@@ -383,17 +383,17 @@ msgstr "Auf die gewählte Datei konnte nicht zugegriffen werden."
msgid "Podcast Client for the GNOME Desktop."
msgstr "Podcast-Client für die GNOME-Arbeitsumgebung."
#: podcasts-gtk/src/widgets/aboutdialog.rs:35
#: podcasts-gtk/src/widgets/aboutdialog.rs:33
msgid "Learn more about GNOME Podcasts"
msgstr "Erfahren Sie mehr über GNOME Podcasts"
#: podcasts-gtk/src/widgets/aboutdialog.rs:40
#: podcasts-gtk/src/widgets/aboutdialog.rs:38
msgid "translator-credits"
msgstr ""
"Mario Blättermann <mario.blaettermann@gmail.com>\n"
"Tim Sabsch <tim@sabsch.com>"
#: podcasts-gtk/src/widgets/episode.rs:129
#: podcasts-gtk/src/widgets/episode.rs:130
msgid "{} min"
msgstr "{} min"
@@ -409,3 +409,9 @@ msgstr "Alle Folgen als angehört markieren"
#: podcasts-gtk/src/widgets/show_menu.rs:155
msgid "Unsubscribed from {}"
msgstr "Abonnement von {} gekündigt"
#~ msgid "_About"
#~ msgstr "I_nfo"
#~ msgid "Cancel"
#~ msgstr "Abbrechen"
+86 -91
View File
@@ -3,15 +3,17 @@
# This file is distributed under the same license as the gnome-podcasts package.
# Automatically generated, 2018.
# Daniel Garcia Moreno <danigm@wadobo.com>, 2018.
# Daniel Mustieles <daniel.mustieles@gmail.com>, 2018.
# Rodrigo <rodhos92@gmail.com>, 2018.
#
msgid ""
msgstr ""
"Project-Id-Version: gnome-podcasts\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-08-22 06:50+0300\n"
"PO-Revision-Date: 2018-08-02 11:46+0200\n"
"Last-Translator: Daniel Garcia Moreno <danigm@wadobo.com>\n"
"Language-Team: Español; Castellano <info@wadobo.com>\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/podcasts/issues\n"
"POT-Creation-Date: 2018-09-08 17:18+0000\n"
"PO-Revision-Date: 2018-09-21 19:03+0200\n"
"Last-Translator: Rodrigo <rodhos92@gmail.com>\n"
"Language-Team: Español <gnome-es-list@gnome.org>\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -29,11 +31,11 @@ msgstr "Posición izquierda de la última ventana abierta"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:23
msgid "Height of the last open main window"
msgstr "Alto de la última ventana abierta"
msgstr "Altura de la última ventana abierta"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:27
msgid "Width of the last open main window"
msgstr "Ancho de la última ventana abierta"
msgstr "Anchura de la última ventana abierta"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:31
msgid "Maximized state of the last open main window"
@@ -45,103 +47,100 @@ msgstr "Activar o desactivar el tema oscuro"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:41
msgid "Whether to periodically refresh content"
msgstr "Si refrescar el contenido periódicamente"
msgstr "Indica si se debe actualizar el contenido periódicamente"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:46
msgid "How many periods of time to wait between automatic refreshes"
msgstr "Cuántos periodos de tiempo a esperar entre refrescos automáticos"
msgstr ""
"Cuántos periodos de tiempo hay que esperar entre actualizaciones automáticas"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:50
msgid "What period of time to wait between automatic refreshes"
msgstr "Qué periodo de tiempo hay que esperar entre refrescos automáticos"
msgstr ""
"Qué periodo de tiempo hay que esperar entre actualizaciones automáticas"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:54
msgid "Whether to refresh content after startup"
msgstr "Si refrescar el contenido al iniciar"
msgstr "Indica si se debe actualizar el contenido al iniciar"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:60
msgid "How many periods of time to wait between automatic cleanups"
msgstr "Cuántos periodos de tiempo hay que esperar entre limpiados automáticos"
msgstr "Cuántos periodos de tiempo hay que esperar entre limpiezas automáticas"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:64
msgid "What period of time to wait between automatic cleanups"
msgstr "Cuántos periodos de tiempo hay que esperar entre limpiados automáticos"
msgstr "Cuántos periodos de tiempo hay que esperar entre limpiezas automáticas"
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop:3
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml:4
#: podcasts-gtk/src/app.rs:92 podcasts-gtk/src/app.rs:406
#: podcasts-gtk/src/widgets/aboutdialog.rs:33
#. Weird magic I copy-pasted that sets the Application Name in the Shell.
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:3
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:4
#: podcasts-gtk/src/app.rs:91 podcasts-gtk/src/app.rs:414
#: podcasts-gtk/src/widgets/aboutdialog.rs:31
msgid "Podcasts"
msgstr "Podcasts"
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop:4
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml:10
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:4
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:10
msgid "Listen to your favorite podcasts, right from your desktop."
msgstr "Escucha tus podcasts favoritos, directamente desde tu escritorio."
msgstr "Escuche sus podcasts favoritos, directamente desde su escritorio."
#. Translators: Do NOT translate or transliterate this text (this is an icon file name)!
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop:6
msgid "org.gnome.Podcasts"
msgstr "org.gnome.Podcasts"
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:6
msgid "@icon@"
msgstr "@icon@"
#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop:13
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:13
msgid "Podcast;RSS;"
msgstr "Podcast;RSS;"
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml:8
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:8
msgid "Podcast app for GNOME"
msgstr "Aplicación de Podcast para GNOME"
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml:31
#, fuzzy
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:51
msgid "Jordan Petridis"
msgstr "Jordan Petridis y otros"
msgstr "Jordan Petridis"
#: podcasts-gtk/resources/gtk/empty_view.ui:46
#, fuzzy
msgid "This show does not have episodes yet"
msgstr "Este programa no tiene episodios todavía"
#: podcasts-gtk/resources/gtk/empty_view.ui:62
#, fuzzy
msgid "If you think this is an error, please consider writing a bug report."
msgstr ""
"Si crees que esto es un error, por favor, considera abrir un bug report."
msgstr "Si cree que esto es un error considere abrir un informe de error."
#: podcasts-gtk/resources/gtk/empty_view.ui:107
#: podcasts-gtk/resources/gtk/empty_view.ui:106
msgid "Get some shows"
msgstr "Consigue algún programa"
msgstr "Consiga algún programa"
#: podcasts-gtk/resources/gtk/empty_view.ui:144
#: podcasts-gtk/resources/gtk/empty_view.ui:143
msgid "Add new shows via feed URL"
msgstr "Añadir nuevo programa a través de canal URL"
msgstr "Añadir un programa nuevo a través de canal URL"
#: podcasts-gtk/resources/gtk/empty_view.ui:173
#: podcasts-gtk/resources/gtk/empty_view.ui:172
msgid "Import shows from another device"
msgstr "Importar programas de otro dispositivo"
#: podcasts-gtk/resources/gtk/episode_widget.ui:177
#, fuzzy
#: podcasts-gtk/resources/gtk/episode_widget.ui:180
msgid "Calculating episode size…"
msgstr "Calculando tamaño del episodio..."
msgstr "Calculando tamaño del episodio"
#: podcasts-gtk/resources/gtk/episode_widget.ui:212
msgid "Cancel"
msgstr "Cancelar"
#: podcasts-gtk/resources/gtk/episode_widget.ui:230
msgid "Download this episode"
msgstr "Descargar este episodio"
#: podcasts-gtk/resources/gtk/episode_widget.ui:254
#: podcasts-gtk/resources/gtk/episode_widget.ui:220
msgid "Play this episode"
msgstr "Reproducir este episodio"
#: podcasts-gtk/resources/gtk/episode_widget.ui:241
msgid "Cancel the download proccess"
msgstr "Cancelar el proceso de descarga"
#: podcasts-gtk/resources/gtk/episode_widget.ui:264
msgid "Download this episode"
msgstr "Descargar este episodio"
#: podcasts-gtk/resources/gtk/hamburger.ui:7
#, fuzzy
msgid "_Check for New Episodes"
msgstr "_Comprobar si hay nuevos episodios"
msgstr "Comprobar si hay nuevos episodios"
#: podcasts-gtk/resources/gtk/hamburger.ui:12
msgid "_Import Shows"
@@ -162,11 +161,11 @@ msgstr "_Acerca de"
#: podcasts-gtk/resources/gtk/headerbar.ui:35
#: podcasts-gtk/resources/gtk/headerbar.ui:189
msgid "Add a new feed"
msgstr "Añadir un nuevo canal"
msgstr "Añadir un canal nuevo"
#: podcasts-gtk/resources/gtk/headerbar.ui:53
msgid "Enter feed address to add"
msgstr "Introduce la dirección del canal a añadir"
msgstr "Introduzca la dirección del canal que añadir"
#: podcasts-gtk/resources/gtk/headerbar.ui:89
msgid "Add"
@@ -174,11 +173,11 @@ msgstr "Añadir"
#: podcasts-gtk/resources/gtk/headerbar.ui:133
msgid "You are already subscribed to that feed!"
msgstr "¡Ya estás suscrito a este canal!"
msgstr "¡Ya está suscrito a este canal!"
#: podcasts-gtk/resources/gtk/headerbar.ui:169
msgid "Show Title"
msgstr "Título de Programa"
msgstr "Título del programa"
#: podcasts-gtk/resources/gtk/headerbar.ui:210
msgid "Back"
@@ -191,7 +190,7 @@ msgstr "General"
#: podcasts-gtk/resources/gtk/help-overlay.ui:18
msgctxt "shortcut window"
msgid "Check for new episodes"
msgstr "Comprobar si hay nuevos episodios"
msgstr "Comprobar si hay episodios nuevos"
#: podcasts-gtk/resources/gtk/help-overlay.ui:25
msgctxt "shortcut window"
@@ -225,7 +224,7 @@ msgstr "Antiguo"
#: podcasts-gtk/resources/gtk/inapp_notif.ui:101
msgid "An in-app action notification"
msgstr "Una notificación de acción in-app"
msgstr "Una notificación de acción dentro de la aplicación"
#: podcasts-gtk/resources/gtk/inapp_notif.ui:112
msgid "Undo"
@@ -233,7 +232,7 @@ msgstr "Deshacer"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:72
msgid "Rewind 10 seconds"
msgstr "Atrás 10 segundos"
msgstr "Retroceder 10 segundos"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:87
msgid "Play"
@@ -244,34 +243,29 @@ msgid "Pause"
msgstr "Pausa"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:119
#, fuzzy
msgid "Fast forward 10 seconds"
msgstr "Adelante 10 segundos"
msgstr "Avanzar 10 segundos"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:285
#, fuzzy
msgid "Change the playback speed"
msgstr "Cambiar velocidad de reproducción"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:300
#: podcasts-gtk/resources/gtk/player_toolbar.ui:380
#, fuzzy
msgid "1.00×"
msgstr "1.00x"
msgstr "1.00×"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:344
#, fuzzy
msgid "1.50×"
msgstr "1.50x"
msgstr "1.50×"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:348
msgid "1.5 speed rate"
msgstr "velocidad 1.5"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:362
#, fuzzy
msgid "1.25×"
msgstr "1.25x"
msgstr "1.25×"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:366
msgid "1.25 speed rate"
@@ -303,7 +297,6 @@ msgid "After"
msgstr "Después"
#: podcasts-gtk/resources/gtk/secondary_menu.ui:7
#, fuzzy
msgid "_Mark All Episodes as Played"
msgstr "_Marcar todos los episodios como reproducidos"
@@ -320,27 +313,24 @@ msgid "Open Website"
msgstr "Abrir Web"
#: podcasts-gtk/resources/gtk/show_menu.ui:64
#, fuzzy
msgid "Mark All as Played"
msgstr "Marcar como reproducido"
msgstr "Marcar todo como reproducido"
#: podcasts-gtk/resources/gtk/show_menu.ui:89
msgid "Unsubscribe"
msgstr "Cancelar suscripción"
#: podcasts-gtk/src/app.rs:331
#: podcasts-gtk/src/app.rs:332
msgid "Fetching new episodes"
msgstr "Obteniendo nuevos episodios"
#: podcasts-gtk/src/headerbar.rs:98
#, fuzzy
msgid "You are already subscribed to this show"
msgstr "Ya estás suscrito a este programa"
msgstr "Ya está suscrito a este programa"
#: podcasts-gtk/src/headerbar.rs:106
#, fuzzy
msgid "Invalid URL"
msgstr "Url no válida"
msgstr "URL no válido"
#: podcasts-gtk/src/prefs.rs:59
msgid "Seconds"
@@ -370,42 +360,41 @@ msgstr "Nuevo"
msgid "Shows"
msgstr "Programas"
#: podcasts-gtk/src/utils.rs:350
#, fuzzy
#: podcasts-gtk/src/utils.rs:357
msgid "Select the file from which to you want to import shows."
msgstr "Selecciona el fichero desde el cual quieres importar programas."
msgstr "Selecciona el fichero desde el que quiere importar programas."
#: podcasts-gtk/src/utils.rs:353
#: podcasts-gtk/src/utils.rs:360
msgid "_Import"
msgstr "_Importar"
#: podcasts-gtk/src/utils.rs:362
#: podcasts-gtk/src/utils.rs:369
msgid "OPML file"
msgstr "fichero OPML"
#: podcasts-gtk/src/utils.rs:379
#, fuzzy
#: podcasts-gtk/src/utils.rs:386
msgid "Failed to parse the imported file"
msgstr "Fallo al leer el fichero importado"
msgstr "Fallo al analizar el fichero importado"
#: podcasts-gtk/src/utils.rs:384
#, fuzzy
#: podcasts-gtk/src/utils.rs:391
msgid "Selected file could not be accessed."
msgstr "El fichero seleccionado no es accesible."
msgstr "No se ha podido acceder al archivo seleccionado."
#: podcasts-gtk/src/widgets/aboutdialog.rs:26
msgid "Podcast Client for the GNOME Desktop."
msgstr "Aplicación de Podcast para el escritorio GNOME."
#: podcasts-gtk/src/widgets/aboutdialog.rs:35
#: podcasts-gtk/src/widgets/aboutdialog.rs:33
msgid "Learn more about GNOME Podcasts"
msgstr ""
msgstr "Aprenda más sobre GNOME Podcasts"
#: podcasts-gtk/src/widgets/aboutdialog.rs:40
#: podcasts-gtk/src/widgets/aboutdialog.rs:38
msgid "translator-credits"
msgstr "\"Daniel García Moreno <danigm@wadobo.com>\""
msgstr ""
"Daniel Mustieles <daniel.musiteles@gmail.com>, 2018\n"
"Daniel García Moreno <danigm@wadobo.com>"
#: podcasts-gtk/src/widgets/episode.rs:129
#: podcasts-gtk/src/widgets/episode.rs:130
msgid "{} min"
msgstr "{} min"
@@ -422,6 +411,12 @@ msgstr "Marcar todos los episodios como escuchados"
msgid "Unsubscribed from {}"
msgstr "Suscripción cancelada para {}"
#~ msgid "Cancel"
#~ msgstr "Cancelar"
#~ msgid "org.gnome.Podcasts"
#~ msgstr "org.gnome.Podcasts"
#~ msgid "Mark all episodes as listened"
#~ msgstr "Marcar todos los episodios como escuchados"
+27 -26
View File
@@ -6,9 +6,9 @@
msgid ""
msgstr ""
"Project-Id-Version: podcasts master\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-08-22 06:50+0300\n"
"PO-Revision-Date: 2018-08-11 17:09+0300\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/podcasts/issues\n"
"POT-Creation-Date: 2018-08-28 20:54+0000\n"
"PO-Revision-Date: 2018-09-01 19:58+0300\n"
"Last-Translator: Jiri Grönroos <jiri.gronroos+l10n@iki.fi>\n"
"Language-Team: Finnish <lokalisointi-lista@googlegroups.com>\n"
"Language: fi\n"
@@ -44,7 +44,7 @@ msgstr "Ota käyttöön tai poista käytöstä tumma teema"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:41
msgid "Whether to periodically refresh content"
msgstr ""
msgstr "Päivitetäänkö sisältö säännöllisesti"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:46
msgid "How many periods of time to wait between automatic refreshes"
@@ -67,55 +67,53 @@ msgid "What period of time to wait between automatic cleanups"
msgstr ""
#. Weird magic I copy-pasted that sets the Application Name in the Shell.
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop:3
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml:4
#: podcasts-gtk/src/app.rs:92 podcasts-gtk/src/app.rs:406
#: podcasts-gtk/src/widgets/aboutdialog.rs:33
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:3
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:4
#: podcasts-gtk/src/app.rs:91 podcasts-gtk/src/app.rs:414
#: podcasts-gtk/src/widgets/aboutdialog.rs:31
msgid "Podcasts"
msgstr "Podcastit"
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop:4
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml:10
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:4
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:10
msgid "Listen to your favorite podcasts, right from your desktop."
msgstr "Kuuntele suosikkipodcastejasi suoraan työpöydältäsi."
#. Translators: Do NOT translate or transliterate this text (this is an icon file name)!
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop:6
msgid "org.gnome.Podcasts"
msgstr "org.gnome.Podcasts"
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:6
msgid "@icon@"
msgstr "@icon@"
#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop:13
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:13
msgid "Podcast;RSS;"
msgstr "Podcast;RSS;"
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml:8
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:8
msgid "Podcast app for GNOME"
msgstr "Podcast-sovellus Gnomelle"
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml:31
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:31
msgid "Jordan Petridis"
msgstr "Jordan Petridis"
#: podcasts-gtk/resources/gtk/empty_view.ui:46
#, fuzzy
msgid "This show does not have episodes yet"
msgstr "Tässä ohjelmassa ei ole yhtäkään jaksoa"
msgstr "Tässä ohjelmassa ei ole vielä yhtäkään jaksoa"
#: podcasts-gtk/resources/gtk/empty_view.ui:62
#, fuzzy
msgid "If you think this is an error, please consider writing a bug report."
msgstr "Jos luulet tämän olevan virhe, teethän bugiraportin."
msgstr "Jos tämä on mielestäsi virhe, teethän bugiraportin."
#: podcasts-gtk/resources/gtk/empty_view.ui:107
#: podcasts-gtk/resources/gtk/empty_view.ui:106
msgid "Get some shows"
msgstr "Hanki ohjelmia"
#: podcasts-gtk/resources/gtk/empty_view.ui:144
#: podcasts-gtk/resources/gtk/empty_view.ui:143
msgid "Add new shows via feed URL"
msgstr "Lisää uusia ohjelmia syötteen osoitteen avulla"
#: podcasts-gtk/resources/gtk/empty_view.ui:173
#: podcasts-gtk/resources/gtk/empty_view.ui:172
msgid "Import shows from another device"
msgstr "Tuo ohjelmia toiselta laitteelta"
@@ -317,7 +315,7 @@ msgstr "Merkitse kaikki toistetuiksi"
msgid "Unsubscribe"
msgstr "Lopeta tilaus"
#: podcasts-gtk/src/app.rs:331
#: podcasts-gtk/src/app.rs:332
msgid "Fetching new episodes"
msgstr "Noudetaan uusia jaksoja"
@@ -381,11 +379,11 @@ msgstr "Valittua tiedostoa ei voitu käyttää."
msgid "Podcast Client for the GNOME Desktop."
msgstr "Podcast-sovellus Gnome-työpöydlle."
#: podcasts-gtk/src/widgets/aboutdialog.rs:35
#: podcasts-gtk/src/widgets/aboutdialog.rs:33
msgid "Learn more about GNOME Podcasts"
msgstr ""
#: podcasts-gtk/src/widgets/aboutdialog.rs:40
#: podcasts-gtk/src/widgets/aboutdialog.rs:38
msgid "translator-credits"
msgstr "Jiri Grönroos"
@@ -406,5 +404,8 @@ msgstr "Merkitse kaikki jaksot toistetuiksi"
msgid "Unsubscribed from {}"
msgstr "Lopeta syötteen {} tilaus"
#~ msgid "org.gnome.Podcasts"
#~ msgstr "org.gnome.Podcasts"
#~ msgid "Episode Title"
#~ msgstr "Jakson nimi"
+404
View File
@@ -0,0 +1,404 @@
# Friulian translation for podcasts.
# Copyright (C) 2018 podcasts's COPYRIGHT HOLDER
# This file is distributed under the same license as the podcasts package.
# Fabio Tomat <f.t.public@gmail.com>, 2018.
#
msgid ""
msgstr ""
"Project-Id-Version: podcasts master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/podcasts/issues\n"
"POT-Creation-Date: 2018-09-03 13:42+0000\n"
"PO-Revision-Date: 2018-09-04 20:17+0200\n"
"Language-Team: Friulian <fur@li.org>\n"
"Language: fur\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Last-Translator: \n"
"X-Generator: Poedit 2.0.7\n"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:15
msgid "Top position of the last open main window"
msgstr "Posizion superiôr dal ultin barcon principâl viert"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:19
msgid "Left position of the last open main window"
msgstr "Posizion de çampe dal ultin barcon principâl viert"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:23
msgid "Height of the last open main window"
msgstr "Altece dal ultin barcon principâl viert"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:27
msgid "Width of the last open main window"
msgstr "Largjece dal ultin barcon principâl viert"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:31
msgid "Maximized state of the last open main window"
msgstr "Stât slargjât dal ultin barcon principâl viert"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:36
msgid "Enable or disable dark theme"
msgstr "Abilite o disabilite il teme scûr"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:41
msgid "Whether to periodically refresh content"
msgstr "Indiche se inzornâ in maniere periodiche il contignût"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:46
msgid "How many periods of time to wait between automatic refreshes"
msgstr "Trops periodis di timp di spietâ tra i inzornaments automatics"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:50
msgid "What period of time to wait between automatic refreshes"
msgstr "Ce periodi di timp di spietâ tra i inzornaments automatics"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:54
msgid "Whether to refresh content after startup"
msgstr "Indiche se inzornâ il contignût dopo dal inviament"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:60
msgid "How many periods of time to wait between automatic cleanups"
msgstr "Trops periodis di timp di spietâ tra lis netisiis automatichis"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:64
msgid "What period of time to wait between automatic cleanups"
msgstr "Ce periodi di timp di spietâ tra lis netisiis automatichis"
#. Weird magic I copy-pasted that sets the Application Name in the Shell.
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:3
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:4
#: podcasts-gtk/src/app.rs:91 podcasts-gtk/src/app.rs:414
#: podcasts-gtk/src/widgets/aboutdialog.rs:31
msgid "Podcasts"
msgstr "Podcasts"
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:4
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:10
msgid "Listen to your favorite podcasts, right from your desktop."
msgstr "Scolte i tiei podcast preferîts, daurman dal to scritori."
#. Translators: Do NOT translate or transliterate this text (this is an icon file name)!
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:6
msgid "@icon@"
msgstr "@icon@"
#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:13
msgid "Podcast;RSS;"
msgstr "Podcast;RSS;Regjistrazion;Trasmission;"
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:8
msgid "Podcast app for GNOME"
msgstr "Aplicazion podcast par GNOME"
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:51
msgid "Jordan Petridis"
msgstr "Jordan Petridis"
#: podcasts-gtk/resources/gtk/empty_view.ui:46
msgid "This show does not have episodes yet"
msgstr "Chest spetacul nol à ancjemò episodis"
#: podcasts-gtk/resources/gtk/empty_view.ui:62
msgid "If you think this is an error, please consider writing a bug report."
msgstr "Se tu pensis che chest al sedi un erôr, considere di scrivi une segnalazion di erôr."
#: podcasts-gtk/resources/gtk/empty_view.ui:106
msgid "Get some shows"
msgstr "Oten cualchi spetacul"
#: podcasts-gtk/resources/gtk/empty_view.ui:143
msgid "Add new shows via feed URL"
msgstr "Zonte gnûfs spetacui vie URL di feed"
#: podcasts-gtk/resources/gtk/empty_view.ui:172
msgid "Import shows from another device"
msgstr "Impuarte i spetacui di un altri dispositîf"
#: podcasts-gtk/resources/gtk/episode_widget.ui:178
msgid "Calculating episode size…"
msgstr "Calcul de dimension dal episodi…"
#: podcasts-gtk/resources/gtk/episode_widget.ui:214
msgid "Cancel"
msgstr "Anule"
#: podcasts-gtk/resources/gtk/episode_widget.ui:232
msgid "Download this episode"
msgstr "Discjarie chest episodi"
#: podcasts-gtk/resources/gtk/episode_widget.ui:256
msgid "Play this episode"
msgstr "Viôt chest episodi"
#: podcasts-gtk/resources/gtk/hamburger.ui:7
msgid "_Check for New Episodes"
msgstr "_Controle par gnûfs episodis"
#: podcasts-gtk/resources/gtk/hamburger.ui:12
msgid "_Import Shows"
msgstr "_Impuarte spetacui"
#: podcasts-gtk/resources/gtk/hamburger.ui:22
msgid "_Preferences"
msgstr "_Preferencis"
#: podcasts-gtk/resources/gtk/hamburger.ui:29
msgid "_Keyboard Shortcuts"
msgstr "_Scurtis tastiere"
#: podcasts-gtk/resources/gtk/hamburger.ui:37
msgid "_About"
msgstr "_Informazions"
#: podcasts-gtk/resources/gtk/headerbar.ui:35
#: podcasts-gtk/resources/gtk/headerbar.ui:189
msgid "Add a new feed"
msgstr "Zonte un gnûf feed"
#: podcasts-gtk/resources/gtk/headerbar.ui:53
msgid "Enter feed address to add"
msgstr "Inserìs la direzion dal feed di zontâ"
#: podcasts-gtk/resources/gtk/headerbar.ui:89
msgid "Add"
msgstr "Zonte"
#: podcasts-gtk/resources/gtk/headerbar.ui:133
msgid "You are already subscribed to that feed!"
msgstr "Tu sês za sotscrit a chest feed!"
#: podcasts-gtk/resources/gtk/headerbar.ui:169
msgid "Show Title"
msgstr "Titul dal spetacul"
#: podcasts-gtk/resources/gtk/headerbar.ui:210
msgid "Back"
msgstr "Indaûr"
#: podcasts-gtk/resources/gtk/help-overlay.ui:12
msgid "General"
msgstr "Gjenerâl"
#: podcasts-gtk/resources/gtk/help-overlay.ui:18
msgctxt "shortcut window"
msgid "Check for new episodes"
msgstr "Controle se a son gnûfs episodis"
#: podcasts-gtk/resources/gtk/help-overlay.ui:25
msgctxt "shortcut window"
msgid "Preferences"
msgstr "Preferencis"
#: podcasts-gtk/resources/gtk/help-overlay.ui:32
msgctxt "shortcut window"
msgid "Quit the application"
msgstr "Jes de aplicazion"
#: podcasts-gtk/resources/gtk/home_view.ui:56
msgid "Today"
msgstr "Vuê"
#: podcasts-gtk/resources/gtk/home_view.ui:112
msgid "Yesterday"
msgstr "Îr"
#: podcasts-gtk/resources/gtk/home_view.ui:168
msgid "This Week"
msgstr "Cheste setemane"
#: podcasts-gtk/resources/gtk/home_view.ui:224
msgid "This Month"
msgstr "Chest mês"
#: podcasts-gtk/resources/gtk/home_view.ui:281
msgid "Older"
msgstr "Plui vecjo"
#: podcasts-gtk/resources/gtk/inapp_notif.ui:101
msgid "An in-app action notification"
msgstr "Une notifiche di aplicazion in-app"
#: podcasts-gtk/resources/gtk/inapp_notif.ui:112
msgid "Undo"
msgstr "Disfe"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:72
msgid "Rewind 10 seconds"
msgstr "Torne indaûr di 10 seconts"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:87
msgid "Play"
msgstr "Riprodûs"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:103
msgid "Pause"
msgstr "Pause"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:119
msgid "Fast forward 10 seconds"
msgstr "Va indenant di 10 minûts"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:285
msgid "Change the playback speed"
msgstr "Cambie la velocitât di riproduzion"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:300
#: podcasts-gtk/resources/gtk/player_toolbar.ui:380
msgid "1.00×"
msgstr "1.00×"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:344
msgid "1.50×"
msgstr "1.50×"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:348
msgid "1.5 speed rate"
msgstr "rapuart di velocitât 1.5"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:362
msgid "1.25×"
msgstr "1.25×"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:366
msgid "1.25 speed rate"
msgstr "rapuart di velocitât 1.25"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:384
msgid "Normal speed"
msgstr "Velocitât normâl"
#: podcasts-gtk/resources/gtk/prefs.ui:42
#: podcasts-gtk/resources/gtk/prefs.ui:295
msgid "Preferences"
msgstr "Preferencis"
#: podcasts-gtk/resources/gtk/prefs.ui:76
msgid "Appearance"
msgstr "Aspiet"
#: podcasts-gtk/resources/gtk/prefs.ui:120
msgid "Dark Theme"
msgstr "Teme scûr"
#: podcasts-gtk/resources/gtk/prefs.ui:166
msgid "Delete played episodes"
msgstr "Elimine i episodis viodûts"
#: podcasts-gtk/resources/gtk/prefs.ui:211
msgid "After"
msgstr "Dopo"
#: podcasts-gtk/resources/gtk/secondary_menu.ui:7
msgid "_Mark All Episodes as Played"
msgstr "_Segne ducj i episodis come viodûts"
#: podcasts-gtk/resources/gtk/secondary_menu.ui:11
msgid "_Website"
msgstr "Sît _web"
#: podcasts-gtk/resources/gtk/secondary_menu.ui:15
msgid "_Unsubscribe"
msgstr "_Anule sotscrizion"
#: podcasts-gtk/resources/gtk/show_menu.ui:51
msgid "Open Website"
msgstr "Vierç sît web"
#: podcasts-gtk/resources/gtk/show_menu.ui:64
msgid "Mark All as Played"
msgstr "Segne dut come viodût"
#: podcasts-gtk/resources/gtk/show_menu.ui:89
msgid "Unsubscribe"
msgstr "Anule sotscrizion"
#: podcasts-gtk/src/app.rs:332
msgid "Fetching new episodes"
msgstr "Daûr a recuperâ i gnûfs episodis"
#: podcasts-gtk/src/headerbar.rs:98
msgid "You are already subscribed to this show"
msgstr "Tu sês za sotscrit a chest spetacul"
#: podcasts-gtk/src/headerbar.rs:106
msgid "Invalid URL"
msgstr "URL no valit"
#: podcasts-gtk/src/prefs.rs:59
msgid "Seconds"
msgstr "Seconts"
#: podcasts-gtk/src/prefs.rs:60
msgid "Minutes"
msgstr "Minûts"
#: podcasts-gtk/src/prefs.rs:61
msgid "Hours"
msgstr "Oris"
#: podcasts-gtk/src/prefs.rs:62
msgid "Days"
msgstr "Diis"
#: podcasts-gtk/src/prefs.rs:63
msgid "Weeks"
msgstr "Setemanis"
#: podcasts-gtk/src/stacks/content.rs:35
msgid "New"
msgstr "Gnûf"
#: podcasts-gtk/src/stacks/content.rs:36
msgid "Shows"
msgstr "Spetacui"
#: podcasts-gtk/src/utils.rs:357
msgid "Select the file from which to you want to import shows."
msgstr "Selezione il file che di chei si desidere impuartâ i spetacui."
#: podcasts-gtk/src/utils.rs:360
msgid "_Import"
msgstr "_Impuarte"
#: podcasts-gtk/src/utils.rs:369
msgid "OPML file"
msgstr "File OPML"
#: podcasts-gtk/src/utils.rs:386
msgid "Failed to parse the imported file"
msgstr "No si è rivâts a analizâ il file impuartât"
#: podcasts-gtk/src/utils.rs:391
msgid "Selected file could not be accessed."
msgstr "Il file selezionât nol pues jessi doprât."
#: podcasts-gtk/src/widgets/aboutdialog.rs:26
msgid "Podcast Client for the GNOME Desktop."
msgstr "Client podcast pal scritori GNOME."
#: podcasts-gtk/src/widgets/aboutdialog.rs:33
msgid "Learn more about GNOME Podcasts"
msgstr "Plui informazions su GNOME Podcasts"
#: podcasts-gtk/src/widgets/aboutdialog.rs:38
msgid "translator-credits"
msgstr "Fabio Tomat <f.t.public@gmail.com>"
#: podcasts-gtk/src/widgets/episode.rs:129
msgid "{} min"
msgstr "{} min"
#. sender.send(Action::ErrorNotification(format!("Player Error: {}", error)));
#: podcasts-gtk/src/widgets/player.rs:301
msgid "The media player was unable to execute an action."
msgstr "Il riprodutôr multimediâl nol è stât bon di eseguî une azion."
#: podcasts-gtk/src/widgets/show_menu.rs:150
msgid "Marked all episodes as listened"
msgstr "Segnât ducj i episodis come scoltâts"
#: podcasts-gtk/src/widgets/show_menu.rs:155
msgid "Unsubscribed from {}"
msgstr "Sotscrizion anulade di {}"
+414
View File
@@ -0,0 +1,414 @@
# Croatian translation for podcasts.
# Copyright (C) 2018 podcasts's COPYRIGHT HOLDER
# This file is distributed under the same license as the podcasts package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: podcasts master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/podcasts/issues\n"
"POT-Creation-Date: 2018-09-08 17:18+0000\n"
"PO-Revision-Date: 2018-09-19 14:24+0200\n"
"Last-Translator: \n"
"Language-Team: Croatian <hr@li.org>\n"
"Language: hr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Poedit 2.1.1\n"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:15
msgid "Top position of the last open main window"
msgstr "Gornji položaj posljednjeg otvorenog prozora"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:19
msgid "Left position of the last open main window"
msgstr "Lijevi položaj posljednjeg otvorenog prozora"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:23
msgid "Height of the last open main window"
msgstr "Visina posljednjeg otvorenog prozora"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:27
msgid "Width of the last open main window"
msgstr "Širina posljednjeg otvorenog prozora"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:31
msgid "Maximized state of the last open main window"
msgstr "Stanje uvećanja posljednjeg otvorenog prozora"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:36
msgid "Enable or disable dark theme"
msgstr "Omogući ili onemogući tamnu temu"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:41
msgid "Whether to periodically refresh content"
msgstr "Treba li povremeno osvježiti sadržaj"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:46
msgid "How many periods of time to wait between automatic refreshes"
msgstr ""
"Koliko vremenskih razdoblja treba pričekati između automatskih osvježavanja"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:50
msgid "What period of time to wait between automatic refreshes"
msgstr ""
"Koliko vremensko razdoblje treba pričekati između automatskih osvježavanja"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:54
msgid "Whether to refresh content after startup"
msgstr "Treba li osvježiti sadržaj nakon pokretanja"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:60
msgid "How many periods of time to wait between automatic cleanups"
msgstr ""
"Koliko vremenskih razdoblja treba pričekati između automatskih čišćenja"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:64
msgid "What period of time to wait between automatic cleanups"
msgstr "Koliko vremensko razdoblje treba pričekati između automatskih čišćenja"
#. Weird magic I copy-pasted that sets the Application Name in the Shell.
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:3
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:4
#: podcasts-gtk/src/app.rs:91 podcasts-gtk/src/app.rs:414
#: podcasts-gtk/src/widgets/aboutdialog.rs:31
msgid "Podcasts"
msgstr "Podcasti"
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:4
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:10
msgid "Listen to your favorite podcasts, right from your desktop."
msgstr "Slušajte svoje omiljene podcaste."
#. Translators: Do NOT translate or transliterate this text (this is an icon file name)!
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:6
msgid "@icon@"
msgstr "@icon@"
#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:13
msgid "Podcast;RSS;"
msgstr "Podcast;RSS;"
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:8
msgid "Podcast app for GNOME"
msgstr "Podcast aplikacija za GNOME"
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:51
msgid "Jordan Petridis"
msgstr "Jordan Petridis"
#: podcasts-gtk/resources/gtk/empty_view.ui:46
msgid "This show does not have episodes yet"
msgstr "Ova emisjia još nema epizoda"
#: podcasts-gtk/resources/gtk/empty_view.ui:62
msgid "If you think this is an error, please consider writing a bug report."
msgstr "Ako mislite da je ovo greška, prijavite izvještaj greške."
#: podcasts-gtk/resources/gtk/empty_view.ui:106
msgid "Get some shows"
msgstr "Nabavite nove emisije"
#: podcasts-gtk/resources/gtk/empty_view.ui:143
msgid "Add new shows via feed URL"
msgstr "Dodaj novu emisiju putem kanala ili URL-a"
#: podcasts-gtk/resources/gtk/empty_view.ui:172
msgid "Import shows from another device"
msgstr "Uvezi emisije iz drugog uređaja"
#: podcasts-gtk/resources/gtk/episode_widget.ui:180
msgid "Calculating episode size…"
msgstr "Izračunavanje veličine emisjie…"
#: podcasts-gtk/resources/gtk/episode_widget.ui:220
msgid "Play this episode"
msgstr "Slušaj ovu epizodu"
#: podcasts-gtk/resources/gtk/episode_widget.ui:241
msgid "Cancel the download proccess"
msgstr "Prekini preuzimanja"
#: podcasts-gtk/resources/gtk/episode_widget.ui:264
msgid "Download this episode"
msgstr "Preuzmi ovu epizodu"
#: podcasts-gtk/resources/gtk/hamburger.ui:7
msgid "_Check for New Episodes"
msgstr "_Provjeri ima li novih epizoda"
#: podcasts-gtk/resources/gtk/hamburger.ui:12
msgid "_Import Shows"
msgstr "_Uvezi emisije"
#: podcasts-gtk/resources/gtk/hamburger.ui:22
msgid "_Preferences"
msgstr "_Osobitosti"
#: podcasts-gtk/resources/gtk/hamburger.ui:29
msgid "_Keyboard Shortcuts"
msgstr "_Prečaci tipkovnice"
#: podcasts-gtk/resources/gtk/hamburger.ui:37
msgid "_About"
msgstr "_O programu"
#: podcasts-gtk/resources/gtk/headerbar.ui:35
#: podcasts-gtk/resources/gtk/headerbar.ui:189
msgid "Add a new feed"
msgstr "Dodaj novi kanal"
#: podcasts-gtk/resources/gtk/headerbar.ui:53
msgid "Enter feed address to add"
msgstr "Upišite adresu kanala za dodavanje"
#: podcasts-gtk/resources/gtk/headerbar.ui:89
msgid "Add"
msgstr "Dodaj"
#: podcasts-gtk/resources/gtk/headerbar.ui:133
msgid "You are already subscribed to that feed!"
msgstr "Već ste pretplaćeni na ovaj kanal!"
#: podcasts-gtk/resources/gtk/headerbar.ui:169
msgid "Show Title"
msgstr "Prikaži naslov"
#: podcasts-gtk/resources/gtk/headerbar.ui:210
msgid "Back"
msgstr "Natrag"
#: podcasts-gtk/resources/gtk/help-overlay.ui:12
msgid "General"
msgstr "Općenito"
#: podcasts-gtk/resources/gtk/help-overlay.ui:18
msgctxt "shortcut window"
msgid "Check for new episodes"
msgstr "Provjeri ima li novih epizoda"
#: podcasts-gtk/resources/gtk/help-overlay.ui:25
msgctxt "shortcut window"
msgid "Preferences"
msgstr "Osobitosti"
#: podcasts-gtk/resources/gtk/help-overlay.ui:32
msgctxt "shortcut window"
msgid "Quit the application"
msgstr "Zatvori aplikaciju"
#: podcasts-gtk/resources/gtk/home_view.ui:56
msgid "Today"
msgstr "Danas"
#: podcasts-gtk/resources/gtk/home_view.ui:112
msgid "Yesterday"
msgstr "Jučer"
#: podcasts-gtk/resources/gtk/home_view.ui:168
msgid "This Week"
msgstr "Ovaj tjedan"
#: podcasts-gtk/resources/gtk/home_view.ui:224
msgid "This Month"
msgstr "Ovaj mjesec"
#: podcasts-gtk/resources/gtk/home_view.ui:281
msgid "Older"
msgstr "Starije"
#: podcasts-gtk/resources/gtk/inapp_notif.ui:101
msgid "An in-app action notification"
msgstr "Obavijesti radnja iz aplikacije"
#: podcasts-gtk/resources/gtk/inapp_notif.ui:112
msgid "Undo"
msgstr "Vrati"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:72
msgid "Rewind 10 seconds"
msgstr "Premotaj 10 sekundi"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:87
msgid "Play"
msgstr "Reproduciraj"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:103
msgid "Pause"
msgstr "Pauziraj"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:119
msgid "Fast forward 10 seconds"
msgstr "Brzo premotaj 10 sekundi"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:285
msgid "Change the playback speed"
msgstr "Promijeni brzinu reprodukcije"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:300
#: podcasts-gtk/resources/gtk/player_toolbar.ui:380
msgid "1.00×"
msgstr "1.00×"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:344
msgid "1.50×"
msgstr "1.50×"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:348
msgid "1.5 speed rate"
msgstr "1.5 brže"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:362
msgid "1.25×"
msgstr "1.25×"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:366
msgid "1.25 speed rate"
msgstr "1.25 brže"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:384
msgid "Normal speed"
msgstr "Normalna brzina"
#: podcasts-gtk/resources/gtk/prefs.ui:42
#: podcasts-gtk/resources/gtk/prefs.ui:295
msgid "Preferences"
msgstr "Osobitosti"
#: podcasts-gtk/resources/gtk/prefs.ui:76
msgid "Appearance"
msgstr "Izgled"
#: podcasts-gtk/resources/gtk/prefs.ui:120
msgid "Dark Theme"
msgstr "Tamna tema"
#: podcasts-gtk/resources/gtk/prefs.ui:166
msgid "Delete played episodes"
msgstr "Obriši poslušane epizode"
#: podcasts-gtk/resources/gtk/prefs.ui:211
msgid "After"
msgstr "Poslije"
#: podcasts-gtk/resources/gtk/secondary_menu.ui:7
msgid "_Mark All Episodes as Played"
msgstr "_Označi se epizode kao odslušane"
#: podcasts-gtk/resources/gtk/secondary_menu.ui:11
msgid "_Website"
msgstr "_Web stranica"
#: podcasts-gtk/resources/gtk/secondary_menu.ui:15
msgid "_Unsubscribe"
msgstr "_Ukini pretplatu"
#: podcasts-gtk/resources/gtk/show_menu.ui:51
msgid "Open Website"
msgstr "Otvori web stranicu"
#: podcasts-gtk/resources/gtk/show_menu.ui:64
msgid "Mark All as Played"
msgstr "Označi sve kao odslušano"
#: podcasts-gtk/resources/gtk/show_menu.ui:89
msgid "Unsubscribe"
msgstr "Ukini pretplatu"
#: podcasts-gtk/src/app.rs:332
msgid "Fetching new episodes"
msgstr "Preuzimanje novi epizoda"
#: podcasts-gtk/src/headerbar.rs:98
msgid "You are already subscribed to this show"
msgstr "Već ste pretplaćeni na ovu emisiju"
#: podcasts-gtk/src/headerbar.rs:106
msgid "Invalid URL"
msgstr "Nevažeći URL"
#: podcasts-gtk/src/prefs.rs:59
msgid "Seconds"
msgstr "Sekunda"
#: podcasts-gtk/src/prefs.rs:60
msgid "Minutes"
msgstr "Minuta"
#: podcasts-gtk/src/prefs.rs:61
msgid "Hours"
msgstr "Sata"
#: podcasts-gtk/src/prefs.rs:62
msgid "Days"
msgstr "Dana"
#: podcasts-gtk/src/prefs.rs:63
msgid "Weeks"
msgstr "Tjedana"
#: podcasts-gtk/src/stacks/content.rs:35
msgid "New"
msgstr "Novo"
#: podcasts-gtk/src/stacks/content.rs:36
msgid "Shows"
msgstr "Emisije"
#: podcasts-gtk/src/utils.rs:357
msgid "Select the file from which to you want to import shows."
msgstr "Odaberite datoteku iz koje želite uvesti emisije."
#: podcasts-gtk/src/utils.rs:360
msgid "_Import"
msgstr "_Uvoz"
#: podcasts-gtk/src/utils.rs:369
msgid "OPML file"
msgstr "OPML datoteka"
#: podcasts-gtk/src/utils.rs:386
msgid "Failed to parse the imported file"
msgstr "Neuspjela obrada uvezene datoteke"
#: podcasts-gtk/src/utils.rs:391
msgid "Selected file could not be accessed."
msgstr "Nemoguć pristup dabranoj datoteci."
#: podcasts-gtk/src/widgets/aboutdialog.rs:26
msgid "Podcast Client for the GNOME Desktop."
msgstr "Podcast klijent za GNOME radnu površinu."
#: podcasts-gtk/src/widgets/aboutdialog.rs:33
msgid "Learn more about GNOME Podcasts"
msgstr "Saznajte više o GNOME Podcasti"
#: podcasts-gtk/src/widgets/aboutdialog.rs:38
msgid "translator-credits"
msgstr ""
"Launchpad Contributions:\n"
" gogo https://launchpad.net/~trebelnik-stefina"
#: podcasts-gtk/src/widgets/episode.rs:130
msgid "{} min"
msgstr "{} min"
#. sender.send(Action::ErrorNotification(format!("Player Error: {}", error)));
#: podcasts-gtk/src/widgets/player.rs:301
msgid "The media player was unable to execute an action."
msgstr "Medijski reproduktor nije uspio izvršiti radnju."
#: podcasts-gtk/src/widgets/show_menu.rs:150
msgid "Marked all episodes as listened"
msgstr "Označi sve epizodae kao odslušane"
#: podcasts-gtk/src/widgets/show_menu.rs:155
msgid "Unsubscribed from {}"
msgstr "Ukini pretplatu za {}"
#~ msgid "Cancel"
#~ msgstr "Odustani"
+407
View File
@@ -0,0 +1,407 @@
# Hungarian translation for podcasts.
# Copyright (C) 2018. Free Software Foundation, Inc.
# This file is distributed under the same license as the podcasts package.
#
# Meskó Balázs <mesko.balazs@fsf.hu>, 2018.
msgid ""
msgstr ""
"Project-Id-Version: podcasts master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/podcasts/issues\n"
"POT-Creation-Date: 2018-09-03 11:31+0000\n"
"PO-Revision-Date: 2018-09-06 00:08+0100\n"
"Last-Translator: Meskó Balázs <mesko.balazs@fsf.hu>\n"
"Language-Team: Hungarian <openscope at googlegroups dot com>\n"
"Language: hu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Lokalize 2.0\n"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:15
msgid "Top position of the last open main window"
msgstr "A legutóbbi nyitott főablak fenti pozíciója"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:19
msgid "Left position of the last open main window"
msgstr "A legutóbbi nyitott főablak bal oldali pozíciója"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:23
msgid "Height of the last open main window"
msgstr "A legutóbbi nyitott főablak magassága"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:27
msgid "Width of the last open main window"
msgstr "A legutóbbi nyitott főablak szélessége"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:31
msgid "Maximized state of the last open main window"
msgstr "A legutóbbi nyitott főablak maximalizálási állapota"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:36
msgid "Enable or disable dark theme"
msgstr "Sötét téma engedélyezése vagy letiltása"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:41
msgid "Whether to periodically refresh content"
msgstr "Időközönként frissüljön-e a tartalom"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:46
msgid "How many periods of time to wait between automatic refreshes"
msgstr "Mennyi időközt várjon az automatikus frissítések között"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:50
msgid "What period of time to wait between automatic refreshes"
msgstr "Milyen időközöket várjon az automatikus frissítések között"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:54
msgid "Whether to refresh content after startup"
msgstr "Indításkor frissüljön-e a tartalom"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:60
msgid "How many periods of time to wait between automatic cleanups"
msgstr "Mennyi időközt várjon az automatikus tisztítások között"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:64
msgid "What period of time to wait between automatic cleanups"
msgstr "Milyen időközöket várjon az automatikus tisztítások között"
#. Weird magic I copy-pasted that sets the Application Name in the Shell.
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:3
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:4
#: podcasts-gtk/src/app.rs:91 podcasts-gtk/src/app.rs:414
#: podcasts-gtk/src/widgets/aboutdialog.rs:31
msgid "Podcasts"
msgstr "Podcastok"
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:4
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:10
msgid "Listen to your favorite podcasts, right from your desktop."
msgstr "Hallgassa kedvenc podcastjait, közvetlenül az asztalán."
#. Translators: Do NOT translate or transliterate this text (this is an icon file name)!
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:6
msgid "@icon@"
msgstr "@icon@"
#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:13
msgid "Podcast;RSS;"
msgstr "Podcast;RSS;"
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:8
msgid "Podcast app for GNOME"
msgstr "Podcast alkalmazás a GNOME-hoz"
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:51
msgid "Jordan Petridis"
msgstr "Jordan Petridis"
#: podcasts-gtk/resources/gtk/empty_view.ui:46
msgid "This show does not have episodes yet"
msgstr "Ennek a műsornak még nincsenek epizódjai"
#: podcasts-gtk/resources/gtk/empty_view.ui:62
msgid "If you think this is an error, please consider writing a bug report."
msgstr "Ha úgy gondolja hogy ez hiba, akkor írjon egy hibajelentést."
#: podcasts-gtk/resources/gtk/empty_view.ui:106
msgid "Get some shows"
msgstr "Szerezzen be néhány műsort"
#: podcasts-gtk/resources/gtk/empty_view.ui:143
msgid "Add new shows via feed URL"
msgstr "Új műsorok hozzáadása csatorna URL-ből"
#: podcasts-gtk/resources/gtk/empty_view.ui:172
msgid "Import shows from another device"
msgstr "Műsorok importálása egy másik eszközről"
#: podcasts-gtk/resources/gtk/episode_widget.ui:178
msgid "Calculating episode size…"
msgstr "Epizódméret kiszámítása…"
#: podcasts-gtk/resources/gtk/episode_widget.ui:214
msgid "Cancel"
msgstr "Mégse"
#: podcasts-gtk/resources/gtk/episode_widget.ui:232
msgid "Download this episode"
msgstr "Ezen epizód letöltése"
#: podcasts-gtk/resources/gtk/episode_widget.ui:256
msgid "Play this episode"
msgstr "Ezen epizód lejátszása"
#: podcasts-gtk/resources/gtk/hamburger.ui:7
msgid "_Check for New Episodes"
msgstr "Új epizódok _keresése"
#: podcasts-gtk/resources/gtk/hamburger.ui:12
msgid "_Import Shows"
msgstr "Műsorok _importálása"
#: podcasts-gtk/resources/gtk/hamburger.ui:22
msgid "_Preferences"
msgstr "_Beállítások"
#: podcasts-gtk/resources/gtk/hamburger.ui:29
msgid "_Keyboard Shortcuts"
msgstr "Gyorsbille_ntyűk"
#: podcasts-gtk/resources/gtk/hamburger.ui:37
msgid "_About"
msgstr "_Névjegy"
#: podcasts-gtk/resources/gtk/headerbar.ui:35
#: podcasts-gtk/resources/gtk/headerbar.ui:189
msgid "Add a new feed"
msgstr "Új csatorna hozzáadása"
#: podcasts-gtk/resources/gtk/headerbar.ui:53
msgid "Enter feed address to add"
msgstr "Adja meg a hozzáadandó csatorna címét"
#: podcasts-gtk/resources/gtk/headerbar.ui:89
msgid "Add"
msgstr "Hozzáadás"
#: podcasts-gtk/resources/gtk/headerbar.ui:133
msgid "You are already subscribed to that feed!"
msgstr "Már feliratkozott erre a csatornára."
#: podcasts-gtk/resources/gtk/headerbar.ui:169
msgid "Show Title"
msgstr "Műsor címe"
#: podcasts-gtk/resources/gtk/headerbar.ui:210
msgid "Back"
msgstr "Vissza"
#: podcasts-gtk/resources/gtk/help-overlay.ui:12
msgid "General"
msgstr "Általános"
#: podcasts-gtk/resources/gtk/help-overlay.ui:18
msgctxt "shortcut window"
msgid "Check for new episodes"
msgstr "Új epizódok keresése"
#: podcasts-gtk/resources/gtk/help-overlay.ui:25
msgctxt "shortcut window"
msgid "Preferences"
msgstr "Beállítások"
#: podcasts-gtk/resources/gtk/help-overlay.ui:32
msgctxt "shortcut window"
msgid "Quit the application"
msgstr "Kilépés az alkalmazásból"
#: podcasts-gtk/resources/gtk/home_view.ui:56
msgid "Today"
msgstr "Ma"
#: podcasts-gtk/resources/gtk/home_view.ui:112
msgid "Yesterday"
msgstr "Tegnap"
#: podcasts-gtk/resources/gtk/home_view.ui:168
msgid "This Week"
msgstr "Ezen a héten"
#: podcasts-gtk/resources/gtk/home_view.ui:224
msgid "This Month"
msgstr "Ebben a hónapban"
#: podcasts-gtk/resources/gtk/home_view.ui:281
msgid "Older"
msgstr "Régebbi"
#: podcasts-gtk/resources/gtk/inapp_notif.ui:101
msgid "An in-app action notification"
msgstr "Alkalmazáson belüli műveletértesítések"
#: podcasts-gtk/resources/gtk/inapp_notif.ui:112
msgid "Undo"
msgstr "Visszavonás"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:72
msgid "Rewind 10 seconds"
msgstr "Visszatekerés 10 másodperccel"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:87
msgid "Play"
msgstr "Lejátszás"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:103
msgid "Pause"
msgstr "Szünet"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:119
msgid "Fast forward 10 seconds"
msgstr "Előretekerés 10 másodperccel"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:285
msgid "Change the playback speed"
msgstr "Lejátszási sebesség módosítása"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:300
#: podcasts-gtk/resources/gtk/player_toolbar.ui:380
msgid "1.00×"
msgstr "1,00×"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:344
msgid "1.50×"
msgstr "1,50×"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:348
msgid "1.5 speed rate"
msgstr "1,5-szeres sebesség"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:362
msgid "1.25×"
msgstr "1,25×"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:366
msgid "1.25 speed rate"
msgstr "1,25-szörös sebesség"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:384
msgid "Normal speed"
msgstr "Normál sebesség"
#: podcasts-gtk/resources/gtk/prefs.ui:42
#: podcasts-gtk/resources/gtk/prefs.ui:295
msgid "Preferences"
msgstr "Beállítások"
#: podcasts-gtk/resources/gtk/prefs.ui:76
msgid "Appearance"
msgstr "Megjelenés"
#: podcasts-gtk/resources/gtk/prefs.ui:120
msgid "Dark Theme"
msgstr "Sötét téma"
#: podcasts-gtk/resources/gtk/prefs.ui:166
msgid "Delete played episodes"
msgstr "Lejátszott epizódok törlése"
#: podcasts-gtk/resources/gtk/prefs.ui:211
msgid "After"
msgstr "Később"
#: podcasts-gtk/resources/gtk/secondary_menu.ui:7
msgid "_Mark All Episodes as Played"
msgstr "Összes epizód meg_jelölése lejátszottként"
#: podcasts-gtk/resources/gtk/secondary_menu.ui:11
msgid "_Website"
msgstr "_Webhely"
#: podcasts-gtk/resources/gtk/secondary_menu.ui:15
msgid "_Unsubscribe"
msgstr "_Leiratkozás"
#: podcasts-gtk/resources/gtk/show_menu.ui:51
msgid "Open Website"
msgstr "Webhely megnyitása"
#: podcasts-gtk/resources/gtk/show_menu.ui:64
msgid "Mark All as Played"
msgstr "Összes megjelölése lejátszottként"
#: podcasts-gtk/resources/gtk/show_menu.ui:89
msgid "Unsubscribe"
msgstr "Leiratkozás"
#: podcasts-gtk/src/app.rs:332
msgid "Fetching new episodes"
msgstr "Új epizódok lekérése"
#: podcasts-gtk/src/headerbar.rs:98
msgid "You are already subscribed to this show"
msgstr "Már feliratkozott erre a műsorra"
#: podcasts-gtk/src/headerbar.rs:106
msgid "Invalid URL"
msgstr "Érvénytelen URL"
#: podcasts-gtk/src/prefs.rs:59
msgid "Seconds"
msgstr "Másodperc"
#: podcasts-gtk/src/prefs.rs:60
msgid "Minutes"
msgstr "Perc"
#: podcasts-gtk/src/prefs.rs:61
msgid "Hours"
msgstr "Óra"
#: podcasts-gtk/src/prefs.rs:62
msgid "Days"
msgstr "Nap"
#: podcasts-gtk/src/prefs.rs:63
msgid "Weeks"
msgstr "Hét"
#: podcasts-gtk/src/stacks/content.rs:35
msgid "New"
msgstr "Új"
#: podcasts-gtk/src/stacks/content.rs:36
msgid "Shows"
msgstr "Műsorok"
#: podcasts-gtk/src/utils.rs:357
msgid "Select the file from which to you want to import shows."
msgstr "Válasszon egy fájlt, amelyből műsorokat akar importálni."
#: podcasts-gtk/src/utils.rs:360
msgid "_Import"
msgstr "_Importálás"
#: podcasts-gtk/src/utils.rs:369
msgid "OPML file"
msgstr "OPML fájl"
#: podcasts-gtk/src/utils.rs:386
msgid "Failed to parse the imported file"
msgstr "Az importált fájl feldolgozása meghiúsult"
#: podcasts-gtk/src/utils.rs:391
msgid "Selected file could not be accessed."
msgstr "A kiválasztott fájlok nem érhetőek el."
#: podcasts-gtk/src/widgets/aboutdialog.rs:26
msgid "Podcast Client for the GNOME Desktop."
msgstr "Podcast-kliens a GNOME asztali környezethez."
#: podcasts-gtk/src/widgets/aboutdialog.rs:33
msgid "Learn more about GNOME Podcasts"
msgstr "További tudnivalók a GNOME Podcastokról"
#: podcasts-gtk/src/widgets/aboutdialog.rs:38
msgid "translator-credits"
msgstr "Meskó Balázs <mesko dot balazs at fsf dot hu>"
#: podcasts-gtk/src/widgets/episode.rs:129
msgid "{} min"
msgstr "{} perc"
#. sender.send(Action::ErrorNotification(format!("Player Error: {}", error)));
#: podcasts-gtk/src/widgets/player.rs:301
msgid "The media player was unable to execute an action."
msgstr "A médialejátszó nem tudott végrehajtani egy műveletet."
#: podcasts-gtk/src/widgets/show_menu.rs:150
msgid "Marked all episodes as listened"
msgstr "Összes epizód megjelölve meghallgatottként"
#: podcasts-gtk/src/widgets/show_menu.rs:155
msgid "Unsubscribed from {}"
msgstr "Leiratkozott innen: {}"
+28 -20
View File
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: podcasts master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/podcasts/issues\n"
"POT-Creation-Date: 2018-08-30 08:45+0000\n"
"PO-Revision-Date: 2018-08-30 17:37+0700\n"
"POT-Creation-Date: 2018-09-28 23:51+0000\n"
"PO-Revision-Date: 2018-10-02 20:34+0700\n"
"Last-Translator: Kukuh Syafaat <kukuhsyafaat@gnome.org>\n"
"Language-Team: Indonesian <gnome-l10n-id@googlegroups.com>\n"
"Language: id\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Last-Translator: Kukuh Syafaat <kukuhsyafaat@gnome.org>\n"
"X-Generator: Poedit 2.0.6\n"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:15
@@ -92,7 +92,7 @@ msgstr "Podcast;RSS;"
msgid "Podcast app for GNOME"
msgstr "Aplikasi Podcast untuk GNOME"
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:31
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:51
msgid "Jordan Petridis"
msgstr "Jordan Petridis"
@@ -102,7 +102,9 @@ msgstr "Acara ini belum memiliki episode"
#: podcasts-gtk/resources/gtk/empty_view.ui:62
msgid "If you think this is an error, please consider writing a bug report."
msgstr "Jika Anda pikir ini adalah kesalahan, silakan mempertimbangkan untuk menulis laporan kutu."
msgstr ""
"Jika Anda pikir ini adalah kesalahan, silakan mempertimbangkan untuk menulis "
"laporan kutu."
#: podcasts-gtk/resources/gtk/empty_view.ui:106
msgid "Get some shows"
@@ -116,22 +118,22 @@ msgstr "Tambahkan acara baru melalui URL feed"
msgid "Import shows from another device"
msgstr "Impor acara dari perangkat lain"
#: podcasts-gtk/resources/gtk/episode_widget.ui:177
#: podcasts-gtk/resources/gtk/episode_widget.ui:180
msgid "Calculating episode size…"
msgstr "Menghitung ukuran episode…"
#: podcasts-gtk/resources/gtk/episode_widget.ui:212
msgid "Cancel"
msgstr "Batal"
#: podcasts-gtk/resources/gtk/episode_widget.ui:230
msgid "Download this episode"
msgstr "Unduh episode ini"
#: podcasts-gtk/resources/gtk/episode_widget.ui:254
#: podcasts-gtk/resources/gtk/episode_widget.ui:220
msgid "Play this episode"
msgstr "Putar episode ini"
#: podcasts-gtk/resources/gtk/episode_widget.ui:241
msgid "Cancel the download proccess"
msgstr "Batalkan proses pengunduhan"
#: podcasts-gtk/resources/gtk/episode_widget.ui:264
msgid "Download this episode"
msgstr "Unduh episode ini"
#: podcasts-gtk/resources/gtk/hamburger.ui:7
msgid "_Check for New Episodes"
msgstr "Periksa Episode _Baru"
@@ -144,13 +146,13 @@ msgstr "_Impor Acara"
msgid "_Preferences"
msgstr "_Preferensi"
#: podcasts-gtk/resources/gtk/hamburger.ui:29
#: podcasts-gtk/resources/gtk/hamburger.ui:27
msgid "_Keyboard Shortcuts"
msgstr "Pintasan Papan _Ketik"
#: podcasts-gtk/resources/gtk/hamburger.ui:37
msgid "_About"
msgstr "Tent_ang"
#: podcasts-gtk/resources/gtk/hamburger.ui:35
msgid "_About Podcasts"
msgstr "Tent_ang Podcast"
#: podcasts-gtk/resources/gtk/headerbar.ui:35
#: podcasts-gtk/resources/gtk/headerbar.ui:189
@@ -386,7 +388,7 @@ msgstr "Pelajari lebih lanjut tentang GNOME Podcast"
msgid "translator-credits"
msgstr "Kukuh Syafaat <kukuhsyafaat@gnome.org>, 2018."
#: podcasts-gtk/src/widgets/episode.rs:129
#: podcasts-gtk/src/widgets/episode.rs:130
msgid "{} min"
msgstr "{} mnt"
@@ -402,3 +404,9 @@ msgstr "Tandai semua episode sebagai sudah didengarkan"
#: podcasts-gtk/src/widgets/show_menu.rs:155
msgid "Unsubscribed from {}"
msgstr "Berhenti berlangganan dari {}"
#~ msgid "_About"
#~ msgstr "Tent_ang"
#~ msgid "Cancel"
#~ msgstr "Batal"
+405
View File
@@ -0,0 +1,405 @@
# Italian translation for podcasts.
# Copyright (C) 2018 podcasts's Free Software Foundation, Inc.
# This file is distributed under the same license as the podcasts package.
# Milo Casagrande <milo@milo.name>, 2018.
#
msgid ""
msgstr ""
"Project-Id-Version: podcasts master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/podcasts/issues\n"
"POT-Creation-Date: 2018-09-03 11:31+0000\n"
"PO-Revision-Date: 2018-09-03 15:41+0200\n"
"Language-Team: Italian <gnome-it-list@gnome.org>\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Last-Translator: Milo Casagrande <milo@milo.name>\n"
"X-Generator: Poedit 2.1.1\n"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:15
msgid "Top position of the last open main window"
msgstr "Posizione superiore dell'ultima finestra principale aperta"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:19
msgid "Left position of the last open main window"
msgstr "Posizione sinistra dell'ultima finestra principale aperta"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:23
msgid "Height of the last open main window"
msgstr "Altezza dell'ultima finestra principale aperta"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:27
msgid "Width of the last open main window"
msgstr "Larghezza dell'ultima finestra principale aperta"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:31
msgid "Maximized state of the last open main window"
msgstr "Stato di massimizzazione dell'ultima finestra principale aperta"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:36
msgid "Enable or disable dark theme"
msgstr "Abilita/Disabilita il tema scuro"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:41
msgid "Whether to periodically refresh content"
msgstr "Indica se aggiornare i contenuti periodicamente"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:46
msgid "How many periods of time to wait between automatic refreshes"
msgstr "Quanto tempo aspettare tra gli aggiornamenti automatici"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:50
msgid "What period of time to wait between automatic refreshes"
msgstr "Che periodo di tempo aspettare tra gli aggiornamenti automatici"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:54
msgid "Whether to refresh content after startup"
msgstr "Indica se aggiornare i contenuti dopo l'avvio"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:60
msgid "How many periods of time to wait between automatic cleanups"
msgstr "Quanto tempo aspettare tra la pulizia automatica"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:64
msgid "What period of time to wait between automatic cleanups"
msgstr "Che periodi di tempo aspettare tra la pulizia automatica"
#. Weird magic I copy-pasted that sets the Application Name in the Shell.
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:3
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:4
#: podcasts-gtk/src/app.rs:91 podcasts-gtk/src/app.rs:414
#: podcasts-gtk/src/widgets/aboutdialog.rs:31
msgid "Podcasts"
msgstr "Podcast"
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:4
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:10
msgid "Listen to your favorite podcasts, right from your desktop."
msgstr "Ascoltare i propri podcast preferiti, direttamente proprio computer."
#. Translators: Do NOT translate or transliterate this text (this is an icon file name)!
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:6
msgid "@icon@"
msgstr "@icon@"
#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:13
msgid "Podcast;RSS;"
msgstr "Podcast;RSS;"
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:8
msgid "Podcast app for GNOME"
msgstr "Applicazione per podcast per GNOME"
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:51
msgid "Jordan Petridis"
msgstr "Jordan Petridis"
#: podcasts-gtk/resources/gtk/empty_view.ui:46
msgid "This show does not have episodes yet"
msgstr "Questo show non ha ancora episodi"
#: podcasts-gtk/resources/gtk/empty_view.ui:62
msgid "If you think this is an error, please consider writing a bug report."
msgstr "Se considerate questo evento un errore, inviare una segnalazione."
#: podcasts-gtk/resources/gtk/empty_view.ui:106
msgid "Get some shows"
msgstr "Ottieni show"
#: podcasts-gtk/resources/gtk/empty_view.ui:143
msgid "Add new shows via feed URL"
msgstr "Aggiungi nuovi show via URL"
#: podcasts-gtk/resources/gtk/empty_view.ui:172
msgid "Import shows from another device"
msgstr "Importa show da un altro dispositivo"
#: podcasts-gtk/resources/gtk/episode_widget.ui:178
msgid "Calculating episode size…"
msgstr "Calcolo dimensione episodio…"
#: podcasts-gtk/resources/gtk/episode_widget.ui:214
msgid "Cancel"
msgstr "Annulla"
#: podcasts-gtk/resources/gtk/episode_widget.ui:232
msgid "Download this episode"
msgstr "Scarica questo episodio"
#: podcasts-gtk/resources/gtk/episode_widget.ui:256
msgid "Play this episode"
msgstr "Riproduci questo episodio"
#: podcasts-gtk/resources/gtk/hamburger.ui:7
msgid "_Check for New Episodes"
msgstr "Controlla per _nuovi episodi"
#: podcasts-gtk/resources/gtk/hamburger.ui:12
msgid "_Import Shows"
msgstr "_Importa show"
#: podcasts-gtk/resources/gtk/hamburger.ui:22
msgid "_Preferences"
msgstr "Preferen_ze"
#: podcasts-gtk/resources/gtk/hamburger.ui:29
msgid "_Keyboard Shortcuts"
msgstr "_Scorciatoie da tastiera"
#: podcasts-gtk/resources/gtk/hamburger.ui:37
msgid "_About"
msgstr "I_nformazioni"
#: podcasts-gtk/resources/gtk/headerbar.ui:35
#: podcasts-gtk/resources/gtk/headerbar.ui:189
msgid "Add a new feed"
msgstr "Aggiungi nuovo feed"
#: podcasts-gtk/resources/gtk/headerbar.ui:53
msgid "Enter feed address to add"
msgstr "Inserire un indirizzo da aggiungere"
#: podcasts-gtk/resources/gtk/headerbar.ui:89
msgid "Add"
msgstr "Aggiungi"
#: podcasts-gtk/resources/gtk/headerbar.ui:133
msgid "You are already subscribed to that feed!"
msgstr "Si è già abbonati a questo feed."
#: podcasts-gtk/resources/gtk/headerbar.ui:169
msgid "Show Title"
msgstr "Titolo show"
#: podcasts-gtk/resources/gtk/headerbar.ui:210
msgid "Back"
msgstr "Indietro"
#: podcasts-gtk/resources/gtk/help-overlay.ui:12
msgid "General"
msgstr "Generale"
#: podcasts-gtk/resources/gtk/help-overlay.ui:18
msgctxt "shortcut window"
msgid "Check for new episodes"
msgstr "Controlla presenza nuovi episodi"
#: podcasts-gtk/resources/gtk/help-overlay.ui:25
msgctxt "shortcut window"
msgid "Preferences"
msgstr "Preferenze"
#: podcasts-gtk/resources/gtk/help-overlay.ui:32
msgctxt "shortcut window"
msgid "Quit the application"
msgstr "Esce dall'applicazione"
#: podcasts-gtk/resources/gtk/home_view.ui:56
msgid "Today"
msgstr "Oggi"
#: podcasts-gtk/resources/gtk/home_view.ui:112
msgid "Yesterday"
msgstr "Ieri"
#: podcasts-gtk/resources/gtk/home_view.ui:168
msgid "This Week"
msgstr "Questa settimana"
#: podcasts-gtk/resources/gtk/home_view.ui:224
msgid "This Month"
msgstr "Questo mese"
#: podcasts-gtk/resources/gtk/home_view.ui:281
msgid "Older"
msgstr "Più vecchi"
#: podcasts-gtk/resources/gtk/inapp_notif.ui:101
msgid "An in-app action notification"
msgstr "Una notifica"
#: podcasts-gtk/resources/gtk/inapp_notif.ui:112
msgid "Undo"
msgstr "Annulla"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:72
msgid "Rewind 10 seconds"
msgstr "Indietro 10 secondi"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:87
msgid "Play"
msgstr "Riproduci"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:103
msgid "Pause"
msgstr "Pausa"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:119
msgid "Fast forward 10 seconds"
msgstr "Avanti veloce 10 secondi"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:285
msgid "Change the playback speed"
msgstr "Modifica la velocità di riproduzione"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:300
#: podcasts-gtk/resources/gtk/player_toolbar.ui:380
msgid "1.00×"
msgstr "1,00×"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:344
msgid "1.50×"
msgstr "1,50×"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:348
msgid "1.5 speed rate"
msgstr "1,5 volte la velocità"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:362
msgid "1.25×"
msgstr "1,25×"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:366
msgid "1.25 speed rate"
msgstr "1,25 volte la velocità"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:384
msgid "Normal speed"
msgstr "Velocità normale"
#: podcasts-gtk/resources/gtk/prefs.ui:42
#: podcasts-gtk/resources/gtk/prefs.ui:295
msgid "Preferences"
msgstr "Preferenze"
#: podcasts-gtk/resources/gtk/prefs.ui:76
msgid "Appearance"
msgstr "Aspetto"
#: podcasts-gtk/resources/gtk/prefs.ui:120
msgid "Dark Theme"
msgstr "Tema scuro"
#: podcasts-gtk/resources/gtk/prefs.ui:166
msgid "Delete played episodes"
msgstr "Eliminare episodi ascoltati"
#: podcasts-gtk/resources/gtk/prefs.ui:211
msgid "After"
msgstr "Dopo"
#: podcasts-gtk/resources/gtk/secondary_menu.ui:7
msgid "_Mark All Episodes as Played"
msgstr "_Segna tutti gli episodi come ascoltati"
#: podcasts-gtk/resources/gtk/secondary_menu.ui:11
msgid "_Website"
msgstr "Sito _web"
#: podcasts-gtk/resources/gtk/secondary_menu.ui:15
msgid "_Unsubscribe"
msgstr "_Annulla abbonamento"
#: podcasts-gtk/resources/gtk/show_menu.ui:51
msgid "Open Website"
msgstr "Apri sito web"
#: podcasts-gtk/resources/gtk/show_menu.ui:64
msgid "Mark All as Played"
msgstr "Segna tutti ascoltati"
#: podcasts-gtk/resources/gtk/show_menu.ui:89
msgid "Unsubscribe"
msgstr "Annulla abbonamento"
#: podcasts-gtk/src/app.rs:332
msgid "Fetching new episodes"
msgstr "Scaricamento nuovi episodi"
#: podcasts-gtk/src/headerbar.rs:98
msgid "You are already subscribed to this show"
msgstr "Si è già abbonati a questo show"
#: podcasts-gtk/src/headerbar.rs:106
msgid "Invalid URL"
msgstr "URL non valido"
#: podcasts-gtk/src/prefs.rs:59
msgid "Seconds"
msgstr "secondi"
#: podcasts-gtk/src/prefs.rs:60
msgid "Minutes"
msgstr "Minuti"
#: podcasts-gtk/src/prefs.rs:61
msgid "Hours"
msgstr "Ore"
#: podcasts-gtk/src/prefs.rs:62
msgid "Days"
msgstr "Giorni"
#: podcasts-gtk/src/prefs.rs:63
msgid "Weeks"
msgstr "Settimane"
#: podcasts-gtk/src/stacks/content.rs:35
msgid "New"
msgstr "Nuovo"
#: podcasts-gtk/src/stacks/content.rs:36
msgid "Shows"
msgstr "Show"
#: podcasts-gtk/src/utils.rs:357
msgid "Select the file from which to you want to import shows."
msgstr "Selezionare il file da cui importare gli show."
#: podcasts-gtk/src/utils.rs:360
msgid "_Import"
msgstr "_Importa"
#: podcasts-gtk/src/utils.rs:369
msgid "OPML file"
msgstr "File OPML"
#: podcasts-gtk/src/utils.rs:386
msgid "Failed to parse the imported file"
msgstr "Analisi del file importato non riuscita"
#: podcasts-gtk/src/utils.rs:391
msgid "Selected file could not be accessed."
msgstr "Impossibile accedere al file selezionato."
#: podcasts-gtk/src/widgets/aboutdialog.rs:26
msgid "Podcast Client for the GNOME Desktop."
msgstr "Client podcast per l'ambiente grafico GNOME."
#: podcasts-gtk/src/widgets/aboutdialog.rs:33
msgid "Learn more about GNOME Podcasts"
msgstr "Maggiori informazioni su Podcast GNOME"
#: podcasts-gtk/src/widgets/aboutdialog.rs:38
msgid "translator-credits"
msgstr "Milo Casagrande <milo@milo.name>"
#: podcasts-gtk/src/widgets/episode.rs:129
msgid "{} min"
msgstr "{} min"
#. sender.send(Action::ErrorNotification(format!("Player Error: {}", error)));
#: podcasts-gtk/src/widgets/player.rs:301
msgid "The media player was unable to execute an action."
msgstr "Il riproduttore multimediale non può eseguire un'azione."
#: podcasts-gtk/src/widgets/show_menu.rs:150
msgid "Marked all episodes as listened"
msgstr "Episodi segnati come letti"
#: podcasts-gtk/src/widgets/show_menu.rs:155
msgid "Unsubscribed from {}"
msgstr "Abbonamento a {} annullato"
+407
View File
@@ -0,0 +1,407 @@
# Latvian translation for podcasts.
# Copyright (C) 2018 podcasts's COPYRIGHT HOLDER
# This file is distributed under the same license as the podcasts package.
#
# Rūdolfs Mazurs <rudolfs.mazurs@gmail.com>, 2018.
msgid ""
msgstr ""
"Project-Id-Version: podcasts master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/podcasts/issues\n"
"POT-Creation-Date: 2018-09-10 07:51+0000\n"
"PO-Revision-Date: 2018-09-10 20:15+0200\n"
"Last-Translator: Rūdolfs Mazurs <rudolfs.mazurs@gmail.com>\n"
"Language-Team: Latvian <lata-l10n@googlegroups.com>\n"
"Language: lv\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 :"
" 2);\n"
"X-Generator: Lokalize 2.0\n"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:15
msgid "Top position of the last open main window"
msgstr "Augšējais novietojums pēdējam atvērtajam galvenajam logam"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:19
msgid "Left position of the last open main window"
msgstr "Kreisais novietojums pēdējam atvērtajam galvenajam logam"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:23
msgid "Height of the last open main window"
msgstr "Pēdējā atvērtā galvenā loga augstums"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:27
msgid "Width of the last open main window"
msgstr "Pēdējā atvērtā galvenā loga platums"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:31
msgid "Maximized state of the last open main window"
msgstr "Pēdējā atvērtā galvenā loga maksimizēšanas stāvoklis"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:36
msgid "Enable or disable dark theme"
msgstr "Ieslēgt vai izslēgt tumšo motīvu"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:41
msgid "Whether to periodically refresh content"
msgstr "Vai ik pa laikam atsvaidzināt saturu"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:46
msgid "How many periods of time to wait between automatic refreshes"
msgstr "Cik laika periodus gaidīt starp automātisko atsvaidzināšanu"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:50
msgid "What period of time to wait between automatic refreshes"
msgstr "Cik ilgi gaidīt starp automātisko atsvaidzināšanu"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:54
msgid "Whether to refresh content after startup"
msgstr "Vai atsvaidzināt saturu pēc palaišanas"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:60
msgid "How many periods of time to wait between automatic cleanups"
msgstr "Cik laika periodus gaidīt starp automātisko uzkopšanu"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:64
msgid "What period of time to wait between automatic cleanups"
msgstr "Cik ilgi gaidīt starp automātisko uzkopšanu"
#. Weird magic I copy-pasted that sets the Application Name in the Shell.
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:3
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:4
#: podcasts-gtk/src/app.rs:91 podcasts-gtk/src/app.rs:414
#: podcasts-gtk/src/widgets/aboutdialog.rs:31
msgid "Podcasts"
msgstr "Podraides"
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:4
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:10
msgid "Listen to your favorite podcasts, right from your desktop."
msgstr "Klausieties savas iecienītās podraides savā darbvirsmā."
#. Translators: Do NOT translate or transliterate this text (this is an icon file name)!
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:6
msgid "@icon@"
msgstr "@icon@"
#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:13
msgid "Podcast;RSS;"
msgstr "Aplāde;Podraide;Podkāsts;RSS;"
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:8
msgid "Podcast app for GNOME"
msgstr "Podraižu lietotne GNOME videi"
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:51
msgid "Jordan Petridis"
msgstr "Jordan Petridis"
#: podcasts-gtk/resources/gtk/empty_view.ui:46
msgid "This show does not have episodes yet"
msgstr "Šim raidījumam vēl nav epizožu"
#: podcasts-gtk/resources/gtk/empty_view.ui:62
msgid "If you think this is an error, please consider writing a bug report."
msgstr "Ja domājat, ka šī ir kļūda, apsveriet sūtīt kļūdas ziņojumu."
#: podcasts-gtk/resources/gtk/empty_view.ui:106
msgid "Get some shows"
msgstr "Tikt pie dažiem raidījumiem"
#: podcasts-gtk/resources/gtk/empty_view.ui:143
msgid "Add new shows via feed URL"
msgstr "Pievienojiet jaunus raidījumus ar plūsmu URL"
#: podcasts-gtk/resources/gtk/empty_view.ui:172
msgid "Import shows from another device"
msgstr "Importēt raidījumus no citas ierīces"
#: podcasts-gtk/resources/gtk/episode_widget.ui:180
msgid "Calculating episode size…"
msgstr "Aprēķina epizodes izmēru…"
#: podcasts-gtk/resources/gtk/episode_widget.ui:220
msgid "Play this episode"
msgstr "Atskaņot šo epizodi"
#: podcasts-gtk/resources/gtk/episode_widget.ui:241
msgid "Cancel the download proccess"
msgstr "Atcelt lejupielādēšanu"
#: podcasts-gtk/resources/gtk/episode_widget.ui:264
msgid "Download this episode"
msgstr "Lejupielādēt šo epizodi"
#: podcasts-gtk/resources/gtk/hamburger.ui:7
msgid "_Check for New Episodes"
msgstr "Pārbaudīt jau_nos raidījumus"
#: podcasts-gtk/resources/gtk/hamburger.ui:12
msgid "_Import Shows"
msgstr "_Importēt raidījumus"
#: podcasts-gtk/resources/gtk/hamburger.ui:22
msgid "_Preferences"
msgstr "_Iestatījumi"
#: podcasts-gtk/resources/gtk/hamburger.ui:29
msgid "_Keyboard Shortcuts"
msgstr "_Tastatūras īsinājumtaustiņi"
#: podcasts-gtk/resources/gtk/hamburger.ui:37
msgid "_About"
msgstr "P_ar"
#: podcasts-gtk/resources/gtk/headerbar.ui:35
#: podcasts-gtk/resources/gtk/headerbar.ui:189
msgid "Add a new feed"
msgstr "Pievienot jaunu plūsmu"
#: podcasts-gtk/resources/gtk/headerbar.ui:53
msgid "Enter feed address to add"
msgstr "Ievadiet pievienojamās plūsmas adresi"
#: podcasts-gtk/resources/gtk/headerbar.ui:89
msgid "Add"
msgstr "Pievienot"
#: podcasts-gtk/resources/gtk/headerbar.ui:133
msgid "You are already subscribed to that feed!"
msgstr "Jūs jau esat abonējis šo plūsmu!"
#: podcasts-gtk/resources/gtk/headerbar.ui:169
msgid "Show Title"
msgstr "Rādīt virsrakstu"
#: podcasts-gtk/resources/gtk/headerbar.ui:210
msgid "Back"
msgstr "Atpakaļ"
#: podcasts-gtk/resources/gtk/help-overlay.ui:12
msgid "General"
msgstr "Vispārīgi"
#: podcasts-gtk/resources/gtk/help-overlay.ui:18
msgctxt "shortcut window"
msgid "Check for new episodes"
msgstr "Pārbaudīt jaunos raidījumus"
#: podcasts-gtk/resources/gtk/help-overlay.ui:25
msgctxt "shortcut window"
msgid "Preferences"
msgstr "Iestatījumi"
#: podcasts-gtk/resources/gtk/help-overlay.ui:32
msgctxt "shortcut window"
msgid "Quit the application"
msgstr "Iziet no lietotnes"
#: podcasts-gtk/resources/gtk/home_view.ui:56
msgid "Today"
msgstr "Šodien"
#: podcasts-gtk/resources/gtk/home_view.ui:112
msgid "Yesterday"
msgstr "Vakar"
#: podcasts-gtk/resources/gtk/home_view.ui:168
msgid "This Week"
msgstr "Šonedēļ"
#: podcasts-gtk/resources/gtk/home_view.ui:224
msgid "This Month"
msgstr "Šomēnes"
#: podcasts-gtk/resources/gtk/home_view.ui:281
msgid "Older"
msgstr "Vecākas"
#: podcasts-gtk/resources/gtk/inapp_notif.ui:101
msgid "An in-app action notification"
msgstr "Paziņojumi lietotnē"
#: podcasts-gtk/resources/gtk/inapp_notif.ui:112
msgid "Undo"
msgstr "Atsaukt"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:72
msgid "Rewind 10 seconds"
msgstr "Attīt 10 sekundes"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:87
msgid "Play"
msgstr "Atskaņot"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:103
msgid "Pause"
msgstr "Pauzēt"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:119
msgid "Fast forward 10 seconds"
msgstr "Patīt uz priekšu 10 sekundes"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:285
msgid "Change the playback speed"
msgstr "Mainīt atskaņošanas ātrumu"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:300
#: podcasts-gtk/resources/gtk/player_toolbar.ui:380
msgid "1.00×"
msgstr "1,00×"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:344
msgid "1.50×"
msgstr "1,50×"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:348
msgid "1.5 speed rate"
msgstr "1,5 ātrums"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:362
msgid "1.25×"
msgstr "1,25×"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:366
msgid "1.25 speed rate"
msgstr "1,25 ātrums"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:384
msgid "Normal speed"
msgstr "Normāls ātrums"
#: podcasts-gtk/resources/gtk/prefs.ui:42
#: podcasts-gtk/resources/gtk/prefs.ui:295
msgid "Preferences"
msgstr "Iestatījumi"
#: podcasts-gtk/resources/gtk/prefs.ui:76
msgid "Appearance"
msgstr "Izskats"
#: podcasts-gtk/resources/gtk/prefs.ui:120
msgid "Dark Theme"
msgstr "Tumšais motīvs"
#: podcasts-gtk/resources/gtk/prefs.ui:166
msgid "Delete played episodes"
msgstr "Dzēst atskaņotās epizodes"
#: podcasts-gtk/resources/gtk/prefs.ui:211
msgid "After"
msgstr "Pēc"
#: podcasts-gtk/resources/gtk/secondary_menu.ui:7
msgid "_Mark All Episodes as Played"
msgstr "Atzī_mēt visas epizodes kā atskaņotas"
#: podcasts-gtk/resources/gtk/secondary_menu.ui:11
msgid "_Website"
msgstr "_Tīmekļa vietne"
#: podcasts-gtk/resources/gtk/secondary_menu.ui:15
msgid "_Unsubscribe"
msgstr "An_ulēt abonementu"
#: podcasts-gtk/resources/gtk/show_menu.ui:51
msgid "Open Website"
msgstr "Atvērt tīmekļa vietni"
#: podcasts-gtk/resources/gtk/show_menu.ui:64
msgid "Mark All as Played"
msgstr "Atzīmēt visu kā atskaņotu"
#: podcasts-gtk/resources/gtk/show_menu.ui:89
msgid "Unsubscribe"
msgstr "Anulēt abonementu"
#: podcasts-gtk/src/app.rs:332
msgid "Fetching new episodes"
msgstr "Saņem jaunas epizodes"
#: podcasts-gtk/src/headerbar.rs:98
msgid "You are already subscribed to this show"
msgstr "Jūs jau esat abonējis šo raidījumu"
#: podcasts-gtk/src/headerbar.rs:106
msgid "Invalid URL"
msgstr "Nederīgs URL"
#: podcasts-gtk/src/prefs.rs:59
msgid "Seconds"
msgstr "Sekundes"
#: podcasts-gtk/src/prefs.rs:60
msgid "Minutes"
msgstr "Minūtes"
#: podcasts-gtk/src/prefs.rs:61
msgid "Hours"
msgstr "Stundas"
#: podcasts-gtk/src/prefs.rs:62
msgid "Days"
msgstr "Dienas"
#: podcasts-gtk/src/prefs.rs:63
msgid "Weeks"
msgstr "Nedēļas"
#: podcasts-gtk/src/stacks/content.rs:35
msgid "New"
msgstr "Jauns"
#: podcasts-gtk/src/stacks/content.rs:36
msgid "Shows"
msgstr "Raidījumi"
#: podcasts-gtk/src/utils.rs:357
msgid "Select the file from which to you want to import shows."
msgstr "Izvēlieties datni, no kuras vēlaties importēt raidījumus."
#: podcasts-gtk/src/utils.rs:360
msgid "_Import"
msgstr "_Importēt"
#: podcasts-gtk/src/utils.rs:369
msgid "OPML file"
msgstr "OPML datne"
#: podcasts-gtk/src/utils.rs:386
msgid "Failed to parse the imported file"
msgstr "Neizdevās parsēt importēto datni"
#: podcasts-gtk/src/utils.rs:391
msgid "Selected file could not be accessed."
msgstr "Nevarēja piekļūt izvēlētajai datnei."
#: podcasts-gtk/src/widgets/aboutdialog.rs:26
msgid "Podcast Client for the GNOME Desktop."
msgstr "Podraižu klients GNOME darbvirsmai."
#: podcasts-gtk/src/widgets/aboutdialog.rs:33
msgid "Learn more about GNOME Podcasts"
msgstr "Uzziniet vairāk par GNOME podraidēm"
#: podcasts-gtk/src/widgets/aboutdialog.rs:38
msgid "translator-credits"
msgstr "Rūdolfs Mazurs <rudolfs.mazurs@gmail.com>"
#: podcasts-gtk/src/widgets/episode.rs:130
msgid "{} min"
msgstr "{} min"
#. sender.send(Action::ErrorNotification(format!("Player Error: {}", error)));
#: podcasts-gtk/src/widgets/player.rs:301
msgid "The media player was unable to execute an action."
msgstr "Mediju atskaņotājs nevarēja izpildīt darbību."
#: podcasts-gtk/src/widgets/show_menu.rs:150
msgid "Marked all episodes as listened"
msgstr "Visas epizodes ir atzīmētas kā noklausītas"
#: podcasts-gtk/src/widgets/show_menu.rs:155
msgid "Unsubscribed from {}"
msgstr "Anulēt abonementu"
+39 -39
View File
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: podcasts\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/podcasts/issues\n"
"POT-Creation-Date: 2018-08-22 05:29+0000\n"
"PO-Revision-Date: 2018-08-26 18:30+0200\n"
"POT-Creation-Date: 2018-09-28 23:51+0000\n"
"PO-Revision-Date: 2018-09-30 19:15+0200\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Polish <community-poland@mozilla.org>\n"
"Language: pl\n"
@@ -68,33 +68,33 @@ msgid "What period of time to wait between automatic cleanups"
msgstr "Jaki okres czekać między automatycznym czyszczeniem"
#. Weird magic I copy-pasted that sets the Application Name in the Shell.
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop:3
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml:4
#: podcasts-gtk/src/app.rs:92 podcasts-gtk/src/app.rs:406
#: podcasts-gtk/src/widgets/aboutdialog.rs:33
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:3
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:4
#: podcasts-gtk/src/app.rs:91 podcasts-gtk/src/app.rs:414
#: podcasts-gtk/src/widgets/aboutdialog.rs:31
msgid "Podcasts"
msgstr "Podcasty"
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop:4
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml:10
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:4
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:10
msgid "Listen to your favorite podcasts, right from your desktop."
msgstr "Słuchanie ulubionych podcastów prosto z komputera."
#. Translators: Do NOT translate or transliterate this text (this is an icon file name)!
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop:6
msgid "org.gnome.Podcasts"
msgstr "org.gnome.Podcasts"
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:6
msgid "@icon@"
msgstr "@icon@"
#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop:13
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:13
msgid "Podcast;RSS;"
msgstr "Podcast;Podkasty;RSS;Atom;"
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml:8
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:8
msgid "Podcast app for GNOME"
msgstr "Aplikacja do słuchania podcastów w GNOME"
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml:31
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:51
msgid "Jordan Petridis"
msgstr "Jordan Petridis"
@@ -106,34 +106,34 @@ msgstr "Ten program nie ma jeszcze odcinków"
msgid "If you think this is an error, please consider writing a bug report."
msgstr "Jeśli to błąd, to prosimy go zgłosić."
#: podcasts-gtk/resources/gtk/empty_view.ui:107
#: podcasts-gtk/resources/gtk/empty_view.ui:106
msgid "Get some shows"
msgstr "Pobierz programy"
#: podcasts-gtk/resources/gtk/empty_view.ui:144
#: podcasts-gtk/resources/gtk/empty_view.ui:143
msgid "Add new shows via feed URL"
msgstr "Dodaj nowe programy za pomocą adresu kanału"
#: podcasts-gtk/resources/gtk/empty_view.ui:173
#: podcasts-gtk/resources/gtk/empty_view.ui:172
msgid "Import shows from another device"
msgstr "Zaimportuj programy z innego urządzenia"
#: podcasts-gtk/resources/gtk/episode_widget.ui:177
#: podcasts-gtk/resources/gtk/episode_widget.ui:180
msgid "Calculating episode size…"
msgstr "Obliczanie rozmiaru odcinka…"
#: podcasts-gtk/resources/gtk/episode_widget.ui:212
msgid "Cancel"
msgstr "Anuluj"
#: podcasts-gtk/resources/gtk/episode_widget.ui:230
msgid "Download this episode"
msgstr "Pobiera ten odcinek"
#: podcasts-gtk/resources/gtk/episode_widget.ui:254
#: podcasts-gtk/resources/gtk/episode_widget.ui:220
msgid "Play this episode"
msgstr "Odtwarza ten odcinek"
#: podcasts-gtk/resources/gtk/episode_widget.ui:241
msgid "Cancel the download proccess"
msgstr "Anuluje pobieranie"
#: podcasts-gtk/resources/gtk/episode_widget.ui:264
msgid "Download this episode"
msgstr "Pobiera ten odcinek"
#: podcasts-gtk/resources/gtk/hamburger.ui:7
msgid "_Check for New Episodes"
msgstr "_Wyszukaj nowe odcinki"
@@ -146,12 +146,12 @@ msgstr "Zai_mportuj programy"
msgid "_Preferences"
msgstr "_Preferencje"
#: podcasts-gtk/resources/gtk/hamburger.ui:29
#: podcasts-gtk/resources/gtk/hamburger.ui:27
msgid "_Keyboard Shortcuts"
msgstr "_Skróty klawiszowe"
#: podcasts-gtk/resources/gtk/hamburger.ui:37
msgid "_About"
#: podcasts-gtk/resources/gtk/hamburger.ui:35
msgid "_About Podcasts"
msgstr "_O programie"
#: podcasts-gtk/resources/gtk/headerbar.ui:35
@@ -316,7 +316,7 @@ msgstr "Oznacz wszystkie jako odtworzone"
msgid "Unsubscribe"
msgstr "Zrezygnuj z subskrypcji"
#: podcasts-gtk/src/app.rs:331
#: podcasts-gtk/src/app.rs:332
msgid "Fetching new episodes"
msgstr "Pobieranie nowych odcinków"
@@ -356,23 +356,23 @@ msgstr "Nowe"
msgid "Shows"
msgstr "Programy"
#: podcasts-gtk/src/utils.rs:350
#: podcasts-gtk/src/utils.rs:357
msgid "Select the file from which to you want to import shows."
msgstr "Proszę wybrać plik, z którego zaimportować programy."
#: podcasts-gtk/src/utils.rs:353
#: podcasts-gtk/src/utils.rs:360
msgid "_Import"
msgstr "Zai_mportuj"
#: podcasts-gtk/src/utils.rs:362
#: podcasts-gtk/src/utils.rs:369
msgid "OPML file"
msgstr "Plik OPML"
#: podcasts-gtk/src/utils.rs:379
#: podcasts-gtk/src/utils.rs:386
msgid "Failed to parse the imported file"
msgstr "Przetworzenie zaimportowanego pliku się nie powiodło"
#: podcasts-gtk/src/utils.rs:384
#: podcasts-gtk/src/utils.rs:391
msgid "Selected file could not be accessed."
msgstr "Nie można uzyskać dostępu do wybranego pliku."
@@ -380,17 +380,17 @@ msgstr "Nie można uzyskać dostępu do wybranego pliku."
msgid "Podcast Client for the GNOME Desktop."
msgstr "Klient podcastów dla środowiska GNOME."
#: podcasts-gtk/src/widgets/aboutdialog.rs:35
#: podcasts-gtk/src/widgets/aboutdialog.rs:33
msgid "Learn more about GNOME Podcasts"
msgstr "Więcej informacji o Podcastach GNOME"
#: podcasts-gtk/src/widgets/aboutdialog.rs:40
#: podcasts-gtk/src/widgets/aboutdialog.rs:38
msgid "translator-credits"
msgstr ""
"Piotr Drąg <piotrdrag@gmail.com>, 2018\n"
"Aviary.pl <community-poland@mozilla.org>, 2018"
#: podcasts-gtk/src/widgets/episode.rs:129
#: podcasts-gtk/src/widgets/episode.rs:130
msgid "{} min"
msgstr "{}min"
+418
View File
@@ -0,0 +1,418 @@
# Brazilian Portuguese translation for podcasts.
# Copyright (C) 2018 podcasts's COPYRIGHT HOLDER
# This file is distributed under the same license as the podcasts package.
# Rafael Fontenelle <rafaelff@gnome.org>, 2018.
# Yuri Otávio Lopes Gomes <yuriotavio@hotmail.com>, 2018.
msgid ""
msgstr ""
"Project-Id-Version: podcasts master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/podcasts/issues\n"
"POT-Creation-Date: 2018-10-05 11:47+0000\n"
"PO-Revision-Date: 2018-10-05 11:18-0200\n"
"Last-Translator: Rafael Fontenelle <rafaelff@gnome.org>\n"
"Language-Team: Brazilian Portuguese <gnome-pt_br-list@gnome.org>\n"
"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Virtaal 1.0.0-beta1\n"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:15
msgid "Top position of the last open main window"
msgstr "Posição acima da janela da última principal aberta"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:19
msgid "Left position of the last open main window"
msgstr "Posição à esquerda da última janela principal aberta"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:23
msgid "Height of the last open main window"
msgstr "Altura da última janela principal aberta"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:27
msgid "Width of the last open main window"
msgstr "Largura da última janela principal aberta"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:31
msgid "Maximized state of the last open main window"
msgstr "Estado maximizado da última janela principal aberta"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:36
msgid "Enable or disable dark theme"
msgstr "Habilitar ou desabilitar o tema escuro"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:41
msgid "Whether to periodically refresh content"
msgstr "Se deve atualizar periodicamente o conteúdo"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:46
msgid "How many periods of time to wait between automatic refreshes"
msgstr ""
"Quantos períodos de tempo deve esperar entre as atualizações automáticas"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:50
msgid "What period of time to wait between automatic refreshes"
msgstr "Qual período de tempo deve esperar entre as atualizações automáticas"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:54
msgid "Whether to refresh content after startup"
msgstr "Se deve atualizar o conteúdo após a inicialização"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:60
msgid "How many periods of time to wait between automatic cleanups"
msgstr "Quantos períodos de tempo deve esperar entre limpezas automáticas"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:64
msgid "What period of time to wait between automatic cleanups"
msgstr "Qual período de tempo deve esperar entre limpezas automáticas"
#. Weird magic I copy-pasted that sets the Application Name in the Shell.
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:3
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:4
#: podcasts-gtk/src/app.rs:92 podcasts-gtk/src/app.rs:416
#: podcasts-gtk/src/widgets/aboutdialog.rs:31
msgid "Podcasts"
msgstr "Podcasts"
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:4
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:10
msgid "Listen to your favorite podcasts, right from your desktop."
msgstr "Ouça seus podcasts favoritos diretamente da sua área de trabalho."
#. Translators: Do NOT translate or transliterate this text (this is an icon file name)!
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:6
msgid "@icon@"
msgstr "@icon@"
#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:13
msgid "Podcast;RSS;"
msgstr "Podcast;RSS;"
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:8
msgid "Podcast app for GNOME"
msgstr "Aplicativo de podcast para o GNOME"
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:51
msgid "Jordan Petridis"
msgstr "Jordan Petridis"
#: podcasts-gtk/resources/gtk/empty_view.ui:46
msgid "This show does not have episodes yet"
msgstr "Este podcast ainda não tem episódios"
#: podcasts-gtk/resources/gtk/empty_view.ui:62
msgid "If you think this is an error, please consider writing a bug report."
msgstr ""
"Se você acredita que isso é um erro, por favor considere preencher um "
"relatório de erro."
#: podcasts-gtk/resources/gtk/empty_view.ui:106
msgid "Get some shows"
msgstr "Obter alguns podcasts"
#: podcasts-gtk/resources/gtk/empty_view.ui:143
msgid "Add new shows via feed URL"
msgstr "Adicionar novos podcasts via URL do feed"
#: podcasts-gtk/resources/gtk/empty_view.ui:172
msgid "Import shows from another device"
msgstr "Importar podcasts de outro dispositivo"
#: podcasts-gtk/resources/gtk/episode_widget.ui:180
msgid "Calculating episode size…"
msgstr "Calculando o tamanho do episódio…"
#: podcasts-gtk/resources/gtk/episode_widget.ui:220
msgid "Play this episode"
msgstr "Inicia este episódio"
#: podcasts-gtk/resources/gtk/episode_widget.ui:241
#| msgid "Cancel the download proccess"
msgid "Cancel the download process"
msgstr "Cancela o processo de download"
#: podcasts-gtk/resources/gtk/episode_widget.ui:264
msgid "Download this episode"
msgstr "Faz download deste episódio"
#: podcasts-gtk/resources/gtk/hamburger.ui:7
msgid "_Check for New Episodes"
msgstr "_Procurar novos episódios"
#: podcasts-gtk/resources/gtk/hamburger.ui:12
msgid "_Import Shows"
msgstr "_Importar podcasts"
#: podcasts-gtk/resources/gtk/hamburger.ui:22
msgid "_Preferences"
msgstr "_Preferências"
#: podcasts-gtk/resources/gtk/hamburger.ui:27
msgid "_Keyboard Shortcuts"
msgstr "Atal_hos de teclado"
#: podcasts-gtk/resources/gtk/hamburger.ui:35
#| msgid "Podcasts"
msgid "_About Podcasts"
msgstr "_Sobre Podcasts"
#: podcasts-gtk/resources/gtk/headerbar.ui:35
#: podcasts-gtk/resources/gtk/headerbar.ui:189
msgid "Add a new feed"
msgstr "Adiciona um novo feed"
#: podcasts-gtk/resources/gtk/headerbar.ui:53
msgid "Enter feed address to add"
msgstr "Insira o endereço do feed para adicioná-lo"
#: podcasts-gtk/resources/gtk/headerbar.ui:89
msgid "Add"
msgstr "Adicionar"
#: podcasts-gtk/resources/gtk/headerbar.ui:133
msgid "You are already subscribed to that feed!"
msgstr "Você já está inscrito naquele feed!"
#: podcasts-gtk/resources/gtk/headerbar.ui:169
msgid "Show Title"
msgstr "Mostrar título"
#: podcasts-gtk/resources/gtk/headerbar.ui:210
msgid "Back"
msgstr "Voltar"
#: podcasts-gtk/resources/gtk/help-overlay.ui:12
msgid "General"
msgstr "Geral"
#: podcasts-gtk/resources/gtk/help-overlay.ui:18
msgctxt "shortcut window"
msgid "Check for new episodes"
msgstr "Procura por novos episódios"
#: podcasts-gtk/resources/gtk/help-overlay.ui:25
msgctxt "shortcut window"
msgid "Preferences"
msgstr "Preferências"
#: podcasts-gtk/resources/gtk/help-overlay.ui:32
msgctxt "shortcut window"
msgid "Quit the application"
msgstr "Sai do aplicativo"
#: podcasts-gtk/resources/gtk/home_view.ui:56
msgid "Today"
msgstr "Hoje"
#: podcasts-gtk/resources/gtk/home_view.ui:112
msgid "Yesterday"
msgstr "Ontem"
#: podcasts-gtk/resources/gtk/home_view.ui:168
msgid "This Week"
msgstr "Essa semana"
#: podcasts-gtk/resources/gtk/home_view.ui:224
msgid "This Month"
msgstr "Esse mês"
#: podcasts-gtk/resources/gtk/home_view.ui:281
msgid "Older"
msgstr "Antigos"
#: podcasts-gtk/resources/gtk/inapp_notif.ui:101
msgid "An in-app action notification"
msgstr "Uma notificação de ação no aplicativo"
#: podcasts-gtk/resources/gtk/inapp_notif.ui:112
msgid "Undo"
msgstr "Desfazer"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:72
msgid "Rewind 10 seconds"
msgstr "Retroceder 10 segundos"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:87
msgid "Play"
msgstr "Reproduz"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:103
msgid "Pause"
msgstr "Pausa"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:119
msgid "Fast forward 10 seconds"
msgstr "Adianta 10 segundos"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:285
msgid "Change the playback speed"
msgstr "Altera a velocidade de reprodução"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:300
#: podcasts-gtk/resources/gtk/player_toolbar.ui:380
msgid "1.00×"
msgstr "1,00×"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:344
msgid "1.50×"
msgstr "1,50×"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:348
msgid "1.5 speed rate"
msgstr "Taxa de velocidade de 1,5"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:362
msgid "1.25×"
msgstr "1,25×"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:366
msgid "1.25 speed rate"
msgstr "Taxa de velocidade de 1,25"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:384
msgid "Normal speed"
msgstr "Velocidade normal"
#: podcasts-gtk/resources/gtk/prefs.ui:42
#: podcasts-gtk/resources/gtk/prefs.ui:295
msgid "Preferences"
msgstr "Preferências"
#: podcasts-gtk/resources/gtk/prefs.ui:76
msgid "Appearance"
msgstr "Aparência"
#: podcasts-gtk/resources/gtk/prefs.ui:120
msgid "Dark Theme"
msgstr "Tema escuro"
#: podcasts-gtk/resources/gtk/prefs.ui:166
msgid "Delete played episodes"
msgstr "Excluir episódios já reproduzidos"
#: podcasts-gtk/resources/gtk/prefs.ui:211
msgid "After"
msgstr "Após"
#: podcasts-gtk/resources/gtk/secondary_menu.ui:7
msgid "_Mark All Episodes as Played"
msgstr "_Marcar todos os episódios como reproduzidos"
#: podcasts-gtk/resources/gtk/secondary_menu.ui:11
msgid "_Website"
msgstr "_Site"
#: podcasts-gtk/resources/gtk/secondary_menu.ui:15
msgid "_Unsubscribe"
msgstr "Se _desinscrever"
#: podcasts-gtk/resources/gtk/show_menu.ui:51
msgid "Open Website"
msgstr "Abrir o site"
#: podcasts-gtk/resources/gtk/show_menu.ui:64
msgid "Mark All as Played"
msgstr "Marcar todos como reproduzidos"
#: podcasts-gtk/resources/gtk/show_menu.ui:89
msgid "Unsubscribe"
msgstr "Desinscrever"
#: podcasts-gtk/src/app.rs:333
msgid "Fetching new episodes"
msgstr "Buscando novos episódios"
#: podcasts-gtk/src/headerbar.rs:98
msgid "You are already subscribed to this show"
msgstr "Você já está inscrito neste podcast"
#: podcasts-gtk/src/headerbar.rs:106
msgid "Invalid URL"
msgstr "URL inválida"
#: podcasts-gtk/src/prefs.rs:59
msgid "Seconds"
msgstr "Segundos"
#: podcasts-gtk/src/prefs.rs:60
msgid "Minutes"
msgstr "Minutos"
#: podcasts-gtk/src/prefs.rs:61
msgid "Hours"
msgstr "Horas"
#: podcasts-gtk/src/prefs.rs:62
msgid "Days"
msgstr "Dias"
#: podcasts-gtk/src/prefs.rs:63
msgid "Weeks"
msgstr "Semanas"
#: podcasts-gtk/src/stacks/content.rs:35
msgid "New"
msgstr "Novo"
#: podcasts-gtk/src/stacks/content.rs:36
msgid "Shows"
msgstr "Podcasts"
#: podcasts-gtk/src/utils.rs:357
msgid "Select the file from which to you want to import shows."
msgstr "Selecione o arquivo a partir do qual você deseja importar podcasts."
#: podcasts-gtk/src/utils.rs:360
msgid "_Import"
msgstr "_Importar"
#: podcasts-gtk/src/utils.rs:369
msgid "OPML file"
msgstr "Arquivo OPML"
#: podcasts-gtk/src/utils.rs:386
msgid "Failed to parse the imported file"
msgstr "Falha ao analisar o arquivo importado"
#: podcasts-gtk/src/utils.rs:391
msgid "Selected file could not be accessed."
msgstr "O arquivo selecionado não pôde ser acessado."
#: podcasts-gtk/src/widgets/aboutdialog.rs:26
msgid "Podcast Client for the GNOME Desktop."
msgstr "Cliente de podcast para o ambiente GNOME."
#: podcasts-gtk/src/widgets/aboutdialog.rs:33
msgid "Learn more about GNOME Podcasts"
msgstr "Aprenda mais sobre o GNOME Podcasts"
#: podcasts-gtk/src/widgets/aboutdialog.rs:38
msgid "translator-credits"
msgstr ""
"Rafael Fontenelle <rafaelff@gnome.org>\n"
"Yuri Otávio Lopes Gomes <yuriotavio@hotmail.com>"
#: podcasts-gtk/src/widgets/episode.rs:130
msgid "{} min"
msgstr "{} min"
#. sender.send(Action::ErrorNotification(format!("Player Error: {}", error)));
#: podcasts-gtk/src/widgets/player.rs:363
msgid "The media player was unable to execute an action."
msgstr "O reprodutor de mídia não conseguiu executar uma ação."
#: podcasts-gtk/src/widgets/show_menu.rs:150
msgid "Marked all episodes as listened"
msgstr "Marcados todos os episódios como ouvidos"
#: podcasts-gtk/src/widgets/show_menu.rs:155
msgid "Unsubscribed from {}"
msgstr "Desinscrito de {}"
#~ msgid "_About"
#~ msgstr "_Sobre"
#~ msgid "Cancel"
#~ msgstr "Cancelar"
+412
View File
@@ -0,0 +1,412 @@
# Swedish translation for podcasts.
# Copyright © 2018 podcasts's COPYRIGHT HOLDER
# This file is distributed under the same license as the podcasts package.
# Anders Jonsson <anders.jonsson@norsjovallen.se>, 2018.
#
msgid ""
msgstr ""
"Project-Id-Version: podcasts master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/podcasts/issues\n"
"POT-Creation-Date: 2018-09-08 17:18+0000\n"
"PO-Revision-Date: 2018-09-09 19:38+0200\n"
"Last-Translator: Anders Jonsson <anders.jonsson@norsjovallen.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
"Language: sv\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.1.1\n"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:15
msgid "Top position of the last open main window"
msgstr "Topposition för det senast öppna huvudfönstret"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:19
msgid "Left position of the last open main window"
msgstr "Vänsterposition för det senast öppna huvudfönstret"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:23
msgid "Height of the last open main window"
msgstr "Höjden för det senast öppna huvudfönstret"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:27
msgid "Width of the last open main window"
msgstr "Bredden för det senast öppna huvudfönstret"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:31
msgid "Maximized state of the last open main window"
msgstr "Maximeringstillstånd för det senast öppna huvudfönstret"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:36
msgid "Enable or disable dark theme"
msgstr "Aktivera eller inaktivera mörkt tema"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:41
msgid "Whether to periodically refresh content"
msgstr "Huruvida innehåll ska uppdateras periodiskt"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:46
msgid "How many periods of time to wait between automatic refreshes"
msgstr "Hur många tidsperioder att vänta mellan automatiska uppdateringar"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:50
msgid "What period of time to wait between automatic refreshes"
msgstr "Vilken sorts tidsperiod att vänta mellan automatiska uppdateringar"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:54
msgid "Whether to refresh content after startup"
msgstr "Huruvida innehåll ska uppdateras efter uppstart"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:60
msgid "How many periods of time to wait between automatic cleanups"
msgstr "Hur många tidsperioder att vänta mellan automatiska upprensningar"
#: podcasts-gtk/resources/org.gnome.Podcasts.gschema.xml:64
msgid "What period of time to wait between automatic cleanups"
msgstr "Vilken sorts tidsperiod att vänta mellan automatiska upprensningar"
#. Weird magic I copy-pasted that sets the Application Name in the Shell.
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:3
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:4
#: podcasts-gtk/src/app.rs:91 podcasts-gtk/src/app.rs:414
#: podcasts-gtk/src/widgets/aboutdialog.rs:31
msgid "Podcasts"
msgstr "Poddsändningar"
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:4
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:10
msgid "Listen to your favorite podcasts, right from your desktop."
msgstr "Lyssna på dina favoritpoddsändningar, direkt från ditt skrivbord."
#. Translators: Do NOT translate or transliterate this text (this is an icon file name)!
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:6
msgid "@icon@"
msgstr "@icon@"
#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:13
msgid "Podcast;RSS;"
msgstr "Poddsändning;Podcast;RSS;"
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:8
msgid "Podcast app for GNOME"
msgstr "Poddsändningsprogram för GNOME"
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:51
msgid "Jordan Petridis"
msgstr "Jordan Petridis"
#: podcasts-gtk/resources/gtk/empty_view.ui:46
msgid "This show does not have episodes yet"
msgstr "Denna show har inga avsnitt ännu"
#: podcasts-gtk/resources/gtk/empty_view.ui:62
msgid "If you think this is an error, please consider writing a bug report."
msgstr "Överväg att skriva en felrapport om du tror att detta är ett fel."
#: podcasts-gtk/resources/gtk/empty_view.ui:106
msgid "Get some shows"
msgstr "Få tag på några shower"
#: podcasts-gtk/resources/gtk/empty_view.ui:143
msgid "Add new shows via feed URL"
msgstr "Lägg till nya shower via flödes-URL"
#: podcasts-gtk/resources/gtk/empty_view.ui:172
msgid "Import shows from another device"
msgstr "Importera shower från en annan enhet"
#: podcasts-gtk/resources/gtk/episode_widget.ui:180
msgid "Calculating episode size…"
msgstr "Beräknar avsnittsstorlek…"
#: podcasts-gtk/resources/gtk/episode_widget.ui:220
msgid "Play this episode"
msgstr "Spela detta avsnitt"
#: podcasts-gtk/resources/gtk/episode_widget.ui:241
msgid "Cancel the download proccess"
msgstr "Avbryt hämtningsprocessen"
#: podcasts-gtk/resources/gtk/episode_widget.ui:264
msgid "Download this episode"
msgstr "Hämta detta avsnitt"
#: podcasts-gtk/resources/gtk/hamburger.ui:7
msgid "_Check for New Episodes"
msgstr "Sö_k efter nya avsnitt"
#: podcasts-gtk/resources/gtk/hamburger.ui:12
msgid "_Import Shows"
msgstr "_Importera shower"
#: podcasts-gtk/resources/gtk/hamburger.ui:22
msgid "_Preferences"
msgstr "I_nställningar"
#: podcasts-gtk/resources/gtk/hamburger.ui:29
msgid "_Keyboard Shortcuts"
msgstr "_Tangentbordsgenvägar"
#: podcasts-gtk/resources/gtk/hamburger.ui:37
msgid "_About"
msgstr "_Om"
#: podcasts-gtk/resources/gtk/headerbar.ui:35
#: podcasts-gtk/resources/gtk/headerbar.ui:189
msgid "Add a new feed"
msgstr "Lägg till ett nytt flöde"
#: podcasts-gtk/resources/gtk/headerbar.ui:53
msgid "Enter feed address to add"
msgstr "Ange flödesadress att lägga till"
#: podcasts-gtk/resources/gtk/headerbar.ui:89
msgid "Add"
msgstr "Lägg till"
#: podcasts-gtk/resources/gtk/headerbar.ui:133
msgid "You are already subscribed to that feed!"
msgstr "Du prenumererar redan på det flödet!"
#: podcasts-gtk/resources/gtk/headerbar.ui:169
msgid "Show Title"
msgstr "Visa titel"
#: podcasts-gtk/resources/gtk/headerbar.ui:210
msgid "Back"
msgstr "Bakåt"
#: podcasts-gtk/resources/gtk/help-overlay.ui:12
msgid "General"
msgstr "Allmänt"
#: podcasts-gtk/resources/gtk/help-overlay.ui:18
msgctxt "shortcut window"
msgid "Check for new episodes"
msgstr "Sök efter nya avsnitt"
#: podcasts-gtk/resources/gtk/help-overlay.ui:25
msgctxt "shortcut window"
msgid "Preferences"
msgstr "Inställningar"
#: podcasts-gtk/resources/gtk/help-overlay.ui:32
msgctxt "shortcut window"
msgid "Quit the application"
msgstr "Avsluta programmet"
#: podcasts-gtk/resources/gtk/home_view.ui:56
msgid "Today"
msgstr "Idag"
#: podcasts-gtk/resources/gtk/home_view.ui:112
msgid "Yesterday"
msgstr "Igår"
#: podcasts-gtk/resources/gtk/home_view.ui:168
msgid "This Week"
msgstr "Denna vecka"
#: podcasts-gtk/resources/gtk/home_view.ui:224
msgid "This Month"
msgstr "Denna månad"
#: podcasts-gtk/resources/gtk/home_view.ui:281
msgid "Older"
msgstr "Äldre"
#: podcasts-gtk/resources/gtk/inapp_notif.ui:101
msgid "An in-app action notification"
msgstr "En åtgärdsavisering i programmet"
#: podcasts-gtk/resources/gtk/inapp_notif.ui:112
msgid "Undo"
msgstr "Ångra"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:72
msgid "Rewind 10 seconds"
msgstr "Spola tillbaka 10 sekunder"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:87
msgid "Play"
msgstr "Spela"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:103
msgid "Pause"
msgstr "Pausa"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:119
msgid "Fast forward 10 seconds"
msgstr "Spola framåt 10 sekunder"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:285
msgid "Change the playback speed"
msgstr "Ändra uppspelningshastigheten"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:300
#: podcasts-gtk/resources/gtk/player_toolbar.ui:380
msgid "1.00×"
msgstr "1,00×"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:344
msgid "1.50×"
msgstr "1,50×"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:348
msgid "1.5 speed rate"
msgstr "Hastighetsfaktor 1,5"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:362
msgid "1.25×"
msgstr "1,25×"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:366
msgid "1.25 speed rate"
msgstr "Hastighetsfaktor 1,25"
#: podcasts-gtk/resources/gtk/player_toolbar.ui:384
msgid "Normal speed"
msgstr "Normal hastighet"
#: podcasts-gtk/resources/gtk/prefs.ui:42
#: podcasts-gtk/resources/gtk/prefs.ui:295
msgid "Preferences"
msgstr "Inställningar"
#: podcasts-gtk/resources/gtk/prefs.ui:76
msgid "Appearance"
msgstr "Utseende"
#: podcasts-gtk/resources/gtk/prefs.ui:120
msgid "Dark Theme"
msgstr "Mörkt tema"
#: podcasts-gtk/resources/gtk/prefs.ui:166
msgid "Delete played episodes"
msgstr "Ta bort spelade avsnitt"
#: podcasts-gtk/resources/gtk/prefs.ui:211
msgid "After"
msgstr "Efter"
#: podcasts-gtk/resources/gtk/secondary_menu.ui:7
msgid "_Mark All Episodes as Played"
msgstr "_Markera alla avsnitt som spelade"
#: podcasts-gtk/resources/gtk/secondary_menu.ui:11
msgid "_Website"
msgstr "_Webbplats"
#: podcasts-gtk/resources/gtk/secondary_menu.ui:15
msgid "_Unsubscribe"
msgstr "Säg _upp prenumeration"
#: podcasts-gtk/resources/gtk/show_menu.ui:51
msgid "Open Website"
msgstr "Öppna webbplats"
#: podcasts-gtk/resources/gtk/show_menu.ui:64
msgid "Mark All as Played"
msgstr "Markera alla som spelade"
#: podcasts-gtk/resources/gtk/show_menu.ui:89
msgid "Unsubscribe"
msgstr "Säg upp prenumeration"
#: podcasts-gtk/src/app.rs:332
msgid "Fetching new episodes"
msgstr "Hämtar nya avsnitt"
#: podcasts-gtk/src/headerbar.rs:98
msgid "You are already subscribed to this show"
msgstr "Du prenumererar redan på denna show"
#: podcasts-gtk/src/headerbar.rs:106
msgid "Invalid URL"
msgstr "Ogiltig URL"
#: podcasts-gtk/src/prefs.rs:59
msgid "Seconds"
msgstr "Sekunder"
#: podcasts-gtk/src/prefs.rs:60
msgid "Minutes"
msgstr "Minuter"
#: podcasts-gtk/src/prefs.rs:61
msgid "Hours"
msgstr "Timmar"
#: podcasts-gtk/src/prefs.rs:62
msgid "Days"
msgstr "Dagar"
#: podcasts-gtk/src/prefs.rs:63
msgid "Weeks"
msgstr "Veckor"
#: podcasts-gtk/src/stacks/content.rs:35
msgid "New"
msgstr "Nytt"
#: podcasts-gtk/src/stacks/content.rs:36
msgid "Shows"
msgstr "Shower"
#: podcasts-gtk/src/utils.rs:357
msgid "Select the file from which to you want to import shows."
msgstr "Välj filen från vilken du vill importera shower."
#: podcasts-gtk/src/utils.rs:360
msgid "_Import"
msgstr "_Importera"
#: podcasts-gtk/src/utils.rs:369
msgid "OPML file"
msgstr "OPML-fil"
#: podcasts-gtk/src/utils.rs:386
msgid "Failed to parse the imported file"
msgstr "Misslyckades med att tolka den importerade filen"
#: podcasts-gtk/src/utils.rs:391
msgid "Selected file could not be accessed."
msgstr "Den markerade filen kunde inte kommas åt."
#: podcasts-gtk/src/widgets/aboutdialog.rs:26
msgid "Podcast Client for the GNOME Desktop."
msgstr "Poddsändningsklient för GNOME-skrivbordet."
#: podcasts-gtk/src/widgets/aboutdialog.rs:33
msgid "Learn more about GNOME Podcasts"
msgstr "Lär dig mer om GNOME Poddsändningar"
#: podcasts-gtk/src/widgets/aboutdialog.rs:38
msgid "translator-credits"
msgstr ""
"Anders Jonsson <anders.jonsson@norsjovallen.se>\n"
"\n"
"Skicka synpunkter på översättningen till\n"
"<tp-sv@listor.tp-sv.se>."
#: podcasts-gtk/src/widgets/episode.rs:130
msgid "{} min"
msgstr "{} min"
#. sender.send(Action::ErrorNotification(format!("Player Error: {}", error)));
#: podcasts-gtk/src/widgets/player.rs:301
msgid "The media player was unable to execute an action."
msgstr "Mediaspelaren kunde inte utföra en åtgärd."
#: podcasts-gtk/src/widgets/show_menu.rs:150
msgid "Marked all episodes as listened"
msgstr "Markerade alla avsnitt som lyssnade"
#: podcasts-gtk/src/widgets/show_menu.rs:155
msgid "Unsubscribed from {}"
msgstr "Sade upp prenumeration från {}"
#~ msgid "Cancel"
#~ msgstr "Avbryt"
+52 -41
View File
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: podcasts master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/podcasts/issues\n"
"POT-Creation-Date: 2018-08-22 05:29+0000\n"
"PO-Revision-Date: 2018-08-27 11:42+0300\n"
"POT-Creation-Date: 2018-10-05 11:47+0000\n"
"PO-Revision-Date: 2018-10-06 18:52+0300\n"
"Last-Translator: Emin Tufan Çetin <etcetin@gmail.com>\n"
"Language-Team: Türkçe <gnome-turk@gnome.org>\n"
"Language: tr\n"
@@ -67,33 +67,33 @@ msgid "What period of time to wait between automatic cleanups"
msgstr ""
#. Weird magic I copy-pasted that sets the Application Name in the Shell.
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop:3
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml:4
#: podcasts-gtk/src/app.rs:92 podcasts-gtk/src/app.rs:406
#: podcasts-gtk/src/widgets/aboutdialog.rs:33
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:3
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:4
#: podcasts-gtk/src/app.rs:92 podcasts-gtk/src/app.rs:416
#: podcasts-gtk/src/widgets/aboutdialog.rs:31
msgid "Podcasts"
msgstr "Podcastler"
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop:4
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml:10
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:4
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:10
msgid "Listen to your favorite podcasts, right from your desktop."
msgstr "Gözde podcastlerinizi masaüstünüzden dinleyin."
#. Translators: Do NOT translate or transliterate this text (this is an icon file name)!
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop:6
msgid "org.gnome.Podcasts"
msgstr "org.gnome.Podcasts"
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:6
msgid "@icon@"
msgstr "@icon@"
#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop:13
#: podcasts-gtk/resources/org.gnome.Podcasts.desktop.in.in:13
msgid "Podcast;RSS;"
msgstr "Podcast;RSS;Pod Yayını;"
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml:8
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:8
msgid "Podcast app for GNOME"
msgstr "GNOME için Podcast uygulaması"
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml:31
#: podcasts-gtk/resources/org.gnome.Podcasts.appdata.xml.in.in:51
msgid "Jordan Petridis"
msgstr "Jordan Petridis"
@@ -105,34 +105,35 @@ msgstr "Bu gösterinin henüz herhangi bir bölümü yok"
msgid "If you think this is an error, please consider writing a bug report."
msgstr "Bunun bir hata olduğunu düşünüyorsanız lütfen hata bildirimi yazın."
#: podcasts-gtk/resources/gtk/empty_view.ui:107
#: podcasts-gtk/resources/gtk/empty_view.ui:106
msgid "Get some shows"
msgstr "Birkaç gösteri edinin"
#: podcasts-gtk/resources/gtk/empty_view.ui:144
#: podcasts-gtk/resources/gtk/empty_view.ui:143
msgid "Add new shows via feed URL"
msgstr "Besleme URLʼsi ile yeni gösteriler ekle"
#: podcasts-gtk/resources/gtk/empty_view.ui:173
#: podcasts-gtk/resources/gtk/empty_view.ui:172
msgid "Import shows from another device"
msgstr "Gösterileri başka aygıttan içe aktar"
#: podcasts-gtk/resources/gtk/episode_widget.ui:177
#: podcasts-gtk/resources/gtk/episode_widget.ui:180
msgid "Calculating episode size…"
msgstr "Bölüm boyutu hesaplanıyor…"
#: podcasts-gtk/resources/gtk/episode_widget.ui:212
msgid "Cancel"
msgstr "İptal"
#: podcasts-gtk/resources/gtk/episode_widget.ui:230
msgid "Download this episode"
msgstr "Bu bölümü indir"
#: podcasts-gtk/resources/gtk/episode_widget.ui:254
#: podcasts-gtk/resources/gtk/episode_widget.ui:220
msgid "Play this episode"
msgstr "Bu bölümü oynat"
#: podcasts-gtk/resources/gtk/episode_widget.ui:241
#| msgid "Cancel the download proccess"
msgid "Cancel the download process"
msgstr "İndirme sürecini iptal et"
#: podcasts-gtk/resources/gtk/episode_widget.ui:264
msgid "Download this episode"
msgstr "Bu bölümü indir"
#: podcasts-gtk/resources/gtk/hamburger.ui:7
msgid "_Check for New Episodes"
msgstr "Yeni Bölümleri _Denetle"
@@ -145,13 +146,14 @@ msgstr "_Gösterileri İçe Aktar"
msgid "_Preferences"
msgstr "_Tercihler"
#: podcasts-gtk/resources/gtk/hamburger.ui:29
#: podcasts-gtk/resources/gtk/hamburger.ui:27
msgid "_Keyboard Shortcuts"
msgstr "_Klavye Kısayolları"
#: podcasts-gtk/resources/gtk/hamburger.ui:37
msgid "_About"
msgstr "_Hakkında"
#: podcasts-gtk/resources/gtk/hamburger.ui:35
#| msgid "Podcasts"
msgid "_About Podcasts"
msgstr "Podcastler _Hakkında"
#: podcasts-gtk/resources/gtk/headerbar.ui:35
#: podcasts-gtk/resources/gtk/headerbar.ui:189
@@ -315,7 +317,7 @@ msgstr "Tümünü Oynatıldı Olarak İmle"
msgid "Unsubscribe"
msgstr "Abonelikten Çık"
#: podcasts-gtk/src/app.rs:331
#: podcasts-gtk/src/app.rs:333
msgid "Fetching new episodes"
msgstr "Yeni bölümler alınıyor"
@@ -355,23 +357,23 @@ msgstr "Yeni"
msgid "Shows"
msgstr "Gösteriler"
#: podcasts-gtk/src/utils.rs:350
#: podcasts-gtk/src/utils.rs:357
msgid "Select the file from which to you want to import shows."
msgstr "Gösterileri içe aktarmak istediğiniz dosyayı seçin"
#: podcasts-gtk/src/utils.rs:353
#: podcasts-gtk/src/utils.rs:360
msgid "_Import"
msgstr "_İçe Aktar"
#: podcasts-gtk/src/utils.rs:362
#: podcasts-gtk/src/utils.rs:369
msgid "OPML file"
msgstr "OPML dosyası"
#: podcasts-gtk/src/utils.rs:379
#: podcasts-gtk/src/utils.rs:386
msgid "Failed to parse the imported file"
msgstr "İçe aktarılan dosya ayrıştırılamadı"
#: podcasts-gtk/src/utils.rs:384
#: podcasts-gtk/src/utils.rs:391
msgid "Selected file could not be accessed."
msgstr "Seçilen dosyaya erişilemedi."
@@ -379,20 +381,20 @@ msgstr "Seçilen dosyaya erişilemedi."
msgid "Podcast Client for the GNOME Desktop."
msgstr "GNOME Masaüstü için Podcast İstemcisi."
#: podcasts-gtk/src/widgets/aboutdialog.rs:35
#: podcasts-gtk/src/widgets/aboutdialog.rs:33
msgid "Learn more about GNOME Podcasts"
msgstr "GNOME Podcastler hakkında daha çoğunu öğrenin"
#: podcasts-gtk/src/widgets/aboutdialog.rs:40
#: podcasts-gtk/src/widgets/aboutdialog.rs:38
msgid "translator-credits"
msgstr "Emin Tufan Çetin <etcetin@gmail.com>"
#: podcasts-gtk/src/widgets/episode.rs:129
#: podcasts-gtk/src/widgets/episode.rs:130
msgid "{} min"
msgstr "{} dak"
#. sender.send(Action::ErrorNotification(format!("Player Error: {}", error)));
#: podcasts-gtk/src/widgets/player.rs:301
#: podcasts-gtk/src/widgets/player.rs:363
msgid "The media player was unable to execute an action."
msgstr "Ortam oynatıcı eylemi yürütemiyor."
@@ -404,5 +406,14 @@ msgstr "Tüm bölümler dinlendi olarak imlendi"
msgid "Unsubscribed from {}"
msgstr "{} aboneliğinden çıkıldı"
#~ msgid "_About"
#~ msgstr "_Hakkında"
#~ msgid "org.gnome.Podcasts"
#~ msgstr "org.gnome.Podcasts"
#~ msgid "Cancel"
#~ msgstr "İptal"
#~ msgid "Episode Title"
#~ msgstr "Bölüm Başlığı"
+39 -31
View File
@@ -44,8 +44,10 @@ Tobias Bernard
<property name="can_focus">False</property>
<child>
<object class="GtkBox" id="info_container">
<property name="width_request">230</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="orientation">vertical</property>
<property name="spacing">6</property>
<child>
@@ -61,7 +63,7 @@ Tobias Bernard
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
@@ -205,23 +207,53 @@ Tobias Bernard
</packing>
</child>
<child>
<object class="GtkButtonBox" id="button_box">
<object class="GtkBox" id="button_box">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="layout_style">center</property>
<property name="halign">end</property>
<property name="spacing">6</property>
<child>
<object class="GtkButton" id="cancel_button">
<property name="label" translatable="yes">Cancel</property>
<object class="GtkButton" id="play_button">
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="receives_default">True</property>
<property name="no_show_all">True</property>
<property name="tooltip_text" translatable="yes">Play this episode</property>
<property name="halign">center</property>
<property name="valign">center</property>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">media-playback-start-symbolic</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="cancel_button">
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip_text" translatable="yes">Cancel the download process</property>
<property name="halign">center</property>
<property name="valign">center</property>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">media-playback-stop-symbolic</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="pack_type">end</property>
<property name="position">0</property>
<property name="position">1</property>
</packing>
</child>
<child>
@@ -241,34 +273,10 @@ Tobias Bernard
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">1</property>
<property name="non_homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkButton" id="play_button">
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="no_show_all">True</property>
<property name="tooltip_text" translatable="yes">Play this episode</property>
<property name="halign">center</property>
<property name="valign">center</property>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">media-playback-start-symbolic</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">2</property>
<property name="non_homogeneous">True</property>
</packing>
</child>
</object>
+1 -3
View File
@@ -23,8 +23,6 @@
<attribute name="action">win.preferences</attribute>
<attribute name="accel">&lt;primary&gt;e</attribute>
</item>
</section>
<section>
<item>
<attribute name="label" translatable="yes">_Keyboard Shortcuts</attribute>
<attribute name="action">win.show-help-overlay</attribute>
@@ -34,7 +32,7 @@
<!-- <attribute name="action">win.help</attribute> -->
<!-- </item> -->
<item>
<attribute name="label" translatable="yes">_About</attribute>
<attribute name="label" translatable="yes">_About Podcasts</attribute>
<attribute name="action">win.about</attribute>
</item>
</section>
@@ -24,13 +24,30 @@
</screenshot>
</screenshots>
<releases>
<release version="0.4.6" date="2018-10-07">
<description>
<p>
After a month of work, the new version of Podcasts brings Desktop integration with MPRIS,
further UX polish, and a couple bugfixes and improvements.
Additionally existing translations were updated and 9 new were added.
</p>
<ul>
<li>Brazilian Portuguese, Swedish, Italian, Friulian, Hungarian, Croatian, Latvian, Czech and Catalan Translations were added.</li>
<li>The audio player now can integrate with Desktop Environments (MPRIS2)</li>
<li>Further UI and UX polishing and a handful bug fixes</li>
<li>Update to account for the GNOME 3.32 HIG changes</li>
<li>Openssl 1.1 support</li>
<li>Fixed a performance regression when updating RSS Feeds</li>
</ul>
</description>
</release>
<release version="0.4.5" date="2018-08-31">
<description>
<p>
Podcasts 0.4.5 brings a month of bug fixes, performance improvements and initial tranlations support.
</p>
<ul>
<li>Finish, Polish, Turkish, Spanish, German, Galician, Indonesian, Korean Translations were added.</li>
<li>Finish, Polish, Turkish, Spanish, German, Galician, Indonesian and Korean Translations were added.</li>
<li>Views now adapt better to different window sizes, thanks to libhandy HdyColumn</li>
<li>The update indacator was moved to an In-App notification</li>
<li>Performance improvments when loading Show Cover images.</li>
@@ -50,3 +67,5 @@
<update_contact>jpetridis@gnome.org</update_contact>
<developer_name>Jordan Petridis</developer_name>
</component>
+2
View File
@@ -65,6 +65,7 @@ pub(crate) enum Action {
InitShowMenu(Fragile<ShowMenu>),
EmptyState,
PopulatedState,
RaiseWindow,
}
#[derive(Debug, Clone)]
@@ -370,6 +371,7 @@ impl App {
self.headerbar.switch.set_sensitive(true);
self.content.switch_to_populated();
}
Action::RaiseWindow => self.window.present(),
}
}
+1 -1
View File
@@ -21,7 +21,7 @@ fn kreplace(input: String, kwargs: &[(&str, &str)]) -> String {
for (k, v) in kwargs {
if let Ok(re) = Regex::new(&format!("\\{{{}\\}}", k)) {
s = re
.replace_all(&s, |_: &Captures| v.to_string().clone())
.replace_all(&s, |_: &Captures<'_>| v.to_string().clone())
.to_string();
}
}
+1 -1
View File
@@ -74,6 +74,7 @@ extern crate regex;
extern crate reqwest;
extern crate serde_json;
extern crate url;
extern crate mpris_player;
use log::Level;
@@ -170,7 +171,6 @@ fn test_stuff() -> Result<(), failure::Error> {
appnotif::InAppNotification::default();
show_menu::ShowMenu::default();
player::PlayerWidget::default();
Ok(())
}
+12 -12
View File
@@ -41,21 +41,13 @@ impl Progress {
};
ratio
}
pub(crate) fn get_total_size(&self) -> u64 {
self.total_bytes
}
pub(crate) fn get_downloaded(&self) -> u64 {
self.downloaded_bytes
}
pub(crate) fn cancel(&mut self) {
self.cancel = true;
}
}
impl DownloadProgress for Progress {
fn get_downloaded(&self) -> u64 {
self.downloaded_bytes
}
fn set_downloaded(&mut self, downloaded: u64) {
self.downloaded_bytes = downloaded
}
@@ -64,9 +56,17 @@ impl DownloadProgress for Progress {
self.total_bytes = bytes;
}
fn get_size(&self) -> u64 {
self.total_bytes
}
fn should_cancel(&self) -> bool {
self.cancel
}
fn cancel(&mut self) {
self.cancel = true;
}
}
lazy_static! {
+2 -2
View File
@@ -3,7 +3,7 @@ use gtk::prelude::*;
use crossbeam_channel::Sender;
use failure::Error;
use podcasts_data::dbqueries::is_podcasts_populated;
use podcasts_data::dbqueries::is_episodes_populated;
use app::Action;
use stacks::content::State;
@@ -78,7 +78,7 @@ impl ShowStack {
fn determine_state(&mut self) -> Result<(), Error> {
let ign = get_ignored_shows()?;
debug!("IGNORED SHOWS {:?}", ign);
if is_podcasts_populated(&ign)? {
if is_episodes_populated(&ign)? {
self.sender.send(Action::PopulatedState);
} else {
self.sender.send(Action::EmptyState);
+6
View File
@@ -9,14 +9,20 @@ use i18n::i18n;
/// Given a `window` create and attach an `gtk::AboutDialog` to it.
pub(crate) fn about_dialog(window: &gtk::ApplicationWindow) {
// Feel free to add yourself if you contributed.
// Please keep it sorted alphabetically
let authors = &[
"Alexandre Franke",
"Carlos Soriano",
"Constantin Nickel",
"Daniel García Moreno",
"Felix Häcker",
"Gabriele Musco",
"Ivan Augusto",
"James Wykeham-Martin",
"Jordan Petridis",
"Julian Sparber",
"Matthew Martin",
"Piotr Drąg",
"Rowan Lewis",
"Zander Brown",
];
+1
View File
@@ -13,6 +13,7 @@ impl Default for BaseView {
let scrolled_window = gtk::ScrolledWindow::new(None, None);
scrolled_window.set_policy(PolicyType::Never, PolicyType::Automatic);
container.set_size_request(360, -1);
container.add(&scrolled_window);
container.show_all();
+22 -5
View File
@@ -13,6 +13,7 @@ use open;
use podcasts_data::dbqueries;
use podcasts_data::utils::get_download_folder;
use podcasts_data::EpisodeWidgetModel;
use podcasts_downloader::downloader::DownloadProgress;
use app::Action;
use manager;
@@ -64,7 +65,7 @@ struct InfoLabels {
#[derive(Clone, Debug)]
struct Buttons {
container: gtk::ButtonBox,
container: gtk::Box,
play: gtk::Button,
download: gtk::Button,
cancel: gtk::Button,
@@ -519,8 +520,12 @@ fn progress_bar_helper(
None => return Ok(glib::Continue(false)),
};
let (fraction, downloaded) = match prog.try_lock() {
Ok(guard) => (guard.get_fraction(), guard.get_downloaded()),
let (fraction, downloaded, cancel) = match prog.try_lock() {
Ok(guard) => (
guard.get_fraction(),
guard.get_downloaded(),
guard.should_cancel(),
),
Err(TryLockError::WouldBlock) => return Ok(glib::Continue(true)),
Err(TryLockError::Poisoned(_)) => return Err(format_err!("Progress Mutex is poisoned")),
};
@@ -547,7 +552,19 @@ fn progress_bar_helper(
if (fraction >= 1.0) && (!fraction.is_nan()) {
Ok(glib::Continue(false))
} else if !active {
} else if !active || cancel {
// if the total size is not a number, hide it
if widget
.info
.total_size
.get_text()
.as_ref()
.map(|s| s.trim_right_matches(" MB"))
.and_then(|s| s.parse::<i32>().ok())
.is_none()
{
widget.info.total_size.hide();
}
Ok(glib::Continue(false))
} else {
Ok(glib::Continue(true))
@@ -576,7 +593,7 @@ fn total_size_helper(
// Get the total_bytes.
let total_bytes = match prog.try_lock() {
Ok(guard) => guard.get_total_size(),
Ok(guard) => guard.get_size(),
Err(TryLockError::WouldBlock) => return Ok(glib::Continue(true)),
Err(TryLockError::Poisoned(_)) => return Err(format_err!("Progress Mutex is poisoned")),
};
+98 -7
View File
@@ -8,7 +8,7 @@ use gtk::prelude::*;
use gio::{File, FileExt};
use glib::{SignalHandlerId, WeakRef};
use chrono::NaiveTime;
use chrono::{prelude::*, NaiveTime};
use crossbeam_channel::Sender;
use failure::Error;
use fragile::Fragile;
@@ -22,9 +22,14 @@ use utils::set_image_from_path;
use std::ops::Deref;
use std::path::Path;
use std::rc::Rc;
use std::cell::RefCell;
use std::sync::Mutex;
use i18n::i18n;
use std::sync::Arc;
use mpris_player::{PlaybackStatus, MprisPlayer, Metadata, OrgMprisMediaPlayer2Player};
#[derive(Debug, Clone, Copy)]
enum SeekDirection {
Backwards,
@@ -47,14 +52,27 @@ struct PlayerInfo {
show: gtk::Label,
episode: gtk::Label,
cover: gtk::Image,
mpris: Arc<MprisPlayer>,
episode_id: RefCell<Option<i32>>,
}
impl PlayerInfo {
// FIXME: create a Diesel Model of the joined episode and podcast query instead
fn init(&self, episode: &EpisodeWidgetModel, podcast: &ShowCoverModel) {
self.episode_id.replace(Some(episode.rowid()));
self.set_cover_image(podcast);
self.set_show_title(podcast);
self.set_episode_title(episode);
let mut metadata = Metadata::new();
metadata.artist = Some(vec![podcast.title().to_string()]);
metadata.title = Some(episode.title().to_string());
// FIXME: .image_uri() returns an http url, we should instead
// pass it the local path to the downloaded cover image.
metadata.art_url = podcast.image_uri().clone().map(From::from);
self.mpris.set_metadata(metadata);
self.mpris.set_can_play(true);
}
fn set_episode_title(&self, episode: &EpisodeWidgetModel) {
@@ -155,6 +173,7 @@ struct PlayerControls {
pause: gtk::Button,
forward: gtk::Button,
rewind: gtk::Button,
last_pause: RefCell<Option<DateTime<Local>>>,
}
#[derive(Debug, Clone)]
@@ -176,6 +195,15 @@ impl Default for PlayerWidget {
Some(&dispatcher.upcast::<gst_player::PlayerSignalDispatcher>()),
);
let mpris = MprisPlayer::new(
"Podcasts".to_string(),
"GNOME Podcasts".to_string(),
"org.gnome.Podcasts.desktop".to_string(),
);
mpris.set_can_play(false);
mpris.set_can_seek(false);
mpris.set_can_set_fullscreen(false);
let mut config = player.get_config();
config.set_user_agent(USER_AGENT);
config.set_position_update_interval(250);
@@ -196,6 +224,7 @@ impl Default for PlayerWidget {
pause,
forward,
rewind,
last_pause: RefCell::new(None),
};
let timer_container = builder.get_object("timer").unwrap();
@@ -220,10 +249,12 @@ impl Default for PlayerWidget {
let episode = builder.get_object("episode_label").unwrap();
let cover = builder.get_object("show_cover").unwrap();
let info = PlayerInfo {
mpris,
container: labels,
show,
episode,
cover,
episode_id: RefCell::new(None),
};
let radio150 = builder.get_object("rate_1_50").unwrap();
@@ -262,6 +293,7 @@ impl PlayerWidget {
fn init(s: &Rc<Self>, sender: &Sender<Action>) {
Self::connect_control_buttons(s);
Self::connect_rate_buttons(s);
Self::connect_mpris_buttons(s, sender);
Self::connect_gst_signals(s, sender);
}
@@ -290,6 +322,36 @@ impl PlayerWidget {
}));
}
fn connect_mpris_buttons(s: &Rc<Self>, sender: &Sender<Action>) {
let weak = Rc::downgrade(s);
let mpris = s.info.mpris.clone();
s.info.mpris.connect_play_pause(clone!(weak => move || {
let player = match weak.upgrade() {
Some(s) => s,
None => return
};
if let Ok(status) = mpris.get_playback_status() {
match status.as_ref() {
"Paused" => player.play(),
"Stopped" => player.play(),
_ => player.pause(),
};
}
}));
s.info.mpris.connect_next(clone!(weak => move || {
weak.upgrade().map(|p| p.fast_forward());
}));
s.info.mpris.connect_previous(clone!(weak => move || {
weak.upgrade().map(|p| p.rewind());
}));
s.info.mpris.connect_raise(clone!(sender => move || sender.send(Action::RaiseWindow)));
}
#[cfg_attr(rustfmt, rustfmt_skip)]
fn connect_gst_signals(s: &Rc<Self>, sender: &Sender<Action>) {
// Log gst warnings.
@@ -400,6 +462,36 @@ impl PlayerWidget {
player.seek(ClockTime::from_seconds(value));
})
}
fn smart_rewind(&self) -> Option<()> {
lazy_static! {
static ref LAST_KNOWN_EPISODE: Mutex<Option<i32>> = Mutex::new(None);
};
// Figure out the time delta, in seconds, between the last pause and now
let now = Local::now();
let last: &Option<DateTime<_>> = &*self.controls.last_pause.borrow();
let last = last.clone()?;
let delta = (now - last).num_seconds();
// Get interval passed in the gst stream
let seconds_passed = self.player.get_position().seconds()?;
// get the last known episode id
let mut last = LAST_KNOWN_EPISODE.lock().unwrap();
// get the current playing episode id
let current_id = *self.info.episode_id.borrow();
// Only rewind on pause if the stream position is passed a certain point,
// and the player has been paused for more than a minute,
// and the episode id is the same
if seconds_passed >= 90 && delta >= 60 && current_id == *last {
self.seek(ClockTime::from_seconds(5), SeekDirection::Backwards);
}
// Set the last knows episode to the current one
*last = current_id;
Some(())
}
}
impl PlayerExt for PlayerWidget {
@@ -409,7 +501,9 @@ impl PlayerExt for PlayerWidget {
self.controls.pause.show();
self.controls.play.hide();
self.smart_rewind();
self.player.play();
self.info.mpris.set_playback_status(PlaybackStatus::Playing);
}
fn pause(&self) {
@@ -417,13 +511,9 @@ impl PlayerExt for PlayerWidget {
self.controls.play.show();
self.player.pause();
self.info.mpris.set_playback_status(PlaybackStatus::Paused);
// Only rewind on pause if the stream position is passed a certain point.
if let Some(sec) = self.player.get_position().seconds() {
if sec >= 90 {
self.seek(ClockTime::from_seconds(5), SeekDirection::Backwards);
}
}
self.controls.last_pause.replace(Some(Local::now()));
}
#[cfg_attr(rustfmt, rustfmt_skip)]
@@ -432,6 +522,7 @@ impl PlayerExt for PlayerWidget {
self.controls.play.show();
self.player.stop();
self.info.mpris.set_playback_status(PlaybackStatus::Paused);
// Reset the slider bar to the start
self.timer.on_position_updated(Position(ClockTime::from_seconds(0)));
Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 KiB

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 134 KiB

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 573 KiB

After

Width:  |  Height:  |  Size: 307 KiB

-1
View File
@@ -1,7 +1,6 @@
#!/bin/sh
export CARGO_HOME=$1/target/cargo-home
export RUSTFLAGS="--cfg rayon_unstable"
export LOCALEDIR="$3"
export APP_ID="$4"
export VERSION="$5"
+4 -5
View File
@@ -3,19 +3,19 @@
export MANIFEST_PATH="org.gnome.PodcastsDevel.json"
export RUNTIME_REPO="https://sdk.gnome.org/gnome-nightly.flatpakrepo"
export FLATPAK_MODULE="gnome-podcasts"
export CONFIGURE_ARGS=""
export CONFIGURE_ARGS="-Dprofile=development"
export DBUS_ID="org.gnome.PodcastsDevel"
export BUNDLE="org.gnome.Podcasts.Devel.flatpak"
flatpak-builder --stop-at=${FLATPAK_MODULE} --keep-build-dirs --force-clean app ${MANIFEST_PATH}
flatpak-builder --stop-at=${FLATPAK_MODULE} --force-clean app ${MANIFEST_PATH}
# https://gitlab.gnome.org/World/podcasts/issues/55
# Force regeneration of gresources regardless of artifacts chage
flatpak-builder --run app ${MANIFEST_PATH} glib-compile-resources --sourcedir=podcasts-gtk/resources/ podcasts-gtk/resources/resources.xml
# Build the flatpak repo
flatpak-builder --run app ${MANIFEST_PATH} meson --prefix=/app build
flatpak-builder --run app ${MANIFEST_PATH} meson --prefix=/app ${CONFIGURE_ARGS} build
flatpak-builder --run \
--env=CARGO_TARGET_DIR="target_build/" \
--env=CARGO_TARGET_DIR="../target_build/" \
app ${MANIFEST_PATH} \
ninja -C build install
# ninja -C build gnome-podcasts-pot; ninja -C _build gnome-podcasts-update-po
@@ -26,7 +26,6 @@ xvfb-run -a -s "-screen 0 1024x768x24" \
--env=APP_ID="org.gnome.PodcastsDevel" \
--env=LOCALEDIR="./podcasts-gtk/po" \
--env=VERSION="0.0.0" \
--env=RUSTFLAGS="--cfg rayon_unstable" \
--env=CARGO_HOME="target/cargo-home" \
--env=CARGO_TARGET_DIR="target_test/" \
app ${MANIFEST_PATH} \