26 Commits

Author SHA1 Message Date
Rafał Dzięgiel
2076309aaa flatpak: Build gtuber 2021-10-18 15:32:55 +02:00
Rafał Dzięgiel
79618edd1e Port to new gtuber lib
Current YouTube code was broken for quite some time. Replace it with
the new Gtuber lib to make this code separate, independent and easier to maintain.
2021-10-18 15:28:34 +02:00
Rafał Dzięgiel
22d2c40b0f flatpak-nightly: Build from gstreamer mono repo 2021-10-18 11:13:44 +02:00
Rafał Dzięgiel
5301c8b368 flatpak: Sync with Flathub 2021-10-14 20:35:53 +02:00
Rafał Dzięgiel
e910978590 Update LINGUAS file
Install Portuguese-Brazilian translation
2021-10-14 20:30:18 +02:00
Rafał Dzięgiel
3b99f0ee0c New Crowdin updates (#172)
* New translations com.github.rafostar.Clapper.pot (Portuguese, Brazilian)
2021-10-12 08:44:14 +02:00
Rafał Dzięgiel
f93a0fed98 Update LINGUAS file 2021-10-04 16:06:45 +02:00
Rafał Dzięgiel
6b8c35b16e Merge pull request #166 from GNUuser/patch-1
Update es.po
2021-10-04 15:59:21 +02:00
Rafał Dzięgiel
5fdb6e64be New Crowdin updates (#164)
* New translations com.github.rafostar.Clapper.pot (Chinese Simplified)

* New translations com.github.rafostar.Clapper.pot (Italian)
2021-10-04 15:14:51 +02:00
Rafał Dzięgiel
60d4b5aec1 widget: Do gestures in capture phase
Capture phase runs from the toplevel down to the event widget and is meant to be used
in containers that might possibly handle events before their children, like our OSD layer.

This avoids an issue where pressing an OSD button does not emit cancelled signal,
accidentally triggering long press gesture signal handler.

Fixes #170
2021-10-04 10:11:53 +02:00
carlosgonz
f5258889cf Update es.po 2021-10-02 10:08:14 -04:00
carlosgonz
31eddf5dd2 Update es.po 2021-10-02 10:07:15 -04:00
carlosgonz
89f7304e0e Update es.po
initial Spanish file
2021-10-01 18:59:03 -04:00
Rafał Dzięgiel
3c918bda73 New Crowdin updates (#163)
* New translations com.github.rafostar.Clapper.pot (Hungarian)
2021-09-22 10:15:35 +02:00
Rafał Dzięgiel
2a8ef2559f New Crowdin updates (#162)
* New translations com.github.rafostar.Clapper.pot (Czech)
2021-09-20 08:34:28 +02:00
Rafał Dzięgiel
7676e18eee New translations com.github.rafostar.Clapper.pot (Russian) (#161) 2021-09-17 11:03:54 +02:00
Rafał Dzięgiel
00b05b460d Merge pull request #158 from igor-dyatlov/master
Added Russian translate
2021-09-17 10:58:05 +02:00
Igor Dyatlov
62f02cf2a3 Added Russian translate 2021-09-16 12:31:19 +03:00
Rafał Dzięgiel
9fc1d9b8c4 sink: Do not leak pool when set config fails 2021-09-15 16:28:23 +02:00
Rafał Dzięgiel
45a5ebb4b6 New Crowdin updates (#157)
* New translations com.github.rafostar.Clapper.pot (Romanian)

* New translations com.github.rafostar.Clapper.pot (Korean)

* New translations com.github.rafostar.Clapper.pot (Vietnamese)

* New translations com.github.rafostar.Clapper.pot (Chinese Traditional)

* New translations com.github.rafostar.Clapper.pot (Chinese Simplified)

* New translations com.github.rafostar.Clapper.pot (Ukrainian)

* New translations com.github.rafostar.Clapper.pot (Turkish)

* New translations com.github.rafostar.Clapper.pot (Swedish)

* New translations com.github.rafostar.Clapper.pot (Serbian (Cyrillic))

* New translations com.github.rafostar.Clapper.pot (Russian)

* New translations com.github.rafostar.Clapper.pot (Portuguese)

* New translations com.github.rafostar.Clapper.pot (Polish)

* New translations com.github.rafostar.Clapper.pot (Norwegian)

* New translations com.github.rafostar.Clapper.pot (Dutch)

* New translations com.github.rafostar.Clapper.pot (Japanese)

* New translations com.github.rafostar.Clapper.pot (French)

* New translations com.github.rafostar.Clapper.pot (Italian)

* New translations com.github.rafostar.Clapper.pot (Hungarian)

* New translations com.github.rafostar.Clapper.pot (Hebrew)

* New translations com.github.rafostar.Clapper.pot (Finnish)

* New translations com.github.rafostar.Clapper.pot (Greek)

* New translations com.github.rafostar.Clapper.pot (German)

* New translations com.github.rafostar.Clapper.pot (Danish)

* New translations com.github.rafostar.Clapper.pot (Czech)

* New translations com.github.rafostar.Clapper.pot (Catalan)

* New translations com.github.rafostar.Clapper.pot (Arabic)

* New translations com.github.rafostar.Clapper.pot (Afrikaans)

* New translations com.github.rafostar.Clapper.pot (Spanish)

* New translations com.github.rafostar.Clapper.pot (Portuguese, Brazilian)

* New translations com.github.rafostar.Clapper.pot (Catalan)

* New translations com.github.rafostar.Clapper.pot (Dutch)

* New translations com.github.rafostar.Clapper.pot (Polish)
2021-09-15 10:54:52 +02:00
Rafał Dzięgiel
2500a42286 Fix missing gio-unix-2.0 dep
Our autogenerated MPRIS code needs it. On some packaging systems this might be included outside of glib, so depend on it explicitly.
2021-09-14 17:54:03 +02:00
Rafał Dzięgiel
bafffa59b9 Fix missing translator-credits 2021-09-14 16:40:09 +02:00
Rafał Dzięgiel
201cb6f64c actions: Also allow mute with "M" key alone
For faster access
2021-09-14 13:09:23 +02:00
Rafał Dzięgiel
636098182b actions: Keep consistent letters case 2021-09-14 13:06:44 +02:00
Rafał Dzięgiel
5442b0b70a uri-dialog: Catch errors when reading from clipboard
The clipboard.read_text_finish method might throw an error when something goes wrong. Catch it and print in debug message. There is no alternative clipboard reading, so simply ignore.
2021-09-14 13:00:14 +02:00
Rafał Dzięgiel
67d1b9f5bc flatpak: Sync with Flathub 2021-09-13 14:06:48 +02:00
63 changed files with 1654 additions and 2575 deletions

View File

@@ -103,14 +103,14 @@
<summary>Set PlayFlags for playbin</summary>
</key>
<!-- YouTube -->
<!-- Gtuber -->
<key name="yt-adaptive-enabled" type="b">
<default>false</default>
<summary>Enable to use adaptive streaming for YouTube</summary>
<summary>Enable to use adaptive streaming</summary>
</key>
<key name="yt-quality-type" type="i">
<default>1</default>
<summary>Max YouTube video quality type</summary>
<summary>Max online video quality type</summary>
</key>
<!-- Other -->

View File

@@ -372,8 +372,10 @@ gst_clapper_gl_sink_propose_allocation (GstBaseSink * bsink, GstQuery * query)
gst_buffer_pool_config_add_option (config,
GST_BUFFER_POOL_OPTION_GL_SYNC_META);
if (!gst_buffer_pool_set_config (pool, config))
if (!gst_buffer_pool_set_config (pool, config)) {
gst_object_unref (pool);
goto config_failed;
}
}
/* we need at least 2 buffer because we hold on to the last one */

View File

@@ -84,7 +84,7 @@ gstclapper = library('gstclapper-' + api_version,
version: libversion,
install: true,
install_dir: pkglibdir,
dependencies: [gtk4_dep, glib_dep, gio_dep,
dependencies: [gtk4_dep, glib_dep, gio_dep, giounix_dep,
gstbase_dep, gstvideo_dep, gstaudio_dep,
gsttag_dep, gstpbutils_dep, libm] + gtk_deps,
)

1
lib/meson.build vendored
View File

@@ -247,6 +247,7 @@ libm = cc.find_library('m', required: false)
glib_dep = dependency('glib-2.0', version: glib_req, fallback: ['glib', 'libglib_dep'])
gmodule_dep = dependency('gmodule-2.0', fallback: ['glib', 'libgmodule_dep'])
gio_dep = dependency('gio-2.0', fallback: ['glib', 'libgio_dep'])
giounix_dep = dependency('gio-unix-2.0', version: glib_req, fallback: ['glib', 'libgiounix_dep'])
cdata.set('DISABLE_ORC', 1)
cdata.set('GST_ENABLE_EXTRA_CHECKS', get_option('devel-checks'))

View File

@@ -23,6 +23,7 @@
"flathub/shared-modules/gudev/gudev.json",
"flathub/lib/libsass.json",
"flathub/lib/sassc.json",
"flathub/lib/libadwaita.json",
"flathub/lib/liba52.json",
"flathub/lib/libmpeg2.json",
"flathub/lib/libdv.json",
@@ -31,14 +32,8 @@
"flathub/lib/libdvdnav.json",
"flathub/lib/libass.json",
"flathub/lib/ffmpeg.json",
"testing/gstreamer-1.0/gstreamer.json",
"testing/gstreamer-1.0/gst-plugins-base.json",
"testing/gstreamer-1.0/gst-plugins-good.json",
"testing/gstreamer-1.0/gst-plugins-bad.json",
"testing/gstreamer-1.0/gst-plugins-ugly.json",
"testing/gstreamer-1.0/gst-libav.json",
"testing/gstreamer-1.0/gstreamer-vaapi.json",
"testing/libadwaita.json",
"testing/gstreamer.json",
"testing/gtuber.json",
{
"name": "clapper",
"buildsystem": "meson",

View File

@@ -20,7 +20,6 @@
"--env=GST_VAAPI_ALL_DRIVERS=1"
],
"modules": [
"flathub/lib/glib-networking.json",
"flathub/shared-modules/gudev/gudev.json",
"flathub/lib/pango.json",
"flathub/lib/libsass.json",
@@ -42,7 +41,8 @@
"flathub/gstreamer-1.0/gst-libav.json",
"flathub/gstreamer-1.0/gstreamer-vaapi.json",
"flathub/lib/gtk4.json",
"testing/libadwaita.json",
"flathub/lib/libadwaita.json",
"testing/gtuber.json",
{
"name": "clapper",
"buildsystem": "meson",

View File

@@ -1,15 +0,0 @@
{
"name": "gst-libav",
"buildsystem": "meson",
"config-opts": [
"-Ddoc=disabled",
"-Dtests=disabled"
],
"sources": [
{
"type": "git",
"url": "https://gitlab.freedesktop.org/gstreamer/gst-libav.git",
"branch": "master"
}
]
}

View File

@@ -1,28 +0,0 @@
{
"name": "gst-plugins-bad",
"buildsystem": "meson",
"config-opts": [
"-Ddoc=disabled",
"-Dexamples=disabled",
"-Dtests=disabled",
"-Dnls=disabled",
"-Dgobject-cast-checks=disabled",
"-Dglib-asserts=disabled",
"-Dglib-checks=disabled",
"-Dextra-checks=disabled",
"-Dvulkan=disabled",
"-Dwebrtc=disabled",
"-Dwasapi=disabled",
"-Dwasapi2=disabled",
"-Dwinks=disabled",
"-Dwinscreencap=disabled"
],
"sources": [
{
"type": "git",
"url": "https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad.git",
"branch": "master"
}
]
}

View File

@@ -1,25 +0,0 @@
{
"name": "gst-plugins-base",
"buildsystem": "meson",
"config-opts": [
"--wrap-mode=nofallback",
"-Ddoc=disabled",
"-Dexamples=disabled",
"-Dtests=disabled",
"-Dnls=disabled",
"-Dgobject-cast-checks=disabled",
"-Dglib-asserts=disabled",
"-Dglib-checks=disabled",
"-Dgl_api=opengl,gles2",
"-Dgl_platform=egl,glx"
],
"sources": [
{
"type": "git",
"url": "https://gitlab.freedesktop.org/gstreamer/gst-plugins-base.git",
"branch": "master"
}
]
}

View File

@@ -1,22 +0,0 @@
{
"name": "gst-plugins-good",
"buildsystem": "meson",
"config-opts": [
"-Ddoc=disabled",
"-Dexamples=disabled",
"-Dtests=disabled",
"-Dnls=disabled",
"-Dgobject-cast-checks=disabled",
"-Dglib-asserts=disabled",
"-Dglib-checks=disabled",
"-Dgtk3=disabled"
],
"sources": [
{
"type": "git",
"url": "https://gitlab.freedesktop.org/gstreamer/gst-plugins-good.git",
"branch": "master"
}
]
}

View File

@@ -1,21 +0,0 @@
{
"name": "gst-plugins-ugly",
"buildsystem": "meson",
"config-opts": [
"-Ddoc=disabled",
"-Dnls=disabled",
"-Dtests=disabled",
"-Dgobject-cast-checks=disabled",
"-Dglib-asserts=disabled",
"-Dglib-checks=disabled",
"-Dmpeg2dec=enabled"
],
"sources": [
{
"type": "git",
"url": "https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly.git",
"branch": "master"
}
]
}

View File

@@ -1,16 +0,0 @@
{
"name": "gstreamer-vaapi",
"buildsystem": "meson",
"config-opts": [
"-Ddoc=disabled",
"-Dexamples=disabled",
"-Dtests=disabled"
],
"sources": [
{
"type": "git",
"url": "https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git",
"branch": "master"
}
]
}

View File

@@ -1,23 +0,0 @@
{
"name": "gstreamer",
"buildsystem": "meson",
"config-opts": [
"-Ddoc=disabled",
"-Dgtk_doc=disabled",
"-Dexamples=disabled",
"-Dtests=disabled",
"-Dbenchmarks=disabled",
"-Dnls=disabled",
"-Dgobject-cast-checks=disabled",
"-Dglib-asserts=disabled",
"-Dglib-checks=disabled",
"-Dextra-checks=disabled"
],
"sources": [
{
"type": "git",
"url": "https://gitlab.freedesktop.org/gstreamer/gstreamer.git",
"branch": "master"
}
]
}

View File

@@ -0,0 +1,71 @@
{
"name": "gstreamer",
"buildsystem": "meson",
"config-opts": [
"--wrap-mode=nofallback",
"-Dbase=enabled",
"-Dgood=enabled",
"-Dbad=enabled",
"-Dugly=enabled",
"-Dlibav=enabled",
"-Dvaapi=enabled",
"-Dsharp=disabled",
"-Drs=disabled",
"-Dpython=disabled",
"-Ddevtools=disabled",
"-Dges=disabled",
"-Drtsp_server=disabled",
"-Dgst-examples=disabled",
"-Dqt5=disabled",
"-Dtests=disabled",
"-Dexamples=disabled",
"-Dintrospection=enabled",
"-Ddoc=disabled",
"-Dgtk_doc=disabled",
"-Dgstreamer:benchmarks=disabled",
"-Dgstreamer:gobject-cast-checks=disabled",
"-Dgstreamer:glib-asserts=disabled",
"-Dgstreamer:glib-checks=disabled",
"-Dgstreamer:extra-checks=disabled",
"-Dgst-plugins-base:gobject-cast-checks=disabled",
"-Dgst-plugins-base:glib-asserts=disabled",
"-Dgst-plugins-base:glib-checks=disabled",
"-Dgst-plugins-base:gl_api=opengl,gles2",
"-Dgst-plugins-base:gl_platform=egl,glx",
"-Dgst-plugins-good:gobject-cast-checks=disabled",
"-Dgst-plugins-good:glib-asserts=disabled",
"-Dgst-plugins-good:glib-checks=disabled",
"-Dgst-plugins-good:gtk3=disabled",
"-Dgst-plugins-bad:gobject-cast-checks=disabled",
"-Dgst-plugins-bad:glib-asserts=disabled",
"-Dgst-plugins-bad:glib-checks=disabled",
"-Dgst-plugins-bad:extra-checks=disabled",
"-Dgst-plugins-bad:vulkan=disabled",
"-Dgst-plugins-bad:webrtc=disabled",
"-Dgst-plugins-bad:wasapi=disabled",
"-Dgst-plugins-bad:wasapi2=disabled",
"-Dgst-plugins-bad:winks=disabled",
"-Dgst-plugins-bad:winscreencap=disabled",
"-Dgst-plugins-bad:assrender=enabled",
"-Dgst-plugins-bad:nvcodec=enabled",
"-Dgst-plugins-bad:v4l2codecs=enabled",
"-Dgst-plugins-bad:va=enabled",
"-Dgst-plugins-ugly:gobject-cast-checks=disabled",
"-Dgst-plugins-ugly:glib-asserts=disabled",
"-Dgst-plugins-ugly:glib-checks=disabled",
"-Dgst-plugins-ugly:mpeg2dec=enabled"
],
"sources": [
{
"type": "git",
"url": "https://gitlab.freedesktop.org/gstreamer/gstreamer.git",
"branch": "main"
}
]
}

View File

@@ -0,0 +1,18 @@
{
"name": "gtuber",
"buildsystem": "meson",
"config-opts": [
"-Dvapi=disabled"
],
"cleanup": [
"/include",
"/lib/pkgconfig"
],
"sources": [
{
"type": "git",
"url": "https://github.com/Rafostar/gtuber.git",
"branch": "main"
}
]
}

View File

@@ -1,21 +0,0 @@
{
"name": "libadwaita",
"buildsystem": "meson",
"config-opts": [
"--buildtype=release",
"--wrap-mode=nofallback",
"-Dintrospection=enabled",
"-Dvapi=false",
"-Dgtk_doc=false",
"-Dtests=false",
"-Dexamples=false"
],
"sources": [
{
"type": "git",
"url": "https://gitlab.gnome.org/GNOME/libadwaita.git",
"tag": "1.0.0-alpha.2",
"commit": "f5932ab4250c8e709958c6e75a1a4941a5f0f386"
}
]
}

View File

@@ -1 +1 @@
ca de it nl pl
ca cs de es hu it nl pl pt_BR ru zh_CN

View File

@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-06 20:22+0200\n"
"PO-Revision-Date: 2021-09-06 18:31\n"
"POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2021-09-14 15:25\n"
"Last-Translator: \n"
"Language-Team: Afrikaans\n"
"Language: af_ZA\n"
@@ -399,56 +399,61 @@ msgstr ""
msgid "Open"
msgstr ""
#: src/dialogs.js:217
#: src/dialogs.js:226
msgid "Title"
msgstr ""
#: src/dialogs.js:218
#: src/dialogs.js:227
msgid "Completed"
msgstr ""
#: src/dialogs.js:226
#: src/dialogs.js:235
msgid "Resume playback?"
msgstr ""
#: src/dialogs.js:280
#: src/dialogs.js:289
#, javascript-format
msgid "GTK version: %s"
msgstr ""
#: src/dialogs.js:281
#: src/dialogs.js:290
#, javascript-format
msgid "Adwaita version: %s"
msgstr ""
#: src/dialogs.js:282
#: src/dialogs.js:291
#, javascript-format
msgid "GStreamer version: %s"
msgstr ""
#: src/dialogs.js:283
#: src/dialogs.js:292
#, javascript-format
msgid "GJS version: %s"
msgstr ""
#: src/dialogs.js:291
#: src/dialogs.js:300
msgid "A GNOME media player powered by GStreamer"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/dialogs.js:305
msgid "translator-credits"
msgstr ""
#: src/revealers.js:170
#, javascript-format
msgid "Ends at: %s"
msgstr ""
#: src/widget.js:225 src/widget.js:234 src/widget.js:240 src/widget.js:246
#: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined"
msgstr ""
#: src/widget.js:241
#: src/widget.js:243
msgid "Channels"
msgstr ""
#: src/widget.js:259
#: src/widget.js:261
msgid "Disabled"
msgstr ""

View File

@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-06 20:22+0200\n"
"PO-Revision-Date: 2021-09-06 18:31\n"
"POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2021-09-14 15:25\n"
"Last-Translator: \n"
"Language-Team: Arabic\n"
"Language: ar_SA\n"
@@ -399,56 +399,61 @@ msgstr ""
msgid "Open"
msgstr ""
#: src/dialogs.js:217
#: src/dialogs.js:226
msgid "Title"
msgstr ""
#: src/dialogs.js:218
#: src/dialogs.js:227
msgid "Completed"
msgstr ""
#: src/dialogs.js:226
#: src/dialogs.js:235
msgid "Resume playback?"
msgstr ""
#: src/dialogs.js:280
#: src/dialogs.js:289
#, javascript-format
msgid "GTK version: %s"
msgstr ""
#: src/dialogs.js:281
#: src/dialogs.js:290
#, javascript-format
msgid "Adwaita version: %s"
msgstr ""
#: src/dialogs.js:282
#: src/dialogs.js:291
#, javascript-format
msgid "GStreamer version: %s"
msgstr ""
#: src/dialogs.js:283
#: src/dialogs.js:292
#, javascript-format
msgid "GJS version: %s"
msgstr ""
#: src/dialogs.js:291
#: src/dialogs.js:300
msgid "A GNOME media player powered by GStreamer"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/dialogs.js:305
msgid "translator-credits"
msgstr ""
#: src/revealers.js:170
#, javascript-format
msgid "Ends at: %s"
msgstr ""
#: src/widget.js:225 src/widget.js:234 src/widget.js:240 src/widget.js:246
#: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined"
msgstr ""
#: src/widget.js:241
#: src/widget.js:243
msgid "Channels"
msgstr ""
#: src/widget.js:259
#: src/widget.js:261
msgid "Disabled"
msgstr ""

View File

@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-06 20:22+0200\n"
"PO-Revision-Date: 2021-09-06 20:37\n"
"POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2021-09-14 16:21\n"
"Last-Translator: \n"
"Language-Team: Catalan\n"
"Language: ca_ES\n"
@@ -399,56 +399,61 @@ msgstr "Cancel·la"
msgid "Open"
msgstr "Obre"
#: src/dialogs.js:217
#: src/dialogs.js:226
msgid "Title"
msgstr "Títol"
#: src/dialogs.js:218
#: src/dialogs.js:227
msgid "Completed"
msgstr "Completat"
#: src/dialogs.js:226
#: src/dialogs.js:235
msgid "Resume playback?"
msgstr "Reprèn la reproducció?"
#: src/dialogs.js:280
#: src/dialogs.js:289
#, javascript-format
msgid "GTK version: %s"
msgstr "Versió del GTK: %s"
#: src/dialogs.js:281
#: src/dialogs.js:290
#, javascript-format
msgid "Adwaita version: %s"
msgstr "Versió del Adwaita: %s"
#: src/dialogs.js:282
#: src/dialogs.js:291
#, javascript-format
msgid "GStreamer version: %s"
msgstr "Versió del GStreamer: %s"
#: src/dialogs.js:283
#: src/dialogs.js:292
#, javascript-format
msgid "GJS version: %s"
msgstr "Versió del GJS: %s"
#: src/dialogs.js:291
#: src/dialogs.js:300
msgid "A GNOME media player powered by GStreamer"
msgstr "Un reproductor multimèdia del GNOME que usa GStreamer"
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/dialogs.js:305
msgid "translator-credits"
msgstr "Ícar Nin Solana <icar.nin@protonmail.com>, 2021"
#: src/revealers.js:170
#, javascript-format
msgid "Ends at: %s"
msgstr "Acaba a la/les %s"
#: src/widget.js:225 src/widget.js:234 src/widget.js:240 src/widget.js:246
#: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined"
msgstr "Sense determinar"
#: src/widget.js:241
#: src/widget.js:243
msgid "Channels"
msgstr "Canals"
#: src/widget.js:259
#: src/widget.js:261
msgid "Disabled"
msgstr "Deshabilitat"

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: com.github.rafostar.Clapper\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-06 20:22+0200\n"
"POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -399,55 +399,60 @@ msgstr ""
msgid "Open"
msgstr ""
#: src/dialogs.js:217
#: src/dialogs.js:226
msgid "Title"
msgstr ""
#: src/dialogs.js:218
#: src/dialogs.js:227
msgid "Completed"
msgstr ""
#: src/dialogs.js:226
#: src/dialogs.js:235
msgid "Resume playback?"
msgstr ""
#: src/dialogs.js:280
#: src/dialogs.js:289
#, javascript-format
msgid "GTK version: %s"
msgstr ""
#: src/dialogs.js:281
#: src/dialogs.js:290
#, javascript-format
msgid "Adwaita version: %s"
msgstr ""
#: src/dialogs.js:282
#: src/dialogs.js:291
#, javascript-format
msgid "GStreamer version: %s"
msgstr ""
#: src/dialogs.js:283
#: src/dialogs.js:292
#, javascript-format
msgid "GJS version: %s"
msgstr ""
#: src/dialogs.js:291
#: src/dialogs.js:300
msgid "A GNOME media player powered by GStreamer"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/dialogs.js:305
msgid "translator-credits"
msgstr ""
#: src/revealers.js:170
#, javascript-format
msgid "Ends at: %s"
msgstr ""
#: src/widget.js:225 src/widget.js:234 src/widget.js:240 src/widget.js:246
#: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined"
msgstr ""
#: src/widget.js:241
#: src/widget.js:243
msgid "Channels"
msgstr ""
#: src/widget.js:259
#: src/widget.js:261
msgid "Disabled"
msgstr ""

263
po/cs.po
View File

@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-06 20:22+0200\n"
"PO-Revision-Date: 2021-09-06 18:31\n"
"POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2021-09-19 20:57\n"
"Last-Translator: \n"
"Language-Team: Czech\n"
"Language: cs_CZ\n"
@@ -19,436 +19,441 @@ msgstr ""
#: ui/clapper.ui:6
msgid "Open Files..."
msgstr ""
msgstr "Otevřít soubory..."
#: ui/clapper.ui:10
msgid "Open URI..."
msgstr ""
msgstr "Otevřít URI..."
#: ui/clapper.ui:16 ui/preferences-window.ui:4
msgid "Preferences"
msgstr ""
msgstr "Předvolby"
#: ui/clapper.ui:20
msgid "Shortcuts"
msgstr ""
msgstr "Klávesové zkratky"
#: ui/clapper.ui:26
msgid "About Clapper"
msgstr ""
msgstr "O aplikaci Clapper"
#: ui/elapsed-time-button.ui:27
msgid "Speed"
msgstr ""
msgstr "Rychlost"
#: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:83
#: ui/preferences-window.ui:215
msgid "Normal"
msgstr ""
msgstr "Normální"
#: ui/help-overlay.ui:10 ui/preferences-window.ui:12
msgid "General"
msgstr ""
msgstr "Obecné"
#: ui/help-overlay.ui:13
msgid "Show shortcuts"
msgstr ""
msgstr "Zobrazit klávesové zkratky"
#: ui/help-overlay.ui:19
msgid "Toggle fullscreen"
msgstr ""
msgstr "Celá obrazovka"
#: ui/help-overlay.ui:20
msgid "Double tap | Double click"
msgstr ""
msgstr "Dvojitým poklepáním | Dvojitým kliknutím"
#: ui/help-overlay.ui:26
msgid "Leave fullscreen"
msgstr ""
msgstr "Opustit režim celé obrazovky"
#: ui/help-overlay.ui:32
msgid "Reveal OSD (fullscreen only)"
msgstr ""
msgstr "Odhalit OSD (pouze při zobrazení na celou obrazovku)"
#: ui/help-overlay.ui:33
msgid "Tap"
msgstr ""
msgstr "Klepnutím"
#: ui/help-overlay.ui:39
msgid "Quit"
msgstr ""
msgstr "Ukončit"
#: ui/help-overlay.ui:47
msgid "Media"
msgstr ""
msgstr "Média"
#: ui/help-overlay.ui:50
msgid "Open files"
msgstr ""
msgstr "Otevřít soubory"
#: ui/help-overlay.ui:56 src/dialogs.js:137
msgid "Open URI"
msgstr ""
msgstr "Otevřít URI"
#: ui/help-overlay.ui:64
msgid "Playlist"
msgstr ""
msgstr "Playlisty"
#: ui/help-overlay.ui:67
msgid "Next item"
msgstr ""
msgstr "Další položka"
#: ui/help-overlay.ui:68
msgid "Double tap (right side)"
msgstr ""
msgstr "Dvojité poklepání (pravá strana)"
#: ui/help-overlay.ui:74
msgid "Previous item"
msgstr ""
msgstr "Předchozí položka"
#: ui/help-overlay.ui:75
msgid "Double tap (left side)"
msgstr ""
msgstr "Dvojité poklepání (levá strana)"
#: ui/help-overlay.ui:81
msgid "Change repeat mode"
msgstr ""
msgstr "Změnit režim opakování"
#: ui/help-overlay.ui:87
msgid "Export to file"
msgstr ""
msgstr "Exportovat do souboru"
#: ui/help-overlay.ui:95 ui/preferences-window.ui:119
msgid "Playback"
msgstr ""
msgstr "Přehrávání"
#: ui/help-overlay.ui:98
msgid "Toggle play"
msgstr ""
msgstr "Přepnout přehrávání"
#: ui/help-overlay.ui:99
msgid "Long press | Right click"
msgstr ""
msgstr "Dlouhým stisknutím | Klepnutím pravým tlačítkem"
#: ui/help-overlay.ui:105
msgid "Seek forward"
msgstr ""
msgstr "Přetočit vpřed"
#: ui/help-overlay.ui:106
msgid "Swipe right | Scroll right"
msgstr ""
msgstr "Přejetím vpravo | Scrollováním vpravo"
#: ui/help-overlay.ui:112
msgid "Seek backward"
msgstr ""
msgstr "Přetočit zpět"
#: ui/help-overlay.ui:113
msgid "Swipe left | Scroll left"
msgstr ""
msgstr "Přejetím vlevo | Scrollováním vlevo"
#: ui/help-overlay.ui:119
msgid "Volume up"
msgstr ""
msgstr "Zesílit"
#: ui/help-overlay.ui:120
msgid "Swipe up | Scroll up"
msgstr ""
msgstr "Přejetím nahoru | Scrollováním nahoru"
#: ui/help-overlay.ui:126
msgid "Volume down"
msgstr ""
msgstr "Zeslabit"
#: ui/help-overlay.ui:127
msgid "Swipe down | Scroll down"
msgstr ""
msgstr "Přejetím dolů | Scrollováním dolů"
#: ui/help-overlay.ui:133
msgid "Toggle mute"
msgstr ""
msgstr "Vypnout/zapnout zvuk"
#: ui/help-overlay.ui:139
msgid "Next chapter"
msgstr ""
msgstr "Další kapitola"
#: ui/help-overlay.ui:145
msgid "Previous chapter"
msgstr ""
msgstr "Předchozí kapitola"
#: ui/preferences-plugin-ranking-subpage.ui:11
msgid "Decoders"
msgstr ""
msgstr "Dekodéry"
#: ui/preferences-plugin-ranking-subpage.ui:18
msgid "Return to the preferences"
msgstr ""
msgstr "Zpět do předvoleb"
#: ui/preferences-window.ui:16
msgid "Behavior"
msgstr ""
msgstr "Chování"
#: ui/preferences-window.ui:19
msgid "Auto fullscreen"
msgstr ""
msgstr "Automaticky na celou obrazovku"
#: ui/preferences-window.ui:20
msgid "Enter fullscreen when playlist is replaced except floating mode"
msgstr ""
msgstr "Přejít do režimu na celou obrazovku při nahrazení seznamu skladeb s výjimkou plovoucího režimu"
#: ui/preferences-window.ui:26
msgid "Ask to resume recent media"
msgstr ""
msgstr "Zeptat se na obnovení nedávných médií"
#: ui/preferences-window.ui:32
msgid "Float on all workspaces"
msgstr ""
msgstr "Plovoucí režim na všech pracovních plochách"
#: ui/preferences-window.ui:33
msgid "This option only works on GNOME"
msgstr ""
msgstr "Tato možnost funguje pouze na GNOME"
#: ui/preferences-window.ui:39
msgid "After playback"
msgstr ""
msgstr "Po skončení přehrávání"
#: ui/preferences-window.ui:44
msgid "Do nothing"
msgstr ""
msgstr "Nedělat nic"
#: ui/preferences-window.ui:45
msgid "Freeze last frame"
msgstr ""
msgstr "Zůstat na posledním snímku"
#: ui/preferences-window.ui:46
msgid "Close the app"
msgstr ""
msgstr "Zavřít aplikaci"
#: ui/preferences-window.ui:56
msgid "Volume"
msgstr ""
msgstr "Hlasitost"
#: ui/preferences-window.ui:59
msgid "Custom initial value"
msgstr ""
msgstr "Vlastní počáteční hodnota"
#: ui/preferences-window.ui:60
msgid "Set custom volume at startup instead of restoring it"
msgstr ""
msgstr "Nastavit vlastní hlasitost při spuštění namísto obnovení předchozí hodnoty"
#: ui/preferences-window.ui:64
msgid "Volume percentage"
msgstr ""
msgstr "Procento hlasitosti"
#: ui/preferences-window.ui:75
msgid "Seeking"
msgstr ""
msgstr "Přetáčení"
#: ui/preferences-window.ui:78
msgid "Mode"
msgstr ""
msgstr "Režim"
#: ui/preferences-window.ui:84
msgid "Accurate"
msgstr ""
msgstr "Přesný"
#: ui/preferences-window.ui:85
msgid "Fast"
msgstr ""
msgstr "Rychlý"
#: ui/preferences-window.ui:93
msgid "Unit"
msgstr ""
msgstr "Jednotka"
#: ui/preferences-window.ui:98
msgid "Second"
msgstr ""
msgstr "Sekundy"
#: ui/preferences-window.ui:99
msgid "Minute"
msgstr ""
msgstr "Minuty"
#: ui/preferences-window.ui:100
msgid "Percentage"
msgstr ""
msgstr "Procenta"
#: ui/preferences-window.ui:108
msgid "Value"
msgstr ""
msgstr "Hodnota"
#: ui/preferences-window.ui:123
msgid "Audio"
msgstr ""
msgstr "Zvuk"
#: ui/preferences-window.ui:126
msgid "Offset in milliseconds"
msgstr ""
msgstr "Posunutí v milisekundách"
#: ui/preferences-window.ui:133
msgid "Only native audio formats"
msgstr ""
msgstr "Pouze nativní formáty zvuku"
#: ui/preferences-window.ui:141
msgid "Subtitles"
msgstr ""
msgstr "Titulky"
#: ui/preferences-window.ui:144
msgid "Default font"
msgstr ""
msgstr "Výchozí styl písma"
#: ui/preferences-window.ui:154
msgid "Network"
msgstr ""
msgstr "Síť"
#: ui/preferences-window.ui:158
msgid "Client"
msgstr ""
msgstr "Klient"
#: ui/preferences-window.ui:161
msgid "Progressive download buffering"
msgstr ""
msgstr "Postupné stahování do vyrovnávací paměti"
#: ui/preferences-window.ui:169
msgid "Server"
msgstr ""
msgstr "Server"
#: ui/preferences-window.ui:172
msgid "Control player remotely"
msgstr ""
msgstr "Vzdáleně ovládat přehrávač"
#: ui/preferences-window.ui:176
msgid "Listening port"
msgstr ""
msgstr "Naslouchat na portu"
#: ui/preferences-window.ui:183
msgid "Run web application in background"
msgstr ""
msgstr "Spustit webovou aplikaci na pozadí"
#: ui/preferences-window.ui:184
msgid "Requires GTK compiled with Broadway backend"
msgstr ""
msgstr "Vyžaduje GTK kompilovaný s Broadway backendem"
#: ui/preferences-window.ui:190
msgid "Web application port"
msgstr ""
msgstr "Port webové aplikace"
#: ui/preferences-window.ui:204
msgid "Prefer adaptive streaming"
msgstr ""
msgstr "Preferovat adaptivní streamování"
#: ui/preferences-window.ui:210
msgid "Max quality"
msgstr ""
msgstr "Maximální kvalita"
#: ui/preferences-window.ui:228
msgid "Tweaks"
msgstr ""
msgstr "Vylepšení"
#: ui/preferences-window.ui:232
msgid "Appearance"
msgstr ""
msgstr "Vzhled"
#: ui/preferences-window.ui:235
msgid "Dark theme"
msgstr ""
msgstr "Tmavý motiv"
#: ui/preferences-window.ui:241
msgid "Render window shadows"
msgstr ""
msgstr "Vykreslovat stíny okna"
#: ui/preferences-window.ui:242
msgid "Disable to increase performance when windowed"
msgstr ""
msgstr "Zakázat pro zvýšení výkonu"
#: ui/preferences-window.ui:253
msgid "Plugin ranking"
msgstr ""
msgstr "Pořadí pluginů"
#: ui/preferences-window.ui:254
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
msgstr "Změna výchozího pořadí zásuvných modulů GStreameru"
#: ui/preferences-window.ui:259
msgid "Use playbin3"
msgstr ""
msgstr "Použít playbin3"
#: ui/preferences-window.ui:260 ui/preferences-window.ui:269
msgid "Requires player restart"
msgstr ""
msgstr "Vyžaduje restart přehrávače"
#: ui/preferences-window.ui:262 ui/preferences-window.ui:271
msgid "Experimental"
msgstr ""
msgstr "Experimentální"
#: ui/preferences-window.ui:268
msgid "Use PipeWire for audio output"
msgstr ""
msgstr "Použít PipeWire pro zvukový výstup"
#: src/buttons.js:201
#, javascript-format
msgid "Decoder: %s"
msgstr ""
msgstr "Dekodér: %s"
#: src/dialogs.js:152
msgid "Enter or drop URI here"
msgstr ""
msgstr "Zde zadejte nebo přetáhněte URI"
#: src/dialogs.js:157
msgid "Cancel"
msgstr ""
msgstr "Zrušit"
#: src/dialogs.js:158
msgid "Open"
msgstr ""
#: src/dialogs.js:217
msgid "Title"
msgstr ""
#: src/dialogs.js:218
msgid "Completed"
msgstr ""
msgstr "Otevřít"
#: src/dialogs.js:226
msgid "Resume playback?"
msgstr ""
msgid "Title"
msgstr "Název"
#: src/dialogs.js:280
#: src/dialogs.js:227
msgid "Completed"
msgstr "Přehráno"
#: src/dialogs.js:235
msgid "Resume playback?"
msgstr "Pokračovat v přehrávání?"
#: src/dialogs.js:289
#, javascript-format
msgid "GTK version: %s"
msgstr ""
msgstr "Verze GTK: %s"
#: src/dialogs.js:281
#: src/dialogs.js:290
#, javascript-format
msgid "Adwaita version: %s"
msgstr ""
#: src/dialogs.js:282
#, javascript-format
msgid "GStreamer version: %s"
msgstr ""
#: src/dialogs.js:283
#, javascript-format
msgid "GJS version: %s"
msgstr ""
msgstr "Verze Adwaita: %s"
#: src/dialogs.js:291
#, javascript-format
msgid "GStreamer version: %s"
msgstr "Verze GStreameru: %s"
#: src/dialogs.js:292
#, javascript-format
msgid "GJS version: %s"
msgstr "Verze GJS: %s"
#: src/dialogs.js:300
msgid "A GNOME media player powered by GStreamer"
msgstr ""
msgstr "Přehrávač médií pro GNOME postavený na GStreameru"
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/dialogs.js:305
msgid "translator-credits"
msgstr "Vojtěch Perník <translations@pervoj.cz>"
#: src/revealers.js:170
#, javascript-format
msgid "Ends at: %s"
msgstr ""
msgstr "Končí v: %s"
#: src/widget.js:225 src/widget.js:234 src/widget.js:240 src/widget.js:246
#: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined"
msgstr ""
msgstr "Neurčeno"
#: src/widget.js:241
#: src/widget.js:243
msgid "Channels"
msgstr ""
msgstr "Kanály"
#: src/widget.js:259
#: src/widget.js:261
msgid "Disabled"
msgstr ""
msgstr "Vypnuto"

View File

@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-06 20:22+0200\n"
"PO-Revision-Date: 2021-09-06 18:31\n"
"POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2021-09-14 15:25\n"
"Last-Translator: \n"
"Language-Team: Danish\n"
"Language: da_DK\n"
@@ -399,56 +399,61 @@ msgstr ""
msgid "Open"
msgstr ""
#: src/dialogs.js:217
#: src/dialogs.js:226
msgid "Title"
msgstr ""
#: src/dialogs.js:218
#: src/dialogs.js:227
msgid "Completed"
msgstr ""
#: src/dialogs.js:226
#: src/dialogs.js:235
msgid "Resume playback?"
msgstr ""
#: src/dialogs.js:280
#: src/dialogs.js:289
#, javascript-format
msgid "GTK version: %s"
msgstr ""
#: src/dialogs.js:281
#: src/dialogs.js:290
#, javascript-format
msgid "Adwaita version: %s"
msgstr ""
#: src/dialogs.js:282
#: src/dialogs.js:291
#, javascript-format
msgid "GStreamer version: %s"
msgstr ""
#: src/dialogs.js:283
#: src/dialogs.js:292
#, javascript-format
msgid "GJS version: %s"
msgstr ""
#: src/dialogs.js:291
#: src/dialogs.js:300
msgid "A GNOME media player powered by GStreamer"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/dialogs.js:305
msgid "translator-credits"
msgstr ""
#: src/revealers.js:170
#, javascript-format
msgid "Ends at: %s"
msgstr ""
#: src/widget.js:225 src/widget.js:234 src/widget.js:240 src/widget.js:246
#: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined"
msgstr ""
#: src/widget.js:241
#: src/widget.js:243
msgid "Channels"
msgstr ""
#: src/widget.js:259
#: src/widget.js:261
msgid "Disabled"
msgstr ""

View File

@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-06 20:22+0200\n"
"PO-Revision-Date: 2021-09-07 20:54\n"
"POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2021-09-14 15:25\n"
"Last-Translator: \n"
"Language-Team: German\n"
"Language: de_DE\n"
@@ -399,56 +399,61 @@ msgstr "Abbrechen"
msgid "Open"
msgstr "Öffnen"
#: src/dialogs.js:217
#: src/dialogs.js:226
msgid "Title"
msgstr "Titel"
#: src/dialogs.js:218
#: src/dialogs.js:227
msgid "Completed"
msgstr "Abgespielt"
#: src/dialogs.js:226
#: src/dialogs.js:235
msgid "Resume playback?"
msgstr "Wiedergabe fortfahren?"
#: src/dialogs.js:280
#: src/dialogs.js:289
#, javascript-format
msgid "GTK version: %s"
msgstr "GTK Version: %s"
#: src/dialogs.js:281
#: src/dialogs.js:290
#, javascript-format
msgid "Adwaita version: %s"
msgstr "Adwaita Version: %s"
#: src/dialogs.js:282
#: src/dialogs.js:291
#, javascript-format
msgid "GStreamer version: %s"
msgstr "GStreamer Version: %s"
#: src/dialogs.js:283
#: src/dialogs.js:292
#, javascript-format
msgid "GJS version: %s"
msgstr "GJS Version: %s"
#: src/dialogs.js:291
#: src/dialogs.js:300
msgid "A GNOME media player powered by GStreamer"
msgstr "Ein von GStreamer betriebener GNOME Multimedia-Player"
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/dialogs.js:305
msgid "translator-credits"
msgstr ""
#: src/revealers.js:170
#, javascript-format
msgid "Ends at: %s"
msgstr "Ended um %s"
#: src/widget.js:225 src/widget.js:234 src/widget.js:240 src/widget.js:246
#: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined"
msgstr "Unbestimmet"
#: src/widget.js:241
#: src/widget.js:243
msgid "Channels"
msgstr "Audio-Kanäle"
#: src/widget.js:259
#: src/widget.js:261
msgid "Disabled"
msgstr "Deaktiviert"

View File

@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-06 20:22+0200\n"
"PO-Revision-Date: 2021-09-06 18:31\n"
"POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2021-09-14 15:25\n"
"Last-Translator: \n"
"Language-Team: Greek\n"
"Language: el_GR\n"
@@ -399,56 +399,61 @@ msgstr ""
msgid "Open"
msgstr ""
#: src/dialogs.js:217
#: src/dialogs.js:226
msgid "Title"
msgstr ""
#: src/dialogs.js:218
#: src/dialogs.js:227
msgid "Completed"
msgstr ""
#: src/dialogs.js:226
#: src/dialogs.js:235
msgid "Resume playback?"
msgstr ""
#: src/dialogs.js:280
#: src/dialogs.js:289
#, javascript-format
msgid "GTK version: %s"
msgstr ""
#: src/dialogs.js:281
#: src/dialogs.js:290
#, javascript-format
msgid "Adwaita version: %s"
msgstr ""
#: src/dialogs.js:282
#: src/dialogs.js:291
#, javascript-format
msgid "GStreamer version: %s"
msgstr ""
#: src/dialogs.js:283
#: src/dialogs.js:292
#, javascript-format
msgid "GJS version: %s"
msgstr ""
#: src/dialogs.js:291
#: src/dialogs.js:300
msgid "A GNOME media player powered by GStreamer"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/dialogs.js:305
msgid "translator-credits"
msgstr ""
#: src/revealers.js:170
#, javascript-format
msgid "Ends at: %s"
msgstr ""
#: src/widget.js:225 src/widget.js:234 src/widget.js:240 src/widget.js:246
#: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined"
msgstr ""
#: src/widget.js:241
#: src/widget.js:243
msgid "Channels"
msgstr ""
#: src/widget.js:259
#: src/widget.js:261
msgid "Disabled"
msgstr ""

263
po/es.po
View File

@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-06 20:22+0200\n"
"PO-Revision-Date: 2021-09-06 18:31\n"
"POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2021-09-14 15:25\n"
"Last-Translator: \n"
"Language-Team: Spanish\n"
"Language: es_ES\n"
@@ -19,436 +19,441 @@ msgstr ""
#: ui/clapper.ui:6
msgid "Open Files..."
msgstr ""
msgstr "Abrir archivos"
#: ui/clapper.ui:10
msgid "Open URI..."
msgstr ""
msgstr "Abrir URI"
#: ui/clapper.ui:16 ui/preferences-window.ui:4
msgid "Preferences"
msgstr ""
msgstr "Preferencias"
#: ui/clapper.ui:20
msgid "Shortcuts"
msgstr ""
msgstr "Atajos"
#: ui/clapper.ui:26
msgid "About Clapper"
msgstr ""
msgstr "Acerca de Clapper"
#: ui/elapsed-time-button.ui:27
msgid "Speed"
msgstr ""
msgstr "Velocidad"
#: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:83
#: ui/preferences-window.ui:215
msgid "Normal"
msgstr ""
msgstr "Normal"
#: ui/help-overlay.ui:10 ui/preferences-window.ui:12
msgid "General"
msgstr ""
msgstr "General"
#: ui/help-overlay.ui:13
msgid "Show shortcuts"
msgstr ""
msgstr "Mostrar atajos"
#: ui/help-overlay.ui:19
msgid "Toggle fullscreen"
msgstr ""
msgstr "Fijar a pantalla completa"
#: ui/help-overlay.ui:20
msgid "Double tap | Double click"
msgstr ""
msgstr "Doble toque | Doble clic "
#: ui/help-overlay.ui:26
msgid "Leave fullscreen"
msgstr ""
msgstr "Salir de pantalla completa"
#: ui/help-overlay.ui:32
msgid "Reveal OSD (fullscreen only)"
msgstr ""
msgstr "Revelar OSD (solo pantalla completa)"
#: ui/help-overlay.ui:33
msgid "Tap"
msgstr ""
msgstr "Tocar"
#: ui/help-overlay.ui:39
msgid "Quit"
msgstr ""
msgstr "Abandonar"
#: ui/help-overlay.ui:47
msgid "Media"
msgstr ""
msgstr "Media"
#: ui/help-overlay.ui:50
msgid "Open files"
msgstr ""
msgstr "Abrir archivos"
#: ui/help-overlay.ui:56 src/dialogs.js:137
msgid "Open URI"
msgstr ""
msgstr "Abrir URI"
#: ui/help-overlay.ui:64
msgid "Playlist"
msgstr ""
msgstr "Lista de reproducción"
#: ui/help-overlay.ui:67
msgid "Next item"
msgstr ""
msgstr "Artículo siguiente"
#: ui/help-overlay.ui:68
msgid "Double tap (right side)"
msgstr ""
msgstr "Tocar doble (lado derecho)"
#: ui/help-overlay.ui:74
msgid "Previous item"
msgstr ""
msgstr "Artículo anterior"
#: ui/help-overlay.ui:75
msgid "Double tap (left side)"
msgstr ""
msgstr "Tocar doble (lado izquierdo)"
#: ui/help-overlay.ui:81
msgid "Change repeat mode"
msgstr ""
msgstr "Cambiar a modo repetición"
#: ui/help-overlay.ui:87
msgid "Export to file"
msgstr ""
msgstr "Exportar a archivo"
#: ui/help-overlay.ui:95 ui/preferences-window.ui:119
msgid "Playback"
msgstr ""
msgstr "Reproducir"
#: ui/help-overlay.ui:98
msgid "Toggle play"
msgstr ""
msgstr "Fijar a reproducir"
#: ui/help-overlay.ui:99
msgid "Long press | Right click"
msgstr ""
msgstr "Pulsación larga | Clic derecho"
#: ui/help-overlay.ui:105
msgid "Seek forward"
msgstr ""
msgstr "Buscar adelante "
#: ui/help-overlay.ui:106
msgid "Swipe right | Scroll right"
msgstr ""
msgstr "Deslizar a derecha | Desplazar a derecha"
#: ui/help-overlay.ui:112
msgid "Seek backward"
msgstr ""
msgstr "Buscar a atrás"
#: ui/help-overlay.ui:113
msgid "Swipe left | Scroll left"
msgstr ""
msgstr "Deslizar a izquierda | Desplazar a izquierda"
#: ui/help-overlay.ui:119
msgid "Volume up"
msgstr ""
msgstr "Volumen +"
#: ui/help-overlay.ui:120
msgid "Swipe up | Scroll up"
msgstr ""
msgstr "Deslizar + | Desplazar +"
#: ui/help-overlay.ui:126
msgid "Volume down"
msgstr ""
msgstr "Volumen -"
#: ui/help-overlay.ui:127
msgid "Swipe down | Scroll down"
msgstr ""
msgstr "Deslizar - | Desplazar -"
#: ui/help-overlay.ui:133
msgid "Toggle mute"
msgstr ""
msgstr "Fijar a mudo"
#: ui/help-overlay.ui:139
msgid "Next chapter"
msgstr ""
msgstr "Siguiente capítulo"
#: ui/help-overlay.ui:145
msgid "Previous chapter"
msgstr ""
msgstr "Anterior capítulo"
#: ui/preferences-plugin-ranking-subpage.ui:11
msgid "Decoders"
msgstr ""
msgstr "Decodificadores"
#: ui/preferences-plugin-ranking-subpage.ui:18
msgid "Return to the preferences"
msgstr ""
msgstr "Regresar a preferencias"
#: ui/preferences-window.ui:16
msgid "Behavior"
msgstr ""
msgstr "Comportamiento"
#: ui/preferences-window.ui:19
msgid "Auto fullscreen"
msgstr ""
msgstr "Pantalla completa automática"
#: ui/preferences-window.ui:20
msgid "Enter fullscreen when playlist is replaced except floating mode"
msgstr ""
msgstr "Fijar a pantalla completa cuando se reemplaza la lista de reproducción, excepto el modo flotante"
#: ui/preferences-window.ui:26
msgid "Ask to resume recent media"
msgstr ""
msgstr "Preguntar al reanudar los medios recientes"
#: ui/preferences-window.ui:32
msgid "Float on all workspaces"
msgstr ""
msgstr "Flotar todos los espacios de trabajo"
#: ui/preferences-window.ui:33
msgid "This option only works on GNOME"
msgstr ""
msgstr "Esta opción solo funciona en GNOME"
#: ui/preferences-window.ui:39
msgid "After playback"
msgstr ""
msgstr "Después de reproducción "
#: ui/preferences-window.ui:44
msgid "Do nothing"
msgstr ""
msgstr "Nada por hacer"
#: ui/preferences-window.ui:45
msgid "Freeze last frame"
msgstr ""
msgstr "Congelar el último fotograma"
#: ui/preferences-window.ui:46
msgid "Close the app"
msgstr ""
msgstr "Cerrar la aplicación"
#: ui/preferences-window.ui:56
msgid "Volume"
msgstr ""
msgstr "Volumen"
#: ui/preferences-window.ui:59
msgid "Custom initial value"
msgstr ""
msgstr "Valor inicial personalizado"
#: ui/preferences-window.ui:60
msgid "Set custom volume at startup instead of restoring it"
msgstr ""
msgstr "Establecer un volumen personalizado al inicio en lugar de restaurarlo"
#: ui/preferences-window.ui:64
msgid "Volume percentage"
msgstr ""
msgstr "Porcentaje de volumen"
#: ui/preferences-window.ui:75
msgid "Seeking"
msgstr ""
msgstr "Buscando"
#: ui/preferences-window.ui:78
msgid "Mode"
msgstr ""
msgstr "Modo"
#: ui/preferences-window.ui:84
msgid "Accurate"
msgstr ""
msgstr "Precisión"
#: ui/preferences-window.ui:85
msgid "Fast"
msgstr ""
msgstr "Rápido"
#: ui/preferences-window.ui:93
msgid "Unit"
msgstr ""
msgstr "Unidad"
#: ui/preferences-window.ui:98
msgid "Second"
msgstr ""
msgstr "Segundo"
#: ui/preferences-window.ui:99
msgid "Minute"
msgstr ""
msgstr "Minuto"
#: ui/preferences-window.ui:100
msgid "Percentage"
msgstr ""
msgstr "Porcentaje"
#: ui/preferences-window.ui:108
msgid "Value"
msgstr ""
msgstr "Valor"
#: ui/preferences-window.ui:123
msgid "Audio"
msgstr ""
msgstr "Audio"
#: ui/preferences-window.ui:126
msgid "Offset in milliseconds"
msgstr ""
msgstr "Compensación en milisegundos"
#: ui/preferences-window.ui:133
msgid "Only native audio formats"
msgstr ""
msgstr "Solo formatos de audio nativos"
#: ui/preferences-window.ui:141
msgid "Subtitles"
msgstr ""
msgstr "Subtítulos"
#: ui/preferences-window.ui:144
msgid "Default font"
msgstr ""
msgstr "Fuente predeterminada"
#: ui/preferences-window.ui:154
msgid "Network"
msgstr ""
msgstr "Red"
#: ui/preferences-window.ui:158
msgid "Client"
msgstr ""
msgstr "Cliente"
#: ui/preferences-window.ui:161
msgid "Progressive download buffering"
msgstr ""
msgstr "Bajada progresiva de búfer"
#: ui/preferences-window.ui:169
msgid "Server"
msgstr ""
msgstr "Servidor"
#: ui/preferences-window.ui:172
msgid "Control player remotely"
msgstr ""
msgstr "Controlar el reproductor remotamente"
#: ui/preferences-window.ui:176
msgid "Listening port"
msgstr ""
msgstr "Puerto de escucha"
#: ui/preferences-window.ui:183
msgid "Run web application in background"
msgstr ""
msgstr "Ejecutar la aplicación web en modo demonio"
#: ui/preferences-window.ui:184
msgid "Requires GTK compiled with Broadway backend"
msgstr ""
msgstr "Requiere GTK compilado con el backend de Broadway"
#: ui/preferences-window.ui:190
msgid "Web application port"
msgstr ""
msgstr "Puerto de la aplicación web"
#: ui/preferences-window.ui:204
msgid "Prefer adaptive streaming"
msgstr ""
msgstr "Preferir la transmisión adaptativa "
#: ui/preferences-window.ui:210
msgid "Max quality"
msgstr ""
msgstr "Calidad máxima"
#: ui/preferences-window.ui:228
msgid "Tweaks"
msgstr ""
msgstr "Retoques"
#: ui/preferences-window.ui:232
msgid "Appearance"
msgstr ""
msgstr "Apariencia"
#: ui/preferences-window.ui:235
msgid "Dark theme"
msgstr ""
msgstr "Tema oscuro"
#: ui/preferences-window.ui:241
msgid "Render window shadows"
msgstr ""
msgstr "Renderizar sombras de ventana"
#: ui/preferences-window.ui:242
msgid "Disable to increase performance when windowed"
msgstr ""
msgstr "Desactivar para aumentar el rendimiento cuando se abre en ventana"
#: ui/preferences-window.ui:253
msgid "Plugin ranking"
msgstr ""
msgstr "Rango de enchufes"
#: ui/preferences-window.ui:254
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
msgstr "Alterar los rangos predeterminados de los enchufes de GStreamer"
#: ui/preferences-window.ui:259
msgid "Use playbin3"
msgstr ""
msgstr "Usar Playbin3"
#: ui/preferences-window.ui:260 ui/preferences-window.ui:269
msgid "Requires player restart"
msgstr ""
msgstr "Require reiniciar el reproductor"
#: ui/preferences-window.ui:262 ui/preferences-window.ui:271
msgid "Experimental"
msgstr ""
msgstr "Experimental"
#: ui/preferences-window.ui:268
msgid "Use PipeWire for audio output"
msgstr ""
msgstr "Usar PipeWire para la salida de audio"
#: src/buttons.js:201
#, javascript-format
msgid "Decoder: %s"
msgstr ""
msgstr "Decodificador: %s"
#: src/dialogs.js:152
msgid "Enter or drop URI here"
msgstr ""
msgstr "Intoducir la URI aquí"
#: src/dialogs.js:157
msgid "Cancel"
msgstr ""
msgstr "Cancelar"
#: src/dialogs.js:158
msgid "Open"
msgstr ""
#: src/dialogs.js:217
msgid "Title"
msgstr ""
#: src/dialogs.js:218
msgid "Completed"
msgstr ""
msgstr "Abrir"
#: src/dialogs.js:226
msgid "Resume playback?"
msgstr ""
msgid "Title"
msgstr "Título"
#: src/dialogs.js:280
#: src/dialogs.js:227
msgid "Completed"
msgstr "Completado"
#: src/dialogs.js:235
msgid "Resume playback?"
msgstr "Resumir el reproductor?"
#: src/dialogs.js:289
#, javascript-format
msgid "GTK version: %s"
msgstr ""
msgstr "Versión GTK: %s"
#: src/dialogs.js:281
#: src/dialogs.js:290
#, javascript-format
msgid "Adwaita version: %s"
msgstr ""
#: src/dialogs.js:282
#, javascript-format
msgid "GStreamer version: %s"
msgstr ""
#: src/dialogs.js:283
#, javascript-format
msgid "GJS version: %s"
msgstr ""
msgstr "Versión LibAdwaita: %s"
#: src/dialogs.js:291
#, javascript-format
msgid "GStreamer version: %s"
msgstr "Versión GStreamer: %s"
#: src/dialogs.js:292
#, javascript-format
msgid "GJS version: %s"
msgstr "Versión GJS: %s"
#: src/dialogs.js:300
msgid "A GNOME media player powered by GStreamer"
msgstr ""
msgstr "Un reproductor multimedia de GNOME impulsado por GStreamer"
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/dialogs.js:305
msgid "translator-credits"
msgstr "carlosgonz"
#: src/revealers.js:170
#, javascript-format
msgid "Ends at: %s"
msgstr ""
msgstr "Termina en: %s"
#: src/widget.js:225 src/widget.js:234 src/widget.js:240 src/widget.js:246
#: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined"
msgstr ""
msgstr "Indeterminado"
#: src/widget.js:241
#: src/widget.js:243
msgid "Channels"
msgstr ""
msgstr "Canales"
#: src/widget.js:259
#: src/widget.js:261
msgid "Disabled"
msgstr ""
msgstr "Deshabilitado"

View File

@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-06 20:22+0200\n"
"PO-Revision-Date: 2021-09-06 18:31\n"
"POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2021-09-14 15:25\n"
"Last-Translator: \n"
"Language-Team: Finnish\n"
"Language: fi_FI\n"
@@ -399,56 +399,61 @@ msgstr ""
msgid "Open"
msgstr ""
#: src/dialogs.js:217
#: src/dialogs.js:226
msgid "Title"
msgstr ""
#: src/dialogs.js:218
#: src/dialogs.js:227
msgid "Completed"
msgstr ""
#: src/dialogs.js:226
#: src/dialogs.js:235
msgid "Resume playback?"
msgstr ""
#: src/dialogs.js:280
#: src/dialogs.js:289
#, javascript-format
msgid "GTK version: %s"
msgstr ""
#: src/dialogs.js:281
#: src/dialogs.js:290
#, javascript-format
msgid "Adwaita version: %s"
msgstr ""
#: src/dialogs.js:282
#: src/dialogs.js:291
#, javascript-format
msgid "GStreamer version: %s"
msgstr ""
#: src/dialogs.js:283
#: src/dialogs.js:292
#, javascript-format
msgid "GJS version: %s"
msgstr ""
#: src/dialogs.js:291
#: src/dialogs.js:300
msgid "A GNOME media player powered by GStreamer"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/dialogs.js:305
msgid "translator-credits"
msgstr ""
#: src/revealers.js:170
#, javascript-format
msgid "Ends at: %s"
msgstr ""
#: src/widget.js:225 src/widget.js:234 src/widget.js:240 src/widget.js:246
#: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined"
msgstr ""
#: src/widget.js:241
#: src/widget.js:243
msgid "Channels"
msgstr ""
#: src/widget.js:259
#: src/widget.js:261
msgid "Disabled"
msgstr ""

View File

@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-06 20:22+0200\n"
"PO-Revision-Date: 2021-09-06 18:31\n"
"POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2021-09-14 15:25\n"
"Last-Translator: \n"
"Language-Team: French\n"
"Language: fr_FR\n"
@@ -399,56 +399,61 @@ msgstr ""
msgid "Open"
msgstr ""
#: src/dialogs.js:217
#: src/dialogs.js:226
msgid "Title"
msgstr ""
#: src/dialogs.js:218
#: src/dialogs.js:227
msgid "Completed"
msgstr ""
#: src/dialogs.js:226
#: src/dialogs.js:235
msgid "Resume playback?"
msgstr ""
#: src/dialogs.js:280
#: src/dialogs.js:289
#, javascript-format
msgid "GTK version: %s"
msgstr ""
#: src/dialogs.js:281
#: src/dialogs.js:290
#, javascript-format
msgid "Adwaita version: %s"
msgstr ""
#: src/dialogs.js:282
#: src/dialogs.js:291
#, javascript-format
msgid "GStreamer version: %s"
msgstr ""
#: src/dialogs.js:283
#: src/dialogs.js:292
#, javascript-format
msgid "GJS version: %s"
msgstr ""
#: src/dialogs.js:291
#: src/dialogs.js:300
msgid "A GNOME media player powered by GStreamer"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/dialogs.js:305
msgid "translator-credits"
msgstr ""
#: src/revealers.js:170
#, javascript-format
msgid "Ends at: %s"
msgstr ""
#: src/widget.js:225 src/widget.js:234 src/widget.js:240 src/widget.js:246
#: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined"
msgstr ""
#: src/widget.js:241
#: src/widget.js:243
msgid "Channels"
msgstr ""
#: src/widget.js:259
#: src/widget.js:261
msgid "Disabled"
msgstr ""

View File

@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-06 20:22+0200\n"
"PO-Revision-Date: 2021-09-06 18:31\n"
"POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2021-09-14 15:25\n"
"Last-Translator: \n"
"Language-Team: Hebrew\n"
"Language: he_IL\n"
@@ -399,56 +399,61 @@ msgstr ""
msgid "Open"
msgstr ""
#: src/dialogs.js:217
#: src/dialogs.js:226
msgid "Title"
msgstr ""
#: src/dialogs.js:218
#: src/dialogs.js:227
msgid "Completed"
msgstr ""
#: src/dialogs.js:226
#: src/dialogs.js:235
msgid "Resume playback?"
msgstr ""
#: src/dialogs.js:280
#: src/dialogs.js:289
#, javascript-format
msgid "GTK version: %s"
msgstr ""
#: src/dialogs.js:281
#: src/dialogs.js:290
#, javascript-format
msgid "Adwaita version: %s"
msgstr ""
#: src/dialogs.js:282
#: src/dialogs.js:291
#, javascript-format
msgid "GStreamer version: %s"
msgstr ""
#: src/dialogs.js:283
#: src/dialogs.js:292
#, javascript-format
msgid "GJS version: %s"
msgstr ""
#: src/dialogs.js:291
#: src/dialogs.js:300
msgid "A GNOME media player powered by GStreamer"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/dialogs.js:305
msgid "translator-credits"
msgstr ""
#: src/revealers.js:170
#, javascript-format
msgid "Ends at: %s"
msgstr ""
#: src/widget.js:225 src/widget.js:234 src/widget.js:240 src/widget.js:246
#: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined"
msgstr ""
#: src/widget.js:241
#: src/widget.js:243
msgid "Channels"
msgstr ""
#: src/widget.js:259
#: src/widget.js:261
msgid "Disabled"
msgstr ""

263
po/hu.po
View File

@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-06 20:22+0200\n"
"PO-Revision-Date: 2021-09-06 18:31\n"
"POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2021-09-21 16:37\n"
"Last-Translator: \n"
"Language-Team: Hungarian\n"
"Language: hu_HU\n"
@@ -19,436 +19,441 @@ msgstr ""
#: ui/clapper.ui:6
msgid "Open Files..."
msgstr ""
msgstr "Fájlok megnyitása..."
#: ui/clapper.ui:10
msgid "Open URI..."
msgstr ""
msgstr "URI megnyitása..."
#: ui/clapper.ui:16 ui/preferences-window.ui:4
msgid "Preferences"
msgstr ""
msgstr "Beállítások"
#: ui/clapper.ui:20
msgid "Shortcuts"
msgstr ""
msgstr "Gyorsbillentyűk"
#: ui/clapper.ui:26
msgid "About Clapper"
msgstr ""
msgstr "A Clapper -ről"
#: ui/elapsed-time-button.ui:27
msgid "Speed"
msgstr ""
msgstr "Sebesség"
#: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:83
#: ui/preferences-window.ui:215
msgid "Normal"
msgstr ""
msgstr "Normál"
#: ui/help-overlay.ui:10 ui/preferences-window.ui:12
msgid "General"
msgstr ""
msgstr "Általános beállítások"
#: ui/help-overlay.ui:13
msgid "Show shortcuts"
msgstr ""
msgstr "Gyorsbillentyűk megjelenítése"
#: ui/help-overlay.ui:19
msgid "Toggle fullscreen"
msgstr ""
msgstr "Teljes képernyő be/ki"
#: ui/help-overlay.ui:20
msgid "Double tap | Double click"
msgstr ""
msgstr "Dupla koppintás | Dupla kattintás"
#: ui/help-overlay.ui:26
msgid "Leave fullscreen"
msgstr ""
msgstr "Teljes képernyő be/ki"
#: ui/help-overlay.ui:32
msgid "Reveal OSD (fullscreen only)"
msgstr ""
msgstr "Képernyőn megjelenő kijelző (OSD) mutatása (csak teljes képernyős módban)"
#: ui/help-overlay.ui:33
msgid "Tap"
msgstr ""
msgstr "Koppintás"
#: ui/help-overlay.ui:39
msgid "Quit"
msgstr ""
msgstr "Kilépés"
#: ui/help-overlay.ui:47
msgid "Media"
msgstr ""
msgstr "Média"
#: ui/help-overlay.ui:50
msgid "Open files"
msgstr ""
msgstr "Fájlok megnyitása"
#: ui/help-overlay.ui:56 src/dialogs.js:137
msgid "Open URI"
msgstr ""
msgstr "URI megnyitása"
#: ui/help-overlay.ui:64
msgid "Playlist"
msgstr ""
msgstr "Lejátszólista"
#: ui/help-overlay.ui:67
msgid "Next item"
msgstr ""
msgstr "Következő listaelem"
#: ui/help-overlay.ui:68
msgid "Double tap (right side)"
msgstr ""
msgstr "Dupla koppintás (jobb oldalon)"
#: ui/help-overlay.ui:74
msgid "Previous item"
msgstr ""
msgstr "Előző listaelem"
#: ui/help-overlay.ui:75
msgid "Double tap (left side)"
msgstr ""
msgstr "Dupla koppintás (bal oldalon)"
#: ui/help-overlay.ui:81
msgid "Change repeat mode"
msgstr ""
msgstr "Ismétlési típus változtatása"
#: ui/help-overlay.ui:87
msgid "Export to file"
msgstr ""
msgstr "Exportálás fájlba"
#: ui/help-overlay.ui:95 ui/preferences-window.ui:119
msgid "Playback"
msgstr ""
msgstr "Lejátszás"
#: ui/help-overlay.ui:98
msgid "Toggle play"
msgstr ""
msgstr "Lejátszás indítása/megállítása"
#: ui/help-overlay.ui:99
msgid "Long press | Right click"
msgstr ""
msgstr "Hosszú nyomás | Jobb kattintás"
#: ui/help-overlay.ui:105
msgid "Seek forward"
msgstr ""
msgstr "Előretekerés"
#: ui/help-overlay.ui:106
msgid "Swipe right | Scroll right"
msgstr ""
msgstr "Húzás jobbra | Görgetés jobbra"
#: ui/help-overlay.ui:112
msgid "Seek backward"
msgstr ""
msgstr "Visszatekerés"
#: ui/help-overlay.ui:113
msgid "Swipe left | Scroll left"
msgstr ""
msgstr "Húzás balra | Görgetés balra"
#: ui/help-overlay.ui:119
msgid "Volume up"
msgstr ""
msgstr "Hangerő növelése"
#: ui/help-overlay.ui:120
msgid "Swipe up | Scroll up"
msgstr ""
msgstr "Húzás felfelé | Görgetés felfelé"
#: ui/help-overlay.ui:126
msgid "Volume down"
msgstr ""
msgstr "Hangerő csökkentése"
#: ui/help-overlay.ui:127
msgid "Swipe down | Scroll down"
msgstr ""
msgstr "Húzás lefelé | Görgetés lefelé"
#: ui/help-overlay.ui:133
msgid "Toggle mute"
msgstr ""
msgstr "Némítás be-/kikapcsolása"
#: ui/help-overlay.ui:139
msgid "Next chapter"
msgstr ""
msgstr "Következő jelenet"
#: ui/help-overlay.ui:145
msgid "Previous chapter"
msgstr ""
msgstr "Előző jelenet"
#: ui/preferences-plugin-ranking-subpage.ui:11
msgid "Decoders"
msgstr ""
msgstr "Dekóderek"
#: ui/preferences-plugin-ranking-subpage.ui:18
msgid "Return to the preferences"
msgstr ""
msgstr "Visszatérés a beállításokhoz"
#: ui/preferences-window.ui:16
msgid "Behavior"
msgstr ""
msgstr "Viselkedés"
#: ui/preferences-window.ui:19
msgid "Auto fullscreen"
msgstr ""
msgstr "Automatikus teljes képernyős mód"
#: ui/preferences-window.ui:20
msgid "Enter fullscreen when playlist is replaced except floating mode"
msgstr ""
msgstr "Teljes képernyős módra váltás a lejátszólista megváltoztatásakor (kivétel ha lebegőablakos módban vagyunk)"
#: ui/preferences-window.ui:26
msgid "Ask to resume recent media"
msgstr ""
msgstr "Rákérdezés a legutóbbi média folytatására"
#: ui/preferences-window.ui:32
msgid "Float on all workspaces"
msgstr ""
msgstr "Lebegő ablak az összes munkaasztalon"
#: ui/preferences-window.ui:33
msgid "This option only works on GNOME"
msgstr ""
msgstr "Ez az opció csak GNOME asztali környezettel működik"
#: ui/preferences-window.ui:39
msgid "After playback"
msgstr ""
msgstr "Lejátszás után"
#: ui/preferences-window.ui:44
msgid "Do nothing"
msgstr ""
msgstr "Ne csináljon semmit"
#: ui/preferences-window.ui:45
msgid "Freeze last frame"
msgstr ""
msgstr "Utolsó képkocka mutatása"
#: ui/preferences-window.ui:46
msgid "Close the app"
msgstr ""
msgstr "Alkalmazás bezárása"
#: ui/preferences-window.ui:56
msgid "Volume"
msgstr ""
msgstr "Hangerő"
#: ui/preferences-window.ui:59
msgid "Custom initial value"
msgstr ""
msgstr "Egyedi kezdeti érték"
#: ui/preferences-window.ui:60
msgid "Set custom volume at startup instead of restoring it"
msgstr ""
msgstr "Induláskor egyedi hangerő az utolsó visszaállítása helyett"
#: ui/preferences-window.ui:64
msgid "Volume percentage"
msgstr ""
msgstr "Hangerő százalék"
#: ui/preferences-window.ui:75
msgid "Seeking"
msgstr ""
msgstr "Tekerés"
#: ui/preferences-window.ui:78
msgid "Mode"
msgstr ""
msgstr "Mód"
#: ui/preferences-window.ui:84
msgid "Accurate"
msgstr ""
msgstr "Precíz"
#: ui/preferences-window.ui:85
msgid "Fast"
msgstr ""
msgstr "Gyors"
#: ui/preferences-window.ui:93
msgid "Unit"
msgstr ""
msgstr "Mértékegység"
#: ui/preferences-window.ui:98
msgid "Second"
msgstr ""
msgstr "Másodperc"
#: ui/preferences-window.ui:99
msgid "Minute"
msgstr ""
msgstr "Perc"
#: ui/preferences-window.ui:100
msgid "Percentage"
msgstr ""
msgstr "Százalék"
#: ui/preferences-window.ui:108
msgid "Value"
msgstr ""
msgstr "Érték"
#: ui/preferences-window.ui:123
msgid "Audio"
msgstr ""
msgstr "Hang"
#: ui/preferences-window.ui:126
msgid "Offset in milliseconds"
msgstr ""
msgstr "Eltolás miliszekundumban"
#: ui/preferences-window.ui:133
msgid "Only native audio formats"
msgstr ""
msgstr "Csak natív hang formátumok"
#: ui/preferences-window.ui:141
msgid "Subtitles"
msgstr ""
msgstr "Feliratok"
#: ui/preferences-window.ui:144
msgid "Default font"
msgstr ""
msgstr "Alapértelmezett betűtípus"
#: ui/preferences-window.ui:154
msgid "Network"
msgstr ""
msgstr "Hálózat"
#: ui/preferences-window.ui:158
msgid "Client"
msgstr ""
msgstr "Kliens"
#: ui/preferences-window.ui:161
msgid "Progressive download buffering"
msgstr ""
msgstr "Progresszív letöltéspufferelés"
#: ui/preferences-window.ui:169
msgid "Server"
msgstr ""
msgstr "Szerver"
#: ui/preferences-window.ui:172
msgid "Control player remotely"
msgstr ""
msgstr "Lejátszó távirányítása"
#: ui/preferences-window.ui:176
msgid "Listening port"
msgstr ""
msgstr "Port figyelése"
#: ui/preferences-window.ui:183
msgid "Run web application in background"
msgstr ""
msgstr "Web alkalmazás háttérben való futtatása"
#: ui/preferences-window.ui:184
msgid "Requires GTK compiled with Broadway backend"
msgstr ""
msgstr "Broadway backenddel fordított GTK -t igényel"
#: ui/preferences-window.ui:190
msgid "Web application port"
msgstr ""
msgstr "Web alkalmazás portja"
#: ui/preferences-window.ui:204
msgid "Prefer adaptive streaming"
msgstr ""
msgstr "Adaptív streaming előnyben részesítése"
#: ui/preferences-window.ui:210
msgid "Max quality"
msgstr ""
msgstr "Maximális minőség"
#: ui/preferences-window.ui:228
msgid "Tweaks"
msgstr ""
msgstr "Finomhangolások"
#: ui/preferences-window.ui:232
msgid "Appearance"
msgstr ""
msgstr "Megjelenés"
#: ui/preferences-window.ui:235
msgid "Dark theme"
msgstr ""
msgstr "Sötét téma"
#: ui/preferences-window.ui:241
msgid "Render window shadows"
msgstr ""
msgstr "Ablak árnyékok renderelése"
#: ui/preferences-window.ui:242
msgid "Disable to increase performance when windowed"
msgstr ""
msgstr "Kikapcsolása javítja a teljesítményt ablakban futtatás esetén"
#: ui/preferences-window.ui:253
msgid "Plugin ranking"
msgstr ""
msgstr "Bővítményrangsor"
#: ui/preferences-window.ui:254
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
msgstr "Az alapértelmezett GStreamer bővítményrangsor megváltoztatása"
#: ui/preferences-window.ui:259
msgid "Use playbin3"
msgstr ""
msgstr "A playbin3 használata"
#: ui/preferences-window.ui:260 ui/preferences-window.ui:269
msgid "Requires player restart"
msgstr ""
msgstr "A lejátszó újraindítását igényli"
#: ui/preferences-window.ui:262 ui/preferences-window.ui:271
msgid "Experimental"
msgstr ""
msgstr "Kísérleti funkció"
#: ui/preferences-window.ui:268
msgid "Use PipeWire for audio output"
msgstr ""
msgstr "A PipeWire használata hang kimenetként"
#: src/buttons.js:201
#, javascript-format
msgid "Decoder: %s"
msgstr ""
msgstr "Dekóder: %s"
#: src/dialogs.js:152
msgid "Enter or drop URI here"
msgstr ""
msgstr "Adjon meg egy URI -t itt, vagy húzza és ejtse ide"
#: src/dialogs.js:157
msgid "Cancel"
msgstr ""
msgstr "Mégsem"
#: src/dialogs.js:158
msgid "Open"
msgstr ""
#: src/dialogs.js:217
msgid "Title"
msgstr ""
#: src/dialogs.js:218
msgid "Completed"
msgstr ""
msgstr "Megnyitás"
#: src/dialogs.js:226
msgid "Resume playback?"
msgstr ""
msgid "Title"
msgstr "Cím"
#: src/dialogs.js:280
#: src/dialogs.js:227
msgid "Completed"
msgstr "Lejátszva"
#: src/dialogs.js:235
msgid "Resume playback?"
msgstr "Lejátszás folytatása?"
#: src/dialogs.js:289
#, javascript-format
msgid "GTK version: %s"
msgstr ""
msgstr "GTK verzió: %s"
#: src/dialogs.js:281
#: src/dialogs.js:290
#, javascript-format
msgid "Adwaita version: %s"
msgstr ""
#: src/dialogs.js:282
#, javascript-format
msgid "GStreamer version: %s"
msgstr ""
#: src/dialogs.js:283
#, javascript-format
msgid "GJS version: %s"
msgstr ""
msgstr "Adwaita verzió: %s"
#: src/dialogs.js:291
#, javascript-format
msgid "GStreamer version: %s"
msgstr "GStreamer verzió: %s"
#: src/dialogs.js:292
#, javascript-format
msgid "GJS version: %s"
msgstr "GJS verzió: %s"
#: src/dialogs.js:300
msgid "A GNOME media player powered by GStreamer"
msgstr ""
msgstr "GNOME médialejátszó a GStreamer képességeivel"
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/dialogs.js:305
msgid "translator-credits"
msgstr "Ferenc Géczi"
#: src/revealers.js:170
#, javascript-format
msgid "Ends at: %s"
msgstr ""
msgstr "%s-kor ér véget"
#: src/widget.js:225 src/widget.js:234 src/widget.js:240 src/widget.js:246
#: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined"
msgstr ""
msgstr "Meghatározatlan"
#: src/widget.js:241
#: src/widget.js:243
msgid "Channels"
msgstr ""
msgstr "Csatornák"
#: src/widget.js:259
#: src/widget.js:261
msgid "Disabled"
msgstr ""
msgstr "Kikapcsolva"

View File

@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-06 20:22+0200\n"
"PO-Revision-Date: 2021-09-10 19:43\n"
"POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2021-10-04 08:30\n"
"Last-Translator: \n"
"Language-Team: Italian\n"
"Language: it_IT\n"
@@ -399,56 +399,61 @@ msgstr "Cancella"
msgid "Open"
msgstr "Apri"
#: src/dialogs.js:217
#: src/dialogs.js:226
msgid "Title"
msgstr "Titolo"
#: src/dialogs.js:218
#: src/dialogs.js:227
msgid "Completed"
msgstr "Completato"
#: src/dialogs.js:226
#: src/dialogs.js:235
msgid "Resume playback?"
msgstr "Riprendere la riproduzione?"
#: src/dialogs.js:280
#: src/dialogs.js:289
#, javascript-format
msgid "GTK version: %s"
msgstr "Versione GTK: %s"
#: src/dialogs.js:281
#: src/dialogs.js:290
#, javascript-format
msgid "Adwaita version: %s"
msgstr "Versione Adwaita: %s"
#: src/dialogs.js:282
#: src/dialogs.js:291
#, javascript-format
msgid "GStreamer version: %s"
msgstr "Versione GStreamer: %s"
#: src/dialogs.js:283
#: src/dialogs.js:292
#, javascript-format
msgid "GJS version: %s"
msgstr "Versione GJS: %s"
#: src/dialogs.js:291
#: src/dialogs.js:300
msgid "A GNOME media player powered by GStreamer"
msgstr "Un riproduttore multimediale per GNOME basato su GStreamer"
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/dialogs.js:305
msgid "translator-credits"
msgstr ""
#: src/revealers.js:170
#, javascript-format
msgid "Ends at: %s"
msgstr "Termina alle: %s"
#: src/widget.js:225 src/widget.js:234 src/widget.js:240 src/widget.js:246
#: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined"
msgstr "Indeterminato"
#: src/widget.js:241
#: src/widget.js:243
msgid "Channels"
msgstr "Canali"
#: src/widget.js:259
#: src/widget.js:261
msgid "Disabled"
msgstr "Disabilitato"

View File

@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-06 20:22+0200\n"
"PO-Revision-Date: 2021-09-06 18:31\n"
"POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2021-09-14 15:25\n"
"Last-Translator: \n"
"Language-Team: Japanese\n"
"Language: ja_JP\n"
@@ -399,56 +399,61 @@ msgstr ""
msgid "Open"
msgstr ""
#: src/dialogs.js:217
#: src/dialogs.js:226
msgid "Title"
msgstr ""
#: src/dialogs.js:218
#: src/dialogs.js:227
msgid "Completed"
msgstr ""
#: src/dialogs.js:226
#: src/dialogs.js:235
msgid "Resume playback?"
msgstr ""
#: src/dialogs.js:280
#: src/dialogs.js:289
#, javascript-format
msgid "GTK version: %s"
msgstr ""
#: src/dialogs.js:281
#: src/dialogs.js:290
#, javascript-format
msgid "Adwaita version: %s"
msgstr ""
#: src/dialogs.js:282
#: src/dialogs.js:291
#, javascript-format
msgid "GStreamer version: %s"
msgstr ""
#: src/dialogs.js:283
#: src/dialogs.js:292
#, javascript-format
msgid "GJS version: %s"
msgstr ""
#: src/dialogs.js:291
#: src/dialogs.js:300
msgid "A GNOME media player powered by GStreamer"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/dialogs.js:305
msgid "translator-credits"
msgstr ""
#: src/revealers.js:170
#, javascript-format
msgid "Ends at: %s"
msgstr ""
#: src/widget.js:225 src/widget.js:234 src/widget.js:240 src/widget.js:246
#: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined"
msgstr ""
#: src/widget.js:241
#: src/widget.js:243
msgid "Channels"
msgstr ""
#: src/widget.js:259
#: src/widget.js:261
msgid "Disabled"
msgstr ""

View File

@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-06 20:22+0200\n"
"PO-Revision-Date: 2021-09-06 18:30\n"
"POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2021-09-14 15:24\n"
"Last-Translator: \n"
"Language-Team: Korean\n"
"Language: ko_KR\n"
@@ -399,56 +399,61 @@ msgstr ""
msgid "Open"
msgstr ""
#: src/dialogs.js:217
#: src/dialogs.js:226
msgid "Title"
msgstr ""
#: src/dialogs.js:218
#: src/dialogs.js:227
msgid "Completed"
msgstr ""
#: src/dialogs.js:226
#: src/dialogs.js:235
msgid "Resume playback?"
msgstr ""
#: src/dialogs.js:280
#: src/dialogs.js:289
#, javascript-format
msgid "GTK version: %s"
msgstr ""
#: src/dialogs.js:281
#: src/dialogs.js:290
#, javascript-format
msgid "Adwaita version: %s"
msgstr ""
#: src/dialogs.js:282
#: src/dialogs.js:291
#, javascript-format
msgid "GStreamer version: %s"
msgstr ""
#: src/dialogs.js:283
#: src/dialogs.js:292
#, javascript-format
msgid "GJS version: %s"
msgstr ""
#: src/dialogs.js:291
#: src/dialogs.js:300
msgid "A GNOME media player powered by GStreamer"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/dialogs.js:305
msgid "translator-credits"
msgstr ""
#: src/revealers.js:170
#, javascript-format
msgid "Ends at: %s"
msgstr ""
#: src/widget.js:225 src/widget.js:234 src/widget.js:240 src/widget.js:246
#: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined"
msgstr ""
#: src/widget.js:241
#: src/widget.js:243
msgid "Channels"
msgstr ""
#: src/widget.js:259
#: src/widget.js:261
msgid "Disabled"
msgstr ""

View File

@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-06 20:22+0200\n"
"PO-Revision-Date: 2021-09-06 19:35\n"
"POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2021-09-14 16:21\n"
"Last-Translator: \n"
"Language-Team: Dutch\n"
"Language: nl_NL\n"
@@ -399,56 +399,61 @@ msgstr ""
msgid "Open"
msgstr ""
#: src/dialogs.js:217
#: src/dialogs.js:226
msgid "Title"
msgstr ""
#: src/dialogs.js:218
#: src/dialogs.js:227
msgid "Completed"
msgstr ""
#: src/dialogs.js:226
#: src/dialogs.js:235
msgid "Resume playback?"
msgstr ""
#: src/dialogs.js:280
#: src/dialogs.js:289
#, javascript-format
msgid "GTK version: %s"
msgstr ""
#: src/dialogs.js:281
#: src/dialogs.js:290
#, javascript-format
msgid "Adwaita version: %s"
msgstr ""
#: src/dialogs.js:282
#: src/dialogs.js:291
#, javascript-format
msgid "GStreamer version: %s"
msgstr ""
#: src/dialogs.js:283
#: src/dialogs.js:292
#, javascript-format
msgid "GJS version: %s"
msgstr ""
#: src/dialogs.js:291
#: src/dialogs.js:300
msgid "A GNOME media player powered by GStreamer"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/dialogs.js:305
msgid "translator-credits"
msgstr "Heimen Stoffels <vistausss@fastmail.com>"
#: src/revealers.js:170
#, javascript-format
msgid "Ends at: %s"
msgstr "Eindigt op: %s"
#: src/widget.js:225 src/widget.js:234 src/widget.js:240 src/widget.js:246
#: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined"
msgstr ""
#: src/widget.js:241
#: src/widget.js:243
msgid "Channels"
msgstr ""
#: src/widget.js:259
#: src/widget.js:261
msgid "Disabled"
msgstr ""

View File

@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-06 20:22+0200\n"
"PO-Revision-Date: 2021-09-06 18:31\n"
"POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2021-09-14 15:25\n"
"Last-Translator: \n"
"Language-Team: Norwegian\n"
"Language: no_NO\n"
@@ -399,56 +399,61 @@ msgstr ""
msgid "Open"
msgstr ""
#: src/dialogs.js:217
#: src/dialogs.js:226
msgid "Title"
msgstr ""
#: src/dialogs.js:218
#: src/dialogs.js:227
msgid "Completed"
msgstr ""
#: src/dialogs.js:226
#: src/dialogs.js:235
msgid "Resume playback?"
msgstr ""
#: src/dialogs.js:280
#: src/dialogs.js:289
#, javascript-format
msgid "GTK version: %s"
msgstr ""
#: src/dialogs.js:281
#: src/dialogs.js:290
#, javascript-format
msgid "Adwaita version: %s"
msgstr ""
#: src/dialogs.js:282
#: src/dialogs.js:291
#, javascript-format
msgid "GStreamer version: %s"
msgstr ""
#: src/dialogs.js:283
#: src/dialogs.js:292
#, javascript-format
msgid "GJS version: %s"
msgstr ""
#: src/dialogs.js:291
#: src/dialogs.js:300
msgid "A GNOME media player powered by GStreamer"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/dialogs.js:305
msgid "translator-credits"
msgstr ""
#: src/revealers.js:170
#, javascript-format
msgid "Ends at: %s"
msgstr ""
#: src/widget.js:225 src/widget.js:234 src/widget.js:240 src/widget.js:246
#: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined"
msgstr ""
#: src/widget.js:241
#: src/widget.js:243
msgid "Channels"
msgstr ""
#: src/widget.js:259
#: src/widget.js:261
msgid "Disabled"
msgstr ""

View File

@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-06 20:22+0200\n"
"PO-Revision-Date: 2021-09-08 09:12\n"
"POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2021-09-15 08:41\n"
"Last-Translator: \n"
"Language-Team: Polish\n"
"Language: pl_PL\n"
@@ -399,56 +399,61 @@ msgstr "Anuluj"
msgid "Open"
msgstr "Otwórz"
#: src/dialogs.js:217
#: src/dialogs.js:226
msgid "Title"
msgstr "Tytuł"
#: src/dialogs.js:218
#: src/dialogs.js:227
msgid "Completed"
msgstr "Ukończono"
#: src/dialogs.js:226
#: src/dialogs.js:235
msgid "Resume playback?"
msgstr "Wznowić odtwarzanie?"
#: src/dialogs.js:280
#: src/dialogs.js:289
#, javascript-format
msgid "GTK version: %s"
msgstr "Wersja GTK: %s"
#: src/dialogs.js:281
#: src/dialogs.js:290
#, javascript-format
msgid "Adwaita version: %s"
msgstr "Wersja Adwaity: %s"
#: src/dialogs.js:282
#: src/dialogs.js:291
#, javascript-format
msgid "GStreamer version: %s"
msgstr "Wersja GStreamera: %s"
#: src/dialogs.js:283
#: src/dialogs.js:292
#, javascript-format
msgid "GJS version: %s"
msgstr "Wersja GJS: %s"
#: src/dialogs.js:291
#: src/dialogs.js:300
msgid "A GNOME media player powered by GStreamer"
msgstr "Odtwarzacz multimedialny dla GNOME zasilany przez GStreamer"
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/dialogs.js:305
msgid "translator-credits"
msgstr "Rafał Dzięgiel <rafostar.github@gmail.com>"
#: src/revealers.js:170
#, javascript-format
msgid "Ends at: %s"
msgstr "Koniec o: %s"
#: src/widget.js:225 src/widget.js:234 src/widget.js:240 src/widget.js:246
#: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined"
msgstr "Nieokreślony"
#: src/widget.js:241
#: src/widget.js:243
msgid "Channels"
msgstr "Kanały"
#: src/widget.js:259
#: src/widget.js:261
msgid "Disabled"
msgstr "Wyłączony"

View File

@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-06 20:22+0200\n"
"PO-Revision-Date: 2021-09-06 18:31\n"
"POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2021-09-14 15:25\n"
"Last-Translator: \n"
"Language-Team: Portuguese\n"
"Language: pt_PT\n"
@@ -399,56 +399,61 @@ msgstr ""
msgid "Open"
msgstr ""
#: src/dialogs.js:217
#: src/dialogs.js:226
msgid "Title"
msgstr ""
#: src/dialogs.js:218
#: src/dialogs.js:227
msgid "Completed"
msgstr ""
#: src/dialogs.js:226
#: src/dialogs.js:235
msgid "Resume playback?"
msgstr ""
#: src/dialogs.js:280
#: src/dialogs.js:289
#, javascript-format
msgid "GTK version: %s"
msgstr ""
#: src/dialogs.js:281
#: src/dialogs.js:290
#, javascript-format
msgid "Adwaita version: %s"
msgstr ""
#: src/dialogs.js:282
#: src/dialogs.js:291
#, javascript-format
msgid "GStreamer version: %s"
msgstr ""
#: src/dialogs.js:283
#: src/dialogs.js:292
#, javascript-format
msgid "GJS version: %s"
msgstr ""
#: src/dialogs.js:291
#: src/dialogs.js:300
msgid "A GNOME media player powered by GStreamer"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/dialogs.js:305
msgid "translator-credits"
msgstr ""
#: src/revealers.js:170
#, javascript-format
msgid "Ends at: %s"
msgstr ""
#: src/widget.js:225 src/widget.js:234 src/widget.js:240 src/widget.js:246
#: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined"
msgstr ""
#: src/widget.js:241
#: src/widget.js:243
msgid "Channels"
msgstr ""
#: src/widget.js:259
#: src/widget.js:261
msgid "Disabled"
msgstr ""

View File

@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-06 20:22+0200\n"
"PO-Revision-Date: 2021-09-06 18:31\n"
"POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2021-10-11 10:33\n"
"Last-Translator: \n"
"Language-Team: Portuguese, Brazilian\n"
"Language: pt_BR\n"
@@ -19,436 +19,441 @@ msgstr ""
#: ui/clapper.ui:6
msgid "Open Files..."
msgstr ""
msgstr "Abrir Arquivos"
#: ui/clapper.ui:10
msgid "Open URI..."
msgstr ""
msgstr "Abrir URI"
#: ui/clapper.ui:16 ui/preferences-window.ui:4
msgid "Preferences"
msgstr ""
msgstr "Preferências"
#: ui/clapper.ui:20
msgid "Shortcuts"
msgstr ""
msgstr "Atalhos"
#: ui/clapper.ui:26
msgid "About Clapper"
msgstr ""
msgstr "Sobre o Clapper"
#: ui/elapsed-time-button.ui:27
msgid "Speed"
msgstr ""
msgstr "Velocidade"
#: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:83
#: ui/preferences-window.ui:215
msgid "Normal"
msgstr ""
msgstr "Normal"
#: ui/help-overlay.ui:10 ui/preferences-window.ui:12
msgid "General"
msgstr ""
msgstr "Geral"
#: ui/help-overlay.ui:13
msgid "Show shortcuts"
msgstr ""
msgstr "Mostrar atalhos"
#: ui/help-overlay.ui:19
msgid "Toggle fullscreen"
msgstr ""
msgstr "Tela Cheia"
#: ui/help-overlay.ui:20
msgid "Double tap | Double click"
msgstr ""
msgstr "Toque duplo duplo Clique duplo"
#: ui/help-overlay.ui:26
msgid "Leave fullscreen"
msgstr ""
msgstr "Sair de tela cheia"
#: ui/help-overlay.ui:32
msgid "Reveal OSD (fullscreen only)"
msgstr ""
msgstr "Revelar OSD (apenas em tela cheia)"
#: ui/help-overlay.ui:33
msgid "Tap"
msgstr ""
msgstr "Tocar"
#: ui/help-overlay.ui:39
msgid "Quit"
msgstr ""
msgstr "Sair"
#: ui/help-overlay.ui:47
msgid "Media"
msgstr ""
msgstr "Mídia"
#: ui/help-overlay.ui:50
msgid "Open files"
msgstr ""
msgstr "Abrir Arquivos"
#: ui/help-overlay.ui:56 src/dialogs.js:137
msgid "Open URI"
msgstr ""
msgstr "Abrir o URL"
#: ui/help-overlay.ui:64
msgid "Playlist"
msgstr ""
msgstr "Lista de reprodução"
#: ui/help-overlay.ui:67
msgid "Next item"
msgstr ""
msgstr "Próximo"
#: ui/help-overlay.ui:68
msgid "Double tap (right side)"
msgstr ""
msgstr "Toque duplo (lado direito)"
#: ui/help-overlay.ui:74
msgid "Previous item"
msgstr ""
msgstr "Anterior"
#: ui/help-overlay.ui:75
msgid "Double tap (left side)"
msgstr ""
msgstr "Toque duplo (lado esquerdo)"
#: ui/help-overlay.ui:81
msgid "Change repeat mode"
msgstr ""
msgstr "Alternar modo de repetição"
#: ui/help-overlay.ui:87
msgid "Export to file"
msgstr ""
msgstr "Exportar arquivo"
#: ui/help-overlay.ui:95 ui/preferences-window.ui:119
msgid "Playback"
msgstr ""
msgstr "Reprodução"
#: ui/help-overlay.ui:98
msgid "Toggle play"
msgstr ""
msgstr "Alternar video"
#: ui/help-overlay.ui:99
msgid "Long press | Right click"
msgstr ""
msgstr "Toque longo (Clique com o botão direito)"
#: ui/help-overlay.ui:105
msgid "Seek forward"
msgstr ""
msgstr "Avançar para frente"
#: ui/help-overlay.ui:106
msgid "Swipe right | Scroll right"
msgstr ""
msgstr "Deslizar para a Direita Scroll para Direita"
#: ui/help-overlay.ui:112
msgid "Seek backward"
msgstr ""
msgstr "Volta video"
#: ui/help-overlay.ui:113
msgid "Swipe left | Scroll left"
msgstr ""
msgstr "Deslizar para a esquerda Scroll para a Esquerda"
#: ui/help-overlay.ui:119
msgid "Volume up"
msgstr ""
msgstr "Aumentar o volume"
#: ui/help-overlay.ui:120
msgid "Swipe up | Scroll up"
msgstr ""
msgstr "Deslizar para cima Scroll para cima"
#: ui/help-overlay.ui:126
msgid "Volume down"
msgstr ""
msgstr "Diminuir o volume"
#: ui/help-overlay.ui:127
msgid "Swipe down | Scroll down"
msgstr ""
msgstr "Deslizar para baixo ► Rolar para baixo"
#: ui/help-overlay.ui:133
msgid "Toggle mute"
msgstr ""
msgstr "Ativar/Desativar Som"
#: ui/help-overlay.ui:139
msgid "Next chapter"
msgstr ""
msgstr "Próximo Capítulo"
#: ui/help-overlay.ui:145
msgid "Previous chapter"
msgstr ""
msgstr "Capítulo Anterior"
#: ui/preferences-plugin-ranking-subpage.ui:11
msgid "Decoders"
msgstr ""
msgstr "Decodificadores"
#: ui/preferences-plugin-ranking-subpage.ui:18
msgid "Return to the preferences"
msgstr ""
msgstr "Voltar para as preferências"
#: ui/preferences-window.ui:16
msgid "Behavior"
msgstr ""
msgstr "Comportamento"
#: ui/preferences-window.ui:19
msgid "Auto fullscreen"
msgstr ""
msgstr "Tela cheia automaticamente"
#: ui/preferences-window.ui:20
msgid "Enter fullscreen when playlist is replaced except floating mode"
msgstr ""
msgstr "Insira em tela cheia quando a lista de reprodução for substituída, exceto o modo flutuante"
#: ui/preferences-window.ui:26
msgid "Ask to resume recent media"
msgstr ""
msgstr "Pedir para retomar o video recente"
#: ui/preferences-window.ui:32
msgid "Float on all workspaces"
msgstr ""
msgstr "Flutuar em todas as áreas de trabalho"
#: ui/preferences-window.ui:33
msgid "This option only works on GNOME"
msgstr ""
msgstr "Esta opção só funciona no GNOME"
#: ui/preferences-window.ui:39
msgid "After playback"
msgstr ""
msgstr "Pós reprodução"
#: ui/preferences-window.ui:44
msgid "Do nothing"
msgstr ""
msgstr "Não fazer nada"
#: ui/preferences-window.ui:45
msgid "Freeze last frame"
msgstr ""
msgstr "Congelar o último quadro"
#: ui/preferences-window.ui:46
msgid "Close the app"
msgstr ""
msgstr "Fechar aplicativo"
#: ui/preferences-window.ui:56
msgid "Volume"
msgstr ""
msgstr "Volume"
#: ui/preferences-window.ui:59
msgid "Custom initial value"
msgstr ""
msgstr "Valor inicial personalizado"
#: ui/preferences-window.ui:60
msgid "Set custom volume at startup instead of restoring it"
msgstr ""
msgstr "Definir volume personalizado na inicialização ao invés de restaurá-lo"
#: ui/preferences-window.ui:64
msgid "Volume percentage"
msgstr ""
msgstr "Percentual do volume"
#: ui/preferences-window.ui:75
msgid "Seeking"
msgstr ""
msgstr "Buscando"
#: ui/preferences-window.ui:78
msgid "Mode"
msgstr ""
msgstr "Modo"
#: ui/preferences-window.ui:84
msgid "Accurate"
msgstr ""
msgstr "Preciso"
#: ui/preferences-window.ui:85
msgid "Fast"
msgstr ""
msgstr "Rápido"
#: ui/preferences-window.ui:93
msgid "Unit"
msgstr ""
msgstr "Unidade"
#: ui/preferences-window.ui:98
msgid "Second"
msgstr ""
msgstr "Segundo"
#: ui/preferences-window.ui:99
msgid "Minute"
msgstr ""
msgstr "Minuto"
#: ui/preferences-window.ui:100
msgid "Percentage"
msgstr ""
msgstr "Porcentagem"
#: ui/preferences-window.ui:108
msgid "Value"
msgstr ""
msgstr "Valor"
#: ui/preferences-window.ui:123
msgid "Audio"
msgstr ""
msgstr "Audio"
#: ui/preferences-window.ui:126
msgid "Offset in milliseconds"
msgstr ""
msgstr "tempo de desvanecimento em milissegundos"
#: ui/preferences-window.ui:133
msgid "Only native audio formats"
msgstr ""
msgstr "Apenas formatos de áudio nativos"
#: ui/preferences-window.ui:141
msgid "Subtitles"
msgstr ""
msgstr "Legendas"
#: ui/preferences-window.ui:144
msgid "Default font"
msgstr ""
msgstr "Fonte padrão"
#: ui/preferences-window.ui:154
msgid "Network"
msgstr ""
msgstr "Rede"
#: ui/preferences-window.ui:158
msgid "Client"
msgstr ""
msgstr "Cliente"
#: ui/preferences-window.ui:161
msgid "Progressive download buffering"
msgstr ""
msgstr "buffering progressivo de download"
#: ui/preferences-window.ui:169
msgid "Server"
msgstr ""
msgstr "Servidor"
#: ui/preferences-window.ui:172
msgid "Control player remotely"
msgstr ""
msgstr "Controle o video remotamente "
#: ui/preferences-window.ui:176
msgid "Listening port"
msgstr ""
msgstr "Porta de escuta"
#: ui/preferences-window.ui:183
msgid "Run web application in background"
msgstr ""
msgstr "Executar web app em segundo plano"
#: ui/preferences-window.ui:184
msgid "Requires GTK compiled with Broadway backend"
msgstr ""
msgstr "Requer GTK compilado com backend de Broadway"
#: ui/preferences-window.ui:190
msgid "Web application port"
msgstr ""
msgstr "Porta do aplicativo Web"
#: ui/preferences-window.ui:204
msgid "Prefer adaptive streaming"
msgstr ""
msgstr "Preferir streaming adaptável"
#: ui/preferences-window.ui:210
msgid "Max quality"
msgstr ""
msgstr "Qualidade Máxima"
#: ui/preferences-window.ui:228
msgid "Tweaks"
msgstr ""
msgstr "Ajustes"
#: ui/preferences-window.ui:232
msgid "Appearance"
msgstr ""
msgstr "Aparência"
#: ui/preferences-window.ui:235
msgid "Dark theme"
msgstr ""
msgstr "Tema Escuro"
#: ui/preferences-window.ui:241
msgid "Render window shadows"
msgstr ""
msgstr "Renderizar sombras das janelas"
#: ui/preferences-window.ui:242
msgid "Disable to increase performance when windowed"
msgstr ""
msgstr "Desabilite para aumentar o desempenho em placas gráficas mais fracas."
#: ui/preferences-window.ui:253
msgid "Plugin ranking"
msgstr ""
msgstr "Classificação do plugin"
#: ui/preferences-window.ui:254
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
msgstr "Altera os ranks padrão dos plugins do GStreamer"
#: ui/preferences-window.ui:259
msgid "Use playbin3"
msgstr ""
msgstr "Usar playbin3"
#: ui/preferences-window.ui:260 ui/preferences-window.ui:269
msgid "Requires player restart"
msgstr ""
msgstr "Requer reinicialização do Clapper"
#: ui/preferences-window.ui:262 ui/preferences-window.ui:271
msgid "Experimental"
msgstr ""
msgstr "Experimental"
#: ui/preferences-window.ui:268
msgid "Use PipeWire for audio output"
msgstr ""
msgstr "Usar PipeWire para saída de áudio"
#: src/buttons.js:201
#, javascript-format
msgid "Decoder: %s"
msgstr ""
msgstr "Decodificador: %s"
#: src/dialogs.js:152
msgid "Enter or drop URI here"
msgstr ""
msgstr "Digite ou solte o URI aqui"
#: src/dialogs.js:157
msgid "Cancel"
msgstr ""
msgstr "Cancelar"
#: src/dialogs.js:158
msgid "Open"
msgstr ""
#: src/dialogs.js:217
msgid "Title"
msgstr ""
#: src/dialogs.js:218
msgid "Completed"
msgstr ""
msgstr "Abrir"
#: src/dialogs.js:226
msgid "Resume playback?"
msgstr ""
msgid "Title"
msgstr "Título"
#: src/dialogs.js:280
#: src/dialogs.js:227
msgid "Completed"
msgstr "Completado"
#: src/dialogs.js:235
msgid "Resume playback?"
msgstr "Retomar a reprodução?"
#: src/dialogs.js:289
#, javascript-format
msgid "GTK version: %s"
msgstr ""
msgstr "Versão do GTK: %s"
#: src/dialogs.js:281
#: src/dialogs.js:290
#, javascript-format
msgid "Adwaita version: %s"
msgstr ""
#: src/dialogs.js:282
#, javascript-format
msgid "GStreamer version: %s"
msgstr ""
#: src/dialogs.js:283
#, javascript-format
msgid "GJS version: %s"
msgstr ""
msgstr "Adwaita versão:"
#: src/dialogs.js:291
#, javascript-format
msgid "GStreamer version: %s"
msgstr "Versão do GStreamer: %s"
#: src/dialogs.js:292
#, javascript-format
msgid "GJS version: %s"
msgstr "Versão do GJS: %s"
#: src/dialogs.js:300
msgid "A GNOME media player powered by GStreamer"
msgstr ""
msgstr "Um player de mídia GNOME desenvolvido por GStreamer"
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/dialogs.js:305
msgid "translator-credits"
msgstr "KevenDoriaLinuxBR"
#: src/revealers.js:170
#, javascript-format
msgid "Ends at: %s"
msgstr ""
msgstr "termina em %s"
#: src/widget.js:225 src/widget.js:234 src/widget.js:240 src/widget.js:246
#: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined"
msgstr ""
msgstr "Indeterminado"
#: src/widget.js:241
#: src/widget.js:243
msgid "Channels"
msgstr ""
msgstr "Canais"
#: src/widget.js:259
#: src/widget.js:261
msgid "Disabled"
msgstr ""
msgstr "Desabilitado"

View File

@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-06 20:22+0200\n"
"PO-Revision-Date: 2021-09-06 18:30\n"
"POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2021-09-14 15:24\n"
"Last-Translator: \n"
"Language-Team: Romanian\n"
"Language: ro_RO\n"
@@ -399,56 +399,61 @@ msgstr ""
msgid "Open"
msgstr ""
#: src/dialogs.js:217
#: src/dialogs.js:226
msgid "Title"
msgstr ""
#: src/dialogs.js:218
#: src/dialogs.js:227
msgid "Completed"
msgstr ""
#: src/dialogs.js:226
#: src/dialogs.js:235
msgid "Resume playback?"
msgstr ""
#: src/dialogs.js:280
#: src/dialogs.js:289
#, javascript-format
msgid "GTK version: %s"
msgstr ""
#: src/dialogs.js:281
#: src/dialogs.js:290
#, javascript-format
msgid "Adwaita version: %s"
msgstr ""
#: src/dialogs.js:282
#: src/dialogs.js:291
#, javascript-format
msgid "GStreamer version: %s"
msgstr ""
#: src/dialogs.js:283
#: src/dialogs.js:292
#, javascript-format
msgid "GJS version: %s"
msgstr ""
#: src/dialogs.js:291
#: src/dialogs.js:300
msgid "A GNOME media player powered by GStreamer"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/dialogs.js:305
msgid "translator-credits"
msgstr ""
#: src/revealers.js:170
#, javascript-format
msgid "Ends at: %s"
msgstr ""
#: src/widget.js:225 src/widget.js:234 src/widget.js:240 src/widget.js:246
#: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined"
msgstr ""
#: src/widget.js:241
#: src/widget.js:243
msgid "Channels"
msgstr ""
#: src/widget.js:259
#: src/widget.js:261
msgid "Disabled"
msgstr ""

263
po/ru.po
View File

@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-06 20:22+0200\n"
"PO-Revision-Date: 2021-09-06 18:31\n"
"POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2021-09-17 08:56\n"
"Last-Translator: \n"
"Language-Team: Russian\n"
"Language: ru_RU\n"
@@ -19,436 +19,441 @@ msgstr ""
#: ui/clapper.ui:6
msgid "Open Files..."
msgstr ""
msgstr "Открыть файлы ..."
#: ui/clapper.ui:10
msgid "Open URI..."
msgstr ""
msgstr "Открыть URI..."
#: ui/clapper.ui:16 ui/preferences-window.ui:4
msgid "Preferences"
msgstr ""
msgstr "Параметры"
#: ui/clapper.ui:20
msgid "Shortcuts"
msgstr ""
msgstr "Комбинации клавиш"
#: ui/clapper.ui:26
msgid "About Clapper"
msgstr ""
msgstr "О приложении"
#: ui/elapsed-time-button.ui:27
msgid "Speed"
msgstr ""
msgstr "Скорость"
#: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:83
#: ui/preferences-window.ui:215
msgid "Normal"
msgstr ""
msgstr "Обычная"
#: ui/help-overlay.ui:10 ui/preferences-window.ui:12
msgid "General"
msgstr ""
msgstr "Общие"
#: ui/help-overlay.ui:13
msgid "Show shortcuts"
msgstr ""
msgstr "Комбинации клавиш"
#: ui/help-overlay.ui:19
msgid "Toggle fullscreen"
msgstr ""
msgstr "Включить полноэкранный режим"
#: ui/help-overlay.ui:20
msgid "Double tap | Double click"
msgstr ""
msgstr "Двойное нажатие | Двойной клик"
#: ui/help-overlay.ui:26
msgid "Leave fullscreen"
msgstr ""
msgstr "Выйти из полноэкранного режима"
#: ui/help-overlay.ui:32
msgid "Reveal OSD (fullscreen only)"
msgstr ""
msgstr "Показывать OSD (только в полноэкранном режиме)"
#: ui/help-overlay.ui:33
msgid "Tap"
msgstr ""
msgstr "Нажатие"
#: ui/help-overlay.ui:39
msgid "Quit"
msgstr ""
msgstr "Выйти из приложения"
#: ui/help-overlay.ui:47
msgid "Media"
msgstr ""
msgstr "Медиа"
#: ui/help-overlay.ui:50
msgid "Open files"
msgstr ""
msgstr "Открыть файлы"
#: ui/help-overlay.ui:56 src/dialogs.js:137
msgid "Open URI"
msgstr ""
msgstr "Открыть URI"
#: ui/help-overlay.ui:64
msgid "Playlist"
msgstr ""
msgstr "Плейлист"
#: ui/help-overlay.ui:67
msgid "Next item"
msgstr ""
msgstr "Следующий элемент"
#: ui/help-overlay.ui:68
msgid "Double tap (right side)"
msgstr ""
msgstr "Двойное нажатие (правая сторона)"
#: ui/help-overlay.ui:74
msgid "Previous item"
msgstr ""
msgstr "Предыдущий элемент"
#: ui/help-overlay.ui:75
msgid "Double tap (left side)"
msgstr ""
msgstr "Двойное нажатие (левая сторона)"
#: ui/help-overlay.ui:81
msgid "Change repeat mode"
msgstr ""
msgstr "Изменить режим повторения"
#: ui/help-overlay.ui:87
msgid "Export to file"
msgstr ""
msgstr "Экспорт в файл"
#: ui/help-overlay.ui:95 ui/preferences-window.ui:119
msgid "Playback"
msgstr ""
msgstr "Воспроизведение"
#: ui/help-overlay.ui:98
msgid "Toggle play"
msgstr ""
msgstr "Управление воспроизведением"
#: ui/help-overlay.ui:99
msgid "Long press | Right click"
msgstr ""
msgstr "Длительное нажатие | Щелкните правой кнопкой мыши"
#: ui/help-overlay.ui:105
msgid "Seek forward"
msgstr ""
msgstr "Перемотка вперед"
#: ui/help-overlay.ui:106
msgid "Swipe right | Scroll right"
msgstr ""
msgstr "Проведите вправо | Прокрутите вправо"
#: ui/help-overlay.ui:112
msgid "Seek backward"
msgstr ""
msgstr "Перемотка назад"
#: ui/help-overlay.ui:113
msgid "Swipe left | Scroll left"
msgstr ""
msgstr "Проведите влево | Прокрутите влево"
#: ui/help-overlay.ui:119
msgid "Volume up"
msgstr ""
msgstr "Увеличить громкость"
#: ui/help-overlay.ui:120
msgid "Swipe up | Scroll up"
msgstr ""
msgstr "Проведите вверх | Прокрутите вверх"
#: ui/help-overlay.ui:126
msgid "Volume down"
msgstr ""
msgstr "Уменьшить громкость"
#: ui/help-overlay.ui:127
msgid "Swipe down | Scroll down"
msgstr ""
msgstr "Проведите вниз | Прокрутить вниз"
#: ui/help-overlay.ui:133
msgid "Toggle mute"
msgstr ""
msgstr "Отключить звук"
#: ui/help-overlay.ui:139
msgid "Next chapter"
msgstr ""
msgstr "Следующая глава"
#: ui/help-overlay.ui:145
msgid "Previous chapter"
msgstr ""
msgstr "Предыдущая глава"
#: ui/preferences-plugin-ranking-subpage.ui:11
msgid "Decoders"
msgstr ""
msgstr "Декодеры"
#: ui/preferences-plugin-ranking-subpage.ui:18
msgid "Return to the preferences"
msgstr ""
msgstr "Вернуться к настройкам"
#: ui/preferences-window.ui:16
msgid "Behavior"
msgstr ""
msgstr "Поведение"
#: ui/preferences-window.ui:19
msgid "Auto fullscreen"
msgstr ""
msgstr "Автоматический полноэкранный режим"
#: ui/preferences-window.ui:20
msgid "Enter fullscreen when playlist is replaced except floating mode"
msgstr ""
msgstr "Переход в полноэкранный режим при замене списка воспроизведения, кроме плавающего режима"
#: ui/preferences-window.ui:26
msgid "Ask to resume recent media"
msgstr ""
msgstr "Спрашивать о возобновление недавние медиа"
#: ui/preferences-window.ui:32
msgid "Float on all workspaces"
msgstr ""
msgstr "Показывать «плавающий режим» на всех рабочих столах"
#: ui/preferences-window.ui:33
msgid "This option only works on GNOME"
msgstr ""
msgstr "Эта опция работает только в GNOME"
#: ui/preferences-window.ui:39
msgid "After playback"
msgstr ""
msgstr "После воспроизведения"
#: ui/preferences-window.ui:44
msgid "Do nothing"
msgstr ""
msgstr "Ничего не делать"
#: ui/preferences-window.ui:45
msgid "Freeze last frame"
msgstr ""
msgstr "Заморозить последний кадр"
#: ui/preferences-window.ui:46
msgid "Close the app"
msgstr ""
msgstr "Закрыть приложение"
#: ui/preferences-window.ui:56
msgid "Volume"
msgstr ""
msgstr "Громкость"
#: ui/preferences-window.ui:59
msgid "Custom initial value"
msgstr ""
msgstr "Пользовательское начальное значение"
#: ui/preferences-window.ui:60
msgid "Set custom volume at startup instead of restoring it"
msgstr ""
msgstr "Установите настраиваемую громкость при запуске вместо ее восстановления"
#: ui/preferences-window.ui:64
msgid "Volume percentage"
msgstr ""
msgstr "Процент громкости"
#: ui/preferences-window.ui:75
msgid "Seeking"
msgstr ""
msgstr "Перемотка"
#: ui/preferences-window.ui:78
msgid "Mode"
msgstr ""
msgstr "Режим"
#: ui/preferences-window.ui:84
msgid "Accurate"
msgstr ""
msgstr "Точный"
#: ui/preferences-window.ui:85
msgid "Fast"
msgstr ""
msgstr "Быстрый"
#: ui/preferences-window.ui:93
msgid "Unit"
msgstr ""
msgstr "Ед. изм"
#: ui/preferences-window.ui:98
msgid "Second"
msgstr ""
msgstr "Секунды"
#: ui/preferences-window.ui:99
msgid "Minute"
msgstr ""
msgstr "Минуты"
#: ui/preferences-window.ui:100
msgid "Percentage"
msgstr ""
msgstr "Проценты"
#: ui/preferences-window.ui:108
msgid "Value"
msgstr ""
msgstr "Значение"
#: ui/preferences-window.ui:123
msgid "Audio"
msgstr ""
msgstr "Аудио"
#: ui/preferences-window.ui:126
msgid "Offset in milliseconds"
msgstr ""
msgstr "Смещение в миллисекундах"
#: ui/preferences-window.ui:133
msgid "Only native audio formats"
msgstr ""
msgstr "Только нативные аудиоформаты"
#: ui/preferences-window.ui:141
msgid "Subtitles"
msgstr ""
msgstr "Субтитры"
#: ui/preferences-window.ui:144
msgid "Default font"
msgstr ""
msgstr "Шрифт по умолчанию"
#: ui/preferences-window.ui:154
msgid "Network"
msgstr ""
msgstr "Сеть"
#: ui/preferences-window.ui:158
msgid "Client"
msgstr ""
msgstr "Клиент"
#: ui/preferences-window.ui:161
msgid "Progressive download buffering"
msgstr ""
msgstr "Прогрессивная буферизация загрузки"
#: ui/preferences-window.ui:169
msgid "Server"
msgstr ""
msgstr "Сервер"
#: ui/preferences-window.ui:172
msgid "Control player remotely"
msgstr ""
msgstr "Удаленное управление плеером"
#: ui/preferences-window.ui:176
msgid "Listening port"
msgstr ""
msgstr "Порт прослушивания"
#: ui/preferences-window.ui:183
msgid "Run web application in background"
msgstr ""
msgstr "Запустить веб-приложение в фоновом режиме"
#: ui/preferences-window.ui:184
msgid "Requires GTK compiled with Broadway backend"
msgstr ""
msgstr "Требуется GTK, скомпилированный с бэкэндом Broadway"
#: ui/preferences-window.ui:190
msgid "Web application port"
msgstr ""
msgstr "Порт веб-приложения"
#: ui/preferences-window.ui:204
msgid "Prefer adaptive streaming"
msgstr ""
msgstr "Предпочитайте адаптивную потоковую передачу"
#: ui/preferences-window.ui:210
msgid "Max quality"
msgstr ""
msgstr "Максимальное качество"
#: ui/preferences-window.ui:228
msgid "Tweaks"
msgstr ""
msgstr "Твики"
#: ui/preferences-window.ui:232
msgid "Appearance"
msgstr ""
msgstr "Внешний вид"
#: ui/preferences-window.ui:235
msgid "Dark theme"
msgstr ""
msgstr "Тёмная тема"
#: ui/preferences-window.ui:241
msgid "Render window shadows"
msgstr ""
msgstr "Рендеринг оконных теней"
#: ui/preferences-window.ui:242
msgid "Disable to increase performance when windowed"
msgstr ""
msgstr "Отключить, чтобы повысить производительность в оконном режиме"
#: ui/preferences-window.ui:253
msgid "Plugin ranking"
msgstr ""
msgstr "Рейтинг плагинов"
#: ui/preferences-window.ui:254
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
msgstr "Изменить ранги плагинов GStreamer по умолчанию"
#: ui/preferences-window.ui:259
msgid "Use playbin3"
msgstr ""
msgstr "Использовать playbin3"
#: ui/preferences-window.ui:260 ui/preferences-window.ui:269
msgid "Requires player restart"
msgstr ""
msgstr "Требуется перезапуск плеера"
#: ui/preferences-window.ui:262 ui/preferences-window.ui:271
msgid "Experimental"
msgstr ""
msgstr "Экспериментально"
#: ui/preferences-window.ui:268
msgid "Use PipeWire for audio output"
msgstr ""
msgstr "Использовать PipeWire для вывода звука"
#: src/buttons.js:201
#, javascript-format
msgid "Decoder: %s"
msgstr ""
msgstr "Декодер: %s"
#: src/dialogs.js:152
msgid "Enter or drop URI here"
msgstr ""
msgstr "Введите URI"
#: src/dialogs.js:157
msgid "Cancel"
msgstr ""
msgstr "Отмена"
#: src/dialogs.js:158
msgid "Open"
msgstr ""
#: src/dialogs.js:217
msgid "Title"
msgstr ""
#: src/dialogs.js:218
msgid "Completed"
msgstr ""
msgstr "Открыть"
#: src/dialogs.js:226
msgid "Resume playback?"
msgstr ""
msgid "Title"
msgstr "Заголовок"
#: src/dialogs.js:280
#: src/dialogs.js:227
msgid "Completed"
msgstr "Завершенный"
#: src/dialogs.js:235
msgid "Resume playback?"
msgstr "Возобновить воспроизведение?"
#: src/dialogs.js:289
#, javascript-format
msgid "GTK version: %s"
msgstr ""
msgstr "Версия GTK: %s"
#: src/dialogs.js:281
#: src/dialogs.js:290
#, javascript-format
msgid "Adwaita version: %s"
msgstr ""
#: src/dialogs.js:282
#, javascript-format
msgid "GStreamer version: %s"
msgstr ""
#: src/dialogs.js:283
#, javascript-format
msgid "GJS version: %s"
msgstr ""
msgstr "Версия Adwaita: %s"
#: src/dialogs.js:291
#, javascript-format
msgid "GStreamer version: %s"
msgstr "Версия GStreamer: %s"
#: src/dialogs.js:292
#, javascript-format
msgid "GJS version: %s"
msgstr "Версия GJS: %s"
#: src/dialogs.js:300
msgid "A GNOME media player powered by GStreamer"
msgstr ""
msgstr "Медиаплеер для GNOME на базе GStreamer"
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/dialogs.js:305
msgid "translator-credits"
msgstr "Игорь Дятлов"
#: src/revealers.js:170
#, javascript-format
msgid "Ends at: %s"
msgstr ""
msgstr "Окончание: %s"
#: src/widget.js:225 src/widget.js:234 src/widget.js:240 src/widget.js:246
#: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined"
msgstr ""
msgstr "Неопределенный"
#: src/widget.js:241
#: src/widget.js:243
msgid "Channels"
msgstr ""
msgstr "Каналы"
#: src/widget.js:259
#: src/widget.js:261
msgid "Disabled"
msgstr ""
msgstr "Отключено"

View File

@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-06 20:22+0200\n"
"PO-Revision-Date: 2021-09-06 18:31\n"
"POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2021-09-14 15:25\n"
"Last-Translator: \n"
"Language-Team: Serbian (Cyrillic)\n"
"Language: sr_SP\n"
@@ -399,56 +399,61 @@ msgstr ""
msgid "Open"
msgstr ""
#: src/dialogs.js:217
#: src/dialogs.js:226
msgid "Title"
msgstr ""
#: src/dialogs.js:218
#: src/dialogs.js:227
msgid "Completed"
msgstr ""
#: src/dialogs.js:226
#: src/dialogs.js:235
msgid "Resume playback?"
msgstr ""
#: src/dialogs.js:280
#: src/dialogs.js:289
#, javascript-format
msgid "GTK version: %s"
msgstr ""
#: src/dialogs.js:281
#: src/dialogs.js:290
#, javascript-format
msgid "Adwaita version: %s"
msgstr ""
#: src/dialogs.js:282
#: src/dialogs.js:291
#, javascript-format
msgid "GStreamer version: %s"
msgstr ""
#: src/dialogs.js:283
#: src/dialogs.js:292
#, javascript-format
msgid "GJS version: %s"
msgstr ""
#: src/dialogs.js:291
#: src/dialogs.js:300
msgid "A GNOME media player powered by GStreamer"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/dialogs.js:305
msgid "translator-credits"
msgstr ""
#: src/revealers.js:170
#, javascript-format
msgid "Ends at: %s"
msgstr ""
#: src/widget.js:225 src/widget.js:234 src/widget.js:240 src/widget.js:246
#: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined"
msgstr ""
#: src/widget.js:241
#: src/widget.js:243
msgid "Channels"
msgstr ""
#: src/widget.js:259
#: src/widget.js:261
msgid "Disabled"
msgstr ""

View File

@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-06 20:22+0200\n"
"PO-Revision-Date: 2021-09-06 18:31\n"
"POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2021-09-14 15:24\n"
"Last-Translator: \n"
"Language-Team: Swedish\n"
"Language: sv_SE\n"
@@ -399,56 +399,61 @@ msgstr ""
msgid "Open"
msgstr ""
#: src/dialogs.js:217
#: src/dialogs.js:226
msgid "Title"
msgstr ""
#: src/dialogs.js:218
#: src/dialogs.js:227
msgid "Completed"
msgstr ""
#: src/dialogs.js:226
#: src/dialogs.js:235
msgid "Resume playback?"
msgstr ""
#: src/dialogs.js:280
#: src/dialogs.js:289
#, javascript-format
msgid "GTK version: %s"
msgstr ""
#: src/dialogs.js:281
#: src/dialogs.js:290
#, javascript-format
msgid "Adwaita version: %s"
msgstr ""
#: src/dialogs.js:282
#: src/dialogs.js:291
#, javascript-format
msgid "GStreamer version: %s"
msgstr ""
#: src/dialogs.js:283
#: src/dialogs.js:292
#, javascript-format
msgid "GJS version: %s"
msgstr ""
#: src/dialogs.js:291
#: src/dialogs.js:300
msgid "A GNOME media player powered by GStreamer"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/dialogs.js:305
msgid "translator-credits"
msgstr ""
#: src/revealers.js:170
#, javascript-format
msgid "Ends at: %s"
msgstr ""
#: src/widget.js:225 src/widget.js:234 src/widget.js:240 src/widget.js:246
#: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined"
msgstr ""
#: src/widget.js:241
#: src/widget.js:243
msgid "Channels"
msgstr ""
#: src/widget.js:259
#: src/widget.js:261
msgid "Disabled"
msgstr ""

View File

@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-06 20:22+0200\n"
"PO-Revision-Date: 2021-09-06 18:31\n"
"POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2021-09-14 15:24\n"
"Last-Translator: \n"
"Language-Team: Turkish\n"
"Language: tr_TR\n"
@@ -399,56 +399,61 @@ msgstr ""
msgid "Open"
msgstr ""
#: src/dialogs.js:217
#: src/dialogs.js:226
msgid "Title"
msgstr ""
#: src/dialogs.js:218
#: src/dialogs.js:227
msgid "Completed"
msgstr ""
#: src/dialogs.js:226
#: src/dialogs.js:235
msgid "Resume playback?"
msgstr ""
#: src/dialogs.js:280
#: src/dialogs.js:289
#, javascript-format
msgid "GTK version: %s"
msgstr ""
#: src/dialogs.js:281
#: src/dialogs.js:290
#, javascript-format
msgid "Adwaita version: %s"
msgstr ""
#: src/dialogs.js:282
#: src/dialogs.js:291
#, javascript-format
msgid "GStreamer version: %s"
msgstr ""
#: src/dialogs.js:283
#: src/dialogs.js:292
#, javascript-format
msgid "GJS version: %s"
msgstr ""
#: src/dialogs.js:291
#: src/dialogs.js:300
msgid "A GNOME media player powered by GStreamer"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/dialogs.js:305
msgid "translator-credits"
msgstr ""
#: src/revealers.js:170
#, javascript-format
msgid "Ends at: %s"
msgstr ""
#: src/widget.js:225 src/widget.js:234 src/widget.js:240 src/widget.js:246
#: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined"
msgstr ""
#: src/widget.js:241
#: src/widget.js:243
msgid "Channels"
msgstr ""
#: src/widget.js:259
#: src/widget.js:261
msgid "Disabled"
msgstr ""

View File

@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-06 20:22+0200\n"
"PO-Revision-Date: 2021-09-06 18:30\n"
"POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2021-09-14 15:24\n"
"Last-Translator: \n"
"Language-Team: Ukrainian\n"
"Language: uk_UA\n"
@@ -399,56 +399,61 @@ msgstr ""
msgid "Open"
msgstr ""
#: src/dialogs.js:217
#: src/dialogs.js:226
msgid "Title"
msgstr ""
#: src/dialogs.js:218
#: src/dialogs.js:227
msgid "Completed"
msgstr ""
#: src/dialogs.js:226
#: src/dialogs.js:235
msgid "Resume playback?"
msgstr ""
#: src/dialogs.js:280
#: src/dialogs.js:289
#, javascript-format
msgid "GTK version: %s"
msgstr ""
#: src/dialogs.js:281
#: src/dialogs.js:290
#, javascript-format
msgid "Adwaita version: %s"
msgstr ""
#: src/dialogs.js:282
#: src/dialogs.js:291
#, javascript-format
msgid "GStreamer version: %s"
msgstr ""
#: src/dialogs.js:283
#: src/dialogs.js:292
#, javascript-format
msgid "GJS version: %s"
msgstr ""
#: src/dialogs.js:291
#: src/dialogs.js:300
msgid "A GNOME media player powered by GStreamer"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/dialogs.js:305
msgid "translator-credits"
msgstr ""
#: src/revealers.js:170
#, javascript-format
msgid "Ends at: %s"
msgstr ""
#: src/widget.js:225 src/widget.js:234 src/widget.js:240 src/widget.js:246
#: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined"
msgstr ""
#: src/widget.js:241
#: src/widget.js:243
msgid "Channels"
msgstr ""
#: src/widget.js:259
#: src/widget.js:261
msgid "Disabled"
msgstr ""

View File

@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-06 20:22+0200\n"
"PO-Revision-Date: 2021-09-06 18:30\n"
"POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2021-09-14 15:24\n"
"Last-Translator: \n"
"Language-Team: Vietnamese\n"
"Language: vi_VN\n"
@@ -399,56 +399,61 @@ msgstr ""
msgid "Open"
msgstr ""
#: src/dialogs.js:217
#: src/dialogs.js:226
msgid "Title"
msgstr ""
#: src/dialogs.js:218
#: src/dialogs.js:227
msgid "Completed"
msgstr ""
#: src/dialogs.js:226
#: src/dialogs.js:235
msgid "Resume playback?"
msgstr ""
#: src/dialogs.js:280
#: src/dialogs.js:289
#, javascript-format
msgid "GTK version: %s"
msgstr ""
#: src/dialogs.js:281
#: src/dialogs.js:290
#, javascript-format
msgid "Adwaita version: %s"
msgstr ""
#: src/dialogs.js:282
#: src/dialogs.js:291
#, javascript-format
msgid "GStreamer version: %s"
msgstr ""
#: src/dialogs.js:283
#: src/dialogs.js:292
#, javascript-format
msgid "GJS version: %s"
msgstr ""
#: src/dialogs.js:291
#: src/dialogs.js:300
msgid "A GNOME media player powered by GStreamer"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/dialogs.js:305
msgid "translator-credits"
msgstr ""
#: src/revealers.js:170
#, javascript-format
msgid "Ends at: %s"
msgstr ""
#: src/widget.js:225 src/widget.js:234 src/widget.js:240 src/widget.js:246
#: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined"
msgstr ""
#: src/widget.js:241
#: src/widget.js:243
msgid "Channels"
msgstr ""
#: src/widget.js:259
#: src/widget.js:261
msgid "Disabled"
msgstr ""

View File

@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-06 20:22+0200\n"
"PO-Revision-Date: 2021-09-06 18:30\n"
"POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2021-09-24 14:11\n"
"Last-Translator: \n"
"Language-Team: Chinese Simplified\n"
"Language: zh_CN\n"
@@ -19,23 +19,23 @@ msgstr ""
#: ui/clapper.ui:6
msgid "Open Files..."
msgstr ""
msgstr "打开文件…"
#: ui/clapper.ui:10
msgid "Open URI..."
msgstr ""
msgstr "打开 URI…"
#: ui/clapper.ui:16 ui/preferences-window.ui:4
msgid "Preferences"
msgstr ""
msgstr "选项"
#: ui/clapper.ui:20
msgid "Shortcuts"
msgstr ""
msgstr "快捷键"
#: ui/clapper.ui:26
msgid "About Clapper"
msgstr ""
msgstr "关于 Claper"
#: ui/elapsed-time-button.ui:27
msgid "Speed"
@@ -44,7 +44,7 @@ msgstr ""
#: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:83
#: ui/preferences-window.ui:215
msgid "Normal"
msgstr ""
msgstr "一般"
#: ui/help-overlay.ui:10 ui/preferences-window.ui:12
msgid "General"
@@ -64,11 +64,11 @@ msgstr ""
#: ui/help-overlay.ui:26
msgid "Leave fullscreen"
msgstr ""
msgstr "离开全屏"
#: ui/help-overlay.ui:32
msgid "Reveal OSD (fullscreen only)"
msgstr ""
msgstr "显示 OSD仅全屏"
#: ui/help-overlay.ui:33
msgid "Tap"
@@ -76,27 +76,27 @@ msgstr ""
#: ui/help-overlay.ui:39
msgid "Quit"
msgstr ""
msgstr "退出"
#: ui/help-overlay.ui:47
msgid "Media"
msgstr ""
msgstr "媒体"
#: ui/help-overlay.ui:50
msgid "Open files"
msgstr ""
msgstr "打开文件"
#: ui/help-overlay.ui:56 src/dialogs.js:137
msgid "Open URI"
msgstr ""
msgstr "打开 URI"
#: ui/help-overlay.ui:64
msgid "Playlist"
msgstr ""
msgstr "播放列表"
#: ui/help-overlay.ui:67
msgid "Next item"
msgstr ""
msgstr "下一项"
#: ui/help-overlay.ui:68
msgid "Double tap (right side)"
@@ -104,7 +104,7 @@ msgstr ""
#: ui/help-overlay.ui:74
msgid "Previous item"
msgstr ""
msgstr "上一项"
#: ui/help-overlay.ui:75
msgid "Double tap (left side)"
@@ -132,7 +132,7 @@ msgstr ""
#: ui/help-overlay.ui:105
msgid "Seek forward"
msgstr ""
msgstr "快进"
#: ui/help-overlay.ui:106
msgid "Swipe right | Scroll right"
@@ -140,7 +140,7 @@ msgstr ""
#: ui/help-overlay.ui:112
msgid "Seek backward"
msgstr ""
msgstr "快退"
#: ui/help-overlay.ui:113
msgid "Swipe left | Scroll left"
@@ -176,7 +176,7 @@ msgstr ""
#: ui/preferences-plugin-ranking-subpage.ui:11
msgid "Decoders"
msgstr ""
msgstr "解码器"
#: ui/preferences-plugin-ranking-subpage.ui:18
msgid "Return to the preferences"
@@ -184,11 +184,11 @@ msgstr ""
#: ui/preferences-window.ui:16
msgid "Behavior"
msgstr ""
msgstr "行为"
#: ui/preferences-window.ui:19
msgid "Auto fullscreen"
msgstr ""
msgstr "自动全屏"
#: ui/preferences-window.ui:20
msgid "Enter fullscreen when playlist is replaced except floating mode"
@@ -204,7 +204,7 @@ msgstr ""
#: ui/preferences-window.ui:33
msgid "This option only works on GNOME"
msgstr ""
msgstr "此选项仅适用于 GNOME"
#: ui/preferences-window.ui:39
msgid "After playback"
@@ -224,11 +224,11 @@ msgstr ""
#: ui/preferences-window.ui:56
msgid "Volume"
msgstr ""
msgstr "音量"
#: ui/preferences-window.ui:59
msgid "Custom initial value"
msgstr ""
msgstr "自定义初始值"
#: ui/preferences-window.ui:60
msgid "Set custom volume at startup instead of restoring it"
@@ -236,7 +236,7 @@ msgstr ""
#: ui/preferences-window.ui:64
msgid "Volume percentage"
msgstr ""
msgstr "音量百分比"
#: ui/preferences-window.ui:75
msgid "Seeking"
@@ -244,39 +244,39 @@ msgstr ""
#: ui/preferences-window.ui:78
msgid "Mode"
msgstr ""
msgstr "模式"
#: ui/preferences-window.ui:84
msgid "Accurate"
msgstr ""
msgstr "精确"
#: ui/preferences-window.ui:85
msgid "Fast"
msgstr ""
msgstr "快速"
#: ui/preferences-window.ui:93
msgid "Unit"
msgstr ""
msgstr "单位"
#: ui/preferences-window.ui:98
msgid "Second"
msgstr ""
msgstr "秒钟"
#: ui/preferences-window.ui:99
msgid "Minute"
msgstr ""
msgstr "分钟"
#: ui/preferences-window.ui:100
msgid "Percentage"
msgstr ""
msgstr "百分比"
#: ui/preferences-window.ui:108
msgid "Value"
msgstr ""
msgstr ""
#: ui/preferences-window.ui:123
msgid "Audio"
msgstr ""
msgstr "音频"
#: ui/preferences-window.ui:126
msgid "Offset in milliseconds"
@@ -288,19 +288,19 @@ msgstr ""
#: ui/preferences-window.ui:141
msgid "Subtitles"
msgstr ""
msgstr "字幕"
#: ui/preferences-window.ui:144
msgid "Default font"
msgstr ""
msgstr "默认字体"
#: ui/preferences-window.ui:154
msgid "Network"
msgstr ""
msgstr "网络"
#: ui/preferences-window.ui:158
msgid "Client"
msgstr ""
msgstr "客户端"
#: ui/preferences-window.ui:161
msgid "Progressive download buffering"
@@ -312,11 +312,11 @@ msgstr ""
#: ui/preferences-window.ui:172
msgid "Control player remotely"
msgstr ""
msgstr "远程控制播放器"
#: ui/preferences-window.ui:176
msgid "Listening port"
msgstr ""
msgstr "监听端口"
#: ui/preferences-window.ui:183
msgid "Run web application in background"
@@ -340,19 +340,19 @@ msgstr ""
#: ui/preferences-window.ui:228
msgid "Tweaks"
msgstr ""
msgstr "微调"
#: ui/preferences-window.ui:232
msgid "Appearance"
msgstr ""
msgstr "界面"
#: ui/preferences-window.ui:235
msgid "Dark theme"
msgstr ""
msgstr "暗色主题"
#: ui/preferences-window.ui:241
msgid "Render window shadows"
msgstr ""
msgstr "渲染窗口阴影"
#: ui/preferences-window.ui:242
msgid "Disable to increase performance when windowed"
@@ -368,24 +368,24 @@ msgstr ""
#: ui/preferences-window.ui:259
msgid "Use playbin3"
msgstr ""
msgstr "使用 playbin3"
#: ui/preferences-window.ui:260 ui/preferences-window.ui:269
msgid "Requires player restart"
msgstr ""
msgstr "需要重启播放器"
#: ui/preferences-window.ui:262 ui/preferences-window.ui:271
msgid "Experimental"
msgstr ""
msgstr "实验性功能"
#: ui/preferences-window.ui:268
msgid "Use PipeWire for audio output"
msgstr ""
msgstr "使用 PipeWire 输出音频"
#: src/buttons.js:201
#, javascript-format
msgid "Decoder: %s"
msgstr ""
msgstr "解码器:%s"
#: src/dialogs.js:152
msgid "Enter or drop URI here"
@@ -393,62 +393,67 @@ msgstr ""
#: src/dialogs.js:157
msgid "Cancel"
msgstr ""
msgstr "取消"
#: src/dialogs.js:158
msgid "Open"
msgstr ""
#: src/dialogs.js:217
msgid "Title"
msgstr ""
#: src/dialogs.js:218
msgid "Completed"
msgstr ""
msgstr "打开"
#: src/dialogs.js:226
msgid "Resume playback?"
msgstr ""
msgid "Title"
msgstr "标题"
#: src/dialogs.js:280
#: src/dialogs.js:227
msgid "Completed"
msgstr "已播放"
#: src/dialogs.js:235
msgid "Resume playback?"
msgstr "继续播放?"
#: src/dialogs.js:289
#, javascript-format
msgid "GTK version: %s"
msgstr ""
msgstr "GTK 版本:%s"
#: src/dialogs.js:281
#: src/dialogs.js:290
#, javascript-format
msgid "Adwaita version: %s"
msgstr ""
#: src/dialogs.js:282
#, javascript-format
msgid "GStreamer version: %s"
msgstr ""
#: src/dialogs.js:283
#, javascript-format
msgid "GJS version: %s"
msgstr ""
msgstr "Adwaita 版本:%s"
#: src/dialogs.js:291
#, javascript-format
msgid "GStreamer version: %s"
msgstr "GStreamer 版本:%s"
#: src/dialogs.js:292
#, javascript-format
msgid "GJS version: %s"
msgstr "GJS 版本:%s"
#: src/dialogs.js:300
msgid "A GNOME media player powered by GStreamer"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/dialogs.js:305
msgid "translator-credits"
msgstr ""
#: src/revealers.js:170
#, javascript-format
msgid "Ends at: %s"
msgstr ""
#: src/widget.js:225 src/widget.js:234 src/widget.js:240 src/widget.js:246
#: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined"
msgstr ""
#: src/widget.js:241
#: src/widget.js:243
msgid "Channels"
msgstr ""
msgstr "声道"
#: src/widget.js:259
#: src/widget.js:261
msgid "Disabled"
msgstr ""

View File

@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-06 20:22+0200\n"
"PO-Revision-Date: 2021-09-06 18:30\n"
"POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2021-09-14 15:24\n"
"Last-Translator: \n"
"Language-Team: Chinese Traditional\n"
"Language: zh_TW\n"
@@ -399,56 +399,61 @@ msgstr ""
msgid "Open"
msgstr ""
#: src/dialogs.js:217
#: src/dialogs.js:226
msgid "Title"
msgstr ""
#: src/dialogs.js:218
#: src/dialogs.js:227
msgid "Completed"
msgstr ""
#: src/dialogs.js:226
#: src/dialogs.js:235
msgid "Resume playback?"
msgstr ""
#: src/dialogs.js:280
#: src/dialogs.js:289
#, javascript-format
msgid "GTK version: %s"
msgstr ""
#: src/dialogs.js:281
#: src/dialogs.js:290
#, javascript-format
msgid "Adwaita version: %s"
msgstr ""
#: src/dialogs.js:282
#: src/dialogs.js:291
#, javascript-format
msgid "GStreamer version: %s"
msgstr ""
#: src/dialogs.js:283
#: src/dialogs.js:292
#, javascript-format
msgid "GJS version: %s"
msgstr ""
#: src/dialogs.js:291
#: src/dialogs.js:300
msgid "A GNOME media player powered by GStreamer"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/dialogs.js:305
msgid "translator-credits"
msgstr ""
#: src/revealers.js:170
#, javascript-format
msgid "Ends at: %s"
msgstr ""
#: src/widget.js:225 src/widget.js:234 src/widget.js:240 src/widget.js:246
#: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined"
msgstr ""
#: src/widget.js:241
#: src/widget.js:243
msgid "Channels"
msgstr ""
#: src/widget.js:259
#: src/widget.js:261
msgid "Disabled"
msgstr ""

View File

@@ -18,13 +18,13 @@ var actions = {
prev_track: ['<Ctrl>Left'],
volume_up: ['Up'],
volume_down: ['Down'],
mute: ['<Ctrl>m'],
mute: ['<Ctrl>M', 'M'],
toggle_play: ['space'],
change_repeat: ['<Ctrl>r'],
change_repeat: ['<Ctrl>R'],
reveal_controls: ['Return'],
toggle_fullscreen: ['F11', 'f'],
toggle_fullscreen: ['F11', 'F'],
leave_fullscreen: ['Escape'],
quit: ['<Ctrl>q', 'q'],
quit: ['<Ctrl>Q', 'Q'],
};
function handleAction(action, window)

View File

@@ -1,151 +0,0 @@
/* Copyright (C) 2012-present by fent
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
const jsVarStr = '[a-zA-Z_\\$][a-zA-Z_0-9]*';
const jsSingleQuoteStr = `'[^'\\\\]*(:?\\\\[\\s\\S][^'\\\\]*)*'`;
const jsDoubleQuoteStr = `"[^"\\\\]*(:?\\\\[\\s\\S][^"\\\\]*)*"`;
const jsQuoteStr = `(?:${jsSingleQuoteStr}|${jsDoubleQuoteStr})`;
const jsKeyStr = `(?:${jsVarStr}|${jsQuoteStr})`;
const jsPropStr = `(?:\\.${jsVarStr}|\\[${jsQuoteStr}\\])`;
const jsEmptyStr = `(?:''|"")`;
const reverseStr = ':function\\(a\\)\\{' +
'(?:return )?a\\.reverse\\(\\)' +
'\\}';
const sliceStr = ':function\\(a,b\\)\\{' +
'return a\\.slice\\(b\\)' +
'\\}';
const spliceStr = ':function\\(a,b\\)\\{' +
'a\\.splice\\(0,b\\)' +
'\\}';
const swapStr = ':function\\(a,b\\)\\{' +
'var c=a\\[0\\];a\\[0\\]=a\\[b(?:%a\\.length)?\\];a\\[b(?:%a\\.length)?\\]=c(?:;return a)?' +
'\\}';
const actionsObjRegexp = new RegExp(
`var (${jsVarStr})=\\{((?:(?:${
jsKeyStr}${reverseStr}|${
jsKeyStr}${sliceStr}|${
jsKeyStr}${spliceStr}|${
jsKeyStr}${swapStr
}),?\\r?\\n?)+)\\};`);
const actionsFuncRegexp = new RegExp(`${`function(?: ${jsVarStr})?\\(a\\)\\{` +
`a=a\\.split\\(${jsEmptyStr}\\);\\s*` +
`((?:(?:a=)?${jsVarStr}`}${
jsPropStr
}\\(a,\\d+\\);)+)` +
`return a\\.join\\(${jsEmptyStr}\\)` +
`\\}`);
const reverseRegexp = new RegExp(`(?:^|,)(${jsKeyStr})${reverseStr}`, 'm');
const sliceRegexp = new RegExp(`(?:^|,)(${jsKeyStr})${sliceStr}`, 'm');
const spliceRegexp = new RegExp(`(?:^|,)(${jsKeyStr})${spliceStr}`, 'm');
const swapRegexp = new RegExp(`(?:^|,)(${jsKeyStr})${swapStr}`, 'm');
const swapHeadAndPosition = (arr, position) => {
const first = arr[0];
arr[0] = arr[position % arr.length];
arr[position] = first;
return arr;
}
function decipher(sig, tokens) {
sig = sig.split('');
tokens = tokens.split(',');
for(let i = 0, len = tokens.length; i < len; i++) {
let token = tokens[i], pos;
switch (token[0]) {
case 'r':
sig = sig.reverse();
break;
case 'w':
pos = ~~token.slice(1);
sig = swapHeadAndPosition(sig, pos);
break;
case 's':
pos = ~~token.slice(1);
sig = sig.slice(pos);
break;
case 'p':
pos = ~~token.slice(1);
sig.splice(0, pos);
break;
}
}
return sig.join('');
};
function extractActions(body) {
const objResult = actionsObjRegexp.exec(body);
const funcResult = actionsFuncRegexp.exec(body);
if(!objResult || !funcResult)
return null;
const obj = objResult[1].replace(/\$/g, '\\$');
const objBody = objResult[2].replace(/\$/g, '\\$');
const funcBody = funcResult[1].replace(/\$/g, '\\$');
let result = reverseRegexp.exec(objBody);
const reverseKey = result && result[1]
.replace(/\$/g, '\\$')
.replace(/\$|^'|^"|'$|"$/g, '');
result = sliceRegexp.exec(objBody);
const sliceKey = result && result[1]
.replace(/\$/g, '\\$')
.replace(/\$|^'|^"|'$|"$/g, '');
result = spliceRegexp.exec(objBody);
const spliceKey = result && result[1]
.replace(/\$/g, '\\$')
.replace(/\$|^'|^"|'$|"$/g, '');
result = swapRegexp.exec(objBody);
const swapKey = result && result[1]
.replace(/\$/g, '\\$')
.replace(/\$|^'|^"|'$|"$/g, '');
const keys = `(${[reverseKey, sliceKey, spliceKey, swapKey].join('|')})`;
const myreg = `(?:a=)?${obj
}(?:\\.${keys}|\\['${keys}'\\]|\\["${keys}"\\])` +
`\\(a,(\\d+)\\)`;
const tokenizeRegexp = new RegExp(myreg, 'g');
const tokens = [];
while((result = tokenizeRegexp.exec(funcBody)) !== null) {
const key = result[1] || result[2] || result[3];
const pos = result[4];
switch (key) {
case swapKey:
tokens.push(`w${result[4]}`);
break;
case reverseKey:
tokens.push('r');
break;
case sliceKey:
tokens.push(`s${result[4]}`);
break;
case spliceKey:
tokens.push(`p${result[4]}`);
break;
}
}
return tokens.join(',');
}

View File

@@ -14,22 +14,13 @@ const clapperDebugger = new Debug.Debugger('Clapper', {
}),
high_precision: true,
});
clapperDebugger.enabled = (
var enabled = (
clapperDebugger.enabled
|| G_DEBUG_ENV != null
&& G_DEBUG_ENV.includes('Clapper')
);
const ytDebugger = new Debug.Debugger('YouTube', {
name_printer: new Ink.Printer({
font: Ink.Font.BOLD,
color: Ink.Color.RED
}),
time_printer: new Ink.Printer({
color: Ink.Color.LIGHT_BLUE
}),
high_precision: true,
});
clapperDebugger.enabled = enabled;
function _logStructured(debuggerName, msg, level)
{
@@ -43,23 +34,12 @@ function _logStructured(debuggerName, msg, level)
function _debug(debuggerName, msg)
{
if(msg.message) {
_logStructured(
debuggerName,
msg.message,
_logStructured(debuggerName, msg.message,
GLib.LogLevelFlags.LEVEL_CRITICAL
);
return;
}
switch(debuggerName) {
case 'Clapper':
clapperDebugger.debug(msg);
break;
case 'YouTube':
ytDebugger.debug(msg);
break;
}
clapperDebugger.debug(msg);
}
function debug(msg)
@@ -67,12 +47,12 @@ function debug(msg)
_debug('Clapper', msg);
}
function ytDebug(msg)
{
_debug('YouTube', msg);
}
function warn(msg)
{
_logStructured('Clapper', msg, GLib.LogLevelFlags.LEVEL_WARNING);
}
function message(msg)
{
_logStructured('Clapper', msg, GLib.LogLevelFlags.LEVEL_MESSAGE);
}

View File

@@ -193,8 +193,17 @@ class ClapperUriDialog extends Gtk.Dialog
_readTextAsyncCb(clipboard, result)
{
const uri = clipboard.read_text_finish(result);
if(!uri || !Gst.uri_is_valid(uri)) return;
let uri = null;
try {
uri = clipboard.read_text_finish(result);
}
catch(err) {
debug(`could not read clipboard: ${err.message}`);
}
if(!uri || !Gst.uri_is_valid(uri))
return;
const contentBox = this.get_content_area();
const linkEntry = contentBox.get_last_child();
@@ -292,6 +301,8 @@ class ClapperAboutDialog extends Gtk.AboutDialog
version: pkg.version,
authors: ['Rafał Dzięgiel'],
artists: ['Rafał Dzięgiel'],
/* TRANSLATORS: Put your name(s) here for credits or leave untranslated */
translator_credits: _('translator-credits'),
license_type: Gtk.License.GPL_3_0,
logo_icon_name: 'com.github.rafostar.Clapper',
website: 'https://rafostar.github.io/clapper',

297
src/gtuber.js Normal file
View File

@@ -0,0 +1,297 @@
const { Gio, GstClapper } = imports.gi;
const Debug = imports.src.debug;
const Misc = imports.src.misc;
const FileOps = imports.src.fileOps;
const Gtuber = Misc.tryImport('Gtuber');
const { debug, warn } = Debug;
const { settings } = Misc;
const best = {
video: null,
audio: null,
video_audio: null,
};
const codecPairs = [];
const qualityType = {
0: 30, // normal
1: 60, // hfr
};
var isAvailable = (Gtuber != null);
var cancellable = null;
let client = null;
function resetBestStreams()
{
best.video = null;
best.audio = null;
best.video_audio = null;
}
function isStreamAllowed(stream, opts)
{
const vcodec = stream.video_codec;
const acodec = stream.audio_codec;
if(
vcodec
&& (!vcodec.startsWith(opts.vcodec)
|| (stream.height < 240 || stream.height > opts.height)
|| stream.fps > qualityType[opts.quality])
) {
return false;
}
if(
acodec
&& (!acodec.startsWith(opts.acodec))
) {
return false;
}
return (vcodec != null || acodec != null);
}
function updateBestStreams(streams, opts)
{
for(let stream of streams) {
if(!isStreamAllowed(stream, opts))
continue;
const type = (stream.video_codec && stream.audio_codec)
? 'video_audio'
: (stream.video_codec)
? 'video'
: 'audio';
if(!best[type] || best[type].bitrate < stream.bitrate)
best[type] = stream;
}
}
function _streamFilter(opts, stream)
{
switch(stream) {
case best.video:
return (best.audio != null || best.video_audio == null);
case best.audio:
return (best.video != null || best.video_audio == null);
case best.video_audio:
return (best.video == null || best.audio == null);
default:
return (opts.adaptive)
? isStreamAllowed(stream, opts)
: false;
}
}
function generateManifest(info, opts)
{
const gen = new Gtuber.ManifestGenerator({
pretty: Debug.enabled,
});
gen.set_media_info(info);
gen.set_filter_func(_streamFilter.bind(this, opts));
debug('trying to get manifest');
for(let pair of codecPairs) {
opts.vcodec = pair[0];
opts.acodec = pair[1];
/* Find best streams among adaptive ones */
if (!opts.adaptive)
updateBestStreams(info.get_adaptive_streams(), opts);
const data = gen.to_data();
/* Release our ref */
if (!opts.adaptive)
resetBestStreams();
if(data) {
debug('got manifest');
return data;
}
}
debug('manifest not generated');
return null;
}
function getBestCombinedUri(info, opts)
{
const streams = info.get_streams();
debug('searching for best combined URI');
for(let pair of codecPairs) {
opts.vcodec = pair[0];
opts.acodec = pair[1];
/* Find best non-adaptive stream */
updateBestStreams(streams, opts);
const bestUri = (best.video_audio)
? best.video_audio.get_uri()
: (best.audio)
? best.audio.get_uri()
: (best.video)
? best.video.get_uri()
: null;
/* Release our ref */
resetBestStreams();
if(bestUri) {
debug('got best possible URI');
return bestUri;
}
}
/* If still nothing find stream by height */
for(let stream of streams) {
const height = stream.get_height();
if(!height || height > opts.height)
continue;
if(!best.video_audio || best.video_audio.height < stream.height)
best.video_audio = stream;
}
const anyUri = (best.video_audio)
? best.video_audio.get_uri()
: null;
/* Release our ref */
resetBestStreams();
if (anyUri)
debug('got any URI');
return anyUri;
}
async function _parseMediaInfoAsync(info, player)
{
const resp = {
uri: null,
title: info.title,
};
const { root } = player.widget;
const surface = root.get_surface();
const monitor = root.display.get_monitor_at_surface(surface);
const opts = {
width: monitor.geometry.width * monitor.scale_factor,
height: monitor.geometry.height * monitor.scale_factor,
vcodec: null,
acodec: null,
quality: settings.get_int('yt-quality-type'),
adaptive: settings.get_boolean('yt-adaptive-enabled'),
};
if(info.has_adaptive_streams) {
const data = generateManifest(info, opts);
if(data) {
const manifestFile = await FileOps.saveFilePromise(
'tmp', null, 'manifest', data
).catch(debug);
if(!manifestFile)
throw new Error('Gtuber: no manifest file was generated');
resp.uri = manifestFile.get_uri();
return resp;
}
}
resp.uri = getBestCombinedUri(info, opts);
if(!resp.uri)
throw new Error("Gtuber: no compatible stream found");
return resp;
}
function _createClient(player)
{
client = new Gtuber.Client();
debug('created new gtuber client');
/* TODO: config based on what HW supports */
//codecPairs.push(['vp9', 'opus']);
codecPairs.push(['avc', 'mp4a']);
}
function mightHandleUri(uri)
{
const unsupported = [
'file', 'fd', 'dvd', 'cdda',
'dvb', 'v4l2', 'gs'
];
return !unsupported.includes(Misc.getUriProtocol(uri));
}
function cancelFetching()
{
if(cancellable && !cancellable.is_cancelled())
cancellable.cancel();
}
function parseUriPromise(uri, player)
{
return new Promise((resolve, reject) => {
if(!client) {
if(!isAvailable) {
debug('gtuber is not installed');
return resolve({ uri, title: null });
}
_createClient(player);
}
/* Stop to show reaction and restore internet bandwidth */
if(player.state !== GstClapper.ClapperState.STOPPED)
player.stop();
cancellable = new Gio.Cancellable();
debug('gtuber is fetching media info...');
client.fetch_media_info_async(uri, cancellable, (client, task) => {
cancellable = null;
let info = null;
try {
info = client.fetch_media_info_finish(task);
debug('gtuber successfully fetched media info');
}
catch(err) {
const taskCancellable = task.get_cancellable();
if(taskCancellable.is_cancelled())
return reject(err);
const gtuberNoPlugin = (
err.domain === Gtuber.ClientError.quark()
&& err.code === Gtuber.ClientError.NO_PLUGIN
);
if(!gtuberNoPlugin)
return reject(err);
warn(`Gtuber: ${err.message}, trying URI as is...`);
/* Allow handling URI as is via GStreamer plugins */
return resolve({ uri, title: null });
}
_parseMediaInfoAsync(info, player)
.then(resp => resolve(resp))
.catch(err => reject(err));
});
});
}

View File

@@ -1,6 +1,7 @@
imports.gi.versions.Gdk = '4.0';
imports.gi.versions.Gtk = '4.0';
imports.gi.versions.Soup = '2.4';
imports.gi.versions.Gtuber = '0.0';
pkg.initGettext();
pkg.initFormat();

View File

@@ -1,6 +1,7 @@
imports.gi.versions.Gdk = '4.0';
imports.gi.versions.Gtk = '4.0';
imports.gi.versions.Soup = '2.4';
imports.gi.versions.Gtuber = '0.0';
pkg.initGettext();

View File

@@ -1,7 +1,8 @@
const { Gio, GLib, Gdk, Gtk } = imports.gi;
const Debug = imports.src.debug;
const { debug } = Debug;
const { debug, message } = Debug;
const failedImports = [];
var appName = 'Clapper';
var appId = 'com.github.rafostar.Clapper';
@@ -28,6 +29,23 @@ const subsKeys = Object.keys(subsTitles);
let inhibitCookie;
function tryImport(libName)
{
let lib = null;
try {
lib = imports.gi[libName];
}
catch(err) {
if(!failedImports.includes(libName)) {
failedImports.push(libName);
message(err.message);
}
}
return lib;
}
function getResourceUri(path)
{
const res = `file://${pkg.pkgdatadir}/${path}`;
@@ -224,22 +242,3 @@ function getIsTouch(gesture)
return false;
}
}
function encodeHTML(text)
{
return text.replace(/&/g, '&amp;')
.replace(/</g, '&lt;')
.replace(/>/g, '&gt;')
.replace(/"/g, '&quot;')
.replace(/'/g, '&apos;');
}
function decodeURIPlus(uri)
{
return decodeURI(uri.replace(/\+/g, ' '));
}
function isHex(num)
{
return Boolean(num.match(/[0-9a-f]+$/i));
}

View File

@@ -2,7 +2,7 @@ const { Gdk, Gio, GObject, Gst, GstClapper, Gtk } = imports.gi;
const ByteArray = imports.byteArray;
const Debug = imports.src.debug;
const Misc = imports.src.misc;
const YouTube = imports.src.youtube;
const Gtuber = imports.src.gtuber;
const { PlaylistWidget } = imports.src.playlist;
const { WebApp } = imports.src.webApp;
@@ -45,7 +45,6 @@ class ClapperPlayer extends GstClapper.Clapper
this.webserver = null;
this.webapp = null;
this.ytClient = null;
this.playlistWidget = new PlaylistWidget();
this.seekDone = true;
@@ -142,24 +141,13 @@ class ClapperPlayer extends GstClapper.Clapper
set_uri(uri)
{
this.customVideoTitle = null;
Gtuber.cancelFetching();
if(Misc.getUriProtocol(uri) !== 'file') {
const [isYouTubeUri, videoId] = YouTube.checkYouTubeUri(uri);
if(!isYouTubeUri)
return super.set_uri(uri);
if(!this.ytClient)
this.ytClient = new YouTube.YouTubeClient();
const { root } = this.widget;
const surface = root.get_surface();
const monitor = root.display.get_monitor_at_surface(surface);
this.ytClient.getPlaybackDataAsync(videoId, monitor)
.then(data => {
this.customVideoTitle = data.title;
super.set_uri(data.uri);
if(Gtuber.mightHandleUri(uri)) {
Gtuber.parseUriPromise(uri, this)
.then(res => {
this.customVideoTitle = res.title;
super.set_uri(res.uri);
})
.catch(debug);

View File

@@ -1,6 +1,7 @@
const { Adw, GObject, Gio, Gst, Gtk } = imports.gi;
const Debug = imports.src.debug;
const Misc = imports.src.misc;
const Gtuber = imports.src.gtuber;
const { debug } = Debug;
const { settings } = Misc;
@@ -537,6 +538,7 @@ class ClapperPrefsPluginRankingSubpage extends Gtk.Box
var PrefsWindow = GObject.registerClass({
GTypeName: 'ClapperPrefsWindow',
Template: Misc.getResourceUri('ui/preferences-window.ui'),
InternalChildren: ['gtuber_group'],
},
class ClapperPrefsWindow extends Adw.PreferencesWindow
{
@@ -546,6 +548,7 @@ class ClapperPrefsWindow extends Adw.PreferencesWindow
transient_for: window,
});
this._gtuber_group.visible = Gtuber.isAvailable;
this.show();
}
});

View File

@@ -4,7 +4,6 @@ const Debug = imports.src.debug;
const Dialogs = imports.src.dialogs;
const Misc = imports.src.misc;
const { Player } = imports.src.player;
const YouTube = imports.src.youtube;
const Revealers = imports.src.revealers;
const { debug } = Debug;
@@ -738,6 +737,7 @@ class ClapperWidget extends Gtk.Grid
{
const clickGesture = new Gtk.GestureClick({
button: 0,
propagation_phase: Gtk.PropagationPhase.CAPTURE,
});
clickGesture.connect('pressed', this._onPressed.bind(this));
clickGesture.connect('released', this._onReleased.bind(this));
@@ -750,6 +750,7 @@ class ClapperWidget extends Gtk.Grid
const longPressGesture = new Gtk.GestureLongPress({
touch_only: true,
delay_factor: 0.9,
propagation_phase: Gtk.PropagationPhase.CAPTURE,
});
longPressGesture.connect('pressed', this._onLongPressed.bind(this));
@@ -758,7 +759,9 @@ class ClapperWidget extends Gtk.Grid
_getDragGesture()
{
const dragGesture = new Gtk.GestureDrag();
const dragGesture = new Gtk.GestureDrag({
propagation_phase: Gtk.PropagationPhase.CAPTURE,
});
dragGesture.connect('drag-update', this._onDragUpdate.bind(this));
return dragGesture;
@@ -768,6 +771,7 @@ class ClapperWidget extends Gtk.Grid
{
const swipeGesture = new Gtk.GestureSwipe({
touch_only: true,
propagation_phase: Gtk.PropagationPhase.CAPTURE,
});
swipeGesture.connect('swipe', this._onSwipe.bind(this));
swipeGesture.connect('update', this._onSwipeUpdate.bind(this));
@@ -798,12 +802,10 @@ class ClapperWidget extends Gtk.Grid
{
const dropTarget = new Gtk.DropTarget({
actions: Gdk.DragAction.COPY | Gdk.DragAction.MOVE,
preload: true,
});
dropTarget.set_gtypes([GObject.TYPE_STRING]);
dropTarget.connect('motion', this._onDataMotion.bind(this));
dropTarget.connect('drop', this._onDataDrop.bind(this));
dropTarget.connect('notify::value', this._onDropValueNotify.bind(this));
return dropTarget;
}
@@ -1004,36 +1006,6 @@ class ClapperWidget extends Gtk.Grid
this.posY = posY;
}
_onDropValueNotify(dropTarget)
{
if(!dropTarget.value)
return;
const uris = dropTarget.value.split(/\r?\n/);
const firstUri = uris[0];
if(uris.length > 1 || !Gst.uri_is_valid(firstUri))
return;
/* Check if user is dragging a YouTube link */
const [isYouTubeUri, videoId] = YouTube.checkYouTubeUri(firstUri);
if(!isYouTubeUri) return;
/* Since this is a YouTube video,
* create YT client if it was not created yet */
if(!this.player.ytClient)
this.player.ytClient = new YouTube.YouTubeClient();
const { ytClient } = this.player;
/* Speed up things by prefetching new video info before drop */
if(
!ytClient.compareLastVideoId(videoId)
&& ytClient.downloadingVideoId !== videoId
)
ytClient.getVideoInfoPromise(videoId).catch(debug);
}
_onDataMotion(dropTarget, x, y)
{
return Gdk.DragAction.MOVE;

File diff suppressed because it is too large Load Diff

View File

@@ -1,85 +0,0 @@
var QualityType = {
0: 'normal',
1: 'hfr',
};
const Itags = {
video: {
h264: {
normal: {
240: 133,
360: 134,
480: 135,
720: 136,
1080: 137,
},
hfr: {
720: 298,
1080: 299,
},
},
},
audio: {
aac: [140],
opus: [249, 250, 251],
},
combined: {
360: 18,
720: 22,
},
hls: {
240: 92,
360: 93,
480: 94,
720: 95,
1080: 96,
}
};
function _appendItagArray(arr, opts, formats)
{
const keys = Object.keys(formats);
for(let fmt of keys) {
arr.push(formats[fmt]);
if(
fmt >= opts.height
|| Math.floor(fmt * 16 / 9) >= opts.width
)
break;
}
return arr;
}
function getDashItags(opts)
{
const allowed = {
video: [],
audio: (opts.codec === 'h264')
? Itags.audio.aac
: Itags.audio.opus
};
const types = Object.keys(Itags.video[opts.codec]);
for(let type of types) {
const formats = Itags.video[opts.codec][type];
_appendItagArray(allowed.video, opts, formats);
if(type === opts.type)
break;
}
return allowed;
}
function getCombinedItags(opts)
{
return _appendItagArray([], opts, Itags.combined);
}
function getHLSItags(opts)
{
return _appendItagArray([], opts, Itags.hls);
}

View File

@@ -131,7 +131,7 @@
<child>
<object class="GtkShortcutsShortcut">
<property name="title" translatable="yes">Toggle mute</property>
<property name="accelerator">&lt;Ctrl&gt;M</property>
<property name="accelerator">&lt;Ctrl&gt;M M</property>
</object>
</child>
<child>

View File

@@ -197,8 +197,8 @@
</object>
</child>
<child>
<object class="AdwPreferencesGroup">
<property name="title" translatable="no">YouTube</property>
<object class="AdwPreferencesGroup" id="gtuber_group">
<property name="title" translatable="no">Gtuber</property>
<child>
<object class="ClapperPrefsSwitch">
<property name="title" translatable="yes">Prefer adaptive streaming</property>