1 Commits

Author SHA1 Message Date
Rafał Dzięgiel
6f4cd930af WIP: plugin: Add VA memory GL-based importer 2022-05-07 13:47:23 +02:00
78 changed files with 3742 additions and 3244 deletions

View File

@@ -9,41 +9,6 @@ scrolledwindow scrollbar.vertical slider {
min-height: 16px; min-height: 16px;
} }
/* Consistent scales color */
scale trough highlight {
color: @accent_fg_color;
background-color: @accent_bg_color;
}
/* Consistent radio buttons color */
.osd radio {
color: @accent_fg_color;
background-color: transparent;
background-image: none;
}
.osd radio:hover,
.osd radio:checked {
background-image: image(rgba(255,255,255,0.1));
}
.osd radio:active {
background-image: image(rgba(255,255,255,0.3));
}
/* Adwaita OSD background color is unacceptable:
* https://gitlab.gnome.org/GNOME/libadwaita/-/issues/454 */
box.osd,
.osd popover contents,
.osd popover arrow,
.osdheaderbar button {
background-color: rgba(38,38,38,0.78);
}
.osdheaderbar button:hover,
.osdheaderbar button:checked {
background-color: rgba(63,63,63,0.78);
}
.osdheaderbar button:active {
background-color: rgba(82,82,82,0.78);
}
/* Adwaita is missing osd ListBox */ /* Adwaita is missing osd ListBox */
.clapperplaylist { .clapperplaylist {
background: none; background: none;
@@ -94,8 +59,6 @@ popover contents {
} }
.popoverseparator separator { .popoverseparator separator {
background-color: @insensitive_fg_color; background-color: @insensitive_fg_color;
margin-left: 3px;
margin-right: 3px;
} }
/* Rounded corners */ /* Rounded corners */
@@ -166,9 +129,8 @@ scale trough slider {
margin-left: 0px; margin-left: 0px;
margin-right: 4px; margin-right: 4px;
border: 2px solid; border: 2px solid;
min-width: 16px; min-width: 17px;
min-height: 16px; min-height: 17px;
box-shadow: none;
} }
/* Also affects popover buttons */ /* Also affects popover buttons */
@@ -298,8 +260,7 @@ scale trough slider {
min-width: 6px; min-width: 6px;
} }
.overamp trough highlight { .overamp trough highlight {
color: @error_fg_color; background: @error_color;
background-color: @error_bg_color;
} }
/* Elapsed Popover */ /* Elapsed Popover */
@@ -362,7 +323,7 @@ scale trough slider {
border: none; border: none;
} }
.controlsbox { .controlsbox {
background: @popover_bg_color; background: @theme_bg_color;
} }
.gpufriendly { .gpufriendly {
box-shadow: -8px -8px transparent, 8px 8px transparent; box-shadow: -8px -8px transparent, 8px 8px transparent;

View File

@@ -6,8 +6,6 @@ Categories=GTK;GNOME;AudioVideo;Player;Video;TV;
MimeType=application/claps;application/mpeg4-iod;application/mpeg4-muxcodetable;application/mxf;application/ogg;application/ram;application/sdp;application/streamingmedia;application/vnd.apple.mpegurl;application/vnd.ms-asf;application/vnd.rn-realmedia;application/vnd.rn-realmedia-vbr;application/x-extension-m4a;application/x-extension-mp4;application/x-flac;application/x-flash-video;application/x-matroska;application/x-ogg;application/x-streamingmedia;audio/3gpp;audio/3gpp2;audio/aac;audio/ac3;audio/amr;audio/amr-wb;audio/basic;audio/dv;audio/eac3;audio/flac;audio/m4a;audio/midi;audio/mp1;audio/mp2;audio/mp3;audio/mp4;audio/mpeg;audio/mpegurl;audio/mpg;audio/ogg;audio/opus;audio/scpls;audio/vnd.dolby.heaac.1;audio/vnd.dolby.heaac.2;audio/vnd.dolby.mlp;audio/vnd.dts;audio/vnd.dts.hd;audio/vnd.rn-realaudio;audio/wav;audio/webm;audio/x-aac;audio/x-aiff;audio/x-ape;audio/x-flac;audio/x-gsm;audio/x-it;audio/x-m4a;audio/x-matroska;audio/x-mod;audio/x-mp1;audio/x-mp2;audio/x-mp3;audio/x-mpeg;audio/x-mpegurl;audio/x-mpg;audio/x-ms-asf;audio/x-ms-wma;audio/x-musepack;audio/x-pn-aiff;audio/x-pn-au;audio/x-pn-realaudio;audio/x-pn-wav;audio/x-real-audio;audio/x-realaudio;audio/x-s3m;audio/x-scpls;audio/x-shorten;audio/x-speex;audio/x-tta;audio/x-vorbis;audio/x-vorbis+ogg;audio/x-wav;audio/x-wavpack;audio/x-xm;video/3gp;video/3gpp;video/3gpp2;video/divx;video/dv;video/fli;video/flv;video/mp2t;video/mp4;video/mp4v-es;video/mpeg;video/mpeg-system;video/msvideo;video/ogg;video/quicktime;video/vnd.mpegurl;video/vnd.rn-realvideo;video/webm;video/x-avi;video/x-flc;video/x-fli;video/x-flv;video/x-m4v;video/x-matroska;video/x-mpeg;video/x-mpeg-system;video/x-mpeg2;video/x-ms-asf;video/x-ms-wm;video/x-ms-wmv;video/x-ms-wmx;video/x-msvideo;video/x-nsv;video/x-ogm+ogg;video/x-theora;video/x-theora+ogg;x-content/audio-cdda;x-content/audio-player;x-content/video-dvd;x-scheme-handler/mms;x-scheme-handler/mmsh;x-scheme-handler/rtmp;x-scheme-handler/rtp;x-scheme-handler/rtsp; MimeType=application/claps;application/mpeg4-iod;application/mpeg4-muxcodetable;application/mxf;application/ogg;application/ram;application/sdp;application/streamingmedia;application/vnd.apple.mpegurl;application/vnd.ms-asf;application/vnd.rn-realmedia;application/vnd.rn-realmedia-vbr;application/x-extension-m4a;application/x-extension-mp4;application/x-flac;application/x-flash-video;application/x-matroska;application/x-ogg;application/x-streamingmedia;audio/3gpp;audio/3gpp2;audio/aac;audio/ac3;audio/amr;audio/amr-wb;audio/basic;audio/dv;audio/eac3;audio/flac;audio/m4a;audio/midi;audio/mp1;audio/mp2;audio/mp3;audio/mp4;audio/mpeg;audio/mpegurl;audio/mpg;audio/ogg;audio/opus;audio/scpls;audio/vnd.dolby.heaac.1;audio/vnd.dolby.heaac.2;audio/vnd.dolby.mlp;audio/vnd.dts;audio/vnd.dts.hd;audio/vnd.rn-realaudio;audio/wav;audio/webm;audio/x-aac;audio/x-aiff;audio/x-ape;audio/x-flac;audio/x-gsm;audio/x-it;audio/x-m4a;audio/x-matroska;audio/x-mod;audio/x-mp1;audio/x-mp2;audio/x-mp3;audio/x-mpeg;audio/x-mpegurl;audio/x-mpg;audio/x-ms-asf;audio/x-ms-wma;audio/x-musepack;audio/x-pn-aiff;audio/x-pn-au;audio/x-pn-realaudio;audio/x-pn-wav;audio/x-real-audio;audio/x-realaudio;audio/x-s3m;audio/x-scpls;audio/x-shorten;audio/x-speex;audio/x-tta;audio/x-vorbis;audio/x-vorbis+ogg;audio/x-wav;audio/x-wavpack;audio/x-xm;video/3gp;video/3gpp;video/3gpp2;video/divx;video/dv;video/fli;video/flv;video/mp2t;video/mp4;video/mp4v-es;video/mpeg;video/mpeg-system;video/msvideo;video/ogg;video/quicktime;video/vnd.mpegurl;video/vnd.rn-realvideo;video/webm;video/x-avi;video/x-flc;video/x-fli;video/x-flv;video/x-m4v;video/x-matroska;video/x-mpeg;video/x-mpeg-system;video/x-mpeg2;video/x-ms-asf;video/x-ms-wm;video/x-ms-wmv;video/x-ms-wmx;video/x-msvideo;video/x-nsv;video/x-ogm+ogg;video/x-theora;video/x-theora+ogg;x-content/audio-cdda;x-content/audio-player;x-content/video-dvd;x-scheme-handler/mms;x-scheme-handler/mmsh;x-scheme-handler/rtmp;x-scheme-handler/rtp;x-scheme-handler/rtsp;
Exec=com.github.rafostar.Clapper %U Exec=com.github.rafostar.Clapper %U
Icon=com.github.rafostar.Clapper Icon=com.github.rafostar.Clapper
DBusActivatable=true
StartupNotify=true
Terminal=false Terminal=false
Type=Application Type=Application
# Translators: Search terms to find this application. Do NOT translate the semicolons! # Translators: Search terms to find this application. Do NOT translate the semicolons!

View File

@@ -33,7 +33,7 @@
<summary>Unit ID to use with seeking value</summary> <summary>Unit ID to use with seeking value</summary>
</key> </key>
<key name="resume-enabled" type="b"> <key name="resume-enabled" type="b">
<default>false</default> <default>true</default>
<summary>Ask to resume unfinished video</summary> <summary>Ask to resume unfinished video</summary>
</key> </key>
<key name="resume-database" type="s"> <key name="resume-database" type="s">
@@ -66,6 +66,14 @@
<default>6446</default> <default>6446</default>
<summary>Listening port to use for incoming WebSocket connections</summary> <summary>Listening port to use for incoming WebSocket connections</summary>
</key> </key>
<key name="webapp-enabled" type="b">
<default>false</default>
<summary>Run built-in broadway based web application</summary>
</key>
<key name="webapp-port" type="i">
<default>8086</default>
<summary>Port for running broadwayd service</summary>
</key>
<!-- Tweaks --> <!-- Tweaks -->
<key name="dark-theme" type="b"> <key name="dark-theme" type="b">
@@ -91,7 +99,7 @@
<summary>Use PipeWire for audio output</summary> <summary>Use PipeWire for audio output</summary>
</key> </key>
<key name="play-flags" type="i"> <key name="play-flags" type="i">
<default>1559</default> <default>1687</default>
<summary>Set PlayFlags for playbin</summary> <summary>Set PlayFlags for playbin</summary>
</key> </key>

View File

@@ -48,48 +48,6 @@
</screenshot> </screenshot>
</screenshots> </screenshots>
<releases> <releases>
<release version="0.5.2" date="2022-06-24">
<description>
<p>Fixes:</p>
<ul>
<li>Fix time labels display on RTL languages</li>
<li>Improved GL/GLES context automatic selection</li>
</ul>
<p>New translations:</p>
<ul>
<li>Hebrew</li>
</ul>
</description>
</release>
<release version="0.5.1" date="2022-05-29">
<description>
<p>
A quick hotfix release. Fixes problems with new video sink on displays with non-100% scaling applied.
See 0.5.0 version release notes for full recent changelog.
</p>
</description>
</release>
<release version="0.5.0" date="2022-05-28">
<description>
<p>Changes:</p>
<ul>
<li>Includes and uses new, improved GStreamer video sink</li>
<li>All networking ported to libsoup3</li>
<li>A lot of cleanup, including removal of unfinished web application and old YT code</li>
<li>App now supports D-Bus launching (DBusActivatable)</li>
<li>Other small fixes</li>
</ul>
<p>New translations:</p>
<ul>
<li>Arabic</li>
<li>Basque</li>
<li>French</li>
<li>Japanese</li>
<li>Swedish</li>
<li>Turkish</li>
</ul>
</description>
</release>
<release version="0.4.1" date="2021-12-20"> <release version="0.4.1" date="2021-12-20">
<description> <description>
<p>Fixes:</p> <p>Fixes:</p>

View File

@@ -1,3 +0,0 @@
[D-BUS Service]
Name=@app_id@
Exec=@bindir@/@app_id@ --gapplication-service

View File

@@ -32,15 +32,3 @@ gnome.compile_resources('com.github.rafostar.Clapper.data',
install: true, install: true,
install_dir: pkgdatadir, install_dir: pkgdatadir,
) )
dbus_conf = configuration_data()
dbus_conf.set('app_id', meson.project_name())
dbus_conf.set('bindir', bindir)
configure_file(
input: 'com.github.rafostar.Clapper.service.in',
output: 'com.github.rafostar.Clapper.service',
configuration: dbus_conf,
install: true,
install_dir: join_paths(datadir, 'dbus-1', 'services'),
)

View File

@@ -2189,7 +2189,7 @@ gst_clapper_subtitle_info_update (GstClapper * self,
g_object_get (G_OBJECT (self->playbin), "current-suburi", &suburi, NULL); g_object_get (G_OBJECT (self->playbin), "current-suburi", &suburi, NULL);
if (suburi) { if (suburi) {
if (self->use_playbin3) { if (self->use_playbin3) {
if (!g_strcmp0 (self->subtitle_sid, stream_info->stream_id)) if (g_str_equal (self->subtitle_sid, stream_info->stream_id))
info->language = g_path_get_basename (suburi); info->language = g_path_get_basename (suburi);
} else { } else {
g_object_get (G_OBJECT (self->playbin), "current-text", &text_index, g_object_get (G_OBJECT (self->playbin), "current-text", &text_index,
@@ -2387,7 +2387,7 @@ gst_clapper_stream_info_find_from_stream_id (GstClapperMediaInfo * media_info,
list = gst_clapper_media_info_get_stream_list (media_info); list = gst_clapper_media_info_get_stream_list (media_info);
for (l = list; l != NULL; l = l->next) { for (l = list; l != NULL; l = l->next) {
info = (GstClapperStreamInfo *) l->data; info = (GstClapperStreamInfo *) l->data;
if (!g_strcmp0 (info->stream_id, stream_id)) { if (g_str_equal (info->stream_id, stream_id)) {
return info; return info;
} }
} }
@@ -3550,23 +3550,19 @@ gst_clapper_prepare_gstreamer (void)
GST_DEBUG ("Preparing GStreamer plugins"); GST_DEBUG ("Preparing GStreamer plugins");
/* Too many problems with VAAPI decodebin, meanwhile VA works
* fine and there is already a pending MR on GStreamer to enable
* it by default, so we do that a little early */
if (gst_clapper_has_plugin_with_features ("va")) { if (gst_clapper_has_plugin_with_features ("va")) {
gst_clapper_set_feature_rank ("vampeg2dec", rank); gst_clapper_set_feature_rank_versioned ("vah264dec", rank, 1, 19, 1);
gst_clapper_set_feature_rank ("vah264dec", rank); gst_clapper_set_feature_rank_versioned ("vampeg2dec", rank, 1, 19, 1);
gst_clapper_set_feature_rank ("vah265dec", rank);
gst_clapper_set_feature_rank ("vavp8dec", rank);
gst_clapper_set_feature_rank ("vavp9dec", rank);
gst_clapper_set_feature_rank ("vaav1dec", rank);
} }
/* We do promise working HW accel out of box, so enable NVDEC too */
if (gst_clapper_has_plugin_with_features ("nvcodec")) { if (gst_clapper_has_plugin_with_features ("nvcodec")) {
gst_clapper_set_feature_rank ("nvh264dec", rank + 4); gst_clapper_set_feature_rank ("nvh264dec", rank + 4);
gst_clapper_set_feature_rank ("nvh265dec", rank + 4); gst_clapper_set_feature_rank ("nvh265dec", rank + 4);
gst_clapper_set_feature_rank ("nvvp8dec", rank + 4); }
gst_clapper_set_feature_rank ("nvvp9dec", rank + 4); if (gst_clapper_has_plugin_with_features ("v4l2codecs")) {
if (!gst_clapper_set_feature_rank_versioned ("v4l2slh264dec", rank + 10, 1, 19, 1))
gst_clapper_set_feature_rank ("v4l2slh264dec", GST_RANK_NONE);
if (!gst_clapper_set_feature_rank_versioned ("v4l2slvp8dec", rank + 10, 1, 19, 2))
gst_clapper_set_feature_rank ("v4l2slvp8dec", GST_RANK_NONE);
} }
/* After setting defaults, update them from ENV */ /* After setting defaults, update them from ENV */

View File

@@ -43,10 +43,6 @@ if not gtk4_dep.version().version_compare('>=4.0.0')
error('GTK4 version on this system is too old') error('GTK4 version on this system is too old')
endif endif
if not gir.found()
error('Cannot build lib without GIR support')
endif
if gst_gl_have_window_x11 and (gst_gl_have_platform_egl or gst_gl_have_platform_glx) if gst_gl_have_window_x11 and (gst_gl_have_platform_egl or gst_gl_have_platform_glx)
gtk_x11_dep = dependency('gtk4-x11', required: false) gtk_x11_dep = dependency('gtk4-x11', required: false)
if gtk_x11_dep.found() if gtk_x11_dep.found()
@@ -80,18 +76,6 @@ gstclapper_mpris_gdbus = gnome.gdbus_codegen('gstclapper-mpris-gdbus',
namespace: 'GstClapperMpris' namespace: 'GstClapperMpris'
) )
gstclapper_deps = [
gtk4_dep, glib_dep, gio_dep,
gstbase_dep, gstvideo_dep, gstaudio_dep,
gsttag_dep, gstpbutils_dep, libm
] + gtk_deps
if os_unix
gstclapper_deps += giounix_dep
else
gstclapper_deps += giowin_dep
endif
gstclapper = library('gstclapper-' + api_version, gstclapper = library('gstclapper-' + api_version,
gstclapper_sources + gstclapper_mpris_gdbus, gstclapper_sources + gstclapper_mpris_gdbus,
c_args: gstclapper_defines, c_args: gstclapper_defines,
@@ -100,7 +84,9 @@ gstclapper = library('gstclapper-' + api_version,
version: libversion, version: libversion,
install: true, install: true,
install_dir: pkglibdir, install_dir: pkglibdir,
dependencies: gstclapper_deps, dependencies: [gtk4_dep, glib_dep, gio_dep, giounix_dep,
gstbase_dep, gstvideo_dep, gstaudio_dep,
gsttag_dep, gstpbutils_dep, libm] + gtk_deps,
) )
clapper_gir = gnome.generate_gir(gstclapper, clapper_gir = gnome.generate_gir(gstclapper,

4
lib/gst/meson.build vendored
View File

@@ -2,4 +2,6 @@ if get_option('lib')
subdir('clapper') subdir('clapper')
endif endif
subdir('plugin') if not get_option('gst-plugin').disabled()
subdir('plugin')
endif

View File

@@ -119,8 +119,6 @@ gst_clapper_importer_finalize (GObject *object)
GST_TRACE ("Finalize"); GST_TRACE ("Finalize");
gst_clear_caps (&self->pending_caps);
gst_clear_buffer (&self->pending_buffer); gst_clear_buffer (&self->pending_buffer);
gst_clear_buffer (&self->buffer); gst_clear_buffer (&self->buffer);
@@ -248,9 +246,6 @@ gst_clapper_importer_prepare_overlays_locked (GstClapperImporter *self)
if ((v_meta = gst_buffer_get_video_meta (comp_buffer))) { if ((v_meta = gst_buffer_get_video_meta (comp_buffer))) {
gst_video_info_set_format (&v_info, v_meta->format, v_meta->width, v_meta->height); gst_video_info_set_format (&v_info, v_meta->format, v_meta->width, v_meta->height);
v_info.stride[0] = v_meta->stride[0]; v_info.stride[0] = v_meta->stride[0];
if (alpha_flags & GST_VIDEO_OVERLAY_FORMAT_FLAG_PREMULTIPLIED_ALPHA)
v_info.flags |= GST_VIDEO_FLAG_PREMULTIPLIED_ALPHA;
} }
if (G_UNLIKELY (!gst_video_frame_map (&comp_frame, &v_info, comp_buffer, GST_MAP_READ))) if (G_UNLIKELY (!gst_video_frame_map (&comp_frame, &v_info, comp_buffer, GST_MAP_READ)))
@@ -325,7 +320,7 @@ gst_clapper_importer_set_caps (GstClapperImporter *self, GstCaps *caps)
GstClapperImporterClass *importer_class = GST_CLAPPER_IMPORTER_GET_CLASS (self); GstClapperImporterClass *importer_class = GST_CLAPPER_IMPORTER_GET_CLASS (self);
GST_OBJECT_LOCK (self); GST_OBJECT_LOCK (self);
gst_caps_replace (&self->pending_caps, caps); self->has_pending_v_info = gst_video_info_from_caps (&self->pending_v_info, caps);
GST_OBJECT_UNLOCK (self); GST_OBJECT_UNLOCK (self);
if (importer_class->set_caps) if (importer_class->set_caps)
@@ -335,14 +330,10 @@ gst_clapper_importer_set_caps (GstClapperImporter *self, GstCaps *caps)
void void
gst_clapper_importer_set_buffer (GstClapperImporter *self, GstBuffer *buffer) gst_clapper_importer_set_buffer (GstClapperImporter *self, GstBuffer *buffer)
{ {
/* Both overlays and pending buffer must be
* set within a single importer locking */
GST_OBJECT_LOCK (self); GST_OBJECT_LOCK (self);
/* Pending v_info, buffer and overlays must be
* set within a single importer locking */
if (self->pending_caps) {
self->has_pending_v_info = gst_video_info_from_caps (&self->pending_v_info, self->pending_caps);
gst_clear_caps (&self->pending_caps);
}
gst_buffer_replace (&self->pending_buffer, buffer); gst_buffer_replace (&self->pending_buffer, buffer);
gst_clapper_importer_prepare_overlays_locked (self); gst_clapper_importer_prepare_overlays_locked (self);
@@ -380,7 +371,7 @@ gst_clapper_importer_handle_context_query (GstClapperImporter *self,
void void
gst_clapper_importer_snapshot (GstClapperImporter *self, GdkSnapshot *snapshot, gst_clapper_importer_snapshot (GstClapperImporter *self, GdkSnapshot *snapshot,
gdouble width, gdouble height) gdouble width, gdouble height, gfloat scale_x, gfloat scale_y)
{ {
guint i; guint i;
gboolean buffer_changed; gboolean buffer_changed;
@@ -389,13 +380,15 @@ gst_clapper_importer_snapshot (GstClapperImporter *self, GdkSnapshot *snapshot,
* lock ourselves to make sure everything matches */ * lock ourselves to make sure everything matches */
GST_OBJECT_LOCK (self); GST_OBJECT_LOCK (self);
if (self->has_pending_v_info) { buffer_changed = gst_buffer_replace (&self->buffer, self->pending_buffer);
/* Only replace v_info when buffer changed, this way
* we still use old (correct) v_info when resizing */
if (buffer_changed && self->has_pending_v_info) {
self->v_info = self->pending_v_info; self->v_info = self->pending_v_info;
self->has_pending_v_info = FALSE; self->has_pending_v_info = FALSE;
} }
buffer_changed = gst_buffer_replace (&self->buffer, self->pending_buffer);
/* Ref overlays associated with current buffer */ /* Ref overlays associated with current buffer */
for (i = 0; i < self->pending_overlays->len; i++) { for (i = 0; i < self->pending_overlays->len; i++) {
GstClapperGdkOverlay *overlay = g_ptr_array_index (self->pending_overlays, i); GstClapperGdkOverlay *overlay = g_ptr_array_index (self->pending_overlays, i);
@@ -424,21 +417,12 @@ gst_clapper_importer_snapshot (GstClapperImporter *self, GdkSnapshot *snapshot,
if (G_LIKELY (self->texture)) { if (G_LIKELY (self->texture)) {
gtk_snapshot_append_texture (snapshot, self->texture, &GRAPHENE_RECT_INIT (0, 0, width, height)); gtk_snapshot_append_texture (snapshot, self->texture, &GRAPHENE_RECT_INIT (0, 0, width, height));
if (self->overlays->len > 0) { for (i = 0; i < self->overlays->len; i++) {
gfloat scale_x, scale_y; GstClapperGdkOverlay *overlay = g_ptr_array_index (self->overlays, i);
/* FIXME: GStreamer scales subtitles without considering pixel aspect ratio. gtk_snapshot_append_texture (snapshot, overlay->texture,
* See: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/20 */ &GRAPHENE_RECT_INIT (overlay->x * scale_x, overlay->y * scale_y,
scale_x = (gfloat) width / GST_VIDEO_INFO_WIDTH (&self->v_info); overlay->width * scale_x, overlay->height * scale_y));
scale_y = (gfloat) height / GST_VIDEO_INFO_HEIGHT (&self->v_info);
for (i = 0; i < self->overlays->len; i++) {
GstClapperGdkOverlay *overlay = g_ptr_array_index (self->overlays, i);
gtk_snapshot_append_texture (snapshot, overlay->texture,
&GRAPHENE_RECT_INIT (overlay->x * scale_x, overlay->y * scale_y,
overlay->width * scale_x, overlay->height * scale_y));
}
} }
} else { } else {
GST_ERROR_OBJECT (self, "Failed import of %" GST_PTR_FORMAT, self->buffer); GST_ERROR_OBJECT (self, "Failed import of %" GST_PTR_FORMAT, self->buffer);

View File

@@ -36,8 +36,7 @@ G_BEGIN_DECLS
#define GST_CLAPPER_IMPORTER_DEFINE(camel,lower,type) \ #define GST_CLAPPER_IMPORTER_DEFINE(camel,lower,type) \
G_DEFINE_TYPE (camel, lower, type) \ G_DEFINE_TYPE (camel, lower, type) \
G_MODULE_EXPORT GstClapperImporter *make_importer (void); \ G_MODULE_EXPORT GstClapperImporter *make_importer (void); \
G_MODULE_EXPORT GstCaps *make_caps (gboolean is_template, \ G_MODULE_EXPORT GstCaps *make_caps (GstRank *rank, GStrv *context_types);
GstRank *rank, GStrv *context_types);
typedef struct _GstClapperImporter GstClapperImporter; typedef struct _GstClapperImporter GstClapperImporter;
typedef struct _GstClapperImporterClass GstClapperImporterClass; typedef struct _GstClapperImporterClass GstClapperImporterClass;
@@ -50,7 +49,6 @@ struct _GstClapperImporter
{ {
GstObject parent; GstObject parent;
GstCaps *pending_caps;
GstBuffer *pending_buffer, *buffer; GstBuffer *pending_buffer, *buffer;
GPtrArray *pending_overlays, *overlays; GPtrArray *pending_overlays, *overlays;
GstVideoInfo pending_v_info, v_info; GstVideoInfo pending_v_info, v_info;
@@ -99,6 +97,6 @@ void gst_clapper_importer_add_allocation_metas (GstClapperImporter
void gst_clapper_importer_set_caps (GstClapperImporter *importer, GstCaps *caps); void gst_clapper_importer_set_caps (GstClapperImporter *importer, GstCaps *caps);
void gst_clapper_importer_set_buffer (GstClapperImporter *importer, GstBuffer *buffer); void gst_clapper_importer_set_buffer (GstClapperImporter *importer, GstBuffer *buffer);
void gst_clapper_importer_snapshot (GstClapperImporter *importer, GdkSnapshot *snapshot, gdouble width, gdouble height); void gst_clapper_importer_snapshot (GstClapperImporter *importer, GdkSnapshot *snapshot, gdouble width, gdouble height, gfloat scale_x, gfloat scale_y);
G_END_DECLS G_END_DECLS

View File

@@ -29,15 +29,13 @@
#define GST_CAT_DEFAULT gst_clapper_importer_loader_debug #define GST_CAT_DEFAULT gst_clapper_importer_loader_debug
GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT); GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
#define parent_class gst_clapper_importer_loader_parent_class
G_DEFINE_TYPE (GstClapperImporterLoader, gst_clapper_importer_loader, GST_TYPE_OBJECT);
typedef GstClapperImporter* (* MakeImporter) (void); typedef GstClapperImporter* (* MakeImporter) (void);
typedef GstCaps* (* MakeCaps) (gboolean is_template, GstRank *rank, GStrv *context_types); typedef GstCaps* (* MakeCaps) (GstRank *rank, GStrv *context_types);
typedef struct typedef struct
{ {
GModule *module; gchar *module_path;
GModule *open_module;
GstCaps *caps; GstCaps *caps;
GstRank rank; GstRank rank;
GStrv context_types; GStrv context_types;
@@ -46,129 +44,116 @@ typedef struct
static void static void
gst_clapper_importer_data_free (GstClapperImporterData *data) gst_clapper_importer_data_free (GstClapperImporterData *data)
{ {
GST_TRACE ("Freeing importer data: %" GST_PTR_FORMAT, data); g_free (data->module_path);
if (data->open_module)
g_module_close (data->open_module);
gst_clear_caps (&data->caps); gst_clear_caps (&data->caps);
g_strfreev (data->context_types); g_strfreev (data->context_types);
g_free (data); g_free (data);
} }
static gboolean
_open_importer (GstClapperImporterData *data)
{
g_return_val_if_fail (data && data->module_path, FALSE);
/* Already open */
if (data->open_module)
return TRUE;
GST_DEBUG ("Opening module: %s", data->module_path);
data->open_module = g_module_open (data->module_path, G_MODULE_BIND_LAZY);
if (!data->open_module) {
GST_WARNING ("Could not load importer: %s, reason: %s",
data->module_path, g_module_error ());
return FALSE;
}
GST_DEBUG ("Opened importer module");
/* Make sure module stays loaded. Seems to be needed for
* reusing exported symbols from the same module again */
g_module_make_resident (data->open_module);
return TRUE;
}
static void
_close_importer (GstClapperImporterData *data)
{
if (!data || !data->open_module)
return;
if (G_LIKELY (g_module_close (data->open_module)))
GST_DEBUG ("Closed module: %s", data->module_path);
else
GST_WARNING ("Could not close importer module");
data->open_module = NULL;
}
static GstClapperImporter *
_obtain_importer_internal (GstClapperImporterData *data)
{
MakeImporter make_importer;
GstClapperImporter *importer = NULL;
if (!_open_importer (data))
goto finish;
if (!g_module_symbol (data->open_module, "make_importer", (gpointer *) &make_importer)
|| make_importer == NULL) {
GST_WARNING ("Make function missing in importer");
goto fail;
}
/* Do not close the module, we are gonna continue using it */
if ((importer = make_importer ()))
goto finish;
fail:
_close_importer (data);
finish:
return importer;
}
static GstClapperImporterData * static GstClapperImporterData *
_obtain_importer_data (GModule *module, gboolean is_template) _fill_importer_data (const gchar *module_path)
{ {
MakeCaps make_caps; MakeCaps make_caps;
GstClapperImporterData *data; GstClapperImporterData *data;
if (!g_module_symbol (module, "make_caps", (gpointer *) &make_caps) data = g_new0 (GstClapperImporterData, 1);
data->module_path = g_strdup (module_path);
data->open_module = g_module_open (data->module_path, G_MODULE_BIND_LAZY);
if (!data->open_module)
goto fail;
if (!g_module_symbol (data->open_module, "make_caps", (gpointer *) &make_caps)
|| make_caps == NULL) { || make_caps == NULL) {
GST_WARNING ("Make caps function missing in importer"); GST_WARNING ("Make caps function missing in importer");
return NULL; goto fail;
} }
data = g_new0 (GstClapperImporterData, 1); data->caps = make_caps (&data->rank, &data->context_types);
data->module = module; GST_DEBUG ("Caps reading %ssuccessful", data->caps ? "" : "un");
data->caps = make_caps (is_template, &data->rank, &data->context_types);
GST_TRACE ("Created importer data: %" GST_PTR_FORMAT, data); if (!data->caps)
goto fail;
if (G_UNLIKELY (!data->caps)) { /* Once we obtain importer data, close module afterwards */
GST_ERROR ("Invalid importer without caps: %s", _close_importer (data);
g_module_name (data->module));
gst_clapper_importer_data_free (data);
return NULL;
}
GST_DEBUG ("Found importer: %s, caps: %" GST_PTR_FORMAT,
g_module_name (data->module), data->caps);
return data; return data;
}
static GstClapperImporter * fail:
_obtain_importer_internal (GModule *module) gst_clapper_importer_data_free (data);
{
MakeImporter make_importer;
GstClapperImporter *importer;
if (!g_module_symbol (module, "make_importer", (gpointer *) &make_importer) return NULL;
|| make_importer == NULL) {
GST_WARNING ("Make function missing in importer");
return NULL;
}
importer = make_importer ();
GST_TRACE ("Created importer: %" GST_PTR_FORMAT, importer);
return importer;
}
static gpointer
_obtain_available_modules_once (G_GNUC_UNUSED gpointer data)
{
GPtrArray *modules;
GFile *dir;
GFileEnumerator *dir_enum;
GError *error = NULL;
GST_INFO ("Preparing modules");
modules = g_ptr_array_new ();
dir = g_file_new_for_path (CLAPPER_SINK_IMPORTER_PATH);
if ((dir_enum = g_file_enumerate_children (dir,
G_FILE_ATTRIBUTE_STANDARD_NAME,
G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, NULL, &error))) {
while (TRUE) {
GFileInfo *info = NULL;
GModule *module;
gchar *module_path;
const gchar *module_name;
if (!g_file_enumerator_iterate (dir_enum, &info,
NULL, NULL, &error) || !info)
break;
module_name = g_file_info_get_name (info);
if (!g_str_has_suffix (module_name, G_MODULE_SUFFIX))
continue;
module_path = g_module_build_path (CLAPPER_SINK_IMPORTER_PATH, module_name);
module = g_module_open (module_path, G_MODULE_BIND_LAZY);
g_free (module_path);
if (!module) {
GST_WARNING ("Could not read module: %s, reason: %s",
module_name, g_module_error ());
continue;
}
GST_INFO ("Found module: %s", module_name);
g_ptr_array_add (modules, module);
}
g_object_unref (dir_enum);
}
g_object_unref (dir);
if (error) {
GST_ERROR ("Could not load module, reason: %s",
(error->message) ? error->message : "unknown");
g_error_free (error);
}
return modules;
}
static const GPtrArray *
gst_clapper_importer_loader_get_available_modules (void)
{
static GOnce once = G_ONCE_INIT;
g_once (&once, _obtain_available_modules_once, NULL);
return (const GPtrArray *) once.retval;
} }
static gint static gint
@@ -182,90 +167,93 @@ _sort_importers_cb (gconstpointer a, gconstpointer b)
return (data_b->rank - data_a->rank); return (data_b->rank - data_a->rank);
} }
static GPtrArray * static gpointer
_obtain_available_importers (gboolean is_template) _obtain_available_importers (G_GNUC_UNUSED gpointer data)
{ {
const GPtrArray *modules;
GPtrArray *importers; GPtrArray *importers;
guint i; GFile *dir;
GFileEnumerator *dir_enum;
GError *error = NULL;
GST_DEBUG ("Checking available importers");
modules = gst_clapper_importer_loader_get_available_modules ();
importers = g_ptr_array_new_with_free_func ( importers = g_ptr_array_new_with_free_func (
(GDestroyNotify) gst_clapper_importer_data_free); (GDestroyNotify) gst_clapper_importer_data_free);
for (i = 0; i < modules->len; i++) { GST_INFO ("Checking available clapper sink importers");
GModule *module = g_ptr_array_index (modules, i);
GstClapperImporterData *data;
if ((data = _obtain_importer_data (module, is_template))) dir = g_file_new_for_path (CLAPPER_SINK_IMPORTER_PATH);
if ((dir_enum = g_file_enumerate_children (dir,
G_FILE_ATTRIBUTE_STANDARD_NAME,
G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, NULL, &error))) {
while (TRUE) {
GFileInfo *info = NULL;
GstClapperImporterData *data;
gchar *module_path;
const gchar *module_name;
if (!g_file_enumerator_iterate (dir_enum, &info,
NULL, NULL, &error) || !info)
break;
module_name = g_file_info_get_name (info);
if (!g_str_has_suffix (module_name, G_MODULE_SUFFIX))
continue;
module_path = g_module_build_path (CLAPPER_SINK_IMPORTER_PATH, module_name);
data = _fill_importer_data (module_path);
g_free (module_path);
if (!data) {
GST_WARNING ("Could not read importer data: %s", module_name);
continue;
}
GST_INFO ("Found importer: %s, caps: %" GST_PTR_FORMAT, module_name, data->caps);
g_ptr_array_add (importers, data); g_ptr_array_add (importers, data);
}
g_object_unref (dir_enum);
}
g_object_unref (dir);
if (error) {
GST_ERROR ("Could not load importer, reason: %s",
(error->message) ? error->message : "unknown");
g_error_free (error);
} }
g_ptr_array_sort (importers, (GCompareFunc) _sort_importers_cb); g_ptr_array_sort (importers, (GCompareFunc) _sort_importers_cb);
GST_DEBUG ("Found %i available importers", importers->len);
return importers; return importers;
} }
GstClapperImporterLoader * static const GPtrArray *
gst_clapper_importer_loader_new (void) gst_clapper_importer_loader_get_available_importers (void)
{ {
return g_object_new (GST_TYPE_CLAPPER_IMPORTER_LOADER, NULL); static GOnce once = G_ONCE_INIT;
g_once (&once, _obtain_available_importers, NULL);
return (const GPtrArray *) once.retval;
} }
static GstCaps * static GstClapperImporterData *
_make_caps_for_importers (const GPtrArray *importers) _find_open_importer_data (const GPtrArray *importers)
{ {
GstCaps *caps = gst_caps_new_empty ();
guint i; guint i;
for (i = 0; i < importers->len; i++) { for (i = 0; i < importers->len; i++) {
GstClapperImporterData *data = g_ptr_array_index (importers, i); GstClapperImporterData *data = g_ptr_array_index (importers, i);
gst_caps_append (caps, gst_caps_ref (data->caps)); if (data->open_module)
return data;
} }
return caps; return NULL;
} }
GstPadTemplate * static GstClapperImporterData *
gst_clapper_importer_loader_make_sink_pad_template (void)
{
GPtrArray *importers;
GstCaps *caps;
GstPadTemplate *templ;
/* This is only called once from sink class init function */
GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "clapperimporterloader", 0,
"Clapper Importer Loader");
GST_DEBUG ("Making sink pad template");
importers = _obtain_available_importers (TRUE);
caps = _make_caps_for_importers (importers);
g_ptr_array_unref (importers);
if (G_UNLIKELY (gst_caps_is_empty (caps)))
gst_caps_append (caps, gst_caps_new_any ());
templ = gst_pad_template_new ("sink", GST_PAD_SINK, GST_PAD_ALWAYS, caps);
gst_caps_unref (caps);
GST_TRACE ("Created sink pad template");
return templ;
}
GstCaps *
gst_clapper_importer_loader_make_actual_caps (GstClapperImporterLoader *self)
{
return _make_caps_for_importers (self->importers);
}
static const GstClapperImporterData *
_get_importer_data_for_caps (const GPtrArray *importers, const GstCaps *caps) _get_importer_data_for_caps (const GPtrArray *importers, const GstCaps *caps)
{ {
guint i; guint i;
@@ -282,7 +270,7 @@ _get_importer_data_for_caps (const GPtrArray *importers, const GstCaps *caps)
return NULL; return NULL;
} }
static const GstClapperImporterData * static GstClapperImporterData *
_get_importer_data_for_context_type (const GPtrArray *importers, const gchar *context_type) _get_importer_data_for_context_type (const GPtrArray *importers, const gchar *context_type)
{ {
guint i; guint i;
@@ -305,125 +293,125 @@ _get_importer_data_for_context_type (const GPtrArray *importers, const gchar *co
return NULL; return NULL;
} }
static gboolean void
_find_importer_internal (GstClapperImporterLoader *self, gst_clapper_importer_loader_unload_all (void)
GstCaps *caps, GstQuery *query, GstClapperImporter **importer)
{ {
const GstClapperImporterData *data = NULL; const GPtrArray *importers;
guint i;
importers = gst_clapper_importer_loader_get_available_importers ();
GST_TRACE ("Unloading all open modules");
for (i = 0; i < importers->len; i++) {
GstClapperImporterData *data = g_ptr_array_index (importers, i);
_close_importer (data);
}
}
GstPadTemplate *
gst_clapper_importer_loader_make_sink_pad_template (void)
{
const GPtrArray *importers;
GstCaps *sink_caps;
GstPadTemplate *templ;
guint i;
/* This is only called once from sink class init function */
GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "clapperimporterloader", 0,
"Clapper Importer Loader");
importers = gst_clapper_importer_loader_get_available_importers ();
sink_caps = gst_caps_new_empty ();
for (i = 0; i < importers->len; i++) {
GstClapperImporterData *data = g_ptr_array_index (importers, i);
GstCaps *copied_caps;
copied_caps = gst_caps_copy (data->caps);
gst_caps_append (sink_caps, copied_caps);
}
if (G_UNLIKELY (gst_caps_is_empty (sink_caps)))
gst_caps_append (sink_caps, gst_caps_new_any ());
templ = gst_pad_template_new ("sink", GST_PAD_SINK, GST_PAD_ALWAYS, sink_caps);
gst_caps_unref (sink_caps);
return templ;
}
static gboolean
_find_importer_internal (GstCaps *caps, GstQuery *query, GstClapperImporter **importer)
{
const GPtrArray *importers;
GstClapperImporterData *old_data = NULL, *new_data = NULL;
GstClapperImporter *found_importer = NULL; GstClapperImporter *found_importer = NULL;
GST_OBJECT_LOCK (self); importers = gst_clapper_importer_loader_get_available_importers ();
old_data = _find_open_importer_data (importers);
if (caps) { if (caps) {
GST_DEBUG_OBJECT (self, "Requested importer for caps: %" GST_PTR_FORMAT, caps); GST_DEBUG ("Requested importer for caps: %" GST_PTR_FORMAT, caps);
data = _get_importer_data_for_caps (self->importers, caps); new_data = _get_importer_data_for_caps (importers, caps);
} else if (query) { } else if (query) {
const gchar *context_type; const gchar *context_type;
gst_query_parse_context_type (query, &context_type); gst_query_parse_context_type (query, &context_type);
GST_DEBUG_OBJECT (self, "Requested importer for context: %s", context_type); GST_DEBUG ("Requested importer for context: %s", context_type);
data = _get_importer_data_for_context_type (self->importers, context_type); new_data = _get_importer_data_for_context_type (importers, context_type);
}
GST_LOG_OBJECT (self, "Old importer path: %s, new path: %s", /* In case missing importer for context query, leave the old one.
(self->last_module) ? g_module_name (self->last_module) : NULL,
(data) ? g_module_name (data->module) : NULL);
if (!data) {
/* In case of missing importer for context query, leave the old one.
* We should allow some queries to go through unresponded */ * We should allow some queries to go through unresponded */
if (query) if (!new_data)
GST_DEBUG_OBJECT (self, "No importer for query, leaving old one"); new_data = old_data;
else
gst_clear_object (importer);
goto finish;
} }
GST_LOG ("Old importer path: %s, new path: %s",
(old_data != NULL) ? old_data->module_path : NULL,
(new_data != NULL) ? new_data->module_path : NULL);
if (*importer && (self->last_module == data->module)) { if (old_data == new_data) {
GST_DEBUG_OBJECT (self, "No importer change"); GST_DEBUG ("No importer change");
if (caps) if (*importer && caps)
gst_clapper_importer_set_caps (*importer, caps); gst_clapper_importer_set_caps (*importer, caps);
goto finish; return (*importer != NULL);
} }
found_importer = _obtain_importer_internal (data->module); if (new_data) {
found_importer = _obtain_importer_internal (new_data);
if (*importer && found_importer) if (*importer && found_importer)
gst_clapper_importer_share_data (*importer, found_importer); gst_clapper_importer_share_data (*importer, found_importer);
}
gst_clear_object (importer); gst_clear_object (importer);
_close_importer (old_data);
if (!found_importer || !gst_clapper_importer_prepare (found_importer)) { if (found_importer && gst_clapper_importer_prepare (found_importer)) {
gst_clear_object (&found_importer); if (caps)
gst_clapper_importer_set_caps (found_importer, caps);
goto finish; *importer = found_importer;
return TRUE;
} }
if (caps) gst_clear_object (&found_importer);
gst_clapper_importer_set_caps (found_importer, caps); _close_importer (new_data);
*importer = found_importer; return FALSE;
finish:
self->last_module = (*importer && data)
? data->module
: NULL;
GST_OBJECT_UNLOCK (self);
return (*importer != NULL);
} }
gboolean gboolean
gst_clapper_importer_loader_find_importer_for_caps (GstClapperImporterLoader *self, gst_clapper_importer_loader_find_importer_for_caps (GstCaps *caps, GstClapperImporter **importer)
GstCaps *caps, GstClapperImporter **importer)
{ {
return _find_importer_internal (self, caps, NULL, importer); return _find_importer_internal (caps, NULL, importer);
} }
gboolean gboolean
gst_clapper_importer_loader_find_importer_for_context_query (GstClapperImporterLoader *self, gst_clapper_importer_loader_find_importer_for_context_query (GstQuery *query, GstClapperImporter **importer)
GstQuery *query, GstClapperImporter **importer)
{ {
return _find_importer_internal (self, NULL, query, importer); return _find_importer_internal (NULL, query, importer);
}
static void
gst_clapper_importer_loader_init (GstClapperImporterLoader *self)
{
}
static void
gst_clapper_importer_loader_constructed (GObject *object)
{
GstClapperImporterLoader *self = GST_CLAPPER_IMPORTER_LOADER_CAST (object);
self->importers = _obtain_available_importers (FALSE);
GST_CALL_PARENT (G_OBJECT_CLASS, constructed, (object));
}
static void
gst_clapper_importer_loader_finalize (GObject *object)
{
GstClapperImporterLoader *self = GST_CLAPPER_IMPORTER_LOADER_CAST (object);
GST_TRACE ("Finalize");
g_ptr_array_unref (self->importers);
GST_CALL_PARENT (G_OBJECT_CLASS, finalize, (object));
}
static void
gst_clapper_importer_loader_class_init (GstClapperImporterLoaderClass *klass)
{
GObjectClass *gobject_class = (GObjectClass *) klass;
gobject_class->constructed = gst_clapper_importer_loader_constructed;
gobject_class->finalize = gst_clapper_importer_loader_finalize;
} }

View File

@@ -25,27 +25,12 @@
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_TYPE_CLAPPER_IMPORTER_LOADER (gst_clapper_importer_loader_get_type()) GstPadTemplate * gst_clapper_importer_loader_make_sink_pad_template (void);
G_DECLARE_FINAL_TYPE (GstClapperImporterLoader, gst_clapper_importer_loader, GST, CLAPPER_IMPORTER_LOADER, GstObject)
#define GST_CLAPPER_IMPORTER_LOADER_CAST(obj) ((GstClapperImporterLoader *)(obj)) gboolean gst_clapper_importer_loader_find_importer_for_caps (GstCaps *caps, GstClapperImporter **importer);
struct _GstClapperImporterLoader gboolean gst_clapper_importer_loader_find_importer_for_context_query (GstQuery *query, GstClapperImporter **importer);
{
GstObject parent;
GModule *last_module; void gst_clapper_importer_loader_unload_all (void);
GPtrArray *importers;
};
GstClapperImporterLoader * gst_clapper_importer_loader_new (void);
GstPadTemplate * gst_clapper_importer_loader_make_sink_pad_template (void);
GstCaps * gst_clapper_importer_loader_make_actual_caps (GstClapperImporterLoader *loader);
gboolean gst_clapper_importer_loader_find_importer_for_caps (GstClapperImporterLoader *loader, GstCaps *caps, GstClapperImporter **importer);
gboolean gst_clapper_importer_loader_find_importer_for_context_query (GstClapperImporterLoader *loader, GstQuery *query, GstClapperImporter **importer);
G_END_DECLS G_END_DECLS

View File

@@ -53,18 +53,14 @@ gst_clapper_paintable_class_init (GstClapperPaintableClass *klass)
static void static void
gst_clapper_paintable_init (GstClapperPaintable *self) gst_clapper_paintable_init (GstClapperPaintable *self)
{ {
self->display_width = 1;
self->display_height = 1;
self->display_aspect_ratio = 1.0;
self->par_n = DEFAULT_PAR_N; self->par_n = DEFAULT_PAR_N;
self->par_d = DEFAULT_PAR_D; self->par_d = DEFAULT_PAR_D;
self->pixel_aspect = ((gdouble) self->par_d / self->par_n);
g_mutex_init (&self->lock); g_mutex_init (&self->lock);
g_mutex_init (&self->importer_lock);
gst_video_info_init (&self->v_info); gst_video_info_init (&self->v_info);
g_weak_ref_init (&self->widget, NULL); g_weak_ref_init (&self->widget, NULL);
g_weak_ref_init (&self->importer, NULL);
gdk_rgba_parse (&self->bg, "black"); gdk_rgba_parse (&self->bg, "black");
} }
@@ -83,10 +79,6 @@ gst_clapper_paintable_dispose (GObject *object)
GST_CLAPPER_PAINTABLE_UNLOCK (self); GST_CLAPPER_PAINTABLE_UNLOCK (self);
GST_CLAPPER_PAINTABLE_IMPORTER_LOCK (self);
gst_clear_object (&self->importer);
GST_CLAPPER_PAINTABLE_IMPORTER_UNLOCK (self);
GST_CALL_PARENT (G_OBJECT_CLASS, dispose, (object)); GST_CALL_PARENT (G_OBJECT_CLASS, dispose, (object));
} }
@@ -98,9 +90,8 @@ gst_clapper_paintable_finalize (GObject *object)
GST_TRACE ("Finalize"); GST_TRACE ("Finalize");
g_weak_ref_clear (&self->widget); g_weak_ref_clear (&self->widget);
g_weak_ref_clear (&self->importer);
g_mutex_clear (&self->lock); g_mutex_clear (&self->lock);
g_mutex_clear (&self->importer_lock);
GST_CALL_PARENT (G_OBJECT_CLASS, finalize, (object)); GST_CALL_PARENT (G_OBJECT_CLASS, finalize, (object));
} }
@@ -158,6 +149,8 @@ invalidate_paintable_size_internal (GstClapperPaintable *self)
display_ratio_num = self->display_ratio_num; display_ratio_num = self->display_ratio_num;
display_ratio_den = self->display_ratio_den; display_ratio_den = self->display_ratio_den;
self->pixel_aspect = ((gdouble) self->par_d / self->par_n);
GST_CLAPPER_PAINTABLE_UNLOCK (self); GST_CLAPPER_PAINTABLE_UNLOCK (self);
if (video_height % display_ratio_den == 0) { if (video_height % display_ratio_den == 0) {
@@ -239,9 +232,7 @@ gst_clapper_paintable_set_widget (GstClapperPaintable *self, GtkWidget *widget)
void void
gst_clapper_paintable_set_importer (GstClapperPaintable *self, GstClapperImporter *importer) gst_clapper_paintable_set_importer (GstClapperPaintable *self, GstClapperImporter *importer)
{ {
GST_CLAPPER_PAINTABLE_IMPORTER_LOCK (self); g_weak_ref_set (&self->importer, importer);
gst_object_replace ((GstObject **) &self->importer, GST_OBJECT_CAST (importer));
GST_CLAPPER_PAINTABLE_IMPORTER_UNLOCK (self);
} }
void void
@@ -330,6 +321,7 @@ gst_clapper_paintable_snapshot_internal (GstClapperPaintable *self,
GdkSnapshot *snapshot, gdouble width, gdouble height, GdkSnapshot *snapshot, gdouble width, gdouble height,
gint widget_width, gint widget_height) gint widget_width, gint widget_height)
{ {
GstClapperImporter *importer;
gfloat scale_x, scale_y; gfloat scale_x, scale_y;
GST_LOG_OBJECT (self, "Snapshot"); GST_LOG_OBJECT (self, "Snapshot");
@@ -355,16 +347,14 @@ gst_clapper_paintable_snapshot_internal (GstClapperPaintable *self,
} }
} }
GST_CLAPPER_PAINTABLE_IMPORTER_LOCK (self); if ((importer = g_weak_ref_get (&self->importer))) {
gst_clapper_importer_snapshot (importer, snapshot, width, height,
if (self->importer) { scale_x * self->pixel_aspect, scale_y);
gst_clapper_importer_snapshot (self->importer, snapshot, width, height); g_object_unref (importer);
} else { } else {
GST_LOG_OBJECT (self, "No texture importer, drawing black"); GST_LOG_OBJECT (self, "No texture importer, drawing black");
gtk_snapshot_append_color (snapshot, &self->bg, &GRAPHENE_RECT_INIT (0, 0, width, height)); gtk_snapshot_append_color (snapshot, &self->bg, &GRAPHENE_RECT_INIT (0, 0, width, height));
} }
GST_CLAPPER_PAINTABLE_IMPORTER_UNLOCK (self);
} }
static void static void
@@ -376,8 +366,11 @@ gst_clapper_paintable_snapshot (GdkPaintable *paintable,
gint widget_width = 0, widget_height = 0; gint widget_width = 0, widget_height = 0;
if ((widget = g_weak_ref_get (&self->widget))) { if ((widget = g_weak_ref_get (&self->widget))) {
widget_width = gtk_widget_get_width (widget); gint scale_factor;
widget_height = gtk_widget_get_height (widget);
scale_factor = gtk_widget_get_scale_factor (widget);
widget_width = gtk_widget_get_width (widget) * scale_factor;
widget_height = gtk_widget_get_height (widget) * scale_factor;
g_object_unref (widget); g_object_unref (widget);
} }

View File

@@ -36,27 +36,24 @@ G_DECLARE_FINAL_TYPE (GstClapperPaintable, gst_clapper_paintable, GST, CLAPPER_P
#define GST_CLAPPER_PAINTABLE_LOCK(obj) g_mutex_lock (GST_CLAPPER_PAINTABLE_GET_LOCK(obj)) #define GST_CLAPPER_PAINTABLE_LOCK(obj) g_mutex_lock (GST_CLAPPER_PAINTABLE_GET_LOCK(obj))
#define GST_CLAPPER_PAINTABLE_UNLOCK(obj) g_mutex_unlock (GST_CLAPPER_PAINTABLE_GET_LOCK(obj)) #define GST_CLAPPER_PAINTABLE_UNLOCK(obj) g_mutex_unlock (GST_CLAPPER_PAINTABLE_GET_LOCK(obj))
#define GST_CLAPPER_PAINTABLE_IMPORTER_GET_LOCK(obj) (&GST_CLAPPER_PAINTABLE_CAST(obj)->importer_lock)
#define GST_CLAPPER_PAINTABLE_IMPORTER_LOCK(obj) g_mutex_lock (GST_CLAPPER_PAINTABLE_IMPORTER_GET_LOCK(obj))
#define GST_CLAPPER_PAINTABLE_IMPORTER_UNLOCK(obj) g_mutex_unlock (GST_CLAPPER_PAINTABLE_IMPORTER_GET_LOCK(obj))
struct _GstClapperPaintable struct _GstClapperPaintable
{ {
GObject parent; GObject parent;
GMutex lock; GMutex lock;
GMutex importer_lock;
GstVideoInfo v_info; GstVideoInfo v_info;
GdkRGBA bg; GdkRGBA bg;
GWeakRef widget; GWeakRef widget, importer;
GstClapperImporter *importer;
/* Sink properties */ /* Sink properties */
gint par_n, par_d; gint par_n, par_d;
/* For drawing overlays */
gdouble pixel_aspect;
/* Resize */ /* Resize */
gboolean pending_resize; gboolean pending_resize;
guint display_ratio_num; guint display_ratio_num;

View File

@@ -22,6 +22,7 @@
#endif #endif
#include "gstclappersink.h" #include "gstclappersink.h"
#include "gstclapperimporterloader.h"
#include "gstgtkutils.h" #include "gstgtkutils.h"
#define DEFAULT_FORCE_ASPECT_RATIO TRUE #define DEFAULT_FORCE_ASPECT_RATIO TRUE
@@ -412,6 +413,7 @@ static gboolean
gst_clapper_sink_propose_allocation (GstBaseSink *bsink, GstQuery *query) gst_clapper_sink_propose_allocation (GstBaseSink *bsink, GstQuery *query)
{ {
GstClapperSink *self = GST_CLAPPER_SINK_CAST (bsink); GstClapperSink *self = GST_CLAPPER_SINK_CAST (bsink);
GstBufferPool *pool = NULL;
GstCaps *caps; GstCaps *caps;
GstVideoInfo info; GstVideoInfo info;
guint size, min_buffers; guint size, min_buffers;
@@ -436,7 +438,6 @@ gst_clapper_sink_propose_allocation (GstBaseSink *bsink, GstQuery *query)
min_buffers = 3; min_buffers = 3;
if (need_pool) { if (need_pool) {
GstBufferPool *pool;
GstStructure *config = NULL; GstStructure *config = NULL;
GST_DEBUG_OBJECT (self, "Need to create buffer pool"); GST_DEBUG_OBJECT (self, "Need to create buffer pool");
@@ -458,15 +459,16 @@ gst_clapper_sink_propose_allocation (GstBaseSink *bsink, GstQuery *query)
GST_ERROR_OBJECT (self, "Failed to set config"); GST_ERROR_OBJECT (self, "Failed to set config");
return FALSE; return FALSE;
} }
gst_query_add_allocation_pool (query, pool, size, min_buffers, 0);
gst_object_unref (pool);
} else if (config) { } else if (config) {
GST_WARNING_OBJECT (self, "Got config without a pool to apply it"); GST_WARNING_OBJECT (self, "Got config without a pool to apply it");
gst_structure_free (config); gst_structure_free (config);
} }
} }
gst_query_add_allocation_pool (query, pool, size, min_buffers, 0);
if (pool)
gst_object_unref (pool);
GST_CLAPPER_SINK_LOCK (self); GST_CLAPPER_SINK_LOCK (self);
gst_clapper_importer_add_allocation_metas (self->importer, query); gst_clapper_importer_add_allocation_metas (self->importer, query);
GST_CLAPPER_SINK_UNLOCK (self); GST_CLAPPER_SINK_UNLOCK (self);
@@ -492,7 +494,7 @@ gst_clapper_sink_query (GstBaseSink *bsink, GstQuery *query)
/* Some random context query in the middle of playback /* Some random context query in the middle of playback
* should not trigger importer replacement */ * should not trigger importer replacement */
if (is_inactive) if (is_inactive)
gst_clapper_importer_loader_find_importer_for_context_query (self->loader, query, &self->importer); gst_clapper_importer_loader_find_importer_for_context_query (query, &self->importer);
if (self->importer) if (self->importer)
res = gst_clapper_importer_handle_context_query (self->importer, bsink, query); res = gst_clapper_importer_handle_context_query (self->importer, bsink, query);
} }
@@ -694,10 +696,9 @@ gst_clapper_sink_get_times (GstBaseSink *bsink, GstBuffer *buffer,
static GstCaps * static GstCaps *
gst_clapper_sink_get_caps (GstBaseSink *bsink, GstCaps *filter) gst_clapper_sink_get_caps (GstBaseSink *bsink, GstCaps *filter)
{ {
GstClapperSink *self = GST_CLAPPER_SINK_CAST (bsink);
GstCaps *result, *tmp; GstCaps *result, *tmp;
tmp = gst_clapper_importer_loader_make_actual_caps (self->loader); tmp = gst_pad_get_pad_template_caps (GST_BASE_SINK_PAD (bsink));
if (filter) { if (filter) {
GST_DEBUG ("Intersecting with filter caps: %" GST_PTR_FORMAT, filter); GST_DEBUG ("Intersecting with filter caps: %" GST_PTR_FORMAT, filter);
@@ -727,7 +728,7 @@ gst_clapper_sink_set_caps (GstBaseSink *bsink, GstCaps *caps)
return FALSE; return FALSE;
} }
if (!gst_clapper_importer_loader_find_importer_for_caps (self->loader, caps, &self->importer)) { if (!gst_clapper_importer_loader_find_importer_for_caps (caps, &self->importer)) {
GST_CLAPPER_SINK_UNLOCK (self); GST_CLAPPER_SINK_UNLOCK (self);
GST_ELEMENT_ERROR (self, RESOURCE, NOT_FOUND, GST_ELEMENT_ERROR (self, RESOURCE, NOT_FOUND,
("No importer for given caps found"), (NULL)); ("No importer for given caps found"), (NULL));
@@ -807,7 +808,6 @@ gst_clapper_sink_init (GstClapperSink *self)
gst_video_info_init (&self->v_info); gst_video_info_init (&self->v_info);
self->paintable = gst_clapper_paintable_new (); self->paintable = gst_clapper_paintable_new ();
self->loader = gst_clapper_importer_loader_new ();
} }
static void static void
@@ -835,7 +835,7 @@ gst_clapper_sink_finalize (GObject *object)
GST_TRACE ("Finalize"); GST_TRACE ("Finalize");
gst_clear_object (&self->loader); gst_clapper_importer_loader_unload_all ();
g_mutex_clear (&self->lock); g_mutex_clear (&self->lock);
GST_CALL_PARENT (G_OBJECT_CLASS, finalize, (object)); GST_CALL_PARENT (G_OBJECT_CLASS, finalize, (object));
@@ -890,7 +890,7 @@ gst_clapper_sink_class_init (GstClapperSinkClass *klass)
gstvideosink_class->set_info = gst_clapper_sink_set_info; gstvideosink_class->set_info = gst_clapper_sink_set_info;
gstvideosink_class->show_frame = gst_clapper_sink_show_frame; gstvideosink_class->show_frame = gst_clapper_sink_show_frame;
gst_element_class_set_static_metadata (gstelement_class, gst_element_class_set_metadata (gstelement_class,
"Clapper video sink", "Clapper video sink",
"Sink/Video", "A GTK4 video sink used by Clapper media player", "Sink/Video", "A GTK4 video sink used by Clapper media player",
"Rafał Dzięgiel <rafostar.github@gmail.com>"); "Rafał Dzięgiel <rafostar.github@gmail.com>");

View File

@@ -25,7 +25,6 @@
#include <gst/video/video.h> #include <gst/video/video.h>
#include "gstclapperpaintable.h" #include "gstclapperpaintable.h"
#include "gstclapperimporterloader.h"
#include "gstclapperimporter.h" #include "gstclapperimporter.h"
G_BEGIN_DECLS G_BEGIN_DECLS
@@ -47,7 +46,6 @@ struct _GstClapperSink
GMutex lock; GMutex lock;
GstClapperPaintable *paintable; GstClapperPaintable *paintable;
GstClapperImporterLoader *loader;
GstClapperImporter *importer; GstClapperImporter *importer;
GstVideoInfo v_info; GstVideoInfo v_info;

View File

@@ -22,8 +22,6 @@
#include "gstgtkutils.h" #include "gstgtkutils.h"
#define _IS_FRAME_PREMULTIPLIED(f) (GST_VIDEO_INFO_FLAG_IS_SET (&(f)->info, GST_VIDEO_FLAG_PREMULTIPLIED_ALPHA))
struct invoke_context struct invoke_context
{ {
GThreadFunc func; GThreadFunc func;
@@ -73,29 +71,21 @@ gst_gtk_invoke_on_main (GThreadFunc func, gpointer data)
return info.res; return info.res;
} }
static GdkMemoryFormat /* For use with `GdkMemoryTexture` only! */
gst_gdk_memory_format_from_frame (GstVideoFrame *frame) GdkMemoryFormat
gst_video_format_to_gdk_memory_format (GstVideoFormat format)
{ {
switch (GST_VIDEO_FRAME_FORMAT (frame)) { switch (format) {
case GST_VIDEO_FORMAT_RGBA64_LE: case GST_VIDEO_FORMAT_RGBA64_LE:
case GST_VIDEO_FORMAT_RGBA64_BE: case GST_VIDEO_FORMAT_RGBA64_BE:
return (_IS_FRAME_PREMULTIPLIED (frame)) return GDK_MEMORY_R16G16B16A16_PREMULTIPLIED;
? GDK_MEMORY_R16G16B16A16_PREMULTIPLIED
: GDK_MEMORY_R16G16B16A16;
case GST_VIDEO_FORMAT_RGBA: case GST_VIDEO_FORMAT_RGBA:
return (_IS_FRAME_PREMULTIPLIED (frame)) return GDK_MEMORY_R8G8B8A8;
? GDK_MEMORY_R8G8B8A8_PREMULTIPLIED
: GDK_MEMORY_R8G8B8A8;
case GST_VIDEO_FORMAT_BGRA: case GST_VIDEO_FORMAT_BGRA:
return (_IS_FRAME_PREMULTIPLIED (frame)) return GDK_MEMORY_B8G8R8A8;
? GDK_MEMORY_B8G8R8A8_PREMULTIPLIED
: GDK_MEMORY_B8G8R8A8;
case GST_VIDEO_FORMAT_ARGB: case GST_VIDEO_FORMAT_ARGB:
return (_IS_FRAME_PREMULTIPLIED (frame)) return GDK_MEMORY_A8R8G8B8;
? GDK_MEMORY_A8R8G8B8_PREMULTIPLIED
: GDK_MEMORY_A8R8G8B8;
case GST_VIDEO_FORMAT_ABGR: case GST_VIDEO_FORMAT_ABGR:
/* GTK is missing premultiplied ABGR support */
return GDK_MEMORY_A8B8G8R8; return GDK_MEMORY_A8B8G8R8;
case GST_VIDEO_FORMAT_RGBx: case GST_VIDEO_FORMAT_RGBx:
return GDK_MEMORY_R8G8B8A8_PREMULTIPLIED; return GDK_MEMORY_R8G8B8A8_PREMULTIPLIED;
@@ -132,7 +122,7 @@ gst_video_frame_into_gdk_texture (GstVideoFrame *frame)
texture = gdk_memory_texture_new ( texture = gdk_memory_texture_new (
GST_VIDEO_FRAME_WIDTH (frame), GST_VIDEO_FRAME_WIDTH (frame),
GST_VIDEO_FRAME_HEIGHT (frame), GST_VIDEO_FRAME_HEIGHT (frame),
gst_gdk_memory_format_from_frame (frame), gst_video_format_to_gdk_memory_format (GST_VIDEO_FRAME_FORMAT (frame)),
bytes, bytes,
GST_VIDEO_FRAME_PLANE_STRIDE (frame, 0)); GST_VIDEO_FRAME_PLANE_STRIDE (frame, 0));

View File

@@ -30,6 +30,8 @@ G_BEGIN_DECLS
gpointer gst_gtk_invoke_on_main (GThreadFunc func, gpointer data); gpointer gst_gtk_invoke_on_main (GThreadFunc func, gpointer data);
GdkMemoryFormat gst_video_format_to_gdk_memory_format (GstVideoFormat format);
GdkTexture * gst_video_frame_into_gdk_texture (GstVideoFrame *frame); GdkTexture * gst_video_frame_into_gdk_texture (GstVideoFrame *frame);
G_END_DECLS G_END_DECLS

View File

@@ -38,18 +38,10 @@
#if GST_CLAPPER_GL_BASE_IMPORTER_HAVE_X11_GLX #if GST_CLAPPER_GL_BASE_IMPORTER_HAVE_X11_GLX
#include <gst/gl/x11/gstgldisplay_x11.h> #include <gst/gl/x11/gstgldisplay_x11.h>
#endif #endif
#if GST_CLAPPER_GL_BASE_IMPORTER_HAVE_X11_EGL || GST_CLAPPER_GL_BASE_IMPORTER_HAVE_WIN32_EGL #if GST_CLAPPER_GL_BASE_IMPORTER_HAVE_X11_EGL
#include <gst/gl/egl/gstgldisplay_egl.h> #include <gst/gl/egl/gstgldisplay_egl.h>
#endif #endif
#if GST_CLAPPER_GL_BASE_IMPORTER_HAVE_WIN32
#include <gdk/win32/gdkwin32.h>
#endif
#if GST_CLAPPER_GL_BASE_IMPORTER_HAVE_MACOS
#include <gdk/macos/gdkmacos.h>
#endif
#define GST_CAT_DEFAULT gst_clapper_gl_base_importer_debug #define GST_CAT_DEFAULT gst_clapper_gl_base_importer_debug
GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT); GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
@@ -109,11 +101,6 @@ retrieve_gl_context_on_main (GstClapperGLBaseImporter *self)
gdk_display = gdk_display_get_default (); gdk_display = gdk_display_get_default ();
if (G_UNLIKELY (!gdk_display)) {
GST_ERROR_OBJECT (self, "Could not retrieve Gdk display");
return FALSE;
}
if (!(gdk_context = gdk_display_create_gl_context (gdk_display, &error))) { if (!(gdk_context = gdk_display_create_gl_context (gdk_display, &error))) {
GST_ERROR_OBJECT (self, "Error creating Gdk GL context: %s", GST_ERROR_OBJECT (self, "Error creating Gdk GL context: %s",
error ? error->message : "No error set by Gdk"); error ? error->message : "No error set by Gdk");
@@ -131,7 +118,7 @@ retrieve_gl_context_on_main (GstClapperGLBaseImporter *self)
} }
gdk_gl_api = gdk_gl_context_get_api (gdk_context); gdk_gl_api = gdk_gl_context_get_api (gdk_context);
GST_CLAPPER_GL_BASE_IMPORTER_LOCK (self); GST_OBJECT_LOCK (self);
self->gdk_context = gdk_context; self->gdk_context = gdk_context;
@@ -164,31 +151,6 @@ retrieve_gl_context_on_main (GstClapperGLBaseImporter *self)
#endif #endif
#endif #endif
#if GST_CLAPPER_GL_BASE_IMPORTER_HAVE_WIN32
if (GDK_IS_WIN32_DISPLAY (gdk_display)) {
#if GST_CLAPPER_GL_BASE_IMPORTER_HAVE_WIN32_EGL
gpointer display_ptr = gdk_win32_display_get_egl_display (gdk_display);
if (display_ptr) {
self->gst_display = (GstGLDisplay *)
gst_gl_display_egl_new_with_egl_display (display_ptr);
}
#endif
#if GST_CLAPPER_GL_BASE_IMPORTER_HAVE_WIN32_WGL
if (!self->gst_display) {
self->gst_display =
gst_gl_display_new_with_type (GST_GL_DISPLAY_TYPE_WIN32);
}
}
#endif
#endif
#if GST_CLAPPER_GL_BASE_IMPORTER_HAVE_MACOS
if (GDK_IS_MACOS_DISPLAY (gdk_display)) {
self->gst_display =
gst_gl_display_new_with_type (GST_GL_DISPLAY_TYPE_COCOA);
}
#endif
/* Fallback to generic display */ /* Fallback to generic display */
if (G_UNLIKELY (!self->gst_display)) { if (G_UNLIKELY (!self->gst_display)) {
GST_WARNING_OBJECT (self, "Unknown Gdk display!"); GST_WARNING_OBJECT (self, "Unknown Gdk display!");
@@ -203,8 +165,7 @@ retrieve_gl_context_on_main (GstClapperGLBaseImporter *self)
} }
#endif #endif
#if GST_CLAPPER_GL_BASE_IMPORTER_HAVE_X11_EGL #if GST_CLAPPER_GL_BASE_IMPORTER_HAVE_X11_EGL
if (GST_IS_GL_DISPLAY_EGL (self->gst_display) if (GST_IS_GL_DISPLAY_EGL (self->gst_display)) {
&& GDK_IS_X11_DISPLAY (gdk_display)) {
platform = GST_GL_PLATFORM_EGL; platform = GST_GL_PLATFORM_EGL;
GST_INFO_OBJECT (self, "Using EGL on x11"); GST_INFO_OBJECT (self, "Using EGL on x11");
goto have_display; goto have_display;
@@ -217,33 +178,11 @@ retrieve_gl_context_on_main (GstClapperGLBaseImporter *self)
goto have_display; goto have_display;
} }
#endif #endif
#if GST_CLAPPER_GL_BASE_IMPORTER_HAVE_WIN32_EGL
if (GST_IS_GL_DISPLAY_EGL (self->gst_display)
&& GDK_IS_WIN32_DISPLAY (gdk_display)) {
platform = GST_GL_PLATFORM_EGL;
GST_INFO_OBJECT (self, "Using EGL on Win32");
goto have_display;
}
#endif
#if GST_CLAPPER_GL_BASE_IMPORTER_HAVE_WIN32_WGL
if (gst_gl_display_get_handle_type (self->gst_display) == GST_GL_DISPLAY_TYPE_WIN32) {
platform = GST_GL_PLATFORM_WGL;
GST_INFO_OBJECT (self, "Using WGL on Win32");
goto have_display;
}
#endif
#if GST_CLAPPER_GL_BASE_IMPORTER_HAVE_MACOS
if (gst_gl_display_get_handle_type (self->gst_display) == GST_GL_DISPLAY_TYPE_COCOA) {
platform = GST_GL_PLATFORM_CGL;
GST_INFO_OBJECT (self, "Using CGL on macOS");
goto have_display;
}
#endif
g_clear_object (&self->gdk_context); g_clear_object (&self->gdk_context);
gst_clear_object (&self->gst_display); gst_clear_object (&self->gst_display);
GST_CLAPPER_GL_BASE_IMPORTER_UNLOCK (self); GST_OBJECT_UNLOCK (self);
GST_ERROR_OBJECT (self, "Unsupported GL platform"); GST_ERROR_OBJECT (self, "Unsupported GL platform");
return FALSE; return FALSE;
@@ -259,7 +198,7 @@ have_display:
g_clear_object (&self->gdk_context); g_clear_object (&self->gdk_context);
gst_clear_object (&self->gst_display); gst_clear_object (&self->gst_display);
GST_CLAPPER_GL_BASE_IMPORTER_UNLOCK (self); GST_OBJECT_UNLOCK (self);
return FALSE; return FALSE;
} }
@@ -277,7 +216,7 @@ have_display:
g_clear_object (&self->gdk_context); g_clear_object (&self->gdk_context);
gst_clear_object (&self->gst_display); gst_clear_object (&self->gst_display);
GST_CLAPPER_GL_BASE_IMPORTER_UNLOCK (self); GST_OBJECT_UNLOCK (self);
return FALSE; return FALSE;
} }
@@ -290,7 +229,7 @@ have_display:
gst_gl_context_activate (self->wrapped_context, FALSE); gst_gl_context_activate (self->wrapped_context, FALSE);
gdk_gl_context_clear_current (); gdk_gl_context_clear_current ();
GST_CLAPPER_GL_BASE_IMPORTER_UNLOCK (self); GST_OBJECT_UNLOCK (self);
return TRUE; return TRUE;
} }
@@ -302,7 +241,7 @@ retrieve_gst_context (GstClapperGLBaseImporter *self)
GstGLContext *gst_context = NULL; GstGLContext *gst_context = NULL;
GError *error = NULL; GError *error = NULL;
GST_CLAPPER_GL_BASE_IMPORTER_LOCK (self); GST_OBJECT_LOCK (self);
gst_display = gst_object_ref (self->gst_display); gst_display = gst_object_ref (self->gst_display);
@@ -319,7 +258,7 @@ retrieve_gst_context (GstClapperGLBaseImporter *self)
g_clear_error (&error); g_clear_error (&error);
GST_OBJECT_UNLOCK (gst_display); GST_OBJECT_UNLOCK (gst_display);
GST_CLAPPER_GL_BASE_IMPORTER_UNLOCK (self); GST_OBJECT_UNLOCK (self);
return FALSE; return FALSE;
} }
@@ -327,7 +266,7 @@ retrieve_gst_context (GstClapperGLBaseImporter *self)
gst_context = gst_object_ref (self->gst_context); gst_context = gst_object_ref (self->gst_context);
GST_CLAPPER_GL_BASE_IMPORTER_UNLOCK (self); GST_OBJECT_UNLOCK (self);
gst_gl_display_add_context (gst_display, gst_context); gst_gl_display_add_context (gst_display, gst_context);
@@ -345,9 +284,9 @@ gst_clapper_gl_base_importer_prepare (GstClapperImporter *importer)
GstClapperGLBaseImporter *self = GST_CLAPPER_GL_BASE_IMPORTER_CAST (importer); GstClapperGLBaseImporter *self = GST_CLAPPER_GL_BASE_IMPORTER_CAST (importer);
gboolean need_invoke; gboolean need_invoke;
GST_CLAPPER_GL_BASE_IMPORTER_LOCK (self); GST_OBJECT_LOCK (self);
need_invoke = (!self->gdk_context || !self->gst_display || !self->wrapped_context); need_invoke = (!self->gdk_context || !self->gst_display || !self->wrapped_context);
GST_CLAPPER_GL_BASE_IMPORTER_UNLOCK (self); GST_OBJECT_UNLOCK (self);
if (need_invoke) { if (need_invoke) {
if (!(! !gst_gtk_invoke_on_main ((GThreadFunc) (GCallback) if (!(! !gst_gtk_invoke_on_main ((GThreadFunc) (GCallback)
@@ -372,8 +311,8 @@ gst_clapper_gl_base_importer_share_data (GstClapperImporter *importer, GstClappe
if (GST_IS_CLAPPER_GL_BASE_IMPORTER (dest_importer)) { if (GST_IS_CLAPPER_GL_BASE_IMPORTER (dest_importer)) {
GstClapperGLBaseImporter *dest = GST_CLAPPER_GL_BASE_IMPORTER (dest_importer); GstClapperGLBaseImporter *dest = GST_CLAPPER_GL_BASE_IMPORTER (dest_importer);
GST_CLAPPER_GL_BASE_IMPORTER_LOCK (self); GST_OBJECT_LOCK (self);
GST_CLAPPER_GL_BASE_IMPORTER_LOCK (dest); GST_OBJECT_LOCK (dest);
/* Successfully prepared GL importer should have all three */ /* Successfully prepared GL importer should have all three */
if (self->gdk_context && self->gst_display && self->wrapped_context) { if (self->gdk_context && self->gst_display && self->wrapped_context) {
@@ -394,8 +333,8 @@ gst_clapper_gl_base_importer_share_data (GstClapperImporter *importer, GstClappe
dest->gst_context = gst_object_ref (self->gst_context); dest->gst_context = gst_object_ref (self->gst_context);
} }
GST_CLAPPER_GL_BASE_IMPORTER_UNLOCK (dest); GST_OBJECT_UNLOCK (dest);
GST_CLAPPER_GL_BASE_IMPORTER_UNLOCK (self); GST_OBJECT_UNLOCK (self);
} }
if (GST_CLAPPER_IMPORTER_CLASS (parent_class)->share_data) if (GST_CLAPPER_IMPORTER_CLASS (parent_class)->share_data)
@@ -409,10 +348,10 @@ gst_clapper_gl_base_importer_handle_context_query (GstClapperImporter *importer,
GstClapperGLBaseImporter *self = GST_CLAPPER_GL_BASE_IMPORTER_CAST (importer); GstClapperGLBaseImporter *self = GST_CLAPPER_GL_BASE_IMPORTER_CAST (importer);
gboolean res; gboolean res;
GST_CLAPPER_GL_BASE_IMPORTER_LOCK (self); GST_OBJECT_LOCK (self);
res = gst_gl_handle_context_query (GST_ELEMENT_CAST (bsink), query, res = gst_gl_handle_context_query (GST_ELEMENT_CAST (bsink), query,
self->gst_display, self->gst_context, self->wrapped_context); self->gst_display, self->gst_context, self->wrapped_context);
GST_CLAPPER_GL_BASE_IMPORTER_UNLOCK (self); GST_OBJECT_UNLOCK (self);
return res; return res;
} }
@@ -425,9 +364,9 @@ gst_clapper_gl_base_importer_create_pool (GstClapperImporter *importer, GstStruc
GST_DEBUG_OBJECT (self, "Creating new GL buffer pool"); GST_DEBUG_OBJECT (self, "Creating new GL buffer pool");
GST_CLAPPER_GL_BASE_IMPORTER_LOCK (self); GST_OBJECT_LOCK (self);
pool = gst_gl_buffer_pool_new (self->gst_context); pool = gst_gl_buffer_pool_new (self->gst_context);
GST_CLAPPER_GL_BASE_IMPORTER_UNLOCK (self); GST_OBJECT_UNLOCK (self);
*config = gst_buffer_pool_get_config (pool); *config = gst_buffer_pool_get_config (pool);
@@ -445,103 +384,42 @@ gst_clapper_gl_base_importer_add_allocation_metas (GstClapperImporter *importer,
gst_query_add_allocation_meta (query, GST_VIDEO_OVERLAY_COMPOSITION_META_API_TYPE, NULL); gst_query_add_allocation_meta (query, GST_VIDEO_OVERLAY_COMPOSITION_META_API_TYPE, NULL);
gst_query_add_allocation_meta (query, GST_VIDEO_META_API_TYPE, NULL); gst_query_add_allocation_meta (query, GST_VIDEO_META_API_TYPE, NULL);
GST_CLAPPER_GL_BASE_IMPORTER_LOCK (self); GST_OBJECT_LOCK (self);
if (self->gst_context->gl_vtable->FenceSync) if (self->gst_context->gl_vtable->FenceSync)
gst_query_add_allocation_meta (query, GST_GL_SYNC_META_API_TYPE, NULL); gst_query_add_allocation_meta (query, GST_GL_SYNC_META_API_TYPE, NULL);
GST_CLAPPER_GL_BASE_IMPORTER_UNLOCK (self); GST_OBJECT_UNLOCK (self);
}
static gboolean
_realize_gdk_context_with_api (GdkGLContext *gdk_context, GdkGLAPI api, gint maj, gint min)
{
GError *error = NULL;
gboolean success;
gdk_gl_context_set_allowed_apis (gdk_context, api);
gdk_gl_context_set_required_version (gdk_context, maj, min);
GST_DEBUG ("Trying to realize %s context, min ver: %i.%i",
(api & GDK_GL_API_GL) ? "GL" : "GLES", maj, min);
if (!(success = gdk_gl_context_realize (gdk_context, &error))) {
GST_DEBUG ("Could not realize Gdk context with %s: %s",
(api & GDK_GL_API_GL) ? "GL" : "GLES", error->message);
g_clear_error (&error);
}
return success;
} }
static gboolean static gboolean
gst_clapper_gl_base_importer_gdk_context_realize (GstClapperGLBaseImporter *self, GdkGLContext *gdk_context) gst_clapper_gl_base_importer_gdk_context_realize (GstClapperGLBaseImporter *self, GdkGLContext *gdk_context)
{ {
GdkGLAPI preferred_api = GDK_GL_API_GL; GdkGLAPI allowed_apis;
GdkDisplay *gdk_display; GError *error = NULL;
const gchar *gl_env; const gchar *gl_env;
gboolean success; gboolean success;
GST_DEBUG_OBJECT (self, "Realizing GdkGLContext with default implementation"); GST_DEBUG_OBJECT (self, "Realizing GdkGLContext with default implementation");
/* Use single "GST_GL_API" env to also influence Gdk GL selection */ /* Use single "GST_GL_API" env to also influence Gdk GL selection */
if ((gl_env = g_getenv ("GST_GL_API"))) { gl_env = g_getenv ("GST_GL_API");
preferred_api = (g_str_has_prefix (gl_env, "gles")) allowed_apis = (!gl_env || g_str_has_prefix (gl_env, "gles"))
? GDK_GL_API_GLES ? GDK_GL_API_GLES
: g_str_has_prefix (gl_env, "opengl") : (g_str_has_prefix (gl_env, "opengl"))
? GDK_GL_API_GL ? GDK_GL_API_GL
: GDK_GL_API_GL | GDK_GL_API_GLES; : GDK_GL_API_GL | GDK_GL_API_GLES;
/* With requested by user API, we either use it or give up */ gdk_gl_context_set_allowed_apis (gdk_context, allowed_apis);
return _realize_gdk_context_with_api (gdk_context, preferred_api, 0, 0); if (!(success = gdk_gl_context_realize (gdk_context, &error))) {
GST_WARNING_OBJECT (self, "Could not realize Gdk context with %s: %s",
(allowed_apis & GDK_GL_API_GL) ? "GL" : "GLES", error->message);
g_clear_error (&error);
} }
if (!success && !gl_env) {
gdk_display = gdk_gl_context_get_display (gdk_context); gdk_gl_context_set_allowed_apis (gdk_context, GDK_GL_API_GL);
GST_DEBUG_OBJECT (self, "Auto selecting GL API for display: %s", if (!(success = gdk_gl_context_realize (gdk_context, &error))) {
gdk_display_get_name (gdk_display)); GST_WARNING_OBJECT (self, "Could not realize Gdk context with GL: %s", error->message);
g_clear_error (&error);
/* Apple decoder uses rectangle texture-target, which GLES does not support. }
* For Linux we prefer EGL + GLES in order to get direct HW colorspace conversion.
* Windows will try EGL + GLES setup first and auto fallback to WGL. */
#if GST_CLAPPER_GL_BASE_IMPORTER_HAVE_WAYLAND
if (GDK_IS_WAYLAND_DISPLAY (gdk_display))
preferred_api = GDK_GL_API_GLES;
#endif
#if GST_CLAPPER_GL_BASE_IMPORTER_HAVE_X11_EGL
if (GDK_IS_X11_DISPLAY (gdk_display) && gdk_x11_display_get_egl_display (gdk_display))
preferred_api = GDK_GL_API_GLES;
#endif
#if GST_CLAPPER_GL_BASE_IMPORTER_HAVE_WIN32_EGL
if (GDK_IS_WIN32_DISPLAY (gdk_display) && gdk_win32_display_get_egl_display (gdk_display))
preferred_api = GDK_GL_API_GLES;
#endif
/* FIXME: Remove once GStreamer can handle DRM modifiers. This tries to avoid
* "scrambled" image on Linux with Intel GPUs that are mostly used together with
* x86 CPUs at the expense of using slightly slower non-direct DMABuf import.
* See: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1236 */
#if GST_CLAPPER_GL_BASE_IMPORTER_HAVE_WAYLAND || GST_CLAPPER_GL_BASE_IMPORTER_HAVE_X11_EGL
#if !defined(HAVE_GST_PATCHES) && (defined(__i386__) || defined(_M_IX86) || defined(__x86_64__) || defined(_M_X64))
preferred_api = GDK_GL_API_GL;
#endif
#endif
/* Continue with GLES only if it should have "GL_EXT_texture_norm16"
* extension, as we need it to handle P010_10LE, etc. */
if ((preferred_api == GDK_GL_API_GLES)
&& _realize_gdk_context_with_api (gdk_context, GDK_GL_API_GLES, 3, 1))
return TRUE;
/* If not using GLES 3.1, try with core GL 3.2 that GTK4 defaults to */
if (_realize_gdk_context_with_api (gdk_context, GDK_GL_API_GL, 3, 2))
return TRUE;
/* Try with what we normally prefer first, otherwise use fallback */
if (!(success = _realize_gdk_context_with_api (gdk_context, preferred_api, 0, 0))) {
GdkGLAPI fallback_api;
fallback_api = (GDK_GL_API_GL | GDK_GL_API_GLES);
fallback_api &= ~preferred_api;
success = _realize_gdk_context_with_api (gdk_context, fallback_api, 0, 0);
} }
return success; return success;
@@ -550,7 +428,6 @@ gst_clapper_gl_base_importer_gdk_context_realize (GstClapperGLBaseImporter *self
static void static void
gst_clapper_gl_base_importer_init (GstClapperGLBaseImporter *self) gst_clapper_gl_base_importer_init (GstClapperGLBaseImporter *self)
{ {
g_mutex_init (&self->lock);
} }
static void static void
@@ -564,8 +441,6 @@ gst_clapper_gl_base_importer_finalize (GObject *object)
gst_clear_object (&self->wrapped_context); gst_clear_object (&self->wrapped_context);
gst_clear_object (&self->gst_context); gst_clear_object (&self->gst_context);
g_mutex_clear (&self->lock);
GST_CALL_PARENT (G_OBJECT_CLASS, finalize, (object)); GST_CALL_PARENT (G_OBJECT_CLASS, finalize, (object));
} }
@@ -639,7 +514,7 @@ gst_clapper_gl_base_importer_make_gl_texture (GstClapperGLBaseImporter *self,
return NULL; return NULL;
} }
GST_CLAPPER_GL_BASE_IMPORTER_LOCK (self); GST_OBJECT_LOCK (self);
/* Must have context active here for both sync meta /* Must have context active here for both sync meta
* and Gdk texture format auto-detection to work */ * and Gdk texture format auto-detection to work */
@@ -666,7 +541,7 @@ gst_clapper_gl_base_importer_make_gl_texture (GstClapperGLBaseImporter *self,
gst_gl_context_activate (self->wrapped_context, FALSE); gst_gl_context_activate (self->wrapped_context, FALSE);
gdk_gl_context_clear_current (); gdk_gl_context_clear_current ();
GST_CLAPPER_GL_BASE_IMPORTER_UNLOCK (self); GST_OBJECT_UNLOCK (self);
gst_video_frame_unmap (&frame); gst_video_frame_unmap (&frame);

View File

@@ -33,18 +33,10 @@ G_BEGIN_DECLS
#define GST_CLAPPER_GL_BASE_IMPORTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_CLAPPER_GL_BASE_IMPORTER, GstClapperGLBaseImporterClass)) #define GST_CLAPPER_GL_BASE_IMPORTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_CLAPPER_GL_BASE_IMPORTER, GstClapperGLBaseImporterClass))
#define GST_CLAPPER_GL_BASE_IMPORTER_CAST(obj) ((GstClapperGLBaseImporter *)(obj)) #define GST_CLAPPER_GL_BASE_IMPORTER_CAST(obj) ((GstClapperGLBaseImporter *)(obj))
#define GST_CLAPPER_GL_BASE_IMPORTER_GET_LOCK(obj) (&GST_CLAPPER_GL_BASE_IMPORTER_CAST(obj)->lock)
#define GST_CLAPPER_GL_BASE_IMPORTER_LOCK(obj) g_mutex_lock (GST_CLAPPER_GL_BASE_IMPORTER_GET_LOCK(obj))
#define GST_CLAPPER_GL_BASE_IMPORTER_UNLOCK(obj) g_mutex_unlock (GST_CLAPPER_GL_BASE_IMPORTER_GET_LOCK(obj))
#define GST_CLAPPER_GL_BASE_IMPORTER_HAVE_WAYLAND (GST_GL_HAVE_WINDOW_WAYLAND && defined (GDK_WINDOWING_WAYLAND)) #define GST_CLAPPER_GL_BASE_IMPORTER_HAVE_WAYLAND (GST_GL_HAVE_WINDOW_WAYLAND && defined (GDK_WINDOWING_WAYLAND))
#define GST_CLAPPER_GL_BASE_IMPORTER_HAVE_X11 (GST_GL_HAVE_WINDOW_X11 && defined (GDK_WINDOWING_X11)) #define GST_CLAPPER_GL_BASE_IMPORTER_HAVE_X11 (GST_GL_HAVE_WINDOW_X11 && defined (GDK_WINDOWING_X11))
#define GST_CLAPPER_GL_BASE_IMPORTER_HAVE_X11_GLX (GST_CLAPPER_GL_BASE_IMPORTER_HAVE_X11 && GST_GL_HAVE_PLATFORM_GLX) #define GST_CLAPPER_GL_BASE_IMPORTER_HAVE_X11_GLX (GST_CLAPPER_GL_BASE_IMPORTER_HAVE_X11 && GST_GL_HAVE_PLATFORM_GLX)
#define GST_CLAPPER_GL_BASE_IMPORTER_HAVE_X11_EGL (GST_CLAPPER_GL_BASE_IMPORTER_HAVE_X11 && GST_GL_HAVE_PLATFORM_EGL) #define GST_CLAPPER_GL_BASE_IMPORTER_HAVE_X11_EGL (GST_CLAPPER_GL_BASE_IMPORTER_HAVE_X11 && GST_GL_HAVE_PLATFORM_EGL)
#define GST_CLAPPER_GL_BASE_IMPORTER_HAVE_WIN32 (GST_GL_HAVE_WINDOW_WIN32 && defined (GDK_WINDOWING_WIN32))
#define GST_CLAPPER_GL_BASE_IMPORTER_HAVE_WIN32_WGL (GST_CLAPPER_GL_BASE_IMPORTER_HAVE_WIN32 && GST_GL_HAVE_PLATFORM_WGL)
#define GST_CLAPPER_GL_BASE_IMPORTER_HAVE_WIN32_EGL (GST_CLAPPER_GL_BASE_IMPORTER_HAVE_WIN32 && GST_GL_HAVE_PLATFORM_EGL)
#define GST_CLAPPER_GL_BASE_IMPORTER_HAVE_MACOS (GST_GL_HAVE_WINDOW_COCOA && defined (GDK_WINDOWING_MACOS) && GST_GL_HAVE_PLATFORM_CGL)
typedef struct _GstClapperGLBaseImporter GstClapperGLBaseImporter; typedef struct _GstClapperGLBaseImporter GstClapperGLBaseImporter;
typedef struct _GstClapperGLBaseImporterClass GstClapperGLBaseImporterClass; typedef struct _GstClapperGLBaseImporterClass GstClapperGLBaseImporterClass;
@@ -57,8 +49,6 @@ struct _GstClapperGLBaseImporter
{ {
GstClapperImporter parent; GstClapperImporter parent;
GMutex lock;
GdkGLContext *gdk_context; GdkGLContext *gdk_context;
GstGLDisplay *gst_display; GstGLDisplay *gst_display;

View File

@@ -61,7 +61,7 @@ make_importer (void)
} }
GstCaps * GstCaps *
make_caps (gboolean is_template, GstRank *rank, GStrv *context_types) make_caps (GstRank *rank, GStrv *context_types)
{ {
*rank = GST_RANK_SECONDARY; *rank = GST_RANK_SECONDARY;
*context_types = gst_clapper_gl_base_importer_make_gl_context_types (); *context_types = gst_clapper_gl_base_importer_make_gl_context_types ();

View File

@@ -22,11 +22,6 @@
#endif #endif
#include "gstclappergluploader.h" #include "gstclappergluploader.h"
#include "gst/plugin/gstgtkutils.h"
#if GST_CLAPPER_GL_BASE_IMPORTER_HAVE_X11
#include <gdk/x11/gdkx.h>
#endif
#define GST_CAT_DEFAULT gst_clapper_gl_uploader_debug #define GST_CAT_DEFAULT gst_clapper_gl_uploader_debug
GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT); GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
@@ -72,9 +67,9 @@ gst_clapper_gl_uploader_set_caps (GstClapperImporter *importer, GstCaps *caps)
{ {
GstClapperGLUploader *self = GST_CLAPPER_GL_UPLOADER_CAST (importer); GstClapperGLUploader *self = GST_CLAPPER_GL_UPLOADER_CAST (importer);
GST_CLAPPER_GL_BASE_IMPORTER_LOCK (self); GST_OBJECT_LOCK (self);
_update_elements_caps_locked (self, caps); _update_elements_caps_locked (self, caps);
GST_CLAPPER_GL_BASE_IMPORTER_UNLOCK (self); GST_OBJECT_UNLOCK (self);
} }
static void static void
@@ -101,14 +96,14 @@ gst_clapper_gl_uploader_prepare (GstClapperImporter *importer)
GstClapperGLUploader *self = GST_CLAPPER_GL_UPLOADER_CAST (importer); GstClapperGLUploader *self = GST_CLAPPER_GL_UPLOADER_CAST (importer);
GstClapperGLBaseImporter *gl_bi = GST_CLAPPER_GL_BASE_IMPORTER_CAST (importer); GstClapperGLBaseImporter *gl_bi = GST_CLAPPER_GL_BASE_IMPORTER_CAST (importer);
GST_CLAPPER_GL_BASE_IMPORTER_LOCK (self); GST_OBJECT_LOCK (self);
if (!self->upload) if (!self->upload)
self->upload = gst_gl_upload_new (gl_bi->gst_context); self->upload = gst_gl_upload_new (gl_bi->gst_context);
if (!self->color_convert) if (!self->color_convert)
self->color_convert = gst_gl_color_convert_new (gl_bi->gst_context); self->color_convert = gst_gl_color_convert_new (gl_bi->gst_context);
GST_CLAPPER_GL_BASE_IMPORTER_UNLOCK (self); GST_OBJECT_UNLOCK (self);
} }
return res; return res;
@@ -137,31 +132,6 @@ _upload_perform_locked (GstClapperGLUploader *self, GstBuffer *buffer)
return upload_buf; return upload_buf;
} }
static GstBufferPool *
gst_clapper_gl_uploader_create_pool (GstClapperImporter *importer, GstStructure **config)
{
/* Since GLUpload API provides a ready to use propose_allocation method,
* we will use it with our query in add_allocation_metas instead of
* making pool here ourselves */
return NULL;
}
static void
gst_clapper_gl_uploader_add_allocation_metas (GstClapperImporter *importer, GstQuery *query)
{
GstClapperGLUploader *self = GST_CLAPPER_GL_UPLOADER_CAST (importer);
GstGLUpload *upload;
GST_CLAPPER_GL_BASE_IMPORTER_LOCK (self);
upload = gst_object_ref (self->upload);
GST_CLAPPER_GL_BASE_IMPORTER_UNLOCK (self);
gst_gl_upload_propose_allocation (upload, NULL, query);
gst_object_unref (upload);
GST_CLAPPER_IMPORTER_CLASS (parent_class)->add_allocation_metas (importer, query);
}
static GdkTexture * static GdkTexture *
gst_clapper_gl_uploader_generate_texture (GstClapperImporter *importer, gst_clapper_gl_uploader_generate_texture (GstClapperImporter *importer,
GstBuffer *buffer, GstVideoInfo *v_info) GstBuffer *buffer, GstVideoInfo *v_info)
@@ -177,13 +147,13 @@ gst_clapper_gl_uploader_generate_texture (GstClapperImporter *importer,
GST_LOG_OBJECT (self, "Uploading %" GST_PTR_FORMAT, buffer); GST_LOG_OBJECT (self, "Uploading %" GST_PTR_FORMAT, buffer);
GST_CLAPPER_GL_BASE_IMPORTER_LOCK (self); GST_OBJECT_LOCK (self);
upload_buf = _upload_perform_locked (self, buffer); upload_buf = _upload_perform_locked (self, buffer);
if (G_UNLIKELY (!upload_buf)) { if (G_UNLIKELY (!upload_buf)) {
GST_ERROR_OBJECT (self, "Could not perform upload on input buffer"); GST_ERROR_OBJECT (self, "Could not perform upload on input buffer");
GST_CLAPPER_GL_BASE_IMPORTER_UNLOCK (self); GST_OBJECT_UNLOCK (self);
return NULL; return NULL;
} }
@@ -198,7 +168,7 @@ gst_clapper_gl_uploader_generate_texture (GstClapperImporter *importer,
self->has_pending_v_info = FALSE; self->has_pending_v_info = FALSE;
} }
GST_CLAPPER_GL_BASE_IMPORTER_UNLOCK (self); GST_OBJECT_UNLOCK (self);
if (G_UNLIKELY (!color_buf)) { if (G_UNLIKELY (!color_buf)) {
GST_ERROR_OBJECT (self, "Could not perform color conversion on input buffer"); GST_ERROR_OBJECT (self, "Could not perform color conversion on input buffer");
@@ -243,8 +213,6 @@ gst_clapper_gl_uploader_class_init (GstClapperGLUploaderClass *klass)
importer_class->prepare = gst_clapper_gl_uploader_prepare; importer_class->prepare = gst_clapper_gl_uploader_prepare;
importer_class->set_caps = gst_clapper_gl_uploader_set_caps; importer_class->set_caps = gst_clapper_gl_uploader_set_caps;
importer_class->create_pool = gst_clapper_gl_uploader_create_pool;
importer_class->add_allocation_metas = gst_clapper_gl_uploader_add_allocation_metas;
importer_class->generate_texture = gst_clapper_gl_uploader_generate_texture; importer_class->generate_texture = gst_clapper_gl_uploader_generate_texture;
} }
@@ -254,59 +222,11 @@ make_importer (void)
return g_object_new (GST_TYPE_CLAPPER_GL_UPLOADER, NULL); return g_object_new (GST_TYPE_CLAPPER_GL_UPLOADER, NULL);
} }
#if GST_CLAPPER_GL_BASE_IMPORTER_HAVE_X11_GLX
static gboolean
_filter_glx_caps_cb (GstCapsFeatures *features,
GstStructure *structure, gpointer user_data)
{
return !gst_caps_features_contains (features, "memory:DMABuf");
}
static gboolean
_update_glx_caps_on_main (GstCaps *caps)
{
GdkDisplay *gdk_display;
if (!gtk_init_check ())
return FALSE;
gdk_display = gdk_display_get_default ();
if (G_UNLIKELY (!gdk_display))
return FALSE;
if (GDK_IS_X11_DISPLAY (gdk_display)) {
gboolean using_glx = TRUE;
#if GST_CLAPPER_GL_BASE_IMPORTER_HAVE_X11_EGL
using_glx = (gdk_x11_display_get_egl_display (gdk_display) == NULL);
#endif
if (using_glx) {
gst_caps_filter_and_map_in_place (caps,
(GstCapsFilterMapFunc) _filter_glx_caps_cb, NULL);
}
}
return TRUE;
}
#endif
GstCaps * GstCaps *
make_caps (gboolean is_template, GstRank *rank, GStrv *context_types) make_caps (GstRank *rank, GStrv *context_types)
{ {
GstCaps *caps = gst_gl_upload_get_input_template_caps ();
#if GST_CLAPPER_GL_BASE_IMPORTER_HAVE_X11_GLX
if (!is_template && !(! !gst_gtk_invoke_on_main ((GThreadFunc) (GCallback)
_update_glx_caps_on_main, caps)))
gst_clear_caps (&caps);
#endif
if (G_UNLIKELY (!caps))
return NULL;
*rank = GST_RANK_MARGINAL + 1; *rank = GST_RANK_MARGINAL + 1;
*context_types = gst_clapper_gl_base_importer_make_gl_context_types (); *context_types = gst_clapper_gl_base_importer_make_gl_context_types ();
return caps; return gst_gl_upload_get_input_template_caps ();
} }

View File

@@ -97,7 +97,7 @@ make_importer (void)
} }
GstCaps * GstCaps *
make_caps (gboolean is_template, GstRank *rank, GStrv *context_types) make_caps (GstRank *rank, GStrv *context_types)
{ {
*rank = GST_RANK_MARGINAL; *rank = GST_RANK_MARGINAL;

View File

@@ -0,0 +1,83 @@
/*
* Copyright (C) 2022 Rafał Dzięgiel <rafostar.github@gmail.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "gstclappervaglimporter.h"
#include "gst/plugin/gstgdkformats.h"
#include <gst/va/gstva.h>
#define GST_CAT_DEFAULT gst_clapper_va_gl_importer_debug
GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
#define parent_class gst_clapper_va_gl_importer_parent_class
GST_CLAPPER_IMPORTER_DEFINE (GstClapperVAGLImporter, gst_clapper_va_gl_importer, GST_TYPE_CLAPPER_GL_BASE_IMPORTER);
static GdkTexture *
gst_clapper_va_gl_importer_generate_texture (GstClapperImporter *importer,
GstBuffer *buffer, GstVideoInfo *v_info)
{
return NULL;
}
static void
gst_clapper_va_gl_importer_init (GstClapperVAGLImporter *self)
{
}
static void
gst_clapper_va_gl_importer_class_init (GstClapperVAGLImporterClass *klass)
{
GstClapperImporterClass *importer_class = (GstClapperImporterClass *) klass;
GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "clappervaglimporter", 0,
"Clapper VA GL Importer");
importer_class->generate_texture = gst_clapper_va_gl_importer_generate_texture;
}
GstClapperImporter *
make_importer (void)
{
return g_object_new (GST_TYPE_CLAPPER_VA_GL_IMPORTER, NULL);
}
GstCaps *
make_caps (GstRank *rank, GStrv *context_types)
{
GstCaps *caps, *tmp;
*rank = GST_RANK_PRIMARY;
tmp = gst_caps_from_string (
GST_VIDEO_CAPS_MAKE_WITH_FEATURES (GST_CAPS_FEATURE_MEMORY_VA,
"{ " GST_GDK_GL_TEXTURE_FORMATS " }"));
caps = gst_caps_copy (tmp);
gst_caps_set_features_simple (caps, gst_caps_features_new (
GST_CAPS_FEATURE_MEMORY_VA,
GST_CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION, NULL));
gst_caps_append (caps, tmp);
return caps;
}

View File

@@ -0,0 +1,36 @@
/*
* Copyright (C) 2022 Rafał Dzięgiel <rafostar.github@gmail.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
#pragma once
#include "gstclapperglbaseimporter.h"
G_BEGIN_DECLS
#define GST_TYPE_CLAPPER_VA_GL_IMPORTER (gst_clapper_va_gl_importer_get_type())
G_DECLARE_FINAL_TYPE (GstClapperVAGLImporter, gst_clapper_va_gl_importer, GST, CLAPPER_VA_GL_IMPORTER, GstClapperGLBaseImporter)
#define GST_CLAPPER_VA_GL_IMPORTER_CAST(obj) ((GstClapperVAGLImporter *)(obj))
struct _GstClapperVAGLImporter
{
GstClapperGLBaseImporter parent;
};
G_END_DECLS

View File

@@ -1,38 +1,25 @@
gst_clapper_gl_base_importer_dep = dependency('', required: false) gst_clapper_gl_base_importer_dep = dependency('', required: false)
all_importers = [ plugin_needs_gl_base = (
'glimporter',
'gluploader',
'rawimporter',
]
build_glbase = (
not get_option('glimporter').disabled() not get_option('glimporter').disabled()
or not get_option('gluploader').disabled() or not get_option('gluploader').disabled()
or not get_option('vaglimporter').disabled()
) )
gl_support_required = ( plugin_gl_support_required = (
get_option('glimporter').enabled() get_option('glimporter').enabled()
or get_option('gluploader').enabled() or get_option('gluploader').enabled()
or get_option('vaglimporter').enabled()
) )
# We cannot build any importers without sink that they depend on gst_plugin_gl_deps = [gstgl_dep, gstglproto_dep]
if not gst_clapper_sink_dep.found()
foreach imp : all_importers
if get_option(imp).enabled()
error('"@0@" option was enabled, but it requires building gstreamer plugin'.format(imp))
endif
endforeach
endif
gst_plugin_gl_base_deps = [gst_clapper_sink_dep, gstgl_dep, gstglproto_dep]
have_gtk_gl_windowing = false have_gtk_gl_windowing = false
if gst_gl_have_window_x11 and (gst_gl_have_platform_egl or gst_gl_have_platform_glx) if gst_gl_have_window_x11 and (gst_gl_have_platform_egl or gst_gl_have_platform_glx)
gtk_x11_dep = dependency('gtk4-x11', required: false) gtk_x11_dep = dependency('gtk4-x11', required: false)
if gtk_x11_dep.found() if gtk_x11_dep.found()
gst_plugin_gl_base_deps += gtk_x11_dep gst_plugin_gl_deps += gtk_x11_dep
if gst_gl_have_platform_glx if gst_gl_have_platform_glx
gst_plugin_gl_base_deps += gstglx11_dep gst_plugin_gl_deps += gstglx11_dep
endif endif
have_gtk_gl_windowing = true have_gtk_gl_windowing = true
endif endif
@@ -41,59 +28,44 @@ endif
if gst_gl_have_window_wayland and gst_gl_have_platform_egl if gst_gl_have_window_wayland and gst_gl_have_platform_egl
gtk_wayland_dep = dependency('gtk4-wayland', required: false) gtk_wayland_dep = dependency('gtk4-wayland', required: false)
if gtk_wayland_dep.found() if gtk_wayland_dep.found()
gst_plugin_gl_base_deps += [gtk_wayland_dep, gstglwayland_dep] gst_plugin_gl_deps += [gtk_wayland_dep, gstglwayland_dep]
have_gtk_gl_windowing = true have_gtk_gl_windowing = true
endif endif
endif endif
if gst_gl_have_window_win32 and (gst_gl_have_platform_egl or gst_gl_have_platform_wgl) if plugin_gl_support_required and not have_gtk_gl_windowing
gtk_win32_dep = dependency('gtk4-win32', required: false) error('GL-based importer was enabled, but support for current GL windowing is missing')
if gtk_win32_dep.found()
gst_plugin_gl_base_deps += gtk_win32_dep
have_gtk_gl_windowing = true
endif
endif
if gst_gl_have_window_cocoa and gst_gl_have_platform_cgl
gtk_macos_dep = dependency('gtk4-macos', required: false)
if gtk_macos_dep.found()
gst_plugin_gl_base_deps += gtk_macos_dep
have_gtk_gl_windowing = true
endif
endif
if not have_gtk_gl_windowing
if gl_support_required
error('GL-based importer was enabled, but support for current GL windowing is missing')
endif
build_glbase = false
endif endif
if gst_gl_have_platform_egl if gst_gl_have_platform_egl
gst_plugin_gl_base_deps += gstglegl_dep gst_plugin_gl_deps += gstglegl_dep
endif endif
foreach dep : gst_plugin_gl_base_deps gst_clapper_gl_base_importer_deps = [
gst_clapper_sink_dep
] + gst_plugin_gl_deps
foreach dep : gst_clapper_gl_base_importer_deps
if not dep.found() if not dep.found()
if gl_support_required if plugin_gl_support_required
error('GL-based importer was enabled, but required dependencies were not found') error('GL-based importer was enabled, but required dependencies were not found')
endif endif
build_glbase = false plugin_needs_gl_base = false
endif endif
endforeach endforeach
if build_glbase if plugin_needs_gl_base
gst_clapper_gl_base_importer_dep = declare_dependency( gst_clapper_gl_base_importer_dep = declare_dependency(
link_with: library('gstclapperglbaseimporter', link_with: library('gstclapperglbaseimporter',
'gstclapperglbaseimporter.c', 'gstclapperglbaseimporter.c',
c_args: gst_clapper_plugin_args, c_args: gst_clapper_plugin_args,
include_directories: configinc, include_directories: configinc,
dependencies: gst_plugin_gl_base_deps, dependencies: gst_clapper_gl_base_importer_deps,
version: libversion, version: libversion,
install: true, install: true,
), ),
include_directories: configinc, include_directories: configinc,
dependencies: gst_plugin_gl_base_deps, dependencies: gst_clapper_gl_base_importer_deps,
) )
endif endif
@@ -135,7 +107,6 @@ endif
build_rawimporter = ( build_rawimporter = (
not get_option('rawimporter').disabled() not get_option('rawimporter').disabled()
and (not build_gluploader or get_option('rawimporter').enabled()) and (not build_gluploader or get_option('rawimporter').enabled())
and gst_clapper_sink_dep.found()
) )
if build_rawimporter if build_rawimporter
@@ -149,3 +120,38 @@ if build_rawimporter
install_dir: gst_clapper_importers_libdir, install_dir: gst_clapper_importers_libdir,
) )
endif endif
gst_va_dep = dependency('gstreamer-va-1.0',
version: gst_req,
required: false,
)
gst_clapper_va_gl_importer_deps = [
gst_clapper_gl_base_importer_dep,
gst_va_dep,
]
foreach dep : gst_clapper_va_gl_importer_deps
if not dep.found()
if get_option('vaglimporter').enabled()
error('VA GL-based importer was enabled, but required dependencies were not found')
endif
endif
endforeach
build_vaglimporter = (
not get_option('vaglimporter').disabled()
and gst_clapper_gl_base_importer_dep.found()
)
if build_vaglimporter
library(
'gstclappervaglimporter',
'gstclappervaglimporter.c',
dependencies: gst_clapper_va_gl_importer_deps,
include_directories: configinc,
c_args: gst_clapper_plugin_args,
install: true,
install_dir: gst_clapper_importers_libdir,
)
endif

View File

@@ -4,8 +4,6 @@ gst_clapper_plugin_args = [
'-DHAVE_CONFIG_H', '-DHAVE_CONFIG_H',
'-DGST_USE_UNSTABLE_API', '-DGST_USE_UNSTABLE_API',
] ]
gst_clapper_sink_dep = dependency('', required: false)
gtk4_dep = dependency('gtk4', version: '>=4.6.0', required: false) gtk4_dep = dependency('gtk4', version: '>=4.6.0', required: false)
gmodule_dep = dependency('gmodule-2.0', gmodule_dep = dependency('gmodule-2.0',
@@ -22,13 +20,12 @@ gst_clapper_plugin_deps = [
gmodule_dep, gmodule_dep,
] ]
build_gst_plugin = not get_option('gst-plugin').disabled()
foreach dep : gst_clapper_plugin_deps foreach dep : gst_clapper_plugin_deps
if not dep.found() if not dep.found()
if get_option('gst-plugin').enabled() if get_option('gst-plugin').enabled()
error('GStreamer plugin was enabled, but required dependencies were not found') error('GStreamer plugin was enabled, but required dependencies were not found')
endif endif
build_gst_plugin = false subdir_done()
endif endif
endforeach endforeach
@@ -45,19 +42,17 @@ gst_clapper_plugin_sources = [
'gstclapperimporterloader.c', 'gstclapperimporterloader.c',
] ]
if build_gst_plugin gst_clapper_sink_dep = declare_dependency(
gst_clapper_sink_dep = declare_dependency( link_with: library('gstclapper',
link_with: library('gstclapper', gst_clapper_plugin_sources,
gst_clapper_plugin_sources, c_args: gst_clapper_plugin_args,
c_args: gst_clapper_plugin_args,
include_directories: configinc,
dependencies: gst_clapper_plugin_deps,
install: true,
install_dir: gst_plugins_libdir,
),
include_directories: configinc, include_directories: configinc,
dependencies: gst_clapper_plugin_deps, dependencies: gst_clapper_plugin_deps,
) install: true,
endif install_dir: gst_plugins_libdir,
),
include_directories: configinc,
dependencies: gst_clapper_plugin_deps,
)
subdir('importers') subdir('importers')

13
lib/meson.build vendored
View File

@@ -9,8 +9,6 @@ cxx = meson.get_compiler('cpp')
cdata = configuration_data() cdata = configuration_data()
os_unix = host_machine.system() != 'windows'
if cc.get_id() == 'msvc' if cc.get_id() == 'msvc'
msvc_args = [ msvc_args = [
# Ignore several spurious warnings for things gstreamer does very commonly # Ignore several spurious warnings for things gstreamer does very commonly
@@ -245,12 +243,7 @@ libm = cc.find_library('m', required: false)
glib_dep = dependency('glib-2.0', version: glib_req, fallback: ['glib', 'libglib_dep']) glib_dep = dependency('glib-2.0', version: glib_req, fallback: ['glib', 'libglib_dep'])
gmodule_dep = dependency('gmodule-2.0', fallback: ['glib', 'libgmodule_dep']) gmodule_dep = dependency('gmodule-2.0', fallback: ['glib', 'libgmodule_dep'])
gio_dep = dependency('gio-2.0', fallback: ['glib', 'libgio_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'])
if os_unix
giounix_dep = dependency('gio-unix-2.0', version: glib_req, fallback: ['glib', 'libgio_dep'])
else
giowin_dep = dependency('gio-windows-2.0', version: glib_req, fallback : ['glib', 'libgio_dep'])
endif
cdata.set('DISABLE_ORC', 1) cdata.set('DISABLE_ORC', 1)
cdata.set('GST_ENABLE_EXTRA_CHECKS', get_option('devel-checks')) cdata.set('GST_ENABLE_EXTRA_CHECKS', get_option('devel-checks'))
@@ -258,7 +251,7 @@ cdata.set('GST_ENABLE_EXTRA_CHECKS', get_option('devel-checks'))
configinc = include_directories('.') configinc = include_directories('.')
libsinc = include_directories('gst') libsinc = include_directories('gst')
gir = find_program('g-ir-scanner', required: false) gir = find_program('g-ir-scanner')
gir_init_section = ['--add-init-section=extern void gst_init(gint*,gchar**);' + \ gir_init_section = ['--add-init-section=extern void gst_init(gint*,gchar**);' + \
'g_setenv("GST_REGISTRY_1.0", "@0@", TRUE);'.format(meson.current_build_dir() + '/gir_empty_registry.reg') + \ 'g_setenv("GST_REGISTRY_1.0", "@0@", TRUE);'.format(meson.current_build_dir() + '/gir_empty_registry.reg') + \
'g_setenv("GST_PLUGIN_PATH_1_0", "", TRUE);' + \ 'g_setenv("GST_PLUGIN_PATH_1_0", "", TRUE);' + \
@@ -266,7 +259,7 @@ gir_init_section = ['--add-init-section=extern void gst_init(gint*,gchar**);' +
'gst_init(NULL,NULL);', '--quiet' 'gst_init(NULL,NULL);', '--quiet'
] ]
gst_clapper_plugin_libdir = join_paths(get_option('prefix'), libdir, 'clapper-@0@'.format(api_version), 'gst', 'plugin') gst_clapper_plugin_libdir = join_paths(get_option('prefix'), libdir, 'clapper-0.0', 'gst', 'plugin')
gst_clapper_importers_libdir = join_paths(gst_clapper_plugin_libdir, 'importers') gst_clapper_importers_libdir = join_paths(gst_clapper_plugin_libdir, 'importers')
cdata.set_quoted('CLAPPER_SINK_IMPORTER_PATH', gst_clapper_importers_libdir) cdata.set_quoted('CLAPPER_SINK_IMPORTER_PATH', gst_clapper_importers_libdir)

View File

@@ -1,5 +1,5 @@
project('com.github.rafostar.Clapper', 'c', 'cpp', project('com.github.rafostar.Clapper', 'c', 'cpp',
version: '0.5.2', version: '0.4.1',
meson_version: '>= 0.50.0', meson_version: '>= 0.50.0',
license: 'GPL-3.0-or-later', license: 'GPL-3.0-or-later',
default_options: [ default_options: [

View File

@@ -10,10 +10,15 @@ option('lib',
) )
option('gst-plugin', option('gst-plugin',
type: 'feature', type: 'feature',
value: 'auto', value: 'enabled',
description: 'Build GStreamer plugin (includes GTK video sink element)' description: 'Build GStreamer plugin (includes GTK video sink element)'
) )
option('vaglimporter',
type: 'feature',
value: 'auto',
description: 'Build VA memory GL-based importer for clappersink'
)
option('glimporter', option('glimporter',
type: 'feature', type: 'feature',
value: 'auto', value: 'auto',

View File

@@ -18,11 +18,10 @@
"--device=all", "--device=all",
"--filesystem=xdg-run/pipewire-0:ro", "--filesystem=xdg-run/pipewire-0:ro",
"--filesystem=xdg-videos", "--filesystem=xdg-videos",
"--filesystem=xdg-run/gvfsd",
"--own-name=org.mpris.MediaPlayer2.Clapper", "--own-name=org.mpris.MediaPlayer2.Clapper",
"--talk-name=org.gtk.vfs.*",
"--talk-name=org.gnome.Shell", "--talk-name=org.gnome.Shell",
"--env=GST_PLUGIN_SYSTEM_PATH=/app/lib/gstreamer-1.0" "--env=GST_PLUGIN_SYSTEM_PATH=/app/lib/gstreamer-1.0",
"--env=GST_VAAPI_ALL_DRIVERS=1"
], ],
"build-options": { "build-options": {
"append-path": "/usr/lib/sdk/rust-nightly/bin:/usr/lib/sdk/llvm13/bin", "append-path": "/usr/lib/sdk/rust-nightly/bin:/usr/lib/sdk/llvm13/bin",

View File

@@ -14,11 +14,10 @@
"--device=all", "--device=all",
"--filesystem=xdg-run/pipewire-0:ro", "--filesystem=xdg-run/pipewire-0:ro",
"--filesystem=xdg-videos", "--filesystem=xdg-videos",
"--filesystem=xdg-run/gvfsd",
"--own-name=org.mpris.MediaPlayer2.Clapper", "--own-name=org.mpris.MediaPlayer2.Clapper",
"--talk-name=org.gtk.vfs.*",
"--talk-name=org.gnome.Shell", "--talk-name=org.gnome.Shell",
"--env=GST_PLUGIN_SYSTEM_PATH=/app/lib/gstreamer-1.0" "--env=GST_PLUGIN_SYSTEM_PATH=/app/lib/gstreamer-1.0",
"--env=GST_VAAPI_ALL_DRIVERS=1"
], ],
"modules": [ "modules": [
"flathub/shared-modules/gudev/gudev.json", "flathub/shared-modules/gudev/gudev.json",
@@ -34,15 +33,12 @@
"flathub/lib/ffmpeg.json", "flathub/lib/ffmpeg.json",
"flathub/lib/uchardet.json", "flathub/lib/uchardet.json",
"flathub/gstreamer-1.0/gstreamer.json", "flathub/gstreamer-1.0/gstreamer.json",
"flathub/lib/gtk4.json", "testing/gtk4.json",
"flathub/lib/libadwaita.json", "flathub/lib/libadwaita.json",
"testing/gtuber.json", "testing/gtuber.json",
{ {
"name": "clapper", "name": "clapper",
"buildsystem": "meson", "buildsystem": "meson",
"config-opts": [
"-Dc_args=\"-DHAVE_GST_PATCHES=1\""
],
"sources": [ "sources": [
{ {
"type": "dir", "type": "dir",

View File

@@ -0,0 +1,31 @@
From b413ee2c7d458c7005d3d3d1da8822cd86893ac0 Mon Sep 17 00:00:00 2001
From: Rafostar <40623528+Rafostar@users.noreply.github.com>
Date: Fri, 4 Dec 2020 19:25:34 +0100
Subject: [PATCH] popover: Call unrealize on hide
When popover is shown "realize" method is called which creates a new
surface for popup. Unfortunately this causes performance drop on Wayland until that
surface is destroyed what happens inside "unrealize" method during popover destruction.
This commit changes default behavior in a way that surface will be destroyed
when popover is closed and app will ragain the performance it lost when
popover was shown.
---
gtk/gtkpopover.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/gtk/gtkpopover.c b/gtk/gtkpopover.c
index 504dcd6cc1..a7a764d483 100644
--- a/gtk/gtkpopover.c
+++ b/gtk/gtkpopover.c
@@ -951,6 +951,7 @@ gtk_popover_hide (GtkWidget *widget)
gtk_popover_set_mnemonics_visible (GTK_POPOVER (widget), FALSE);
_gtk_widget_set_visible_flag (widget, FALSE);
+ gtk_widget_unrealize (widget);
gtk_widget_unmap (widget);
g_signal_emit (widget, signals[CLOSED], 0);
}
--
GitLab

View File

@@ -0,0 +1,37 @@
{
"name": "gtk",
"buildsystem": "meson",
"build-options": {
"build-args": [
"--share=network"
]
},
"config-opts": [
"--buildtype=release",
"-Dwin32-backend=false",
"-Dmacos-backend=false",
"-Dmedia-ffmpeg=disabled",
"-Dprint-cups=disabled",
"-Dintrospection=enabled",
"-Ddemos=false",
"-Dbuild-examples=false",
"-Dbuild-tests=false"
],
"cleanup": [
"/bin/gtk4-builder-tool",
"/bin/gtk4-encode-symbolic-svg"
],
"sources": [
{
"type": "git",
"url": "https://gitlab.gnome.org/GNOME/gtk.git",
"tag": "4.6.2",
"commit": "aec7ca82007dbe07faee6be084d20758ebac2b91"
},
{
"type": "patch",
"path": "gtk4-popover-unrealize.patch"
}
]
}

View File

@@ -1 +1 @@
ar ca cs de es eu fr he hu it ja nl pl pt pt_BR ru sv tr zh_CN ar ca cs de es eu fr hu it ja nl pl pt pt_BR ru sv tr zh_CN

165
po/af.po
View File

@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: clapper\n" "Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-26 18:41+0200\n" "POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2022-05-26 16:50\n" "PO-Revision-Date: 2021-09-14 15:25\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Afrikaans\n" "Language-Team: Afrikaans\n"
"Language: af_ZA\n" "Language: af_ZA\n"
@@ -41,11 +41,12 @@ msgstr ""
msgid "Speed" msgid "Speed"
msgstr "" msgstr ""
#: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:82 #: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:83
#: ui/preferences-window.ui:215
msgid "Normal" msgid "Normal"
msgstr "" msgstr ""
#: ui/help-overlay.ui:10 ui/preferences-window.ui:11 #: ui/help-overlay.ui:10 ui/preferences-window.ui:12
msgid "General" msgid "General"
msgstr "" msgstr ""
@@ -117,7 +118,7 @@ msgstr ""
msgid "Export to file" msgid "Export to file"
msgstr "" msgstr ""
#: ui/help-overlay.ui:95 ui/preferences-window.ui:118 #: ui/help-overlay.ui:95 ui/preferences-window.ui:119
msgid "Playback" msgid "Playback"
msgstr "" msgstr ""
@@ -181,183 +182,203 @@ msgstr ""
msgid "Return to the preferences" msgid "Return to the preferences"
msgstr "" msgstr ""
#: ui/preferences-window.ui:15 #: ui/preferences-window.ui:16
msgid "Behavior" msgid "Behavior"
msgstr "" msgstr ""
#: ui/preferences-window.ui:18 #: ui/preferences-window.ui:19
msgid "Auto fullscreen" msgid "Auto fullscreen"
msgstr "" msgstr ""
#: ui/preferences-window.ui:19 #: ui/preferences-window.ui:20
msgid "Enter fullscreen when playlist is replaced except floating mode" msgid "Enter fullscreen when playlist is replaced except floating mode"
msgstr "" msgstr ""
#: ui/preferences-window.ui:25 #: ui/preferences-window.ui:26
msgid "Ask to resume recent media" msgid "Ask to resume recent media"
msgstr "" msgstr ""
#: ui/preferences-window.ui:31 #: ui/preferences-window.ui:32
msgid "Float on all workspaces" msgid "Float on all workspaces"
msgstr "" msgstr ""
#: ui/preferences-window.ui:32 #: ui/preferences-window.ui:33
msgid "This option only works on GNOME" msgid "This option only works on GNOME"
msgstr "" msgstr ""
#: ui/preferences-window.ui:38 #: ui/preferences-window.ui:39
msgid "After playback" msgid "After playback"
msgstr "" msgstr ""
#: ui/preferences-window.ui:43 #: ui/preferences-window.ui:44
msgid "Do nothing" msgid "Do nothing"
msgstr "" msgstr ""
#: ui/preferences-window.ui:44 #: ui/preferences-window.ui:45
msgid "Freeze last frame" msgid "Freeze last frame"
msgstr "" msgstr ""
#: ui/preferences-window.ui:45 #: ui/preferences-window.ui:46
msgid "Close the app" msgid "Close the app"
msgstr "" msgstr ""
#: ui/preferences-window.ui:55 #: ui/preferences-window.ui:56
msgid "Volume" msgid "Volume"
msgstr "" msgstr ""
#: ui/preferences-window.ui:58 #: ui/preferences-window.ui:59
msgid "Custom initial value" msgid "Custom initial value"
msgstr "" msgstr ""
#: ui/preferences-window.ui:59 #: ui/preferences-window.ui:60
msgid "Set custom volume at startup instead of restoring it" msgid "Set custom volume at startup instead of restoring it"
msgstr "" msgstr ""
#: ui/preferences-window.ui:63 #: ui/preferences-window.ui:64
msgid "Volume percentage" msgid "Volume percentage"
msgstr "" msgstr ""
#: ui/preferences-window.ui:74 #: ui/preferences-window.ui:75
msgid "Seeking" msgid "Seeking"
msgstr "" msgstr ""
#: ui/preferences-window.ui:77 #: ui/preferences-window.ui:78
msgid "Mode" msgid "Mode"
msgstr "" msgstr ""
#: ui/preferences-window.ui:83 #: ui/preferences-window.ui:84
msgid "Accurate" msgid "Accurate"
msgstr "" msgstr ""
#: ui/preferences-window.ui:84 #: ui/preferences-window.ui:85
msgid "Fast" msgid "Fast"
msgstr "" msgstr ""
#: ui/preferences-window.ui:92 #: ui/preferences-window.ui:93
msgid "Unit" msgid "Unit"
msgstr "" msgstr ""
#: ui/preferences-window.ui:97 #: ui/preferences-window.ui:98
msgid "Second" msgid "Second"
msgstr "" msgstr ""
#: ui/preferences-window.ui:98 #: ui/preferences-window.ui:99
msgid "Minute" msgid "Minute"
msgstr "" msgstr ""
#: ui/preferences-window.ui:99 #: ui/preferences-window.ui:100
msgid "Percentage" msgid "Percentage"
msgstr "" msgstr ""
#: ui/preferences-window.ui:107 #: ui/preferences-window.ui:108
msgid "Value" msgid "Value"
msgstr "" msgstr ""
#: ui/preferences-window.ui:122 #: ui/preferences-window.ui:123
msgid "Audio" msgid "Audio"
msgstr "" msgstr ""
#: ui/preferences-window.ui:125 #: ui/preferences-window.ui:126
msgid "Offset in milliseconds" msgid "Offset in milliseconds"
msgstr "" msgstr ""
#: ui/preferences-window.ui:132 #: ui/preferences-window.ui:133
msgid "Only native audio formats" msgid "Only native audio formats"
msgstr "" msgstr ""
#: ui/preferences-window.ui:140 #: ui/preferences-window.ui:141
msgid "Subtitles" msgid "Subtitles"
msgstr "" msgstr ""
#: ui/preferences-window.ui:143 #: ui/preferences-window.ui:144
msgid "Default font" msgid "Default font"
msgstr "" msgstr ""
#: ui/preferences-window.ui:153 #: ui/preferences-window.ui:154
msgid "Network" msgid "Network"
msgstr "" msgstr ""
#: ui/preferences-window.ui:157 #: ui/preferences-window.ui:158
msgid "Client" msgid "Client"
msgstr "" msgstr ""
#: ui/preferences-window.ui:160 #: ui/preferences-window.ui:161
msgid "Progressive download buffering" msgid "Progressive download buffering"
msgstr "" msgstr ""
#: ui/preferences-window.ui:168 #: ui/preferences-window.ui:169
msgid "Server" msgid "Server"
msgstr "" msgstr ""
#: ui/preferences-window.ui:171 #: ui/preferences-window.ui:172
msgid "Control player remotely" msgid "Control player remotely"
msgstr "" msgstr ""
#: ui/preferences-window.ui:175 #: ui/preferences-window.ui:176
msgid "Listening port" msgid "Listening port"
msgstr "" msgstr ""
#: ui/preferences-window.ui:188 #: ui/preferences-window.ui:183
msgid "Tweaks" msgid "Run web application in background"
msgstr "" msgstr ""
#: ui/preferences-window.ui:192 #: ui/preferences-window.ui:184
msgid "Appearance" msgid "Requires GTK compiled with Broadway backend"
msgstr "" msgstr ""
#: ui/preferences-window.ui:195 #: ui/preferences-window.ui:190
msgid "Dark theme" msgid "Web application port"
msgstr "" msgstr ""
#: ui/preferences-window.ui:201 #: ui/preferences-window.ui:204
msgid "Render window shadows" msgid "Prefer adaptive streaming"
msgstr "" msgstr ""
#: ui/preferences-window.ui:202 #: ui/preferences-window.ui:210
msgid "Disable to increase performance when windowed" msgid "Max quality"
msgstr ""
#: ui/preferences-window.ui:213
msgid "Plugin ranking"
msgstr ""
#: ui/preferences-window.ui:214
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: ui/preferences-window.ui:219
msgid "Use playbin3"
msgstr ""
#: ui/preferences-window.ui:220 ui/preferences-window.ui:229
msgid "Requires player restart"
msgstr ""
#: ui/preferences-window.ui:222 ui/preferences-window.ui:231
msgid "Experimental"
msgstr "" msgstr ""
#: ui/preferences-window.ui:228 #: ui/preferences-window.ui:228
msgid "Tweaks"
msgstr ""
#: ui/preferences-window.ui:232
msgid "Appearance"
msgstr ""
#: ui/preferences-window.ui:235
msgid "Dark theme"
msgstr ""
#: ui/preferences-window.ui:241
msgid "Render window shadows"
msgstr ""
#: ui/preferences-window.ui:242
msgid "Disable to increase performance when windowed"
msgstr ""
#: ui/preferences-window.ui:253
msgid "Plugin ranking"
msgstr ""
#: ui/preferences-window.ui:254
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: ui/preferences-window.ui:259
msgid "Use playbin3"
msgstr ""
#: ui/preferences-window.ui:260 ui/preferences-window.ui:269
msgid "Requires player restart"
msgstr ""
#: ui/preferences-window.ui:262 ui/preferences-window.ui:271
msgid "Experimental"
msgstr ""
#: ui/preferences-window.ui:268
msgid "Use PipeWire for audio output" msgid "Use PipeWire for audio output"
msgstr "" msgstr ""
@@ -424,15 +445,15 @@ msgstr ""
msgid "Ends at: %s" msgid "Ends at: %s"
msgstr "" msgstr ""
#: src/widget.js:226 src/widget.js:235 src/widget.js:241 src/widget.js:247 #: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined" msgid "Undetermined"
msgstr "" msgstr ""
#: src/widget.js:242 #: src/widget.js:243
msgid "Channels" msgid "Channels"
msgstr "" msgstr ""
#: src/widget.js:260 #: src/widget.js:261
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""

127
po/ar.po
View File

@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: clapper\n" "Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-26 18:41+0200\n" "POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2022-05-26 16:50\n" "PO-Revision-Date: 2022-03-26 13:37\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Arabic\n" "Language-Team: Arabic\n"
"Language: ar_SA\n" "Language: ar_SA\n"
@@ -41,11 +41,12 @@ msgstr "حول Clapper"
msgid "Speed" msgid "Speed"
msgstr "السرعة" msgstr "السرعة"
#: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:82 #: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:83
#: ui/preferences-window.ui:215
msgid "Normal" msgid "Normal"
msgstr "عادي" msgstr "عادي"
#: ui/help-overlay.ui:10 ui/preferences-window.ui:11 #: ui/help-overlay.ui:10 ui/preferences-window.ui:12
msgid "General" msgid "General"
msgstr "عام" msgstr "عام"
@@ -117,7 +118,7 @@ msgstr "تغيير وضع التكرار"
msgid "Export to file" msgid "Export to file"
msgstr "التصدير إلى مِلَفّ" msgstr "التصدير إلى مِلَفّ"
#: ui/help-overlay.ui:95 ui/preferences-window.ui:118 #: ui/help-overlay.ui:95 ui/preferences-window.ui:119
msgid "Playback" msgid "Playback"
msgstr "المشغل" msgstr "المشغل"
@@ -181,183 +182,203 @@ msgstr "برامج فك التشفير"
msgid "Return to the preferences" msgid "Return to the preferences"
msgstr "العودة إلى الإعدادات" msgstr "العودة إلى الإعدادات"
#: ui/preferences-window.ui:15 #: ui/preferences-window.ui:16
msgid "Behavior" msgid "Behavior"
msgstr "السلوك" msgstr "السلوك"
#: ui/preferences-window.ui:18 #: ui/preferences-window.ui:19
msgid "Auto fullscreen" msgid "Auto fullscreen"
msgstr "ملء الشاشة تلقائياً" msgstr "ملء الشاشة تلقائياً"
#: ui/preferences-window.ui:19 #: ui/preferences-window.ui:20
msgid "Enter fullscreen when playlist is replaced except floating mode" msgid "Enter fullscreen when playlist is replaced except floating mode"
msgstr "أدخل ملء الشاشة عند استبدال قائمة التشغيل باستثناء الوضع العائم" msgstr "أدخل ملء الشاشة عند استبدال قائمة التشغيل باستثناء الوضع العائم"
#: ui/preferences-window.ui:25 #: ui/preferences-window.ui:26
msgid "Ask to resume recent media" msgid "Ask to resume recent media"
msgstr "اطلب استئناف الوسائط السابقة" msgstr "اطلب استئناف الوسائط السابقة"
#: ui/preferences-window.ui:31 #: ui/preferences-window.ui:32
msgid "Float on all workspaces" msgid "Float on all workspaces"
msgstr "عائم في جميع مساحات العمل" msgstr "عائم في جميع مساحات العمل"
#: ui/preferences-window.ui:32 #: ui/preferences-window.ui:33
msgid "This option only works on GNOME" msgid "This option only works on GNOME"
msgstr "هذا الخِيار يعمل فقط على GNOME" msgstr "هذا الخِيار يعمل فقط على GNOME"
#: ui/preferences-window.ui:38 #: ui/preferences-window.ui:39
msgid "After playback" msgid "After playback"
msgstr "بعد انتهاء" msgstr "بعد انتهاء"
#: ui/preferences-window.ui:43 #: ui/preferences-window.ui:44
msgid "Do nothing" msgid "Do nothing"
msgstr "لا تفعل شيئًا" msgstr "لا تفعل شيئًا"
#: ui/preferences-window.ui:44 #: ui/preferences-window.ui:45
msgid "Freeze last frame" msgid "Freeze last frame"
msgstr "تجميد الأخر لقطة" msgstr "تجميد الأخر لقطة"
#: ui/preferences-window.ui:45 #: ui/preferences-window.ui:46
msgid "Close the app" msgid "Close the app"
msgstr "أغلق التطبيق" msgstr "أغلق التطبيق"
#: ui/preferences-window.ui:55 #: ui/preferences-window.ui:56
msgid "Volume" msgid "Volume"
msgstr "الصوت" msgstr "الصوت"
#: ui/preferences-window.ui:58 #: ui/preferences-window.ui:59
msgid "Custom initial value" msgid "Custom initial value"
msgstr "قيمة الافتراضية مخصصة" msgstr "قيمة الافتراضية مخصصة"
#: ui/preferences-window.ui:59 #: ui/preferences-window.ui:60
msgid "Set custom volume at startup instead of restoring it" msgid "Set custom volume at startup instead of restoring it"
msgstr "تعيين مستوى صوت مخصص عند بَدْء التشغيل بدلاً من إعادته" msgstr "تعيين مستوى صوت مخصص عند بَدْء التشغيل بدلاً من إعادته"
#: ui/preferences-window.ui:63 #: ui/preferences-window.ui:64
msgid "Volume percentage" msgid "Volume percentage"
msgstr "حجم الصوت" msgstr "حجم الصوت"
#: ui/preferences-window.ui:74 #: ui/preferences-window.ui:75
msgid "Seeking" msgid "Seeking"
msgstr "الوضع" msgstr "الوضع"
#: ui/preferences-window.ui:77 #: ui/preferences-window.ui:78
msgid "Mode" msgid "Mode"
msgstr "النمط" msgstr "النمط"
#: ui/preferences-window.ui:83 #: ui/preferences-window.ui:84
msgid "Accurate" msgid "Accurate"
msgstr "دَقيق" msgstr "دَقيق"
#: ui/preferences-window.ui:84 #: ui/preferences-window.ui:85
msgid "Fast" msgid "Fast"
msgstr "سريع" msgstr "سريع"
#: ui/preferences-window.ui:92 #: ui/preferences-window.ui:93
msgid "Unit" msgid "Unit"
msgstr "الوحدة" msgstr "الوحدة"
#: ui/preferences-window.ui:97 #: ui/preferences-window.ui:98
msgid "Second" msgid "Second"
msgstr "ثواني" msgstr "ثواني"
#: ui/preferences-window.ui:98 #: ui/preferences-window.ui:99
msgid "Minute" msgid "Minute"
msgstr "دقائق" msgstr "دقائق"
#: ui/preferences-window.ui:99 #: ui/preferences-window.ui:100
msgid "Percentage" msgid "Percentage"
msgstr "النسبة المئوية" msgstr "النسبة المئوية"
#: ui/preferences-window.ui:107 #: ui/preferences-window.ui:108
msgid "Value" msgid "Value"
msgstr "القيمة" msgstr "القيمة"
#: ui/preferences-window.ui:122 #: ui/preferences-window.ui:123
msgid "Audio" msgid "Audio"
msgstr "الصوت" msgstr "الصوت"
#: ui/preferences-window.ui:125 #: ui/preferences-window.ui:126
msgid "Offset in milliseconds" msgid "Offset in milliseconds"
msgstr "إزاحة بالمللي ثانية" msgstr "إزاحة بالمللي ثانية"
#: ui/preferences-window.ui:132 #: ui/preferences-window.ui:133
msgid "Only native audio formats" msgid "Only native audio formats"
msgstr "تنسيقات الصوت الأصلية فقط" msgstr "تنسيقات الصوت الأصلية فقط"
#: ui/preferences-window.ui:140 #: ui/preferences-window.ui:141
msgid "Subtitles" msgid "Subtitles"
msgstr "التَّرْجَمَةً" msgstr "التَّرْجَمَةً"
#: ui/preferences-window.ui:143 #: ui/preferences-window.ui:144
msgid "Default font" msgid "Default font"
msgstr "الخط الافتراضي" msgstr "الخط الافتراضي"
#: ui/preferences-window.ui:153 #: ui/preferences-window.ui:154
msgid "Network" msgid "Network"
msgstr "الشبكة" msgstr "الشبكة"
#: ui/preferences-window.ui:157 #: ui/preferences-window.ui:158
msgid "Client" msgid "Client"
msgstr "العميل" msgstr "العميل"
#: ui/preferences-window.ui:160 #: ui/preferences-window.ui:161
msgid "Progressive download buffering" msgid "Progressive download buffering"
msgstr "التخزين المؤقت للتنزيل بالتدريج" msgstr "التخزين المؤقت للتنزيل بالتدريج"
#: ui/preferences-window.ui:168 #: ui/preferences-window.ui:169
msgid "Server" msgid "Server"
msgstr "الخادم" msgstr "الخادم"
#: ui/preferences-window.ui:171 #: ui/preferences-window.ui:172
msgid "Control player remotely" msgid "Control player remotely"
msgstr "التحكم بالوسائط عن بعد" msgstr "التحكم بالوسائط عن بعد"
#: ui/preferences-window.ui:175 #: ui/preferences-window.ui:176
msgid "Listening port" msgid "Listening port"
msgstr "منفذ الاستماع" msgstr "منفذ الاستماع"
#: ui/preferences-window.ui:188 #: ui/preferences-window.ui:183
msgid "Run web application in background"
msgstr "تشغيل تطبيق الويب في الخلفية"
#: ui/preferences-window.ui:184
msgid "Requires GTK compiled with Broadway backend"
msgstr "يتطلب GTK مجمعة مع Broadway backend"
#: ui/preferences-window.ui:190
msgid "Web application port"
msgstr "منفذ تطبيق الويب"
#: ui/preferences-window.ui:204
msgid "Prefer adaptive streaming"
msgstr "تفضيل البث التكيفي"
#: ui/preferences-window.ui:210
msgid "Max quality"
msgstr "الأعلى جودة"
#: ui/preferences-window.ui:228
msgid "Tweaks" msgid "Tweaks"
msgstr "تعديلات" msgstr "تعديلات"
#: ui/preferences-window.ui:192 #: ui/preferences-window.ui:232
msgid "Appearance" msgid "Appearance"
msgstr "إعدادات المظهر" msgstr "إعدادات المظهر"
#: ui/preferences-window.ui:195 #: ui/preferences-window.ui:235
msgid "Dark theme" msgid "Dark theme"
msgstr "المظهر الداكن" msgstr "المظهر الداكن"
#: ui/preferences-window.ui:201 #: ui/preferences-window.ui:241
msgid "Render window shadows" msgid "Render window shadows"
msgstr "عرض ظلال النافذة" msgstr "عرض ظلال النافذة"
#: ui/preferences-window.ui:202 #: ui/preferences-window.ui:242
msgid "Disable to increase performance when windowed" msgid "Disable to increase performance when windowed"
msgstr "تعطيل لزيادة الأداء عند وضع النافذة" msgstr "تعطيل لزيادة الأداء عند وضع النافذة"
#: ui/preferences-window.ui:213 #: ui/preferences-window.ui:253
msgid "Plugin ranking" msgid "Plugin ranking"
msgstr "أعدادات الإضافات" msgstr "أعدادات الإضافات"
#: ui/preferences-window.ui:214 #: ui/preferences-window.ui:254
msgid "Alter default ranks of GStreamer plugins" msgid "Alter default ranks of GStreamer plugins"
msgstr "تغيير الأعدادات الافتراضية للأضافات GStreamer" msgstr "تغيير الأعدادات الافتراضية للأضافات GStreamer"
#: ui/preferences-window.ui:219 #: ui/preferences-window.ui:259
msgid "Use playbin3" msgid "Use playbin3"
msgstr "استخدام playbin3" msgstr "استخدام playbin3"
#: ui/preferences-window.ui:220 ui/preferences-window.ui:229 #: ui/preferences-window.ui:260 ui/preferences-window.ui:269
msgid "Requires player restart" msgid "Requires player restart"
msgstr "يتطلب إعادة التشغيل" msgstr "يتطلب إعادة التشغيل"
#: ui/preferences-window.ui:222 ui/preferences-window.ui:231 #: ui/preferences-window.ui:262 ui/preferences-window.ui:271
msgid "Experimental" msgid "Experimental"
msgstr "تجريبية" msgstr "تجريبية"
#: ui/preferences-window.ui:228 #: ui/preferences-window.ui:268
msgid "Use PipeWire for audio output" msgid "Use PipeWire for audio output"
msgstr "استخدام PipeWire لإخراج الصوت" msgstr "استخدام PipeWire لإخراج الصوت"
@@ -424,15 +445,15 @@ msgstr "Yousef Fawaz"
msgid "Ends at: %s" msgid "Ends at: %s"
msgstr "ينتهي في: %s" msgstr "ينتهي في: %s"
#: src/widget.js:226 src/widget.js:235 src/widget.js:241 src/widget.js:247 #: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined" msgid "Undetermined"
msgstr "غير محدّد" msgstr "غير محدّد"
#: src/widget.js:242 #: src/widget.js:243
msgid "Channels" msgid "Channels"
msgstr "قنوات" msgstr "قنوات"
#: src/widget.js:260 #: src/widget.js:261
msgid "Disabled" msgid "Disabled"
msgstr "مُعطّل" msgstr "مُعطّل"

127
po/ca.po
View File

@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: clapper\n" "Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-26 18:41+0200\n" "POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2022-05-26 16:50\n" "PO-Revision-Date: 2021-09-14 16:21\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Catalan\n" "Language-Team: Catalan\n"
"Language: ca_ES\n" "Language: ca_ES\n"
@@ -41,11 +41,12 @@ msgstr "Quant al Clapper"
msgid "Speed" msgid "Speed"
msgstr "Velocitat" msgstr "Velocitat"
#: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:82 #: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:83
#: ui/preferences-window.ui:215
msgid "Normal" msgid "Normal"
msgstr "Normal" msgstr "Normal"
#: ui/help-overlay.ui:10 ui/preferences-window.ui:11 #: ui/help-overlay.ui:10 ui/preferences-window.ui:12
msgid "General" msgid "General"
msgstr "General" msgstr "General"
@@ -117,7 +118,7 @@ msgstr "Canvia el mode de repetició"
msgid "Export to file" msgid "Export to file"
msgstr "Exporta a un fitxer" msgstr "Exporta a un fitxer"
#: ui/help-overlay.ui:95 ui/preferences-window.ui:118 #: ui/help-overlay.ui:95 ui/preferences-window.ui:119
msgid "Playback" msgid "Playback"
msgstr "Reproducció" msgstr "Reproducció"
@@ -181,183 +182,203 @@ msgstr "Descodificadors"
msgid "Return to the preferences" msgid "Return to the preferences"
msgstr "Torna a les preferències" msgstr "Torna a les preferències"
#: ui/preferences-window.ui:15 #: ui/preferences-window.ui:16
msgid "Behavior" msgid "Behavior"
msgstr "Comportament" msgstr "Comportament"
#: ui/preferences-window.ui:18 #: ui/preferences-window.ui:19
msgid "Auto fullscreen" msgid "Auto fullscreen"
msgstr "Pantalla completa automàtica" msgstr "Pantalla completa automàtica"
#: ui/preferences-window.ui:19 #: ui/preferences-window.ui:20
msgid "Enter fullscreen when playlist is replaced except floating mode" msgid "Enter fullscreen when playlist is replaced except floating mode"
msgstr "Entra a pantalla completa quan se substitueix la llista de reproducció excepte el mode flotant" msgstr "Entra a pantalla completa quan se substitueix la llista de reproducció excepte el mode flotant"
#: ui/preferences-window.ui:25 #: ui/preferences-window.ui:26
msgid "Ask to resume recent media" msgid "Ask to resume recent media"
msgstr "Pregunta per reprendre recents" msgstr "Pregunta per reprendre recents"
#: ui/preferences-window.ui:31 #: ui/preferences-window.ui:32
msgid "Float on all workspaces" msgid "Float on all workspaces"
msgstr "Flota en tots els espais de treball" msgstr "Flota en tots els espais de treball"
#: ui/preferences-window.ui:32 #: ui/preferences-window.ui:33
msgid "This option only works on GNOME" msgid "This option only works on GNOME"
msgstr "Aquesta opció només funciona amb el GNOME" msgstr "Aquesta opció només funciona amb el GNOME"
#: ui/preferences-window.ui:38 #: ui/preferences-window.ui:39
msgid "After playback" msgid "After playback"
msgstr "Després de la reproducció" msgstr "Després de la reproducció"
#: ui/preferences-window.ui:43 #: ui/preferences-window.ui:44
msgid "Do nothing" msgid "Do nothing"
msgstr "No facis res" msgstr "No facis res"
#: ui/preferences-window.ui:44 #: ui/preferences-window.ui:45
msgid "Freeze last frame" msgid "Freeze last frame"
msgstr "Congela l'últim fotograma" msgstr "Congela l'últim fotograma"
#: ui/preferences-window.ui:45 #: ui/preferences-window.ui:46
msgid "Close the app" msgid "Close the app"
msgstr "Surt de l'aplicació" msgstr "Surt de l'aplicació"
#: ui/preferences-window.ui:55 #: ui/preferences-window.ui:56
msgid "Volume" msgid "Volume"
msgstr "Volum" msgstr "Volum"
#: ui/preferences-window.ui:58 #: ui/preferences-window.ui:59
msgid "Custom initial value" msgid "Custom initial value"
msgstr "Valor inicial personalitzat" msgstr "Valor inicial personalitzat"
#: ui/preferences-window.ui:59 #: ui/preferences-window.ui:60
msgid "Set custom volume at startup instead of restoring it" msgid "Set custom volume at startup instead of restoring it"
msgstr "Estableix el volum personalitzat a l'inici en lloc de restaurar-lo" msgstr "Estableix el volum personalitzat a l'inici en lloc de restaurar-lo"
#: ui/preferences-window.ui:63 #: ui/preferences-window.ui:64
msgid "Volume percentage" msgid "Volume percentage"
msgstr "Percentatge de volum" msgstr "Percentatge de volum"
#: ui/preferences-window.ui:74 #: ui/preferences-window.ui:75
msgid "Seeking" msgid "Seeking"
msgstr "Cerca" msgstr "Cerca"
#: ui/preferences-window.ui:77 #: ui/preferences-window.ui:78
msgid "Mode" msgid "Mode"
msgstr "Mode" msgstr "Mode"
#: ui/preferences-window.ui:83 #: ui/preferences-window.ui:84
msgid "Accurate" msgid "Accurate"
msgstr "Acurat" msgstr "Acurat"
#: ui/preferences-window.ui:84 #: ui/preferences-window.ui:85
msgid "Fast" msgid "Fast"
msgstr "Ràpid" msgstr "Ràpid"
#: ui/preferences-window.ui:92 #: ui/preferences-window.ui:93
msgid "Unit" msgid "Unit"
msgstr "Unitat" msgstr "Unitat"
#: ui/preferences-window.ui:97 #: ui/preferences-window.ui:98
msgid "Second" msgid "Second"
msgstr "Segon" msgstr "Segon"
#: ui/preferences-window.ui:98 #: ui/preferences-window.ui:99
msgid "Minute" msgid "Minute"
msgstr "Minut" msgstr "Minut"
#: ui/preferences-window.ui:99 #: ui/preferences-window.ui:100
msgid "Percentage" msgid "Percentage"
msgstr "Percentatge" msgstr "Percentatge"
#: ui/preferences-window.ui:107 #: ui/preferences-window.ui:108
msgid "Value" msgid "Value"
msgstr "Valor" msgstr "Valor"
#: ui/preferences-window.ui:122 #: ui/preferences-window.ui:123
msgid "Audio" msgid "Audio"
msgstr "Àudio" msgstr "Àudio"
#: ui/preferences-window.ui:125 #: ui/preferences-window.ui:126
msgid "Offset in milliseconds" msgid "Offset in milliseconds"
msgstr "Desplaçament en mil·lisegons" msgstr "Desplaçament en mil·lisegons"
#: ui/preferences-window.ui:132 #: ui/preferences-window.ui:133
msgid "Only native audio formats" msgid "Only native audio formats"
msgstr "Només formats d'àudio natius" msgstr "Només formats d'àudio natius"
#: ui/preferences-window.ui:140 #: ui/preferences-window.ui:141
msgid "Subtitles" msgid "Subtitles"
msgstr "Subtítols" msgstr "Subtítols"
#: ui/preferences-window.ui:143 #: ui/preferences-window.ui:144
msgid "Default font" msgid "Default font"
msgstr "Tipus de lletra per defecte" msgstr "Tipus de lletra per defecte"
#: ui/preferences-window.ui:153 #: ui/preferences-window.ui:154
msgid "Network" msgid "Network"
msgstr "Xarxa" msgstr "Xarxa"
#: ui/preferences-window.ui:157 #: ui/preferences-window.ui:158
msgid "Client" msgid "Client"
msgstr "Client" msgstr "Client"
#: ui/preferences-window.ui:160 #: ui/preferences-window.ui:161
msgid "Progressive download buffering" msgid "Progressive download buffering"
msgstr "Memòria intermèdia de baixada progressiva" msgstr "Memòria intermèdia de baixada progressiva"
#: ui/preferences-window.ui:168 #: ui/preferences-window.ui:169
msgid "Server" msgid "Server"
msgstr "Servidor" msgstr "Servidor"
#: ui/preferences-window.ui:171 #: ui/preferences-window.ui:172
msgid "Control player remotely" msgid "Control player remotely"
msgstr "Controla el reproductor remotament" msgstr "Controla el reproductor remotament"
#: ui/preferences-window.ui:175 #: ui/preferences-window.ui:176
msgid "Listening port" msgid "Listening port"
msgstr "Port d'escolta" msgstr "Port d'escolta"
#: ui/preferences-window.ui:188 #: ui/preferences-window.ui:183
msgid "Run web application in background"
msgstr "Executa l'aplicació web en segon pla"
#: ui/preferences-window.ui:184
msgid "Requires GTK compiled with Broadway backend"
msgstr "Requereix el GTK compilat amb el backend Broadway"
#: ui/preferences-window.ui:190
msgid "Web application port"
msgstr "Port de l'aplicació web"
#: ui/preferences-window.ui:204
msgid "Prefer adaptive streaming"
msgstr "Prefereix la transmissió adaptativa"
#: ui/preferences-window.ui:210
msgid "Max quality"
msgstr "Qualitat màxima"
#: ui/preferences-window.ui:228
msgid "Tweaks" msgid "Tweaks"
msgstr "Ajustaments" msgstr "Ajustaments"
#: ui/preferences-window.ui:192 #: ui/preferences-window.ui:232
msgid "Appearance" msgid "Appearance"
msgstr "Aparença" msgstr "Aparença"
#: ui/preferences-window.ui:195 #: ui/preferences-window.ui:235
msgid "Dark theme" msgid "Dark theme"
msgstr "Tema fosc" msgstr "Tema fosc"
#: ui/preferences-window.ui:201 #: ui/preferences-window.ui:241
msgid "Render window shadows" msgid "Render window shadows"
msgstr "Renderitza les ombres de la finestra" msgstr "Renderitza les ombres de la finestra"
#: ui/preferences-window.ui:202 #: ui/preferences-window.ui:242
msgid "Disable to increase performance when windowed" msgid "Disable to increase performance when windowed"
msgstr "Inhabilita per augmentar el rendiment en mode finestra" msgstr "Inhabilita per augmentar el rendiment en mode finestra"
#: ui/preferences-window.ui:213 #: ui/preferences-window.ui:253
msgid "Plugin ranking" msgid "Plugin ranking"
msgstr "Classificació dels connectors" msgstr "Classificació dels connectors"
#: ui/preferences-window.ui:214 #: ui/preferences-window.ui:254
msgid "Alter default ranks of GStreamer plugins" msgid "Alter default ranks of GStreamer plugins"
msgstr "Altera els rangs predeterminats dels connectors del GStreamer" msgstr "Altera els rangs predeterminats dels connectors del GStreamer"
#: ui/preferences-window.ui:219 #: ui/preferences-window.ui:259
msgid "Use playbin3" msgid "Use playbin3"
msgstr "Usa playbin3" msgstr "Usa playbin3"
#: ui/preferences-window.ui:220 ui/preferences-window.ui:229 #: ui/preferences-window.ui:260 ui/preferences-window.ui:269
msgid "Requires player restart" msgid "Requires player restart"
msgstr "Requereix reiniciar el reproductor" msgstr "Requereix reiniciar el reproductor"
#: ui/preferences-window.ui:222 ui/preferences-window.ui:231 #: ui/preferences-window.ui:262 ui/preferences-window.ui:271
msgid "Experimental" msgid "Experimental"
msgstr "Experimental" msgstr "Experimental"
#: ui/preferences-window.ui:228 #: ui/preferences-window.ui:268
msgid "Use PipeWire for audio output" msgid "Use PipeWire for audio output"
msgstr "Usa PipeWire per la sortida d'àudio" msgstr "Usa PipeWire per la sortida d'àudio"
@@ -424,15 +445,15 @@ msgstr "Ícar Nin Solana <icar.nin@protonmail.com>, 2021"
msgid "Ends at: %s" msgid "Ends at: %s"
msgstr "Acaba a la/les %s" msgstr "Acaba a la/les %s"
#: src/widget.js:226 src/widget.js:235 src/widget.js:241 src/widget.js:247 #: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined" msgid "Undetermined"
msgstr "Sense determinar" msgstr "Sense determinar"
#: src/widget.js:242 #: src/widget.js:243
msgid "Channels" msgid "Channels"
msgstr "Canals" msgstr "Canals"
#: src/widget.js:260 #: src/widget.js:261
msgid "Disabled" msgid "Disabled"
msgstr "Deshabilitat" msgstr "Deshabilitat"

View File

@@ -8,13 +8,13 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: com.github.rafostar.Clapper\n" "Project-Id-Version: com.github.rafostar.Clapper\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-26 18:41+0200\n" "POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n" "Language: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#: ui/clapper.ui:6 #: ui/clapper.ui:6
@@ -41,11 +41,12 @@ msgstr ""
msgid "Speed" msgid "Speed"
msgstr "" msgstr ""
#: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:82 #: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:83
#: ui/preferences-window.ui:215
msgid "Normal" msgid "Normal"
msgstr "" msgstr ""
#: ui/help-overlay.ui:10 ui/preferences-window.ui:11 #: ui/help-overlay.ui:10 ui/preferences-window.ui:12
msgid "General" msgid "General"
msgstr "" msgstr ""
@@ -117,7 +118,7 @@ msgstr ""
msgid "Export to file" msgid "Export to file"
msgstr "" msgstr ""
#: ui/help-overlay.ui:95 ui/preferences-window.ui:118 #: ui/help-overlay.ui:95 ui/preferences-window.ui:119
msgid "Playback" msgid "Playback"
msgstr "" msgstr ""
@@ -181,183 +182,203 @@ msgstr ""
msgid "Return to the preferences" msgid "Return to the preferences"
msgstr "" msgstr ""
#: ui/preferences-window.ui:15 #: ui/preferences-window.ui:16
msgid "Behavior" msgid "Behavior"
msgstr "" msgstr ""
#: ui/preferences-window.ui:18 #: ui/preferences-window.ui:19
msgid "Auto fullscreen" msgid "Auto fullscreen"
msgstr "" msgstr ""
#: ui/preferences-window.ui:19 #: ui/preferences-window.ui:20
msgid "Enter fullscreen when playlist is replaced except floating mode" msgid "Enter fullscreen when playlist is replaced except floating mode"
msgstr "" msgstr ""
#: ui/preferences-window.ui:25 #: ui/preferences-window.ui:26
msgid "Ask to resume recent media" msgid "Ask to resume recent media"
msgstr "" msgstr ""
#: ui/preferences-window.ui:31 #: ui/preferences-window.ui:32
msgid "Float on all workspaces" msgid "Float on all workspaces"
msgstr "" msgstr ""
#: ui/preferences-window.ui:32 #: ui/preferences-window.ui:33
msgid "This option only works on GNOME" msgid "This option only works on GNOME"
msgstr "" msgstr ""
#: ui/preferences-window.ui:38 #: ui/preferences-window.ui:39
msgid "After playback" msgid "After playback"
msgstr "" msgstr ""
#: ui/preferences-window.ui:43 #: ui/preferences-window.ui:44
msgid "Do nothing" msgid "Do nothing"
msgstr "" msgstr ""
#: ui/preferences-window.ui:44 #: ui/preferences-window.ui:45
msgid "Freeze last frame" msgid "Freeze last frame"
msgstr "" msgstr ""
#: ui/preferences-window.ui:45 #: ui/preferences-window.ui:46
msgid "Close the app" msgid "Close the app"
msgstr "" msgstr ""
#: ui/preferences-window.ui:55 #: ui/preferences-window.ui:56
msgid "Volume" msgid "Volume"
msgstr "" msgstr ""
#: ui/preferences-window.ui:58 #: ui/preferences-window.ui:59
msgid "Custom initial value" msgid "Custom initial value"
msgstr "" msgstr ""
#: ui/preferences-window.ui:59 #: ui/preferences-window.ui:60
msgid "Set custom volume at startup instead of restoring it" msgid "Set custom volume at startup instead of restoring it"
msgstr "" msgstr ""
#: ui/preferences-window.ui:63 #: ui/preferences-window.ui:64
msgid "Volume percentage" msgid "Volume percentage"
msgstr "" msgstr ""
#: ui/preferences-window.ui:74 #: ui/preferences-window.ui:75
msgid "Seeking" msgid "Seeking"
msgstr "" msgstr ""
#: ui/preferences-window.ui:77 #: ui/preferences-window.ui:78
msgid "Mode" msgid "Mode"
msgstr "" msgstr ""
#: ui/preferences-window.ui:83 #: ui/preferences-window.ui:84
msgid "Accurate" msgid "Accurate"
msgstr "" msgstr ""
#: ui/preferences-window.ui:84 #: ui/preferences-window.ui:85
msgid "Fast" msgid "Fast"
msgstr "" msgstr ""
#: ui/preferences-window.ui:92 #: ui/preferences-window.ui:93
msgid "Unit" msgid "Unit"
msgstr "" msgstr ""
#: ui/preferences-window.ui:97 #: ui/preferences-window.ui:98
msgid "Second" msgid "Second"
msgstr "" msgstr ""
#: ui/preferences-window.ui:98 #: ui/preferences-window.ui:99
msgid "Minute" msgid "Minute"
msgstr "" msgstr ""
#: ui/preferences-window.ui:99 #: ui/preferences-window.ui:100
msgid "Percentage" msgid "Percentage"
msgstr "" msgstr ""
#: ui/preferences-window.ui:107 #: ui/preferences-window.ui:108
msgid "Value" msgid "Value"
msgstr "" msgstr ""
#: ui/preferences-window.ui:122 #: ui/preferences-window.ui:123
msgid "Audio" msgid "Audio"
msgstr "" msgstr ""
#: ui/preferences-window.ui:125 #: ui/preferences-window.ui:126
msgid "Offset in milliseconds" msgid "Offset in milliseconds"
msgstr "" msgstr ""
#: ui/preferences-window.ui:132 #: ui/preferences-window.ui:133
msgid "Only native audio formats" msgid "Only native audio formats"
msgstr "" msgstr ""
#: ui/preferences-window.ui:140 #: ui/preferences-window.ui:141
msgid "Subtitles" msgid "Subtitles"
msgstr "" msgstr ""
#: ui/preferences-window.ui:143 #: ui/preferences-window.ui:144
msgid "Default font" msgid "Default font"
msgstr "" msgstr ""
#: ui/preferences-window.ui:153 #: ui/preferences-window.ui:154
msgid "Network" msgid "Network"
msgstr "" msgstr ""
#: ui/preferences-window.ui:157 #: ui/preferences-window.ui:158
msgid "Client" msgid "Client"
msgstr "" msgstr ""
#: ui/preferences-window.ui:160 #: ui/preferences-window.ui:161
msgid "Progressive download buffering" msgid "Progressive download buffering"
msgstr "" msgstr ""
#: ui/preferences-window.ui:168 #: ui/preferences-window.ui:169
msgid "Server" msgid "Server"
msgstr "" msgstr ""
#: ui/preferences-window.ui:171 #: ui/preferences-window.ui:172
msgid "Control player remotely" msgid "Control player remotely"
msgstr "" msgstr ""
#: ui/preferences-window.ui:175 #: ui/preferences-window.ui:176
msgid "Listening port" msgid "Listening port"
msgstr "" msgstr ""
#: ui/preferences-window.ui:188 #: ui/preferences-window.ui:183
msgid "Tweaks" msgid "Run web application in background"
msgstr "" msgstr ""
#: ui/preferences-window.ui:192 #: ui/preferences-window.ui:184
msgid "Appearance" msgid "Requires GTK compiled with Broadway backend"
msgstr "" msgstr ""
#: ui/preferences-window.ui:195 #: ui/preferences-window.ui:190
msgid "Dark theme" msgid "Web application port"
msgstr "" msgstr ""
#: ui/preferences-window.ui:201 #: ui/preferences-window.ui:204
msgid "Render window shadows" msgid "Prefer adaptive streaming"
msgstr "" msgstr ""
#: ui/preferences-window.ui:202 #: ui/preferences-window.ui:210
msgid "Disable to increase performance when windowed" msgid "Max quality"
msgstr ""
#: ui/preferences-window.ui:213
msgid "Plugin ranking"
msgstr ""
#: ui/preferences-window.ui:214
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: ui/preferences-window.ui:219
msgid "Use playbin3"
msgstr ""
#: ui/preferences-window.ui:220 ui/preferences-window.ui:229
msgid "Requires player restart"
msgstr ""
#: ui/preferences-window.ui:222 ui/preferences-window.ui:231
msgid "Experimental"
msgstr "" msgstr ""
#: ui/preferences-window.ui:228 #: ui/preferences-window.ui:228
msgid "Tweaks"
msgstr ""
#: ui/preferences-window.ui:232
msgid "Appearance"
msgstr ""
#: ui/preferences-window.ui:235
msgid "Dark theme"
msgstr ""
#: ui/preferences-window.ui:241
msgid "Render window shadows"
msgstr ""
#: ui/preferences-window.ui:242
msgid "Disable to increase performance when windowed"
msgstr ""
#: ui/preferences-window.ui:253
msgid "Plugin ranking"
msgstr ""
#: ui/preferences-window.ui:254
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: ui/preferences-window.ui:259
msgid "Use playbin3"
msgstr ""
#: ui/preferences-window.ui:260 ui/preferences-window.ui:269
msgid "Requires player restart"
msgstr ""
#: ui/preferences-window.ui:262 ui/preferences-window.ui:271
msgid "Experimental"
msgstr ""
#: ui/preferences-window.ui:268
msgid "Use PipeWire for audio output" msgid "Use PipeWire for audio output"
msgstr "" msgstr ""
@@ -424,14 +445,14 @@ msgstr ""
msgid "Ends at: %s" msgid "Ends at: %s"
msgstr "" msgstr ""
#: src/widget.js:226 src/widget.js:235 src/widget.js:241 src/widget.js:247 #: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined" msgid "Undetermined"
msgstr "" msgstr ""
#: src/widget.js:242 #: src/widget.js:243
msgid "Channels" msgid "Channels"
msgstr "" msgstr ""
#: src/widget.js:260 #: src/widget.js:261
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""

127
po/cs.po
View File

@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: clapper\n" "Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-26 18:41+0200\n" "POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2022-05-26 16:50\n" "PO-Revision-Date: 2021-09-19 20:57\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Czech\n" "Language-Team: Czech\n"
"Language: cs_CZ\n" "Language: cs_CZ\n"
@@ -41,11 +41,12 @@ msgstr "O aplikaci Clapper"
msgid "Speed" msgid "Speed"
msgstr "Rychlost" msgstr "Rychlost"
#: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:82 #: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:83
#: ui/preferences-window.ui:215
msgid "Normal" msgid "Normal"
msgstr "Normální" msgstr "Normální"
#: ui/help-overlay.ui:10 ui/preferences-window.ui:11 #: ui/help-overlay.ui:10 ui/preferences-window.ui:12
msgid "General" msgid "General"
msgstr "Obecné" msgstr "Obecné"
@@ -117,7 +118,7 @@ msgstr "Změnit režim opakování"
msgid "Export to file" msgid "Export to file"
msgstr "Exportovat do souboru" msgstr "Exportovat do souboru"
#: ui/help-overlay.ui:95 ui/preferences-window.ui:118 #: ui/help-overlay.ui:95 ui/preferences-window.ui:119
msgid "Playback" msgid "Playback"
msgstr "Přehrávání" msgstr "Přehrávání"
@@ -181,183 +182,203 @@ msgstr "Dekodéry"
msgid "Return to the preferences" msgid "Return to the preferences"
msgstr "Zpět do předvoleb" msgstr "Zpět do předvoleb"
#: ui/preferences-window.ui:15 #: ui/preferences-window.ui:16
msgid "Behavior" msgid "Behavior"
msgstr "Chování" msgstr "Chování"
#: ui/preferences-window.ui:18 #: ui/preferences-window.ui:19
msgid "Auto fullscreen" msgid "Auto fullscreen"
msgstr "Automaticky na celou obrazovku" msgstr "Automaticky na celou obrazovku"
#: ui/preferences-window.ui:19 #: ui/preferences-window.ui:20
msgid "Enter fullscreen when playlist is replaced except floating mode" msgid "Enter fullscreen when playlist is replaced except floating mode"
msgstr "Přejít do režimu na celou obrazovku při nahrazení seznamu skladeb s výjimkou plovoucího režimu" 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:25 #: ui/preferences-window.ui:26
msgid "Ask to resume recent media" msgid "Ask to resume recent media"
msgstr "Zeptat se na obnovení nedávných médií" msgstr "Zeptat se na obnovení nedávných médií"
#: ui/preferences-window.ui:31 #: ui/preferences-window.ui:32
msgid "Float on all workspaces" msgid "Float on all workspaces"
msgstr "Plovoucí režim na všech pracovních plochách" msgstr "Plovoucí režim na všech pracovních plochách"
#: ui/preferences-window.ui:32 #: ui/preferences-window.ui:33
msgid "This option only works on GNOME" msgid "This option only works on GNOME"
msgstr "Tato možnost funguje pouze na GNOME" msgstr "Tato možnost funguje pouze na GNOME"
#: ui/preferences-window.ui:38 #: ui/preferences-window.ui:39
msgid "After playback" msgid "After playback"
msgstr "Po skončení přehrávání" msgstr "Po skončení přehrávání"
#: ui/preferences-window.ui:43 #: ui/preferences-window.ui:44
msgid "Do nothing" msgid "Do nothing"
msgstr "Nedělat nic" msgstr "Nedělat nic"
#: ui/preferences-window.ui:44 #: ui/preferences-window.ui:45
msgid "Freeze last frame" msgid "Freeze last frame"
msgstr "Zůstat na posledním snímku" msgstr "Zůstat na posledním snímku"
#: ui/preferences-window.ui:45 #: ui/preferences-window.ui:46
msgid "Close the app" msgid "Close the app"
msgstr "Zavřít aplikaci" msgstr "Zavřít aplikaci"
#: ui/preferences-window.ui:55 #: ui/preferences-window.ui:56
msgid "Volume" msgid "Volume"
msgstr "Hlasitost" msgstr "Hlasitost"
#: ui/preferences-window.ui:58 #: ui/preferences-window.ui:59
msgid "Custom initial value" msgid "Custom initial value"
msgstr "Vlastní počáteční hodnota" msgstr "Vlastní počáteční hodnota"
#: ui/preferences-window.ui:59 #: ui/preferences-window.ui:60
msgid "Set custom volume at startup instead of restoring it" msgid "Set custom volume at startup instead of restoring it"
msgstr "Nastavit vlastní hlasitost při spuštění namísto obnovení předchozí hodnoty" msgstr "Nastavit vlastní hlasitost při spuštění namísto obnovení předchozí hodnoty"
#: ui/preferences-window.ui:63 #: ui/preferences-window.ui:64
msgid "Volume percentage" msgid "Volume percentage"
msgstr "Procento hlasitosti" msgstr "Procento hlasitosti"
#: ui/preferences-window.ui:74 #: ui/preferences-window.ui:75
msgid "Seeking" msgid "Seeking"
msgstr "Přetáčení" msgstr "Přetáčení"
#: ui/preferences-window.ui:77 #: ui/preferences-window.ui:78
msgid "Mode" msgid "Mode"
msgstr "Režim" msgstr "Režim"
#: ui/preferences-window.ui:83 #: ui/preferences-window.ui:84
msgid "Accurate" msgid "Accurate"
msgstr "Přesný" msgstr "Přesný"
#: ui/preferences-window.ui:84 #: ui/preferences-window.ui:85
msgid "Fast" msgid "Fast"
msgstr "Rychlý" msgstr "Rychlý"
#: ui/preferences-window.ui:92 #: ui/preferences-window.ui:93
msgid "Unit" msgid "Unit"
msgstr "Jednotka" msgstr "Jednotka"
#: ui/preferences-window.ui:97 #: ui/preferences-window.ui:98
msgid "Second" msgid "Second"
msgstr "Sekundy" msgstr "Sekundy"
#: ui/preferences-window.ui:98 #: ui/preferences-window.ui:99
msgid "Minute" msgid "Minute"
msgstr "Minuty" msgstr "Minuty"
#: ui/preferences-window.ui:99 #: ui/preferences-window.ui:100
msgid "Percentage" msgid "Percentage"
msgstr "Procenta" msgstr "Procenta"
#: ui/preferences-window.ui:107 #: ui/preferences-window.ui:108
msgid "Value" msgid "Value"
msgstr "Hodnota" msgstr "Hodnota"
#: ui/preferences-window.ui:122 #: ui/preferences-window.ui:123
msgid "Audio" msgid "Audio"
msgstr "Zvuk" msgstr "Zvuk"
#: ui/preferences-window.ui:125 #: ui/preferences-window.ui:126
msgid "Offset in milliseconds" msgid "Offset in milliseconds"
msgstr "Posunutí v milisekundách" msgstr "Posunutí v milisekundách"
#: ui/preferences-window.ui:132 #: ui/preferences-window.ui:133
msgid "Only native audio formats" msgid "Only native audio formats"
msgstr "Pouze nativní formáty zvuku" msgstr "Pouze nativní formáty zvuku"
#: ui/preferences-window.ui:140 #: ui/preferences-window.ui:141
msgid "Subtitles" msgid "Subtitles"
msgstr "Titulky" msgstr "Titulky"
#: ui/preferences-window.ui:143 #: ui/preferences-window.ui:144
msgid "Default font" msgid "Default font"
msgstr "Výchozí styl písma" msgstr "Výchozí styl písma"
#: ui/preferences-window.ui:153 #: ui/preferences-window.ui:154
msgid "Network" msgid "Network"
msgstr "Síť" msgstr "Síť"
#: ui/preferences-window.ui:157 #: ui/preferences-window.ui:158
msgid "Client" msgid "Client"
msgstr "Klient" msgstr "Klient"
#: ui/preferences-window.ui:160 #: ui/preferences-window.ui:161
msgid "Progressive download buffering" msgid "Progressive download buffering"
msgstr "Postupné stahování do vyrovnávací paměti" msgstr "Postupné stahování do vyrovnávací paměti"
#: ui/preferences-window.ui:168 #: ui/preferences-window.ui:169
msgid "Server" msgid "Server"
msgstr "Server" msgstr "Server"
#: ui/preferences-window.ui:171 #: ui/preferences-window.ui:172
msgid "Control player remotely" msgid "Control player remotely"
msgstr "Vzdáleně ovládat přehrávač" msgstr "Vzdáleně ovládat přehrávač"
#: ui/preferences-window.ui:175 #: ui/preferences-window.ui:176
msgid "Listening port" msgid "Listening port"
msgstr "Naslouchat na portu" msgstr "Naslouchat na portu"
#: ui/preferences-window.ui:188 #: ui/preferences-window.ui:183
msgid "Run web application in background"
msgstr "Spustit webovou aplikaci na pozadí"
#: ui/preferences-window.ui:184
msgid "Requires GTK compiled with Broadway backend"
msgstr "Vyžaduje GTK kompilovaný s Broadway backendem"
#: ui/preferences-window.ui:190
msgid "Web application port"
msgstr "Port webové aplikace"
#: ui/preferences-window.ui:204
msgid "Prefer adaptive streaming"
msgstr "Preferovat adaptivní streamování"
#: ui/preferences-window.ui:210
msgid "Max quality"
msgstr "Maximální kvalita"
#: ui/preferences-window.ui:228
msgid "Tweaks" msgid "Tweaks"
msgstr "Vylepšení" msgstr "Vylepšení"
#: ui/preferences-window.ui:192 #: ui/preferences-window.ui:232
msgid "Appearance" msgid "Appearance"
msgstr "Vzhled" msgstr "Vzhled"
#: ui/preferences-window.ui:195 #: ui/preferences-window.ui:235
msgid "Dark theme" msgid "Dark theme"
msgstr "Tmavý motiv" msgstr "Tmavý motiv"
#: ui/preferences-window.ui:201 #: ui/preferences-window.ui:241
msgid "Render window shadows" msgid "Render window shadows"
msgstr "Vykreslovat stíny okna" msgstr "Vykreslovat stíny okna"
#: ui/preferences-window.ui:202 #: ui/preferences-window.ui:242
msgid "Disable to increase performance when windowed" msgid "Disable to increase performance when windowed"
msgstr "Zakázat pro zvýšení výkonu" msgstr "Zakázat pro zvýšení výkonu"
#: ui/preferences-window.ui:213 #: ui/preferences-window.ui:253
msgid "Plugin ranking" msgid "Plugin ranking"
msgstr "Pořadí pluginů" msgstr "Pořadí pluginů"
#: ui/preferences-window.ui:214 #: ui/preferences-window.ui:254
msgid "Alter default ranks of GStreamer plugins" msgid "Alter default ranks of GStreamer plugins"
msgstr "Změna výchozího pořadí zásuvných modulů GStreameru" msgstr "Změna výchozího pořadí zásuvných modulů GStreameru"
#: ui/preferences-window.ui:219 #: ui/preferences-window.ui:259
msgid "Use playbin3" msgid "Use playbin3"
msgstr "Použít playbin3" msgstr "Použít playbin3"
#: ui/preferences-window.ui:220 ui/preferences-window.ui:229 #: ui/preferences-window.ui:260 ui/preferences-window.ui:269
msgid "Requires player restart" msgid "Requires player restart"
msgstr "Vyžaduje restart přehrávače" msgstr "Vyžaduje restart přehrávače"
#: ui/preferences-window.ui:222 ui/preferences-window.ui:231 #: ui/preferences-window.ui:262 ui/preferences-window.ui:271
msgid "Experimental" msgid "Experimental"
msgstr "Experimentální" msgstr "Experimentální"
#: ui/preferences-window.ui:228 #: ui/preferences-window.ui:268
msgid "Use PipeWire for audio output" msgid "Use PipeWire for audio output"
msgstr "Použít PipeWire pro zvukový výstup" msgstr "Použít PipeWire pro zvukový výstup"
@@ -424,15 +445,15 @@ msgstr "Vojtěch Perník <translations@pervoj.cz>"
msgid "Ends at: %s" msgid "Ends at: %s"
msgstr "Končí v: %s" msgstr "Končí v: %s"
#: src/widget.js:226 src/widget.js:235 src/widget.js:241 src/widget.js:247 #: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined" msgid "Undetermined"
msgstr "Neurčeno" msgstr "Neurčeno"
#: src/widget.js:242 #: src/widget.js:243
msgid "Channels" msgid "Channels"
msgstr "Kanály" msgstr "Kanály"
#: src/widget.js:260 #: src/widget.js:261
msgid "Disabled" msgid "Disabled"
msgstr "Vypnuto" msgstr "Vypnuto"

165
po/da.po
View File

@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: clapper\n" "Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-26 18:41+0200\n" "POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2022-05-26 16:50\n" "PO-Revision-Date: 2021-09-14 15:25\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Danish\n" "Language-Team: Danish\n"
"Language: da_DK\n" "Language: da_DK\n"
@@ -41,11 +41,12 @@ msgstr ""
msgid "Speed" msgid "Speed"
msgstr "" msgstr ""
#: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:82 #: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:83
#: ui/preferences-window.ui:215
msgid "Normal" msgid "Normal"
msgstr "" msgstr ""
#: ui/help-overlay.ui:10 ui/preferences-window.ui:11 #: ui/help-overlay.ui:10 ui/preferences-window.ui:12
msgid "General" msgid "General"
msgstr "" msgstr ""
@@ -117,7 +118,7 @@ msgstr ""
msgid "Export to file" msgid "Export to file"
msgstr "" msgstr ""
#: ui/help-overlay.ui:95 ui/preferences-window.ui:118 #: ui/help-overlay.ui:95 ui/preferences-window.ui:119
msgid "Playback" msgid "Playback"
msgstr "" msgstr ""
@@ -181,183 +182,203 @@ msgstr ""
msgid "Return to the preferences" msgid "Return to the preferences"
msgstr "" msgstr ""
#: ui/preferences-window.ui:15 #: ui/preferences-window.ui:16
msgid "Behavior" msgid "Behavior"
msgstr "" msgstr ""
#: ui/preferences-window.ui:18 #: ui/preferences-window.ui:19
msgid "Auto fullscreen" msgid "Auto fullscreen"
msgstr "" msgstr ""
#: ui/preferences-window.ui:19 #: ui/preferences-window.ui:20
msgid "Enter fullscreen when playlist is replaced except floating mode" msgid "Enter fullscreen when playlist is replaced except floating mode"
msgstr "" msgstr ""
#: ui/preferences-window.ui:25 #: ui/preferences-window.ui:26
msgid "Ask to resume recent media" msgid "Ask to resume recent media"
msgstr "" msgstr ""
#: ui/preferences-window.ui:31 #: ui/preferences-window.ui:32
msgid "Float on all workspaces" msgid "Float on all workspaces"
msgstr "" msgstr ""
#: ui/preferences-window.ui:32 #: ui/preferences-window.ui:33
msgid "This option only works on GNOME" msgid "This option only works on GNOME"
msgstr "" msgstr ""
#: ui/preferences-window.ui:38 #: ui/preferences-window.ui:39
msgid "After playback" msgid "After playback"
msgstr "" msgstr ""
#: ui/preferences-window.ui:43 #: ui/preferences-window.ui:44
msgid "Do nothing" msgid "Do nothing"
msgstr "" msgstr ""
#: ui/preferences-window.ui:44 #: ui/preferences-window.ui:45
msgid "Freeze last frame" msgid "Freeze last frame"
msgstr "" msgstr ""
#: ui/preferences-window.ui:45 #: ui/preferences-window.ui:46
msgid "Close the app" msgid "Close the app"
msgstr "" msgstr ""
#: ui/preferences-window.ui:55 #: ui/preferences-window.ui:56
msgid "Volume" msgid "Volume"
msgstr "" msgstr ""
#: ui/preferences-window.ui:58 #: ui/preferences-window.ui:59
msgid "Custom initial value" msgid "Custom initial value"
msgstr "" msgstr ""
#: ui/preferences-window.ui:59 #: ui/preferences-window.ui:60
msgid "Set custom volume at startup instead of restoring it" msgid "Set custom volume at startup instead of restoring it"
msgstr "" msgstr ""
#: ui/preferences-window.ui:63 #: ui/preferences-window.ui:64
msgid "Volume percentage" msgid "Volume percentage"
msgstr "" msgstr ""
#: ui/preferences-window.ui:74 #: ui/preferences-window.ui:75
msgid "Seeking" msgid "Seeking"
msgstr "" msgstr ""
#: ui/preferences-window.ui:77 #: ui/preferences-window.ui:78
msgid "Mode" msgid "Mode"
msgstr "" msgstr ""
#: ui/preferences-window.ui:83 #: ui/preferences-window.ui:84
msgid "Accurate" msgid "Accurate"
msgstr "" msgstr ""
#: ui/preferences-window.ui:84 #: ui/preferences-window.ui:85
msgid "Fast" msgid "Fast"
msgstr "" msgstr ""
#: ui/preferences-window.ui:92 #: ui/preferences-window.ui:93
msgid "Unit" msgid "Unit"
msgstr "" msgstr ""
#: ui/preferences-window.ui:97 #: ui/preferences-window.ui:98
msgid "Second" msgid "Second"
msgstr "" msgstr ""
#: ui/preferences-window.ui:98 #: ui/preferences-window.ui:99
msgid "Minute" msgid "Minute"
msgstr "" msgstr ""
#: ui/preferences-window.ui:99 #: ui/preferences-window.ui:100
msgid "Percentage" msgid "Percentage"
msgstr "" msgstr ""
#: ui/preferences-window.ui:107 #: ui/preferences-window.ui:108
msgid "Value" msgid "Value"
msgstr "" msgstr ""
#: ui/preferences-window.ui:122 #: ui/preferences-window.ui:123
msgid "Audio" msgid "Audio"
msgstr "" msgstr ""
#: ui/preferences-window.ui:125 #: ui/preferences-window.ui:126
msgid "Offset in milliseconds" msgid "Offset in milliseconds"
msgstr "" msgstr ""
#: ui/preferences-window.ui:132 #: ui/preferences-window.ui:133
msgid "Only native audio formats" msgid "Only native audio formats"
msgstr "" msgstr ""
#: ui/preferences-window.ui:140 #: ui/preferences-window.ui:141
msgid "Subtitles" msgid "Subtitles"
msgstr "" msgstr ""
#: ui/preferences-window.ui:143 #: ui/preferences-window.ui:144
msgid "Default font" msgid "Default font"
msgstr "" msgstr ""
#: ui/preferences-window.ui:153 #: ui/preferences-window.ui:154
msgid "Network" msgid "Network"
msgstr "" msgstr ""
#: ui/preferences-window.ui:157 #: ui/preferences-window.ui:158
msgid "Client" msgid "Client"
msgstr "" msgstr ""
#: ui/preferences-window.ui:160 #: ui/preferences-window.ui:161
msgid "Progressive download buffering" msgid "Progressive download buffering"
msgstr "" msgstr ""
#: ui/preferences-window.ui:168 #: ui/preferences-window.ui:169
msgid "Server" msgid "Server"
msgstr "" msgstr ""
#: ui/preferences-window.ui:171 #: ui/preferences-window.ui:172
msgid "Control player remotely" msgid "Control player remotely"
msgstr "" msgstr ""
#: ui/preferences-window.ui:175 #: ui/preferences-window.ui:176
msgid "Listening port" msgid "Listening port"
msgstr "" msgstr ""
#: ui/preferences-window.ui:188 #: ui/preferences-window.ui:183
msgid "Tweaks" msgid "Run web application in background"
msgstr "" msgstr ""
#: ui/preferences-window.ui:192 #: ui/preferences-window.ui:184
msgid "Appearance" msgid "Requires GTK compiled with Broadway backend"
msgstr "" msgstr ""
#: ui/preferences-window.ui:195 #: ui/preferences-window.ui:190
msgid "Dark theme" msgid "Web application port"
msgstr "" msgstr ""
#: ui/preferences-window.ui:201 #: ui/preferences-window.ui:204
msgid "Render window shadows" msgid "Prefer adaptive streaming"
msgstr "" msgstr ""
#: ui/preferences-window.ui:202 #: ui/preferences-window.ui:210
msgid "Disable to increase performance when windowed" msgid "Max quality"
msgstr ""
#: ui/preferences-window.ui:213
msgid "Plugin ranking"
msgstr ""
#: ui/preferences-window.ui:214
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: ui/preferences-window.ui:219
msgid "Use playbin3"
msgstr ""
#: ui/preferences-window.ui:220 ui/preferences-window.ui:229
msgid "Requires player restart"
msgstr ""
#: ui/preferences-window.ui:222 ui/preferences-window.ui:231
msgid "Experimental"
msgstr "" msgstr ""
#: ui/preferences-window.ui:228 #: ui/preferences-window.ui:228
msgid "Tweaks"
msgstr ""
#: ui/preferences-window.ui:232
msgid "Appearance"
msgstr ""
#: ui/preferences-window.ui:235
msgid "Dark theme"
msgstr ""
#: ui/preferences-window.ui:241
msgid "Render window shadows"
msgstr ""
#: ui/preferences-window.ui:242
msgid "Disable to increase performance when windowed"
msgstr ""
#: ui/preferences-window.ui:253
msgid "Plugin ranking"
msgstr ""
#: ui/preferences-window.ui:254
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: ui/preferences-window.ui:259
msgid "Use playbin3"
msgstr ""
#: ui/preferences-window.ui:260 ui/preferences-window.ui:269
msgid "Requires player restart"
msgstr ""
#: ui/preferences-window.ui:262 ui/preferences-window.ui:271
msgid "Experimental"
msgstr ""
#: ui/preferences-window.ui:268
msgid "Use PipeWire for audio output" msgid "Use PipeWire for audio output"
msgstr "" msgstr ""
@@ -424,15 +445,15 @@ msgstr ""
msgid "Ends at: %s" msgid "Ends at: %s"
msgstr "" msgstr ""
#: src/widget.js:226 src/widget.js:235 src/widget.js:241 src/widget.js:247 #: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined" msgid "Undetermined"
msgstr "" msgstr ""
#: src/widget.js:242 #: src/widget.js:243
msgid "Channels" msgid "Channels"
msgstr "" msgstr ""
#: src/widget.js:260 #: src/widget.js:261
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""

129
po/de.po
View File

@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: clapper\n" "Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-26 18:41+0200\n" "POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2022-05-27 16:27\n" "PO-Revision-Date: 2021-09-14 15:25\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: German\n" "Language-Team: German\n"
"Language: de_DE\n" "Language: de_DE\n"
@@ -41,11 +41,12 @@ msgstr "Über Clapper"
msgid "Speed" msgid "Speed"
msgstr "Wiedergabegeschwindigkeit" msgstr "Wiedergabegeschwindigkeit"
#: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:82 #: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:83
#: ui/preferences-window.ui:215
msgid "Normal" msgid "Normal"
msgstr "Normal" msgstr "Normal"
#: ui/help-overlay.ui:10 ui/preferences-window.ui:11 #: ui/help-overlay.ui:10 ui/preferences-window.ui:12
msgid "General" msgid "General"
msgstr "Allgemein" msgstr "Allgemein"
@@ -117,7 +118,7 @@ msgstr "Wiederholmodus ändern"
msgid "Export to file" msgid "Export to file"
msgstr "Als Datei exportieren" msgstr "Als Datei exportieren"
#: ui/help-overlay.ui:95 ui/preferences-window.ui:118 #: ui/help-overlay.ui:95 ui/preferences-window.ui:119
msgid "Playback" msgid "Playback"
msgstr "Wiedergabe" msgstr "Wiedergabe"
@@ -181,183 +182,203 @@ msgstr "Decodierer"
msgid "Return to the preferences" msgid "Return to the preferences"
msgstr "Zurück zu den Einstellungen" msgstr "Zurück zu den Einstellungen"
#: ui/preferences-window.ui:15 #: ui/preferences-window.ui:16
msgid "Behavior" msgid "Behavior"
msgstr "Verhalten" msgstr "Verhalten"
#: ui/preferences-window.ui:18 #: ui/preferences-window.ui:19
msgid "Auto fullscreen" msgid "Auto fullscreen"
msgstr "Automatischer Vollbildmodus" msgstr "Automatischer Vollbildmodus"
#: ui/preferences-window.ui:19 #: ui/preferences-window.ui:20
msgid "Enter fullscreen when playlist is replaced except floating mode" msgid "Enter fullscreen when playlist is replaced except floating mode"
msgstr "Vollbildmodus betreten, wenn Wiedergabeliste ersetzt wird. (Außer Clapper befindet sich im Schwebemodus)" msgstr "Vollbildmodus betreten, wenn Wiedergabeliste ersetzt wird. (Außer Clapper befindet sich im Schwebemodus)"
#: ui/preferences-window.ui:25 #: ui/preferences-window.ui:26
msgid "Ask to resume recent media" msgid "Ask to resume recent media"
msgstr "Nachfragen ob kürzlich wiedergegebene Medien weitergespielt werden sollen" msgstr "Nachfragen ob kürzlich wiedergegebene Medien weitergespielt werden sollen"
#: ui/preferences-window.ui:31 #: ui/preferences-window.ui:32
msgid "Float on all workspaces" msgid "Float on all workspaces"
msgstr "Schwebemodus auf allen Arbeitsflächen" msgstr "Schwebemodus auf allen Arbeitsflächen"
#: ui/preferences-window.ui:32 #: ui/preferences-window.ui:33
msgid "This option only works on GNOME" msgid "This option only works on GNOME"
msgstr "Diese Option funktioniert nur auf GNOME" msgstr "Diese Option funktioniert nur auf GNOME"
#: ui/preferences-window.ui:38 #: ui/preferences-window.ui:39
msgid "After playback" msgid "After playback"
msgstr "Nach Wiedergabe" msgstr "Nach Wiedergabe"
#: ui/preferences-window.ui:43 #: ui/preferences-window.ui:44
msgid "Do nothing" msgid "Do nothing"
msgstr "Nichts tun" msgstr "Nichts tun"
#: ui/preferences-window.ui:44 #: ui/preferences-window.ui:45
msgid "Freeze last frame" msgid "Freeze last frame"
msgstr "Letztes Bild einfrieren" msgstr "Letztes Bild einfrieren"
#: ui/preferences-window.ui:45 #: ui/preferences-window.ui:46
msgid "Close the app" msgid "Close the app"
msgstr "Anwendung beenden" msgstr "Anwendung beenden"
#: ui/preferences-window.ui:55 #: ui/preferences-window.ui:56
msgid "Volume" msgid "Volume"
msgstr "Lautstärke" msgstr "Lautstärke"
#: ui/preferences-window.ui:58 #: ui/preferences-window.ui:59
msgid "Custom initial value" msgid "Custom initial value"
msgstr "Benutzerdefinierter Anfangswert" msgstr "Benutzerdefinierter Anfangswert"
#: ui/preferences-window.ui:59 #: ui/preferences-window.ui:60
msgid "Set custom volume at startup instead of restoring it" msgid "Set custom volume at startup instead of restoring it"
msgstr "Lautstärke auf einen fixierten Wert beim Start setzen, anstelle ihn wiederherzustellen." msgstr "Lautstärke auf einen fixierten Wert beim Start setzen, anstelle ihn wiederherzustellen."
#: ui/preferences-window.ui:63 #: ui/preferences-window.ui:64
msgid "Volume percentage" msgid "Volume percentage"
msgstr "Lautstärke (in Prozent)" msgstr "Lautstärke (in Prozent)"
#: ui/preferences-window.ui:74 #: ui/preferences-window.ui:75
msgid "Seeking" msgid "Seeking"
msgstr "Springen" msgstr "Springen"
#: ui/preferences-window.ui:77 #: ui/preferences-window.ui:78
msgid "Mode" msgid "Mode"
msgstr "Modus" msgstr "Modus"
#: ui/preferences-window.ui:83 #: ui/preferences-window.ui:84
msgid "Accurate" msgid "Accurate"
msgstr "Genau" msgstr "Genau"
#: ui/preferences-window.ui:84 #: ui/preferences-window.ui:85
msgid "Fast" msgid "Fast"
msgstr "Schnell" msgstr "Schnell"
#: ui/preferences-window.ui:92 #: ui/preferences-window.ui:93
msgid "Unit" msgid "Unit"
msgstr "Einheit" msgstr "Einheit"
#: ui/preferences-window.ui:97 #: ui/preferences-window.ui:98
msgid "Second" msgid "Second"
msgstr "Sekunden" msgstr "Sekunden"
#: ui/preferences-window.ui:98 #: ui/preferences-window.ui:99
msgid "Minute" msgid "Minute"
msgstr "Minuten" msgstr "Minuten"
#: ui/preferences-window.ui:99 #: ui/preferences-window.ui:100
msgid "Percentage" msgid "Percentage"
msgstr "Prozentsatz" msgstr "Prozentsatz"
#: ui/preferences-window.ui:107 #: ui/preferences-window.ui:108
msgid "Value" msgid "Value"
msgstr "Wert" msgstr "Wert"
#: ui/preferences-window.ui:122 #: ui/preferences-window.ui:123
msgid "Audio" msgid "Audio"
msgstr "Audio" msgstr "Audio"
#: ui/preferences-window.ui:125 #: ui/preferences-window.ui:126
msgid "Offset in milliseconds" msgid "Offset in milliseconds"
msgstr "Verschiebung in Millisekunden" msgstr "Verschiebung in Millisekunden"
#: ui/preferences-window.ui:132 #: ui/preferences-window.ui:133
msgid "Only native audio formats" msgid "Only native audio formats"
msgstr "Nur systemeigene Audioformate" msgstr "Nur systemeigene Audioformate"
#: ui/preferences-window.ui:140 #: ui/preferences-window.ui:141
msgid "Subtitles" msgid "Subtitles"
msgstr "Untertitel" msgstr "Untertitel"
#: ui/preferences-window.ui:143 #: ui/preferences-window.ui:144
msgid "Default font" msgid "Default font"
msgstr "Standartschriftart" msgstr "Standartschriftart"
#: ui/preferences-window.ui:153 #: ui/preferences-window.ui:154
msgid "Network" msgid "Network"
msgstr "Netzwerk" msgstr "Netzwerk"
#: ui/preferences-window.ui:157 #: ui/preferences-window.ui:158
msgid "Client" msgid "Client"
msgstr "Client" msgstr "Client"
#: ui/preferences-window.ui:160 #: ui/preferences-window.ui:161
msgid "Progressive download buffering" msgid "Progressive download buffering"
msgstr "Fortschreitender Download-Puffer" msgstr "Fortschreitender Download-Puffer"
#: ui/preferences-window.ui:168 #: ui/preferences-window.ui:169
msgid "Server" msgid "Server"
msgstr "Server" msgstr "Server"
#: ui/preferences-window.ui:171 #: ui/preferences-window.ui:172
msgid "Control player remotely" msgid "Control player remotely"
msgstr "Clapper fernsteuern" msgstr "Clapper fernsteuern"
#: ui/preferences-window.ui:175 #: ui/preferences-window.ui:176
msgid "Listening port" msgid "Listening port"
msgstr "Empfangsport" msgstr "Empfangsport"
#: ui/preferences-window.ui:188 #: ui/preferences-window.ui:183
msgid "Run web application in background"
msgstr "Webanwendung im Hintergrund starten"
#: ui/preferences-window.ui:184
msgid "Requires GTK compiled with Broadway backend"
msgstr "Benötigt, dass GTK mit Broadway Unterstützung kompiliert wurde"
#: ui/preferences-window.ui:190
msgid "Web application port"
msgstr "Webanwendungsport"
#: ui/preferences-window.ui:204
msgid "Prefer adaptive streaming"
msgstr "Bevorzuge adaptives Streaming"
#: ui/preferences-window.ui:210
msgid "Max quality"
msgstr "Höchste Qualität"
#: ui/preferences-window.ui:228
msgid "Tweaks" msgid "Tweaks"
msgstr "Optimierungen" msgstr "Optimierungen"
#: ui/preferences-window.ui:192 #: ui/preferences-window.ui:232
msgid "Appearance" msgid "Appearance"
msgstr "Erscheinungsbild" msgstr "Erscheinungsbild"
#: ui/preferences-window.ui:195 #: ui/preferences-window.ui:235
msgid "Dark theme" msgid "Dark theme"
msgstr "Dunkler Modus" msgstr "Dunkler Modus"
#: ui/preferences-window.ui:201 #: ui/preferences-window.ui:241
msgid "Render window shadows" msgid "Render window shadows"
msgstr "Fensterschatten darstellen" msgstr "Fensterschatten darstellen"
#: ui/preferences-window.ui:202 #: ui/preferences-window.ui:242
msgid "Disable to increase performance when windowed" msgid "Disable to increase performance when windowed"
msgstr "Deaktivieren, um Performance im Fenstermodus zu verbessern" msgstr "Deaktivieren, um Performance im Fenstermodus zu verbessern"
#: ui/preferences-window.ui:213 #: ui/preferences-window.ui:253
msgid "Plugin ranking" msgid "Plugin ranking"
msgstr "Plugin-Reihenfolge" msgstr "Plugin-Reihenfolge"
#: ui/preferences-window.ui:214 #: ui/preferences-window.ui:254
msgid "Alter default ranks of GStreamer plugins" msgid "Alter default ranks of GStreamer plugins"
msgstr "Standard GStreamer Reihenfolge verändern" msgstr "Standard GStreamer Reihenfolge verändern"
#: ui/preferences-window.ui:219 #: ui/preferences-window.ui:259
msgid "Use playbin3" msgid "Use playbin3"
msgstr "Playbin3 benutzen" msgstr "Playbin3 benutzen"
#: ui/preferences-window.ui:220 ui/preferences-window.ui:229 #: ui/preferences-window.ui:260 ui/preferences-window.ui:269
msgid "Requires player restart" msgid "Requires player restart"
msgstr "Benötigt Neustart von Clapper" msgstr "Benötigt Neustart von Clapper"
#: ui/preferences-window.ui:222 ui/preferences-window.ui:231 #: ui/preferences-window.ui:262 ui/preferences-window.ui:271
msgid "Experimental" msgid "Experimental"
msgstr "Experimentell" msgstr "Experimentell"
#: ui/preferences-window.ui:228 #: ui/preferences-window.ui:268
msgid "Use PipeWire for audio output" msgid "Use PipeWire for audio output"
msgstr "PipeWire für Audioausgabe verwenden" msgstr "PipeWire für Audioausgabe verwenden"
@@ -417,22 +438,22 @@ msgstr "Ein von GStreamer betriebener GNOME Multimedia-Player"
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated #. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/dialogs.js:305 #: src/dialogs.js:305
msgid "translator-credits" msgid "translator-credits"
msgstr "Florian \"sp1rit\" <sp1rit@disroot.org>" msgstr ""
#: src/revealers.js:170 #: src/revealers.js:170
#, javascript-format #, javascript-format
msgid "Ends at: %s" msgid "Ends at: %s"
msgstr "Ended um %s" msgstr "Ended um %s"
#: src/widget.js:226 src/widget.js:235 src/widget.js:241 src/widget.js:247 #: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined" msgid "Undetermined"
msgstr "Unbestimmet" msgstr "Unbestimmet"
#: src/widget.js:242 #: src/widget.js:243
msgid "Channels" msgid "Channels"
msgstr "Audio-Kanäle" msgstr "Audio-Kanäle"
#: src/widget.js:260 #: src/widget.js:261
msgid "Disabled" msgid "Disabled"
msgstr "Deaktiviert" msgstr "Deaktiviert"

165
po/el.po
View File

@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: clapper\n" "Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-26 18:41+0200\n" "POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2022-05-26 16:50\n" "PO-Revision-Date: 2021-09-14 15:25\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Greek\n" "Language-Team: Greek\n"
"Language: el_GR\n" "Language: el_GR\n"
@@ -41,11 +41,12 @@ msgstr ""
msgid "Speed" msgid "Speed"
msgstr "" msgstr ""
#: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:82 #: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:83
#: ui/preferences-window.ui:215
msgid "Normal" msgid "Normal"
msgstr "" msgstr ""
#: ui/help-overlay.ui:10 ui/preferences-window.ui:11 #: ui/help-overlay.ui:10 ui/preferences-window.ui:12
msgid "General" msgid "General"
msgstr "" msgstr ""
@@ -117,7 +118,7 @@ msgstr ""
msgid "Export to file" msgid "Export to file"
msgstr "" msgstr ""
#: ui/help-overlay.ui:95 ui/preferences-window.ui:118 #: ui/help-overlay.ui:95 ui/preferences-window.ui:119
msgid "Playback" msgid "Playback"
msgstr "" msgstr ""
@@ -181,183 +182,203 @@ msgstr ""
msgid "Return to the preferences" msgid "Return to the preferences"
msgstr "" msgstr ""
#: ui/preferences-window.ui:15 #: ui/preferences-window.ui:16
msgid "Behavior" msgid "Behavior"
msgstr "" msgstr ""
#: ui/preferences-window.ui:18 #: ui/preferences-window.ui:19
msgid "Auto fullscreen" msgid "Auto fullscreen"
msgstr "" msgstr ""
#: ui/preferences-window.ui:19 #: ui/preferences-window.ui:20
msgid "Enter fullscreen when playlist is replaced except floating mode" msgid "Enter fullscreen when playlist is replaced except floating mode"
msgstr "" msgstr ""
#: ui/preferences-window.ui:25 #: ui/preferences-window.ui:26
msgid "Ask to resume recent media" msgid "Ask to resume recent media"
msgstr "" msgstr ""
#: ui/preferences-window.ui:31 #: ui/preferences-window.ui:32
msgid "Float on all workspaces" msgid "Float on all workspaces"
msgstr "" msgstr ""
#: ui/preferences-window.ui:32 #: ui/preferences-window.ui:33
msgid "This option only works on GNOME" msgid "This option only works on GNOME"
msgstr "" msgstr ""
#: ui/preferences-window.ui:38 #: ui/preferences-window.ui:39
msgid "After playback" msgid "After playback"
msgstr "" msgstr ""
#: ui/preferences-window.ui:43 #: ui/preferences-window.ui:44
msgid "Do nothing" msgid "Do nothing"
msgstr "" msgstr ""
#: ui/preferences-window.ui:44 #: ui/preferences-window.ui:45
msgid "Freeze last frame" msgid "Freeze last frame"
msgstr "" msgstr ""
#: ui/preferences-window.ui:45 #: ui/preferences-window.ui:46
msgid "Close the app" msgid "Close the app"
msgstr "" msgstr ""
#: ui/preferences-window.ui:55 #: ui/preferences-window.ui:56
msgid "Volume" msgid "Volume"
msgstr "" msgstr ""
#: ui/preferences-window.ui:58 #: ui/preferences-window.ui:59
msgid "Custom initial value" msgid "Custom initial value"
msgstr "" msgstr ""
#: ui/preferences-window.ui:59 #: ui/preferences-window.ui:60
msgid "Set custom volume at startup instead of restoring it" msgid "Set custom volume at startup instead of restoring it"
msgstr "" msgstr ""
#: ui/preferences-window.ui:63 #: ui/preferences-window.ui:64
msgid "Volume percentage" msgid "Volume percentage"
msgstr "" msgstr ""
#: ui/preferences-window.ui:74 #: ui/preferences-window.ui:75
msgid "Seeking" msgid "Seeking"
msgstr "" msgstr ""
#: ui/preferences-window.ui:77 #: ui/preferences-window.ui:78
msgid "Mode" msgid "Mode"
msgstr "" msgstr ""
#: ui/preferences-window.ui:83 #: ui/preferences-window.ui:84
msgid "Accurate" msgid "Accurate"
msgstr "" msgstr ""
#: ui/preferences-window.ui:84 #: ui/preferences-window.ui:85
msgid "Fast" msgid "Fast"
msgstr "" msgstr ""
#: ui/preferences-window.ui:92 #: ui/preferences-window.ui:93
msgid "Unit" msgid "Unit"
msgstr "" msgstr ""
#: ui/preferences-window.ui:97 #: ui/preferences-window.ui:98
msgid "Second" msgid "Second"
msgstr "" msgstr ""
#: ui/preferences-window.ui:98 #: ui/preferences-window.ui:99
msgid "Minute" msgid "Minute"
msgstr "" msgstr ""
#: ui/preferences-window.ui:99 #: ui/preferences-window.ui:100
msgid "Percentage" msgid "Percentage"
msgstr "" msgstr ""
#: ui/preferences-window.ui:107 #: ui/preferences-window.ui:108
msgid "Value" msgid "Value"
msgstr "" msgstr ""
#: ui/preferences-window.ui:122 #: ui/preferences-window.ui:123
msgid "Audio" msgid "Audio"
msgstr "" msgstr ""
#: ui/preferences-window.ui:125 #: ui/preferences-window.ui:126
msgid "Offset in milliseconds" msgid "Offset in milliseconds"
msgstr "" msgstr ""
#: ui/preferences-window.ui:132 #: ui/preferences-window.ui:133
msgid "Only native audio formats" msgid "Only native audio formats"
msgstr "" msgstr ""
#: ui/preferences-window.ui:140 #: ui/preferences-window.ui:141
msgid "Subtitles" msgid "Subtitles"
msgstr "" msgstr ""
#: ui/preferences-window.ui:143 #: ui/preferences-window.ui:144
msgid "Default font" msgid "Default font"
msgstr "" msgstr ""
#: ui/preferences-window.ui:153 #: ui/preferences-window.ui:154
msgid "Network" msgid "Network"
msgstr "" msgstr ""
#: ui/preferences-window.ui:157 #: ui/preferences-window.ui:158
msgid "Client" msgid "Client"
msgstr "" msgstr ""
#: ui/preferences-window.ui:160 #: ui/preferences-window.ui:161
msgid "Progressive download buffering" msgid "Progressive download buffering"
msgstr "" msgstr ""
#: ui/preferences-window.ui:168 #: ui/preferences-window.ui:169
msgid "Server" msgid "Server"
msgstr "" msgstr ""
#: ui/preferences-window.ui:171 #: ui/preferences-window.ui:172
msgid "Control player remotely" msgid "Control player remotely"
msgstr "" msgstr ""
#: ui/preferences-window.ui:175 #: ui/preferences-window.ui:176
msgid "Listening port" msgid "Listening port"
msgstr "" msgstr ""
#: ui/preferences-window.ui:188 #: ui/preferences-window.ui:183
msgid "Tweaks" msgid "Run web application in background"
msgstr "" msgstr ""
#: ui/preferences-window.ui:192 #: ui/preferences-window.ui:184
msgid "Appearance" msgid "Requires GTK compiled with Broadway backend"
msgstr "" msgstr ""
#: ui/preferences-window.ui:195 #: ui/preferences-window.ui:190
msgid "Dark theme" msgid "Web application port"
msgstr "" msgstr ""
#: ui/preferences-window.ui:201 #: ui/preferences-window.ui:204
msgid "Render window shadows" msgid "Prefer adaptive streaming"
msgstr "" msgstr ""
#: ui/preferences-window.ui:202 #: ui/preferences-window.ui:210
msgid "Disable to increase performance when windowed" msgid "Max quality"
msgstr ""
#: ui/preferences-window.ui:213
msgid "Plugin ranking"
msgstr ""
#: ui/preferences-window.ui:214
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: ui/preferences-window.ui:219
msgid "Use playbin3"
msgstr ""
#: ui/preferences-window.ui:220 ui/preferences-window.ui:229
msgid "Requires player restart"
msgstr ""
#: ui/preferences-window.ui:222 ui/preferences-window.ui:231
msgid "Experimental"
msgstr "" msgstr ""
#: ui/preferences-window.ui:228 #: ui/preferences-window.ui:228
msgid "Tweaks"
msgstr ""
#: ui/preferences-window.ui:232
msgid "Appearance"
msgstr ""
#: ui/preferences-window.ui:235
msgid "Dark theme"
msgstr ""
#: ui/preferences-window.ui:241
msgid "Render window shadows"
msgstr ""
#: ui/preferences-window.ui:242
msgid "Disable to increase performance when windowed"
msgstr ""
#: ui/preferences-window.ui:253
msgid "Plugin ranking"
msgstr ""
#: ui/preferences-window.ui:254
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: ui/preferences-window.ui:259
msgid "Use playbin3"
msgstr ""
#: ui/preferences-window.ui:260 ui/preferences-window.ui:269
msgid "Requires player restart"
msgstr ""
#: ui/preferences-window.ui:262 ui/preferences-window.ui:271
msgid "Experimental"
msgstr ""
#: ui/preferences-window.ui:268
msgid "Use PipeWire for audio output" msgid "Use PipeWire for audio output"
msgstr "" msgstr ""
@@ -424,15 +445,15 @@ msgstr ""
msgid "Ends at: %s" msgid "Ends at: %s"
msgstr "" msgstr ""
#: src/widget.js:226 src/widget.js:235 src/widget.js:241 src/widget.js:247 #: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined" msgid "Undetermined"
msgstr "" msgstr ""
#: src/widget.js:242 #: src/widget.js:243
msgid "Channels" msgid "Channels"
msgstr "" msgstr ""
#: src/widget.js:260 #: src/widget.js:261
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""

127
po/es.po
View File

@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: clapper\n" "Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-26 18:41+0200\n" "POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2022-05-26 16:50\n" "PO-Revision-Date: 2022-01-16 16:58\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Spanish\n" "Language-Team: Spanish\n"
"Language: es_ES\n" "Language: es_ES\n"
@@ -41,11 +41,12 @@ msgstr "Acerca de Clapper"
msgid "Speed" msgid "Speed"
msgstr "Velocidad" msgstr "Velocidad"
#: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:82 #: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:83
#: ui/preferences-window.ui:215
msgid "Normal" msgid "Normal"
msgstr "Normal" msgstr "Normal"
#: ui/help-overlay.ui:10 ui/preferences-window.ui:11 #: ui/help-overlay.ui:10 ui/preferences-window.ui:12
msgid "General" msgid "General"
msgstr "General" msgstr "General"
@@ -117,7 +118,7 @@ msgstr "Cambiar a modo repetir"
msgid "Export to file" msgid "Export to file"
msgstr "Exportar a archivo" msgstr "Exportar a archivo"
#: ui/help-overlay.ui:95 ui/preferences-window.ui:118 #: ui/help-overlay.ui:95 ui/preferences-window.ui:119
msgid "Playback" msgid "Playback"
msgstr "Reproducir" msgstr "Reproducir"
@@ -181,183 +182,203 @@ msgstr "Decodificadores"
msgid "Return to the preferences" msgid "Return to the preferences"
msgstr "Regresar a preferencias" msgstr "Regresar a preferencias"
#: ui/preferences-window.ui:15 #: ui/preferences-window.ui:16
msgid "Behavior" msgid "Behavior"
msgstr "Configuraciones" msgstr "Configuraciones"
#: ui/preferences-window.ui:18 #: ui/preferences-window.ui:19
msgid "Auto fullscreen" msgid "Auto fullscreen"
msgstr "Pantalla completa automática" msgstr "Pantalla completa automática"
#: ui/preferences-window.ui:19 #: ui/preferences-window.ui:20
msgid "Enter fullscreen when playlist is replaced except floating mode" msgid "Enter fullscreen when playlist is replaced except floating mode"
msgstr "Entra a pantalla completa cuando se reemplaza la lista de reproducción, excepto en modo flotante" msgstr "Entra a pantalla completa cuando se reemplaza la lista de reproducción, excepto en modo flotante"
#: ui/preferences-window.ui:25 #: ui/preferences-window.ui:26
msgid "Ask to resume recent media" msgid "Ask to resume recent media"
msgstr "Preguntar al reanudar los medios recientes" msgstr "Preguntar al reanudar los medios recientes"
#: ui/preferences-window.ui:31 #: ui/preferences-window.ui:32
msgid "Float on all workspaces" msgid "Float on all workspaces"
msgstr "Flotar todos los espacios de trabajo" msgstr "Flotar todos los espacios de trabajo"
#: ui/preferences-window.ui:32 #: ui/preferences-window.ui:33
msgid "This option only works on GNOME" msgid "This option only works on GNOME"
msgstr "Esta opción solo funciona en GNOME" msgstr "Esta opción solo funciona en GNOME"
#: ui/preferences-window.ui:38 #: ui/preferences-window.ui:39
msgid "After playback" msgid "After playback"
msgstr "Después de reproducción " msgstr "Después de reproducción "
#: ui/preferences-window.ui:43 #: ui/preferences-window.ui:44
msgid "Do nothing" msgid "Do nothing"
msgstr "Nada por hacer" msgstr "Nada por hacer"
#: ui/preferences-window.ui:44 #: ui/preferences-window.ui:45
msgid "Freeze last frame" msgid "Freeze last frame"
msgstr "Detener último fotograma" msgstr "Detener último fotograma"
#: ui/preferences-window.ui:45 #: ui/preferences-window.ui:46
msgid "Close the app" msgid "Close the app"
msgstr "Cerrar la aplicación" msgstr "Cerrar la aplicación"
#: ui/preferences-window.ui:55 #: ui/preferences-window.ui:56
msgid "Volume" msgid "Volume"
msgstr "Volumen" msgstr "Volumen"
#: ui/preferences-window.ui:58 #: ui/preferences-window.ui:59
msgid "Custom initial value" msgid "Custom initial value"
msgstr "Valor inicial personalizado" msgstr "Valor inicial personalizado"
#: ui/preferences-window.ui:59 #: ui/preferences-window.ui:60
msgid "Set custom volume at startup instead of restoring it" msgid "Set custom volume at startup instead of restoring it"
msgstr "Establece un volumen personalizado al inicio en lugar de restaurarlo" msgstr "Establece un volumen personalizado al inicio en lugar de restaurarlo"
#: ui/preferences-window.ui:63 #: ui/preferences-window.ui:64
msgid "Volume percentage" msgid "Volume percentage"
msgstr "Porcentaje de volumen" msgstr "Porcentaje de volumen"
#: ui/preferences-window.ui:74 #: ui/preferences-window.ui:75
msgid "Seeking" msgid "Seeking"
msgstr "Buscando" msgstr "Buscando"
#: ui/preferences-window.ui:77 #: ui/preferences-window.ui:78
msgid "Mode" msgid "Mode"
msgstr "Modo" msgstr "Modo"
#: ui/preferences-window.ui:83 #: ui/preferences-window.ui:84
msgid "Accurate" msgid "Accurate"
msgstr "Precisión" msgstr "Precisión"
#: ui/preferences-window.ui:84 #: ui/preferences-window.ui:85
msgid "Fast" msgid "Fast"
msgstr "Rápido" msgstr "Rápido"
#: ui/preferences-window.ui:92 #: ui/preferences-window.ui:93
msgid "Unit" msgid "Unit"
msgstr "Unidad" msgstr "Unidad"
#: ui/preferences-window.ui:97 #: ui/preferences-window.ui:98
msgid "Second" msgid "Second"
msgstr "Segundo" msgstr "Segundo"
#: ui/preferences-window.ui:98 #: ui/preferences-window.ui:99
msgid "Minute" msgid "Minute"
msgstr "Minuto" msgstr "Minuto"
#: ui/preferences-window.ui:99 #: ui/preferences-window.ui:100
msgid "Percentage" msgid "Percentage"
msgstr "Porcentaje" msgstr "Porcentaje"
#: ui/preferences-window.ui:107 #: ui/preferences-window.ui:108
msgid "Value" msgid "Value"
msgstr "Valor" msgstr "Valor"
#: ui/preferences-window.ui:122 #: ui/preferences-window.ui:123
msgid "Audio" msgid "Audio"
msgstr "Audio" msgstr "Audio"
#: ui/preferences-window.ui:125 #: ui/preferences-window.ui:126
msgid "Offset in milliseconds" msgid "Offset in milliseconds"
msgstr "Compensación en milisegundos" msgstr "Compensación en milisegundos"
#: ui/preferences-window.ui:132 #: ui/preferences-window.ui:133
msgid "Only native audio formats" msgid "Only native audio formats"
msgstr "Solo formatos de audio nativos" msgstr "Solo formatos de audio nativos"
#: ui/preferences-window.ui:140 #: ui/preferences-window.ui:141
msgid "Subtitles" msgid "Subtitles"
msgstr "Subtítulos" msgstr "Subtítulos"
#: ui/preferences-window.ui:143 #: ui/preferences-window.ui:144
msgid "Default font" msgid "Default font"
msgstr "Fuente por defecto" msgstr "Fuente por defecto"
#: ui/preferences-window.ui:153 #: ui/preferences-window.ui:154
msgid "Network" msgid "Network"
msgstr "Red" msgstr "Red"
#: ui/preferences-window.ui:157 #: ui/preferences-window.ui:158
msgid "Client" msgid "Client"
msgstr "Cliente" msgstr "Cliente"
#: ui/preferences-window.ui:160 #: ui/preferences-window.ui:161
msgid "Progressive download buffering" msgid "Progressive download buffering"
msgstr "Bajada progresiva de búfer" msgstr "Bajada progresiva de búfer"
#: ui/preferences-window.ui:168 #: ui/preferences-window.ui:169
msgid "Server" msgid "Server"
msgstr "Servidor" msgstr "Servidor"
#: ui/preferences-window.ui:171 #: ui/preferences-window.ui:172
msgid "Control player remotely" msgid "Control player remotely"
msgstr "Controlar el reproductor remotamente" msgstr "Controlar el reproductor remotamente"
#: ui/preferences-window.ui:175 #: ui/preferences-window.ui:176
msgid "Listening port" msgid "Listening port"
msgstr "Puerto de escucha" msgstr "Puerto de escucha"
#: ui/preferences-window.ui:188 #: ui/preferences-window.ui:183
msgid "Run web application in background"
msgstr "Ejecutar la aplicación web en modo demonio"
#: ui/preferences-window.ui:184
msgid "Requires GTK compiled with Broadway backend"
msgstr "Requiere GTK compilado con el backend de Broadway"
#: ui/preferences-window.ui:190
msgid "Web application port"
msgstr "Puerto de la aplicación web"
#: ui/preferences-window.ui:204
msgid "Prefer adaptive streaming"
msgstr "Preferir la transmisión adaptativa "
#: ui/preferences-window.ui:210
msgid "Max quality"
msgstr "Calidad máxima"
#: ui/preferences-window.ui:228
msgid "Tweaks" msgid "Tweaks"
msgstr "Retoques" msgstr "Retoques"
#: ui/preferences-window.ui:192 #: ui/preferences-window.ui:232
msgid "Appearance" msgid "Appearance"
msgstr "Apariencia" msgstr "Apariencia"
#: ui/preferences-window.ui:195 #: ui/preferences-window.ui:235
msgid "Dark theme" msgid "Dark theme"
msgstr "Tema oscuro" msgstr "Tema oscuro"
#: ui/preferences-window.ui:201 #: ui/preferences-window.ui:241
msgid "Render window shadows" msgid "Render window shadows"
msgstr "Renderizar sombras de ventana" msgstr "Renderizar sombras de ventana"
#: ui/preferences-window.ui:202 #: ui/preferences-window.ui:242
msgid "Disable to increase performance when windowed" msgid "Disable to increase performance when windowed"
msgstr "Deshabilitado aumenta el rendimiento cuando se abre en ventana" msgstr "Deshabilitado aumenta el rendimiento cuando se abre en ventana"
#: ui/preferences-window.ui:213 #: ui/preferences-window.ui:253
msgid "Plugin ranking" msgid "Plugin ranking"
msgstr "Rango de enchufes" msgstr "Rango de enchufes"
#: ui/preferences-window.ui:214 #: ui/preferences-window.ui:254
msgid "Alter default ranks of GStreamer plugins" msgid "Alter default ranks of GStreamer plugins"
msgstr "Altera los rangos predeterminados de los enchufes de GStreamer" msgstr "Altera los rangos predeterminados de los enchufes de GStreamer"
#: ui/preferences-window.ui:219 #: ui/preferences-window.ui:259
msgid "Use playbin3" msgid "Use playbin3"
msgstr "Usar Playbin3" msgstr "Usar Playbin3"
#: ui/preferences-window.ui:220 ui/preferences-window.ui:229 #: ui/preferences-window.ui:260 ui/preferences-window.ui:269
msgid "Requires player restart" msgid "Requires player restart"
msgstr "Require reiniciar el reproductor" msgstr "Require reiniciar el reproductor"
#: ui/preferences-window.ui:222 ui/preferences-window.ui:231 #: ui/preferences-window.ui:262 ui/preferences-window.ui:271
msgid "Experimental" msgid "Experimental"
msgstr "Experimental" msgstr "Experimental"
#: ui/preferences-window.ui:228 #: ui/preferences-window.ui:268
msgid "Use PipeWire for audio output" msgid "Use PipeWire for audio output"
msgstr "Usar PipeWire" msgstr "Usar PipeWire"
@@ -424,15 +445,15 @@ msgstr "carlosgonz"
msgid "Ends at: %s" msgid "Ends at: %s"
msgstr "Termina en: %s" msgstr "Termina en: %s"
#: src/widget.js:226 src/widget.js:235 src/widget.js:241 src/widget.js:247 #: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined" msgid "Undetermined"
msgstr "Indeterminado" msgstr "Indeterminado"
#: src/widget.js:242 #: src/widget.js:243
msgid "Channels" msgid "Channels"
msgstr "Canales" msgstr "Canales"
#: src/widget.js:260 #: src/widget.js:261
msgid "Disabled" msgid "Disabled"
msgstr "Deshabilitar" msgstr "Deshabilitar"

127
po/eu.po
View File

@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: clapper\n" "Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-26 18:41+0200\n" "POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2022-05-26 16:50\n" "PO-Revision-Date: 2022-03-25 16:45\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Basque\n" "Language-Team: Basque\n"
"Language: eu_ES\n" "Language: eu_ES\n"
@@ -41,11 +41,12 @@ msgstr "Clapperi buruz"
msgid "Speed" msgid "Speed"
msgstr "Abiadura" msgstr "Abiadura"
#: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:82 #: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:83
#: ui/preferences-window.ui:215
msgid "Normal" msgid "Normal"
msgstr "Normala" msgstr "Normala"
#: ui/help-overlay.ui:10 ui/preferences-window.ui:11 #: ui/help-overlay.ui:10 ui/preferences-window.ui:12
msgid "General" msgid "General"
msgstr "Orokorra" msgstr "Orokorra"
@@ -117,7 +118,7 @@ msgstr "Errepikapen modua aldatu"
msgid "Export to file" msgid "Export to file"
msgstr "Esportatu fitxategira" msgstr "Esportatu fitxategira"
#: ui/help-overlay.ui:95 ui/preferences-window.ui:118 #: ui/help-overlay.ui:95 ui/preferences-window.ui:119
msgid "Playback" msgid "Playback"
msgstr "Erreprodukzioa" msgstr "Erreprodukzioa"
@@ -181,183 +182,203 @@ msgstr "Deskodetzaileak"
msgid "Return to the preferences" msgid "Return to the preferences"
msgstr "Itzuli ezarpenetara" msgstr "Itzuli ezarpenetara"
#: ui/preferences-window.ui:15 #: ui/preferences-window.ui:16
msgid "Behavior" msgid "Behavior"
msgstr "Portaera" msgstr "Portaera"
#: ui/preferences-window.ui:18 #: ui/preferences-window.ui:19
msgid "Auto fullscreen" msgid "Auto fullscreen"
msgstr "Pantaila osoa automatikoa" msgstr "Pantaila osoa automatikoa"
#: ui/preferences-window.ui:19 #: ui/preferences-window.ui:20
msgid "Enter fullscreen when playlist is replaced except floating mode" msgid "Enter fullscreen when playlist is replaced except floating mode"
msgstr "Pantaila osoan sartu erreprodukzio-zerrenda ordezten denean, flotatzeko modua izan ezik" msgstr "Pantaila osoan sartu erreprodukzio-zerrenda ordezten denean, flotatzeko modua izan ezik"
#: ui/preferences-window.ui:25 #: ui/preferences-window.ui:26
msgid "Ask to resume recent media" msgid "Ask to resume recent media"
msgstr "Azkenaldiko media berriro ekiteko eskatzea" msgstr "Azkenaldiko media berriro ekiteko eskatzea"
#: ui/preferences-window.ui:31 #: ui/preferences-window.ui:32
msgid "Float on all workspaces" msgid "Float on all workspaces"
msgstr "Laneko espazio guztietan flotatzea" msgstr "Laneko espazio guztietan flotatzea"
#: ui/preferences-window.ui:32 #: ui/preferences-window.ui:33
msgid "This option only works on GNOME" msgid "This option only works on GNOME"
msgstr "Aukera honek GNOMEn bakarrik funtzionatzen du" msgstr "Aukera honek GNOMEn bakarrik funtzionatzen du"
#: ui/preferences-window.ui:38 #: ui/preferences-window.ui:39
msgid "After playback" msgid "After playback"
msgstr "Erreprodukzioaren ondoren" msgstr "Erreprodukzioaren ondoren"
#: ui/preferences-window.ui:43 #: ui/preferences-window.ui:44
msgid "Do nothing" msgid "Do nothing"
msgstr "Ez egin ezer" msgstr "Ez egin ezer"
#: ui/preferences-window.ui:44 #: ui/preferences-window.ui:45
msgid "Freeze last frame" msgid "Freeze last frame"
msgstr "Izoztu azken fotograma" msgstr "Izoztu azken fotograma"
#: ui/preferences-window.ui:45 #: ui/preferences-window.ui:46
msgid "Close the app" msgid "Close the app"
msgstr "Aplikazioa itxi" msgstr "Aplikazioa itxi"
#: ui/preferences-window.ui:55 #: ui/preferences-window.ui:56
msgid "Volume" msgid "Volume"
msgstr "Bolumena" msgstr "Bolumena"
#: ui/preferences-window.ui:58 #: ui/preferences-window.ui:59
msgid "Custom initial value" msgid "Custom initial value"
msgstr "Hasierako balio pertsonalizatua" msgstr "Hasierako balio pertsonalizatua"
#: ui/preferences-window.ui:59 #: ui/preferences-window.ui:60
msgid "Set custom volume at startup instead of restoring it" msgid "Set custom volume at startup instead of restoring it"
msgstr "Hasieran bolumen pertsonalizatua ezartzea, lehengoratu beharrean" msgstr "Hasieran bolumen pertsonalizatua ezartzea, lehengoratu beharrean"
#: ui/preferences-window.ui:63 #: ui/preferences-window.ui:64
msgid "Volume percentage" msgid "Volume percentage"
msgstr "Bolumenaren ehunekoa" msgstr "Bolumenaren ehunekoa"
#: ui/preferences-window.ui:74 #: ui/preferences-window.ui:75
msgid "Seeking" msgid "Seeking"
msgstr "Bilaketa" msgstr "Bilaketa"
#: ui/preferences-window.ui:77 #: ui/preferences-window.ui:78
msgid "Mode" msgid "Mode"
msgstr "Modua" msgstr "Modua"
#: ui/preferences-window.ui:83 #: ui/preferences-window.ui:84
msgid "Accurate" msgid "Accurate"
msgstr "Zehatza" msgstr "Zehatza"
#: ui/preferences-window.ui:84 #: ui/preferences-window.ui:85
msgid "Fast" msgid "Fast"
msgstr "Azkarra" msgstr "Azkarra"
#: ui/preferences-window.ui:92 #: ui/preferences-window.ui:93
msgid "Unit" msgid "Unit"
msgstr "Unitatea" msgstr "Unitatea"
#: ui/preferences-window.ui:97 #: ui/preferences-window.ui:98
msgid "Second" msgid "Second"
msgstr "Segundu" msgstr "Segundu"
#: ui/preferences-window.ui:98 #: ui/preferences-window.ui:99
msgid "Minute" msgid "Minute"
msgstr "Minutu" msgstr "Minutu"
#: ui/preferences-window.ui:99 #: ui/preferences-window.ui:100
msgid "Percentage" msgid "Percentage"
msgstr "Ehunekoa" msgstr "Ehunekoa"
#: ui/preferences-window.ui:107 #: ui/preferences-window.ui:108
msgid "Value" msgid "Value"
msgstr "Balioa" msgstr "Balioa"
#: ui/preferences-window.ui:122 #: ui/preferences-window.ui:123
msgid "Audio" msgid "Audio"
msgstr "Audioa" msgstr "Audioa"
#: ui/preferences-window.ui:125 #: ui/preferences-window.ui:126
msgid "Offset in milliseconds" msgid "Offset in milliseconds"
msgstr "Desplazamendua milisegundotan" msgstr "Desplazamendua milisegundotan"
#: ui/preferences-window.ui:132 #: ui/preferences-window.ui:133
msgid "Only native audio formats" msgid "Only native audio formats"
msgstr "Jatorrizko audio-formatuak bakarrik" msgstr "Jatorrizko audio-formatuak bakarrik"
#: ui/preferences-window.ui:140 #: ui/preferences-window.ui:141
msgid "Subtitles" msgid "Subtitles"
msgstr "Azpitituluak" msgstr "Azpitituluak"
#: ui/preferences-window.ui:143 #: ui/preferences-window.ui:144
msgid "Default font" msgid "Default font"
msgstr "Hizki lehenetsia" msgstr "Hizki lehenetsia"
#: ui/preferences-window.ui:153 #: ui/preferences-window.ui:154
msgid "Network" msgid "Network"
msgstr "Sarea" msgstr "Sarea"
#: ui/preferences-window.ui:157 #: ui/preferences-window.ui:158
msgid "Client" msgid "Client"
msgstr "Bezeroa" msgstr "Bezeroa"
#: ui/preferences-window.ui:160 #: ui/preferences-window.ui:161
msgid "Progressive download buffering" msgid "Progressive download buffering"
msgstr "Deskargak pixkanaka bufferizatzea" msgstr "Deskargak pixkanaka bufferizatzea"
#: ui/preferences-window.ui:168 #: ui/preferences-window.ui:169
msgid "Server" msgid "Server"
msgstr "Zerbitzaria" msgstr "Zerbitzaria"
#: ui/preferences-window.ui:171 #: ui/preferences-window.ui:172
msgid "Control player remotely" msgid "Control player remotely"
msgstr "Urrutiko erreproduzitzailea kontrolatzea" msgstr "Urrutiko erreproduzitzailea kontrolatzea"
#: ui/preferences-window.ui:175 #: ui/preferences-window.ui:176
msgid "Listening port" msgid "Listening port"
msgstr "Entzuteko ataka" msgstr "Entzuteko ataka"
#: ui/preferences-window.ui:188 #: ui/preferences-window.ui:183
msgid "Run web application in background"
msgstr "Web-aplikazioa bigarren planoan exekutatzea"
#: ui/preferences-window.ui:184
msgid "Requires GTK compiled with Broadway backend"
msgstr "GTK Broadwayko backend-arekin konpilatzea eskatzen du"
#: ui/preferences-window.ui:190
msgid "Web application port"
msgstr "Web aplikazioaren ataka"
#: ui/preferences-window.ui:204
msgid "Prefer adaptive streaming"
msgstr "Transmisio moldagarria lehenestea"
#: ui/preferences-window.ui:210
msgid "Max quality"
msgstr "Gehieneko kalitatea"
#: ui/preferences-window.ui:228
msgid "Tweaks" msgid "Tweaks"
msgstr "Ukituak" msgstr "Ukituak"
#: ui/preferences-window.ui:192 #: ui/preferences-window.ui:232
msgid "Appearance" msgid "Appearance"
msgstr "Itxura" msgstr "Itxura"
#: ui/preferences-window.ui:195 #: ui/preferences-window.ui:235
msgid "Dark theme" msgid "Dark theme"
msgstr "Gai iluna" msgstr "Gai iluna"
#: ui/preferences-window.ui:201 #: ui/preferences-window.ui:241
msgid "Render window shadows" msgid "Render window shadows"
msgstr "Leihoetako itzalak errenderizatzea" msgstr "Leihoetako itzalak errenderizatzea"
#: ui/preferences-window.ui:202 #: ui/preferences-window.ui:242
msgid "Disable to increase performance when windowed" msgid "Disable to increase performance when windowed"
msgstr "Desaktibatu leihoa erabiltzen denean errendimendua handitzeko" msgstr "Desaktibatu leihoa erabiltzen denean errendimendua handitzeko"
#: ui/preferences-window.ui:213 #: ui/preferences-window.ui:253
msgid "Plugin ranking" msgid "Plugin ranking"
msgstr "Pluginen sailkapena" msgstr "Pluginen sailkapena"
#: ui/preferences-window.ui:214 #: ui/preferences-window.ui:254
msgid "Alter default ranks of GStreamer plugins" msgid "Alter default ranks of GStreamer plugins"
msgstr "Aldatu GStreamer-en pluginen lehenetsitako mailak" msgstr "Aldatu GStreamer-en pluginen lehenetsitako mailak"
#: ui/preferences-window.ui:219 #: ui/preferences-window.ui:259
msgid "Use playbin3" msgid "Use playbin3"
msgstr "Playbin3 erabili" msgstr "Playbin3 erabili"
#: ui/preferences-window.ui:220 ui/preferences-window.ui:229 #: ui/preferences-window.ui:260 ui/preferences-window.ui:269
msgid "Requires player restart" msgid "Requires player restart"
msgstr "Berrabiaraztea eskatzen du" msgstr "Berrabiaraztea eskatzen du"
#: ui/preferences-window.ui:222 ui/preferences-window.ui:231 #: ui/preferences-window.ui:262 ui/preferences-window.ui:271
msgid "Experimental" msgid "Experimental"
msgstr "Esperimentala" msgstr "Esperimentala"
#: ui/preferences-window.ui:228 #: ui/preferences-window.ui:268
msgid "Use PipeWire for audio output" msgid "Use PipeWire for audio output"
msgstr "Erabili PipeWire audio-irteerarako" msgstr "Erabili PipeWire audio-irteerarako"
@@ -424,15 +445,15 @@ msgstr "Sergio Varela (@IngrownMink4)"
msgid "Ends at: %s" msgid "Ends at: %s"
msgstr "Amaiera: %s" msgstr "Amaiera: %s"
#: src/widget.js:226 src/widget.js:235 src/widget.js:241 src/widget.js:247 #: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined" msgid "Undetermined"
msgstr "Zehaztugabea" msgstr "Zehaztugabea"
#: src/widget.js:242 #: src/widget.js:243
msgid "Channels" msgid "Channels"
msgstr "Kanalak" msgstr "Kanalak"
#: src/widget.js:260 #: src/widget.js:261
msgid "Disabled" msgid "Disabled"
msgstr "Desgaituta" msgstr "Desgaituta"

165
po/fi.po
View File

@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: clapper\n" "Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-26 18:41+0200\n" "POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2022-05-26 16:50\n" "PO-Revision-Date: 2021-09-14 15:25\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Finnish\n" "Language-Team: Finnish\n"
"Language: fi_FI\n" "Language: fi_FI\n"
@@ -41,11 +41,12 @@ msgstr ""
msgid "Speed" msgid "Speed"
msgstr "" msgstr ""
#: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:82 #: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:83
#: ui/preferences-window.ui:215
msgid "Normal" msgid "Normal"
msgstr "" msgstr ""
#: ui/help-overlay.ui:10 ui/preferences-window.ui:11 #: ui/help-overlay.ui:10 ui/preferences-window.ui:12
msgid "General" msgid "General"
msgstr "" msgstr ""
@@ -117,7 +118,7 @@ msgstr ""
msgid "Export to file" msgid "Export to file"
msgstr "" msgstr ""
#: ui/help-overlay.ui:95 ui/preferences-window.ui:118 #: ui/help-overlay.ui:95 ui/preferences-window.ui:119
msgid "Playback" msgid "Playback"
msgstr "" msgstr ""
@@ -181,183 +182,203 @@ msgstr ""
msgid "Return to the preferences" msgid "Return to the preferences"
msgstr "" msgstr ""
#: ui/preferences-window.ui:15 #: ui/preferences-window.ui:16
msgid "Behavior" msgid "Behavior"
msgstr "" msgstr ""
#: ui/preferences-window.ui:18 #: ui/preferences-window.ui:19
msgid "Auto fullscreen" msgid "Auto fullscreen"
msgstr "" msgstr ""
#: ui/preferences-window.ui:19 #: ui/preferences-window.ui:20
msgid "Enter fullscreen when playlist is replaced except floating mode" msgid "Enter fullscreen when playlist is replaced except floating mode"
msgstr "" msgstr ""
#: ui/preferences-window.ui:25 #: ui/preferences-window.ui:26
msgid "Ask to resume recent media" msgid "Ask to resume recent media"
msgstr "" msgstr ""
#: ui/preferences-window.ui:31 #: ui/preferences-window.ui:32
msgid "Float on all workspaces" msgid "Float on all workspaces"
msgstr "" msgstr ""
#: ui/preferences-window.ui:32 #: ui/preferences-window.ui:33
msgid "This option only works on GNOME" msgid "This option only works on GNOME"
msgstr "" msgstr ""
#: ui/preferences-window.ui:38 #: ui/preferences-window.ui:39
msgid "After playback" msgid "After playback"
msgstr "" msgstr ""
#: ui/preferences-window.ui:43 #: ui/preferences-window.ui:44
msgid "Do nothing" msgid "Do nothing"
msgstr "" msgstr ""
#: ui/preferences-window.ui:44 #: ui/preferences-window.ui:45
msgid "Freeze last frame" msgid "Freeze last frame"
msgstr "" msgstr ""
#: ui/preferences-window.ui:45 #: ui/preferences-window.ui:46
msgid "Close the app" msgid "Close the app"
msgstr "" msgstr ""
#: ui/preferences-window.ui:55 #: ui/preferences-window.ui:56
msgid "Volume" msgid "Volume"
msgstr "" msgstr ""
#: ui/preferences-window.ui:58 #: ui/preferences-window.ui:59
msgid "Custom initial value" msgid "Custom initial value"
msgstr "" msgstr ""
#: ui/preferences-window.ui:59 #: ui/preferences-window.ui:60
msgid "Set custom volume at startup instead of restoring it" msgid "Set custom volume at startup instead of restoring it"
msgstr "" msgstr ""
#: ui/preferences-window.ui:63 #: ui/preferences-window.ui:64
msgid "Volume percentage" msgid "Volume percentage"
msgstr "" msgstr ""
#: ui/preferences-window.ui:74 #: ui/preferences-window.ui:75
msgid "Seeking" msgid "Seeking"
msgstr "" msgstr ""
#: ui/preferences-window.ui:77 #: ui/preferences-window.ui:78
msgid "Mode" msgid "Mode"
msgstr "" msgstr ""
#: ui/preferences-window.ui:83 #: ui/preferences-window.ui:84
msgid "Accurate" msgid "Accurate"
msgstr "" msgstr ""
#: ui/preferences-window.ui:84 #: ui/preferences-window.ui:85
msgid "Fast" msgid "Fast"
msgstr "" msgstr ""
#: ui/preferences-window.ui:92 #: ui/preferences-window.ui:93
msgid "Unit" msgid "Unit"
msgstr "" msgstr ""
#: ui/preferences-window.ui:97 #: ui/preferences-window.ui:98
msgid "Second" msgid "Second"
msgstr "" msgstr ""
#: ui/preferences-window.ui:98 #: ui/preferences-window.ui:99
msgid "Minute" msgid "Minute"
msgstr "" msgstr ""
#: ui/preferences-window.ui:99 #: ui/preferences-window.ui:100
msgid "Percentage" msgid "Percentage"
msgstr "" msgstr ""
#: ui/preferences-window.ui:107 #: ui/preferences-window.ui:108
msgid "Value" msgid "Value"
msgstr "" msgstr ""
#: ui/preferences-window.ui:122 #: ui/preferences-window.ui:123
msgid "Audio" msgid "Audio"
msgstr "" msgstr ""
#: ui/preferences-window.ui:125 #: ui/preferences-window.ui:126
msgid "Offset in milliseconds" msgid "Offset in milliseconds"
msgstr "" msgstr ""
#: ui/preferences-window.ui:132 #: ui/preferences-window.ui:133
msgid "Only native audio formats" msgid "Only native audio formats"
msgstr "" msgstr ""
#: ui/preferences-window.ui:140 #: ui/preferences-window.ui:141
msgid "Subtitles" msgid "Subtitles"
msgstr "" msgstr ""
#: ui/preferences-window.ui:143 #: ui/preferences-window.ui:144
msgid "Default font" msgid "Default font"
msgstr "" msgstr ""
#: ui/preferences-window.ui:153 #: ui/preferences-window.ui:154
msgid "Network" msgid "Network"
msgstr "" msgstr ""
#: ui/preferences-window.ui:157 #: ui/preferences-window.ui:158
msgid "Client" msgid "Client"
msgstr "" msgstr ""
#: ui/preferences-window.ui:160 #: ui/preferences-window.ui:161
msgid "Progressive download buffering" msgid "Progressive download buffering"
msgstr "" msgstr ""
#: ui/preferences-window.ui:168 #: ui/preferences-window.ui:169
msgid "Server" msgid "Server"
msgstr "" msgstr ""
#: ui/preferences-window.ui:171 #: ui/preferences-window.ui:172
msgid "Control player remotely" msgid "Control player remotely"
msgstr "" msgstr ""
#: ui/preferences-window.ui:175 #: ui/preferences-window.ui:176
msgid "Listening port" msgid "Listening port"
msgstr "" msgstr ""
#: ui/preferences-window.ui:188 #: ui/preferences-window.ui:183
msgid "Tweaks" msgid "Run web application in background"
msgstr "" msgstr ""
#: ui/preferences-window.ui:192 #: ui/preferences-window.ui:184
msgid "Appearance" msgid "Requires GTK compiled with Broadway backend"
msgstr "" msgstr ""
#: ui/preferences-window.ui:195 #: ui/preferences-window.ui:190
msgid "Dark theme" msgid "Web application port"
msgstr "" msgstr ""
#: ui/preferences-window.ui:201 #: ui/preferences-window.ui:204
msgid "Render window shadows" msgid "Prefer adaptive streaming"
msgstr "" msgstr ""
#: ui/preferences-window.ui:202 #: ui/preferences-window.ui:210
msgid "Disable to increase performance when windowed" msgid "Max quality"
msgstr ""
#: ui/preferences-window.ui:213
msgid "Plugin ranking"
msgstr ""
#: ui/preferences-window.ui:214
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: ui/preferences-window.ui:219
msgid "Use playbin3"
msgstr ""
#: ui/preferences-window.ui:220 ui/preferences-window.ui:229
msgid "Requires player restart"
msgstr ""
#: ui/preferences-window.ui:222 ui/preferences-window.ui:231
msgid "Experimental"
msgstr "" msgstr ""
#: ui/preferences-window.ui:228 #: ui/preferences-window.ui:228
msgid "Tweaks"
msgstr ""
#: ui/preferences-window.ui:232
msgid "Appearance"
msgstr ""
#: ui/preferences-window.ui:235
msgid "Dark theme"
msgstr ""
#: ui/preferences-window.ui:241
msgid "Render window shadows"
msgstr ""
#: ui/preferences-window.ui:242
msgid "Disable to increase performance when windowed"
msgstr ""
#: ui/preferences-window.ui:253
msgid "Plugin ranking"
msgstr ""
#: ui/preferences-window.ui:254
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: ui/preferences-window.ui:259
msgid "Use playbin3"
msgstr ""
#: ui/preferences-window.ui:260 ui/preferences-window.ui:269
msgid "Requires player restart"
msgstr ""
#: ui/preferences-window.ui:262 ui/preferences-window.ui:271
msgid "Experimental"
msgstr ""
#: ui/preferences-window.ui:268
msgid "Use PipeWire for audio output" msgid "Use PipeWire for audio output"
msgstr "" msgstr ""
@@ -424,15 +445,15 @@ msgstr ""
msgid "Ends at: %s" msgid "Ends at: %s"
msgstr "" msgstr ""
#: src/widget.js:226 src/widget.js:235 src/widget.js:241 src/widget.js:247 #: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined" msgid "Undetermined"
msgstr "" msgstr ""
#: src/widget.js:242 #: src/widget.js:243
msgid "Channels" msgid "Channels"
msgstr "" msgstr ""
#: src/widget.js:260 #: src/widget.js:261
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""

127
po/fr.po
View File

@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: clapper\n" "Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-26 18:41+0200\n" "POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2022-05-26 16:50\n" "PO-Revision-Date: 2022-01-18 20:57\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: French\n" "Language-Team: French\n"
"Language: fr_FR\n" "Language: fr_FR\n"
@@ -41,11 +41,12 @@ msgstr "Á propos de Clapper"
msgid "Speed" msgid "Speed"
msgstr "Vitesse" msgstr "Vitesse"
#: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:82 #: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:83
#: ui/preferences-window.ui:215
msgid "Normal" msgid "Normal"
msgstr "Normal" msgstr "Normal"
#: ui/help-overlay.ui:10 ui/preferences-window.ui:11 #: ui/help-overlay.ui:10 ui/preferences-window.ui:12
msgid "General" msgid "General"
msgstr "Général" msgstr "Général"
@@ -117,7 +118,7 @@ msgstr "Changer le mode de répétition"
msgid "Export to file" msgid "Export to file"
msgstr "Exporter vers un fichier" msgstr "Exporter vers un fichier"
#: ui/help-overlay.ui:95 ui/preferences-window.ui:118 #: ui/help-overlay.ui:95 ui/preferences-window.ui:119
msgid "Playback" msgid "Playback"
msgstr "Lecture" msgstr "Lecture"
@@ -181,183 +182,203 @@ msgstr "Décodeurs"
msgid "Return to the preferences" msgid "Return to the preferences"
msgstr "Retourner aux préférences" msgstr "Retourner aux préférences"
#: ui/preferences-window.ui:15 #: ui/preferences-window.ui:16
msgid "Behavior" msgid "Behavior"
msgstr "Comportement" msgstr "Comportement"
#: ui/preferences-window.ui:18 #: ui/preferences-window.ui:19
msgid "Auto fullscreen" msgid "Auto fullscreen"
msgstr "Lecture automatique en plein écran" msgstr "Lecture automatique en plein écran"
#: ui/preferences-window.ui:19 #: ui/preferences-window.ui:20
msgid "Enter fullscreen when playlist is replaced except floating mode" msgid "Enter fullscreen when playlist is replaced except floating mode"
msgstr "Basculer en plein écran quand la playlisyt est remplacée sauf si le mode flottant est activé" msgstr "Basculer en plein écran quand la playlisyt est remplacée sauf si le mode flottant est activé"
#: ui/preferences-window.ui:25 #: ui/preferences-window.ui:26
msgid "Ask to resume recent media" msgid "Ask to resume recent media"
msgstr "Demander pour reprendre à la position des médias récents" msgstr "Demander pour reprendre à la position des médias récents"
#: ui/preferences-window.ui:31 #: ui/preferences-window.ui:32
msgid "Float on all workspaces" msgid "Float on all workspaces"
msgstr "Flotter sur tous les bureaux virtuels" msgstr "Flotter sur tous les bureaux virtuels"
#: ui/preferences-window.ui:32 #: ui/preferences-window.ui:33
msgid "This option only works on GNOME" msgid "This option only works on GNOME"
msgstr "Cette option ne marche qu'avec GNOME" msgstr "Cette option ne marche qu'avec GNOME"
#: ui/preferences-window.ui:38 #: ui/preferences-window.ui:39
msgid "After playback" msgid "After playback"
msgstr "Après la lecture" msgstr "Après la lecture"
#: ui/preferences-window.ui:43 #: ui/preferences-window.ui:44
msgid "Do nothing" msgid "Do nothing"
msgstr "Ne rien faire" msgstr "Ne rien faire"
#: ui/preferences-window.ui:44 #: ui/preferences-window.ui:45
msgid "Freeze last frame" msgid "Freeze last frame"
msgstr "Geler la dernière image" msgstr "Geler la dernière image"
#: ui/preferences-window.ui:45 #: ui/preferences-window.ui:46
msgid "Close the app" msgid "Close the app"
msgstr "Fermer l'application" msgstr "Fermer l'application"
#: ui/preferences-window.ui:55 #: ui/preferences-window.ui:56
msgid "Volume" msgid "Volume"
msgstr "Volume" msgstr "Volume"
#: ui/preferences-window.ui:58 #: ui/preferences-window.ui:59
msgid "Custom initial value" msgid "Custom initial value"
msgstr "Valeur initiale personnalisée" msgstr "Valeur initiale personnalisée"
#: ui/preferences-window.ui:59 #: ui/preferences-window.ui:60
msgid "Set custom volume at startup instead of restoring it" msgid "Set custom volume at startup instead of restoring it"
msgstr "Régler une valeur personnalisée du volume au démarrage au lien de restorer la valeur précédente" msgstr "Régler une valeur personnalisée du volume au démarrage au lien de restorer la valeur précédente"
#: ui/preferences-window.ui:63 #: ui/preferences-window.ui:64
msgid "Volume percentage" msgid "Volume percentage"
msgstr "Pourcentage du volume" msgstr "Pourcentage du volume"
#: ui/preferences-window.ui:74 #: ui/preferences-window.ui:75
msgid "Seeking" msgid "Seeking"
msgstr "Avancement" msgstr "Avancement"
#: ui/preferences-window.ui:77 #: ui/preferences-window.ui:78
msgid "Mode" msgid "Mode"
msgstr "Comportement" msgstr "Comportement"
#: ui/preferences-window.ui:83 #: ui/preferences-window.ui:84
msgid "Accurate" msgid "Accurate"
msgstr "Précis" msgstr "Précis"
#: ui/preferences-window.ui:84 #: ui/preferences-window.ui:85
msgid "Fast" msgid "Fast"
msgstr "Rapide" msgstr "Rapide"
#: ui/preferences-window.ui:92 #: ui/preferences-window.ui:93
msgid "Unit" msgid "Unit"
msgstr "Unité des sauts" msgstr "Unité des sauts"
#: ui/preferences-window.ui:97 #: ui/preferences-window.ui:98
msgid "Second" msgid "Second"
msgstr "Seconde" msgstr "Seconde"
#: ui/preferences-window.ui:98 #: ui/preferences-window.ui:99
msgid "Minute" msgid "Minute"
msgstr "Minute" msgstr "Minute"
#: ui/preferences-window.ui:99 #: ui/preferences-window.ui:100
msgid "Percentage" msgid "Percentage"
msgstr "Pourcentage" msgstr "Pourcentage"
#: ui/preferences-window.ui:107 #: ui/preferences-window.ui:108
msgid "Value" msgid "Value"
msgstr "Longueur du saut" msgstr "Longueur du saut"
#: ui/preferences-window.ui:122 #: ui/preferences-window.ui:123
msgid "Audio" msgid "Audio"
msgstr "Audio" msgstr "Audio"
#: ui/preferences-window.ui:125 #: ui/preferences-window.ui:126
msgid "Offset in milliseconds" msgid "Offset in milliseconds"
msgstr "Décalage en millisecondes" msgstr "Décalage en millisecondes"
#: ui/preferences-window.ui:132 #: ui/preferences-window.ui:133
msgid "Only native audio formats" msgid "Only native audio formats"
msgstr "Seulement des formats audios natifs" msgstr "Seulement des formats audios natifs"
#: ui/preferences-window.ui:140 #: ui/preferences-window.ui:141
msgid "Subtitles" msgid "Subtitles"
msgstr "Sous-titres" msgstr "Sous-titres"
#: ui/preferences-window.ui:143 #: ui/preferences-window.ui:144
msgid "Default font" msgid "Default font"
msgstr "Police par défaut" msgstr "Police par défaut"
#: ui/preferences-window.ui:153 #: ui/preferences-window.ui:154
msgid "Network" msgid "Network"
msgstr "Réseau" msgstr "Réseau"
#: ui/preferences-window.ui:157 #: ui/preferences-window.ui:158
msgid "Client" msgid "Client"
msgstr "Client" msgstr "Client"
#: ui/preferences-window.ui:160 #: ui/preferences-window.ui:161
msgid "Progressive download buffering" msgid "Progressive download buffering"
msgstr "Téléchargement progressif dans le tampon" msgstr "Téléchargement progressif dans le tampon"
#: ui/preferences-window.ui:168 #: ui/preferences-window.ui:169
msgid "Server" msgid "Server"
msgstr "Serveur" msgstr "Serveur"
#: ui/preferences-window.ui:171 #: ui/preferences-window.ui:172
msgid "Control player remotely" msgid "Control player remotely"
msgstr "Controler le lecteur à distance" msgstr "Controler le lecteur à distance"
#: ui/preferences-window.ui:175 #: ui/preferences-window.ui:176
msgid "Listening port" msgid "Listening port"
msgstr "Écouter sur le port" msgstr "Écouter sur le port"
#: ui/preferences-window.ui:188 #: ui/preferences-window.ui:183
msgid "Run web application in background"
msgstr "Lancer l'application web en arrière plan"
#: ui/preferences-window.ui:184
msgid "Requires GTK compiled with Broadway backend"
msgstr "Requiert GTK compilé avec l'interface Broadway"
#: ui/preferences-window.ui:190
msgid "Web application port"
msgstr "Port de l'application web"
#: ui/preferences-window.ui:204
msgid "Prefer adaptive streaming"
msgstr "Préférer le streaming adaptatif"
#: ui/preferences-window.ui:210
msgid "Max quality"
msgstr "Qualité maximale"
#: ui/preferences-window.ui:228
msgid "Tweaks" msgid "Tweaks"
msgstr "Réglages" msgstr "Réglages"
#: ui/preferences-window.ui:192 #: ui/preferences-window.ui:232
msgid "Appearance" msgid "Appearance"
msgstr "Apparence" msgstr "Apparence"
#: ui/preferences-window.ui:195 #: ui/preferences-window.ui:235
msgid "Dark theme" msgid "Dark theme"
msgstr "Thème sombre" msgstr "Thème sombre"
#: ui/preferences-window.ui:201 #: ui/preferences-window.ui:241
msgid "Render window shadows" msgid "Render window shadows"
msgstr "Afficher les ombres de la fenêtre" msgstr "Afficher les ombres de la fenêtre"
#: ui/preferences-window.ui:202 #: ui/preferences-window.ui:242
msgid "Disable to increase performance when windowed" msgid "Disable to increase performance when windowed"
msgstr "Désactiver pour améliorer les performances quand fenêtré" msgstr "Désactiver pour améliorer les performances quand fenêtré"
#: ui/preferences-window.ui:213 #: ui/preferences-window.ui:253
msgid "Plugin ranking" msgid "Plugin ranking"
msgstr "Liste des plugins" msgstr "Liste des plugins"
#: ui/preferences-window.ui:214 #: ui/preferences-window.ui:254
msgid "Alter default ranks of GStreamer plugins" msgid "Alter default ranks of GStreamer plugins"
msgstr "Changer les options par défaut de plugins GStreamer" msgstr "Changer les options par défaut de plugins GStreamer"
#: ui/preferences-window.ui:219 #: ui/preferences-window.ui:259
msgid "Use playbin3" msgid "Use playbin3"
msgstr "Utiliser playbin3" msgstr "Utiliser playbin3"
#: ui/preferences-window.ui:220 ui/preferences-window.ui:229 #: ui/preferences-window.ui:260 ui/preferences-window.ui:269
msgid "Requires player restart" msgid "Requires player restart"
msgstr "Requiert le redémarrage du lecteur" msgstr "Requiert le redémarrage du lecteur"
#: ui/preferences-window.ui:222 ui/preferences-window.ui:231 #: ui/preferences-window.ui:262 ui/preferences-window.ui:271
msgid "Experimental" msgid "Experimental"
msgstr "Expérimental" msgstr "Expérimental"
#: ui/preferences-window.ui:228 #: ui/preferences-window.ui:268
msgid "Use PipeWire for audio output" msgid "Use PipeWire for audio output"
msgstr "Utiliser PipeWire pour la sortie audio" msgstr "Utiliser PipeWire pour la sortie audio"
@@ -424,15 +445,15 @@ msgstr "Robin Verdenal-Tallieux"
msgid "Ends at: %s" msgid "Ends at: %s"
msgstr "Finit à: %s" msgstr "Finit à: %s"
#: src/widget.js:226 src/widget.js:235 src/widget.js:241 src/widget.js:247 #: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined" msgid "Undetermined"
msgstr "Indéterminé" msgstr "Indéterminé"
#: src/widget.js:242 #: src/widget.js:243
msgid "Channels" msgid "Channels"
msgstr "Chaines" msgstr "Chaines"
#: src/widget.js:260 #: src/widget.js:261
msgid "Disabled" msgid "Disabled"
msgstr "Désactivé" msgstr "Désactivé"

373
po/he.po
View File

@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: clapper\n" "Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-26 18:41+0200\n" "POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2022-06-01 08:42\n" "PO-Revision-Date: 2021-09-14 15:25\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Hebrew\n" "Language-Team: Hebrew\n"
"Language: he_IL\n" "Language: he_IL\n"
@@ -19,420 +19,441 @@ msgstr ""
#: ui/clapper.ui:6 #: ui/clapper.ui:6
msgid "Open Files…" msgid "Open Files…"
msgstr "פתיחת קבצים…" msgstr ""
#: ui/clapper.ui:10 #: ui/clapper.ui:10
msgid "Open URI…" msgid "Open URI…"
msgstr "פתיחת כתובת…" msgstr ""
#: ui/clapper.ui:16 ui/preferences-window.ui:4 #: ui/clapper.ui:16 ui/preferences-window.ui:4
msgid "Preferences" msgid "Preferences"
msgstr "העדפות" msgstr ""
#: ui/clapper.ui:20 #: ui/clapper.ui:20
msgid "Shortcuts" msgid "Shortcuts"
msgstr "צירופי מקשים" msgstr ""
#: ui/clapper.ui:26 #: ui/clapper.ui:26
msgid "About Clapper" msgid "About Clapper"
msgstr "על אודות Clapper" msgstr ""
#: ui/elapsed-time-button.ui:27 #: ui/elapsed-time-button.ui:27
msgid "Speed" msgid "Speed"
msgstr "מהירות" msgstr ""
#: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:82 #: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:83
#: ui/preferences-window.ui:215
msgid "Normal" msgid "Normal"
msgstr "רגילה" msgstr ""
#: ui/help-overlay.ui:10 ui/preferences-window.ui:11 #: ui/help-overlay.ui:10 ui/preferences-window.ui:12
msgid "General" msgid "General"
msgstr "כללי" msgstr ""
#: ui/help-overlay.ui:13 #: ui/help-overlay.ui:13
msgid "Show shortcuts" msgid "Show shortcuts"
msgstr "הצגת צירופי מקשים" msgstr ""
#: ui/help-overlay.ui:19 #: ui/help-overlay.ui:19
msgid "Toggle fullscreen" msgid "Toggle fullscreen"
msgstr "שינוי מצב מסך מלא" msgstr ""
#: ui/help-overlay.ui:20 #: ui/help-overlay.ui:20
msgid "Double tap | Double click" msgid "Double tap | Double click"
msgstr "נגיעה כפולה | לחיצה כפולה" msgstr ""
#: ui/help-overlay.ui:26 #: ui/help-overlay.ui:26
msgid "Leave fullscreen" msgid "Leave fullscreen"
msgstr "יציאה ממסך מלא" msgstr ""
#: ui/help-overlay.ui:32 #: ui/help-overlay.ui:32
msgid "Reveal OSD (fullscreen only)" msgid "Reveal OSD (fullscreen only)"
msgstr "הצגת מידע וכפתורים (מסך מלא בלבד)" msgstr ""
#: ui/help-overlay.ui:33 #: ui/help-overlay.ui:33
msgid "Tap" msgid "Tap"
msgstr "נגיעה" msgstr ""
#: ui/help-overlay.ui:39 #: ui/help-overlay.ui:39
msgid "Quit" msgid "Quit"
msgstr "יציאה" msgstr ""
#: ui/help-overlay.ui:47 #: ui/help-overlay.ui:47
msgid "Media" msgid "Media"
msgstr "מדיה" msgstr ""
#: ui/help-overlay.ui:50 #: ui/help-overlay.ui:50
msgid "Open files" msgid "Open files"
msgstr "פתיחת קבצים" msgstr ""
#: ui/help-overlay.ui:56 src/dialogs.js:137 #: ui/help-overlay.ui:56 src/dialogs.js:137
msgid "Open URI" msgid "Open URI"
msgstr "פתיחת כתובת" msgstr ""
#: ui/help-overlay.ui:64 #: ui/help-overlay.ui:64
msgid "Playlist" msgid "Playlist"
msgstr "רשימת השמעה" msgstr ""
#: ui/help-overlay.ui:67 #: ui/help-overlay.ui:67
msgid "Next item" msgid "Next item"
msgstr "פריט הבא" msgstr ""
#: ui/help-overlay.ui:68 #: ui/help-overlay.ui:68
msgid "Double tap (right side)" msgid "Double tap (right side)"
msgstr "נגיעה כפולה (צד ימין)" msgstr ""
#: ui/help-overlay.ui:74 #: ui/help-overlay.ui:74
msgid "Previous item" msgid "Previous item"
msgstr "פריט קודם" msgstr ""
#: ui/help-overlay.ui:75 #: ui/help-overlay.ui:75
msgid "Double tap (left side)" msgid "Double tap (left side)"
msgstr "נגיעה כפולה (צד שמאל)" msgstr ""
#: ui/help-overlay.ui:81 #: ui/help-overlay.ui:81
msgid "Change repeat mode" msgid "Change repeat mode"
msgstr "שינוי מצב חזרה" msgstr ""
#: ui/help-overlay.ui:87 #: ui/help-overlay.ui:87
msgid "Export to file" msgid "Export to file"
msgstr "ייצוא לקובץ" msgstr ""
#: ui/help-overlay.ui:95 ui/preferences-window.ui:118 #: ui/help-overlay.ui:95 ui/preferences-window.ui:119
msgid "Playback" msgid "Playback"
msgstr "השמעה" msgstr ""
#: ui/help-overlay.ui:98 #: ui/help-overlay.ui:98
msgid "Toggle play" msgid "Toggle play"
msgstr "הפעלה/השהיה" msgstr ""
#: ui/help-overlay.ui:99 #: ui/help-overlay.ui:99
msgid "Long press | Right click" msgid "Long press | Right click"
msgstr "לחיצה ארוכה | לחצן ימני" msgstr ""
#: ui/help-overlay.ui:105 #: ui/help-overlay.ui:105
msgid "Seek forward" msgid "Seek forward"
msgstr "דילוג קדימה" msgstr ""
#: ui/help-overlay.ui:106 #: ui/help-overlay.ui:106
msgid "Swipe right | Scroll right" msgid "Swipe right | Scroll right"
msgstr "החלקה ימינה | גלילה ימינה" msgstr ""
#: ui/help-overlay.ui:112 #: ui/help-overlay.ui:112
msgid "Seek backward" msgid "Seek backward"
msgstr "דילוג לאחור" msgstr ""
#: ui/help-overlay.ui:113 #: ui/help-overlay.ui:113
msgid "Swipe left | Scroll left" msgid "Swipe left | Scroll left"
msgstr "החלקה שמאלה | גלילה שמאלה" msgstr ""
#: ui/help-overlay.ui:119 #: ui/help-overlay.ui:119
msgid "Volume up" msgid "Volume up"
msgstr "הגברת עצמת השמע" msgstr ""
#: ui/help-overlay.ui:120 #: ui/help-overlay.ui:120
msgid "Swipe up | Scroll up" msgid "Swipe up | Scroll up"
msgstr "החלקה למעלה | גלילה למעלה" msgstr ""
#: ui/help-overlay.ui:126 #: ui/help-overlay.ui:126
msgid "Volume down" msgid "Volume down"
msgstr "הנמכת עצמת השמע" msgstr ""
#: ui/help-overlay.ui:127 #: ui/help-overlay.ui:127
msgid "Swipe down | Scroll down" msgid "Swipe down | Scroll down"
msgstr "החלקה למעלה | גלילה למעלה" msgstr ""
#: ui/help-overlay.ui:133 #: ui/help-overlay.ui:133
msgid "Toggle mute" msgid "Toggle mute"
msgstr "השתקה/ביטול השתקה" msgstr ""
#: ui/help-overlay.ui:139 #: ui/help-overlay.ui:139
msgid "Next chapter" msgid "Next chapter"
msgstr "פרק הבא" msgstr ""
#: ui/help-overlay.ui:145 #: ui/help-overlay.ui:145
msgid "Previous chapter" msgid "Previous chapter"
msgstr "פרק קודם" msgstr ""
#: ui/preferences-plugin-ranking-subpage.ui:11 #: ui/preferences-plugin-ranking-subpage.ui:11
msgid "Decoders" msgid "Decoders"
msgstr "מפענחים" msgstr ""
#: ui/preferences-plugin-ranking-subpage.ui:18 #: ui/preferences-plugin-ranking-subpage.ui:18
msgid "Return to the preferences" msgid "Return to the preferences"
msgstr "חזרה להגדרות" msgstr ""
#: ui/preferences-window.ui:15 #: ui/preferences-window.ui:16
msgid "Behavior" msgid "Behavior"
msgstr "התנהגות" msgstr ""
#: ui/preferences-window.ui:18
msgid "Auto fullscreen"
msgstr "מסך מלא אוטומטי"
#: ui/preferences-window.ui:19 #: ui/preferences-window.ui:19
msgid "Auto fullscreen"
msgstr ""
#: ui/preferences-window.ui:20
msgid "Enter fullscreen when playlist is replaced except floating mode" msgid "Enter fullscreen when playlist is replaced except floating mode"
msgstr "כניסה למצב מסך מלא עם החלפת רשימת השמעה מלבד במצב ציפה" msgstr ""
#: ui/preferences-window.ui:25 #: ui/preferences-window.ui:26
msgid "Ask to resume recent media" msgid "Ask to resume recent media"
msgstr "לשאול אם להפעיל מחדש את המדיה האחרונה" msgstr ""
#: ui/preferences-window.ui:31
msgid "Float on all workspaces"
msgstr "ציפה בכל מרחבי העבודה"
#: ui/preferences-window.ui:32 #: ui/preferences-window.ui:32
msgid "Float on all workspaces"
msgstr ""
#: ui/preferences-window.ui:33
msgid "This option only works on GNOME" msgid "This option only works on GNOME"
msgstr "אפשרות זו פועלת רק ב־GNOME" msgstr ""
#: ui/preferences-window.ui:38 #: ui/preferences-window.ui:39
msgid "After playback" msgid "After playback"
msgstr "בסיום צפייה" msgstr ""
#: ui/preferences-window.ui:43
msgid "Do nothing"
msgstr "לא לעשות דבר"
#: ui/preferences-window.ui:44 #: ui/preferences-window.ui:44
msgid "Freeze last frame" msgid "Do nothing"
msgstr "הקפאת התמונה האחרונה" msgstr ""
#: ui/preferences-window.ui:45 #: ui/preferences-window.ui:45
msgid "Freeze last frame"
msgstr ""
#: ui/preferences-window.ui:46
msgid "Close the app" msgid "Close the app"
msgstr "סגירת היישום" msgstr ""
#: ui/preferences-window.ui:55 #: ui/preferences-window.ui:56
msgid "Volume" msgid "Volume"
msgstr "עצמת שמע" msgstr ""
#: ui/preferences-window.ui:58
msgid "Custom initial value"
msgstr "התאמת ערך התחלתי"
#: ui/preferences-window.ui:59 #: ui/preferences-window.ui:59
msgid "Custom initial value"
msgstr ""
#: ui/preferences-window.ui:60
msgid "Set custom volume at startup instead of restoring it" msgid "Set custom volume at startup instead of restoring it"
msgstr "הגדרת עצמת השמע עם ההפעלה במקום שחזור" msgstr ""
#: ui/preferences-window.ui:63 #: ui/preferences-window.ui:64
msgid "Volume percentage" msgid "Volume percentage"
msgstr "עצמת שמע באחוזים" msgstr ""
#: ui/preferences-window.ui:74 #: ui/preferences-window.ui:75
msgid "Seeking" msgid "Seeking"
msgstr "דילוג" msgstr ""
#: ui/preferences-window.ui:77 #: ui/preferences-window.ui:78
msgid "Mode" msgid "Mode"
msgstr "מצב" msgstr ""
#: ui/preferences-window.ui:83
msgid "Accurate"
msgstr "מדויק"
#: ui/preferences-window.ui:84 #: ui/preferences-window.ui:84
msgid "Accurate"
msgstr ""
#: ui/preferences-window.ui:85
msgid "Fast" msgid "Fast"
msgstr "מהיר" msgstr ""
#: ui/preferences-window.ui:92 #: ui/preferences-window.ui:93
msgid "Unit" msgid "Unit"
msgstr "יחידה" msgstr ""
#: ui/preferences-window.ui:97
msgid "Second"
msgstr "שניה"
#: ui/preferences-window.ui:98 #: ui/preferences-window.ui:98
msgid "Minute" msgid "Second"
msgstr "דקה" msgstr ""
#: ui/preferences-window.ui:99 #: ui/preferences-window.ui:99
msgid "Minute"
msgstr ""
#: ui/preferences-window.ui:100
msgid "Percentage" msgid "Percentage"
msgstr "אחוז" msgstr ""
#: ui/preferences-window.ui:107 #: ui/preferences-window.ui:108
msgid "Value" msgid "Value"
msgstr "ערך" msgstr ""
#: ui/preferences-window.ui:122 #: ui/preferences-window.ui:123
msgid "Audio" msgid "Audio"
msgstr "שמע" msgstr ""
#: ui/preferences-window.ui:125 #: ui/preferences-window.ui:126
msgid "Offset in milliseconds" msgid "Offset in milliseconds"
msgstr "היסט במילי־שניות" msgstr ""
#: ui/preferences-window.ui:132 #: ui/preferences-window.ui:133
msgid "Only native audio formats" msgid "Only native audio formats"
msgstr "תבניות שמע רגילות בלבד" msgstr ""
#: ui/preferences-window.ui:140 #: ui/preferences-window.ui:141
msgid "Subtitles" msgid "Subtitles"
msgstr "כתוביות" msgstr ""
#: ui/preferences-window.ui:143 #: ui/preferences-window.ui:144
msgid "Default font" msgid "Default font"
msgstr "גופן ברירת מחדל" msgstr ""
#: ui/preferences-window.ui:153 #: ui/preferences-window.ui:154
msgid "Network" msgid "Network"
msgstr "רשת" msgstr ""
#: ui/preferences-window.ui:157 #: ui/preferences-window.ui:158
msgid "Client" msgid "Client"
msgstr "לקוח" msgstr ""
#: ui/preferences-window.ui:160 #: ui/preferences-window.ui:161
msgid "Progressive download buffering" msgid "Progressive download buffering"
msgstr "שימוש בחוצץ הורדה" msgstr ""
#: ui/preferences-window.ui:168 #: ui/preferences-window.ui:169
msgid "Server" msgid "Server"
msgstr "שרת" msgstr ""
#: ui/preferences-window.ui:171 #: ui/preferences-window.ui:172
msgid "Control player remotely" msgid "Control player remotely"
msgstr "שליטה בנגן מרחוק" msgstr ""
#: ui/preferences-window.ui:175 #: ui/preferences-window.ui:176
msgid "Listening port" msgid "Listening port"
msgstr "פתחת האזנה" msgstr ""
#: ui/preferences-window.ui:188 #: ui/preferences-window.ui:183
msgid "Tweaks" msgid "Run web application in background"
msgstr "התאמות" msgstr ""
#: ui/preferences-window.ui:192 #: ui/preferences-window.ui:184
msgid "Appearance" msgid "Requires GTK compiled with Broadway backend"
msgstr "מראה" msgstr ""
#: ui/preferences-window.ui:195 #: ui/preferences-window.ui:190
msgid "Dark theme" msgid "Web application port"
msgstr "מראה כהה" msgstr ""
#: ui/preferences-window.ui:201 #: ui/preferences-window.ui:204
msgid "Render window shadows" msgid "Prefer adaptive streaming"
msgstr "עיבוד צל לחלון" msgstr ""
#: ui/preferences-window.ui:202 #: ui/preferences-window.ui:210
msgid "Disable to increase performance when windowed" msgid "Max quality"
msgstr "השבתה לצמצום צריכת החלונות" msgstr ""
#: ui/preferences-window.ui:213
msgid "Plugin ranking"
msgstr "דרגות תוספים"
#: ui/preferences-window.ui:214
msgid "Alter default ranks of GStreamer plugins"
msgstr "שינוי דירוג ברירת המחדל של תוספי GStreamer"
#: ui/preferences-window.ui:219
msgid "Use playbin3"
msgstr "שימוש ב־playbin3"
#: ui/preferences-window.ui:220 ui/preferences-window.ui:229
msgid "Requires player restart"
msgstr "דורש הפעלה מחדש של הנגן"
#: ui/preferences-window.ui:222 ui/preferences-window.ui:231
msgid "Experimental"
msgstr "ניסיוני"
#: ui/preferences-window.ui:228 #: ui/preferences-window.ui:228
msgid "Tweaks"
msgstr ""
#: ui/preferences-window.ui:232
msgid "Appearance"
msgstr ""
#: ui/preferences-window.ui:235
msgid "Dark theme"
msgstr ""
#: ui/preferences-window.ui:241
msgid "Render window shadows"
msgstr ""
#: ui/preferences-window.ui:242
msgid "Disable to increase performance when windowed"
msgstr ""
#: ui/preferences-window.ui:253
msgid "Plugin ranking"
msgstr ""
#: ui/preferences-window.ui:254
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: ui/preferences-window.ui:259
msgid "Use playbin3"
msgstr ""
#: ui/preferences-window.ui:260 ui/preferences-window.ui:269
msgid "Requires player restart"
msgstr ""
#: ui/preferences-window.ui:262 ui/preferences-window.ui:271
msgid "Experimental"
msgstr ""
#: ui/preferences-window.ui:268
msgid "Use PipeWire for audio output" msgid "Use PipeWire for audio output"
msgstr "שימוש ב־PipeWire לפלט השמע" msgstr ""
#: src/buttons.js:201 #: src/buttons.js:201
#, javascript-format #, javascript-format
msgid "Decoder: %s" msgid "Decoder: %s"
msgstr "מפענח: %s" msgstr ""
#: src/dialogs.js:152 #: src/dialogs.js:152
msgid "Enter or drop URI here" msgid "Enter or drop URI here"
msgstr "יש להזין או להשליך כתובת לכאן" msgstr ""
#: src/dialogs.js:157 #: src/dialogs.js:157
msgid "Cancel" msgid "Cancel"
msgstr "ביטול" msgstr ""
#: src/dialogs.js:158 #: src/dialogs.js:158
msgid "Open" msgid "Open"
msgstr "פתיחה" msgstr ""
#: src/dialogs.js:226 #: src/dialogs.js:226
msgid "Title" msgid "Title"
msgstr "כותרת" msgstr ""
#: src/dialogs.js:227 #: src/dialogs.js:227
msgid "Completed" msgid "Completed"
msgstr "הושלם" msgstr ""
#: src/dialogs.js:235 #: src/dialogs.js:235
msgid "Resume playback?" msgid "Resume playback?"
msgstr "להמשיך בצפייה?" msgstr ""
#: src/dialogs.js:289 #: src/dialogs.js:289
#, javascript-format #, javascript-format
msgid "GTK version: %s" msgid "GTK version: %s"
msgstr "גרסת GTK: %s" msgstr ""
#: src/dialogs.js:290 #: src/dialogs.js:290
#, javascript-format #, javascript-format
msgid "Adwaita version: %s" msgid "Adwaita version: %s"
msgstr "גרסת Adwaita: %s" msgstr ""
#: src/dialogs.js:291 #: src/dialogs.js:291
#, javascript-format #, javascript-format
msgid "GStreamer version: %s" msgid "GStreamer version: %s"
msgstr "גרסת GStreamer: %s" msgstr ""
#: src/dialogs.js:292 #: src/dialogs.js:292
#, javascript-format #, javascript-format
msgid "GJS version: %s" msgid "GJS version: %s"
msgstr "גרסת GJS: %s" msgstr ""
#: src/dialogs.js:300 #: src/dialogs.js:300
msgid "A GNOME media player powered by GStreamer" msgid "A GNOME media player powered by GStreamer"
msgstr "נגן מדיה עבור GNOME המופעל על ידי GStreamer" msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated #. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/dialogs.js:305 #: src/dialogs.js:305
msgid "translator-credits" msgid "translator-credits"
msgstr "יוסף אור בוצ׳קו <yoseforb@gnome.org>" msgstr ""
#: src/revealers.js:170 #: src/revealers.js:170
#, javascript-format #, javascript-format
msgid "Ends at: %s" msgid "Ends at: %s"
msgstr "שעת סיום: %s" msgstr ""
#: src/widget.js:226 src/widget.js:235 src/widget.js:241 src/widget.js:247 #: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined" msgid "Undetermined"
msgstr "לא מוגדר" msgstr ""
#: src/widget.js:242 #: src/widget.js:243
msgid "Channels" msgid "Channels"
msgstr "ערוצים" msgstr ""
#: src/widget.js:260 #: src/widget.js:261
msgid "Disabled" msgid "Disabled"
msgstr "מושבת" msgstr ""

127
po/hu.po
View File

@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: clapper\n" "Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-26 18:41+0200\n" "POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2022-05-26 16:50\n" "PO-Revision-Date: 2021-09-21 16:37\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Hungarian\n" "Language-Team: Hungarian\n"
"Language: hu_HU\n" "Language: hu_HU\n"
@@ -41,11 +41,12 @@ msgstr "A Clapper -ről"
msgid "Speed" msgid "Speed"
msgstr "Sebesség" msgstr "Sebesség"
#: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:82 #: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:83
#: ui/preferences-window.ui:215
msgid "Normal" msgid "Normal"
msgstr "Normál" msgstr "Normál"
#: ui/help-overlay.ui:10 ui/preferences-window.ui:11 #: ui/help-overlay.ui:10 ui/preferences-window.ui:12
msgid "General" msgid "General"
msgstr "Általános beállítások" msgstr "Általános beállítások"
@@ -117,7 +118,7 @@ msgstr "Ismétlési típus változtatása"
msgid "Export to file" msgid "Export to file"
msgstr "Exportálás fájlba" msgstr "Exportálás fájlba"
#: ui/help-overlay.ui:95 ui/preferences-window.ui:118 #: ui/help-overlay.ui:95 ui/preferences-window.ui:119
msgid "Playback" msgid "Playback"
msgstr "Lejátszás" msgstr "Lejátszás"
@@ -181,183 +182,203 @@ msgstr "Dekóderek"
msgid "Return to the preferences" msgid "Return to the preferences"
msgstr "Visszatérés a beállításokhoz" msgstr "Visszatérés a beállításokhoz"
#: ui/preferences-window.ui:15 #: ui/preferences-window.ui:16
msgid "Behavior" msgid "Behavior"
msgstr "Viselkedés" msgstr "Viselkedés"
#: ui/preferences-window.ui:18 #: ui/preferences-window.ui:19
msgid "Auto fullscreen" msgid "Auto fullscreen"
msgstr "Automatikus teljes képernyős mód" msgstr "Automatikus teljes képernyős mód"
#: ui/preferences-window.ui:19 #: ui/preferences-window.ui:20
msgid "Enter fullscreen when playlist is replaced except floating mode" msgid "Enter fullscreen when playlist is replaced except floating mode"
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)" 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:25 #: ui/preferences-window.ui:26
msgid "Ask to resume recent media" msgid "Ask to resume recent media"
msgstr "Rákérdezés a legutóbbi média folytatására" msgstr "Rákérdezés a legutóbbi média folytatására"
#: ui/preferences-window.ui:31 #: ui/preferences-window.ui:32
msgid "Float on all workspaces" msgid "Float on all workspaces"
msgstr "Lebegő ablak az összes munkaasztalon" msgstr "Lebegő ablak az összes munkaasztalon"
#: ui/preferences-window.ui:32 #: ui/preferences-window.ui:33
msgid "This option only works on GNOME" msgid "This option only works on GNOME"
msgstr "Ez az opció csak GNOME asztali környezettel működik" msgstr "Ez az opció csak GNOME asztali környezettel működik"
#: ui/preferences-window.ui:38 #: ui/preferences-window.ui:39
msgid "After playback" msgid "After playback"
msgstr "Lejátszás után" msgstr "Lejátszás után"
#: ui/preferences-window.ui:43 #: ui/preferences-window.ui:44
msgid "Do nothing" msgid "Do nothing"
msgstr "Ne csináljon semmit" msgstr "Ne csináljon semmit"
#: ui/preferences-window.ui:44 #: ui/preferences-window.ui:45
msgid "Freeze last frame" msgid "Freeze last frame"
msgstr "Utolsó képkocka mutatása" msgstr "Utolsó képkocka mutatása"
#: ui/preferences-window.ui:45 #: ui/preferences-window.ui:46
msgid "Close the app" msgid "Close the app"
msgstr "Alkalmazás bezárása" msgstr "Alkalmazás bezárása"
#: ui/preferences-window.ui:55 #: ui/preferences-window.ui:56
msgid "Volume" msgid "Volume"
msgstr "Hangerő" msgstr "Hangerő"
#: ui/preferences-window.ui:58 #: ui/preferences-window.ui:59
msgid "Custom initial value" msgid "Custom initial value"
msgstr "Egyedi kezdeti érték" msgstr "Egyedi kezdeti érték"
#: ui/preferences-window.ui:59 #: ui/preferences-window.ui:60
msgid "Set custom volume at startup instead of restoring it" msgid "Set custom volume at startup instead of restoring it"
msgstr "Induláskor egyedi hangerő az utolsó visszaállítása helyett" msgstr "Induláskor egyedi hangerő az utolsó visszaállítása helyett"
#: ui/preferences-window.ui:63 #: ui/preferences-window.ui:64
msgid "Volume percentage" msgid "Volume percentage"
msgstr "Hangerő százalék" msgstr "Hangerő százalék"
#: ui/preferences-window.ui:74 #: ui/preferences-window.ui:75
msgid "Seeking" msgid "Seeking"
msgstr "Tekerés" msgstr "Tekerés"
#: ui/preferences-window.ui:77 #: ui/preferences-window.ui:78
msgid "Mode" msgid "Mode"
msgstr "Mód" msgstr "Mód"
#: ui/preferences-window.ui:83 #: ui/preferences-window.ui:84
msgid "Accurate" msgid "Accurate"
msgstr "Precíz" msgstr "Precíz"
#: ui/preferences-window.ui:84 #: ui/preferences-window.ui:85
msgid "Fast" msgid "Fast"
msgstr "Gyors" msgstr "Gyors"
#: ui/preferences-window.ui:92 #: ui/preferences-window.ui:93
msgid "Unit" msgid "Unit"
msgstr "Mértékegység" msgstr "Mértékegység"
#: ui/preferences-window.ui:97 #: ui/preferences-window.ui:98
msgid "Second" msgid "Second"
msgstr "Másodperc" msgstr "Másodperc"
#: ui/preferences-window.ui:98 #: ui/preferences-window.ui:99
msgid "Minute" msgid "Minute"
msgstr "Perc" msgstr "Perc"
#: ui/preferences-window.ui:99 #: ui/preferences-window.ui:100
msgid "Percentage" msgid "Percentage"
msgstr "Százalék" msgstr "Százalék"
#: ui/preferences-window.ui:107 #: ui/preferences-window.ui:108
msgid "Value" msgid "Value"
msgstr "Érték" msgstr "Érték"
#: ui/preferences-window.ui:122 #: ui/preferences-window.ui:123
msgid "Audio" msgid "Audio"
msgstr "Hang" msgstr "Hang"
#: ui/preferences-window.ui:125 #: ui/preferences-window.ui:126
msgid "Offset in milliseconds" msgid "Offset in milliseconds"
msgstr "Eltolás miliszekundumban" msgstr "Eltolás miliszekundumban"
#: ui/preferences-window.ui:132 #: ui/preferences-window.ui:133
msgid "Only native audio formats" msgid "Only native audio formats"
msgstr "Csak natív hang formátumok" msgstr "Csak natív hang formátumok"
#: ui/preferences-window.ui:140 #: ui/preferences-window.ui:141
msgid "Subtitles" msgid "Subtitles"
msgstr "Feliratok" msgstr "Feliratok"
#: ui/preferences-window.ui:143 #: ui/preferences-window.ui:144
msgid "Default font" msgid "Default font"
msgstr "Alapértelmezett betűtípus" msgstr "Alapértelmezett betűtípus"
#: ui/preferences-window.ui:153 #: ui/preferences-window.ui:154
msgid "Network" msgid "Network"
msgstr "Hálózat" msgstr "Hálózat"
#: ui/preferences-window.ui:157 #: ui/preferences-window.ui:158
msgid "Client" msgid "Client"
msgstr "Kliens" msgstr "Kliens"
#: ui/preferences-window.ui:160 #: ui/preferences-window.ui:161
msgid "Progressive download buffering" msgid "Progressive download buffering"
msgstr "Progresszív letöltéspufferelés" msgstr "Progresszív letöltéspufferelés"
#: ui/preferences-window.ui:168 #: ui/preferences-window.ui:169
msgid "Server" msgid "Server"
msgstr "Szerver" msgstr "Szerver"
#: ui/preferences-window.ui:171 #: ui/preferences-window.ui:172
msgid "Control player remotely" msgid "Control player remotely"
msgstr "Lejátszó távirányítása" msgstr "Lejátszó távirányítása"
#: ui/preferences-window.ui:175 #: ui/preferences-window.ui:176
msgid "Listening port" msgid "Listening port"
msgstr "Port figyelése" msgstr "Port figyelése"
#: ui/preferences-window.ui:188 #: ui/preferences-window.ui:183
msgid "Run web application in background"
msgstr "Web alkalmazás háttérben való futtatása"
#: ui/preferences-window.ui:184
msgid "Requires GTK compiled with Broadway backend"
msgstr "Broadway backenddel fordított GTK -t igényel"
#: ui/preferences-window.ui:190
msgid "Web application port"
msgstr "Web alkalmazás portja"
#: ui/preferences-window.ui:204
msgid "Prefer adaptive streaming"
msgstr "Adaptív streaming előnyben részesítése"
#: ui/preferences-window.ui:210
msgid "Max quality"
msgstr "Maximális minőség"
#: ui/preferences-window.ui:228
msgid "Tweaks" msgid "Tweaks"
msgstr "Finomhangolások" msgstr "Finomhangolások"
#: ui/preferences-window.ui:192 #: ui/preferences-window.ui:232
msgid "Appearance" msgid "Appearance"
msgstr "Megjelenés" msgstr "Megjelenés"
#: ui/preferences-window.ui:195 #: ui/preferences-window.ui:235
msgid "Dark theme" msgid "Dark theme"
msgstr "Sötét téma" msgstr "Sötét téma"
#: ui/preferences-window.ui:201 #: ui/preferences-window.ui:241
msgid "Render window shadows" msgid "Render window shadows"
msgstr "Ablak árnyékok renderelése" msgstr "Ablak árnyékok renderelése"
#: ui/preferences-window.ui:202 #: ui/preferences-window.ui:242
msgid "Disable to increase performance when windowed" msgid "Disable to increase performance when windowed"
msgstr "Kikapcsolása javítja a teljesítményt ablakban futtatás esetén" msgstr "Kikapcsolása javítja a teljesítményt ablakban futtatás esetén"
#: ui/preferences-window.ui:213 #: ui/preferences-window.ui:253
msgid "Plugin ranking" msgid "Plugin ranking"
msgstr "Bővítményrangsor" msgstr "Bővítményrangsor"
#: ui/preferences-window.ui:214 #: ui/preferences-window.ui:254
msgid "Alter default ranks of GStreamer plugins" msgid "Alter default ranks of GStreamer plugins"
msgstr "Az alapértelmezett GStreamer bővítményrangsor megváltoztatása" msgstr "Az alapértelmezett GStreamer bővítményrangsor megváltoztatása"
#: ui/preferences-window.ui:219 #: ui/preferences-window.ui:259
msgid "Use playbin3" msgid "Use playbin3"
msgstr "A playbin3 használata" msgstr "A playbin3 használata"
#: ui/preferences-window.ui:220 ui/preferences-window.ui:229 #: ui/preferences-window.ui:260 ui/preferences-window.ui:269
msgid "Requires player restart" msgid "Requires player restart"
msgstr "A lejátszó újraindítását igényli" msgstr "A lejátszó újraindítását igényli"
#: ui/preferences-window.ui:222 ui/preferences-window.ui:231 #: ui/preferences-window.ui:262 ui/preferences-window.ui:271
msgid "Experimental" msgid "Experimental"
msgstr "Kísérleti funkció" msgstr "Kísérleti funkció"
#: ui/preferences-window.ui:228 #: ui/preferences-window.ui:268
msgid "Use PipeWire for audio output" msgid "Use PipeWire for audio output"
msgstr "A PipeWire használata hang kimenetként" msgstr "A PipeWire használata hang kimenetként"
@@ -424,15 +445,15 @@ msgstr "Ferenc Géczi"
msgid "Ends at: %s" msgid "Ends at: %s"
msgstr "%s-kor ér véget" msgstr "%s-kor ér véget"
#: src/widget.js:226 src/widget.js:235 src/widget.js:241 src/widget.js:247 #: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined" msgid "Undetermined"
msgstr "Meghatározatlan" msgstr "Meghatározatlan"
#: src/widget.js:242 #: src/widget.js:243
msgid "Channels" msgid "Channels"
msgstr "Csatornák" msgstr "Csatornák"
#: src/widget.js:260 #: src/widget.js:261
msgid "Disabled" msgid "Disabled"
msgstr "Kikapcsolva" msgstr "Kikapcsolva"

129
po/it.po
View File

@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: clapper\n" "Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-26 18:41+0200\n" "POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2022-05-27 12:50\n" "PO-Revision-Date: 2021-10-04 08:30\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Italian\n" "Language-Team: Italian\n"
"Language: it_IT\n" "Language: it_IT\n"
@@ -41,11 +41,12 @@ msgstr "Informazioni su Clapper"
msgid "Speed" msgid "Speed"
msgstr "Velocità" msgstr "Velocità"
#: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:82 #: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:83
#: ui/preferences-window.ui:215
msgid "Normal" msgid "Normal"
msgstr "Normale" msgstr "Normale"
#: ui/help-overlay.ui:10 ui/preferences-window.ui:11 #: ui/help-overlay.ui:10 ui/preferences-window.ui:12
msgid "General" msgid "General"
msgstr "Generale" msgstr "Generale"
@@ -117,7 +118,7 @@ msgstr "Cambia modalità di ripetizione"
msgid "Export to file" msgid "Export to file"
msgstr "Esporta su file" msgstr "Esporta su file"
#: ui/help-overlay.ui:95 ui/preferences-window.ui:118 #: ui/help-overlay.ui:95 ui/preferences-window.ui:119
msgid "Playback" msgid "Playback"
msgstr "Riproduzione" msgstr "Riproduzione"
@@ -181,183 +182,203 @@ msgstr "Decodificatori"
msgid "Return to the preferences" msgid "Return to the preferences"
msgstr "Ritorna alle preferenze" msgstr "Ritorna alle preferenze"
#: ui/preferences-window.ui:15 #: ui/preferences-window.ui:16
msgid "Behavior" msgid "Behavior"
msgstr "Comportamento" msgstr "Comportamento"
#: ui/preferences-window.ui:18 #: ui/preferences-window.ui:19
msgid "Auto fullscreen" msgid "Auto fullscreen"
msgstr "Schermo intero automatico" msgstr "Schermo intero automatico"
#: ui/preferences-window.ui:19 #: ui/preferences-window.ui:20
msgid "Enter fullscreen when playlist is replaced except floating mode" msgid "Enter fullscreen when playlist is replaced except floating mode"
msgstr "Attiva schermo intero quando la playlist viene sostituita, tranne in modalità fluttuante" msgstr "Attiva schermo intero quando la playlist viene sostituita, tranne in modalità fluttuante"
#: ui/preferences-window.ui:25 #: ui/preferences-window.ui:26
msgid "Ask to resume recent media" msgid "Ask to resume recent media"
msgstr "Chiedi di riprendere i media recenti" msgstr "Chiedi di riprendere i media recenti"
#: ui/preferences-window.ui:31 #: ui/preferences-window.ui:32
msgid "Float on all workspaces" msgid "Float on all workspaces"
msgstr "Fluttuante su tutti i workspace" msgstr "Fluttuante su tutti i workspace"
#: ui/preferences-window.ui:32 #: ui/preferences-window.ui:33
msgid "This option only works on GNOME" msgid "This option only works on GNOME"
msgstr "Questa opzione funziona solo su GNOME" msgstr "Questa opzione funziona solo su GNOME"
#: ui/preferences-window.ui:38 #: ui/preferences-window.ui:39
msgid "After playback" msgid "After playback"
msgstr "Dopo la riproduzione" msgstr "Dopo la riproduzione"
#: ui/preferences-window.ui:43 #: ui/preferences-window.ui:44
msgid "Do nothing" msgid "Do nothing"
msgstr "Non fare nulla" msgstr "Non fare nulla"
#: ui/preferences-window.ui:44 #: ui/preferences-window.ui:45
msgid "Freeze last frame" msgid "Freeze last frame"
msgstr "Mostra l'ultimo fotogramma" msgstr "Mostra l'ultimo fotogramma"
#: ui/preferences-window.ui:45 #: ui/preferences-window.ui:46
msgid "Close the app" msgid "Close the app"
msgstr "Chiudi l'app" msgstr "Chiudi l'app"
#: ui/preferences-window.ui:55 #: ui/preferences-window.ui:56
msgid "Volume" msgid "Volume"
msgstr "Volume" msgstr "Volume"
#: ui/preferences-window.ui:58 #: ui/preferences-window.ui:59
msgid "Custom initial value" msgid "Custom initial value"
msgstr "Valore iniziale personalizato" msgstr "Valore iniziale personalizato"
#: ui/preferences-window.ui:59 #: ui/preferences-window.ui:60
msgid "Set custom volume at startup instead of restoring it" msgid "Set custom volume at startup instead of restoring it"
msgstr "Imposta un volume all'avvio personalizzato invece di ripristinarlo" msgstr "Imposta un volume all'avvio personalizzato invece di ripristinarlo"
#: ui/preferences-window.ui:63 #: ui/preferences-window.ui:64
msgid "Volume percentage" msgid "Volume percentage"
msgstr "Percentuale volume" msgstr "Percentuale volume"
#: ui/preferences-window.ui:74 #: ui/preferences-window.ui:75
msgid "Seeking" msgid "Seeking"
msgstr "Scorrimento" msgstr "Scorrimento"
#: ui/preferences-window.ui:77 #: ui/preferences-window.ui:78
msgid "Mode" msgid "Mode"
msgstr "Modalità" msgstr "Modalità"
#: ui/preferences-window.ui:83 #: ui/preferences-window.ui:84
msgid "Accurate" msgid "Accurate"
msgstr "Accurata" msgstr "Accurata"
#: ui/preferences-window.ui:84 #: ui/preferences-window.ui:85
msgid "Fast" msgid "Fast"
msgstr "Veloce" msgstr "Veloce"
#: ui/preferences-window.ui:92 #: ui/preferences-window.ui:93
msgid "Unit" msgid "Unit"
msgstr "Unità" msgstr "Unità"
#: ui/preferences-window.ui:97 #: ui/preferences-window.ui:98
msgid "Second" msgid "Second"
msgstr "Secondo" msgstr "Secondo"
#: ui/preferences-window.ui:98 #: ui/preferences-window.ui:99
msgid "Minute" msgid "Minute"
msgstr "Minuto" msgstr "Minuto"
#: ui/preferences-window.ui:99 #: ui/preferences-window.ui:100
msgid "Percentage" msgid "Percentage"
msgstr "Percentuale" msgstr "Percentuale"
#: ui/preferences-window.ui:107 #: ui/preferences-window.ui:108
msgid "Value" msgid "Value"
msgstr "Valore" msgstr "Valore"
#: ui/preferences-window.ui:122 #: ui/preferences-window.ui:123
msgid "Audio" msgid "Audio"
msgstr "Audio" msgstr "Audio"
#: ui/preferences-window.ui:125 #: ui/preferences-window.ui:126
msgid "Offset in milliseconds" msgid "Offset in milliseconds"
msgstr "Ritardo/Anticipo in millisecondi" msgstr "Ritardo/Anticipo in millisecondi"
#: ui/preferences-window.ui:132 #: ui/preferences-window.ui:133
msgid "Only native audio formats" msgid "Only native audio formats"
msgstr "Solo formati audio nativi" msgstr "Solo formati audio nativi"
#: ui/preferences-window.ui:140 #: ui/preferences-window.ui:141
msgid "Subtitles" msgid "Subtitles"
msgstr "Sottotitoli" msgstr "Sottotitoli"
#: ui/preferences-window.ui:143 #: ui/preferences-window.ui:144
msgid "Default font" msgid "Default font"
msgstr "Carattere predefinito" msgstr "Carattere predefinito"
#: ui/preferences-window.ui:153 #: ui/preferences-window.ui:154
msgid "Network" msgid "Network"
msgstr "Rete" msgstr "Rete"
#: ui/preferences-window.ui:157 #: ui/preferences-window.ui:158
msgid "Client" msgid "Client"
msgstr "Client" msgstr "Client"
#: ui/preferences-window.ui:160 #: ui/preferences-window.ui:161
msgid "Progressive download buffering" msgid "Progressive download buffering"
msgstr "Download buffering progressivo" msgstr "Download buffering progressivo"
#: ui/preferences-window.ui:168 #: ui/preferences-window.ui:169
msgid "Server" msgid "Server"
msgstr "Server" msgstr "Server"
#: ui/preferences-window.ui:171 #: ui/preferences-window.ui:172
msgid "Control player remotely" msgid "Control player remotely"
msgstr "Controlla la riproduzione da remoto" msgstr "Controlla la riproduzione da remoto"
#: ui/preferences-window.ui:175 #: ui/preferences-window.ui:176
msgid "Listening port" msgid "Listening port"
msgstr "Porta in ascolto" msgstr "Porta in ascolto"
#: ui/preferences-window.ui:188 #: ui/preferences-window.ui:183
msgid "Run web application in background"
msgstr "Lancia l'applicazione web in sottofondo"
#: ui/preferences-window.ui:184
msgid "Requires GTK compiled with Broadway backend"
msgstr "Richiede GTK compilato con il supporto a Broadway"
#: ui/preferences-window.ui:190
msgid "Web application port"
msgstr "Porta per l'applicazione web"
#: ui/preferences-window.ui:204
msgid "Prefer adaptive streaming"
msgstr "Preferisci stream adattivo"
#: ui/preferences-window.ui:210
msgid "Max quality"
msgstr "Qualità massima"
#: ui/preferences-window.ui:228
msgid "Tweaks" msgid "Tweaks"
msgstr "Aggiustamenti" msgstr "Aggiustamenti"
#: ui/preferences-window.ui:192 #: ui/preferences-window.ui:232
msgid "Appearance" msgid "Appearance"
msgstr "Aspetto" msgstr "Aspetto"
#: ui/preferences-window.ui:195 #: ui/preferences-window.ui:235
msgid "Dark theme" msgid "Dark theme"
msgstr "Tema scuro" msgstr "Tema scuro"
#: ui/preferences-window.ui:201 #: ui/preferences-window.ui:241
msgid "Render window shadows" msgid "Render window shadows"
msgstr "Ombreggiatura della finestra" msgstr "Ombreggiatura della finestra"
#: ui/preferences-window.ui:202 #: ui/preferences-window.ui:242
msgid "Disable to increase performance when windowed" msgid "Disable to increase performance when windowed"
msgstr "Disabilita per aumentare le prestazioni in modalità finestra" msgstr "Disabilita per aumentare le prestazioni in modalità finestra"
#: ui/preferences-window.ui:213 #: ui/preferences-window.ui:253
msgid "Plugin ranking" msgid "Plugin ranking"
msgstr "Ordine dei plugin" msgstr "Ordine dei plugin"
#: ui/preferences-window.ui:214 #: ui/preferences-window.ui:254
msgid "Alter default ranks of GStreamer plugins" msgid "Alter default ranks of GStreamer plugins"
msgstr "Altera l'ordine predefinito dei plugin di GStreamer" msgstr "Altera l'ordine predefinito dei plugin di GStreamer"
#: ui/preferences-window.ui:219 #: ui/preferences-window.ui:259
msgid "Use playbin3" msgid "Use playbin3"
msgstr "Usa playbin3" msgstr "Usa playbin3"
#: ui/preferences-window.ui:220 ui/preferences-window.ui:229 #: ui/preferences-window.ui:260 ui/preferences-window.ui:269
msgid "Requires player restart" msgid "Requires player restart"
msgstr "Richiede il riavvio del player" msgstr "Richiede il riavvio del player"
#: ui/preferences-window.ui:222 ui/preferences-window.ui:231 #: ui/preferences-window.ui:262 ui/preferences-window.ui:271
msgid "Experimental" msgid "Experimental"
msgstr "Sperimentale" msgstr "Sperimentale"
#: ui/preferences-window.ui:228 #: ui/preferences-window.ui:268
msgid "Use PipeWire for audio output" msgid "Use PipeWire for audio output"
msgstr "Usa PipeWire per l'uscita audio" msgstr "Usa PipeWire per l'uscita audio"
@@ -417,22 +438,22 @@ msgstr "Un riproduttore multimediale per GNOME basato su GStreamer"
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated #. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/dialogs.js:305 #: src/dialogs.js:305
msgid "translator-credits" msgid "translator-credits"
msgstr "Uniformbuffer" msgstr ""
#: src/revealers.js:170 #: src/revealers.js:170
#, javascript-format #, javascript-format
msgid "Ends at: %s" msgid "Ends at: %s"
msgstr "Termina alle: %s" msgstr "Termina alle: %s"
#: src/widget.js:226 src/widget.js:235 src/widget.js:241 src/widget.js:247 #: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined" msgid "Undetermined"
msgstr "Indeterminato" msgstr "Indeterminato"
#: src/widget.js:242 #: src/widget.js:243
msgid "Channels" msgid "Channels"
msgstr "Canali" msgstr "Canali"
#: src/widget.js:260 #: src/widget.js:261
msgid "Disabled" msgid "Disabled"
msgstr "Disabilitato" msgstr "Disabilitato"

127
po/ja.po
View File

@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: clapper\n" "Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-26 18:41+0200\n" "POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2022-05-26 16:50\n" "PO-Revision-Date: 2022-04-01 09:06\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Japanese\n" "Language-Team: Japanese\n"
"Language: ja_JP\n" "Language: ja_JP\n"
@@ -41,11 +41,12 @@ msgstr "Clapperについて"
msgid "Speed" msgid "Speed"
msgstr "速度" msgstr "速度"
#: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:82 #: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:83
#: ui/preferences-window.ui:215
msgid "Normal" msgid "Normal"
msgstr "標準" msgstr "標準"
#: ui/help-overlay.ui:10 ui/preferences-window.ui:11 #: ui/help-overlay.ui:10 ui/preferences-window.ui:12
msgid "General" msgid "General"
msgstr "一般" msgstr "一般"
@@ -117,7 +118,7 @@ msgstr "リピートモードを変更"
msgid "Export to file" msgid "Export to file"
msgstr "ファイルへエクスポート" msgstr "ファイルへエクスポート"
#: ui/help-overlay.ui:95 ui/preferences-window.ui:118 #: ui/help-overlay.ui:95 ui/preferences-window.ui:119
msgid "Playback" msgid "Playback"
msgstr "プレイバック" msgstr "プレイバック"
@@ -181,183 +182,203 @@ msgstr "デコーダー"
msgid "Return to the preferences" msgid "Return to the preferences"
msgstr "設定へ戻る" msgstr "設定へ戻る"
#: ui/preferences-window.ui:15 #: ui/preferences-window.ui:16
msgid "Behavior" msgid "Behavior"
msgstr "挙動" msgstr "挙動"
#: ui/preferences-window.ui:18 #: ui/preferences-window.ui:19
msgid "Auto fullscreen" msgid "Auto fullscreen"
msgstr "自動的にフルスクリーンに切り替える" msgstr "自動的にフルスクリーンに切り替える"
#: ui/preferences-window.ui:19 #: ui/preferences-window.ui:20
msgid "Enter fullscreen when playlist is replaced except floating mode" msgid "Enter fullscreen when playlist is replaced except floating mode"
msgstr "フローティングモードを除き、プレイリストを入れ替えた場合に自動的にフルスクリーンにする" msgstr "フローティングモードを除き、プレイリストを入れ替えた場合に自動的にフルスクリーンにする"
#: ui/preferences-window.ui:25 #: ui/preferences-window.ui:26
msgid "Ask to resume recent media" msgid "Ask to resume recent media"
msgstr "前回再生したメディアを続きから再生するか尋ねる" msgstr "前回再生したメディアを続きから再生するか尋ねる"
#: ui/preferences-window.ui:31 #: ui/preferences-window.ui:32
msgid "Float on all workspaces" msgid "Float on all workspaces"
msgstr "すべてのワークスペースにフロートを配置する" msgstr "すべてのワークスペースにフロートを配置する"
#: ui/preferences-window.ui:32 #: ui/preferences-window.ui:33
msgid "This option only works on GNOME" msgid "This option only works on GNOME"
msgstr "このオプションはGnomeでのみ機能します" msgstr "このオプションはGnomeでのみ機能します"
#: ui/preferences-window.ui:38 #: ui/preferences-window.ui:39
msgid "After playback" msgid "After playback"
msgstr "再生終了後" msgstr "再生終了後"
#: ui/preferences-window.ui:43 #: ui/preferences-window.ui:44
msgid "Do nothing" msgid "Do nothing"
msgstr "何もしない" msgstr "何もしない"
#: ui/preferences-window.ui:44 #: ui/preferences-window.ui:45
msgid "Freeze last frame" msgid "Freeze last frame"
msgstr "最後のフレームで停止する" msgstr "最後のフレームで停止する"
#: ui/preferences-window.ui:45 #: ui/preferences-window.ui:46
msgid "Close the app" msgid "Close the app"
msgstr "アプリを閉じる" msgstr "アプリを閉じる"
#: ui/preferences-window.ui:55 #: ui/preferences-window.ui:56
msgid "Volume" msgid "Volume"
msgstr "音量" msgstr "音量"
#: ui/preferences-window.ui:58 #: ui/preferences-window.ui:59
msgid "Custom initial value" msgid "Custom initial value"
msgstr "初期音量を設定する" msgstr "初期音量を設定する"
#: ui/preferences-window.ui:59 #: ui/preferences-window.ui:60
msgid "Set custom volume at startup instead of restoring it" msgid "Set custom volume at startup instead of restoring it"
msgstr "前回使用した音量を使用するのではなく、起動時に音量をカスタム値に設定します" msgstr "前回使用した音量を使用するのではなく、起動時に音量をカスタム値に設定します"
#: ui/preferences-window.ui:63 #: ui/preferences-window.ui:64
msgid "Volume percentage" msgid "Volume percentage"
msgstr "音量(%)" msgstr "音量(%)"
#: ui/preferences-window.ui:74 #: ui/preferences-window.ui:75
msgid "Seeking" msgid "Seeking"
msgstr "シーキング" msgstr "シーキング"
#: ui/preferences-window.ui:77 #: ui/preferences-window.ui:78
msgid "Mode" msgid "Mode"
msgstr "モード" msgstr "モード"
#: ui/preferences-window.ui:83 #: ui/preferences-window.ui:84
msgid "Accurate" msgid "Accurate"
msgstr "精密" msgstr "精密"
#: ui/preferences-window.ui:84 #: ui/preferences-window.ui:85
msgid "Fast" msgid "Fast"
msgstr "高速" msgstr "高速"
#: ui/preferences-window.ui:92 #: ui/preferences-window.ui:93
msgid "Unit" msgid "Unit"
msgstr "ユニット" msgstr "ユニット"
#: ui/preferences-window.ui:97 #: ui/preferences-window.ui:98
msgid "Second" msgid "Second"
msgstr "秒" msgstr "秒"
#: ui/preferences-window.ui:98 #: ui/preferences-window.ui:99
msgid "Minute" msgid "Minute"
msgstr "分" msgstr "分"
#: ui/preferences-window.ui:99 #: ui/preferences-window.ui:100
msgid "Percentage" msgid "Percentage"
msgstr "パーセント" msgstr "パーセント"
#: ui/preferences-window.ui:107 #: ui/preferences-window.ui:108
msgid "Value" msgid "Value"
msgstr "値" msgstr "値"
#: ui/preferences-window.ui:122 #: ui/preferences-window.ui:123
msgid "Audio" msgid "Audio"
msgstr "オ−ディオ" msgstr "オ−ディオ"
#: ui/preferences-window.ui:125 #: ui/preferences-window.ui:126
msgid "Offset in milliseconds" msgid "Offset in milliseconds"
msgstr "オフセット(ミリ秒)" msgstr "オフセット(ミリ秒)"
#: ui/preferences-window.ui:132 #: ui/preferences-window.ui:133
msgid "Only native audio formats" msgid "Only native audio formats"
msgstr "ネイティブオーディオフォーマットのみを使用する" msgstr "ネイティブオーディオフォーマットのみを使用する"
#: ui/preferences-window.ui:140 #: ui/preferences-window.ui:141
msgid "Subtitles" msgid "Subtitles"
msgstr "字幕" msgstr "字幕"
#: ui/preferences-window.ui:143 #: ui/preferences-window.ui:144
msgid "Default font" msgid "Default font"
msgstr "既定のフォント" msgstr "既定のフォント"
#: ui/preferences-window.ui:153 #: ui/preferences-window.ui:154
msgid "Network" msgid "Network"
msgstr "ネットワーク" msgstr "ネットワーク"
#: ui/preferences-window.ui:157 #: ui/preferences-window.ui:158
msgid "Client" msgid "Client"
msgstr "クライアント" msgstr "クライアント"
#: ui/preferences-window.ui:160 #: ui/preferences-window.ui:161
msgid "Progressive download buffering" msgid "Progressive download buffering"
msgstr "プログレッシブなバッファリングを使用する" msgstr "プログレッシブなバッファリングを使用する"
#: ui/preferences-window.ui:168 #: ui/preferences-window.ui:169
msgid "Server" msgid "Server"
msgstr "サーバー" msgstr "サーバー"
#: ui/preferences-window.ui:171 #: ui/preferences-window.ui:172
msgid "Control player remotely" msgid "Control player remotely"
msgstr "プレーヤーをリモートでコントロールする" msgstr "プレーヤーをリモートでコントロールする"
#: ui/preferences-window.ui:175 #: ui/preferences-window.ui:176
msgid "Listening port" msgid "Listening port"
msgstr "待ち受けポート" msgstr "待ち受けポート"
#: ui/preferences-window.ui:188 #: ui/preferences-window.ui:183
msgid "Run web application in background"
msgstr "Webアプリケーションをバックグラウンドで実行する"
#: ui/preferences-window.ui:184
msgid "Requires GTK compiled with Broadway backend"
msgstr "Broadwayバックエンドでコンパイルされた GTK が必要です"
#: ui/preferences-window.ui:190
msgid "Web application port"
msgstr "Webアプリケーションのポート"
#: ui/preferences-window.ui:204
msgid "Prefer adaptive streaming"
msgstr "アダプティブストリーミングを優先する"
#: ui/preferences-window.ui:210
msgid "Max quality"
msgstr "Max quality"
#: ui/preferences-window.ui:228
msgid "Tweaks" msgid "Tweaks"
msgstr "詳細設定" msgstr "詳細設定"
#: ui/preferences-window.ui:192 #: ui/preferences-window.ui:232
msgid "Appearance" msgid "Appearance"
msgstr "外観" msgstr "外観"
#: ui/preferences-window.ui:195 #: ui/preferences-window.ui:235
msgid "Dark theme" msgid "Dark theme"
msgstr "ダークテーマ" msgstr "ダークテーマ"
#: ui/preferences-window.ui:201 #: ui/preferences-window.ui:241
msgid "Render window shadows" msgid "Render window shadows"
msgstr "ウィンドウの影をレンダリングする" msgstr "ウィンドウの影をレンダリングする"
#: ui/preferences-window.ui:202 #: ui/preferences-window.ui:242
msgid "Disable to increase performance when windowed" msgid "Disable to increase performance when windowed"
msgstr "無効化するとウィンドウモードでのパフォーマンスが向上します" msgstr "無効化するとウィンドウモードでのパフォーマンスが向上します"
#: ui/preferences-window.ui:213 #: ui/preferences-window.ui:253
msgid "Plugin ranking" msgid "Plugin ranking"
msgstr "プライグインの優先順位" msgstr "プライグインの優先順位"
#: ui/preferences-window.ui:214 #: ui/preferences-window.ui:254
msgid "Alter default ranks of GStreamer plugins" msgid "Alter default ranks of GStreamer plugins"
msgstr "GStreamerプラグインの優先順位を変更します" msgstr "GStreamerプラグインの優先順位を変更します"
#: ui/preferences-window.ui:219 #: ui/preferences-window.ui:259
msgid "Use playbin3" msgid "Use playbin3"
msgstr "playbin3を使用" msgstr "playbin3を使用"
#: ui/preferences-window.ui:220 ui/preferences-window.ui:229 #: ui/preferences-window.ui:260 ui/preferences-window.ui:269
msgid "Requires player restart" msgid "Requires player restart"
msgstr "プレイヤーの再起動が必要です" msgstr "プレイヤーの再起動が必要です"
#: ui/preferences-window.ui:222 ui/preferences-window.ui:231 #: ui/preferences-window.ui:262 ui/preferences-window.ui:271
msgid "Experimental" msgid "Experimental"
msgstr "試験運用機能" msgstr "試験運用機能"
#: ui/preferences-window.ui:228 #: ui/preferences-window.ui:268
msgid "Use PipeWire for audio output" msgid "Use PipeWire for audio output"
msgstr "オーディオ出力にPipeWireを使用する" msgstr "オーディオ出力にPipeWireを使用する"
@@ -424,15 +445,15 @@ msgstr "翻訳者"
msgid "Ends at: %s" msgid "Ends at: %s"
msgstr "再生終了時刻: %s" msgstr "再生終了時刻: %s"
#: src/widget.js:226 src/widget.js:235 src/widget.js:241 src/widget.js:247 #: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined" msgid "Undetermined"
msgstr "不明" msgstr "不明"
#: src/widget.js:242 #: src/widget.js:243
msgid "Channels" msgid "Channels"
msgstr "チャンネル" msgstr "チャンネル"
#: src/widget.js:260 #: src/widget.js:261
msgid "Disabled" msgid "Disabled"
msgstr "Disabled" msgstr "Disabled"

165
po/ko.po
View File

@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: clapper\n" "Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-26 18:41+0200\n" "POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2022-05-26 16:50\n" "PO-Revision-Date: 2021-09-14 15:24\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Korean\n" "Language-Team: Korean\n"
"Language: ko_KR\n" "Language: ko_KR\n"
@@ -41,11 +41,12 @@ msgstr ""
msgid "Speed" msgid "Speed"
msgstr "" msgstr ""
#: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:82 #: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:83
#: ui/preferences-window.ui:215
msgid "Normal" msgid "Normal"
msgstr "" msgstr ""
#: ui/help-overlay.ui:10 ui/preferences-window.ui:11 #: ui/help-overlay.ui:10 ui/preferences-window.ui:12
msgid "General" msgid "General"
msgstr "" msgstr ""
@@ -117,7 +118,7 @@ msgstr ""
msgid "Export to file" msgid "Export to file"
msgstr "" msgstr ""
#: ui/help-overlay.ui:95 ui/preferences-window.ui:118 #: ui/help-overlay.ui:95 ui/preferences-window.ui:119
msgid "Playback" msgid "Playback"
msgstr "" msgstr ""
@@ -181,183 +182,203 @@ msgstr ""
msgid "Return to the preferences" msgid "Return to the preferences"
msgstr "" msgstr ""
#: ui/preferences-window.ui:15 #: ui/preferences-window.ui:16
msgid "Behavior" msgid "Behavior"
msgstr "" msgstr ""
#: ui/preferences-window.ui:18 #: ui/preferences-window.ui:19
msgid "Auto fullscreen" msgid "Auto fullscreen"
msgstr "" msgstr ""
#: ui/preferences-window.ui:19 #: ui/preferences-window.ui:20
msgid "Enter fullscreen when playlist is replaced except floating mode" msgid "Enter fullscreen when playlist is replaced except floating mode"
msgstr "" msgstr ""
#: ui/preferences-window.ui:25 #: ui/preferences-window.ui:26
msgid "Ask to resume recent media" msgid "Ask to resume recent media"
msgstr "" msgstr ""
#: ui/preferences-window.ui:31 #: ui/preferences-window.ui:32
msgid "Float on all workspaces" msgid "Float on all workspaces"
msgstr "" msgstr ""
#: ui/preferences-window.ui:32 #: ui/preferences-window.ui:33
msgid "This option only works on GNOME" msgid "This option only works on GNOME"
msgstr "" msgstr ""
#: ui/preferences-window.ui:38 #: ui/preferences-window.ui:39
msgid "After playback" msgid "After playback"
msgstr "" msgstr ""
#: ui/preferences-window.ui:43 #: ui/preferences-window.ui:44
msgid "Do nothing" msgid "Do nothing"
msgstr "" msgstr ""
#: ui/preferences-window.ui:44 #: ui/preferences-window.ui:45
msgid "Freeze last frame" msgid "Freeze last frame"
msgstr "" msgstr ""
#: ui/preferences-window.ui:45 #: ui/preferences-window.ui:46
msgid "Close the app" msgid "Close the app"
msgstr "" msgstr ""
#: ui/preferences-window.ui:55 #: ui/preferences-window.ui:56
msgid "Volume" msgid "Volume"
msgstr "" msgstr ""
#: ui/preferences-window.ui:58 #: ui/preferences-window.ui:59
msgid "Custom initial value" msgid "Custom initial value"
msgstr "" msgstr ""
#: ui/preferences-window.ui:59 #: ui/preferences-window.ui:60
msgid "Set custom volume at startup instead of restoring it" msgid "Set custom volume at startup instead of restoring it"
msgstr "" msgstr ""
#: ui/preferences-window.ui:63 #: ui/preferences-window.ui:64
msgid "Volume percentage" msgid "Volume percentage"
msgstr "" msgstr ""
#: ui/preferences-window.ui:74 #: ui/preferences-window.ui:75
msgid "Seeking" msgid "Seeking"
msgstr "" msgstr ""
#: ui/preferences-window.ui:77 #: ui/preferences-window.ui:78
msgid "Mode" msgid "Mode"
msgstr "" msgstr ""
#: ui/preferences-window.ui:83 #: ui/preferences-window.ui:84
msgid "Accurate" msgid "Accurate"
msgstr "" msgstr ""
#: ui/preferences-window.ui:84 #: ui/preferences-window.ui:85
msgid "Fast" msgid "Fast"
msgstr "" msgstr ""
#: ui/preferences-window.ui:92 #: ui/preferences-window.ui:93
msgid "Unit" msgid "Unit"
msgstr "" msgstr ""
#: ui/preferences-window.ui:97 #: ui/preferences-window.ui:98
msgid "Second" msgid "Second"
msgstr "" msgstr ""
#: ui/preferences-window.ui:98 #: ui/preferences-window.ui:99
msgid "Minute" msgid "Minute"
msgstr "" msgstr ""
#: ui/preferences-window.ui:99 #: ui/preferences-window.ui:100
msgid "Percentage" msgid "Percentage"
msgstr "" msgstr ""
#: ui/preferences-window.ui:107 #: ui/preferences-window.ui:108
msgid "Value" msgid "Value"
msgstr "" msgstr ""
#: ui/preferences-window.ui:122 #: ui/preferences-window.ui:123
msgid "Audio" msgid "Audio"
msgstr "" msgstr ""
#: ui/preferences-window.ui:125 #: ui/preferences-window.ui:126
msgid "Offset in milliseconds" msgid "Offset in milliseconds"
msgstr "" msgstr ""
#: ui/preferences-window.ui:132 #: ui/preferences-window.ui:133
msgid "Only native audio formats" msgid "Only native audio formats"
msgstr "" msgstr ""
#: ui/preferences-window.ui:140 #: ui/preferences-window.ui:141
msgid "Subtitles" msgid "Subtitles"
msgstr "" msgstr ""
#: ui/preferences-window.ui:143 #: ui/preferences-window.ui:144
msgid "Default font" msgid "Default font"
msgstr "" msgstr ""
#: ui/preferences-window.ui:153 #: ui/preferences-window.ui:154
msgid "Network" msgid "Network"
msgstr "" msgstr ""
#: ui/preferences-window.ui:157 #: ui/preferences-window.ui:158
msgid "Client" msgid "Client"
msgstr "" msgstr ""
#: ui/preferences-window.ui:160 #: ui/preferences-window.ui:161
msgid "Progressive download buffering" msgid "Progressive download buffering"
msgstr "" msgstr ""
#: ui/preferences-window.ui:168 #: ui/preferences-window.ui:169
msgid "Server" msgid "Server"
msgstr "" msgstr ""
#: ui/preferences-window.ui:171 #: ui/preferences-window.ui:172
msgid "Control player remotely" msgid "Control player remotely"
msgstr "" msgstr ""
#: ui/preferences-window.ui:175 #: ui/preferences-window.ui:176
msgid "Listening port" msgid "Listening port"
msgstr "" msgstr ""
#: ui/preferences-window.ui:188 #: ui/preferences-window.ui:183
msgid "Tweaks" msgid "Run web application in background"
msgstr "" msgstr ""
#: ui/preferences-window.ui:192 #: ui/preferences-window.ui:184
msgid "Appearance" msgid "Requires GTK compiled with Broadway backend"
msgstr "" msgstr ""
#: ui/preferences-window.ui:195 #: ui/preferences-window.ui:190
msgid "Dark theme" msgid "Web application port"
msgstr "" msgstr ""
#: ui/preferences-window.ui:201 #: ui/preferences-window.ui:204
msgid "Render window shadows" msgid "Prefer adaptive streaming"
msgstr "" msgstr ""
#: ui/preferences-window.ui:202 #: ui/preferences-window.ui:210
msgid "Disable to increase performance when windowed" msgid "Max quality"
msgstr ""
#: ui/preferences-window.ui:213
msgid "Plugin ranking"
msgstr ""
#: ui/preferences-window.ui:214
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: ui/preferences-window.ui:219
msgid "Use playbin3"
msgstr ""
#: ui/preferences-window.ui:220 ui/preferences-window.ui:229
msgid "Requires player restart"
msgstr ""
#: ui/preferences-window.ui:222 ui/preferences-window.ui:231
msgid "Experimental"
msgstr "" msgstr ""
#: ui/preferences-window.ui:228 #: ui/preferences-window.ui:228
msgid "Tweaks"
msgstr ""
#: ui/preferences-window.ui:232
msgid "Appearance"
msgstr ""
#: ui/preferences-window.ui:235
msgid "Dark theme"
msgstr ""
#: ui/preferences-window.ui:241
msgid "Render window shadows"
msgstr ""
#: ui/preferences-window.ui:242
msgid "Disable to increase performance when windowed"
msgstr ""
#: ui/preferences-window.ui:253
msgid "Plugin ranking"
msgstr ""
#: ui/preferences-window.ui:254
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: ui/preferences-window.ui:259
msgid "Use playbin3"
msgstr ""
#: ui/preferences-window.ui:260 ui/preferences-window.ui:269
msgid "Requires player restart"
msgstr ""
#: ui/preferences-window.ui:262 ui/preferences-window.ui:271
msgid "Experimental"
msgstr ""
#: ui/preferences-window.ui:268
msgid "Use PipeWire for audio output" msgid "Use PipeWire for audio output"
msgstr "" msgstr ""
@@ -424,15 +445,15 @@ msgstr ""
msgid "Ends at: %s" msgid "Ends at: %s"
msgstr "" msgstr ""
#: src/widget.js:226 src/widget.js:235 src/widget.js:241 src/widget.js:247 #: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined" msgid "Undetermined"
msgstr "" msgstr ""
#: src/widget.js:242 #: src/widget.js:243
msgid "Channels" msgid "Channels"
msgstr "" msgstr ""
#: src/widget.js:260 #: src/widget.js:261
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""

127
po/nl.po
View File

@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: clapper\n" "Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-26 18:41+0200\n" "POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2022-05-26 16:50\n" "PO-Revision-Date: 2022-04-08 16:14\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Dutch\n" "Language-Team: Dutch\n"
"Language: nl_NL\n" "Language: nl_NL\n"
@@ -41,11 +41,12 @@ msgstr "Over Clapper"
msgid "Speed" msgid "Speed"
msgstr "Snelheid" msgstr "Snelheid"
#: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:82 #: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:83
#: ui/preferences-window.ui:215
msgid "Normal" msgid "Normal"
msgstr "Normaal" msgstr "Normaal"
#: ui/help-overlay.ui:10 ui/preferences-window.ui:11 #: ui/help-overlay.ui:10 ui/preferences-window.ui:12
msgid "General" msgid "General"
msgstr "Algemeen" msgstr "Algemeen"
@@ -117,7 +118,7 @@ msgstr "Herhaalmodus wijzigen"
msgid "Export to file" msgid "Export to file"
msgstr "Exporteren naar bestand" msgstr "Exporteren naar bestand"
#: ui/help-overlay.ui:95 ui/preferences-window.ui:118 #: ui/help-overlay.ui:95 ui/preferences-window.ui:119
msgid "Playback" msgid "Playback"
msgstr "Afspelen" msgstr "Afspelen"
@@ -181,183 +182,203 @@ msgstr "Decodering"
msgid "Return to the preferences" msgid "Return to the preferences"
msgstr "Terug naar voorkeuren" msgstr "Terug naar voorkeuren"
#: ui/preferences-window.ui:15 #: ui/preferences-window.ui:16
msgid "Behavior" msgid "Behavior"
msgstr "Gedrag" msgstr "Gedrag"
#: ui/preferences-window.ui:18 #: ui/preferences-window.ui:19
msgid "Auto fullscreen" msgid "Auto fullscreen"
msgstr "Beeldvullende modus automatisch inschakelen" msgstr "Beeldvullende modus automatisch inschakelen"
#: ui/preferences-window.ui:19 #: ui/preferences-window.ui:20
msgid "Enter fullscreen when playlist is replaced except floating mode" msgid "Enter fullscreen when playlist is replaced except floating mode"
msgstr "Schakel de beeldvullende modus automatisch in als de afspeellijst wordt vervangen (behalve in de zwevende modus)" msgstr "Schakel de beeldvullende modus automatisch in als de afspeellijst wordt vervangen (behalve in de zwevende modus)"
#: ui/preferences-window.ui:25 #: ui/preferences-window.ui:26
msgid "Ask to resume recent media" msgid "Ask to resume recent media"
msgstr "Vragen om onlangs afgespeelde media te hervatten" msgstr "Vragen om onlangs afgespeelde media te hervatten"
#: ui/preferences-window.ui:31 #: ui/preferences-window.ui:32
msgid "Float on all workspaces" msgid "Float on all workspaces"
msgstr "Zweven op alle werkbladen" msgstr "Zweven op alle werkbladen"
#: ui/preferences-window.ui:32 #: ui/preferences-window.ui:33
msgid "This option only works on GNOME" msgid "This option only works on GNOME"
msgstr "Deze optie werkt alleen op GNOME" msgstr "Deze optie werkt alleen op GNOME"
#: ui/preferences-window.ui:38 #: ui/preferences-window.ui:39
msgid "After playback" msgid "After playback"
msgstr "Actie na het afspelen:" msgstr "Actie na het afspelen:"
#: ui/preferences-window.ui:43 #: ui/preferences-window.ui:44
msgid "Do nothing" msgid "Do nothing"
msgstr "Niets doen" msgstr "Niets doen"
#: ui/preferences-window.ui:44 #: ui/preferences-window.ui:45
msgid "Freeze last frame" msgid "Freeze last frame"
msgstr "Laatste frame bevriezen" msgstr "Laatste frame bevriezen"
#: ui/preferences-window.ui:45 #: ui/preferences-window.ui:46
msgid "Close the app" msgid "Close the app"
msgstr "Toepassing afsluiten" msgstr "Toepassing afsluiten"
#: ui/preferences-window.ui:55 #: ui/preferences-window.ui:56
msgid "Volume" msgid "Volume"
msgstr "Volume" msgstr "Volume"
#: ui/preferences-window.ui:58 #: ui/preferences-window.ui:59
msgid "Custom initial value" msgid "Custom initial value"
msgstr "Aangepaste initiële waarde" msgstr "Aangepaste initiële waarde"
#: ui/preferences-window.ui:59 #: ui/preferences-window.ui:60
msgid "Set custom volume at startup instead of restoring it" msgid "Set custom volume at startup instead of restoring it"
msgstr "Stel een aangepast volumeniveau in bij het opstarten in plaats van het vorige te herstellen" msgstr "Stel een aangepast volumeniveau in bij het opstarten in plaats van het vorige te herstellen"
#: ui/preferences-window.ui:63 #: ui/preferences-window.ui:64
msgid "Volume percentage" msgid "Volume percentage"
msgstr "Volumeniveau" msgstr "Volumeniveau"
#: ui/preferences-window.ui:74 #: ui/preferences-window.ui:75
msgid "Seeking" msgid "Seeking"
msgstr "Spoelen" msgstr "Spoelen"
#: ui/preferences-window.ui:77 #: ui/preferences-window.ui:78
msgid "Mode" msgid "Mode"
msgstr "Modus" msgstr "Modus"
#: ui/preferences-window.ui:83 #: ui/preferences-window.ui:84
msgid "Accurate" msgid "Accurate"
msgstr "Nauwkeurig" msgstr "Nauwkeurig"
#: ui/preferences-window.ui:84 #: ui/preferences-window.ui:85
msgid "Fast" msgid "Fast"
msgstr "Snel" msgstr "Snel"
#: ui/preferences-window.ui:92 #: ui/preferences-window.ui:93
msgid "Unit" msgid "Unit"
msgstr "Eenheid" msgstr "Eenheid"
#: ui/preferences-window.ui:97 #: ui/preferences-window.ui:98
msgid "Second" msgid "Second"
msgstr "Seconde" msgstr "Seconde"
#: ui/preferences-window.ui:98 #: ui/preferences-window.ui:99
msgid "Minute" msgid "Minute"
msgstr "Minuut" msgstr "Minuut"
#: ui/preferences-window.ui:99 #: ui/preferences-window.ui:100
msgid "Percentage" msgid "Percentage"
msgstr "Percentage" msgstr "Percentage"
#: ui/preferences-window.ui:107 #: ui/preferences-window.ui:108
msgid "Value" msgid "Value"
msgstr "Waarde" msgstr "Waarde"
#: ui/preferences-window.ui:122 #: ui/preferences-window.ui:123
msgid "Audio" msgid "Audio"
msgstr "Audio" msgstr "Audio"
#: ui/preferences-window.ui:125 #: ui/preferences-window.ui:126
msgid "Offset in milliseconds" msgid "Offset in milliseconds"
msgstr "Verschuiving (in milliseconden)" msgstr "Verschuiving (in milliseconden)"
#: ui/preferences-window.ui:132 #: ui/preferences-window.ui:133
msgid "Only native audio formats" msgid "Only native audio formats"
msgstr "Alleen ingebouwde audioformaten" msgstr "Alleen ingebouwde audioformaten"
#: ui/preferences-window.ui:140 #: ui/preferences-window.ui:141
msgid "Subtitles" msgid "Subtitles"
msgstr "Ondertiteling" msgstr "Ondertiteling"
#: ui/preferences-window.ui:143 #: ui/preferences-window.ui:144
msgid "Default font" msgid "Default font"
msgstr "Standaardlettertype" msgstr "Standaardlettertype"
#: ui/preferences-window.ui:153 #: ui/preferences-window.ui:154
msgid "Network" msgid "Network"
msgstr "Netwerk" msgstr "Netwerk"
#: ui/preferences-window.ui:157 #: ui/preferences-window.ui:158
msgid "Client" msgid "Client"
msgstr "Client" msgstr "Client"
#: ui/preferences-window.ui:160 #: ui/preferences-window.ui:161
msgid "Progressive download buffering" msgid "Progressive download buffering"
msgstr "Progressieve downloadbuffering" msgstr "Progressieve downloadbuffering"
#: ui/preferences-window.ui:168 #: ui/preferences-window.ui:169
msgid "Server" msgid "Server"
msgstr "Server" msgstr "Server"
#: ui/preferences-window.ui:171 #: ui/preferences-window.ui:172
msgid "Control player remotely" msgid "Control player remotely"
msgstr "Speler op afstand bedienen" msgstr "Speler op afstand bedienen"
#: ui/preferences-window.ui:175 #: ui/preferences-window.ui:176
msgid "Listening port" msgid "Listening port"
msgstr "Luisteren op poort:" msgstr "Luisteren op poort:"
#: ui/preferences-window.ui:188 #: ui/preferences-window.ui:183
msgid "Run web application in background"
msgstr "Webtoepassing op achtergrond uitvoeren"
#: ui/preferences-window.ui:184
msgid "Requires GTK compiled with Broadway backend"
msgstr "Vereist GTK met het Broadway-backend"
#: ui/preferences-window.ui:190
msgid "Web application port"
msgstr "Webtoepassingspoort"
#: ui/preferences-window.ui:204
msgid "Prefer adaptive streaming"
msgstr "Adaptief streamen"
#: ui/preferences-window.ui:210
msgid "Max quality"
msgstr "Maximumkwaliteit"
#: ui/preferences-window.ui:228
msgid "Tweaks" msgid "Tweaks"
msgstr "Aanpassingen" msgstr "Aanpassingen"
#: ui/preferences-window.ui:192 #: ui/preferences-window.ui:232
msgid "Appearance" msgid "Appearance"
msgstr "Vormgeving" msgstr "Vormgeving"
#: ui/preferences-window.ui:195 #: ui/preferences-window.ui:235
msgid "Dark theme" msgid "Dark theme"
msgstr "Donker thema" msgstr "Donker thema"
#: ui/preferences-window.ui:201 #: ui/preferences-window.ui:241
msgid "Render window shadows" msgid "Render window shadows"
msgstr "Vensterschaduwen tonen" msgstr "Vensterschaduwen tonen"
#: ui/preferences-window.ui:202 #: ui/preferences-window.ui:242
msgid "Disable to increase performance when windowed" msgid "Disable to increase performance when windowed"
msgstr "Schakel uit om de prestaties te verbeteren in de zwevende modus" msgstr "Schakel uit om de prestaties te verbeteren in de zwevende modus"
#: ui/preferences-window.ui:213 #: ui/preferences-window.ui:253
msgid "Plugin ranking" msgid "Plugin ranking"
msgstr "Plug-involgorde" msgstr "Plug-involgorde"
#: ui/preferences-window.ui:214 #: ui/preferences-window.ui:254
msgid "Alter default ranks of GStreamer plugins" msgid "Alter default ranks of GStreamer plugins"
msgstr "Pas de standaardvolgorde van GStreamer-plug-ins aan" msgstr "Pas de standaardvolgorde van GStreamer-plug-ins aan"
#: ui/preferences-window.ui:219 #: ui/preferences-window.ui:259
msgid "Use playbin3" msgid "Use playbin3"
msgstr "playbin3 gebruiken" msgstr "playbin3 gebruiken"
#: ui/preferences-window.ui:220 ui/preferences-window.ui:229 #: ui/preferences-window.ui:260 ui/preferences-window.ui:269
msgid "Requires player restart" msgid "Requires player restart"
msgstr "Herstart de speler om de wijziging toe te passen" msgstr "Herstart de speler om de wijziging toe te passen"
#: ui/preferences-window.ui:222 ui/preferences-window.ui:231 #: ui/preferences-window.ui:262 ui/preferences-window.ui:271
msgid "Experimental" msgid "Experimental"
msgstr "Experimenteel" msgstr "Experimenteel"
#: ui/preferences-window.ui:228 #: ui/preferences-window.ui:268
msgid "Use PipeWire for audio output" msgid "Use PipeWire for audio output"
msgstr "PipeWire gebruiken voor audio-uitvoer" msgstr "PipeWire gebruiken voor audio-uitvoer"
@@ -424,15 +445,15 @@ msgstr "Heimen Stoffels <vistausss@fastmail.com>"
msgid "Ends at: %s" msgid "Ends at: %s"
msgstr "Eindigt op: %s" msgstr "Eindigt op: %s"
#: src/widget.js:226 src/widget.js:235 src/widget.js:241 src/widget.js:247 #: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined" msgid "Undetermined"
msgstr "onbekend" msgstr "onbekend"
#: src/widget.js:242 #: src/widget.js:243
msgid "Channels" msgid "Channels"
msgstr "Kanalen" msgstr "Kanalen"
#: src/widget.js:260 #: src/widget.js:261
msgid "Disabled" msgid "Disabled"
msgstr "Uitgeschakeld" msgstr "Uitgeschakeld"

165
po/no.po
View File

@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: clapper\n" "Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-26 18:41+0200\n" "POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2022-05-26 16:50\n" "PO-Revision-Date: 2021-09-14 15:25\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Norwegian\n" "Language-Team: Norwegian\n"
"Language: no_NO\n" "Language: no_NO\n"
@@ -41,11 +41,12 @@ msgstr ""
msgid "Speed" msgid "Speed"
msgstr "" msgstr ""
#: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:82 #: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:83
#: ui/preferences-window.ui:215
msgid "Normal" msgid "Normal"
msgstr "" msgstr ""
#: ui/help-overlay.ui:10 ui/preferences-window.ui:11 #: ui/help-overlay.ui:10 ui/preferences-window.ui:12
msgid "General" msgid "General"
msgstr "" msgstr ""
@@ -117,7 +118,7 @@ msgstr ""
msgid "Export to file" msgid "Export to file"
msgstr "" msgstr ""
#: ui/help-overlay.ui:95 ui/preferences-window.ui:118 #: ui/help-overlay.ui:95 ui/preferences-window.ui:119
msgid "Playback" msgid "Playback"
msgstr "" msgstr ""
@@ -181,183 +182,203 @@ msgstr ""
msgid "Return to the preferences" msgid "Return to the preferences"
msgstr "" msgstr ""
#: ui/preferences-window.ui:15 #: ui/preferences-window.ui:16
msgid "Behavior" msgid "Behavior"
msgstr "" msgstr ""
#: ui/preferences-window.ui:18 #: ui/preferences-window.ui:19
msgid "Auto fullscreen" msgid "Auto fullscreen"
msgstr "" msgstr ""
#: ui/preferences-window.ui:19 #: ui/preferences-window.ui:20
msgid "Enter fullscreen when playlist is replaced except floating mode" msgid "Enter fullscreen when playlist is replaced except floating mode"
msgstr "" msgstr ""
#: ui/preferences-window.ui:25 #: ui/preferences-window.ui:26
msgid "Ask to resume recent media" msgid "Ask to resume recent media"
msgstr "" msgstr ""
#: ui/preferences-window.ui:31 #: ui/preferences-window.ui:32
msgid "Float on all workspaces" msgid "Float on all workspaces"
msgstr "" msgstr ""
#: ui/preferences-window.ui:32 #: ui/preferences-window.ui:33
msgid "This option only works on GNOME" msgid "This option only works on GNOME"
msgstr "" msgstr ""
#: ui/preferences-window.ui:38 #: ui/preferences-window.ui:39
msgid "After playback" msgid "After playback"
msgstr "" msgstr ""
#: ui/preferences-window.ui:43 #: ui/preferences-window.ui:44
msgid "Do nothing" msgid "Do nothing"
msgstr "" msgstr ""
#: ui/preferences-window.ui:44 #: ui/preferences-window.ui:45
msgid "Freeze last frame" msgid "Freeze last frame"
msgstr "" msgstr ""
#: ui/preferences-window.ui:45 #: ui/preferences-window.ui:46
msgid "Close the app" msgid "Close the app"
msgstr "" msgstr ""
#: ui/preferences-window.ui:55 #: ui/preferences-window.ui:56
msgid "Volume" msgid "Volume"
msgstr "" msgstr ""
#: ui/preferences-window.ui:58 #: ui/preferences-window.ui:59
msgid "Custom initial value" msgid "Custom initial value"
msgstr "" msgstr ""
#: ui/preferences-window.ui:59 #: ui/preferences-window.ui:60
msgid "Set custom volume at startup instead of restoring it" msgid "Set custom volume at startup instead of restoring it"
msgstr "" msgstr ""
#: ui/preferences-window.ui:63 #: ui/preferences-window.ui:64
msgid "Volume percentage" msgid "Volume percentage"
msgstr "" msgstr ""
#: ui/preferences-window.ui:74 #: ui/preferences-window.ui:75
msgid "Seeking" msgid "Seeking"
msgstr "" msgstr ""
#: ui/preferences-window.ui:77 #: ui/preferences-window.ui:78
msgid "Mode" msgid "Mode"
msgstr "" msgstr ""
#: ui/preferences-window.ui:83 #: ui/preferences-window.ui:84
msgid "Accurate" msgid "Accurate"
msgstr "" msgstr ""
#: ui/preferences-window.ui:84 #: ui/preferences-window.ui:85
msgid "Fast" msgid "Fast"
msgstr "" msgstr ""
#: ui/preferences-window.ui:92 #: ui/preferences-window.ui:93
msgid "Unit" msgid "Unit"
msgstr "" msgstr ""
#: ui/preferences-window.ui:97 #: ui/preferences-window.ui:98
msgid "Second" msgid "Second"
msgstr "" msgstr ""
#: ui/preferences-window.ui:98 #: ui/preferences-window.ui:99
msgid "Minute" msgid "Minute"
msgstr "" msgstr ""
#: ui/preferences-window.ui:99 #: ui/preferences-window.ui:100
msgid "Percentage" msgid "Percentage"
msgstr "" msgstr ""
#: ui/preferences-window.ui:107 #: ui/preferences-window.ui:108
msgid "Value" msgid "Value"
msgstr "" msgstr ""
#: ui/preferences-window.ui:122 #: ui/preferences-window.ui:123
msgid "Audio" msgid "Audio"
msgstr "" msgstr ""
#: ui/preferences-window.ui:125 #: ui/preferences-window.ui:126
msgid "Offset in milliseconds" msgid "Offset in milliseconds"
msgstr "" msgstr ""
#: ui/preferences-window.ui:132 #: ui/preferences-window.ui:133
msgid "Only native audio formats" msgid "Only native audio formats"
msgstr "" msgstr ""
#: ui/preferences-window.ui:140 #: ui/preferences-window.ui:141
msgid "Subtitles" msgid "Subtitles"
msgstr "" msgstr ""
#: ui/preferences-window.ui:143 #: ui/preferences-window.ui:144
msgid "Default font" msgid "Default font"
msgstr "" msgstr ""
#: ui/preferences-window.ui:153 #: ui/preferences-window.ui:154
msgid "Network" msgid "Network"
msgstr "" msgstr ""
#: ui/preferences-window.ui:157 #: ui/preferences-window.ui:158
msgid "Client" msgid "Client"
msgstr "" msgstr ""
#: ui/preferences-window.ui:160 #: ui/preferences-window.ui:161
msgid "Progressive download buffering" msgid "Progressive download buffering"
msgstr "" msgstr ""
#: ui/preferences-window.ui:168 #: ui/preferences-window.ui:169
msgid "Server" msgid "Server"
msgstr "" msgstr ""
#: ui/preferences-window.ui:171 #: ui/preferences-window.ui:172
msgid "Control player remotely" msgid "Control player remotely"
msgstr "" msgstr ""
#: ui/preferences-window.ui:175 #: ui/preferences-window.ui:176
msgid "Listening port" msgid "Listening port"
msgstr "" msgstr ""
#: ui/preferences-window.ui:188 #: ui/preferences-window.ui:183
msgid "Tweaks" msgid "Run web application in background"
msgstr "" msgstr ""
#: ui/preferences-window.ui:192 #: ui/preferences-window.ui:184
msgid "Appearance" msgid "Requires GTK compiled with Broadway backend"
msgstr "" msgstr ""
#: ui/preferences-window.ui:195 #: ui/preferences-window.ui:190
msgid "Dark theme" msgid "Web application port"
msgstr "" msgstr ""
#: ui/preferences-window.ui:201 #: ui/preferences-window.ui:204
msgid "Render window shadows" msgid "Prefer adaptive streaming"
msgstr "" msgstr ""
#: ui/preferences-window.ui:202 #: ui/preferences-window.ui:210
msgid "Disable to increase performance when windowed" msgid "Max quality"
msgstr ""
#: ui/preferences-window.ui:213
msgid "Plugin ranking"
msgstr ""
#: ui/preferences-window.ui:214
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: ui/preferences-window.ui:219
msgid "Use playbin3"
msgstr ""
#: ui/preferences-window.ui:220 ui/preferences-window.ui:229
msgid "Requires player restart"
msgstr ""
#: ui/preferences-window.ui:222 ui/preferences-window.ui:231
msgid "Experimental"
msgstr "" msgstr ""
#: ui/preferences-window.ui:228 #: ui/preferences-window.ui:228
msgid "Tweaks"
msgstr ""
#: ui/preferences-window.ui:232
msgid "Appearance"
msgstr ""
#: ui/preferences-window.ui:235
msgid "Dark theme"
msgstr ""
#: ui/preferences-window.ui:241
msgid "Render window shadows"
msgstr ""
#: ui/preferences-window.ui:242
msgid "Disable to increase performance when windowed"
msgstr ""
#: ui/preferences-window.ui:253
msgid "Plugin ranking"
msgstr ""
#: ui/preferences-window.ui:254
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: ui/preferences-window.ui:259
msgid "Use playbin3"
msgstr ""
#: ui/preferences-window.ui:260 ui/preferences-window.ui:269
msgid "Requires player restart"
msgstr ""
#: ui/preferences-window.ui:262 ui/preferences-window.ui:271
msgid "Experimental"
msgstr ""
#: ui/preferences-window.ui:268
msgid "Use PipeWire for audio output" msgid "Use PipeWire for audio output"
msgstr "" msgstr ""
@@ -424,15 +445,15 @@ msgstr ""
msgid "Ends at: %s" msgid "Ends at: %s"
msgstr "" msgstr ""
#: src/widget.js:226 src/widget.js:235 src/widget.js:241 src/widget.js:247 #: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined" msgid "Undetermined"
msgstr "" msgstr ""
#: src/widget.js:242 #: src/widget.js:243
msgid "Channels" msgid "Channels"
msgstr "" msgstr ""
#: src/widget.js:260 #: src/widget.js:261
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""

127
po/pl.po
View File

@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: clapper\n" "Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-26 18:41+0200\n" "POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2022-05-26 16:50\n" "PO-Revision-Date: 2021-09-15 08:41\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Polish\n" "Language-Team: Polish\n"
"Language: pl_PL\n" "Language: pl_PL\n"
@@ -41,11 +41,12 @@ msgstr "O programie"
msgid "Speed" msgid "Speed"
msgstr "Prędkość" msgstr "Prędkość"
#: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:82 #: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:83
#: ui/preferences-window.ui:215
msgid "Normal" msgid "Normal"
msgstr "Normalny" msgstr "Normalny"
#: ui/help-overlay.ui:10 ui/preferences-window.ui:11 #: ui/help-overlay.ui:10 ui/preferences-window.ui:12
msgid "General" msgid "General"
msgstr "Główne" msgstr "Główne"
@@ -117,7 +118,7 @@ msgstr "Zmień tryb powtarzania"
msgid "Export to file" msgid "Export to file"
msgstr "Eksportuj do pliku" msgstr "Eksportuj do pliku"
#: ui/help-overlay.ui:95 ui/preferences-window.ui:118 #: ui/help-overlay.ui:95 ui/preferences-window.ui:119
msgid "Playback" msgid "Playback"
msgstr "Odtwarzanie" msgstr "Odtwarzanie"
@@ -181,183 +182,203 @@ msgstr "Dekodery"
msgid "Return to the preferences" msgid "Return to the preferences"
msgstr "Wróć do preferencji" msgstr "Wróć do preferencji"
#: ui/preferences-window.ui:15 #: ui/preferences-window.ui:16
msgid "Behavior" msgid "Behavior"
msgstr "Zachowanie" msgstr "Zachowanie"
#: ui/preferences-window.ui:18 #: ui/preferences-window.ui:19
msgid "Auto fullscreen" msgid "Auto fullscreen"
msgstr "Automatyczny tryb pełnoekranowy" msgstr "Automatyczny tryb pełnoekranowy"
#: ui/preferences-window.ui:19 #: ui/preferences-window.ui:20
msgid "Enter fullscreen when playlist is replaced except floating mode" msgid "Enter fullscreen when playlist is replaced except floating mode"
msgstr "Wejdź do trybu pełnoekranowego, gdy lista odtwarzania zostanie zastąpiona z wyjątkiem trybu pływającego" msgstr "Wejdź do trybu pełnoekranowego, gdy lista odtwarzania zostanie zastąpiona z wyjątkiem trybu pływającego"
#: ui/preferences-window.ui:25 #: ui/preferences-window.ui:26
msgid "Ask to resume recent media" msgid "Ask to resume recent media"
msgstr "Pytaj o wznowienie ostatnich mediów" msgstr "Pytaj o wznowienie ostatnich mediów"
#: ui/preferences-window.ui:31 #: ui/preferences-window.ui:32
msgid "Float on all workspaces" msgid "Float on all workspaces"
msgstr "Pływaj na wszystkich obszarach roboczych" msgstr "Pływaj na wszystkich obszarach roboczych"
#: ui/preferences-window.ui:32 #: ui/preferences-window.ui:33
msgid "This option only works on GNOME" msgid "This option only works on GNOME"
msgstr "Ta opcja działa tylko na GNOME" msgstr "Ta opcja działa tylko na GNOME"
#: ui/preferences-window.ui:38 #: ui/preferences-window.ui:39
msgid "After playback" msgid "After playback"
msgstr "Po odtwarzaniu" msgstr "Po odtwarzaniu"
#: ui/preferences-window.ui:43 #: ui/preferences-window.ui:44
msgid "Do nothing" msgid "Do nothing"
msgstr "Nic nie rób" msgstr "Nic nie rób"
#: ui/preferences-window.ui:44 #: ui/preferences-window.ui:45
msgid "Freeze last frame" msgid "Freeze last frame"
msgstr "Zamroź ostatnią klatkę" msgstr "Zamroź ostatnią klatkę"
#: ui/preferences-window.ui:45 #: ui/preferences-window.ui:46
msgid "Close the app" msgid "Close the app"
msgstr "Zamknij aplikację" msgstr "Zamknij aplikację"
#: ui/preferences-window.ui:55 #: ui/preferences-window.ui:56
msgid "Volume" msgid "Volume"
msgstr "Głośność" msgstr "Głośność"
#: ui/preferences-window.ui:58 #: ui/preferences-window.ui:59
msgid "Custom initial value" msgid "Custom initial value"
msgstr "Wartość początkowa" msgstr "Wartość początkowa"
#: ui/preferences-window.ui:59 #: ui/preferences-window.ui:60
msgid "Set custom volume at startup instead of restoring it" msgid "Set custom volume at startup instead of restoring it"
msgstr "Ustaw własną głośność początkową zamiast ją przywracać" msgstr "Ustaw własną głośność początkową zamiast ją przywracać"
#: ui/preferences-window.ui:63 #: ui/preferences-window.ui:64
msgid "Volume percentage" msgid "Volume percentage"
msgstr "Procent głośności" msgstr "Procent głośności"
#: ui/preferences-window.ui:74 #: ui/preferences-window.ui:75
msgid "Seeking" msgid "Seeking"
msgstr "Przewijanie" msgstr "Przewijanie"
#: ui/preferences-window.ui:77 #: ui/preferences-window.ui:78
msgid "Mode" msgid "Mode"
msgstr "Tryb" msgstr "Tryb"
#: ui/preferences-window.ui:83 #: ui/preferences-window.ui:84
msgid "Accurate" msgid "Accurate"
msgstr "Dokładny" msgstr "Dokładny"
#: ui/preferences-window.ui:84 #: ui/preferences-window.ui:85
msgid "Fast" msgid "Fast"
msgstr "Szybki" msgstr "Szybki"
#: ui/preferences-window.ui:92 #: ui/preferences-window.ui:93
msgid "Unit" msgid "Unit"
msgstr "Jednostka" msgstr "Jednostka"
#: ui/preferences-window.ui:97 #: ui/preferences-window.ui:98
msgid "Second" msgid "Second"
msgstr "Sekunda" msgstr "Sekunda"
#: ui/preferences-window.ui:98 #: ui/preferences-window.ui:99
msgid "Minute" msgid "Minute"
msgstr "Minuta" msgstr "Minuta"
#: ui/preferences-window.ui:99 #: ui/preferences-window.ui:100
msgid "Percentage" msgid "Percentage"
msgstr "Procent" msgstr "Procent"
#: ui/preferences-window.ui:107 #: ui/preferences-window.ui:108
msgid "Value" msgid "Value"
msgstr "Wartość" msgstr "Wartość"
#: ui/preferences-window.ui:122 #: ui/preferences-window.ui:123
msgid "Audio" msgid "Audio"
msgstr "Audio" msgstr "Audio"
#: ui/preferences-window.ui:125 #: ui/preferences-window.ui:126
msgid "Offset in milliseconds" msgid "Offset in milliseconds"
msgstr "Przesunięcie w milisekundach" msgstr "Przesunięcie w milisekundach"
#: ui/preferences-window.ui:132 #: ui/preferences-window.ui:133
msgid "Only native audio formats" msgid "Only native audio formats"
msgstr "Tylko natywne formaty audio" msgstr "Tylko natywne formaty audio"
#: ui/preferences-window.ui:140 #: ui/preferences-window.ui:141
msgid "Subtitles" msgid "Subtitles"
msgstr "Napisy" msgstr "Napisy"
#: ui/preferences-window.ui:143 #: ui/preferences-window.ui:144
msgid "Default font" msgid "Default font"
msgstr "Domyślna czcionka" msgstr "Domyślna czcionka"
#: ui/preferences-window.ui:153 #: ui/preferences-window.ui:154
msgid "Network" msgid "Network"
msgstr "Sieć" msgstr "Sieć"
#: ui/preferences-window.ui:157 #: ui/preferences-window.ui:158
msgid "Client" msgid "Client"
msgstr "Klient" msgstr "Klient"
#: ui/preferences-window.ui:160 #: ui/preferences-window.ui:161
msgid "Progressive download buffering" msgid "Progressive download buffering"
msgstr "Buforuj pobierając progresywnie" msgstr "Buforuj pobierając progresywnie"
#: ui/preferences-window.ui:168 #: ui/preferences-window.ui:169
msgid "Server" msgid "Server"
msgstr "Serwer" msgstr "Serwer"
#: ui/preferences-window.ui:171 #: ui/preferences-window.ui:172
msgid "Control player remotely" msgid "Control player remotely"
msgstr "Zdalne sterowanie odtwarzaczem" msgstr "Zdalne sterowanie odtwarzaczem"
#: ui/preferences-window.ui:175 #: ui/preferences-window.ui:176
msgid "Listening port" msgid "Listening port"
msgstr "Port połączeń przychodzących" msgstr "Port połączeń przychodzących"
#: ui/preferences-window.ui:188 #: ui/preferences-window.ui:183
msgid "Run web application in background"
msgstr "Uruchom aplikację webową w tle"
#: ui/preferences-window.ui:184
msgid "Requires GTK compiled with Broadway backend"
msgstr "Wymaga GTK skompilowanego z backendem Broadway"
#: ui/preferences-window.ui:190
msgid "Web application port"
msgstr "Port aplikacji webowej"
#: ui/preferences-window.ui:204
msgid "Prefer adaptive streaming"
msgstr "Preferuj adaptacyjne streamowanie"
#: ui/preferences-window.ui:210
msgid "Max quality"
msgstr "Maksymalna jakość"
#: ui/preferences-window.ui:228
msgid "Tweaks" msgid "Tweaks"
msgstr "Dostrajanie" msgstr "Dostrajanie"
#: ui/preferences-window.ui:192 #: ui/preferences-window.ui:232
msgid "Appearance" msgid "Appearance"
msgstr "Wygląd" msgstr "Wygląd"
#: ui/preferences-window.ui:195 #: ui/preferences-window.ui:235
msgid "Dark theme" msgid "Dark theme"
msgstr "Ciemny motyw" msgstr "Ciemny motyw"
#: ui/preferences-window.ui:201 #: ui/preferences-window.ui:241
msgid "Render window shadows" msgid "Render window shadows"
msgstr "Renderuj cienie okna" msgstr "Renderuj cienie okna"
#: ui/preferences-window.ui:202 #: ui/preferences-window.ui:242
msgid "Disable to increase performance when windowed" msgid "Disable to increase performance when windowed"
msgstr "Wyłącz, aby zwiększyć wydajność w trybie okienkowym" msgstr "Wyłącz, aby zwiększyć wydajność w trybie okienkowym"
#: ui/preferences-window.ui:213 #: ui/preferences-window.ui:253
msgid "Plugin ranking" msgid "Plugin ranking"
msgstr "Ranking pluginów" msgstr "Ranking pluginów"
#: ui/preferences-window.ui:214 #: ui/preferences-window.ui:254
msgid "Alter default ranks of GStreamer plugins" msgid "Alter default ranks of GStreamer plugins"
msgstr "Zmień domyślne rangi pluginów GStreamera" msgstr "Zmień domyślne rangi pluginów GStreamera"
#: ui/preferences-window.ui:219 #: ui/preferences-window.ui:259
msgid "Use playbin3" msgid "Use playbin3"
msgstr "Użyj playbin3" msgstr "Użyj playbin3"
#: ui/preferences-window.ui:220 ui/preferences-window.ui:229 #: ui/preferences-window.ui:260 ui/preferences-window.ui:269
msgid "Requires player restart" msgid "Requires player restart"
msgstr "Wymaga restartu odtwarzacza" msgstr "Wymaga restartu odtwarzacza"
#: ui/preferences-window.ui:222 ui/preferences-window.ui:231 #: ui/preferences-window.ui:262 ui/preferences-window.ui:271
msgid "Experimental" msgid "Experimental"
msgstr "Eksperyment" msgstr "Eksperyment"
#: ui/preferences-window.ui:228 #: ui/preferences-window.ui:268
msgid "Use PipeWire for audio output" msgid "Use PipeWire for audio output"
msgstr "Użyj PipeWire do wyprowadzenia dźwięku" msgstr "Użyj PipeWire do wyprowadzenia dźwięku"
@@ -424,15 +445,15 @@ msgstr "Rafał Dzięgiel <rafostar.github@gmail.com>"
msgid "Ends at: %s" msgid "Ends at: %s"
msgstr "Koniec o: %s" msgstr "Koniec o: %s"
#: src/widget.js:226 src/widget.js:235 src/widget.js:241 src/widget.js:247 #: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined" msgid "Undetermined"
msgstr "Nieokreślony" msgstr "Nieokreślony"
#: src/widget.js:242 #: src/widget.js:243
msgid "Channels" msgid "Channels"
msgstr "Kanały" msgstr "Kanały"
#: src/widget.js:260 #: src/widget.js:261
msgid "Disabled" msgid "Disabled"
msgstr "Wyłączony" msgstr "Wyłączony"

127
po/pt.po
View File

@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: clapper\n" "Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-26 18:41+0200\n" "POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2022-05-26 16:50\n" "PO-Revision-Date: 2022-05-01 18:43\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Portuguese\n" "Language-Team: Portuguese\n"
"Language: pt_PT\n" "Language: pt_PT\n"
@@ -41,11 +41,12 @@ msgstr "Sobre o Clapper"
msgid "Speed" msgid "Speed"
msgstr "Velocidade" msgstr "Velocidade"
#: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:82 #: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:83
#: ui/preferences-window.ui:215
msgid "Normal" msgid "Normal"
msgstr "Predefinido" msgstr "Predefinido"
#: ui/help-overlay.ui:10 ui/preferences-window.ui:11 #: ui/help-overlay.ui:10 ui/preferences-window.ui:12
msgid "General" msgid "General"
msgstr "Geral" msgstr "Geral"
@@ -117,7 +118,7 @@ msgstr "Alterar modo de repetição"
msgid "Export to file" msgid "Export to file"
msgstr "Exportar para ficheiro" msgstr "Exportar para ficheiro"
#: ui/help-overlay.ui:95 ui/preferences-window.ui:118 #: ui/help-overlay.ui:95 ui/preferences-window.ui:119
msgid "Playback" msgid "Playback"
msgstr "Reproduzir" msgstr "Reproduzir"
@@ -181,183 +182,203 @@ msgstr "Descodificadores"
msgid "Return to the preferences" msgid "Return to the preferences"
msgstr "Voltar para as preferências" msgstr "Voltar para as preferências"
#: ui/preferences-window.ui:15 #: ui/preferences-window.ui:16
msgid "Behavior" msgid "Behavior"
msgstr "Comportamento" msgstr "Comportamento"
#: ui/preferences-window.ui:18 #: ui/preferences-window.ui:19
msgid "Auto fullscreen" msgid "Auto fullscreen"
msgstr "Ecrã inteiro automático" msgstr "Ecrã inteiro automático"
#: ui/preferences-window.ui:19 #: ui/preferences-window.ui:20
msgid "Enter fullscreen when playlist is replaced except floating mode" msgid "Enter fullscreen when playlist is replaced except floating mode"
msgstr "Entrar em ecrã inteiro quando a lista de reprodução é substituída, excepto no modo flutuante" msgstr "Entrar em ecrã inteiro quando a lista de reprodução é substituída, excepto no modo flutuante"
#: ui/preferences-window.ui:25 #: ui/preferences-window.ui:26
msgid "Ask to resume recent media" msgid "Ask to resume recent media"
msgstr "Pedir para retomar o ficheiro recente" msgstr "Pedir para retomar o ficheiro recente"
#: ui/preferences-window.ui:31 #: ui/preferences-window.ui:32
msgid "Float on all workspaces" msgid "Float on all workspaces"
msgstr "Flutuar em todas as áreas de trabalho" msgstr "Flutuar em todas as áreas de trabalho"
#: ui/preferences-window.ui:32 #: ui/preferences-window.ui:33
msgid "This option only works on GNOME" msgid "This option only works on GNOME"
msgstr "Esta opção apenas funciona no GNOME" msgstr "Esta opção apenas funciona no GNOME"
#: ui/preferences-window.ui:38 #: ui/preferences-window.ui:39
msgid "After playback" msgid "After playback"
msgstr "Após reprodução" msgstr "Após reprodução"
#: ui/preferences-window.ui:43 #: ui/preferences-window.ui:44
msgid "Do nothing" msgid "Do nothing"
msgstr "Não fazer nada" msgstr "Não fazer nada"
#: ui/preferences-window.ui:44 #: ui/preferences-window.ui:45
msgid "Freeze last frame" msgid "Freeze last frame"
msgstr "Suster o fotograma" msgstr "Suster o fotograma"
#: ui/preferences-window.ui:45 #: ui/preferences-window.ui:46
msgid "Close the app" msgid "Close the app"
msgstr "Fechar a aplicação" msgstr "Fechar a aplicação"
#: ui/preferences-window.ui:55 #: ui/preferences-window.ui:56
msgid "Volume" msgid "Volume"
msgstr "Volume" msgstr "Volume"
#: ui/preferences-window.ui:58 #: ui/preferences-window.ui:59
msgid "Custom initial value" msgid "Custom initial value"
msgstr "Valor inicial personalizado" msgstr "Valor inicial personalizado"
#: ui/preferences-window.ui:59 #: ui/preferences-window.ui:60
msgid "Set custom volume at startup instead of restoring it" msgid "Set custom volume at startup instead of restoring it"
msgstr "Definir volume personalizado no arranque ao invés de restaurá-lo" msgstr "Definir volume personalizado no arranque ao invés de restaurá-lo"
#: ui/preferences-window.ui:63 #: ui/preferences-window.ui:64
msgid "Volume percentage" msgid "Volume percentage"
msgstr "Percentagem de volume" msgstr "Percentagem de volume"
#: ui/preferences-window.ui:74 #: ui/preferences-window.ui:75
msgid "Seeking" msgid "Seeking"
msgstr "Procurando" msgstr "Procurando"
#: ui/preferences-window.ui:77 #: ui/preferences-window.ui:78
msgid "Mode" msgid "Mode"
msgstr "Modo" msgstr "Modo"
#: ui/preferences-window.ui:83 #: ui/preferences-window.ui:84
msgid "Accurate" msgid "Accurate"
msgstr "Preciso" msgstr "Preciso"
#: ui/preferences-window.ui:84 #: ui/preferences-window.ui:85
msgid "Fast" msgid "Fast"
msgstr "Rápido" msgstr "Rápido"
#: ui/preferences-window.ui:92 #: ui/preferences-window.ui:93
msgid "Unit" msgid "Unit"
msgstr "Unidade" msgstr "Unidade"
#: ui/preferences-window.ui:97 #: ui/preferences-window.ui:98
msgid "Second" msgid "Second"
msgstr "Segundo" msgstr "Segundo"
#: ui/preferences-window.ui:98 #: ui/preferences-window.ui:99
msgid "Minute" msgid "Minute"
msgstr "Minuto" msgstr "Minuto"
#: ui/preferences-window.ui:99 #: ui/preferences-window.ui:100
msgid "Percentage" msgid "Percentage"
msgstr "Percentagem" msgstr "Percentagem"
#: ui/preferences-window.ui:107 #: ui/preferences-window.ui:108
msgid "Value" msgid "Value"
msgstr "Valor" msgstr "Valor"
#: ui/preferences-window.ui:122 #: ui/preferences-window.ui:123
msgid "Audio" msgid "Audio"
msgstr "Áudio" msgstr "Áudio"
#: ui/preferences-window.ui:125 #: ui/preferences-window.ui:126
msgid "Offset in milliseconds" msgid "Offset in milliseconds"
msgstr "Deslocamento em milissegundos" msgstr "Deslocamento em milissegundos"
#: ui/preferences-window.ui:132 #: ui/preferences-window.ui:133
msgid "Only native audio formats" msgid "Only native audio formats"
msgstr "Apenas formatos de áudio nativos" msgstr "Apenas formatos de áudio nativos"
#: ui/preferences-window.ui:140 #: ui/preferences-window.ui:141
msgid "Subtitles" msgid "Subtitles"
msgstr "Legendas" msgstr "Legendas"
#: ui/preferences-window.ui:143 #: ui/preferences-window.ui:144
msgid "Default font" msgid "Default font"
msgstr "Tipo de letra predefinida" msgstr "Tipo de letra predefinida"
#: ui/preferences-window.ui:153 #: ui/preferences-window.ui:154
msgid "Network" msgid "Network"
msgstr "Rede" msgstr "Rede"
#: ui/preferences-window.ui:157 #: ui/preferences-window.ui:158
msgid "Client" msgid "Client"
msgstr "Cliente" msgstr "Cliente"
#: ui/preferences-window.ui:160 #: ui/preferences-window.ui:161
msgid "Progressive download buffering" msgid "Progressive download buffering"
msgstr "Buffering de transferência progressiva" msgstr "Buffering de transferência progressiva"
#: ui/preferences-window.ui:168 #: ui/preferences-window.ui:169
msgid "Server" msgid "Server"
msgstr "Servidor" msgstr "Servidor"
#: ui/preferences-window.ui:171 #: ui/preferences-window.ui:172
msgid "Control player remotely" msgid "Control player remotely"
msgstr "Controlar reprodutor remotamente" msgstr "Controlar reprodutor remotamente"
#: ui/preferences-window.ui:175 #: ui/preferences-window.ui:176
msgid "Listening port" msgid "Listening port"
msgstr "Porta de escuta" msgstr "Porta de escuta"
#: ui/preferences-window.ui:188 #: ui/preferences-window.ui:183
msgid "Run web application in background"
msgstr "Executar aplicação web em segundo plano"
#: ui/preferences-window.ui:184
msgid "Requires GTK compiled with Broadway backend"
msgstr "Requer GTK compilado com backend Broadway"
#: ui/preferences-window.ui:190
msgid "Web application port"
msgstr "Porta de aplicação Web"
#: ui/preferences-window.ui:204
msgid "Prefer adaptive streaming"
msgstr "Preferir transmissão adaptável"
#: ui/preferences-window.ui:210
msgid "Max quality"
msgstr "Qualidade máxima"
#: ui/preferences-window.ui:228
msgid "Tweaks" msgid "Tweaks"
msgstr "Ajustes" msgstr "Ajustes"
#: ui/preferences-window.ui:192 #: ui/preferences-window.ui:232
msgid "Appearance" msgid "Appearance"
msgstr "Aparência" msgstr "Aparência"
#: ui/preferences-window.ui:195 #: ui/preferences-window.ui:235
msgid "Dark theme" msgid "Dark theme"
msgstr "Tema escuro" msgstr "Tema escuro"
#: ui/preferences-window.ui:201 #: ui/preferences-window.ui:241
msgid "Render window shadows" msgid "Render window shadows"
msgstr "Renderizar sombras das janelas" msgstr "Renderizar sombras das janelas"
#: ui/preferences-window.ui:202 #: ui/preferences-window.ui:242
msgid "Disable to increase performance when windowed" msgid "Disable to increase performance when windowed"
msgstr "Desativar para aumentar o desempenho quando em janela" msgstr "Desativar para aumentar o desempenho quando em janela"
#: ui/preferences-window.ui:213 #: ui/preferences-window.ui:253
msgid "Plugin ranking" msgid "Plugin ranking"
msgstr "Classificação do plugin" msgstr "Classificação do plugin"
#: ui/preferences-window.ui:214 #: ui/preferences-window.ui:254
msgid "Alter default ranks of GStreamer plugins" msgid "Alter default ranks of GStreamer plugins"
msgstr "Altera as classificações predefinidas dos plugins GStreamer" msgstr "Altera as classificações predefinidas dos plugins GStreamer"
#: ui/preferences-window.ui:219 #: ui/preferences-window.ui:259
msgid "Use playbin3" msgid "Use playbin3"
msgstr "Usar playbin3" msgstr "Usar playbin3"
#: ui/preferences-window.ui:220 ui/preferences-window.ui:229 #: ui/preferences-window.ui:260 ui/preferences-window.ui:269
msgid "Requires player restart" msgid "Requires player restart"
msgstr "Requer o reinício do reprodutor" msgstr "Requer o reinício do reprodutor"
#: ui/preferences-window.ui:222 ui/preferences-window.ui:231 #: ui/preferences-window.ui:262 ui/preferences-window.ui:271
msgid "Experimental" msgid "Experimental"
msgstr "Experimental" msgstr "Experimental"
#: ui/preferences-window.ui:228 #: ui/preferences-window.ui:268
msgid "Use PipeWire for audio output" msgid "Use PipeWire for audio output"
msgstr "Usar o PipeWire para a saída áudio" msgstr "Usar o PipeWire para a saída áudio"
@@ -424,15 +445,15 @@ msgstr "Hugo Carvalho <hugokarvalho@hotmail.com>"
msgid "Ends at: %s" msgid "Ends at: %s"
msgstr "Termina às: %s" msgstr "Termina às: %s"
#: src/widget.js:226 src/widget.js:235 src/widget.js:241 src/widget.js:247 #: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined" msgid "Undetermined"
msgstr "Indeterminado" msgstr "Indeterminado"
#: src/widget.js:242 #: src/widget.js:243
msgid "Channels" msgid "Channels"
msgstr "Canais" msgstr "Canais"
#: src/widget.js:260 #: src/widget.js:261
msgid "Disabled" msgid "Disabled"
msgstr "Desativado" msgstr "Desativado"

View File

@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: clapper\n" "Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-26 18:41+0200\n" "POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2022-05-26 16:50\n" "PO-Revision-Date: 2021-10-11 10:33\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Portuguese, Brazilian\n" "Language-Team: Portuguese, Brazilian\n"
"Language: pt_BR\n" "Language: pt_BR\n"
@@ -41,11 +41,12 @@ msgstr "Sobre o Clapper"
msgid "Speed" msgid "Speed"
msgstr "Velocidade" msgstr "Velocidade"
#: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:82 #: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:83
#: ui/preferences-window.ui:215
msgid "Normal" msgid "Normal"
msgstr "Normal" msgstr "Normal"
#: ui/help-overlay.ui:10 ui/preferences-window.ui:11 #: ui/help-overlay.ui:10 ui/preferences-window.ui:12
msgid "General" msgid "General"
msgstr "Geral" msgstr "Geral"
@@ -117,7 +118,7 @@ msgstr "Alternar modo de repetição"
msgid "Export to file" msgid "Export to file"
msgstr "Exportar arquivo" msgstr "Exportar arquivo"
#: ui/help-overlay.ui:95 ui/preferences-window.ui:118 #: ui/help-overlay.ui:95 ui/preferences-window.ui:119
msgid "Playback" msgid "Playback"
msgstr "Reprodução" msgstr "Reprodução"
@@ -181,183 +182,203 @@ msgstr "Decodificadores"
msgid "Return to the preferences" msgid "Return to the preferences"
msgstr "Voltar para as preferências" msgstr "Voltar para as preferências"
#: ui/preferences-window.ui:15 #: ui/preferences-window.ui:16
msgid "Behavior" msgid "Behavior"
msgstr "Comportamento" msgstr "Comportamento"
#: ui/preferences-window.ui:18 #: ui/preferences-window.ui:19
msgid "Auto fullscreen" msgid "Auto fullscreen"
msgstr "Tela cheia automaticamente" msgstr "Tela cheia automaticamente"
#: ui/preferences-window.ui:19 #: ui/preferences-window.ui:20
msgid "Enter fullscreen when playlist is replaced except floating mode" msgid "Enter fullscreen when playlist is replaced except floating mode"
msgstr "Insira em tela cheia quando a lista de reprodução for substituída, exceto o modo flutuante" msgstr "Insira em tela cheia quando a lista de reprodução for substituída, exceto o modo flutuante"
#: ui/preferences-window.ui:25 #: ui/preferences-window.ui:26
msgid "Ask to resume recent media" msgid "Ask to resume recent media"
msgstr "Pedir para retomar o video recente" msgstr "Pedir para retomar o video recente"
#: ui/preferences-window.ui:31 #: ui/preferences-window.ui:32
msgid "Float on all workspaces" msgid "Float on all workspaces"
msgstr "Flutuar em todas as áreas de trabalho" msgstr "Flutuar em todas as áreas de trabalho"
#: ui/preferences-window.ui:32 #: ui/preferences-window.ui:33
msgid "This option only works on GNOME" msgid "This option only works on GNOME"
msgstr "Esta opção só funciona no GNOME" msgstr "Esta opção só funciona no GNOME"
#: ui/preferences-window.ui:38 #: ui/preferences-window.ui:39
msgid "After playback" msgid "After playback"
msgstr "Pós reprodução" msgstr "Pós reprodução"
#: ui/preferences-window.ui:43 #: ui/preferences-window.ui:44
msgid "Do nothing" msgid "Do nothing"
msgstr "Não fazer nada" msgstr "Não fazer nada"
#: ui/preferences-window.ui:44 #: ui/preferences-window.ui:45
msgid "Freeze last frame" msgid "Freeze last frame"
msgstr "Congelar o último quadro" msgstr "Congelar o último quadro"
#: ui/preferences-window.ui:45 #: ui/preferences-window.ui:46
msgid "Close the app" msgid "Close the app"
msgstr "Fechar aplicativo" msgstr "Fechar aplicativo"
#: ui/preferences-window.ui:55 #: ui/preferences-window.ui:56
msgid "Volume" msgid "Volume"
msgstr "Volume" msgstr "Volume"
#: ui/preferences-window.ui:58 #: ui/preferences-window.ui:59
msgid "Custom initial value" msgid "Custom initial value"
msgstr "Valor inicial personalizado" msgstr "Valor inicial personalizado"
#: ui/preferences-window.ui:59 #: ui/preferences-window.ui:60
msgid "Set custom volume at startup instead of restoring it" msgid "Set custom volume at startup instead of restoring it"
msgstr "Definir volume personalizado na inicialização ao invés de restaurá-lo" msgstr "Definir volume personalizado na inicialização ao invés de restaurá-lo"
#: ui/preferences-window.ui:63 #: ui/preferences-window.ui:64
msgid "Volume percentage" msgid "Volume percentage"
msgstr "Percentual do volume" msgstr "Percentual do volume"
#: ui/preferences-window.ui:74 #: ui/preferences-window.ui:75
msgid "Seeking" msgid "Seeking"
msgstr "Buscando" msgstr "Buscando"
#: ui/preferences-window.ui:77 #: ui/preferences-window.ui:78
msgid "Mode" msgid "Mode"
msgstr "Modo" msgstr "Modo"
#: ui/preferences-window.ui:83 #: ui/preferences-window.ui:84
msgid "Accurate" msgid "Accurate"
msgstr "Preciso" msgstr "Preciso"
#: ui/preferences-window.ui:84 #: ui/preferences-window.ui:85
msgid "Fast" msgid "Fast"
msgstr "Rápido" msgstr "Rápido"
#: ui/preferences-window.ui:92 #: ui/preferences-window.ui:93
msgid "Unit" msgid "Unit"
msgstr "Unidade" msgstr "Unidade"
#: ui/preferences-window.ui:97 #: ui/preferences-window.ui:98
msgid "Second" msgid "Second"
msgstr "Segundo" msgstr "Segundo"
#: ui/preferences-window.ui:98 #: ui/preferences-window.ui:99
msgid "Minute" msgid "Minute"
msgstr "Minuto" msgstr "Minuto"
#: ui/preferences-window.ui:99 #: ui/preferences-window.ui:100
msgid "Percentage" msgid "Percentage"
msgstr "Porcentagem" msgstr "Porcentagem"
#: ui/preferences-window.ui:107 #: ui/preferences-window.ui:108
msgid "Value" msgid "Value"
msgstr "Valor" msgstr "Valor"
#: ui/preferences-window.ui:122 #: ui/preferences-window.ui:123
msgid "Audio" msgid "Audio"
msgstr "Audio" msgstr "Audio"
#: ui/preferences-window.ui:125 #: ui/preferences-window.ui:126
msgid "Offset in milliseconds" msgid "Offset in milliseconds"
msgstr "tempo de desvanecimento em milissegundos" msgstr "tempo de desvanecimento em milissegundos"
#: ui/preferences-window.ui:132 #: ui/preferences-window.ui:133
msgid "Only native audio formats" msgid "Only native audio formats"
msgstr "Apenas formatos de áudio nativos" msgstr "Apenas formatos de áudio nativos"
#: ui/preferences-window.ui:140 #: ui/preferences-window.ui:141
msgid "Subtitles" msgid "Subtitles"
msgstr "Legendas" msgstr "Legendas"
#: ui/preferences-window.ui:143 #: ui/preferences-window.ui:144
msgid "Default font" msgid "Default font"
msgstr "Fonte padrão" msgstr "Fonte padrão"
#: ui/preferences-window.ui:153 #: ui/preferences-window.ui:154
msgid "Network" msgid "Network"
msgstr "Rede" msgstr "Rede"
#: ui/preferences-window.ui:157 #: ui/preferences-window.ui:158
msgid "Client" msgid "Client"
msgstr "Cliente" msgstr "Cliente"
#: ui/preferences-window.ui:160 #: ui/preferences-window.ui:161
msgid "Progressive download buffering" msgid "Progressive download buffering"
msgstr "buffering progressivo de download" msgstr "buffering progressivo de download"
#: ui/preferences-window.ui:168 #: ui/preferences-window.ui:169
msgid "Server" msgid "Server"
msgstr "Servidor" msgstr "Servidor"
#: ui/preferences-window.ui:171 #: ui/preferences-window.ui:172
msgid "Control player remotely" msgid "Control player remotely"
msgstr "Controle o video remotamente " msgstr "Controle o video remotamente "
#: ui/preferences-window.ui:175 #: ui/preferences-window.ui:176
msgid "Listening port" msgid "Listening port"
msgstr "Porta de escuta" msgstr "Porta de escuta"
#: ui/preferences-window.ui:188 #: ui/preferences-window.ui:183
msgid "Run web application in background"
msgstr "Executar web app em segundo plano"
#: ui/preferences-window.ui:184
msgid "Requires GTK compiled with Broadway backend"
msgstr "Requer GTK compilado com backend de Broadway"
#: ui/preferences-window.ui:190
msgid "Web application port"
msgstr "Porta do aplicativo Web"
#: ui/preferences-window.ui:204
msgid "Prefer adaptive streaming"
msgstr "Preferir streaming adaptável"
#: ui/preferences-window.ui:210
msgid "Max quality"
msgstr "Qualidade Máxima"
#: ui/preferences-window.ui:228
msgid "Tweaks" msgid "Tweaks"
msgstr "Ajustes" msgstr "Ajustes"
#: ui/preferences-window.ui:192 #: ui/preferences-window.ui:232
msgid "Appearance" msgid "Appearance"
msgstr "Aparência" msgstr "Aparência"
#: ui/preferences-window.ui:195 #: ui/preferences-window.ui:235
msgid "Dark theme" msgid "Dark theme"
msgstr "Tema Escuro" msgstr "Tema Escuro"
#: ui/preferences-window.ui:201 #: ui/preferences-window.ui:241
msgid "Render window shadows" msgid "Render window shadows"
msgstr "Renderizar sombras das janelas" msgstr "Renderizar sombras das janelas"
#: ui/preferences-window.ui:202 #: ui/preferences-window.ui:242
msgid "Disable to increase performance when windowed" msgid "Disable to increase performance when windowed"
msgstr "Desabilite para aumentar o desempenho em placas gráficas mais fracas." msgstr "Desabilite para aumentar o desempenho em placas gráficas mais fracas."
#: ui/preferences-window.ui:213 #: ui/preferences-window.ui:253
msgid "Plugin ranking" msgid "Plugin ranking"
msgstr "Classificação do plugin" msgstr "Classificação do plugin"
#: ui/preferences-window.ui:214 #: ui/preferences-window.ui:254
msgid "Alter default ranks of GStreamer plugins" msgid "Alter default ranks of GStreamer plugins"
msgstr "Altera os ranks padrão dos plugins do GStreamer" msgstr "Altera os ranks padrão dos plugins do GStreamer"
#: ui/preferences-window.ui:219 #: ui/preferences-window.ui:259
msgid "Use playbin3" msgid "Use playbin3"
msgstr "Usar playbin3" msgstr "Usar playbin3"
#: ui/preferences-window.ui:220 ui/preferences-window.ui:229 #: ui/preferences-window.ui:260 ui/preferences-window.ui:269
msgid "Requires player restart" msgid "Requires player restart"
msgstr "Requer reinicialização do Clapper" msgstr "Requer reinicialização do Clapper"
#: ui/preferences-window.ui:222 ui/preferences-window.ui:231 #: ui/preferences-window.ui:262 ui/preferences-window.ui:271
msgid "Experimental" msgid "Experimental"
msgstr "Experimental" msgstr "Experimental"
#: ui/preferences-window.ui:228 #: ui/preferences-window.ui:268
msgid "Use PipeWire for audio output" msgid "Use PipeWire for audio output"
msgstr "Usar PipeWire para saída de áudio" msgstr "Usar PipeWire para saída de áudio"
@@ -424,15 +445,15 @@ msgstr "KevenDoriaLinuxBR"
msgid "Ends at: %s" msgid "Ends at: %s"
msgstr "termina em %s" msgstr "termina em %s"
#: src/widget.js:226 src/widget.js:235 src/widget.js:241 src/widget.js:247 #: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined" msgid "Undetermined"
msgstr "Indeterminado" msgstr "Indeterminado"
#: src/widget.js:242 #: src/widget.js:243
msgid "Channels" msgid "Channels"
msgstr "Canais" msgstr "Canais"
#: src/widget.js:260 #: src/widget.js:261
msgid "Disabled" msgid "Disabled"
msgstr "Desabilitado" msgstr "Desabilitado"

165
po/ro.po
View File

@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: clapper\n" "Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-26 18:41+0200\n" "POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2022-05-26 16:50\n" "PO-Revision-Date: 2021-09-14 15:24\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Romanian\n" "Language-Team: Romanian\n"
"Language: ro_RO\n" "Language: ro_RO\n"
@@ -41,11 +41,12 @@ msgstr ""
msgid "Speed" msgid "Speed"
msgstr "" msgstr ""
#: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:82 #: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:83
#: ui/preferences-window.ui:215
msgid "Normal" msgid "Normal"
msgstr "" msgstr ""
#: ui/help-overlay.ui:10 ui/preferences-window.ui:11 #: ui/help-overlay.ui:10 ui/preferences-window.ui:12
msgid "General" msgid "General"
msgstr "" msgstr ""
@@ -117,7 +118,7 @@ msgstr ""
msgid "Export to file" msgid "Export to file"
msgstr "" msgstr ""
#: ui/help-overlay.ui:95 ui/preferences-window.ui:118 #: ui/help-overlay.ui:95 ui/preferences-window.ui:119
msgid "Playback" msgid "Playback"
msgstr "" msgstr ""
@@ -181,183 +182,203 @@ msgstr ""
msgid "Return to the preferences" msgid "Return to the preferences"
msgstr "" msgstr ""
#: ui/preferences-window.ui:15 #: ui/preferences-window.ui:16
msgid "Behavior" msgid "Behavior"
msgstr "" msgstr ""
#: ui/preferences-window.ui:18 #: ui/preferences-window.ui:19
msgid "Auto fullscreen" msgid "Auto fullscreen"
msgstr "" msgstr ""
#: ui/preferences-window.ui:19 #: ui/preferences-window.ui:20
msgid "Enter fullscreen when playlist is replaced except floating mode" msgid "Enter fullscreen when playlist is replaced except floating mode"
msgstr "" msgstr ""
#: ui/preferences-window.ui:25 #: ui/preferences-window.ui:26
msgid "Ask to resume recent media" msgid "Ask to resume recent media"
msgstr "" msgstr ""
#: ui/preferences-window.ui:31 #: ui/preferences-window.ui:32
msgid "Float on all workspaces" msgid "Float on all workspaces"
msgstr "" msgstr ""
#: ui/preferences-window.ui:32 #: ui/preferences-window.ui:33
msgid "This option only works on GNOME" msgid "This option only works on GNOME"
msgstr "" msgstr ""
#: ui/preferences-window.ui:38 #: ui/preferences-window.ui:39
msgid "After playback" msgid "After playback"
msgstr "" msgstr ""
#: ui/preferences-window.ui:43 #: ui/preferences-window.ui:44
msgid "Do nothing" msgid "Do nothing"
msgstr "" msgstr ""
#: ui/preferences-window.ui:44 #: ui/preferences-window.ui:45
msgid "Freeze last frame" msgid "Freeze last frame"
msgstr "" msgstr ""
#: ui/preferences-window.ui:45 #: ui/preferences-window.ui:46
msgid "Close the app" msgid "Close the app"
msgstr "" msgstr ""
#: ui/preferences-window.ui:55 #: ui/preferences-window.ui:56
msgid "Volume" msgid "Volume"
msgstr "" msgstr ""
#: ui/preferences-window.ui:58 #: ui/preferences-window.ui:59
msgid "Custom initial value" msgid "Custom initial value"
msgstr "" msgstr ""
#: ui/preferences-window.ui:59 #: ui/preferences-window.ui:60
msgid "Set custom volume at startup instead of restoring it" msgid "Set custom volume at startup instead of restoring it"
msgstr "" msgstr ""
#: ui/preferences-window.ui:63 #: ui/preferences-window.ui:64
msgid "Volume percentage" msgid "Volume percentage"
msgstr "" msgstr ""
#: ui/preferences-window.ui:74 #: ui/preferences-window.ui:75
msgid "Seeking" msgid "Seeking"
msgstr "" msgstr ""
#: ui/preferences-window.ui:77 #: ui/preferences-window.ui:78
msgid "Mode" msgid "Mode"
msgstr "" msgstr ""
#: ui/preferences-window.ui:83 #: ui/preferences-window.ui:84
msgid "Accurate" msgid "Accurate"
msgstr "" msgstr ""
#: ui/preferences-window.ui:84 #: ui/preferences-window.ui:85
msgid "Fast" msgid "Fast"
msgstr "" msgstr ""
#: ui/preferences-window.ui:92 #: ui/preferences-window.ui:93
msgid "Unit" msgid "Unit"
msgstr "" msgstr ""
#: ui/preferences-window.ui:97 #: ui/preferences-window.ui:98
msgid "Second" msgid "Second"
msgstr "" msgstr ""
#: ui/preferences-window.ui:98 #: ui/preferences-window.ui:99
msgid "Minute" msgid "Minute"
msgstr "" msgstr ""
#: ui/preferences-window.ui:99 #: ui/preferences-window.ui:100
msgid "Percentage" msgid "Percentage"
msgstr "" msgstr ""
#: ui/preferences-window.ui:107 #: ui/preferences-window.ui:108
msgid "Value" msgid "Value"
msgstr "" msgstr ""
#: ui/preferences-window.ui:122 #: ui/preferences-window.ui:123
msgid "Audio" msgid "Audio"
msgstr "" msgstr ""
#: ui/preferences-window.ui:125 #: ui/preferences-window.ui:126
msgid "Offset in milliseconds" msgid "Offset in milliseconds"
msgstr "" msgstr ""
#: ui/preferences-window.ui:132 #: ui/preferences-window.ui:133
msgid "Only native audio formats" msgid "Only native audio formats"
msgstr "" msgstr ""
#: ui/preferences-window.ui:140 #: ui/preferences-window.ui:141
msgid "Subtitles" msgid "Subtitles"
msgstr "" msgstr ""
#: ui/preferences-window.ui:143 #: ui/preferences-window.ui:144
msgid "Default font" msgid "Default font"
msgstr "" msgstr ""
#: ui/preferences-window.ui:153 #: ui/preferences-window.ui:154
msgid "Network" msgid "Network"
msgstr "" msgstr ""
#: ui/preferences-window.ui:157 #: ui/preferences-window.ui:158
msgid "Client" msgid "Client"
msgstr "" msgstr ""
#: ui/preferences-window.ui:160 #: ui/preferences-window.ui:161
msgid "Progressive download buffering" msgid "Progressive download buffering"
msgstr "" msgstr ""
#: ui/preferences-window.ui:168 #: ui/preferences-window.ui:169
msgid "Server" msgid "Server"
msgstr "" msgstr ""
#: ui/preferences-window.ui:171 #: ui/preferences-window.ui:172
msgid "Control player remotely" msgid "Control player remotely"
msgstr "" msgstr ""
#: ui/preferences-window.ui:175 #: ui/preferences-window.ui:176
msgid "Listening port" msgid "Listening port"
msgstr "" msgstr ""
#: ui/preferences-window.ui:188 #: ui/preferences-window.ui:183
msgid "Tweaks" msgid "Run web application in background"
msgstr "" msgstr ""
#: ui/preferences-window.ui:192 #: ui/preferences-window.ui:184
msgid "Appearance" msgid "Requires GTK compiled with Broadway backend"
msgstr "" msgstr ""
#: ui/preferences-window.ui:195 #: ui/preferences-window.ui:190
msgid "Dark theme" msgid "Web application port"
msgstr "" msgstr ""
#: ui/preferences-window.ui:201 #: ui/preferences-window.ui:204
msgid "Render window shadows" msgid "Prefer adaptive streaming"
msgstr "" msgstr ""
#: ui/preferences-window.ui:202 #: ui/preferences-window.ui:210
msgid "Disable to increase performance when windowed" msgid "Max quality"
msgstr ""
#: ui/preferences-window.ui:213
msgid "Plugin ranking"
msgstr ""
#: ui/preferences-window.ui:214
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: ui/preferences-window.ui:219
msgid "Use playbin3"
msgstr ""
#: ui/preferences-window.ui:220 ui/preferences-window.ui:229
msgid "Requires player restart"
msgstr ""
#: ui/preferences-window.ui:222 ui/preferences-window.ui:231
msgid "Experimental"
msgstr "" msgstr ""
#: ui/preferences-window.ui:228 #: ui/preferences-window.ui:228
msgid "Tweaks"
msgstr ""
#: ui/preferences-window.ui:232
msgid "Appearance"
msgstr ""
#: ui/preferences-window.ui:235
msgid "Dark theme"
msgstr ""
#: ui/preferences-window.ui:241
msgid "Render window shadows"
msgstr ""
#: ui/preferences-window.ui:242
msgid "Disable to increase performance when windowed"
msgstr ""
#: ui/preferences-window.ui:253
msgid "Plugin ranking"
msgstr ""
#: ui/preferences-window.ui:254
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: ui/preferences-window.ui:259
msgid "Use playbin3"
msgstr ""
#: ui/preferences-window.ui:260 ui/preferences-window.ui:269
msgid "Requires player restart"
msgstr ""
#: ui/preferences-window.ui:262 ui/preferences-window.ui:271
msgid "Experimental"
msgstr ""
#: ui/preferences-window.ui:268
msgid "Use PipeWire for audio output" msgid "Use PipeWire for audio output"
msgstr "" msgstr ""
@@ -424,15 +445,15 @@ msgstr ""
msgid "Ends at: %s" msgid "Ends at: %s"
msgstr "" msgstr ""
#: src/widget.js:226 src/widget.js:235 src/widget.js:241 src/widget.js:247 #: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined" msgid "Undetermined"
msgstr "" msgstr ""
#: src/widget.js:242 #: src/widget.js:243
msgid "Channels" msgid "Channels"
msgstr "" msgstr ""
#: src/widget.js:260 #: src/widget.js:261
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""

127
po/ru.po
View File

@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: clapper\n" "Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-26 18:41+0200\n" "POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2022-05-26 16:50\n" "PO-Revision-Date: 2022-01-16 14:15\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Russian\n" "Language-Team: Russian\n"
"Language: ru_RU\n" "Language: ru_RU\n"
@@ -41,11 +41,12 @@ msgstr "О приложении"
msgid "Speed" msgid "Speed"
msgstr "Скорость" msgstr "Скорость"
#: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:82 #: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:83
#: ui/preferences-window.ui:215
msgid "Normal" msgid "Normal"
msgstr "Обычная" msgstr "Обычная"
#: ui/help-overlay.ui:10 ui/preferences-window.ui:11 #: ui/help-overlay.ui:10 ui/preferences-window.ui:12
msgid "General" msgid "General"
msgstr "Общие" msgstr "Общие"
@@ -117,7 +118,7 @@ msgstr "Изменить режим повторения"
msgid "Export to file" msgid "Export to file"
msgstr "Экспорт в файл" msgstr "Экспорт в файл"
#: ui/help-overlay.ui:95 ui/preferences-window.ui:118 #: ui/help-overlay.ui:95 ui/preferences-window.ui:119
msgid "Playback" msgid "Playback"
msgstr "Воспроизведение" msgstr "Воспроизведение"
@@ -181,183 +182,203 @@ msgstr "Декодеры"
msgid "Return to the preferences" msgid "Return to the preferences"
msgstr "Вернуться к настройкам" msgstr "Вернуться к настройкам"
#: ui/preferences-window.ui:15 #: ui/preferences-window.ui:16
msgid "Behavior" msgid "Behavior"
msgstr "Поведение" msgstr "Поведение"
#: ui/preferences-window.ui:18 #: ui/preferences-window.ui:19
msgid "Auto fullscreen" msgid "Auto fullscreen"
msgstr "Автоматический полноэкранный режим" msgstr "Автоматический полноэкранный режим"
#: ui/preferences-window.ui:19 #: ui/preferences-window.ui:20
msgid "Enter fullscreen when playlist is replaced except floating mode" msgid "Enter fullscreen when playlist is replaced except floating mode"
msgstr "Переход в полноэкранный режим при замене списка воспроизведения, кроме плавающего режима" msgstr "Переход в полноэкранный режим при замене списка воспроизведения, кроме плавающего режима"
#: ui/preferences-window.ui:25 #: ui/preferences-window.ui:26
msgid "Ask to resume recent media" msgid "Ask to resume recent media"
msgstr "Спрашивать о возобновление недавние медиа" msgstr "Спрашивать о возобновление недавние медиа"
#: ui/preferences-window.ui:31 #: ui/preferences-window.ui:32
msgid "Float on all workspaces" msgid "Float on all workspaces"
msgstr "Показывать «плавающий режим» на всех рабочих столах" msgstr "Показывать «плавающий режим» на всех рабочих столах"
#: ui/preferences-window.ui:32 #: ui/preferences-window.ui:33
msgid "This option only works on GNOME" msgid "This option only works on GNOME"
msgstr "Эта опция работает только в GNOME" msgstr "Эта опция работает только в GNOME"
#: ui/preferences-window.ui:38 #: ui/preferences-window.ui:39
msgid "After playback" msgid "After playback"
msgstr "После воспроизведения" msgstr "После воспроизведения"
#: ui/preferences-window.ui:43 #: ui/preferences-window.ui:44
msgid "Do nothing" msgid "Do nothing"
msgstr "Ничего не делать" msgstr "Ничего не делать"
#: ui/preferences-window.ui:44 #: ui/preferences-window.ui:45
msgid "Freeze last frame" msgid "Freeze last frame"
msgstr "Заморозить последний кадр" msgstr "Заморозить последний кадр"
#: ui/preferences-window.ui:45 #: ui/preferences-window.ui:46
msgid "Close the app" msgid "Close the app"
msgstr "Закрыть приложение" msgstr "Закрыть приложение"
#: ui/preferences-window.ui:55 #: ui/preferences-window.ui:56
msgid "Volume" msgid "Volume"
msgstr "Громкость" msgstr "Громкость"
#: ui/preferences-window.ui:58 #: ui/preferences-window.ui:59
msgid "Custom initial value" msgid "Custom initial value"
msgstr "Пользовательское начальное значение" msgstr "Пользовательское начальное значение"
#: ui/preferences-window.ui:59 #: ui/preferences-window.ui:60
msgid "Set custom volume at startup instead of restoring it" msgid "Set custom volume at startup instead of restoring it"
msgstr "Установите настраиваемую громкость при запуске вместо ее восстановления" msgstr "Установите настраиваемую громкость при запуске вместо ее восстановления"
#: ui/preferences-window.ui:63 #: ui/preferences-window.ui:64
msgid "Volume percentage" msgid "Volume percentage"
msgstr "Процент громкости" msgstr "Процент громкости"
#: ui/preferences-window.ui:74 #: ui/preferences-window.ui:75
msgid "Seeking" msgid "Seeking"
msgstr "Перемотка" msgstr "Перемотка"
#: ui/preferences-window.ui:77 #: ui/preferences-window.ui:78
msgid "Mode" msgid "Mode"
msgstr "Режим" msgstr "Режим"
#: ui/preferences-window.ui:83 #: ui/preferences-window.ui:84
msgid "Accurate" msgid "Accurate"
msgstr "Точный" msgstr "Точный"
#: ui/preferences-window.ui:84 #: ui/preferences-window.ui:85
msgid "Fast" msgid "Fast"
msgstr "Быстрый" msgstr "Быстрый"
#: ui/preferences-window.ui:92 #: ui/preferences-window.ui:93
msgid "Unit" msgid "Unit"
msgstr "Ед. изм" msgstr "Ед. изм"
#: ui/preferences-window.ui:97 #: ui/preferences-window.ui:98
msgid "Second" msgid "Second"
msgstr "Секунды" msgstr "Секунды"
#: ui/preferences-window.ui:98 #: ui/preferences-window.ui:99
msgid "Minute" msgid "Minute"
msgstr "Минуты" msgstr "Минуты"
#: ui/preferences-window.ui:99 #: ui/preferences-window.ui:100
msgid "Percentage" msgid "Percentage"
msgstr "Проценты" msgstr "Проценты"
#: ui/preferences-window.ui:107 #: ui/preferences-window.ui:108
msgid "Value" msgid "Value"
msgstr "Значение" msgstr "Значение"
#: ui/preferences-window.ui:122 #: ui/preferences-window.ui:123
msgid "Audio" msgid "Audio"
msgstr "Аудио" msgstr "Аудио"
#: ui/preferences-window.ui:125 #: ui/preferences-window.ui:126
msgid "Offset in milliseconds" msgid "Offset in milliseconds"
msgstr "Смещение в миллисекундах" msgstr "Смещение в миллисекундах"
#: ui/preferences-window.ui:132 #: ui/preferences-window.ui:133
msgid "Only native audio formats" msgid "Only native audio formats"
msgstr "Только нативные аудиоформаты" msgstr "Только нативные аудиоформаты"
#: ui/preferences-window.ui:140 #: ui/preferences-window.ui:141
msgid "Subtitles" msgid "Subtitles"
msgstr "Субтитры" msgstr "Субтитры"
#: ui/preferences-window.ui:143 #: ui/preferences-window.ui:144
msgid "Default font" msgid "Default font"
msgstr "Шрифт по умолчанию" msgstr "Шрифт по умолчанию"
#: ui/preferences-window.ui:153 #: ui/preferences-window.ui:154
msgid "Network" msgid "Network"
msgstr "Сеть" msgstr "Сеть"
#: ui/preferences-window.ui:157 #: ui/preferences-window.ui:158
msgid "Client" msgid "Client"
msgstr "Клиент" msgstr "Клиент"
#: ui/preferences-window.ui:160 #: ui/preferences-window.ui:161
msgid "Progressive download buffering" msgid "Progressive download buffering"
msgstr "Прогрессивная буферизация загрузки" msgstr "Прогрессивная буферизация загрузки"
#: ui/preferences-window.ui:168 #: ui/preferences-window.ui:169
msgid "Server" msgid "Server"
msgstr "Сервер" msgstr "Сервер"
#: ui/preferences-window.ui:171 #: ui/preferences-window.ui:172
msgid "Control player remotely" msgid "Control player remotely"
msgstr "Удаленное управление плеером" msgstr "Удаленное управление плеером"
#: ui/preferences-window.ui:175 #: ui/preferences-window.ui:176
msgid "Listening port" msgid "Listening port"
msgstr "Порт прослушивания" msgstr "Порт прослушивания"
#: ui/preferences-window.ui:188 #: ui/preferences-window.ui:183
msgid "Run web application in background"
msgstr "Запустить веб-приложение в фоновом режиме"
#: ui/preferences-window.ui:184
msgid "Requires GTK compiled with Broadway backend"
msgstr "Требуется GTK, скомпилированный с бэкэндом Broadway"
#: ui/preferences-window.ui:190
msgid "Web application port"
msgstr "Порт веб-приложения"
#: ui/preferences-window.ui:204
msgid "Prefer adaptive streaming"
msgstr "Предпочитайте адаптивную потоковую передачу"
#: ui/preferences-window.ui:210
msgid "Max quality"
msgstr "Максимальное качество"
#: ui/preferences-window.ui:228
msgid "Tweaks" msgid "Tweaks"
msgstr "Твики" msgstr "Твики"
#: ui/preferences-window.ui:192 #: ui/preferences-window.ui:232
msgid "Appearance" msgid "Appearance"
msgstr "Внешний вид" msgstr "Внешний вид"
#: ui/preferences-window.ui:195 #: ui/preferences-window.ui:235
msgid "Dark theme" msgid "Dark theme"
msgstr "Тёмная тема" msgstr "Тёмная тема"
#: ui/preferences-window.ui:201 #: ui/preferences-window.ui:241
msgid "Render window shadows" msgid "Render window shadows"
msgstr "Рендеринг оконных теней" msgstr "Рендеринг оконных теней"
#: ui/preferences-window.ui:202 #: ui/preferences-window.ui:242
msgid "Disable to increase performance when windowed" msgid "Disable to increase performance when windowed"
msgstr "Отключить, чтобы повысить производительность в оконном режиме" msgstr "Отключить, чтобы повысить производительность в оконном режиме"
#: ui/preferences-window.ui:213 #: ui/preferences-window.ui:253
msgid "Plugin ranking" msgid "Plugin ranking"
msgstr "Рейтинг плагинов" msgstr "Рейтинг плагинов"
#: ui/preferences-window.ui:214 #: ui/preferences-window.ui:254
msgid "Alter default ranks of GStreamer plugins" msgid "Alter default ranks of GStreamer plugins"
msgstr "Изменить ранги плагинов GStreamer по умолчанию" msgstr "Изменить ранги плагинов GStreamer по умолчанию"
#: ui/preferences-window.ui:219 #: ui/preferences-window.ui:259
msgid "Use playbin3" msgid "Use playbin3"
msgstr "Использовать playbin3" msgstr "Использовать playbin3"
#: ui/preferences-window.ui:220 ui/preferences-window.ui:229 #: ui/preferences-window.ui:260 ui/preferences-window.ui:269
msgid "Requires player restart" msgid "Requires player restart"
msgstr "Требуется перезапуск плеера" msgstr "Требуется перезапуск плеера"
#: ui/preferences-window.ui:222 ui/preferences-window.ui:231 #: ui/preferences-window.ui:262 ui/preferences-window.ui:271
msgid "Experimental" msgid "Experimental"
msgstr "Экспериментально" msgstr "Экспериментально"
#: ui/preferences-window.ui:228 #: ui/preferences-window.ui:268
msgid "Use PipeWire for audio output" msgid "Use PipeWire for audio output"
msgstr "Использовать PipeWire для вывода звука" msgstr "Использовать PipeWire для вывода звука"
@@ -424,15 +445,15 @@ msgstr "Игорь Дятлов"
msgid "Ends at: %s" msgid "Ends at: %s"
msgstr "Окончание: %s" msgstr "Окончание: %s"
#: src/widget.js:226 src/widget.js:235 src/widget.js:241 src/widget.js:247 #: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined" msgid "Undetermined"
msgstr "Неопределенный" msgstr "Неопределенный"
#: src/widget.js:242 #: src/widget.js:243
msgid "Channels" msgid "Channels"
msgstr "Каналы" msgstr "Каналы"
#: src/widget.js:260 #: src/widget.js:261
msgid "Disabled" msgid "Disabled"
msgstr "Отключено" msgstr "Отключено"

165
po/sr.po
View File

@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: clapper\n" "Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-26 18:41+0200\n" "POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2022-05-26 16:50\n" "PO-Revision-Date: 2021-09-14 15:25\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Serbian (Cyrillic)\n" "Language-Team: Serbian (Cyrillic)\n"
"Language: sr_SP\n" "Language: sr_SP\n"
@@ -41,11 +41,12 @@ msgstr ""
msgid "Speed" msgid "Speed"
msgstr "" msgstr ""
#: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:82 #: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:83
#: ui/preferences-window.ui:215
msgid "Normal" msgid "Normal"
msgstr "" msgstr ""
#: ui/help-overlay.ui:10 ui/preferences-window.ui:11 #: ui/help-overlay.ui:10 ui/preferences-window.ui:12
msgid "General" msgid "General"
msgstr "" msgstr ""
@@ -117,7 +118,7 @@ msgstr ""
msgid "Export to file" msgid "Export to file"
msgstr "" msgstr ""
#: ui/help-overlay.ui:95 ui/preferences-window.ui:118 #: ui/help-overlay.ui:95 ui/preferences-window.ui:119
msgid "Playback" msgid "Playback"
msgstr "" msgstr ""
@@ -181,183 +182,203 @@ msgstr ""
msgid "Return to the preferences" msgid "Return to the preferences"
msgstr "" msgstr ""
#: ui/preferences-window.ui:15 #: ui/preferences-window.ui:16
msgid "Behavior" msgid "Behavior"
msgstr "" msgstr ""
#: ui/preferences-window.ui:18 #: ui/preferences-window.ui:19
msgid "Auto fullscreen" msgid "Auto fullscreen"
msgstr "" msgstr ""
#: ui/preferences-window.ui:19 #: ui/preferences-window.ui:20
msgid "Enter fullscreen when playlist is replaced except floating mode" msgid "Enter fullscreen when playlist is replaced except floating mode"
msgstr "" msgstr ""
#: ui/preferences-window.ui:25 #: ui/preferences-window.ui:26
msgid "Ask to resume recent media" msgid "Ask to resume recent media"
msgstr "" msgstr ""
#: ui/preferences-window.ui:31 #: ui/preferences-window.ui:32
msgid "Float on all workspaces" msgid "Float on all workspaces"
msgstr "" msgstr ""
#: ui/preferences-window.ui:32 #: ui/preferences-window.ui:33
msgid "This option only works on GNOME" msgid "This option only works on GNOME"
msgstr "" msgstr ""
#: ui/preferences-window.ui:38 #: ui/preferences-window.ui:39
msgid "After playback" msgid "After playback"
msgstr "" msgstr ""
#: ui/preferences-window.ui:43 #: ui/preferences-window.ui:44
msgid "Do nothing" msgid "Do nothing"
msgstr "" msgstr ""
#: ui/preferences-window.ui:44 #: ui/preferences-window.ui:45
msgid "Freeze last frame" msgid "Freeze last frame"
msgstr "" msgstr ""
#: ui/preferences-window.ui:45 #: ui/preferences-window.ui:46
msgid "Close the app" msgid "Close the app"
msgstr "" msgstr ""
#: ui/preferences-window.ui:55 #: ui/preferences-window.ui:56
msgid "Volume" msgid "Volume"
msgstr "" msgstr ""
#: ui/preferences-window.ui:58 #: ui/preferences-window.ui:59
msgid "Custom initial value" msgid "Custom initial value"
msgstr "" msgstr ""
#: ui/preferences-window.ui:59 #: ui/preferences-window.ui:60
msgid "Set custom volume at startup instead of restoring it" msgid "Set custom volume at startup instead of restoring it"
msgstr "" msgstr ""
#: ui/preferences-window.ui:63 #: ui/preferences-window.ui:64
msgid "Volume percentage" msgid "Volume percentage"
msgstr "" msgstr ""
#: ui/preferences-window.ui:74 #: ui/preferences-window.ui:75
msgid "Seeking" msgid "Seeking"
msgstr "" msgstr ""
#: ui/preferences-window.ui:77 #: ui/preferences-window.ui:78
msgid "Mode" msgid "Mode"
msgstr "" msgstr ""
#: ui/preferences-window.ui:83 #: ui/preferences-window.ui:84
msgid "Accurate" msgid "Accurate"
msgstr "" msgstr ""
#: ui/preferences-window.ui:84 #: ui/preferences-window.ui:85
msgid "Fast" msgid "Fast"
msgstr "" msgstr ""
#: ui/preferences-window.ui:92 #: ui/preferences-window.ui:93
msgid "Unit" msgid "Unit"
msgstr "" msgstr ""
#: ui/preferences-window.ui:97 #: ui/preferences-window.ui:98
msgid "Second" msgid "Second"
msgstr "" msgstr ""
#: ui/preferences-window.ui:98 #: ui/preferences-window.ui:99
msgid "Minute" msgid "Minute"
msgstr "" msgstr ""
#: ui/preferences-window.ui:99 #: ui/preferences-window.ui:100
msgid "Percentage" msgid "Percentage"
msgstr "" msgstr ""
#: ui/preferences-window.ui:107 #: ui/preferences-window.ui:108
msgid "Value" msgid "Value"
msgstr "" msgstr ""
#: ui/preferences-window.ui:122 #: ui/preferences-window.ui:123
msgid "Audio" msgid "Audio"
msgstr "" msgstr ""
#: ui/preferences-window.ui:125 #: ui/preferences-window.ui:126
msgid "Offset in milliseconds" msgid "Offset in milliseconds"
msgstr "" msgstr ""
#: ui/preferences-window.ui:132 #: ui/preferences-window.ui:133
msgid "Only native audio formats" msgid "Only native audio formats"
msgstr "" msgstr ""
#: ui/preferences-window.ui:140 #: ui/preferences-window.ui:141
msgid "Subtitles" msgid "Subtitles"
msgstr "" msgstr ""
#: ui/preferences-window.ui:143 #: ui/preferences-window.ui:144
msgid "Default font" msgid "Default font"
msgstr "" msgstr ""
#: ui/preferences-window.ui:153 #: ui/preferences-window.ui:154
msgid "Network" msgid "Network"
msgstr "" msgstr ""
#: ui/preferences-window.ui:157 #: ui/preferences-window.ui:158
msgid "Client" msgid "Client"
msgstr "" msgstr ""
#: ui/preferences-window.ui:160 #: ui/preferences-window.ui:161
msgid "Progressive download buffering" msgid "Progressive download buffering"
msgstr "" msgstr ""
#: ui/preferences-window.ui:168 #: ui/preferences-window.ui:169
msgid "Server" msgid "Server"
msgstr "" msgstr ""
#: ui/preferences-window.ui:171 #: ui/preferences-window.ui:172
msgid "Control player remotely" msgid "Control player remotely"
msgstr "" msgstr ""
#: ui/preferences-window.ui:175 #: ui/preferences-window.ui:176
msgid "Listening port" msgid "Listening port"
msgstr "" msgstr ""
#: ui/preferences-window.ui:188 #: ui/preferences-window.ui:183
msgid "Tweaks" msgid "Run web application in background"
msgstr "" msgstr ""
#: ui/preferences-window.ui:192 #: ui/preferences-window.ui:184
msgid "Appearance" msgid "Requires GTK compiled with Broadway backend"
msgstr "" msgstr ""
#: ui/preferences-window.ui:195 #: ui/preferences-window.ui:190
msgid "Dark theme" msgid "Web application port"
msgstr "" msgstr ""
#: ui/preferences-window.ui:201 #: ui/preferences-window.ui:204
msgid "Render window shadows" msgid "Prefer adaptive streaming"
msgstr "" msgstr ""
#: ui/preferences-window.ui:202 #: ui/preferences-window.ui:210
msgid "Disable to increase performance when windowed" msgid "Max quality"
msgstr ""
#: ui/preferences-window.ui:213
msgid "Plugin ranking"
msgstr ""
#: ui/preferences-window.ui:214
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: ui/preferences-window.ui:219
msgid "Use playbin3"
msgstr ""
#: ui/preferences-window.ui:220 ui/preferences-window.ui:229
msgid "Requires player restart"
msgstr ""
#: ui/preferences-window.ui:222 ui/preferences-window.ui:231
msgid "Experimental"
msgstr "" msgstr ""
#: ui/preferences-window.ui:228 #: ui/preferences-window.ui:228
msgid "Tweaks"
msgstr ""
#: ui/preferences-window.ui:232
msgid "Appearance"
msgstr ""
#: ui/preferences-window.ui:235
msgid "Dark theme"
msgstr ""
#: ui/preferences-window.ui:241
msgid "Render window shadows"
msgstr ""
#: ui/preferences-window.ui:242
msgid "Disable to increase performance when windowed"
msgstr ""
#: ui/preferences-window.ui:253
msgid "Plugin ranking"
msgstr ""
#: ui/preferences-window.ui:254
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: ui/preferences-window.ui:259
msgid "Use playbin3"
msgstr ""
#: ui/preferences-window.ui:260 ui/preferences-window.ui:269
msgid "Requires player restart"
msgstr ""
#: ui/preferences-window.ui:262 ui/preferences-window.ui:271
msgid "Experimental"
msgstr ""
#: ui/preferences-window.ui:268
msgid "Use PipeWire for audio output" msgid "Use PipeWire for audio output"
msgstr "" msgstr ""
@@ -424,15 +445,15 @@ msgstr ""
msgid "Ends at: %s" msgid "Ends at: %s"
msgstr "" msgstr ""
#: src/widget.js:226 src/widget.js:235 src/widget.js:241 src/widget.js:247 #: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined" msgid "Undetermined"
msgstr "" msgstr ""
#: src/widget.js:242 #: src/widget.js:243
msgid "Channels" msgid "Channels"
msgstr "" msgstr ""
#: src/widget.js:260 #: src/widget.js:261
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""

127
po/sv.po
View File

@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: clapper\n" "Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-26 18:41+0200\n" "POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2022-05-26 16:50\n" "PO-Revision-Date: 2022-01-16 14:15\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Swedish\n" "Language-Team: Swedish\n"
"Language: sv_SE\n" "Language: sv_SE\n"
@@ -41,11 +41,12 @@ msgstr "Om Clapper"
msgid "Speed" msgid "Speed"
msgstr "Hastighet" msgstr "Hastighet"
#: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:82 #: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:83
#: ui/preferences-window.ui:215
msgid "Normal" msgid "Normal"
msgstr "Normal" msgstr "Normal"
#: ui/help-overlay.ui:10 ui/preferences-window.ui:11 #: ui/help-overlay.ui:10 ui/preferences-window.ui:12
msgid "General" msgid "General"
msgstr "Allmänt" msgstr "Allmänt"
@@ -117,7 +118,7 @@ msgstr "Ändra upprepningsläge"
msgid "Export to file" msgid "Export to file"
msgstr "Exportera till fil" msgstr "Exportera till fil"
#: ui/help-overlay.ui:95 ui/preferences-window.ui:118 #: ui/help-overlay.ui:95 ui/preferences-window.ui:119
msgid "Playback" msgid "Playback"
msgstr "Uppspelning" msgstr "Uppspelning"
@@ -181,183 +182,203 @@ msgstr "Avkodare"
msgid "Return to the preferences" msgid "Return to the preferences"
msgstr "Återgå till inställningarna" msgstr "Återgå till inställningarna"
#: ui/preferences-window.ui:15 #: ui/preferences-window.ui:16
msgid "Behavior" msgid "Behavior"
msgstr "Beteende" msgstr "Beteende"
#: ui/preferences-window.ui:18 #: ui/preferences-window.ui:19
msgid "Auto fullscreen" msgid "Auto fullscreen"
msgstr "Automatiskt helskärmsläge" msgstr "Automatiskt helskärmsläge"
#: ui/preferences-window.ui:19 #: ui/preferences-window.ui:20
msgid "Enter fullscreen when playlist is replaced except floating mode" msgid "Enter fullscreen when playlist is replaced except floating mode"
msgstr "Växla till fullskärmsläge när en spellista ersätts, förutom i flytande läge" msgstr "Växla till fullskärmsläge när en spellista ersätts, förutom i flytande läge"
#: ui/preferences-window.ui:25 #: ui/preferences-window.ui:26
msgid "Ask to resume recent media" msgid "Ask to resume recent media"
msgstr "Be att återuppta senaste media" msgstr "Be att återuppta senaste media"
#: ui/preferences-window.ui:31 #: ui/preferences-window.ui:32
msgid "Float on all workspaces" msgid "Float on all workspaces"
msgstr "Flyt på alla arbetsytor" msgstr "Flyt på alla arbetsytor"
#: ui/preferences-window.ui:32 #: ui/preferences-window.ui:33
msgid "This option only works on GNOME" msgid "This option only works on GNOME"
msgstr "Det här alternativet fungerar endast i GNOME" msgstr "Det här alternativet fungerar endast i GNOME"
#: ui/preferences-window.ui:38 #: ui/preferences-window.ui:39
msgid "After playback" msgid "After playback"
msgstr "Efter uppspelning" msgstr "Efter uppspelning"
#: ui/preferences-window.ui:43 #: ui/preferences-window.ui:44
msgid "Do nothing" msgid "Do nothing"
msgstr "Gör ingenting" msgstr "Gör ingenting"
#: ui/preferences-window.ui:44 #: ui/preferences-window.ui:45
msgid "Freeze last frame" msgid "Freeze last frame"
msgstr "Frys sista bildruta" msgstr "Frys sista bildruta"
#: ui/preferences-window.ui:45 #: ui/preferences-window.ui:46
msgid "Close the app" msgid "Close the app"
msgstr "Stäng appen" msgstr "Stäng appen"
#: ui/preferences-window.ui:55 #: ui/preferences-window.ui:56
msgid "Volume" msgid "Volume"
msgstr "Volym" msgstr "Volym"
#: ui/preferences-window.ui:58 #: ui/preferences-window.ui:59
msgid "Custom initial value" msgid "Custom initial value"
msgstr "Anpassat startvärde" msgstr "Anpassat startvärde"
#: ui/preferences-window.ui:59 #: ui/preferences-window.ui:60
msgid "Set custom volume at startup instead of restoring it" msgid "Set custom volume at startup instead of restoring it"
msgstr "Ställ in anpassad volym vid start istället för att återställa den" msgstr "Ställ in anpassad volym vid start istället för att återställa den"
#: ui/preferences-window.ui:63 #: ui/preferences-window.ui:64
msgid "Volume percentage" msgid "Volume percentage"
msgstr "Volymprocent" msgstr "Volymprocent"
#: ui/preferences-window.ui:74 #: ui/preferences-window.ui:75
msgid "Seeking" msgid "Seeking"
msgstr "Spolning" msgstr "Spolning"
#: ui/preferences-window.ui:77 #: ui/preferences-window.ui:78
msgid "Mode" msgid "Mode"
msgstr "Läge" msgstr "Läge"
#: ui/preferences-window.ui:83 #: ui/preferences-window.ui:84
msgid "Accurate" msgid "Accurate"
msgstr "Riktig" msgstr "Riktig"
#: ui/preferences-window.ui:84 #: ui/preferences-window.ui:85
msgid "Fast" msgid "Fast"
msgstr "Snabbt" msgstr "Snabbt"
#: ui/preferences-window.ui:92 #: ui/preferences-window.ui:93
msgid "Unit" msgid "Unit"
msgstr "Enhet" msgstr "Enhet"
#: ui/preferences-window.ui:97 #: ui/preferences-window.ui:98
msgid "Second" msgid "Second"
msgstr "Sekund" msgstr "Sekund"
#: ui/preferences-window.ui:98 #: ui/preferences-window.ui:99
msgid "Minute" msgid "Minute"
msgstr "Minut" msgstr "Minut"
#: ui/preferences-window.ui:99 #: ui/preferences-window.ui:100
msgid "Percentage" msgid "Percentage"
msgstr "Procent" msgstr "Procent"
#: ui/preferences-window.ui:107 #: ui/preferences-window.ui:108
msgid "Value" msgid "Value"
msgstr "Värde" msgstr "Värde"
#: ui/preferences-window.ui:122 #: ui/preferences-window.ui:123
msgid "Audio" msgid "Audio"
msgstr "Ljud" msgstr "Ljud"
#: ui/preferences-window.ui:125 #: ui/preferences-window.ui:126
msgid "Offset in milliseconds" msgid "Offset in milliseconds"
msgstr "Förskjutning i millisekunder" msgstr "Förskjutning i millisekunder"
#: ui/preferences-window.ui:132 #: ui/preferences-window.ui:133
msgid "Only native audio formats" msgid "Only native audio formats"
msgstr "Endast inbyggda ljudformat" msgstr "Endast inbyggda ljudformat"
#: ui/preferences-window.ui:140 #: ui/preferences-window.ui:141
msgid "Subtitles" msgid "Subtitles"
msgstr "Undertexter" msgstr "Undertexter"
#: ui/preferences-window.ui:143 #: ui/preferences-window.ui:144
msgid "Default font" msgid "Default font"
msgstr "Standardteckensnitt" msgstr "Standardteckensnitt"
#: ui/preferences-window.ui:153 #: ui/preferences-window.ui:154
msgid "Network" msgid "Network"
msgstr "Nätverk" msgstr "Nätverk"
#: ui/preferences-window.ui:157 #: ui/preferences-window.ui:158
msgid "Client" msgid "Client"
msgstr "Klient" msgstr "Klient"
#: ui/preferences-window.ui:160 #: ui/preferences-window.ui:161
msgid "Progressive download buffering" msgid "Progressive download buffering"
msgstr "Progressiv nedladdningsbuffert" msgstr "Progressiv nedladdningsbuffert"
#: ui/preferences-window.ui:168 #: ui/preferences-window.ui:169
msgid "Server" msgid "Server"
msgstr "Server" msgstr "Server"
#: ui/preferences-window.ui:171 #: ui/preferences-window.ui:172
msgid "Control player remotely" msgid "Control player remotely"
msgstr "Fjärrstyra spelaren" msgstr "Fjärrstyra spelaren"
#: ui/preferences-window.ui:175 #: ui/preferences-window.ui:176
msgid "Listening port" msgid "Listening port"
msgstr "Lyssningsport" msgstr "Lyssningsport"
#: ui/preferences-window.ui:188 #: ui/preferences-window.ui:183
msgid "Run web application in background"
msgstr "Kör webbprogram i bakgrunden"
#: ui/preferences-window.ui:184
msgid "Requires GTK compiled with Broadway backend"
msgstr "Kräver GTK kompilerad med Broadway backend"
#: ui/preferences-window.ui:190
msgid "Web application port"
msgstr "Port för webbprogram"
#: ui/preferences-window.ui:204
msgid "Prefer adaptive streaming"
msgstr "Föredra adaptiv streaming"
#: ui/preferences-window.ui:210
msgid "Max quality"
msgstr "Max kvalitet"
#: ui/preferences-window.ui:228
msgid "Tweaks" msgid "Tweaks"
msgstr "Tweaks" msgstr "Tweaks"
#: ui/preferences-window.ui:192 #: ui/preferences-window.ui:232
msgid "Appearance" msgid "Appearance"
msgstr "Utseende" msgstr "Utseende"
#: ui/preferences-window.ui:195 #: ui/preferences-window.ui:235
msgid "Dark theme" msgid "Dark theme"
msgstr "Mörkt Tema" msgstr "Mörkt Tema"
#: ui/preferences-window.ui:201 #: ui/preferences-window.ui:241
msgid "Render window shadows" msgid "Render window shadows"
msgstr "Rendera fönsterskuggor" msgstr "Rendera fönsterskuggor"
#: ui/preferences-window.ui:202 #: ui/preferences-window.ui:242
msgid "Disable to increase performance when windowed" msgid "Disable to increase performance when windowed"
msgstr "Inaktivera för att öka prestanda när fönsterläge är på" msgstr "Inaktivera för att öka prestanda när fönsterläge är på"
#: ui/preferences-window.ui:213 #: ui/preferences-window.ui:253
msgid "Plugin ranking" msgid "Plugin ranking"
msgstr "Rangordning av plugin" msgstr "Rangordning av plugin"
#: ui/preferences-window.ui:214 #: ui/preferences-window.ui:254
msgid "Alter default ranks of GStreamer plugins" msgid "Alter default ranks of GStreamer plugins"
msgstr "Ändra standardrankningar för GStreamer-plugins" msgstr "Ändra standardrankningar för GStreamer-plugins"
#: ui/preferences-window.ui:219 #: ui/preferences-window.ui:259
msgid "Use playbin3" msgid "Use playbin3"
msgstr "Använd playbin3" msgstr "Använd playbin3"
#: ui/preferences-window.ui:220 ui/preferences-window.ui:229 #: ui/preferences-window.ui:260 ui/preferences-window.ui:269
msgid "Requires player restart" msgid "Requires player restart"
msgstr "Kräver omstart av spelaren" msgstr "Kräver omstart av spelaren"
#: ui/preferences-window.ui:222 ui/preferences-window.ui:231 #: ui/preferences-window.ui:262 ui/preferences-window.ui:271
msgid "Experimental" msgid "Experimental"
msgstr "Exprimentalt" msgstr "Exprimentalt"
#: ui/preferences-window.ui:228 #: ui/preferences-window.ui:268
msgid "Use PipeWire for audio output" msgid "Use PipeWire for audio output"
msgstr "Använd PipeWire för Ljudutgång" msgstr "Använd PipeWire för Ljudutgång"
@@ -424,15 +445,15 @@ msgstr "SA ST (sastofficial)"
msgid "Ends at: %s" msgid "Ends at: %s"
msgstr "Slutar vid: %s" msgstr "Slutar vid: %s"
#: src/widget.js:226 src/widget.js:235 src/widget.js:241 src/widget.js:247 #: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined" msgid "Undetermined"
msgstr "Obestämd" msgstr "Obestämd"
#: src/widget.js:242 #: src/widget.js:243
msgid "Channels" msgid "Channels"
msgstr "Kanaler" msgstr "Kanaler"
#: src/widget.js:260 #: src/widget.js:261
msgid "Disabled" msgid "Disabled"
msgstr "Avstängd" msgstr "Avstängd"

165
po/tr.po
View File

@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: clapper\n" "Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-26 18:41+0200\n" "POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2022-05-26 16:50\n" "PO-Revision-Date: 2022-04-02 01:43\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Turkish\n" "Language-Team: Turkish\n"
"Language: tr_TR\n" "Language: tr_TR\n"
@@ -41,11 +41,12 @@ msgstr "Clapper Hakkında"
msgid "Speed" msgid "Speed"
msgstr "Hız" msgstr "Hız"
#: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:82 #: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:83
#: ui/preferences-window.ui:215
msgid "Normal" msgid "Normal"
msgstr "Normal" msgstr "Normal"
#: ui/help-overlay.ui:10 ui/preferences-window.ui:11 #: ui/help-overlay.ui:10 ui/preferences-window.ui:12
msgid "General" msgid "General"
msgstr "Genel" msgstr "Genel"
@@ -117,7 +118,7 @@ msgstr "Tekrarlı oynatma modunu değiştir"
msgid "Export to file" msgid "Export to file"
msgstr "Dosyaya aktar" msgstr "Dosyaya aktar"
#: ui/help-overlay.ui:95 ui/preferences-window.ui:118 #: ui/help-overlay.ui:95 ui/preferences-window.ui:119
msgid "Playback" msgid "Playback"
msgstr "Oynatma" msgstr "Oynatma"
@@ -181,183 +182,203 @@ msgstr "Çözücüler"
msgid "Return to the preferences" msgid "Return to the preferences"
msgstr "Tercihlere geri dön" msgstr "Tercihlere geri dön"
#: ui/preferences-window.ui:15 #: ui/preferences-window.ui:16
msgid "Behavior" msgid "Behavior"
msgstr "Davranış" msgstr "Davranış"
#: ui/preferences-window.ui:18 #: ui/preferences-window.ui:19
msgid "Auto fullscreen" msgid "Auto fullscreen"
msgstr "Otomatik tam ekran" msgstr "Otomatik tam ekran"
#: ui/preferences-window.ui:19 #: ui/preferences-window.ui:20
msgid "Enter fullscreen when playlist is replaced except floating mode" msgid "Enter fullscreen when playlist is replaced except floating mode"
msgstr "" msgstr ""
#: ui/preferences-window.ui:25 #: ui/preferences-window.ui:26
msgid "Ask to resume recent media" msgid "Ask to resume recent media"
msgstr "" msgstr ""
#: ui/preferences-window.ui:31 #: ui/preferences-window.ui:32
msgid "Float on all workspaces" msgid "Float on all workspaces"
msgstr "" msgstr ""
#: ui/preferences-window.ui:32 #: ui/preferences-window.ui:33
msgid "This option only works on GNOME" msgid "This option only works on GNOME"
msgstr "" msgstr ""
#: ui/preferences-window.ui:38 #: ui/preferences-window.ui:39
msgid "After playback" msgid "After playback"
msgstr "" msgstr ""
#: ui/preferences-window.ui:43 #: ui/preferences-window.ui:44
msgid "Do nothing" msgid "Do nothing"
msgstr "" msgstr ""
#: ui/preferences-window.ui:44 #: ui/preferences-window.ui:45
msgid "Freeze last frame" msgid "Freeze last frame"
msgstr "" msgstr ""
#: ui/preferences-window.ui:45 #: ui/preferences-window.ui:46
msgid "Close the app" msgid "Close the app"
msgstr "" msgstr ""
#: ui/preferences-window.ui:55 #: ui/preferences-window.ui:56
msgid "Volume" msgid "Volume"
msgstr "" msgstr ""
#: ui/preferences-window.ui:58 #: ui/preferences-window.ui:59
msgid "Custom initial value" msgid "Custom initial value"
msgstr "" msgstr ""
#: ui/preferences-window.ui:59 #: ui/preferences-window.ui:60
msgid "Set custom volume at startup instead of restoring it" msgid "Set custom volume at startup instead of restoring it"
msgstr "" msgstr ""
#: ui/preferences-window.ui:63 #: ui/preferences-window.ui:64
msgid "Volume percentage" msgid "Volume percentage"
msgstr "" msgstr ""
#: ui/preferences-window.ui:74 #: ui/preferences-window.ui:75
msgid "Seeking" msgid "Seeking"
msgstr "" msgstr ""
#: ui/preferences-window.ui:77 #: ui/preferences-window.ui:78
msgid "Mode" msgid "Mode"
msgstr "" msgstr ""
#: ui/preferences-window.ui:83 #: ui/preferences-window.ui:84
msgid "Accurate" msgid "Accurate"
msgstr "" msgstr ""
#: ui/preferences-window.ui:84 #: ui/preferences-window.ui:85
msgid "Fast" msgid "Fast"
msgstr "" msgstr ""
#: ui/preferences-window.ui:92 #: ui/preferences-window.ui:93
msgid "Unit" msgid "Unit"
msgstr "" msgstr ""
#: ui/preferences-window.ui:97 #: ui/preferences-window.ui:98
msgid "Second" msgid "Second"
msgstr "" msgstr ""
#: ui/preferences-window.ui:98 #: ui/preferences-window.ui:99
msgid "Minute" msgid "Minute"
msgstr "" msgstr ""
#: ui/preferences-window.ui:99 #: ui/preferences-window.ui:100
msgid "Percentage" msgid "Percentage"
msgstr "" msgstr ""
#: ui/preferences-window.ui:107 #: ui/preferences-window.ui:108
msgid "Value" msgid "Value"
msgstr "" msgstr ""
#: ui/preferences-window.ui:122 #: ui/preferences-window.ui:123
msgid "Audio" msgid "Audio"
msgstr "" msgstr ""
#: ui/preferences-window.ui:125 #: ui/preferences-window.ui:126
msgid "Offset in milliseconds" msgid "Offset in milliseconds"
msgstr "" msgstr ""
#: ui/preferences-window.ui:132 #: ui/preferences-window.ui:133
msgid "Only native audio formats" msgid "Only native audio formats"
msgstr "" msgstr ""
#: ui/preferences-window.ui:140 #: ui/preferences-window.ui:141
msgid "Subtitles" msgid "Subtitles"
msgstr "" msgstr ""
#: ui/preferences-window.ui:143 #: ui/preferences-window.ui:144
msgid "Default font" msgid "Default font"
msgstr "" msgstr ""
#: ui/preferences-window.ui:153 #: ui/preferences-window.ui:154
msgid "Network" msgid "Network"
msgstr "" msgstr ""
#: ui/preferences-window.ui:157 #: ui/preferences-window.ui:158
msgid "Client" msgid "Client"
msgstr "" msgstr ""
#: ui/preferences-window.ui:160 #: ui/preferences-window.ui:161
msgid "Progressive download buffering" msgid "Progressive download buffering"
msgstr "" msgstr ""
#: ui/preferences-window.ui:168 #: ui/preferences-window.ui:169
msgid "Server" msgid "Server"
msgstr "" msgstr ""
#: ui/preferences-window.ui:171 #: ui/preferences-window.ui:172
msgid "Control player remotely" msgid "Control player remotely"
msgstr "" msgstr ""
#: ui/preferences-window.ui:175 #: ui/preferences-window.ui:176
msgid "Listening port" msgid "Listening port"
msgstr "" msgstr ""
#: ui/preferences-window.ui:188 #: ui/preferences-window.ui:183
msgid "Tweaks" msgid "Run web application in background"
msgstr "" msgstr ""
#: ui/preferences-window.ui:192 #: ui/preferences-window.ui:184
msgid "Appearance" msgid "Requires GTK compiled with Broadway backend"
msgstr "" msgstr ""
#: ui/preferences-window.ui:195 #: ui/preferences-window.ui:190
msgid "Dark theme" msgid "Web application port"
msgstr "" msgstr ""
#: ui/preferences-window.ui:201 #: ui/preferences-window.ui:204
msgid "Render window shadows" msgid "Prefer adaptive streaming"
msgstr "" msgstr ""
#: ui/preferences-window.ui:202 #: ui/preferences-window.ui:210
msgid "Disable to increase performance when windowed" msgid "Max quality"
msgstr ""
#: ui/preferences-window.ui:213
msgid "Plugin ranking"
msgstr ""
#: ui/preferences-window.ui:214
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: ui/preferences-window.ui:219
msgid "Use playbin3"
msgstr ""
#: ui/preferences-window.ui:220 ui/preferences-window.ui:229
msgid "Requires player restart"
msgstr ""
#: ui/preferences-window.ui:222 ui/preferences-window.ui:231
msgid "Experimental"
msgstr "" msgstr ""
#: ui/preferences-window.ui:228 #: ui/preferences-window.ui:228
msgid "Tweaks"
msgstr ""
#: ui/preferences-window.ui:232
msgid "Appearance"
msgstr ""
#: ui/preferences-window.ui:235
msgid "Dark theme"
msgstr ""
#: ui/preferences-window.ui:241
msgid "Render window shadows"
msgstr ""
#: ui/preferences-window.ui:242
msgid "Disable to increase performance when windowed"
msgstr ""
#: ui/preferences-window.ui:253
msgid "Plugin ranking"
msgstr ""
#: ui/preferences-window.ui:254
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: ui/preferences-window.ui:259
msgid "Use playbin3"
msgstr ""
#: ui/preferences-window.ui:260 ui/preferences-window.ui:269
msgid "Requires player restart"
msgstr ""
#: ui/preferences-window.ui:262 ui/preferences-window.ui:271
msgid "Experimental"
msgstr ""
#: ui/preferences-window.ui:268
msgid "Use PipeWire for audio output" msgid "Use PipeWire for audio output"
msgstr "" msgstr ""
@@ -424,15 +445,15 @@ msgstr ""
msgid "Ends at: %s" msgid "Ends at: %s"
msgstr "" msgstr ""
#: src/widget.js:226 src/widget.js:235 src/widget.js:241 src/widget.js:247 #: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined" msgid "Undetermined"
msgstr "" msgstr ""
#: src/widget.js:242 #: src/widget.js:243
msgid "Channels" msgid "Channels"
msgstr "" msgstr ""
#: src/widget.js:260 #: src/widget.js:261
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""

165
po/uk.po
View File

@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: clapper\n" "Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-26 18:41+0200\n" "POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2022-05-26 16:50\n" "PO-Revision-Date: 2021-09-14 15:24\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Ukrainian\n" "Language-Team: Ukrainian\n"
"Language: uk_UA\n" "Language: uk_UA\n"
@@ -41,11 +41,12 @@ msgstr ""
msgid "Speed" msgid "Speed"
msgstr "" msgstr ""
#: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:82 #: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:83
#: ui/preferences-window.ui:215
msgid "Normal" msgid "Normal"
msgstr "" msgstr ""
#: ui/help-overlay.ui:10 ui/preferences-window.ui:11 #: ui/help-overlay.ui:10 ui/preferences-window.ui:12
msgid "General" msgid "General"
msgstr "" msgstr ""
@@ -117,7 +118,7 @@ msgstr ""
msgid "Export to file" msgid "Export to file"
msgstr "" msgstr ""
#: ui/help-overlay.ui:95 ui/preferences-window.ui:118 #: ui/help-overlay.ui:95 ui/preferences-window.ui:119
msgid "Playback" msgid "Playback"
msgstr "" msgstr ""
@@ -181,183 +182,203 @@ msgstr ""
msgid "Return to the preferences" msgid "Return to the preferences"
msgstr "" msgstr ""
#: ui/preferences-window.ui:15 #: ui/preferences-window.ui:16
msgid "Behavior" msgid "Behavior"
msgstr "" msgstr ""
#: ui/preferences-window.ui:18 #: ui/preferences-window.ui:19
msgid "Auto fullscreen" msgid "Auto fullscreen"
msgstr "" msgstr ""
#: ui/preferences-window.ui:19 #: ui/preferences-window.ui:20
msgid "Enter fullscreen when playlist is replaced except floating mode" msgid "Enter fullscreen when playlist is replaced except floating mode"
msgstr "" msgstr ""
#: ui/preferences-window.ui:25 #: ui/preferences-window.ui:26
msgid "Ask to resume recent media" msgid "Ask to resume recent media"
msgstr "" msgstr ""
#: ui/preferences-window.ui:31 #: ui/preferences-window.ui:32
msgid "Float on all workspaces" msgid "Float on all workspaces"
msgstr "" msgstr ""
#: ui/preferences-window.ui:32 #: ui/preferences-window.ui:33
msgid "This option only works on GNOME" msgid "This option only works on GNOME"
msgstr "" msgstr ""
#: ui/preferences-window.ui:38 #: ui/preferences-window.ui:39
msgid "After playback" msgid "After playback"
msgstr "" msgstr ""
#: ui/preferences-window.ui:43 #: ui/preferences-window.ui:44
msgid "Do nothing" msgid "Do nothing"
msgstr "" msgstr ""
#: ui/preferences-window.ui:44 #: ui/preferences-window.ui:45
msgid "Freeze last frame" msgid "Freeze last frame"
msgstr "" msgstr ""
#: ui/preferences-window.ui:45 #: ui/preferences-window.ui:46
msgid "Close the app" msgid "Close the app"
msgstr "" msgstr ""
#: ui/preferences-window.ui:55 #: ui/preferences-window.ui:56
msgid "Volume" msgid "Volume"
msgstr "" msgstr ""
#: ui/preferences-window.ui:58 #: ui/preferences-window.ui:59
msgid "Custom initial value" msgid "Custom initial value"
msgstr "" msgstr ""
#: ui/preferences-window.ui:59 #: ui/preferences-window.ui:60
msgid "Set custom volume at startup instead of restoring it" msgid "Set custom volume at startup instead of restoring it"
msgstr "" msgstr ""
#: ui/preferences-window.ui:63 #: ui/preferences-window.ui:64
msgid "Volume percentage" msgid "Volume percentage"
msgstr "" msgstr ""
#: ui/preferences-window.ui:74 #: ui/preferences-window.ui:75
msgid "Seeking" msgid "Seeking"
msgstr "" msgstr ""
#: ui/preferences-window.ui:77 #: ui/preferences-window.ui:78
msgid "Mode" msgid "Mode"
msgstr "" msgstr ""
#: ui/preferences-window.ui:83 #: ui/preferences-window.ui:84
msgid "Accurate" msgid "Accurate"
msgstr "" msgstr ""
#: ui/preferences-window.ui:84 #: ui/preferences-window.ui:85
msgid "Fast" msgid "Fast"
msgstr "" msgstr ""
#: ui/preferences-window.ui:92 #: ui/preferences-window.ui:93
msgid "Unit" msgid "Unit"
msgstr "" msgstr ""
#: ui/preferences-window.ui:97 #: ui/preferences-window.ui:98
msgid "Second" msgid "Second"
msgstr "" msgstr ""
#: ui/preferences-window.ui:98 #: ui/preferences-window.ui:99
msgid "Minute" msgid "Minute"
msgstr "" msgstr ""
#: ui/preferences-window.ui:99 #: ui/preferences-window.ui:100
msgid "Percentage" msgid "Percentage"
msgstr "" msgstr ""
#: ui/preferences-window.ui:107 #: ui/preferences-window.ui:108
msgid "Value" msgid "Value"
msgstr "" msgstr ""
#: ui/preferences-window.ui:122 #: ui/preferences-window.ui:123
msgid "Audio" msgid "Audio"
msgstr "" msgstr ""
#: ui/preferences-window.ui:125 #: ui/preferences-window.ui:126
msgid "Offset in milliseconds" msgid "Offset in milliseconds"
msgstr "" msgstr ""
#: ui/preferences-window.ui:132 #: ui/preferences-window.ui:133
msgid "Only native audio formats" msgid "Only native audio formats"
msgstr "" msgstr ""
#: ui/preferences-window.ui:140 #: ui/preferences-window.ui:141
msgid "Subtitles" msgid "Subtitles"
msgstr "" msgstr ""
#: ui/preferences-window.ui:143 #: ui/preferences-window.ui:144
msgid "Default font" msgid "Default font"
msgstr "" msgstr ""
#: ui/preferences-window.ui:153 #: ui/preferences-window.ui:154
msgid "Network" msgid "Network"
msgstr "" msgstr ""
#: ui/preferences-window.ui:157 #: ui/preferences-window.ui:158
msgid "Client" msgid "Client"
msgstr "" msgstr ""
#: ui/preferences-window.ui:160 #: ui/preferences-window.ui:161
msgid "Progressive download buffering" msgid "Progressive download buffering"
msgstr "" msgstr ""
#: ui/preferences-window.ui:168 #: ui/preferences-window.ui:169
msgid "Server" msgid "Server"
msgstr "" msgstr ""
#: ui/preferences-window.ui:171 #: ui/preferences-window.ui:172
msgid "Control player remotely" msgid "Control player remotely"
msgstr "" msgstr ""
#: ui/preferences-window.ui:175 #: ui/preferences-window.ui:176
msgid "Listening port" msgid "Listening port"
msgstr "" msgstr ""
#: ui/preferences-window.ui:188 #: ui/preferences-window.ui:183
msgid "Tweaks" msgid "Run web application in background"
msgstr "" msgstr ""
#: ui/preferences-window.ui:192 #: ui/preferences-window.ui:184
msgid "Appearance" msgid "Requires GTK compiled with Broadway backend"
msgstr "" msgstr ""
#: ui/preferences-window.ui:195 #: ui/preferences-window.ui:190
msgid "Dark theme" msgid "Web application port"
msgstr "" msgstr ""
#: ui/preferences-window.ui:201 #: ui/preferences-window.ui:204
msgid "Render window shadows" msgid "Prefer adaptive streaming"
msgstr "" msgstr ""
#: ui/preferences-window.ui:202 #: ui/preferences-window.ui:210
msgid "Disable to increase performance when windowed" msgid "Max quality"
msgstr ""
#: ui/preferences-window.ui:213
msgid "Plugin ranking"
msgstr ""
#: ui/preferences-window.ui:214
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: ui/preferences-window.ui:219
msgid "Use playbin3"
msgstr ""
#: ui/preferences-window.ui:220 ui/preferences-window.ui:229
msgid "Requires player restart"
msgstr ""
#: ui/preferences-window.ui:222 ui/preferences-window.ui:231
msgid "Experimental"
msgstr "" msgstr ""
#: ui/preferences-window.ui:228 #: ui/preferences-window.ui:228
msgid "Tweaks"
msgstr ""
#: ui/preferences-window.ui:232
msgid "Appearance"
msgstr ""
#: ui/preferences-window.ui:235
msgid "Dark theme"
msgstr ""
#: ui/preferences-window.ui:241
msgid "Render window shadows"
msgstr ""
#: ui/preferences-window.ui:242
msgid "Disable to increase performance when windowed"
msgstr ""
#: ui/preferences-window.ui:253
msgid "Plugin ranking"
msgstr ""
#: ui/preferences-window.ui:254
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: ui/preferences-window.ui:259
msgid "Use playbin3"
msgstr ""
#: ui/preferences-window.ui:260 ui/preferences-window.ui:269
msgid "Requires player restart"
msgstr ""
#: ui/preferences-window.ui:262 ui/preferences-window.ui:271
msgid "Experimental"
msgstr ""
#: ui/preferences-window.ui:268
msgid "Use PipeWire for audio output" msgid "Use PipeWire for audio output"
msgstr "" msgstr ""
@@ -424,15 +445,15 @@ msgstr ""
msgid "Ends at: %s" msgid "Ends at: %s"
msgstr "" msgstr ""
#: src/widget.js:226 src/widget.js:235 src/widget.js:241 src/widget.js:247 #: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined" msgid "Undetermined"
msgstr "" msgstr ""
#: src/widget.js:242 #: src/widget.js:243
msgid "Channels" msgid "Channels"
msgstr "" msgstr ""
#: src/widget.js:260 #: src/widget.js:261
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""

165
po/vi.po
View File

@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: clapper\n" "Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-26 18:41+0200\n" "POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2022-05-26 16:50\n" "PO-Revision-Date: 2021-09-14 15:24\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Vietnamese\n" "Language-Team: Vietnamese\n"
"Language: vi_VN\n" "Language: vi_VN\n"
@@ -41,11 +41,12 @@ msgstr ""
msgid "Speed" msgid "Speed"
msgstr "" msgstr ""
#: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:82 #: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:83
#: ui/preferences-window.ui:215
msgid "Normal" msgid "Normal"
msgstr "" msgstr ""
#: ui/help-overlay.ui:10 ui/preferences-window.ui:11 #: ui/help-overlay.ui:10 ui/preferences-window.ui:12
msgid "General" msgid "General"
msgstr "" msgstr ""
@@ -117,7 +118,7 @@ msgstr ""
msgid "Export to file" msgid "Export to file"
msgstr "" msgstr ""
#: ui/help-overlay.ui:95 ui/preferences-window.ui:118 #: ui/help-overlay.ui:95 ui/preferences-window.ui:119
msgid "Playback" msgid "Playback"
msgstr "" msgstr ""
@@ -181,183 +182,203 @@ msgstr ""
msgid "Return to the preferences" msgid "Return to the preferences"
msgstr "" msgstr ""
#: ui/preferences-window.ui:15 #: ui/preferences-window.ui:16
msgid "Behavior" msgid "Behavior"
msgstr "" msgstr ""
#: ui/preferences-window.ui:18 #: ui/preferences-window.ui:19
msgid "Auto fullscreen" msgid "Auto fullscreen"
msgstr "" msgstr ""
#: ui/preferences-window.ui:19 #: ui/preferences-window.ui:20
msgid "Enter fullscreen when playlist is replaced except floating mode" msgid "Enter fullscreen when playlist is replaced except floating mode"
msgstr "" msgstr ""
#: ui/preferences-window.ui:25 #: ui/preferences-window.ui:26
msgid "Ask to resume recent media" msgid "Ask to resume recent media"
msgstr "" msgstr ""
#: ui/preferences-window.ui:31 #: ui/preferences-window.ui:32
msgid "Float on all workspaces" msgid "Float on all workspaces"
msgstr "" msgstr ""
#: ui/preferences-window.ui:32 #: ui/preferences-window.ui:33
msgid "This option only works on GNOME" msgid "This option only works on GNOME"
msgstr "" msgstr ""
#: ui/preferences-window.ui:38 #: ui/preferences-window.ui:39
msgid "After playback" msgid "After playback"
msgstr "" msgstr ""
#: ui/preferences-window.ui:43 #: ui/preferences-window.ui:44
msgid "Do nothing" msgid "Do nothing"
msgstr "" msgstr ""
#: ui/preferences-window.ui:44 #: ui/preferences-window.ui:45
msgid "Freeze last frame" msgid "Freeze last frame"
msgstr "" msgstr ""
#: ui/preferences-window.ui:45 #: ui/preferences-window.ui:46
msgid "Close the app" msgid "Close the app"
msgstr "" msgstr ""
#: ui/preferences-window.ui:55 #: ui/preferences-window.ui:56
msgid "Volume" msgid "Volume"
msgstr "" msgstr ""
#: ui/preferences-window.ui:58 #: ui/preferences-window.ui:59
msgid "Custom initial value" msgid "Custom initial value"
msgstr "" msgstr ""
#: ui/preferences-window.ui:59 #: ui/preferences-window.ui:60
msgid "Set custom volume at startup instead of restoring it" msgid "Set custom volume at startup instead of restoring it"
msgstr "" msgstr ""
#: ui/preferences-window.ui:63 #: ui/preferences-window.ui:64
msgid "Volume percentage" msgid "Volume percentage"
msgstr "" msgstr ""
#: ui/preferences-window.ui:74 #: ui/preferences-window.ui:75
msgid "Seeking" msgid "Seeking"
msgstr "" msgstr ""
#: ui/preferences-window.ui:77 #: ui/preferences-window.ui:78
msgid "Mode" msgid "Mode"
msgstr "" msgstr ""
#: ui/preferences-window.ui:83 #: ui/preferences-window.ui:84
msgid "Accurate" msgid "Accurate"
msgstr "" msgstr ""
#: ui/preferences-window.ui:84 #: ui/preferences-window.ui:85
msgid "Fast" msgid "Fast"
msgstr "" msgstr ""
#: ui/preferences-window.ui:92 #: ui/preferences-window.ui:93
msgid "Unit" msgid "Unit"
msgstr "" msgstr ""
#: ui/preferences-window.ui:97 #: ui/preferences-window.ui:98
msgid "Second" msgid "Second"
msgstr "" msgstr ""
#: ui/preferences-window.ui:98 #: ui/preferences-window.ui:99
msgid "Minute" msgid "Minute"
msgstr "" msgstr ""
#: ui/preferences-window.ui:99 #: ui/preferences-window.ui:100
msgid "Percentage" msgid "Percentage"
msgstr "" msgstr ""
#: ui/preferences-window.ui:107 #: ui/preferences-window.ui:108
msgid "Value" msgid "Value"
msgstr "" msgstr ""
#: ui/preferences-window.ui:122 #: ui/preferences-window.ui:123
msgid "Audio" msgid "Audio"
msgstr "" msgstr ""
#: ui/preferences-window.ui:125 #: ui/preferences-window.ui:126
msgid "Offset in milliseconds" msgid "Offset in milliseconds"
msgstr "" msgstr ""
#: ui/preferences-window.ui:132 #: ui/preferences-window.ui:133
msgid "Only native audio formats" msgid "Only native audio formats"
msgstr "" msgstr ""
#: ui/preferences-window.ui:140 #: ui/preferences-window.ui:141
msgid "Subtitles" msgid "Subtitles"
msgstr "" msgstr ""
#: ui/preferences-window.ui:143 #: ui/preferences-window.ui:144
msgid "Default font" msgid "Default font"
msgstr "" msgstr ""
#: ui/preferences-window.ui:153 #: ui/preferences-window.ui:154
msgid "Network" msgid "Network"
msgstr "" msgstr ""
#: ui/preferences-window.ui:157 #: ui/preferences-window.ui:158
msgid "Client" msgid "Client"
msgstr "" msgstr ""
#: ui/preferences-window.ui:160 #: ui/preferences-window.ui:161
msgid "Progressive download buffering" msgid "Progressive download buffering"
msgstr "" msgstr ""
#: ui/preferences-window.ui:168 #: ui/preferences-window.ui:169
msgid "Server" msgid "Server"
msgstr "" msgstr ""
#: ui/preferences-window.ui:171 #: ui/preferences-window.ui:172
msgid "Control player remotely" msgid "Control player remotely"
msgstr "" msgstr ""
#: ui/preferences-window.ui:175 #: ui/preferences-window.ui:176
msgid "Listening port" msgid "Listening port"
msgstr "" msgstr ""
#: ui/preferences-window.ui:188 #: ui/preferences-window.ui:183
msgid "Tweaks" msgid "Run web application in background"
msgstr "" msgstr ""
#: ui/preferences-window.ui:192 #: ui/preferences-window.ui:184
msgid "Appearance" msgid "Requires GTK compiled with Broadway backend"
msgstr "" msgstr ""
#: ui/preferences-window.ui:195 #: ui/preferences-window.ui:190
msgid "Dark theme" msgid "Web application port"
msgstr "" msgstr ""
#: ui/preferences-window.ui:201 #: ui/preferences-window.ui:204
msgid "Render window shadows" msgid "Prefer adaptive streaming"
msgstr "" msgstr ""
#: ui/preferences-window.ui:202 #: ui/preferences-window.ui:210
msgid "Disable to increase performance when windowed" msgid "Max quality"
msgstr ""
#: ui/preferences-window.ui:213
msgid "Plugin ranking"
msgstr ""
#: ui/preferences-window.ui:214
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: ui/preferences-window.ui:219
msgid "Use playbin3"
msgstr ""
#: ui/preferences-window.ui:220 ui/preferences-window.ui:229
msgid "Requires player restart"
msgstr ""
#: ui/preferences-window.ui:222 ui/preferences-window.ui:231
msgid "Experimental"
msgstr "" msgstr ""
#: ui/preferences-window.ui:228 #: ui/preferences-window.ui:228
msgid "Tweaks"
msgstr ""
#: ui/preferences-window.ui:232
msgid "Appearance"
msgstr ""
#: ui/preferences-window.ui:235
msgid "Dark theme"
msgstr ""
#: ui/preferences-window.ui:241
msgid "Render window shadows"
msgstr ""
#: ui/preferences-window.ui:242
msgid "Disable to increase performance when windowed"
msgstr ""
#: ui/preferences-window.ui:253
msgid "Plugin ranking"
msgstr ""
#: ui/preferences-window.ui:254
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: ui/preferences-window.ui:259
msgid "Use playbin3"
msgstr ""
#: ui/preferences-window.ui:260 ui/preferences-window.ui:269
msgid "Requires player restart"
msgstr ""
#: ui/preferences-window.ui:262 ui/preferences-window.ui:271
msgid "Experimental"
msgstr ""
#: ui/preferences-window.ui:268
msgid "Use PipeWire for audio output" msgid "Use PipeWire for audio output"
msgstr "" msgstr ""
@@ -424,15 +445,15 @@ msgstr ""
msgid "Ends at: %s" msgid "Ends at: %s"
msgstr "" msgstr ""
#: src/widget.js:226 src/widget.js:235 src/widget.js:241 src/widget.js:247 #: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined" msgid "Undetermined"
msgstr "" msgstr ""
#: src/widget.js:242 #: src/widget.js:243
msgid "Channels" msgid "Channels"
msgstr "" msgstr ""
#: src/widget.js:260 #: src/widget.js:261
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""

View File

@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: clapper\n" "Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-26 18:41+0200\n" "POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2022-05-26 16:50\n" "PO-Revision-Date: 2022-04-20 18:10\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Chinese Simplified\n" "Language-Team: Chinese Simplified\n"
"Language: zh_CN\n" "Language: zh_CN\n"
@@ -41,11 +41,12 @@ msgstr "关于 Claper"
msgid "Speed" msgid "Speed"
msgstr "速度" msgstr "速度"
#: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:82 #: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:83
#: ui/preferences-window.ui:215
msgid "Normal" msgid "Normal"
msgstr "一般" msgstr "一般"
#: ui/help-overlay.ui:10 ui/preferences-window.ui:11 #: ui/help-overlay.ui:10 ui/preferences-window.ui:12
msgid "General" msgid "General"
msgstr "常规​​​​​" msgstr "常规​​​​​"
@@ -117,7 +118,7 @@ msgstr "更改循环模式"
msgid "Export to file" msgid "Export to file"
msgstr "导出至文件" msgstr "导出至文件"
#: ui/help-overlay.ui:95 ui/preferences-window.ui:118 #: ui/help-overlay.ui:95 ui/preferences-window.ui:119
msgid "Playback" msgid "Playback"
msgstr "播放" msgstr "播放"
@@ -181,183 +182,203 @@ msgstr "解码器"
msgid "Return to the preferences" msgid "Return to the preferences"
msgstr "返回首选项" msgstr "返回首选项"
#: ui/preferences-window.ui:15 #: ui/preferences-window.ui:16
msgid "Behavior" msgid "Behavior"
msgstr "行为" msgstr "行为"
#: ui/preferences-window.ui:18 #: ui/preferences-window.ui:19
msgid "Auto fullscreen" msgid "Auto fullscreen"
msgstr "自动全屏" msgstr "自动全屏"
#: ui/preferences-window.ui:19 #: ui/preferences-window.ui:20
msgid "Enter fullscreen when playlist is replaced except floating mode" msgid "Enter fullscreen when playlist is replaced except floating mode"
msgstr "" msgstr ""
#: ui/preferences-window.ui:25 #: ui/preferences-window.ui:26
msgid "Ask to resume recent media" msgid "Ask to resume recent media"
msgstr "" msgstr ""
#: ui/preferences-window.ui:31 #: ui/preferences-window.ui:32
msgid "Float on all workspaces" msgid "Float on all workspaces"
msgstr "" msgstr ""
#: ui/preferences-window.ui:32 #: ui/preferences-window.ui:33
msgid "This option only works on GNOME" msgid "This option only works on GNOME"
msgstr "此选项仅适用于 GNOME" msgstr "此选项仅适用于 GNOME"
#: ui/preferences-window.ui:38 #: ui/preferences-window.ui:39
msgid "After playback" msgid "After playback"
msgstr "播放结束后" msgstr "播放结束后"
#: ui/preferences-window.ui:43 #: ui/preferences-window.ui:44
msgid "Do nothing" msgid "Do nothing"
msgstr "不执行任何操作" msgstr "不执行任何操作"
#: ui/preferences-window.ui:44 #: ui/preferences-window.ui:45
msgid "Freeze last frame" msgid "Freeze last frame"
msgstr "停留在最后一帧" msgstr "停留在最后一帧"
#: ui/preferences-window.ui:45 #: ui/preferences-window.ui:46
msgid "Close the app" msgid "Close the app"
msgstr "关闭应用程序" msgstr "关闭应用程序"
#: ui/preferences-window.ui:55 #: ui/preferences-window.ui:56
msgid "Volume" msgid "Volume"
msgstr "音量" msgstr "音量"
#: ui/preferences-window.ui:58 #: ui/preferences-window.ui:59
msgid "Custom initial value" msgid "Custom initial value"
msgstr "自定义初始值" msgstr "自定义初始值"
#: ui/preferences-window.ui:59 #: ui/preferences-window.ui:60
msgid "Set custom volume at startup instead of restoring it" msgid "Set custom volume at startup instead of restoring it"
msgstr "" msgstr ""
#: ui/preferences-window.ui:63 #: ui/preferences-window.ui:64
msgid "Volume percentage" msgid "Volume percentage"
msgstr "音量百分比" msgstr "音量百分比"
#: ui/preferences-window.ui:74 #: ui/preferences-window.ui:75
msgid "Seeking" msgid "Seeking"
msgstr "定位播放" msgstr "定位播放"
#: ui/preferences-window.ui:77 #: ui/preferences-window.ui:78
msgid "Mode" msgid "Mode"
msgstr "模式" msgstr "模式"
#: ui/preferences-window.ui:83 #: ui/preferences-window.ui:84
msgid "Accurate" msgid "Accurate"
msgstr "精确" msgstr "精确"
#: ui/preferences-window.ui:84 #: ui/preferences-window.ui:85
msgid "Fast" msgid "Fast"
msgstr "快速" msgstr "快速"
#: ui/preferences-window.ui:92 #: ui/preferences-window.ui:93
msgid "Unit" msgid "Unit"
msgstr "单位" msgstr "单位"
#: ui/preferences-window.ui:97 #: ui/preferences-window.ui:98
msgid "Second" msgid "Second"
msgstr "秒钟" msgstr "秒钟"
#: ui/preferences-window.ui:98 #: ui/preferences-window.ui:99
msgid "Minute" msgid "Minute"
msgstr "分钟" msgstr "分钟"
#: ui/preferences-window.ui:99 #: ui/preferences-window.ui:100
msgid "Percentage" msgid "Percentage"
msgstr "百分比" msgstr "百分比"
#: ui/preferences-window.ui:107 #: ui/preferences-window.ui:108
msgid "Value" msgid "Value"
msgstr "值" msgstr "值"
#: ui/preferences-window.ui:122 #: ui/preferences-window.ui:123
msgid "Audio" msgid "Audio"
msgstr "音频" msgstr "音频"
#: ui/preferences-window.ui:125 #: ui/preferences-window.ui:126
msgid "Offset in milliseconds" msgid "Offset in milliseconds"
msgstr "" msgstr ""
#: ui/preferences-window.ui:132 #: ui/preferences-window.ui:133
msgid "Only native audio formats" msgid "Only native audio formats"
msgstr "" msgstr ""
#: ui/preferences-window.ui:140 #: ui/preferences-window.ui:141
msgid "Subtitles" msgid "Subtitles"
msgstr "字幕" msgstr "字幕"
#: ui/preferences-window.ui:143 #: ui/preferences-window.ui:144
msgid "Default font" msgid "Default font"
msgstr "默认字体" msgstr "默认字体"
#: ui/preferences-window.ui:153 #: ui/preferences-window.ui:154
msgid "Network" msgid "Network"
msgstr "网络" msgstr "网络"
#: ui/preferences-window.ui:157 #: ui/preferences-window.ui:158
msgid "Client" msgid "Client"
msgstr "客户端" msgstr "客户端"
#: ui/preferences-window.ui:160 #: ui/preferences-window.ui:161
msgid "Progressive download buffering" msgid "Progressive download buffering"
msgstr "" msgstr ""
#: ui/preferences-window.ui:168 #: ui/preferences-window.ui:169
msgid "Server" msgid "Server"
msgstr "服务器" msgstr "服务器"
#: ui/preferences-window.ui:171 #: ui/preferences-window.ui:172
msgid "Control player remotely" msgid "Control player remotely"
msgstr "远程控制播放器" msgstr "远程控制播放器"
#: ui/preferences-window.ui:175 #: ui/preferences-window.ui:176
msgid "Listening port" msgid "Listening port"
msgstr "监听端口" msgstr "监听端口"
#: ui/preferences-window.ui:188 #: ui/preferences-window.ui:183
msgid "Run web application in background"
msgstr ""
#: ui/preferences-window.ui:184
msgid "Requires GTK compiled with Broadway backend"
msgstr ""
#: ui/preferences-window.ui:190
msgid "Web application port"
msgstr "Web 应用程序端口"
#: ui/preferences-window.ui:204
msgid "Prefer adaptive streaming"
msgstr ""
#: ui/preferences-window.ui:210
msgid "Max quality"
msgstr ""
#: ui/preferences-window.ui:228
msgid "Tweaks" msgid "Tweaks"
msgstr "调整" msgstr "调整"
#: ui/preferences-window.ui:192 #: ui/preferences-window.ui:232
msgid "Appearance" msgid "Appearance"
msgstr "界面" msgstr "界面"
#: ui/preferences-window.ui:195 #: ui/preferences-window.ui:235
msgid "Dark theme" msgid "Dark theme"
msgstr "暗色主题" msgstr "暗色主题"
#: ui/preferences-window.ui:201 #: ui/preferences-window.ui:241
msgid "Render window shadows" msgid "Render window shadows"
msgstr "渲染窗口阴影" msgstr "渲染窗口阴影"
#: ui/preferences-window.ui:202 #: ui/preferences-window.ui:242
msgid "Disable to increase performance when windowed" msgid "Disable to increase performance when windowed"
msgstr "" msgstr ""
#: ui/preferences-window.ui:213 #: ui/preferences-window.ui:253
msgid "Plugin ranking" msgid "Plugin ranking"
msgstr "" msgstr ""
#: ui/preferences-window.ui:214 #: ui/preferences-window.ui:254
msgid "Alter default ranks of GStreamer plugins" msgid "Alter default ranks of GStreamer plugins"
msgstr "" msgstr ""
#: ui/preferences-window.ui:219 #: ui/preferences-window.ui:259
msgid "Use playbin3" msgid "Use playbin3"
msgstr "使用 playbin3" msgstr "使用 playbin3"
#: ui/preferences-window.ui:220 ui/preferences-window.ui:229 #: ui/preferences-window.ui:260 ui/preferences-window.ui:269
msgid "Requires player restart" msgid "Requires player restart"
msgstr "需要重启播放器" msgstr "需要重启播放器"
#: ui/preferences-window.ui:222 ui/preferences-window.ui:231 #: ui/preferences-window.ui:262 ui/preferences-window.ui:271
msgid "Experimental" msgid "Experimental"
msgstr "实验性功能" msgstr "实验性功能"
#: ui/preferences-window.ui:228 #: ui/preferences-window.ui:268
msgid "Use PipeWire for audio output" msgid "Use PipeWire for audio output"
msgstr "使用 PipeWire 输出音频" msgstr "使用 PipeWire 输出音频"
@@ -424,15 +445,15 @@ msgstr "刘韬"
msgid "Ends at: %s" msgid "Ends at: %s"
msgstr "结束于:%s" msgstr "结束于:%s"
#: src/widget.js:226 src/widget.js:235 src/widget.js:241 src/widget.js:247 #: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined" msgid "Undetermined"
msgstr "" msgstr ""
#: src/widget.js:242 #: src/widget.js:243
msgid "Channels" msgid "Channels"
msgstr "声道" msgstr "声道"
#: src/widget.js:260 #: src/widget.js:261
msgid "Disabled" msgid "Disabled"
msgstr "禁用" msgstr "禁用"

View File

@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: clapper\n" "Project-Id-Version: clapper\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-26 18:41+0200\n" "POT-Creation-Date: 2021-09-14 16:35+0200\n"
"PO-Revision-Date: 2022-05-26 16:50\n" "PO-Revision-Date: 2021-09-14 15:24\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Chinese Traditional\n" "Language-Team: Chinese Traditional\n"
"Language: zh_TW\n" "Language: zh_TW\n"
@@ -41,11 +41,12 @@ msgstr ""
msgid "Speed" msgid "Speed"
msgstr "" msgstr ""
#: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:82 #: ui/elapsed-time-button.ui:41 ui/preferences-window.ui:83
#: ui/preferences-window.ui:215
msgid "Normal" msgid "Normal"
msgstr "" msgstr ""
#: ui/help-overlay.ui:10 ui/preferences-window.ui:11 #: ui/help-overlay.ui:10 ui/preferences-window.ui:12
msgid "General" msgid "General"
msgstr "" msgstr ""
@@ -117,7 +118,7 @@ msgstr ""
msgid "Export to file" msgid "Export to file"
msgstr "" msgstr ""
#: ui/help-overlay.ui:95 ui/preferences-window.ui:118 #: ui/help-overlay.ui:95 ui/preferences-window.ui:119
msgid "Playback" msgid "Playback"
msgstr "" msgstr ""
@@ -181,183 +182,203 @@ msgstr ""
msgid "Return to the preferences" msgid "Return to the preferences"
msgstr "" msgstr ""
#: ui/preferences-window.ui:15 #: ui/preferences-window.ui:16
msgid "Behavior" msgid "Behavior"
msgstr "" msgstr ""
#: ui/preferences-window.ui:18 #: ui/preferences-window.ui:19
msgid "Auto fullscreen" msgid "Auto fullscreen"
msgstr "" msgstr ""
#: ui/preferences-window.ui:19 #: ui/preferences-window.ui:20
msgid "Enter fullscreen when playlist is replaced except floating mode" msgid "Enter fullscreen when playlist is replaced except floating mode"
msgstr "" msgstr ""
#: ui/preferences-window.ui:25 #: ui/preferences-window.ui:26
msgid "Ask to resume recent media" msgid "Ask to resume recent media"
msgstr "" msgstr ""
#: ui/preferences-window.ui:31 #: ui/preferences-window.ui:32
msgid "Float on all workspaces" msgid "Float on all workspaces"
msgstr "" msgstr ""
#: ui/preferences-window.ui:32 #: ui/preferences-window.ui:33
msgid "This option only works on GNOME" msgid "This option only works on GNOME"
msgstr "" msgstr ""
#: ui/preferences-window.ui:38 #: ui/preferences-window.ui:39
msgid "After playback" msgid "After playback"
msgstr "" msgstr ""
#: ui/preferences-window.ui:43 #: ui/preferences-window.ui:44
msgid "Do nothing" msgid "Do nothing"
msgstr "" msgstr ""
#: ui/preferences-window.ui:44 #: ui/preferences-window.ui:45
msgid "Freeze last frame" msgid "Freeze last frame"
msgstr "" msgstr ""
#: ui/preferences-window.ui:45 #: ui/preferences-window.ui:46
msgid "Close the app" msgid "Close the app"
msgstr "" msgstr ""
#: ui/preferences-window.ui:55 #: ui/preferences-window.ui:56
msgid "Volume" msgid "Volume"
msgstr "" msgstr ""
#: ui/preferences-window.ui:58 #: ui/preferences-window.ui:59
msgid "Custom initial value" msgid "Custom initial value"
msgstr "" msgstr ""
#: ui/preferences-window.ui:59 #: ui/preferences-window.ui:60
msgid "Set custom volume at startup instead of restoring it" msgid "Set custom volume at startup instead of restoring it"
msgstr "" msgstr ""
#: ui/preferences-window.ui:63 #: ui/preferences-window.ui:64
msgid "Volume percentage" msgid "Volume percentage"
msgstr "" msgstr ""
#: ui/preferences-window.ui:74 #: ui/preferences-window.ui:75
msgid "Seeking" msgid "Seeking"
msgstr "" msgstr ""
#: ui/preferences-window.ui:77 #: ui/preferences-window.ui:78
msgid "Mode" msgid "Mode"
msgstr "" msgstr ""
#: ui/preferences-window.ui:83 #: ui/preferences-window.ui:84
msgid "Accurate" msgid "Accurate"
msgstr "" msgstr ""
#: ui/preferences-window.ui:84 #: ui/preferences-window.ui:85
msgid "Fast" msgid "Fast"
msgstr "" msgstr ""
#: ui/preferences-window.ui:92 #: ui/preferences-window.ui:93
msgid "Unit" msgid "Unit"
msgstr "" msgstr ""
#: ui/preferences-window.ui:97 #: ui/preferences-window.ui:98
msgid "Second" msgid "Second"
msgstr "" msgstr ""
#: ui/preferences-window.ui:98 #: ui/preferences-window.ui:99
msgid "Minute" msgid "Minute"
msgstr "" msgstr ""
#: ui/preferences-window.ui:99 #: ui/preferences-window.ui:100
msgid "Percentage" msgid "Percentage"
msgstr "" msgstr ""
#: ui/preferences-window.ui:107 #: ui/preferences-window.ui:108
msgid "Value" msgid "Value"
msgstr "" msgstr ""
#: ui/preferences-window.ui:122 #: ui/preferences-window.ui:123
msgid "Audio" msgid "Audio"
msgstr "" msgstr ""
#: ui/preferences-window.ui:125 #: ui/preferences-window.ui:126
msgid "Offset in milliseconds" msgid "Offset in milliseconds"
msgstr "" msgstr ""
#: ui/preferences-window.ui:132 #: ui/preferences-window.ui:133
msgid "Only native audio formats" msgid "Only native audio formats"
msgstr "" msgstr ""
#: ui/preferences-window.ui:140 #: ui/preferences-window.ui:141
msgid "Subtitles" msgid "Subtitles"
msgstr "" msgstr ""
#: ui/preferences-window.ui:143 #: ui/preferences-window.ui:144
msgid "Default font" msgid "Default font"
msgstr "" msgstr ""
#: ui/preferences-window.ui:153 #: ui/preferences-window.ui:154
msgid "Network" msgid "Network"
msgstr "" msgstr ""
#: ui/preferences-window.ui:157 #: ui/preferences-window.ui:158
msgid "Client" msgid "Client"
msgstr "" msgstr ""
#: ui/preferences-window.ui:160 #: ui/preferences-window.ui:161
msgid "Progressive download buffering" msgid "Progressive download buffering"
msgstr "" msgstr ""
#: ui/preferences-window.ui:168 #: ui/preferences-window.ui:169
msgid "Server" msgid "Server"
msgstr "" msgstr ""
#: ui/preferences-window.ui:171 #: ui/preferences-window.ui:172
msgid "Control player remotely" msgid "Control player remotely"
msgstr "" msgstr ""
#: ui/preferences-window.ui:175 #: ui/preferences-window.ui:176
msgid "Listening port" msgid "Listening port"
msgstr "" msgstr ""
#: ui/preferences-window.ui:188 #: ui/preferences-window.ui:183
msgid "Tweaks" msgid "Run web application in background"
msgstr "" msgstr ""
#: ui/preferences-window.ui:192 #: ui/preferences-window.ui:184
msgid "Appearance" msgid "Requires GTK compiled with Broadway backend"
msgstr "" msgstr ""
#: ui/preferences-window.ui:195 #: ui/preferences-window.ui:190
msgid "Dark theme" msgid "Web application port"
msgstr "" msgstr ""
#: ui/preferences-window.ui:201 #: ui/preferences-window.ui:204
msgid "Render window shadows" msgid "Prefer adaptive streaming"
msgstr "" msgstr ""
#: ui/preferences-window.ui:202 #: ui/preferences-window.ui:210
msgid "Disable to increase performance when windowed" msgid "Max quality"
msgstr ""
#: ui/preferences-window.ui:213
msgid "Plugin ranking"
msgstr ""
#: ui/preferences-window.ui:214
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: ui/preferences-window.ui:219
msgid "Use playbin3"
msgstr ""
#: ui/preferences-window.ui:220 ui/preferences-window.ui:229
msgid "Requires player restart"
msgstr ""
#: ui/preferences-window.ui:222 ui/preferences-window.ui:231
msgid "Experimental"
msgstr "" msgstr ""
#: ui/preferences-window.ui:228 #: ui/preferences-window.ui:228
msgid "Tweaks"
msgstr ""
#: ui/preferences-window.ui:232
msgid "Appearance"
msgstr ""
#: ui/preferences-window.ui:235
msgid "Dark theme"
msgstr ""
#: ui/preferences-window.ui:241
msgid "Render window shadows"
msgstr ""
#: ui/preferences-window.ui:242
msgid "Disable to increase performance when windowed"
msgstr ""
#: ui/preferences-window.ui:253
msgid "Plugin ranking"
msgstr ""
#: ui/preferences-window.ui:254
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: ui/preferences-window.ui:259
msgid "Use playbin3"
msgstr ""
#: ui/preferences-window.ui:260 ui/preferences-window.ui:269
msgid "Requires player restart"
msgstr ""
#: ui/preferences-window.ui:262 ui/preferences-window.ui:271
msgid "Experimental"
msgstr ""
#: ui/preferences-window.ui:268
msgid "Use PipeWire for audio output" msgid "Use PipeWire for audio output"
msgstr "" msgstr ""
@@ -424,15 +445,15 @@ msgstr ""
msgid "Ends at: %s" msgid "Ends at: %s"
msgstr "" msgstr ""
#: src/widget.js:226 src/widget.js:235 src/widget.js:241 src/widget.js:247 #: src/widget.js:227 src/widget.js:236 src/widget.js:242 src/widget.js:248
msgid "Undetermined" msgid "Undetermined"
msgstr "" msgstr ""
#: src/widget.js:242 #: src/widget.js:243
msgid "Channels" msgid "Channels"
msgstr "" msgstr ""
#: src/widget.js:260 #: src/widget.js:261
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""

View File

@@ -1,92 +1,27 @@
const { Gio, GObject, Gtk } = imports.gi; const { Gio, GObject, Gdk, Gtk } = imports.gi;
const { AppBase } = imports.src.appBase;
const { Widget } = imports.src.widget; const { Widget } = imports.src.widget;
const Debug = imports.src.debug; const Debug = imports.src.debug;
const FileOps = imports.src.fileOps;
const Misc = imports.src.misc;
const Actions = imports.src.actions;
const { debug } = Debug; const { debug } = Debug;
const { settings } = Misc;
var App = GObject.registerClass({ var App = GObject.registerClass({
GTypeName: 'ClapperApp', GTypeName: 'ClapperApp',
}, },
class ClapperApp extends Gtk.Application class ClapperApp extends AppBase
{ {
_init() _init()
{ {
super._init({ super._init();
application_id: Misc.appId,
flags: Gio.ApplicationFlags.HANDLES_OPEN,
});
this.doneFirstActivate = false; this.flags |= Gio.ApplicationFlags.HANDLES_OPEN;
this.isFileAppend = false;
this.mapSignal = null;
} }
vfunc_open(files, hint) vfunc_startup()
{ {
super.vfunc_open(files, hint); super.vfunc_startup();
this.activate();
this._openFilesAsync(files).catch(debug);
}
vfunc_activate()
{
super.vfunc_activate();
if(!this.doneFirstActivate)
this._onFirstActivate();
this.active_window.present();
}
async _openFilesAsync(files)
{
const urisArr = [];
for(let file of files) {
const uri = file.get_uri();
if(!uri.startsWith('file:')) {
urisArr.push(uri);
continue;
}
/* If file is not a dir its URI will be returned in an array */
const uris = await FileOps.getDirFilesUrisPromise(file).catch(debug);
if(uris && uris.length)
urisArr.push(...uris);
}
const [playlist, subs] = Misc.parsePlaylistFiles(urisArr);
const { player } = this.active_window.get_child();
const action = (this.isFileAppend) ? 'append' : 'set';
if(playlist && playlist.length)
player[`${action}_playlist`](playlist);
if(subs)
player.set_subtitles(subs);
/* Restore default behavior */
this.isFileAppend = false;
}
_onFirstActivate()
{
const window = new Gtk.ApplicationWindow({
application: this,
title: Misc.appName,
});
window.add_css_class('adwrounded');
if(!settings.get_boolean('render-shadows'))
window.add_css_class('gpufriendly');
window.add_css_class('gpufriendlyfs');
const window = this.active_window;
const clapperWidget = new Widget(); const clapperWidget = new Widget();
const dummyHeaderbar = new Gtk.Box({ const dummyHeaderbar = new Gtk.Box({
can_focus: false, can_focus: false,
@@ -98,20 +33,14 @@ class ClapperApp extends Gtk.Application
window.set_child(clapperWidget); window.set_child(clapperWidget);
window.set_titlebar(dummyHeaderbar); window.set_titlebar(dummyHeaderbar);
for(let name in Actions.actions) {
const simpleAction = new Gio.SimpleAction({ name });
simpleAction.connect('activate', (action) =>
Actions.handleAction(action, window)
);
this.add_action(simpleAction);
const accels = Actions.actions[name];
if(accels)
this.set_accels_for_action(`app.${name}`, accels);
}
this.mapSignal = window.connect('map', this._onWindowMap.bind(this)); this.mapSignal = window.connect('map', this._onWindowMap.bind(this));
this.doneFirstActivate = true; }
vfunc_open(files, hint)
{
super.vfunc_open(files, hint);
this._openFilesAsync(files).then(() => this.activate()).catch(debug);
} }
_onWindowMap(window) _onWindowMap(window)

101
src/appBase.js Normal file
View File

@@ -0,0 +1,101 @@
const { Gio, GLib, GObject, Gtk } = imports.gi;
const Debug = imports.src.debug;
const FileOps = imports.src.fileOps;
const Misc = imports.src.misc;
const Actions = imports.src.actions;
const { debug } = Debug;
const { settings } = Misc;
var AppBase = GObject.registerClass({
GTypeName: 'ClapperAppBase',
},
class ClapperAppBase extends Gtk.Application
{
_init()
{
super._init({
application_id: Misc.appId,
});
this.doneFirstActivate = false;
this.isFileAppend = false;
}
vfunc_startup()
{
super.vfunc_startup();
const window = new Gtk.ApplicationWindow({
application: this,
title: Misc.appName,
});
/* FIXME: AFAIK there is no way to detect theme rounded corners.
* Having 2/4 corners rounded in floating mode is not good. */
window.add_css_class('adwrounded');
if(!settings.get_boolean('render-shadows'))
window.add_css_class('gpufriendly');
window.add_css_class('gpufriendlyfs');
}
vfunc_activate()
{
super.vfunc_activate();
if(!this.doneFirstActivate)
this._onFirstActivate();
this.active_window.present_with_time(
Math.floor(GLib.get_monotonic_time() / 1000)
);
}
async _openFilesAsync(files)
{
const urisArr = [];
for(let file of files) {
const uri = file.get_uri();
if(!uri.startsWith('file:')) {
urisArr.push(uri);
continue;
}
/* If file is not a dir its URI will be returned in an array */
const uris = await FileOps.getDirFilesUrisPromise(file).catch(debug);
if(uris && uris.length)
urisArr.push(...uris);
}
const [playlist, subs] = Misc.parsePlaylistFiles(urisArr);
const { player } = this.active_window.get_child();
const action = (this.isFileAppend) ? 'append' : 'set';
if(playlist && playlist.length)
player[`${action}_playlist`](playlist);
if(subs)
player.set_subtitles(subs);
/* Restore default behavior */
this.isFileAppend = false;
}
_onFirstActivate()
{
for(let name in Actions.actions) {
const simpleAction = new Gio.SimpleAction({ name });
simpleAction.connect('activate', (action) =>
Actions.handleAction(action, this.active_window)
);
this.add_action(simpleAction);
const accels = Actions.actions[name];
if(accels)
this.set_accels_for_action(`app.${name}`, accels);
}
this.doneFirstActivate = true;
}
});

View File

@@ -165,7 +165,7 @@ class ClapperElapsedTimeButton extends PopoverButtonBase
setInitialState() setInitialState()
{ {
this.label = `00${Misc.timeColon}0000${Misc.timeColon}00`; this.label = '00000000';
} }
setFullscreenMode(isFullscreen, isMobileMonitor) setFullscreenMode(isFullscreen, isMobileMonitor)

2
src/controls.js vendored
View File

@@ -27,7 +27,7 @@ class ClapperControls extends Gtk.Box
this.isMobile = false; this.isMobile = false;
this.showHours = false; this.showHours = false;
this.durationFormatted = `00${Misc.timeColon}00`; this.durationFormatted = '0000';
this.revealersArr = []; this.revealersArr = [];
this.chapters = null; this.chapters = null;

View File

@@ -1,233 +1,11 @@
const { GObject, Gtk } = imports.gi; const { GObject } = imports.gi;
const Debug = imports.src.debug; const { HeaderBarBase } = imports.src.headerbarBase;
const Misc = imports.src.misc;
const { debug } = Debug;
var HeaderBar = GObject.registerClass({ var HeaderBar = GObject.registerClass({
GTypeName: 'ClapperHeaderBar', GTypeName: 'ClapperHeaderBar',
}, },
class ClapperHeaderBar extends Gtk.Box class ClapperHeaderBar extends HeaderBarBase
{ {
_init()
{
super._init({
can_focus: false,
orientation: Gtk.Orientation.HORIZONTAL,
spacing: 6,
margin_top: 6,
margin_start: 6,
margin_end: 6,
});
this.add_css_class('osdheaderbar');
this.isMaximized = false;
this.isMenuOnLeft = true;
const uiBuilder = Misc.getBuilderForName('clapper.ui');
this.menuWidget = new Gtk.Box({
orientation: Gtk.Orientation.HORIZONTAL,
valign: Gtk.Align.CENTER,
spacing: 6,
});
this.menuButton = new Gtk.MenuButton({
icon_name: 'open-menu-symbolic',
valign: Gtk.Align.CENTER,
can_focus: false,
});
const menuToggleButton = this.menuButton.get_first_child();
menuToggleButton.add_css_class('osd');
const mainMenuModel = uiBuilder.get_object('mainMenu');
const mainMenuPopover = new HeaderBarPopover(mainMenuModel);
this.menuButton.set_popover(mainMenuPopover);
this.menuButton.add_css_class('circular');
this.menuWidget.append(this.menuButton);
this.extraButtonsBox = new Gtk.Box({
orientation: Gtk.Orientation.HORIZONTAL,
valign: Gtk.Align.CENTER,
});
this.extraButtonsBox.add_css_class('linked');
const floatButton = new Gtk.Button({
icon_name: 'pip-in-symbolic',
can_focus: false,
});
floatButton.add_css_class('osd');
floatButton.add_css_class('circular');
floatButton.add_css_class('linkedleft');
floatButton.connect('clicked',
this._onFloatButtonClicked.bind(this)
);
this.extraButtonsBox.append(floatButton);
const separator = new Gtk.Separator({
orientation: Gtk.Orientation.VERTICAL,
});
separator.add_css_class('linkseparator');
this.extraButtonsBox.append(separator);
const fullscreenButton = new Gtk.Button({
icon_name: 'view-fullscreen-symbolic',
can_focus: false,
});
fullscreenButton.add_css_class('osd');
fullscreenButton.add_css_class('circular');
fullscreenButton.add_css_class('linkedright');
fullscreenButton.connect('clicked',
this._onFullscreenButtonClicked.bind(this)
);
this.extraButtonsBox.append(fullscreenButton);
this.menuWidget.append(this.extraButtonsBox);
this.spacerWidget = new Gtk.Box({
hexpand: true,
});
this.minimizeWidget = this._getWindowButton('minimize');
this.maximizeWidget = this._getWindowButton('maximize');
this.closeWidget = this._getWindowButton('close');
const gtkSettings = Gtk.Settings.get_default();
this._onLayoutUpdate(gtkSettings);
gtkSettings.connect(
'notify::gtk-decoration-layout',
this._onLayoutUpdate.bind(this)
);
}
setMenuOnLeft(isOnLeft)
{
if(this.isMenuOnLeft === isOnLeft)
return;
if(isOnLeft) {
this.menuWidget.reorder_child_after(
this.extraButtonsBox, this.menuButton
);
}
else {
this.menuWidget.reorder_child_after(
this.menuButton, this.extraButtonsBox
);
}
this.isMenuOnLeft = isOnLeft;
}
setMaximized(isMaximized)
{
if(this.isMaximized === isMaximized)
return;
this.maximizeWidget.icon_name = (isMaximized)
? 'window-restore-symbolic'
: 'window-maximize-symbolic';
this.isMaximized = isMaximized;
}
_onLayoutUpdate(gtkSettings)
{
const gtkLayout = gtkSettings.gtk_decoration_layout;
this._replaceButtons(gtkLayout);
}
_replaceButtons(gtkLayout)
{
const modLayout = gtkLayout.replace(':', ',spacer,');
const layoutArr = modLayout.split(',');
let lastWidget = null;
let showMinimize = false;
let showMaximize = false;
let showClose = false;
let menuAdded = false;
let spacerAdded = false;
debug(`headerbar layout: ${modLayout}`);
for(let name of layoutArr) {
/* Menu might be named "appmenu" */
if(!menuAdded && (!name || name === 'appmenu' || name === 'icon'))
name = 'menu';
const widget = this[`${name}Widget`];
if(!widget) continue;
if(!widget.parent)
this.append(widget);
else
this.reorder_child_after(widget, lastWidget);
switch(name) {
case 'spacer':
spacerAdded = true;
break;
case 'minimize':
showMinimize = true;
break;
case 'maximize':
showMaximize = true;
break;
case 'close':
showClose = true;
break;
case 'menu':
this.setMenuOnLeft(!spacerAdded);
menuAdded = true;
break;
default:
break;
}
lastWidget = widget;
}
this.minimizeWidget.visible = showMinimize;
this.maximizeWidget.visible = showMaximize;
this.closeWidget.visible = showClose;
}
_getWindowButton(name)
{
const button = new Gtk.Button({
icon_name: `window-${name}-symbolic`,
valign: Gtk.Align.CENTER,
can_focus: false,
});
button.add_css_class('osd');
button.add_css_class('circular');
if(name === 'maximize')
name = 'toggle-maximized';
button.connect('clicked',
this._onWindowButtonActivate.bind(this, name)
);
return button;
}
_updateFloatIcon(isFloating)
{
const floatButton = this.extraButtonsBox.get_first_child();
if(!floatButton) return;
const iconName = (isFloating)
? 'pip-out-symbolic'
: 'pip-in-symbolic';
if(floatButton.icon_name !== iconName)
floatButton.icon_name = iconName;
}
_onWindowButtonActivate(action) _onWindowButtonActivate(action)
{ {
this.activate_action(`window.${action}`, null); this.activate_action(`window.${action}`, null);
@@ -251,49 +29,3 @@ class ClapperHeaderBar extends Gtk.Box
this.root.fullscreen(); this.root.fullscreen();
} }
}); });
var HeaderBarPopover = GObject.registerClass({
GTypeName: 'ClapperHeaderBarPopover',
},
class ClapperHeaderBarPopover extends Gtk.PopoverMenu
{
_init(model)
{
super._init({
menu_model: model,
});
this.connect('map', this._onMap.bind(this));
this.connect('closed', this._onClosed.bind(this));
}
_onMap()
{
const { child } = this.root;
if(
!child
|| !child.player
|| !child.player.widget
)
return;
child.revealControls();
child.isPopoverOpen = true;
}
_onClosed()
{
const { child } = this.root;
if(
!child
|| !child.player
|| !child.player.widget
)
return;
child.revealControls();
child.isPopoverOpen = false;
}
});

288
src/headerbarBase.js Normal file
View File

@@ -0,0 +1,288 @@
const { GObject, Gtk } = imports.gi;
const Debug = imports.src.debug;
const Misc = imports.src.misc;
const { debug } = Debug;
var HeaderBarBase = GObject.registerClass({
GTypeName: 'ClapperHeaderBarBase',
},
class ClapperHeaderBarBase extends Gtk.Box
{
_init()
{
super._init({
can_focus: false,
orientation: Gtk.Orientation.HORIZONTAL,
spacing: 6,
margin_top: 6,
margin_start: 6,
margin_end: 6,
});
this.add_css_class('osdheaderbar');
this.isMaximized = false;
this.isMenuOnLeft = true;
const uiBuilder = Misc.getBuilderForName('clapper.ui');
this.menuWidget = new Gtk.Box({
orientation: Gtk.Orientation.HORIZONTAL,
valign: Gtk.Align.CENTER,
spacing: 6,
});
this.menuButton = new Gtk.MenuButton({
icon_name: 'open-menu-symbolic',
valign: Gtk.Align.CENTER,
can_focus: false,
});
const menuToggleButton = this.menuButton.get_first_child();
menuToggleButton.add_css_class('osd');
const mainMenuModel = uiBuilder.get_object('mainMenu');
const mainMenuPopover = new HeaderBarPopover(mainMenuModel);
this.menuButton.set_popover(mainMenuPopover);
this.menuButton.add_css_class('circular');
this.menuWidget.append(this.menuButton);
this.extraButtonsBox = new Gtk.Box({
orientation: Gtk.Orientation.HORIZONTAL,
valign: Gtk.Align.CENTER,
});
this.extraButtonsBox.add_css_class('linked');
const floatButton = new Gtk.Button({
icon_name: 'pip-in-symbolic',
can_focus: false,
});
floatButton.add_css_class('osd');
floatButton.add_css_class('circular');
floatButton.add_css_class('linkedleft');
floatButton.connect('clicked',
this._onFloatButtonClicked.bind(this)
);
this.extraButtonsBox.append(floatButton);
const separator = new Gtk.Separator({
orientation: Gtk.Orientation.VERTICAL,
});
separator.add_css_class('linkseparator');
this.extraButtonsBox.append(separator);
const fullscreenButton = new Gtk.Button({
icon_name: 'view-fullscreen-symbolic',
can_focus: false,
});
fullscreenButton.add_css_class('osd');
fullscreenButton.add_css_class('circular');
fullscreenButton.add_css_class('linkedright');
fullscreenButton.connect('clicked',
this._onFullscreenButtonClicked.bind(this)
);
this.extraButtonsBox.append(fullscreenButton);
this.menuWidget.append(this.extraButtonsBox);
this.spacerWidget = new Gtk.Box({
hexpand: true,
});
this.minimizeWidget = this._getWindowButton('minimize');
this.maximizeWidget = this._getWindowButton('maximize');
this.closeWidget = this._getWindowButton('close');
const gtkSettings = Gtk.Settings.get_default();
this._onLayoutUpdate(gtkSettings);
gtkSettings.connect(
'notify::gtk-decoration-layout',
this._onLayoutUpdate.bind(this)
);
}
setMenuOnLeft(isOnLeft)
{
if(this.isMenuOnLeft === isOnLeft)
return;
if(isOnLeft) {
this.menuWidget.reorder_child_after(
this.extraButtonsBox, this.menuButton
);
}
else {
this.menuWidget.reorder_child_after(
this.menuButton, this.extraButtonsBox
);
}
this.isMenuOnLeft = isOnLeft;
}
setMaximized(isMaximized)
{
if(this.isMaximized === isMaximized)
return;
this.maximizeWidget.icon_name = (isMaximized)
? 'window-restore-symbolic'
: 'window-maximize-symbolic';
this.isMaximized = isMaximized;
}
_onLayoutUpdate(gtkSettings)
{
const gtkLayout = gtkSettings.gtk_decoration_layout;
this._replaceButtons(gtkLayout);
}
_replaceButtons(gtkLayout)
{
const modLayout = gtkLayout.replace(':', ',spacer,');
const layoutArr = modLayout.split(',');
let lastWidget = null;
let showMinimize = false;
let showMaximize = false;
let showClose = false;
let menuAdded = false;
let spacerAdded = false;
debug(`headerbar layout: ${modLayout}`);
for(let name of layoutArr) {
/* Menu might be named "appmenu" */
if(!menuAdded && (!name || name === 'appmenu' || name === 'icon'))
name = 'menu';
const widget = this[`${name}Widget`];
if(!widget) continue;
if(!widget.parent)
this.append(widget);
else
this.reorder_child_after(widget, lastWidget);
switch(name) {
case 'spacer':
spacerAdded = true;
break;
case 'minimize':
showMinimize = true;
break;
case 'maximize':
showMaximize = true;
break;
case 'close':
showClose = true;
break;
case 'menu':
this.setMenuOnLeft(!spacerAdded);
menuAdded = true;
break;
default:
break;
}
lastWidget = widget;
}
this.minimizeWidget.visible = showMinimize;
this.maximizeWidget.visible = showMaximize;
this.closeWidget.visible = showClose;
}
_getWindowButton(name)
{
const button = new Gtk.Button({
icon_name: `window-${name}-symbolic`,
valign: Gtk.Align.CENTER,
can_focus: false,
});
button.add_css_class('osd');
button.add_css_class('circular');
if(name === 'maximize')
name = 'toggle-maximized';
button.connect('clicked',
this._onWindowButtonActivate.bind(this, name)
);
return button;
}
_updateFloatIcon(isFloating)
{
const floatButton = this.extraButtonsBox.get_first_child();
if(!floatButton) return;
const iconName = (isFloating)
? 'pip-out-symbolic'
: 'pip-in-symbolic';
if(floatButton.icon_name !== iconName)
floatButton.icon_name = iconName;
}
_onWindowButtonActivate(action)
{
}
_onFloatButtonClicked(button)
{
}
_onFullscreenButtonClicked(button)
{
}
});
var HeaderBarPopover = GObject.registerClass({
GTypeName: 'ClapperHeaderBarPopover',
},
class ClapperHeaderBarPopover extends Gtk.PopoverMenu
{
_init(model)
{
super._init({
menu_model: model,
});
this.connect('map', this._onMap.bind(this));
this.connect('closed', this._onClosed.bind(this));
}
_onMap()
{
const { child } = this.root;
if(
!child
|| !child.player
|| !child.player.widget
)
return;
child.revealControls();
child.isPopoverOpen = true;
}
_onClosed()
{
const { child } = this.root;
if(
!child
|| !child.player
|| !child.player.widget
)
return;
child.revealControls();
child.isPopoverOpen = false;
}
});

View File

@@ -10,7 +10,6 @@ Debug.debug('imports');
const { GstClapper, Gtk, Adw } = imports.gi; const { GstClapper, Gtk, Adw } = imports.gi;
const { App } = imports.src.app; const { App } = imports.src.app;
const Misc = imports.src.misc;
function main(argv) function main(argv)
{ {
@@ -20,10 +19,6 @@ function main(argv)
Gtk.init(); Gtk.init();
Adw.init(); Adw.init();
/* U+2236 seems to break RTL languages, use U+003A instead */
if(Gtk.Widget.get_default_direction() === Gtk.TextDirection.RTL)
Misc.timeColon = ':';
Debug.debug('initialized'); Debug.debug('initialized');
new App().run(argv); new App().run(argv);

View File

@@ -9,7 +9,6 @@ var subsMimes = [
'application/x-subrip', 'application/x-subrip',
'text/x-ssa', 'text/x-ssa',
]; ];
var timeColon = '';
var settings = new Gio.Settings({ var settings = new Gio.Settings({
schema_id: appId, schema_id: appId,
@@ -162,8 +161,8 @@ function getFormattedTime(time, showHours)
time -= minutes * 60; time -= minutes * 60;
const seconds = ('0' + Math.floor(time)).slice(-2); const seconds = ('0' + Math.floor(time)).slice(-2);
const parsed = (hours) ? `${hours}${timeColon}` : ''; const parsed = (hours) ? `${hours}` : '';
return parsed + `${minutes}${timeColon}${seconds}`; return parsed + `${minutes}${seconds}`;
} }
function parsePlaylistFiles(filesArray) function parsePlaylistFiles(filesArray)

View File

@@ -66,6 +66,7 @@ class ClapperPlayer extends GstClapper.Clapper
this.needsTocUpdate = true; this.needsTocUpdate = true;
this.set_all_plugins_ranks(); this.set_all_plugins_ranks();
this.set_initial_config();
this.set_and_bind_settings(); this.set_and_bind_settings();
this.connect('state-changed', this._onStateChanged.bind(this)); this.connect('state-changed', this._onStateChanged.bind(this));
@@ -97,6 +98,13 @@ class ClapperPlayer extends GstClapper.Clapper
settings.bind('subtitle-font', this.pipeline, 'subtitle-font-desc', flag); settings.bind('subtitle-font', this.pipeline, 'subtitle-font-desc', flag);
} }
set_initial_config()
{
/* FIXME: change into option in preferences */
const pipeline = this.get_pipeline();
pipeline.ring_buffer_max_size = 8 * 1024 * 1024;
}
set_all_plugins_ranks() set_all_plugins_ranks()
{ {
let data = {}; let data = {};

View File

@@ -59,8 +59,8 @@ class ClapperRevealerTop extends CustomRevealer
const initTime = GLib.DateTime.new_now_local().format('%X'); const initTime = GLib.DateTime.new_now_local().format('%X');
this.timeFormat = (initTime.length > 8) this.timeFormat = (initTime.length > 8)
? `%I${Misc.timeColon}%M %p` ? '%I%M %p'
: `%H${Misc.timeColon}%M`; : '%H%M';
this.mediaTitle = new Gtk.Label({ this.mediaTitle = new Gtk.Label({
ellipsize: Pango.EllipsizeMode.END, ellipsize: Pango.EllipsizeMode.END,