Skip to content
Commits on Source (76)
#!/usr/bin/bash
#!/bin/bash
fetch() {
local remote=$1
......
#!/usr/bin/bash
#!/bin/bash
# We need a coverity token to fetch the tarball
if [ -x $COVERITY_TOKEN ]
......
44.1
====
* Fall back to the default, not the unknown color space [Sebastian W.; !2915]
* Fix resizing windows via keyboard [Florian; !2908]
* Fix possible screen freeze after resume with multiple monitors [Daniel; !2933]
* Fix anchor position when dragging window [Carlos; !2942]
* Fix applying XSettings to decorations on X11 [Marco; !2948]
* Allow clipped redraws for headless backend [Salman; !2775]
* Improve screencast support [Georges; !2804]
* Fix focus-on-click for server-side decorated windows [Carlos; !2954]
* Fix initial fullscreen state of server-side decorated windows [Carlos; !2961]
* Fix feedback loop triggering bursts of excessive CPU load [Robert; !2823]
* Enable modifiers by default on non-native backend [Robert; !2972]
* Check EDID for supported sink Colorimetry [Sebastian W.; !2919]
* Fix artifacts in titlebars on some hardware [Carlos; !2976]
* Fix map transitions for X11 windows on wayland [Carlos; !2975]
* Fixed crashes [Jonas Å., Sebastian K., Carlos, Michel, Daniel, Robert;
!2932, !2930, !2945, !2956, !2962, !2968, !2967, !2960, !2963]
* Plugged leaks [Sebastian K., Jonas Å.; !2922, !2926, !2957]
* Misc. bug fixes and cleanups [Daniel, Ivan, Emmanuele, Simon, Jonas D.,
Jonas Å., Chris, Florian, Corentin, msizanoen1, Sebastian K.; !2918, !2904,
!2928, !2929, !2900, !2856, !2944, !2935, !2947, !2949, !2951, !2940, !2953,
!2964, !2934, !2902, !2971]
Contributors:
Jonas Ådahl, Emmanuele Bassi, Michel Dänzer, Jonas Dreßler, Carlos Garnacho,
Sebastian Keller, Robert Mader, Chris Mayo, Simon McVittie, Ivan Molodetskikh,
msizanoen1, Florian Müllner, Georges Basile Stavracas Neto, Corentin Noël,
Salman, Marco Trevisan (Treviño), Daniel van Vugt, Sebastian Wick
Translators:
Boyuan Yang [zh_CN], Ngọc Quân Trần [vi], Nathan Follens [nl]
44.0
====
* Fix state confusion and delay on startup [Carlos; !2906]
......
......@@ -688,7 +688,7 @@ clutter_backend_get_input_method (ClutterBackend *backend)
/**
* clutter_backend_set_input_method:
* @backend: the #ClutterBackend
* @method: the input method
* @method: (nullable): the input method
*
* Sets the input method to be used by Clutter
**/
......@@ -696,6 +696,12 @@ void
clutter_backend_set_input_method (ClutterBackend *backend,
ClutterInputMethod *method)
{
if (backend->input_method == method)
return;
if (backend->input_method)
clutter_input_method_focus_out (backend->input_method);
g_set_object (&backend->input_method, method);
}
......
......@@ -79,6 +79,7 @@ struct _ClutterFrameClock
gboolean is_next_presentation_time_valid;
int64_t next_presentation_time_us;
int64_t min_render_time_allowed_us;
/* Buffer must be submitted to KMS and GPU rendering must be finished
* this amount of time before the next presentation time.
......@@ -466,7 +467,8 @@ clutter_frame_clock_compute_max_render_time_us (ClutterFrameClock *frame_clock)
static void
calculate_next_update_time_us (ClutterFrameClock *frame_clock,
int64_t *out_next_update_time_us,
int64_t *out_next_presentation_time_us)
int64_t *out_next_presentation_time_us,
int64_t *out_min_render_time_allowed_us)
{
int64_t last_presentation_time_us;
int64_t now_us;
......@@ -489,6 +491,7 @@ calculate_next_update_time_us (ClutterFrameClock *frame_clock,
now_us;
*out_next_presentation_time_us = 0;
*out_min_render_time_allowed_us = 0;
return;
}
......@@ -613,6 +616,7 @@ calculate_next_update_time_us (ClutterFrameClock *frame_clock,
*out_next_update_time_us = next_update_time_us;
*out_next_presentation_time_us = next_presentation_time_us;
*out_min_render_time_allowed_us = min_render_time_allowed_us;
}
void
......@@ -704,7 +708,8 @@ clutter_frame_clock_schedule_update (ClutterFrameClock *frame_clock)
case CLUTTER_FRAME_CLOCK_STATE_IDLE:
calculate_next_update_time_us (frame_clock,
&next_update_time_us,
&frame_clock->next_presentation_time_us);
&frame_clock->next_presentation_time_us,
&frame_clock->min_render_time_allowed_us);
frame_clock->is_next_presentation_time_valid =
(frame_clock->next_presentation_time_us != 0);
break;
......@@ -775,6 +780,7 @@ clutter_frame_clock_dispatch (ClutterFrameClock *frame_clock,
frame->frame_count = frame_count;
frame->has_target_presentation_time = frame_clock->is_next_presentation_time_valid;
frame->target_presentation_time_us = frame_clock->next_presentation_time_us;
frame->min_render_time_allowed_us = frame_clock->min_render_time_allowed_us;
COGL_TRACE_BEGIN (ClutterFrameClockEvents, "Frame Clock (before frame)");
if (iface->before_frame)
......
......@@ -31,6 +31,7 @@ struct _ClutterFrame
gboolean has_target_presentation_time;
int64_t target_presentation_time_us;
int64_t min_render_time_allowed_us;
gboolean has_result;
ClutterFrameResult result;
......
......@@ -75,6 +75,21 @@ clutter_frame_get_target_presentation_time (ClutterFrame *frame,
}
}
gboolean
clutter_frame_get_min_render_time_allowed (ClutterFrame *frame,
int64_t *min_render_time_allowed_us)
{
if (frame->has_target_presentation_time)
{
*min_render_time_allowed_us = frame->min_render_time_allowed_us;
return TRUE;
}
else
{
return FALSE;
}
}
ClutterFrameResult
clutter_frame_get_result (ClutterFrame *frame)
{
......
......@@ -44,6 +44,10 @@ CLUTTER_EXPORT
gboolean clutter_frame_get_target_presentation_time (ClutterFrame *frame,
int64_t *target_presentation_time_us);
CLUTTER_EXPORT
gboolean clutter_frame_get_min_render_time_allowed (ClutterFrame *frame,
int64_t *min_render_time_allowed_us);
CLUTTER_EXPORT
void clutter_frame_set_result (ClutterFrame *frame,
ClutterFrameResult result);
......
......@@ -33,4 +33,7 @@ CoglFramebuffer * clutter_paint_context_get_base_framebuffer (ClutterPaintContex
const GArray *
clutter_paint_context_get_clip_frusta (ClutterPaintContext *paint_context);
void clutter_paint_context_assign_frame (ClutterPaintContext *paint_context,
ClutterFrame *frame);
#endif /* CLUTTER_PAINT_CONTEXT_PRIVATE_H */
......@@ -18,6 +18,7 @@
#include "clutter-build-config.h"
#include "clutter-paint-context-private.h"
#include "clutter-frame.h"
struct _ClutterPaintContext
{
......@@ -28,6 +29,7 @@ struct _ClutterPaintContext
GList *framebuffers;
ClutterStageView *view;
ClutterFrame *frame;
cairo_region_t *redraw_clip;
GArray *clip_frusta;
......@@ -93,6 +95,7 @@ clutter_paint_context_dispose (ClutterPaintContext *paint_context)
paint_context->framebuffers = NULL;
g_clear_pointer (&paint_context->redraw_clip, cairo_region_destroy);
g_clear_pointer (&paint_context->clip_frusta, g_array_unref);
g_clear_pointer (&paint_context->frame, clutter_frame_unref);
}
void
......@@ -196,3 +199,31 @@ clutter_paint_context_get_paint_flags (ClutterPaintContext *paint_context)
{
return paint_context->paint_flags;
}
void
clutter_paint_context_assign_frame (ClutterPaintContext *paint_context,
ClutterFrame *frame)
{
g_assert (paint_context != NULL);
g_assert (paint_context->frame == NULL);
g_assert (frame != NULL);
paint_context->frame = clutter_frame_ref (frame);
}
/**
* clutter_paint_context_get_frame: (skip)
* @paint_context: The #ClutterPaintContext
*
* Retrieves the #ClutterFrame assigned to @paint_context, if any. A frame is
* only assigned when the paint context is created as part of a frame scheduled
* by the frame clock, and won't be assigned e.g. on offscreen paints.
*
* Returns: (transfer none)(nullable): The #ClutterFrame associated with the
* @paint_context, or %NULL
*/
ClutterFrame *
clutter_paint_context_get_frame (ClutterPaintContext *paint_context)
{
return paint_context->frame;
}
......@@ -75,4 +75,7 @@ const cairo_region_t * clutter_paint_context_get_redraw_clip (ClutterPaintContex
CLUTTER_EXPORT
ClutterPaintFlag clutter_paint_context_get_paint_flags (ClutterPaintContext *paint_context);
CLUTTER_EXPORT
ClutterFrame * clutter_paint_context_get_frame (ClutterPaintContext *paint_context);
#endif /* CLUTTER_PAINT_CONTEXT_H */
......@@ -211,19 +211,26 @@ static void
clutter_value_transform_path_string (const GValue *src,
GValue *dest)
{
gchar *string = clutter_path_get_description (src->data[0].v_pointer);
if (src->data[0].v_pointer != NULL)
{
gchar *string = clutter_path_get_description (src->data[0].v_pointer);
g_value_take_string (dest, string);
g_value_take_string (dest, string);
}
}
static void
clutter_value_transform_string_path (const GValue *src,
GValue *dest)
{
ClutterPath *new_path;
const char *str;
new_path = clutter_path_new_with_description (g_value_get_string (src));
g_value_take_object (dest, new_path);
str = g_value_get_string (src);
if (str != NULL)
{
ClutterPath *new_path = clutter_path_new_with_description (str);
g_value_take_object (dest, new_path);
}
}
static void
......
......@@ -679,6 +679,17 @@ clutter_seat_has_touchscreen (ClutterSeat *seat)
return has_touchscreen;
}
/**
* clutter_seat_query_state:
* @seat: a #ClutterSeat
* @device: a #ClutterInputDevice
* @sequence: (nullable): a #ClutterEventSequence
* @coords: (out caller-allocates) (optional): the coordinates of the pointer
* @modifiers: (out) (optional): the current #ClutterModifierType of the pointer
*
* Returns: %TRUE if @device (or the specific @sequence) is on the stage, %FALSE
* otherwise.
**/
gboolean
clutter_seat_query_state (ClutterSeat *seat,
ClutterInputDevice *device,
......
......@@ -50,6 +50,14 @@ enum
static GParamSpec *obj_props[PROP_LAST];
enum
{
DESTROY,
N_SIGNALS
};
guint stage_view_signals[N_SIGNALS] = { 0 };
typedef struct _ClutterStageViewPrivate
{
char *name;
......@@ -1467,6 +1475,8 @@ clutter_stage_view_dispose (GObject *object)
clutter_stage_view_get_instance_private (view);
int i;
g_signal_emit (view, stage_view_signals[DESTROY], 0);
g_clear_pointer (&priv->name, g_free);
g_clear_object (&priv->shadow.framebuffer);
......@@ -1607,6 +1617,14 @@ clutter_stage_view_class_init (ClutterStageViewClass *klass)
G_PARAM_STATIC_STRINGS);
g_object_class_install_properties (object_class, PROP_LAST, obj_props);
stage_view_signals[DESTROY] =
g_signal_new ("destroy",
G_TYPE_FROM_CLASS (object_class),
G_SIGNAL_RUN_LAST,
0, NULL, NULL,
g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
}
void
......
......@@ -406,6 +406,7 @@ setup_clip_frustum (ClutterStage *stage,
static void
clutter_stage_do_paint_view (ClutterStage *stage,
ClutterStageView *view,
ClutterFrame *frame,
const cairo_region_t *redraw_clip)
{
ClutterPaintContext *paint_context;
......@@ -451,6 +452,9 @@ clutter_stage_do_paint_view (ClutterStage *stage,
clip_frusta,
CLUTTER_PAINT_FLAG_NONE);
if (frame)
clutter_paint_context_assign_frame (paint_context, frame);
clutter_actor_paint (CLUTTER_ACTOR (stage), paint_context);
clutter_paint_context_destroy (paint_context);
}
......@@ -1259,7 +1263,7 @@ clutter_stage_real_paint_view (ClutterStage *stage,
const cairo_region_t *redraw_clip,
ClutterFrame *frame)
{
clutter_stage_do_paint_view (stage, view, redraw_clip);
clutter_stage_do_paint_view (stage, view, frame, redraw_clip);
}
static void
......@@ -1918,7 +1922,7 @@ clutter_stage_read_pixels (ClutterStage *stage,
}
framebuffer = clutter_stage_view_get_framebuffer (view);
clutter_stage_do_paint_view (stage, view, clip);
clutter_stage_do_paint_view (stage, view, NULL, clip);
cairo_region_destroy (clip);
......
......@@ -21,7 +21,6 @@ if get_option('debug')
elif buildtype != 'plain'
clutter_debug_c_args += [
'-DG_DISABLE_ASSERT',
'-DG_DISABLE_CHECKS',
'-DG_DISABLE_CAST_CHECKS',
]
endif
......
......@@ -106,7 +106,6 @@ if get_option('debug')
]
elif buildtype != 'plain'
cogl_debug_c_args += [
'-DG_DISABLE_CHECKS',
'-DG_DISABLE_CAST_CHECKS'
]
endif
......
project('mutter', 'c',
version: '44.0',
version: '44.1',
meson_version: '>= 0.58.0',
license: 'GPLv2+'
)
......@@ -212,6 +212,7 @@ endif
if have_wayland
wayland_server_dep = dependency('wayland-server', version: wayland_server_req)
wayland_client_dep = dependency('wayland-client', version: wayland_server_req)
wayland_cursor_dep = dependency('wayland-cursor')
wayland_protocols_dep = dependency('wayland-protocols',
version: wayland_protocols_req)
wayland_egl_dep = dependency('wayland-egl')
......
......@@ -5,22 +5,22 @@
# Michiel Sikkes <michiels@gnome.org>, 2005.
# Wouter Bolsterlee <wbolster@gnome.org>, 2006–2012.
# Hannie Dumoleyn <hannie@ubuntu-nl.org>, 2016.
# Nathan Follens <nfollens@gnome.org>, 2017, 2019-2022.
# Nathan Follens <nfollens@gnome.org>, 2017, 2019-2023.
msgid ""
msgstr ""
"Project-Id-Version: mutter\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/mutter/issues\n"
"POT-Creation-Date: 2022-09-02 08:42+0000\n"
"PO-Revision-Date: 2022-11-02 00:43+0100\n"
"POT-Creation-Date: 2023-03-21 14:03+0000\n"
"PO-Revision-Date: 2023-04-02 15:04+0200\n"
"Last-Translator: Nathan Follens <nfollens@gnome.org>\n"
"Language-Team: Dutch <gnome-nl-list@gnome.org>\n"
"Language-Team: Dutch https://matrix.to/#/#nl:gnome.org\n"
"Language: nl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Project-Style: gnome\n"
"X-Generator: Poedit 3.1.1\n"
"X-Generator: Poedit 3.2.2\n"
#: data/50-mutter-navigation.xml:6
msgid "Navigation"
......@@ -250,18 +250,14 @@ msgstr "Venster verticaal maximaliseren"
msgid "Maximize window horizontally"
msgstr "Venster horizontaal maximaliseren"
#: data/50-mutter-windows.xml:41 data/org.gnome.mutter.gschema.xml.in:173
#: data/50-mutter-windows.xml:41 data/org.gnome.mutter.gschema.xml.in:164
msgid "View split on left"
msgstr "Weergave gesplitst op links"
#: data/50-mutter-windows.xml:45 data/org.gnome.mutter.gschema.xml.in:178
#: data/50-mutter-windows.xml:45 data/org.gnome.mutter.gschema.xml.in:169
msgid "View split on right"
msgstr "Weergave gesplitst op rechts"
#: data/mutter.desktop.in:4
msgid "Mutter"
msgstr "Mutter"
#: data/org.gnome.mutter.gschema.xml.in:15
msgid "Modifier to use for extended window management operations"
msgstr "Controletoets voor uitgebreide vensterbeheerfunctionaliteit"
......@@ -334,22 +330,10 @@ msgstr ""
"voor vensters op het hoofdscherm moet gebeuren."
#: data/org.gnome.mutter.gschema.xml.in:67
msgid "No tab popup"
msgstr "Geen tab-pop-up"
#: data/org.gnome.mutter.gschema.xml.in:68
msgid ""
"Determines whether the use of popup and highlight frame should be disabled "
"for window cycling."
msgstr ""
"Bepaalt of het gebruik van pop-up en markering van het kader uitgeschakeld "
"wordt voor het vensterbladeren."
#: data/org.gnome.mutter.gschema.xml.in:76
msgid "Delay focus changes until the pointer stops moving"
msgstr "Aandacht vertragen totdat de muispijl stopt met bewegen"
#: data/org.gnome.mutter.gschema.xml.in:77
#: data/org.gnome.mutter.gschema.xml.in:68
msgid ""
"If set to true, and the focus mode is either “sloppy” or “mouse” then the "
"focus will not be changed immediately when entering a window, but only after "
......@@ -359,11 +343,11 @@ msgstr ""
"‘mouse’, dan zal de aandacht niet direct veranderd worden bij het binnengaan "
"van een venster, maar slechts wanneer de muispijl stopt met bewegen."
#: data/org.gnome.mutter.gschema.xml.in:87
#: data/org.gnome.mutter.gschema.xml.in:78
msgid "Draggable border width"
msgstr "Sleepbare randbreedte"
#: data/org.gnome.mutter.gschema.xml.in:88
#: data/org.gnome.mutter.gschema.xml.in:79
msgid ""
"The amount of total draggable borders. If the theme’s visible borders are "
"not enough, invisible borders will be added to meet this value."
......@@ -372,11 +356,11 @@ msgstr ""
"onvoldoende zijn, worden onzichtbare randen toegevoegd om deze waarde te "
"bereiken."
#: data/org.gnome.mutter.gschema.xml.in:97
#: data/org.gnome.mutter.gschema.xml.in:88
msgid "Auto maximize nearly monitor sized windows"
msgstr "Vensters van bijna-monitorformaat auto-maximaliseren"
#: data/org.gnome.mutter.gschema.xml.in:98
#: data/org.gnome.mutter.gschema.xml.in:89
msgid ""
"If enabled, new windows that are initially the size of the monitor "
"automatically get maximized."
......@@ -384,11 +368,11 @@ msgstr ""
"Indien ingeschakeld, worden vensters die initieel ongeveer even groot zijn "
"als de monitor automatisch gemaximaliseerd."
#: data/org.gnome.mutter.gschema.xml.in:106
#: data/org.gnome.mutter.gschema.xml.in:97
msgid "Place new windows in the center"
msgstr "Plaats nieuwe vensters in het midden"
#: data/org.gnome.mutter.gschema.xml.in:107
#: data/org.gnome.mutter.gschema.xml.in:98
msgid ""
"When true, the new windows will always be put in the center of the active "
"screen of the monitor."
......@@ -396,11 +380,11 @@ msgstr ""
"Indien waar zullen nieuwe vensters steeds in het midden van het actieve "
"scherm van de monitor geplaatst worden."
#: data/org.gnome.mutter.gschema.xml.in:116
#: data/org.gnome.mutter.gschema.xml.in:107
msgid "Enable experimental features"
msgstr "Experimentele functies inschakelen"
#: data/org.gnome.mutter.gschema.xml.in:117
#: data/org.gnome.mutter.gschema.xml.in:108
msgid ""
"To enable experimental features, add the feature keyword to the list. "
"Whether the feature requires restarting the compositor depends on the given "
......@@ -433,19 +417,19 @@ msgstr ""
"“autoclose-xwayland” — beëindigt Xwayland automatisch wanneer er geen "
"relevante X11-cliënten meer zijn. Hiervoor is opnieuw opstarten vereist."
#: data/org.gnome.mutter.gschema.xml.in:150
#: data/org.gnome.mutter.gschema.xml.in:141
msgid "Modifier to use to locate the pointer"
msgstr "Controletoets om de muispijl te lokaliseren"
#: data/org.gnome.mutter.gschema.xml.in:151
#: data/org.gnome.mutter.gschema.xml.in:142
msgid "This key will initiate the “locate pointer” action."
msgstr "Deze sleutel activeert de actie ‘muispijl lokaliseren’."
#: data/org.gnome.mutter.gschema.xml.in:158
#: data/org.gnome.mutter.gschema.xml.in:149
msgid "Timeout for check-alive ping"
msgstr "Time-out voor levenscontroleping"
#: data/org.gnome.mutter.gschema.xml.in:159
#: data/org.gnome.mutter.gschema.xml.in:150
msgid ""
"Number of milliseconds a client has to respond to a ping request in order to "
"not be detected as frozen. Using 0 will disable the alive check completely."
......@@ -454,19 +438,11 @@ msgstr ""
"verzoek om niet als bevroren beschouwd te worden. Stel dit in op 0 om de "
"levenscontrole volledig uit te schakelen."
#: data/org.gnome.mutter.gschema.xml.in:183
msgid "Select window from tab popup"
msgstr "Venster selecteren uit tab-pop-up"
#: data/org.gnome.mutter.gschema.xml.in:188
msgid "Cancel tab popup"
msgstr "Tab-pop-up annuleren"
#: data/org.gnome.mutter.gschema.xml.in:193
#: data/org.gnome.mutter.gschema.xml.in:174
msgid "Switch monitor configurations"
msgstr "Tussen beeldschermconfiguraties schakelen"
#: data/org.gnome.mutter.gschema.xml.in:198
#: data/org.gnome.mutter.gschema.xml.in:179
msgid "Rotates the built-in monitor configuration"
msgstr "Roteert de ingebouwde beeldschermconfiguratie"
......@@ -597,6 +573,34 @@ msgstr ""
"voor de geselecteerde uitbreidingen. Deze instellingen treedt pas in werking "
"wanneer Xwayland wordt herstart."
#: data/org.gnome.mutter.wayland.gschema.xml.in:130
msgid "Allow X11 clients with a different endianness to connect to Xwayland"
msgstr ""
"X11-cliënten met verschillende endianness toestaan te verbinden met Xwayland"
#: data/org.gnome.mutter.wayland.gschema.xml.in:131
msgid ""
"Allow connections from clients with an endianness different to that of "
"Xwayland. The X server byte-swapping code is a huge attack surface, much of "
"that code in Xwayland is prone to security issues. The use-case of byte-"
"swapped clients is very niche, and disabled by default in Xwayland. Enable "
"this option to instruct Xwayland to accept connections from X11 clients with "
"a different endianness. This option has no effect if Xwayland does not "
"support the command line option +byteswappedclients/-byteswappedclients to "
"control that setting. Xwayland needs to be restarted for this setting to "
"take effect."
msgstr ""
"Sta verbindingen toe van cliënten met een endianness die verschilt van die "
"van Xwayland. De byteswappingcode van de X-server is een enorm "
"aanvalsoppervlak, en veel van die code in Xwayland is gevoelig voor "
"beveiligingsproblemen. Byteswapped cliënten worden maar in heel niche "
"gevallen toegepast, en het gebruik ervan is standaard uitgeschakeld in "
"Xwayland. Schakel deze optie in om Xwayland verbindingen van X11-cliënten "
"met een verschillende endianness te laten aanvaarden. Deze optie doet niets "
"als Xwayland geen ondersteuning biedt voor de opdrachtregeloptie "
"+byteswappedclients/-byteswappedclients om die instelling te beheren. "
"Xwayland moet herstart worden om deze instelling toe te passen."
#: src/backends/meta-monitor.c:253
msgid "Built-in display"
msgstr "Ingebouwd beeldscherm"
......@@ -624,14 +628,9 @@ msgctxt ""
msgid "%s %s"
msgstr "%s %s"
#. Translators: this string will appear in Sysprof
#: src/backends/meta-profiler.c:79
msgid "Compositor"
msgstr "Compositor"
#. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit
#: src/compositor/compositor.c:400
#: src/compositor/compositor.c:416
#, c-format
msgid ""
"Another compositing manager is already running on screen %i on display “%s”."
......@@ -643,74 +642,74 @@ msgstr ""
msgid "Bell event"
msgstr "Bel-gebeurtenis"
#: src/core/display.c:693
#: src/core/display.c:703
msgid "Privacy Screen Enabled"
msgstr "Privacyscherm ingeschakeld"
#: src/core/display.c:694
#: src/core/display.c:704
msgid "Privacy Screen Disabled"
msgstr "Privacyscherm uitgeschakeld"
#: src/core/meta-context-main.c:567
#: src/core/meta-context-main.c:579
msgid "Replace the running window manager"
msgstr "De huidige toepassing voor vensterbeheer vervangen"
#: src/core/meta-context-main.c:573
#: src/core/meta-context-main.c:585
msgid "X Display to use"
msgstr "De te gebruiken X-weergave"
#: src/core/meta-context-main.c:579
#: src/core/meta-context-main.c:591
msgid "Disable connection to session manager"
msgstr "Schakel de verbinding met het sessiebeheer uit"
#: src/core/meta-context-main.c:585
#: src/core/meta-context-main.c:597
msgid "Specify session management ID"
msgstr "Bepaal de ID van het sessiebeheer"
#: src/core/meta-context-main.c:591
#: src/core/meta-context-main.c:603
msgid "Initialize session from savefile"
msgstr "Initialiseer de sessie middels een opslagbestand"
#: src/core/meta-context-main.c:597
#: src/core/meta-context-main.c:609
msgid "Make X calls synchronous"
msgstr "X-aanroepen synchroon maken"
#: src/core/meta-context-main.c:605
#: src/core/meta-context-main.c:617
msgid "Run as a wayland compositor"
msgstr "Uitvoeren als een wayland compositor"
#: src/core/meta-context-main.c:611
#: src/core/meta-context-main.c:623
msgid "Run as a nested compositor"
msgstr "Uitvoeren als een geneste compositor"
#: src/core/meta-context-main.c:617
#: src/core/meta-context-main.c:629
msgid "Run wayland compositor without starting Xwayland"
msgstr "Wayland-compositor uitvoeren zonder Xwayland te starten"
#: src/core/meta-context-main.c:623
#: src/core/meta-context-main.c:635
msgid "Specify Wayland display name to use"
msgstr "Bepaal de te gebruiken Wayland-weergavenaam"
#: src/core/meta-context-main.c:631
#: src/core/meta-context-main.c:643
msgid "Run as a full display server, rather than nested"
msgstr "Uitvoeren als een volledige displayserver, in plaats van genest"
#: src/core/meta-context-main.c:636
#: src/core/meta-context-main.c:648
msgid "Run as a headless display server"
msgstr "Uitvoeren als een ‘headless’ displayserver"
#: src/core/meta-context-main.c:641
#: src/core/meta-context-main.c:653
msgid "Add persistent virtual monitor (WxH or WxH@R)"
msgstr "Blijvend virtueel beeldscherm toevoegen (BxH of BxH@V)"
#: src/core/meta-context-main.c:653
#: src/core/meta-context-main.c:665
msgid "Run with X11 backend"
msgstr "Uitvoeren met X11-backend"
#. TRANSLATORS: This string refers to a button that switches between
#. * different modes.
#.
#: src/core/meta-pad-action-mapper.c:848
#: src/core/meta-pad-action-mapper.c:861
#, c-format
msgid "Mode Switch (Group %d)"
msgstr "Moduswisselaar (groep %d)"
......@@ -718,14 +717,19 @@ msgstr "Moduswisselaar (groep %d)"
#. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs.
#.
#: src/core/meta-pad-action-mapper.c:871
#: src/core/meta-pad-action-mapper.c:884
msgid "Switch monitor"
msgstr "Van beeldscherm wisselen"
#: src/core/meta-pad-action-mapper.c:873
#: src/core/meta-pad-action-mapper.c:886
msgid "Show on-screen help"
msgstr "Hulptekst op scherm tonen"
#. Translators: this string will appear in Sysprof
#: src/core/meta-profiler.c:80 src/core/meta-profiler.c:217
msgid "Compositor"
msgstr "Compositor"
#: src/core/mutter.c:74
msgid "Print version"
msgstr "Versie-informatie tonen"
......@@ -739,20 +743,20 @@ msgstr "Te gebruiken Mutter-plug-in"
msgid "Workspace %d"
msgstr "Werkblad %d"
#: src/core/util.c:143
#: src/core/util.c:142
msgid "Mutter was compiled without support for verbose mode"
msgstr "Mutter is gecompileerd zonder ondersteuning voor verbose-mode"
#: src/core/workspace.c:533
#: src/core/workspace.c:541
msgid "Workspace switched"
msgstr "Werkblad gewisseld"
#: src/wayland/meta-wayland-tablet-pad.c:520
#: src/wayland/meta-wayland-tablet-pad.c:530
#, c-format
msgid "Mode Switch: Mode %d"
msgstr "Moduswisselaar: modus %d"
#: src/x11/meta-x11-display.c:659
#: src/x11/meta-x11-display.c:701
#, c-format
msgid ""
"Display “%s” already has a window manager; try using the --replace option to "
......@@ -761,30 +765,48 @@ msgstr ""
"Beeldscherm ‘%s’ heeft al een vensterbeheerder; probeer de optie: --replace "
"te gebruiken om de huidige vensterbeheerder te vervangen."
#: src/x11/meta-x11-display.c:1053
msgid "Failed to initialize GDK"
msgstr "Initialiseren van GDK mislukt"
#: src/x11/meta-x11-display.c:1080
#: src/x11/meta-x11-display.c:1062
#, c-format
msgid "Failed to open X Window System display “%s”"
msgstr "Openen van X Window System display ‘%s’ mislukt"
#: src/x11/meta-x11-display.c:1188
#: src/x11/meta-x11-display.c:1207
#, c-format
msgid "Screen %d on display “%s” is invalid"
msgstr "Scherm %d op beeldscherm ‘%s’ is ongeldig"
#: src/x11/meta-x11-selection-input-stream.c:474
#: src/x11/meta-x11-selection-input-stream.c:481
#, c-format
msgid "Format %s not supported"
msgstr "Formaat %s wordt niet ondersteund"
#: src/x11/window-props.c:548
#: src/x11/window-props.c:549
#, c-format
msgid "%s (on %s)"
msgstr "%s (op %s)"
#~ msgid "Mutter"
#~ msgstr "Mutter"
#~ msgid "No tab popup"
#~ msgstr "Geen tab-pop-up"
#~ msgid ""
#~ "Determines whether the use of popup and highlight frame should be "
#~ "disabled for window cycling."
#~ msgstr ""
#~ "Bepaalt of het gebruik van pop-up en markering van het kader "
#~ "uitgeschakeld wordt voor het vensterbladeren."
#~ msgid "Select window from tab popup"
#~ msgstr "Venster selecteren uit tab-pop-up"
#~ msgid "Cancel tab popup"
#~ msgstr "Tab-pop-up annuleren"
#~ msgid "Failed to initialize GDK"
#~ msgstr "Initialiseren van GDK mislukt"
#, c-format
#~ msgid "“%s” is not responding."
#~ msgstr "‘%s’ reageert niet."
......@@ -1383,8 +1405,8 @@ msgstr "%s (op %s)"
#~ msgstr "Element <%s> is niet toegestaan onder <%s>"
#~ msgid ""
#~ "Cannot specify both \"button_width\"/\"button_height\" and \"aspect_ratio"
#~ "\" for buttons"
#~ "Cannot specify both \"button_width\"/\"button_height\" and "
#~ "\"aspect_ratio\" for buttons"
#~ msgstr ""
#~ "Kan niet tegelijk ‘button_width’/‘button_height’ en ‘aspect_ratio’ voor "
#~ "knoppen opgeven."
......
......@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: mutter main\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/mutter/issues\n"
"POT-Creation-Date: 2022-03-31 13:03+0000\n"
"PO-Revision-Date: 2022-04-04 07:38+0700\n"
"POT-Creation-Date: 2023-03-30 11:40+0000\n"
"PO-Revision-Date: 2023-04-01 08:20+0700\n"
"Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <gnome-vi-list@gnome.org>\n"
"Language: vi\n"
......@@ -248,18 +248,14 @@ msgstr "Phóng to cửa sổ theo chiều dọc"
msgid "Maximize window horizontally"
msgstr "Phóng to cửa sổ theo chiều ngang"
#: data/50-mutter-windows.xml:41 data/org.gnome.mutter.gschema.xml.in:173
#: data/50-mutter-windows.xml:41 data/org.gnome.mutter.gschema.xml.in:164
msgid "View split on left"
msgstr "Phân đôi bên trái"
#: data/50-mutter-windows.xml:45 data/org.gnome.mutter.gschema.xml.in:178
#: data/50-mutter-windows.xml:45 data/org.gnome.mutter.gschema.xml.in:169
msgid "View split on right"
msgstr "Phân đôi bên phải"
#: data/mutter.desktop.in:4
msgid "Mutter"
msgstr "Mutter"
#: data/org.gnome.mutter.gschema.xml.in:15
msgid "Modifier to use for extended window management operations"
msgstr "Phím bổ trợ dùng cho chức năng quản lý cửa sổ mở rộng"
......@@ -330,20 +326,10 @@ msgstr ""
"trên màn hình chính."
#: data/org.gnome.mutter.gschema.xml.in:67
msgid "No tab popup"
msgstr "Không tab popup"
#: data/org.gnome.mutter.gschema.xml.in:68
msgid ""
"Determines whether the use of popup and highlight frame should be disabled "
"for window cycling."
msgstr "Xác định có bỏ qua popup và khung tô sáng khi xoay vòng cửa sổ không."
#: data/org.gnome.mutter.gschema.xml.in:76
msgid "Delay focus changes until the pointer stops moving"
msgstr "Khoảng chờ con trỏ dừng di chuyển trước khi thay đổi tiêu điểm"
#: data/org.gnome.mutter.gschema.xml.in:77
#: data/org.gnome.mutter.gschema.xml.in:68
msgid ""
"If set to true, and the focus mode is either “sloppy” or “mouse” then the "
"focus will not be changed immediately when entering a window, but only after "
......@@ -353,11 +339,11 @@ msgstr ""
"không thay đổi tức thì khi vào cửa sổ, mà chỉ sau khi con trỏ ngừng di "
"chuyển."
#: data/org.gnome.mutter.gschema.xml.in:87
#: data/org.gnome.mutter.gschema.xml.in:78
msgid "Draggable border width"
msgstr "Độ rộng biên có thể kéo"
#: data/org.gnome.mutter.gschema.xml.in:88
#: data/org.gnome.mutter.gschema.xml.in:79
msgid ""
"The amount of total draggable borders. If the theme’s visible borders are "
"not enough, invisible borders will be added to meet this value."
......@@ -365,21 +351,21 @@ msgstr ""
"Kích thước biên có thể kéo. Nếu biên thấy được của chủ đề không đủ, biên vô "
"hình sẽ được thêm vào để thỏa mãn giá trị này."
#: data/org.gnome.mutter.gschema.xml.in:97
#: data/org.gnome.mutter.gschema.xml.in:88
msgid "Auto maximize nearly monitor sized windows"
msgstr "Tự động phóng to cửa sổ gần bằng màn hình"
#: data/org.gnome.mutter.gschema.xml.in:98
#: data/org.gnome.mutter.gschema.xml.in:89
msgid ""
"If enabled, new windows that are initially the size of the monitor "
"automatically get maximized."
msgstr "Nếu bật, sẽ tự động phóng to cửa sổ mới với kích thước tối đa."
#: data/org.gnome.mutter.gschema.xml.in:106
#: data/org.gnome.mutter.gschema.xml.in:97
msgid "Place new windows in the center"
msgstr "Đặt cửa sổ mới ở chính giữa"
#: data/org.gnome.mutter.gschema.xml.in:107
#: data/org.gnome.mutter.gschema.xml.in:98
msgid ""
"When true, the new windows will always be put in the center of the active "
"screen of the monitor."
......@@ -387,11 +373,11 @@ msgstr ""
"Nếu chọn, các cửa sổ mới sẽ luôn được đặt tại trung tâm của màn hình đang "
"hoạt động của màn hình."
#: data/org.gnome.mutter.gschema.xml.in:116
#: data/org.gnome.mutter.gschema.xml.in:107
msgid "Enable experimental features"
msgstr "Bật các tính băng thử nghiệm"
#: data/org.gnome.mutter.gschema.xml.in:117
#: data/org.gnome.mutter.gschema.xml.in:108
msgid ""
"To enable experimental features, add the feature keyword to the list. "
"Whether the feature requires restarting the compositor depends on the given "
......@@ -422,19 +408,19 @@ msgstr ""
"khởi động lại. • “autoclose-xwayland” — tự động chấm dứt Xwayland nếu mọi "
"trình khách ra đi. Không yêu cầu khởi động lại."
#: data/org.gnome.mutter.gschema.xml.in:150
#: data/org.gnome.mutter.gschema.xml.in:141
msgid "Modifier to use to locate the pointer"
msgstr "Chỉnh sửa để dùng để định vị con trỏ"
#: data/org.gnome.mutter.gschema.xml.in:151
#: data/org.gnome.mutter.gschema.xml.in:142
msgid "This key will initiate the “locate pointer” action."
msgstr "Khóa này sẽ khởi tạo thao tác “định vị con trỏ”."
#: data/org.gnome.mutter.gschema.xml.in:158
#: data/org.gnome.mutter.gschema.xml.in:149
msgid "Timeout for check-alive ping"
msgstr "Thời gian chờ để kiểm tra ping còn sống"
#: data/org.gnome.mutter.gschema.xml.in:159
#: data/org.gnome.mutter.gschema.xml.in:150
msgid ""
"Number of milliseconds a client has to respond to a ping request in order to "
"not be detected as frozen. Using 0 will disable the alive check completely."
......@@ -442,19 +428,11 @@ msgstr ""
"Số mili giây mà máy khách phải trả lời yêu cầu ping để không bị cho là đang "
"ngủ đông. Sử dụng 0 sẽ vô hiệu hóa kiểm tra sống."
#: data/org.gnome.mutter.gschema.xml.in:183
msgid "Select window from tab popup"
msgstr "Chọn cửa sổ từ thanh nổi lên"
#: data/org.gnome.mutter.gschema.xml.in:188
msgid "Cancel tab popup"
msgstr "Hủy thanh nổi lên"
#: data/org.gnome.mutter.gschema.xml.in:193
#: data/org.gnome.mutter.gschema.xml.in:174
msgid "Switch monitor configurations"
msgstr "Chuyển các cấu hình màn hình"
#: data/org.gnome.mutter.gschema.xml.in:198
#: data/org.gnome.mutter.gschema.xml.in:179
msgid "Rotates the built-in monitor configuration"
msgstr "Quay cấu hình màn hình tích hợp"
......@@ -581,26 +559,51 @@ msgstr ""
"không có tác dụng nếu Xwayland được biên dịch mà không hỗ trợ các phần mở "
"rộng đã chọn. Xwayland cần được khởi động lại để cài đặt này có hiệu lực."
#: src/backends/meta-monitor.c:246
#: data/org.gnome.mutter.wayland.gschema.xml.in:130
msgid "Allow X11 clients with a different endianness to connect to Xwayland"
msgstr "Cho phép các máy khách X11 có endianness khác kết nối với Xwayland"
#: data/org.gnome.mutter.wayland.gschema.xml.in:131
msgid ""
"Allow connections from clients with an endianness different to that of "
"Xwayland. The X server byte-swapping code is a huge attack surface, much of "
"that code in Xwayland is prone to security issues. The use-case of byte-"
"swapped clients is very niche, and disabled by default in Xwayland. Enable "
"this option to instruct Xwayland to accept connections from X11 clients with "
"a different endianness. This option has no effect if Xwayland does not "
"support the command line option +byteswappedclients/-byteswappedclients to "
"control that setting. Xwayland needs to be restarted for this setting to "
"take effect."
msgstr ""
"Cho phép các kết nối từ các máy khách có endianness khác với Xwayland. Mã "
"hoán đổi byte của máy chủ X là một bề mặt tấn công lớn, phần lớn mã đó trong "
"Xwayland dễ gặp sự cố bảo mật. Trường hợp sử dụng của các ứng dụng khách "
"hoán đổi byte rất thích hợp và bị tắt theo mặc định trong Xwayland. Bật tùy "
"chọn này để hướng dẫn Xwayland chấp nhận các kết nối từ các máy khách X11 có "
"endianness khác nhau. Tùy chọn này không có tác dụng nếu Xwayland không hỗ "
"trợ tùy chọn dòng lệnh +byteswappedclients/-byteswappedclients để kiểm soát "
"cài đặt đó. Xwayland cần được khởi động lại để cài đặt này có hiệu lực."
#: src/backends/meta-monitor.c:253
msgid "Built-in display"
msgstr "Màn hình tích hợp"
#: src/backends/meta-monitor.c:275
#: src/backends/meta-monitor.c:280
msgid "Unknown"
msgstr "Không rõ"
#: src/backends/meta-monitor.c:277
#: src/backends/meta-monitor.c:282
msgid "Unknown Display"
msgstr "Không hiểu màn hình"
#: src/backends/meta-monitor.c:285
#: src/backends/meta-monitor.c:290
#, c-format
msgctxt ""
"This is a monitor vendor name, followed by a size in inches, like 'Dell 15\"'"
msgid "%s %s"
msgstr "%s %s"
#: src/backends/meta-monitor.c:293
#: src/backends/meta-monitor.c:298
#, c-format
msgctxt ""
"This is a monitor vendor name followed by product/model name where size in "
......@@ -608,14 +611,9 @@ msgctxt ""
msgid "%s %s"
msgstr "%s %s"
#. Translators: this string will appear in Sysprof
#: src/backends/meta-profiler.c:79
msgid "Compositor"
msgstr "Bộ tổng hợp"
#. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit
#: src/compositor/compositor.c:392
#: src/compositor/compositor.c:416
#, c-format
msgid ""
"Another compositing manager is already running on screen %i on display “%s”."
......@@ -625,100 +623,74 @@ msgstr "Bộ quản lý cửa sổ đã đang chạy trên màn ảnh %i trên m
msgid "Bell event"
msgstr "Sự kiện chuông"
#: src/core/display.c:687
#: src/core/display.c:703
msgid "Privacy Screen Enabled"
msgstr "Màn hình riêng tư được bật"
#: src/core/display.c:688
#: src/core/display.c:704
msgid "Privacy Screen Disabled"
msgstr "Màn hình riêng tư bị bật"
#. Translators: %s is a window title
#: src/core/meta-close-dialog-default.c:151
#, c-format
msgid "“%s” is not responding."
msgstr "“%s” không phản ứng."
#: src/core/meta-close-dialog-default.c:153
msgid "Application is not responding."
msgstr "Ứng dụng không phản ứng gì."
#: src/core/meta-close-dialog-default.c:158
msgid ""
"You may choose to wait a short while for it to continue or force the "
"application to quit entirely."
msgstr ""
"Bạn có thể chọn chờ một lát để nó có thể tiếp tục chạy hoặc buộc chấm dứt "
"hoàn toàn ứng dụng."
#: src/core/meta-close-dialog-default.c:164
msgid "_Force Quit"
msgstr "_Buộc thoát"
#: src/core/meta-close-dialog-default.c:164
msgid "_Wait"
msgstr "_Chờ"
#: src/core/meta-context-main.c:555
#: src/core/meta-context-main.c:579
msgid "Replace the running window manager"
msgstr "Thay thế bộ quản lý cửa sổ đang chạy"
#: src/core/meta-context-main.c:561
#: src/core/meta-context-main.c:585
msgid "X Display to use"
msgstr "Màn hình X cần dùng"
#: src/core/meta-context-main.c:567
#: src/core/meta-context-main.c:591
msgid "Disable connection to session manager"
msgstr "Vô hiệu hóa kết nối với bộ quản lý phiên làm việc"
#: src/core/meta-context-main.c:573
#: src/core/meta-context-main.c:597
msgid "Specify session management ID"
msgstr "Ghi rõ mã số quản lý phiên làm việc"
#: src/core/meta-context-main.c:579
#: src/core/meta-context-main.c:603
msgid "Initialize session from savefile"
msgstr "Khởi động phiên làm việc từ tập tin lưu"
#: src/core/meta-context-main.c:585
#: src/core/meta-context-main.c:609
msgid "Make X calls synchronous"
msgstr "Khiến các cú gọi X đồng bộ"
#: src/core/meta-context-main.c:592
#: src/core/meta-context-main.c:617
msgid "Run as a wayland compositor"
msgstr "Chạy như là một “bộ tổng hợp wayland”"
#: src/core/meta-context-main.c:598
#: src/core/meta-context-main.c:623
msgid "Run as a nested compositor"
msgstr "Chạy như là một “bộ tổng hợp lồng nhau”"
#: src/core/meta-context-main.c:604
#: src/core/meta-context-main.c:629
msgid "Run wayland compositor without starting Xwayland"
msgstr "Chạy bộ tổng hợp wayland mà không khởi chạy Xwayland"
#: src/core/meta-context-main.c:610
#: src/core/meta-context-main.c:635
msgid "Specify Wayland display name to use"
msgstr "Chỉ định tên thiết bị hiển thị Wayland muốn dùng"
#: src/core/meta-context-main.c:618
#: src/core/meta-context-main.c:643
msgid "Run as a full display server, rather than nested"
msgstr "Chạy như là một dịch vụ hiển thị đầy đủ, thay cho lồng nhau"
#: src/core/meta-context-main.c:623
#: src/core/meta-context-main.c:648
msgid "Run as a headless display server"
msgstr "Chạy như là một dịch vụ hiển thị không có đầu"
#: src/core/meta-context-main.c:628
#: src/core/meta-context-main.c:653
msgid "Add persistent virtual monitor (WxH or WxH@R)"
msgstr "Thêm màn hình ảo lâu dài (WxH hoặc WxH@R)"
#: src/core/meta-context-main.c:639
#: src/core/meta-context-main.c:665
msgid "Run with X11 backend"
msgstr "Chạy với ứng dụng chạy phía sau X11"
#. TRANSLATORS: This string refers to a button that switches between
#. * different modes.
#.
#: src/core/meta-pad-action-mapper.c:842
#: src/core/meta-pad-action-mapper.c:861
#, c-format
msgid "Mode Switch (Group %d)"
msgstr "Chuyển chế độ (Nhóm %d)"
......@@ -726,14 +698,19 @@ msgstr "Chuyển chế độ (Nhóm %d)"
#. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs.
#.
#: src/core/meta-pad-action-mapper.c:865
#: src/core/meta-pad-action-mapper.c:884
msgid "Switch monitor"
msgstr "Chuyển màn hình"
#: src/core/meta-pad-action-mapper.c:867
#: src/core/meta-pad-action-mapper.c:886
msgid "Show on-screen help"
msgstr "Hiển thị trợ giúp trên-màn-hình"
#. Translators: this string will appear in Sysprof
#: src/core/meta-profiler.c:80 src/core/meta-profiler.c:217
msgid "Compositor"
msgstr "Bộ tổng hợp"
#: src/core/mutter.c:74
msgid "Print version"
msgstr "Hiển thị phiên bản"
......@@ -751,12 +728,16 @@ msgstr "Không gian làm việc %d"
msgid "Mutter was compiled without support for verbose mode"
msgstr "Mutter đã được biên dịch không hỗ trợ chế độ chi tiết"
#: src/wayland/meta-wayland-tablet-pad.c:520
#: src/core/workspace.c:541
msgid "Workspace switched"
msgstr "Đã chuyển đổi không gian làm việc"
#: src/wayland/meta-wayland-tablet-pad.c:530
#, c-format
msgid "Mode Switch: Mode %d"
msgstr "Chuyển chế độ: Chế độ %d"
#: src/x11/meta-x11-display.c:673
#: src/x11/meta-x11-display.c:701
#, c-format
msgid ""
"Display “%s” already has a window manager; try using the --replace option to "
......@@ -765,38 +746,74 @@ msgstr ""
"Màn hình “%s” đã có bộ quản lý cửa sổ rồi; hãy thử dùng tùy chọn --replace "
"để thay thế bộ quản lý cửa sổ đang dùng."
#: src/x11/meta-x11-display.c:1067
msgid "Failed to initialize GDK"
msgstr "Gặp lỗi khi khởi tạo GDK"
#: src/x11/meta-x11-display.c:1091
#: src/x11/meta-x11-display.c:1062
#, c-format
msgid "Failed to open X Window System display “%s”"
msgstr "Gặp lỗi khi mở bộ hiển thị Hệ thống Cửa sổ X “%s”"
#: src/x11/meta-x11-display.c:1200
#: src/x11/meta-x11-display.c:1207
#, c-format
msgid "Screen %d on display “%s” is invalid"
msgstr "Màn hình %d trên bộ hiển thị “%s” là không hợp lệ"
#: src/x11/meta-x11-selection-input-stream.c:460
#: src/x11/meta-x11-selection-input-stream.c:481
#, c-format
msgid "Format %s not supported"
msgstr "Không hỗ trợ định dạng %s"
#: src/x11/session.c:1823
msgid ""
"These windows do not support “save current setup” and will have to be "
"restarted manually next time you log in."
msgstr ""
"Những cửa sổ này không hỗ trợ “lưu cài đặt hiện tại” và sẽ phải khởi động "
"lại bằng tay lần kế bạn đăng nhập."
#: src/x11/window-props.c:548
#: src/x11/window-props.c:549
#, c-format
msgid "%s (on %s)"
msgstr "%s (trên %s)"
#~ msgid "Mutter"
#~ msgstr "Mutter"
#~ msgid "No tab popup"
#~ msgstr "Không tab popup"
#~ msgid ""
#~ "Determines whether the use of popup and highlight frame should be "
#~ "disabled for window cycling."
#~ msgstr ""
#~ "Xác định có bỏ qua popup và khung tô sáng khi xoay vòng cửa sổ không."
#~ msgid "Select window from tab popup"
#~ msgstr "Chọn cửa sổ từ thanh nổi lên"
#~ msgid "Cancel tab popup"
#~ msgstr "Hủy thanh nổi lên"
#, c-format
#~ msgid "“%s” is not responding."
#~ msgstr "“%s” không phản ứng."
#~ msgid "Application is not responding."
#~ msgstr "Ứng dụng không phản ứng gì."
#~ msgid ""
#~ "You may choose to wait a short while for it to continue or force the "
#~ "application to quit entirely."
#~ msgstr ""
#~ "Bạn có thể chọn chờ một lát để nó có thể tiếp tục chạy hoặc buộc chấm dứt "
#~ "hoàn toàn ứng dụng."
#~ msgid "_Force Quit"
#~ msgstr "_Buộc thoát"
#~ msgid "_Wait"
#~ msgstr "_Chờ"
#~ msgid "Failed to initialize GDK"
#~ msgstr "Gặp lỗi khi khởi tạo GDK"
#~ msgid ""
#~ "These windows do not support “save current setup” and will have to be "
#~ "restarted manually next time you log in."
#~ msgstr ""
#~ "Những cửa sổ này không hỗ trợ “lưu cài đặt hiện tại” và sẽ phải khởi động "
#~ "lại bằng tay lần kế bạn đăng nhập."
#~ msgid "X display to use"
#~ msgstr "Màn hình X cần dùng"
......@@ -895,16 +912,16 @@ msgstr "%s (trên %s)"
#~ "fg[NORMAL] where NORMAL is the state; could not parse \"%s\""
#~ msgstr ""
#~ "Lời ghi rõ màu GTK phải có trạng thái nằm trong ngoặc, v.d. “gtk:"
#~ "fg[NORMAL]”, NORMAL (bình thường) là trạng thái; không thể phân tích \"%s"
#~ "\"."
#~ "fg[NORMAL]”, NORMAL (bình thường) là trạng thái; không thể phân tích "
#~ "\"%s\"."
#~ msgid ""
#~ "GTK color specification must have a close bracket after the state, e.g. "
#~ "gtk:fg[NORMAL] where NORMAL is the state; could not parse \"%s\""
#~ msgstr ""
#~ "Lời ghi rõ màu GTK phải có dấu đóng ngoặc sau trạng thái, v.d. "
#~ "“fg[NORMAL]”, NORMAL (bình thường) là trạng thái; không thể phân tích \"%s"
#~ "\"."
#~ "“fg[NORMAL]”, NORMAL (bình thường) là trạng thái; không thể phân tích "
#~ "\"%s\"."
#~ msgid "Did not understand state \"%s\" in color specification"
#~ msgstr "Không hiểu trạng thái \"%s\" trong đặc tả màu."
......@@ -1124,8 +1141,8 @@ msgstr "%s (trên %s)"
#~ msgstr "Không cho phép phần tử <%s> dưới <%s>."
#~ msgid ""
#~ "Cannot specify both \"button_width\"/\"button_height\" and \"aspect_ratio"
#~ "\" for buttons"
#~ "Cannot specify both \"button_width\"/\"button_height\" and "
#~ "\"aspect_ratio\" for buttons"
#~ msgstr ""
#~ "Không thể xác định cả hai \"button_width\"/\"button_height\" (chiều rộng/"
#~ "cao của cái nút) và \"aspect_ratio\" (tỷ lệ hình thể) cho cái nút"
......@@ -1506,8 +1523,5 @@ msgstr "%s (trên %s)"
#~ msgid "Workspace 1_0"
#~ msgstr "Vùng làm việc 1_0"
#~ msgid "Workspace %s%d"
#~ msgstr "Vùng làm việc %s%d"
#~ msgid "Move to Another _Workspace"
#~ msgstr "Chuyển sang vùng làm việc _khác"