diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index babf175..efd18a7 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -9,6 +9,10 @@
# Include the parameters we need from Freedesktop CI Templates
include:
- local: 'ci/container_builds.yml'
+ - component: gitlab.gnome.org/GNOME/citemplates/release-service@master
+ inputs:
+ dist-job-name: "opensuse-distcheck"
+ tarball-artifact-path: "_build/meson-dist/$CI_PROJECT_NAME-$CI_COMMIT_TAG.tar.xz"
# Stages in the CI pipeline in which jobs will be run
stages:
@@ -18,6 +22,7 @@ stages:
- analysis
- docs
- deploy
+ - release
# Enable merge request pipelines and avoid duplicate pipelines
# https://docs.gitlab.com/ee/ci/yaml/index.html#switch-between-branch-pipelines-and-merge-request-pipelines
@@ -51,8 +56,8 @@ opensuse-x86_64:
variables:
MESON_EXTRA_FLAGS: "--buildtype=debug" # -Dwerror=true
script:
- # See https://gitlab.gnome.org/GNOME/at-spi2-core/-/merge_requests/137 for the reason for disable_p2p
- - meson setup ${MESON_EXTRA_FLAGS} -Ddisable_p2p=true --prefix /usr _build .
+ - source ci/env.sh
+ - meson setup ${MESON_EXTRA_FLAGS} --prefix /usr _build .
- meson compile -C _build
- meson install -C _build
- mkdir /tmp/test+dir+with+funny+chars
@@ -90,6 +95,29 @@ fedora-x86_64:
paths:
- "_build/meson-logs"
+opensuse-distcheck:
+ stage: build
+ extends:
+ - '.container.opensuse@x86_64'
+ - '.fdo.distribution-image@opensuse'
+ needs: ['opensuse-container@x86_64']
+ variables:
+ MESON_EXTRA_FLAGS: "--buildtype=debug" # -Dwerror=true
+ script:
+ - source ci/env.sh
+ - git config --global --add safe.directory $CI_PROJECT_DIR
+ - meson setup ${MESON_EXTRA_FLAGS} --prefix /usr _build .
+ - meson compile -C _build
+ - meson install -C _build
+ - mkdir /tmp/test+dir+with+funny+chars
+ - export XDG_RUNTIME_DIR=/tmp/test+dir+with+funny+chars # See https://gitlab.gnome.org/GNOME/at-spi2-core/-/issues/48
+ - xvfb-run --auto-servernum dbus-run-session -- ci/run-registryd-tests.sh
+ - xvfb-run --auto-servernum dbus-run-session -- ci/run-tests.sh
+ - meson dist -C _build --no-tests
+ artifacts:
+ paths:
+ - "_build/meson-dist/*.xz"
+
# Run static analysis on the code.
#
# The logs are part of the compilation stderr.
@@ -125,6 +153,7 @@ asan-build:
# https://gitlab.freedesktop.org/dbus/dbus/-/issues/326
LSAN_OPTIONS: "suppressions=${CI_PROJECT_DIR}/ci/address-sanitizer.supp"
script:
+ - source ci/env.sh
- CC=clang meson setup ${MESON_EXTRA_FLAGS} --prefix /usr _build .
- meson compile -C _build
- meson install -C _build
@@ -150,8 +179,7 @@ coverage:
CFLAGS: "-coverage -ftest-coverage -fprofile-arcs"
script:
- source ./ci/env.sh
- # See https://gitlab.gnome.org/GNOME/at-spi2-core/-/merge_requests/137 for the reason for disable_p2p
- - meson setup ${MESON_EXTRA_FLAGS} -Ddisable_p2p=true --prefix /usr _build .
+ - meson setup ${MESON_EXTRA_FLAGS} --prefix /usr _build .
- meson compile -C _build
- meson install -C _build
- xvfb-run --auto-servernum dbus-run-session -- ci/run-registryd-tests.sh
@@ -185,6 +213,7 @@ reference:
variables:
MESON_EXTRA_FLAGS: "--buildtype=release -Ddocs=true"
script:
+ - source ci/env.sh
- meson setup ${MESON_EXTRA_FLAGS} --prefix /usr _build .
- ninja -C _build doc/atk doc/libatspi devel-docs/html
- mkdir _reference
diff --git a/NEWS b/NEWS
index bbd8d21..8a402ba 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,207 @@
+What's new in at-spi2-core 2.59.1:
+
+* Added a build option to link against dbus-glib, rather than using the
+ internal fork for the main loop integration code.
+
+* Add ATSPI_MODIFIER_SUPER as an alias for META3.
+
+* Various documentation fixes.
+
+What's new in at-spi2-core 2.59.0:
+
+ meson: Use dbus-broker by default.
+
+ Document the remaining DBus interfaces.
+
+What's new in at-spi2-core 2.58.3:
+
+* Fix atk_get_major_version etc not linking on C++.
+
+What's new in at-spi2-core 2.58.2:
+
+* python: Speed up __eq__ and __ne__
+
+* collection-adaptor: Correct 'child' reference handling (fixes crashes
+ with evolution and orca).
+
+* Fix several memory leaks.
+
+What's new in at-spi2-core 2.58.1:
+
+* at-spi-bus-launcher: Fix a possible crash when registering.
+
+* python: Avoid traceback when hashing a disposed object
+
+* Fix build failure on MacOS.
+
+* Fix transfer rule for atk_table_cell_get_table and atk_table_get_summary.
+
+What's new in at-spi2-core 2.58.0:
+
+* libatspi: Increase ATSPI_ROLE_COUNT after switch role was added
+
+* Add ATSPI_CHECK_VERSION macro.
+
+* Properly fix key notifications under X11 when multiple keyboard layouts
+ are in use.
+
+What's new in at-spi2-core 2.57.2:
+
+* Don't install at-spi-dbus-bus.service if systemd is not enabled.
+
+* Some collection fixes and documentation improvements.
+
+* Fix reporting the wrong keysym on X11 setups where multiple keyboard
+ layouts are in use.
+
+* Fix possible memory leak in atspi_accessible_get_description.
+
+What's new in at-spi2-core 2.57.1:
+
+* Fix several crashes introduced by the code to handle the accessibility
+ bus going away.
+
+* Add atspi_device_clear_key_grabs.
+
+* Fix key grabs when num lock or caps lock are on under Wayland.
+
+ atk-bridge: Don't crash when requesting a plug if not activated
+
+* Have python overrides check DBus object paths when testing for equality.
+
+* Add sanity checks for child indices received via DBus.
+
+What's new in at-spi2-core 2.57.0:
+
+* device-a11y-manager: Fix crash on dispose
+
+* device-a11y-manager: Check properly for the DBus backend presence
+
+* Fix the build with glib < 2.76.
+
+* a11y-manager-device: Fix unmap_keysym_modifier.
+
+* DeviceEventController: update mouse coordinates before sending button events
+
+* atspi-device-legacy: Don't crash when XkbGetMap fails
+
+* Return localized role name for ATSPI_ROLE_EDITBAR
+
+ atk-adaptor: Reconnect when the bus launcher reappears.
+
+* Don't keep references to uncached objects in the application's hash table.
+
+* Add some Python overrides.
+
+ AtspiDeviceX11: Suppress window events following key grabs when needed.
+
+What's new in at-spi2-core 2.56.0:
+
+* Updated translations.
+
+What's new in at-spi2-core 2.55.90:
+
+* Support grabbing keyboard shortcuts through the new
+ org.freedesktop.a11y.KeyboardMonitor interface. This allows key grabs to
+ be supported under Wayland with the latest mutter.
+
+What's new in at-spi2-core 2.55.2:
+
+* Attempt to fix a use after free in the atk bridge.
+
+* Add a switch role.
+
+What's new in at-spi2-core 2.55.0.1:
+
+* Fix regression in 2.55.0 where ungrabbing keys did not work reliably.
+
+What's new in at-spi2-core 2.55.0:
+
+* Fix various memory leaks.
+
+* Fix the build on FreeBSD.
+
+* Improve warnings when setting a property.
+
+* Use the appropriate annotations for callbacks.
+
+* device: Support adding grabs given a keysym.
+
+What's new in at-spi2-core 2.53.90:
+
+* Make ATSPI_ROLE_PUSH_BUTTON an enum value again.
+
+* atk: Align button role with AT-SPI one.
+
+* Fix warning when atspi_event_quit is called multiple times.
+
+What's new in at-spi2-core 2.53.1:
+
+* tests: Clean up test application on SIGABRT/SIGSEGV.
+
+* Set (allow-none) for nullable parameters to atspi_match_rule_new.
+
+* collection: Allow specifying specific action names in match rules.
+
+ atk-adaptor: Fix duplicated results in GetMatchesFrom.
+
+* atk-adaptor: For collections, don't return objects with 0 actions as
+ supporting AtkAction.
+
+* Rename ATSPI_ROLE_PUSH_BUTTON to ATSPI_ROLE_BUTTON.
+
+What's new in at-spi2-core 2.53.0:
+
+ Add missing prototypes for functions to check the presence of interfaces.
+
+* Replace disable_p2p with an ATSPI_DISABLE_P2P environment variable.
+
+* Drop use of deprecated eaves-dropping option in dbus configuration
+
+ atk-adaptor: Limit amount of children to return for GetChildren
+
+* Notify about HelpText attribute change.
+
+* Fix possible double unref in add_accessible_from_iter.
+
+What's new in at-spi2-core 2.52.0:
+
+* tests: Fix missing declaration for getpid().
+
+What's new in at-spi2-core 2.51.90:
+
+* Back out code to generate mouse events on mutter. It had a couple of
+ unwanted side effects. Also remove dependencies on libei and xkbcommon.
+
+* atk-adaptor: Fix collection role matching.
+
+* Have atspi_text_get_string_at_offset fall back to calling
+ GetTextAtOffset if GetStringAtOffset is unimplemented.
+
+* Don't use g_assert in the unit tests.
+
+What's new in at-spi2-core 2.51.91:
+
+ Add an attribute-changed signal in atk, and update libatspi attribute cache.
+
+* Add GetTextSelection and SetTextSelection to Document interface.
+
+* Add atspi_device_generate_mouse_event, and implement for mutter.
+
+* Have atspi_device_add_key_grab return 0 if XIGrabKeycode fails.
+
+* xml: Add Embedded to the Socket interface
+
+* Don't return uninitialized values if atspi_component_get_size/position fail.
+
+What's new in at-spi2-core 2.51.0:
+
+* atk-adaptor: Fix critical when no table cell array is returned.
+
+* accessible: Do not rename deprecated methods to the new names.
+
+* Add HelpText property and corresponding functions in atk and libatspi.
+
What's new in at-spi2-core 2.50.0:
* Fix at-spi2-atk test when running under a non-English locale.
diff --git a/at-spi2-core.doap b/at-spi2-core.doap
index d092d61..5700b67 100644
--- a/at-spi2-core.doap
+++ b/at-spi2-core.doap
@@ -67,13 +67,4 @@ communication to allow accessibility-oriented software to operate.
-
-
-
-
- Marge Bot
- marge-bot
-
-
-
diff --git a/atk-adaptor/accessible-cache.c b/atk-adaptor/accessible-cache.c
index 1452a10..25b4394 100644
--- a/atk-adaptor/accessible-cache.c
+++ b/atk-adaptor/accessible-cache.c
@@ -133,6 +133,20 @@ spi_cache_init (SpiCache *cache)
(GCallback) toplevel_added_listener, NULL);
}
+static void
+cache_weak_ref (gpointer data, GObject *gobj)
+{
+ SpiCache *cache = SPI_CACHE (data);
+
+ g_hash_table_remove (cache->objects, gobj);
+}
+
+static void
+spi_cache_remove_weak_ref (gpointer key, gpointer val, gpointer cache)
+{
+ g_object_weak_unref (key, cache_weak_ref, cache);
+}
+
static void
spi_cache_finalize (GObject *object)
{
@@ -141,6 +155,7 @@ spi_cache_finalize (GObject *object)
while (!g_queue_is_empty (cache->add_traversal))
g_object_unref (G_OBJECT (g_queue_pop_head (cache->add_traversal)));
g_queue_free (cache->add_traversal);
+ g_hash_table_foreach (cache->objects, spi_cache_remove_weak_ref, cache);
g_hash_table_unref (cache->objects);
g_signal_handlers_disconnect_by_func (spi_global_register,
@@ -169,6 +184,7 @@ remove_object (GObject *source, GObject *gobj, gpointer data)
spi_register_object_to_path (spi_global_register, gobj));
#endif
g_signal_emit (cache, cache_signals[OBJECT_REMOVED], 0, gobj);
+ g_object_weak_unref (G_OBJECT (gobj), cache_weak_ref, cache);
g_hash_table_remove (cache->objects, gobj);
}
else if (g_queue_remove (cache->add_traversal, gobj))
@@ -183,6 +199,7 @@ add_object (SpiCache *cache, GObject *gobj)
g_return_if_fail (G_IS_OBJECT (gobj));
g_hash_table_insert (cache->objects, gobj, NULL);
+ g_object_weak_ref (G_OBJECT (gobj), cache_weak_ref, cache);
#ifdef SPI_ATK_DEBUG
g_debug ("CACHE ADD - %s - %d - %s\n", atk_object_get_name (ATK_OBJECT (gobj)),
@@ -303,10 +320,6 @@ add_pending_items (gpointer data)
{
current = g_queue_pop_head (to_add);
- /* Make sure object is registerd so we are notified if it goes away */
- g_free (spi_register_object_to_path (spi_global_register,
- G_OBJECT (current)));
-
add_object (cache, G_OBJECT (current));
g_object_unref (G_OBJECT (current));
}
diff --git a/atk-adaptor/accessible-cache.h b/atk-adaptor/accessible-cache.h
index af29dbd..e631bdc 100644
--- a/atk-adaptor/accessible-cache.h
+++ b/atk-adaptor/accessible-cache.h
@@ -20,8 +20,7 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef ACCESSIBLE_CACHE_H
-#define ACCESSIBLE_CACHE_H
+#pragma once
#include
#include
@@ -64,4 +63,3 @@ gboolean
spi_cache_in (SpiCache *cache, GObject *object);
G_END_DECLS
-#endif /* ACCESSIBLE_CACHE_H */
diff --git a/atk-adaptor/accessible-leasing.c b/atk-adaptor/accessible-leasing.c
index e662fbc..00ff95a 100644
--- a/atk-adaptor/accessible-leasing.c
+++ b/atk-adaptor/accessible-leasing.c
@@ -66,6 +66,7 @@ static void
spi_leasing_init (SpiLeasing *leasing)
{
leasing->expiry_queue = g_queue_new ();
+ leasing->expiry_queue_hash = g_hash_table_new (g_direct_hash, g_direct_equal);
leasing->expiry_func_id = 0;
}
@@ -76,6 +77,7 @@ spi_leasing_finalize (GObject *object)
if (leasing->expiry_func_id)
g_source_remove (leasing->expiry_func_id);
+ g_hash_table_unref (leasing->expiry_queue_hash);
g_queue_free (leasing->expiry_queue);
G_OBJECT_CLASS (spi_leasing_parent_class)->finalize (object);
}
@@ -90,6 +92,7 @@ spi_leasing_dispose (GObject *object)
{
g_object_unref (head->object);
g_slice_free (ExpiryElement, head);
+ g_hash_table_remove (leasing->expiry_queue_hash, object);
}
G_OBJECT_CLASS (spi_leasing_parent_class)->dispose (object);
}
@@ -119,6 +122,7 @@ expiry_func (gpointer data)
spi_cache_print_info (current->object);
#endif
+ g_hash_table_remove (leasing->expiry_queue_hash, current->object);
g_object_unref (current->object);
g_slice_free (ExpiryElement, current);
@@ -178,9 +182,13 @@ add_expiry_timeout (SpiLeasing *leasing)
GObject *
spi_leasing_take (SpiLeasing *leasing, GObject *object)
{
+ GList *old_entry;
+ ExpiryElement *elem;
+
/*
Get the current time.
Quantize the time.
+ Remove any earlier lease for the given object.
Add the release event to the queue.
Check the next expiry.
*/
@@ -188,15 +196,25 @@ spi_leasing_take (SpiLeasing *leasing, GObject *object)
gint64 secs = g_get_monotonic_time () / 1000000;
guint expiry_s;
- ExpiryElement *elem;
-
expiry_s = secs + EXPIRY_TIME_S;
- elem = g_slice_new (ExpiryElement);
+ old_entry = g_hash_table_lookup (leasing->expiry_queue_hash, object);
+ if (old_entry)
+ {
+ elem = old_entry->data;
+ g_queue_delete_link (leasing->expiry_queue, old_entry);
+ g_hash_table_remove (leasing->expiry_queue_hash, object);
+ }
+ else
+ {
+ elem = g_slice_new (ExpiryElement);
+ elem->object = g_object_ref (object);
+ }
+
elem->expiry_s = expiry_s;
- elem->object = g_object_ref (object);
g_queue_push_tail (leasing->expiry_queue, elem);
+ g_hash_table_insert (leasing->expiry_queue_hash, object, leasing->expiry_queue->tail);
add_expiry_timeout (leasing);
diff --git a/atk-adaptor/accessible-leasing.h b/atk-adaptor/accessible-leasing.h
index eefc7f1..0d631d0 100644
--- a/atk-adaptor/accessible-leasing.h
+++ b/atk-adaptor/accessible-leasing.h
@@ -21,8 +21,7 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef ACCESSIBLE_LEASING_H
-#define ACCESSIBLE_LEASING_H
+#pragma once
#include
#include
@@ -43,6 +42,7 @@ struct _SpiLeasing
GObject parent;
GQueue *expiry_queue;
+ GHashTable *expiry_queue_hash;
guint expiry_func_id;
};
@@ -58,4 +58,3 @@ extern SpiLeasing *spi_global_leasing;
GObject *spi_leasing_take (SpiLeasing *leasing, GObject *object);
G_END_DECLS
-#endif /* ACCESSIBLE_LEASING_H */
diff --git a/atk-adaptor/accessible-register.c b/atk-adaptor/accessible-register.c
index 6361ec4..e7521c0 100644
--- a/atk-adaptor/accessible-register.c
+++ b/atk-adaptor/accessible-register.c
@@ -198,12 +198,14 @@ spi_register_deregister_object (SpiRegister *reg, GObject *gobj, gboolean unref)
ref = object_to_ref (gobj);
if (ref != 0)
{
- g_signal_emit (reg,
- register_signals[OBJECT_DEREGISTERED],
- 0,
- gobj);
if (unref)
- g_object_weak_unref (gobj, deregister_object, reg);
+ {
+ g_signal_emit (reg,
+ register_signals[OBJECT_DEREGISTERED],
+ 0,
+ gobj);
+ g_object_weak_unref (gobj, deregister_object, reg);
+ }
g_hash_table_remove (reg->ref2ptr, GINT_TO_POINTER (ref));
#ifdef SPI_ATK_DEBUG
diff --git a/atk-adaptor/accessible-register.h b/atk-adaptor/accessible-register.h
index 3d1bb75..2464fcd 100644
--- a/atk-adaptor/accessible-register.h
+++ b/atk-adaptor/accessible-register.h
@@ -21,8 +21,7 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef ACCESSIBLE_REGISTER_H
-#define ACCESSIBLE_REGISTER_H
+#pragma once
#include
#include
@@ -76,5 +75,3 @@ void
spi_register_deregister_object (SpiRegister *reg, GObject *gobj, gboolean unref);
/*---------------------------------------------------------------------------*/
-
-#endif /* ACCESSIBLE_REGISTER_H */
diff --git a/atk-adaptor/accessible-stateset.h b/atk-adaptor/accessible-stateset.h
index cffab53..9070344 100644
--- a/atk-adaptor/accessible-stateset.h
+++ b/atk-adaptor/accessible-stateset.h
@@ -21,8 +21,7 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef ACCESSIBLE_STATE_SET_H_
-#define ACCESSIBLE_STATE_SET_H_
+#pragma once
#include "atk/atk.h"
#include "atspi/atspi.h"
@@ -47,5 +46,3 @@ void spi_atk_state_set_to_dbus_array (AtkStateSet *set, dbus_uint32_t *array);
#define spi_state_set_cache_is_empty(a) atk_state_set_is_empty (ATK_STATE_SET (a))
G_END_DECLS
-
-#endif /* ACCESSIBLE_STATE_SET_H_ */
diff --git a/atk-adaptor/adaptors/accessible-adaptor.c b/atk-adaptor/adaptors/accessible-adaptor.c
index dc7d321..077cafa 100644
--- a/atk-adaptor/adaptors/accessible-adaptor.c
+++ b/atk-adaptor/adaptors/accessible-adaptor.c
@@ -33,6 +33,12 @@
#include "spi-dbus.h"
#include
+static dbus_bool_t
+impl_get_Version (DBusMessageIter *iter, void *user_data)
+{
+ return droute_return_v_uint32 (iter, SPI_DBUS_ACCESSIBLE_VERSION);
+}
+
static dbus_bool_t
impl_get_Name (DBusMessageIter *iter, void *user_data)
{
@@ -202,6 +208,16 @@ impl_GetChildren (DBusConnection *bus,
g_return_val_if_fail (ATK_IS_OBJECT (user_data),
droute_not_yet_handled_error (message));
count = atk_object_get_n_accessible_children (object);
+
+ if (count > ATSPI_MAX_CHILDREN)
+ {
+ gchar *errmsg = g_strdup_printf (
+ "Accessible's child count %d exceeds the maximum of %d handled by GetChildren.", count, ATSPI_MAX_CHILDREN);
+ reply = dbus_message_new_error (message, DBUS_ERROR_INVALID_ARGS, errmsg);
+ g_free (errmsg);
+ return reply;
+ }
+
reply = dbus_message_new_method_return (message);
if (!reply)
goto oom;
@@ -568,6 +584,16 @@ impl_get_AccessibleId (DBusMessageIter *iter, void *user_data)
return droute_return_v_string (iter, atk_object_get_accessible_id (object));
}
+static dbus_bool_t
+impl_get_HelpText (DBusMessageIter *iter, void *user_data)
+{
+ AtkObject *object = (AtkObject *) user_data;
+
+ g_return_val_if_fail (ATK_IS_OBJECT (user_data), FALSE);
+
+ return droute_return_v_string (iter, atk_object_get_help_text (object));
+}
+
static DRouteMethod methods[] = {
{ impl_GetChildAtIndex, "GetChildAtIndex" },
{ impl_GetChildren, "GetChildren" },
@@ -591,6 +617,8 @@ static DRouteProperty properties[] = {
{ impl_get_ChildCount, NULL, "ChildCount" },
{ impl_get_Attributes, NULL, "Attributes" },
{ impl_get_AccessibleId, NULL, "AccessibleId" },
+ { impl_get_HelpText, NULL, "HelpText" },
+ { impl_get_Version, NULL, "version" },
{ NULL, NULL, NULL }
};
diff --git a/atk-adaptor/adaptors/action-adaptor.c b/atk-adaptor/adaptors/action-adaptor.c
index 284fd29..dd1983c 100644
--- a/atk-adaptor/adaptors/action-adaptor.c
+++ b/atk-adaptor/adaptors/action-adaptor.c
@@ -30,6 +30,12 @@
#include "introspection.h"
+static dbus_bool_t
+impl_get_Version (DBusMessageIter *iter, void *user_data)
+{
+ return droute_return_v_uint32 (iter, SPI_DBUS_ACTION_VERSION);
+}
+
static dbus_bool_t
impl_get_NActions (DBusMessageIter *iter, void *user_data)
{
@@ -226,6 +232,7 @@ DRouteMethod methods[] = {
static DRouteProperty properties[] = {
{ impl_get_NActions, NULL, "NActions" },
+ { impl_get_Version, NULL, "version" },
{ NULL, NULL }
};
diff --git a/atk-adaptor/adaptors/adaptors.h b/atk-adaptor/adaptors/adaptors.h
index 28691a7..e0fc4ed 100644
--- a/atk-adaptor/adaptors/adaptors.h
+++ b/atk-adaptor/adaptors/adaptors.h
@@ -21,8 +21,7 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef ADAPTORS_H
-#define ADAPTORS_H
+#pragma once
#include
#include
@@ -46,5 +45,3 @@ void spi_initialize_table_cell (DRoutePath *path);
void spi_initialize_text (DRoutePath *path);
void spi_initialize_value (DRoutePath *path);
void spi_initialize_cache (DRoutePath *path);
-
-#endif /* ADAPTORS_H */
diff --git a/atk-adaptor/adaptors/application-adaptor.c b/atk-adaptor/adaptors/application-adaptor.c
index 2c0d83d..2f77ab3 100644
--- a/atk-adaptor/adaptors/application-adaptor.c
+++ b/atk-adaptor/adaptors/application-adaptor.c
@@ -37,12 +37,24 @@ impl_get_ToolkitName (DBusMessageIter *iter, void *user_data)
return droute_return_v_string (iter, atk_get_toolkit_name ());
}
+static dbus_bool_t
+impl_get_ToolkitVersion (DBusMessageIter *iter, void *user_data)
+{
+ return droute_return_v_string (iter, atk_get_toolkit_version ());
+}
+
static dbus_bool_t
impl_get_Version (DBusMessageIter *iter, void *user_data)
{
return droute_return_v_string (iter, atk_get_toolkit_version ());
}
+static dbus_bool_t
+impl_get_InterfaceVersion (DBusMessageIter *iter, void *user_data)
+{
+ return droute_return_v_uint32 (iter, SPI_DBUS_APPLICATION_VERSION);
+}
+
static dbus_bool_t
impl_get_AtspiVersion (DBusMessageIter *iter, void *user_data)
{
@@ -117,8 +129,10 @@ static DRouteMethod methods[] = {
static DRouteProperty properties[] = {
{ impl_get_ToolkitName, NULL, "ToolkitName" },
+ { impl_get_ToolkitVersion, NULL, "ToolkitVersion" },
{ impl_get_Version, NULL, "Version" },
{ impl_get_AtspiVersion, NULL, "AtspiVersion" },
+ { impl_get_InterfaceVersion, NULL, "InterfaceVersion" },
{ impl_get_Id, impl_set_Id, "Id" },
{ NULL, NULL, NULL }
};
diff --git a/atk-adaptor/adaptors/cache-adaptor.c b/atk-adaptor/adaptors/cache-adaptor.c
index 63a984b..a8848fe 100644
--- a/atk-adaptor/adaptors/cache-adaptor.c
+++ b/atk-adaptor/adaptors/cache-adaptor.c
@@ -260,6 +260,9 @@ emit_cache_remove (SpiCache *cache, GObject *obj)
{
DBusMessage *message;
+ if (!spi_global_app_data->bus)
+ return;
+
if ((message = dbus_message_new_signal (SPI_CACHE_OBJECT_PATH,
ATSPI_DBUS_INTERFACE_CACHE,
"RemoveAccessible")))
@@ -282,6 +285,9 @@ emit_cache_add (SpiCache *cache, GObject *obj)
AtkObject *accessible = ATK_OBJECT (obj);
DBusMessage *message;
+ if (!spi_global_app_data->bus)
+ return;
+
if ((message = dbus_message_new_signal (SPI_CACHE_OBJECT_PATH,
ATSPI_DBUS_INTERFACE_CACHE,
"AddAccessible")))
@@ -332,6 +338,12 @@ impl_GetItems (DBusConnection *bus, DBusMessage *message, void *user_data)
return reply;
}
+static dbus_bool_t
+impl_get_Version (DBusMessageIter *iter, void *user_data)
+{
+ return droute_return_v_uint32 (iter, SPI_DBUS_CACHE_VERSION);
+}
+
/*---------------------------------------------------------------------------*/
static DRouteMethod methods[] = {
@@ -340,10 +352,16 @@ static DRouteMethod methods[] = {
{ NULL, NULL }
};
+static DRouteProperty properties[] = {
+ { impl_get_Version, NULL, "version" },
+ { NULL, NULL }
+};
+
void
spi_initialize_cache (DRoutePath *path)
{
- droute_path_add_interface (path, ATSPI_DBUS_INTERFACE_CACHE, spi_org_a11y_atspi_Cache, methods, NULL);
+ droute_path_add_interface (path, ATSPI_DBUS_INTERFACE_CACHE, spi_org_a11y_atspi_Cache,
+ methods, properties);
g_signal_connect (spi_global_cache, "object-added",
(GCallback) emit_cache_add, NULL);
diff --git a/atk-adaptor/adaptors/collection-adaptor.c b/atk-adaptor/adaptors/collection-adaptor.c
index cd9d375..177dd8f 100644
--- a/atk-adaptor/adaptors/collection-adaptor.c
+++ b/atk-adaptor/adaptors/collection-adaptor.c
@@ -37,8 +37,6 @@
#include "introspection.h"
#include "object.h"
-#define MAX_CHILDREN 65536
-
typedef struct _MatchRulePrivate MatchRulePrivate;
struct _MatchRulePrivate
{
@@ -56,8 +54,38 @@ struct _MatchRulePrivate
static gboolean
child_interface_p (AtkObject *child, gchar *repo_id)
{
- if (!strcasecmp (repo_id, "action"))
- return ATK_IS_ACTION (child);
+ if (!strncasecmp (repo_id, "action", 6))
+ {
+ AtkAction *iface;
+ gint i, count;
+ char *p;
+ char name[64];
+ if (!ATK_IS_ACTION (child))
+ return FALSE;
+ iface = ATK_ACTION (child);
+ count = atk_action_get_n_actions (iface);
+ if (count <= 0)
+ return FALSE;
+ if (repo_id[6] == '\0')
+ return TRUE;
+ p = strchr (repo_id, '(');
+ if (!p)
+ return FALSE;
+ strncpy (name, p + 1, sizeof (name) - 1);
+ name[sizeof (name) - 1] = '\0';
+ p = strchr (name, ')');
+ if (p)
+ *p = '\0';
+ for (i = 0; i < count; i++)
+ {
+ const char *action = atk_action_get_name (iface, i);
+ if (!strcasecmp (name, action))
+ return TRUE;
+ }
+ return FALSE;
+ }
+ if (!strcasecmp (repo_id, "accessible") || !strcasecmp (repo_id, "collection"))
+ return ATK_IS_OBJECT (child);
if (!strcasecmp (repo_id, "component"))
return ATK_IS_COMPONENT (child);
if (!strcasecmp (repo_id, "editabletext"))
@@ -81,8 +109,6 @@ child_interface_p (AtkObject *child, gchar *repo_id)
return FALSE;
}
-#define child_collection_p(ch) (TRUE)
-
static gboolean
match_states_all_p (AtkObject *child, gint *set)
{
@@ -199,7 +225,7 @@ match_roles_all_p (AtkObject *child, gint *roles)
else if (roles[1] != BITARRAY_SEQ_TERM)
return FALSE;
- return (atk_object_get_role (child) == roles[0]);
+ return (spi_get_role (child) == roles[0]);
}
static gboolean
@@ -223,13 +249,13 @@ match_roles_any_p (AtkObject *child, gint *roles)
static gboolean
match_roles_none_p (AtkObject *child, gint *roles)
{
- AtkRole role;
+ AtspiRole role;
int i;
if (roles == NULL || roles[0] == BITARRAY_SEQ_TERM)
return TRUE;
- role = atk_object_get_role (child);
+ role = spi_get_role (child);
for (i = 0; roles[i] != BITARRAY_SEQ_TERM; i++)
if (role == roles[i])
@@ -471,24 +497,15 @@ match_attributes_lookup (AtkObject *child, MatchRulePrivate *mrp)
return FALSE;
}
-static gboolean
-traverse_p (AtkObject *child, const gboolean traverse)
-{
- if (traverse)
- return TRUE;
- else
- return !child_collection_p (child);
-}
-
static int
-sort_order_canonical (MatchRulePrivate *mrp, GList *ls, gint kount, gint max, AtkObject *obj, glong index, gboolean flag, AtkObject *pobj, gboolean recurse, gboolean traverse)
+sort_order_canonical (MatchRulePrivate *mrp, GPtrArray *arr, gint kount, gint max, AtkObject *obj, glong index, gboolean flag, AtkObject *pobj, gboolean traverse)
{
gint i = index;
glong acount = atk_object_get_n_accessible_children (obj);
gboolean prev = pobj ? TRUE : FALSE;
- if (acount > MAX_CHILDREN)
- acount = MAX_CHILDREN;
+ if (acount > ATSPI_MAX_CHILDREN)
+ acount = ATSPI_MAX_CHILDREN;
for (; i < acount && (max == 0 || kount < max); i++)
{
AtkObject *child = atk_object_ref_accessible_child (obj, i);
@@ -505,24 +522,24 @@ sort_order_canonical (MatchRulePrivate *mrp, GList *ls, gint kount, gint max, At
if (flag && match_interfaces_lookup (child, mrp) && match_states_lookup (child, mrp) && match_roles_lookup (child, mrp) && match_attributes_lookup (child, mrp))
{
- ls = g_list_append (ls, child);
+ g_ptr_array_add (arr, g_object_ref (child));
kount++;
}
if (!flag)
flag = TRUE;
- if (recurse && traverse_p (child, traverse))
- kount = sort_order_canonical (mrp, ls, kount,
+ if (traverse)
+ kount = sort_order_canonical (mrp, arr, kount,
max, child, 0, TRUE,
- pobj, recurse, traverse);
+ pobj, traverse);
g_object_unref (child);
}
return kount;
}
static int
-sort_order_rev_canonical (MatchRulePrivate *mrp, GList *ls, gint kount, gint max, AtkObject *obj, gboolean flag, AtkObject *pobj)
+sort_order_rev_canonical (MatchRulePrivate *mrp, GPtrArray *arr, gint kount, gint max, AtkObject *obj, gboolean flag, AtkObject *pobj)
{
AtkObject *nextobj;
AtkObject *parent;
@@ -537,7 +554,7 @@ sort_order_rev_canonical (MatchRulePrivate *mrp, GList *ls, gint kount, gint max
/* Add to the list if it matches */
if (flag && match_interfaces_lookup (obj, mrp) && match_states_lookup (obj, mrp) && match_roles_lookup (obj, mrp) && match_attributes_lookup (obj, mrp) && (max == 0 || kount < max))
{
- ls = g_list_append (ls, obj);
+ g_ptr_array_add (arr, g_object_ref (obj));
kount++;
}
@@ -557,15 +574,15 @@ sort_order_rev_canonical (MatchRulePrivate *mrp, GList *ls, gint kount, gint max
{
AtkObject *follow;
gint count = atk_object_get_n_accessible_children (nextobj);
- if (count > MAX_CHILDREN)
- count = MAX_CHILDREN;
+ if (count > ATSPI_MAX_CHILDREN)
+ count = ATSPI_MAX_CHILDREN;
follow = atk_object_ref_accessible_child (nextobj, count - 1);
g_object_unref (nextobj);
nextobj = follow;
}
/* recurse with the last descendant */
- kount = sort_order_rev_canonical (mrp, ls, kount, max,
+ kount = sort_order_rev_canonical (mrp, arr, kount, max,
nextobj, TRUE, pobj);
if (nextobj)
g_object_unref (nextobj);
@@ -573,24 +590,24 @@ sort_order_rev_canonical (MatchRulePrivate *mrp, GList *ls, gint kount, gint max
else if (max == 0 || kount < max)
{
/* no more siblings so next node must be the parent */
- kount = sort_order_rev_canonical (mrp, ls, kount, max,
+ kount = sort_order_rev_canonical (mrp, arr, kount, max,
parent, TRUE, pobj);
}
return kount;
}
static int
-query_exec (MatchRulePrivate *mrp, AtspiCollectionSortOrder sortby, GList *ls, gint kount, gint max, AtkObject *obj, glong index, gboolean flag, AtkObject *pobj, gboolean recurse, gboolean traverse)
+query_exec (MatchRulePrivate *mrp, AtspiCollectionSortOrder sortby, GPtrArray *arr, gint kount, gint max, AtkObject *obj, glong index, gboolean flag, AtkObject *pobj, gboolean traverse)
{
switch (sortby)
{
case ATSPI_Collection_SORT_ORDER_CANONICAL:
- kount = sort_order_canonical (mrp, ls, 0, max, obj, index, flag,
- pobj, recurse, traverse);
+ kount = sort_order_canonical (mrp, arr, 0, max, obj, index, flag,
+ pobj, traverse);
break;
case ATSPI_Collection_SORT_ORDER_REVERSE_CANONICAL:
- kount = sort_order_canonical (mrp, ls, 0, max, obj, index, flag,
- pobj, recurse, traverse);
+ kount = sort_order_canonical (mrp, arr, 0, max, obj, index, flag,
+ pobj, traverse);
break;
default:
kount = 0;
@@ -735,11 +752,11 @@ read_mr (DBusMessageIter *iter, MatchRulePrivate *mrp)
}
static DBusMessage *
-return_and_free_list (DBusMessage *message, GList *ls)
+return_and_free_array (DBusMessage *message, GPtrArray *arr, gboolean reverse_order)
{
DBusMessage *reply;
DBusMessageIter iter, iter_array;
- GList *item;
+ guint ii;
reply = dbus_message_new_method_return (message);
if (!reply)
@@ -747,17 +764,18 @@ return_and_free_list (DBusMessage *message, GList *ls)
dbus_message_iter_init_append (reply, &iter);
if (!dbus_message_iter_open_container (&iter, DBUS_TYPE_ARRAY, "(so)", &iter_array))
goto oom;
- for (item = ls; item; item = g_list_next (item))
+ for (ii = 0; ii < arr->len; ii++)
{
- spi_object_append_reference (&iter_array, ATK_OBJECT (item->data));
+ AtkObject *obj = ATK_OBJECT (g_ptr_array_index (arr, reverse_order ? arr->len - ii - 1 : ii));
+ spi_object_append_reference (&iter_array, obj);
}
if (!dbus_message_iter_close_container (&iter, &iter_array))
goto oom;
- g_list_free (ls);
+ g_ptr_array_unref (arr);
return reply;
oom:
// TODO: Handle out of memory
- g_list_free (ls);
+ g_ptr_array_unref (arr);
return reply;
}
@@ -779,29 +797,24 @@ GetMatchesFrom (DBusMessage *message,
dbus_int32_t count,
const dbus_bool_t traverse)
{
- GList *ls = NULL;
+ GPtrArray *arr;
AtkObject *parent;
glong index = atk_object_get_index_in_parent (current_object);
- ls = g_list_append (ls, current_object);
+ arr = g_ptr_array_new_with_free_func (g_object_unref);
if (!isrestrict)
{
parent = atk_object_get_parent (current_object);
- query_exec (mrp, sortby, ls, 0, count, parent, index,
- FALSE, NULL, TRUE, traverse);
+ query_exec (mrp, sortby, arr, 0, count, parent, index,
+ FALSE, NULL, traverse);
}
else
- query_exec (mrp, sortby, ls, 0, count,
- current_object, 0, FALSE, NULL, TRUE, traverse);
-
- ls = g_list_remove (ls, ls->data);
-
- if (sortby == ATSPI_Collection_SORT_ORDER_REVERSE_CANONICAL)
- ls = g_list_reverse (ls);
+ query_exec (mrp, sortby, arr, 0, count,
+ current_object, 0, FALSE, NULL, traverse);
free_mrp_data (mrp);
- return return_and_free_list (message, ls);
+ return return_and_free_array (message, arr, sortby == ATSPI_Collection_SORT_ORDER_REVERSE_CANONICAL);
}
/*
@@ -809,30 +822,24 @@ GetMatchesFrom (DBusMessage *message,
*/
static int
-inorder (AtkObject *collection, MatchRulePrivate *mrp, GList *ls, gint kount, gint max, AtkObject *obj, gboolean flag, AtkObject *pobj, dbus_bool_t traverse)
+inorder (AtkObject *collection, MatchRulePrivate *mrp, GPtrArray *arr, gint kount, gint max, AtkObject *obj, gboolean flag, AtkObject *pobj, dbus_bool_t traverse)
{
int i = 0;
/* First, look through the children recursively. */
- kount = sort_order_canonical (mrp, ls, kount, max, obj, 0, TRUE,
- NULL, TRUE, TRUE);
+ kount = sort_order_canonical (mrp, arr, kount, max, obj, 0, TRUE,
+ NULL, TRUE);
/* Next, we look through the right subtree */
while ((max == 0 || kount < max) && obj && obj != collection)
{
AtkObject *parent = atk_object_get_parent (obj);
i = atk_object_get_index_in_parent (obj);
- kount = sort_order_canonical (mrp, ls, kount, max, parent,
- i + 1, TRUE, FALSE, TRUE, TRUE);
+ kount = sort_order_canonical (mrp, arr, kount, max, parent,
+ i + 1, TRUE, FALSE, TRUE);
obj = parent;
}
- if (max == 0 || kount < max)
- {
- kount = sort_order_canonical (mrp, ls, kount, max,
- obj, i + 1, TRUE, FALSE, TRUE, TRUE);
- }
-
return kount;
}
@@ -849,23 +856,18 @@ GetMatchesInOrder (DBusMessage *message,
dbus_int32_t count,
const dbus_bool_t traverse)
{
- GList *ls = NULL;
+ GPtrArray *arr;
AtkObject *obj;
- ls = g_list_append (ls, current_object);
+ arr = g_ptr_array_new_with_free_func (g_object_unref);
obj = ATK_OBJECT (spi_register_path_to_object (spi_global_register, dbus_message_get_path (message)));
- inorder (obj, mrp, ls, 0, count,
+ inorder (obj, mrp, arr, 0, count,
current_object, TRUE, NULL, traverse);
- ls = g_list_remove (ls, ls->data);
-
- if (sortby == ATSPI_Collection_SORT_ORDER_REVERSE_CANONICAL)
- ls = g_list_reverse (ls);
-
free_mrp_data (mrp);
- return return_and_free_list (message, ls);
+ return return_and_free_array (message, arr, sortby == ATSPI_Collection_SORT_ORDER_REVERSE_CANONICAL);
}
/*
@@ -880,23 +882,18 @@ GetMatchesInBackOrder (DBusMessage *message,
const AtspiCollectionSortOrder sortby,
dbus_int32_t count)
{
- GList *ls = NULL;
+ GPtrArray *arr;
AtkObject *collection;
- ls = g_list_append (ls, current_object);
+ arr = g_ptr_array_new_with_free_func (g_object_unref);
collection = ATK_OBJECT (spi_register_path_to_object (spi_global_register, dbus_message_get_path (message)));
- sort_order_rev_canonical (mrp, ls, 0, count, current_object,
+ sort_order_rev_canonical (mrp, arr, 0, count, current_object,
FALSE, collection);
- ls = g_list_remove (ls, ls->data);
-
- if (sortby == ATSPI_Collection_SORT_ORDER_REVERSE_CANONICAL)
- ls = g_list_reverse (ls);
-
free_mrp_data (mrp);
- return return_and_free_list (message, ls);
+ return return_and_free_array (message, arr, sortby == ATSPI_Collection_SORT_ORDER_REVERSE_CANONICAL);
}
static DBusMessage *
@@ -909,30 +906,26 @@ GetMatchesTo (DBusMessage *message,
dbus_int32_t count,
const dbus_bool_t traverse)
{
- GList *ls = NULL;
+ GPtrArray *arr;
AtkObject *obj;
- ls = g_list_append (ls, current_object);
+
+ arr = g_ptr_array_new_with_free_func (g_object_unref);
if (recurse)
{
obj = ATK_OBJECT (atk_object_get_parent (current_object));
- query_exec (mrp, sortby, ls, 0, count,
- obj, 0, TRUE, current_object, TRUE, traverse);
+ query_exec (mrp, sortby, arr, 0, count,
+ obj, 0, TRUE, current_object, traverse);
}
else
{
obj = ATK_OBJECT (spi_register_path_to_object (spi_global_register, dbus_message_get_path (message)));
- query_exec (mrp, sortby, ls, 0, count,
- obj, 0, TRUE, current_object, TRUE, traverse);
+ query_exec (mrp, sortby, arr, 0, count,
+ obj, 0, TRUE, current_object, traverse);
}
- ls = g_list_remove (ls, ls->data);
-
- if (sortby != ATSPI_Collection_SORT_ORDER_REVERSE_CANONICAL)
- ls = g_list_reverse (ls);
-
free_mrp_data (mrp);
- return return_and_free_list (message, ls);
+ return return_and_free_array (message, arr, sortby != ATSPI_Collection_SORT_ORDER_REVERSE_CANONICAL);
}
static DBusMessage *
@@ -991,6 +984,7 @@ impl_GetMatchesFrom (DBusConnection *bus, DBusMessage *message, void *user_data)
&rule, sortby, TRUE, count, traverse);
break;
default:
+ free_mrp_data (&rule);
return NULL;
}
}
@@ -1054,6 +1048,7 @@ impl_GetMatchesTo (DBusConnection *bus, DBusMessage *message, void *user_data)
&rule, sortby, count);
break;
default:
+ free_mrp_data (&rule);
return NULL;
}
}
@@ -1130,8 +1125,8 @@ append_accessible_properties (DBusMessageIter *iter, AtkObject *obj, GArray *pro
return;
}
count = atk_object_get_n_accessible_children (obj);
- if (count > MAX_CHILDREN)
- count = MAX_CHILDREN;
+ if (count > ATSPI_MAX_CHILDREN)
+ count = ATSPI_MAX_CHILDREN;
for (i = 0; i < count; i++)
{
AtkObject *child = atk_object_ref_accessible_child (obj, i);
@@ -1143,97 +1138,6 @@ append_accessible_properties (DBusMessageIter *iter, AtkObject *obj, GArray *pro
}
}
-#if 0
-static void
-skip (const char **p)
-{
- const char *sig = *p;
- gint nest = (*sig != 'a');
-
- sig++;
- while (*sig)
- {
- if (*sig == '(' || *sig == '{')
- nest++;
- else if (*sig == ')' || *sig == '}')
- nest--;
- sig++;
- }
- *p = sig;
-}
-
-static gboolean
-types_match (DBusMessageIter *iter, char c)
-{
- char t = dbus_message_iter_get_arg_type (iter);
-
- if (t == 'r' && c == '(')
- return TRUE;
- else
- return (t == c);
-}
-
-static void
-walk (DBusMessageIter *iter, const char *sig, gboolean array)
-{
- while (*sig && *sig != ')' && *sig != '}')
- {
- if (array && dbus_message_iter_get_arg_type (iter) == DBUS_TYPE_INVALID)
- break;
- if (!types_match (iter, *sig))
- {
- g_error ("Expected %s, got %c", sig, dbus_message_iter_get_arg_type (iter));
- }
- switch (*sig)
- {
- case 's':
- {
- const char *str;
- DBusError error;
- dbus_error_init (&error);
- dbus_message_iter_get_basic (iter, &str);
- g_print ("%s\n", str);
- if (!dbus_validate_utf8 (str, &error))
- g_error ("Bad UTF-8 string");
- }
- break;
- case 'a':
- {
- DBusMessageIter iter_array;
- dbus_message_iter_recurse (iter, &iter_array);
- walk (&iter_array, sig + 1, TRUE);
- skip (&sig);
- }
- break;
- case DBUS_TYPE_STRUCT:
- case DBUS_TYPE_DICT_ENTRY:
- {
- DBusMessageIter iter_struct;
- dbus_message_iter_recurse (iter, &iter_struct);
- walk (&iter_struct, sig + 1, FALSE);
- skip (&sig);
- }
- }
- dbus_message_iter_next (iter);
- if (!array)
- sig++;
- }
- if (dbus_message_iter_get_arg_type (iter) != DBUS_TYPE_INVALID)
- g_error ("Unexpected data '%c'", dbus_message_iter_get_arg_type (iter));
-}
-
-static void
-walkm (DBusMessage *message)
-{
- DBusMessageIter iter;
- const char *sig = dbus_message_get_signature (message);
-
- g_print ("sig: %s\n", sig);
- dbus_message_iter_init (message, &iter);
- walk (&iter, sig, FALSE);
-}
-#endif
-
static DBusMessage *
impl_GetTree (DBusConnection *bus,
DBusMessage *message,
@@ -1276,9 +1180,7 @@ impl_GetTree (DBusConnection *bus,
append_accessible_properties (&iter_array, object, properties);
dbus_message_iter_close_container (&iter, &iter_array);
}
-#if 0
- walkm (reply);
-#endif
+ free_mrp_data (&rule);
return reply;
}
@@ -1291,7 +1193,7 @@ impl_GetMatches (DBusConnection *bus, DBusMessage *message, void *user_data)
dbus_uint32_t sortby;
dbus_int32_t count;
dbus_bool_t traverse;
- GList *ls = NULL;
+ GPtrArray *arr;
const char *signature;
signature = dbus_message_get_signature (message);
@@ -1311,15 +1213,18 @@ impl_GetMatches (DBusConnection *bus, DBusMessage *message, void *user_data)
dbus_message_iter_next (&iter);
dbus_message_iter_get_basic (&iter, &traverse);
dbus_message_iter_next (&iter);
- ls = g_list_prepend (ls, obj);
- count = query_exec (&rule, sortby, ls, 0, count,
- obj, 0, TRUE, NULL, TRUE, traverse);
- ls = g_list_remove (ls, ls->data);
+ arr = g_ptr_array_new_with_free_func (g_object_unref);
+ count = query_exec (&rule, sortby, arr, 0, count,
+ obj, 0, TRUE, NULL, traverse);
- if (sortby == ATSPI_Collection_SORT_ORDER_REVERSE_CANONICAL)
- ls = g_list_reverse (ls);
free_mrp_data (&rule);
- return return_and_free_list (message, ls);
+ return return_and_free_array (message, arr, sortby == ATSPI_Collection_SORT_ORDER_REVERSE_CANONICAL);
+}
+
+static dbus_bool_t
+impl_get_Version (DBusMessageIter *iter, void *user_data)
+{
+ return droute_return_v_uint32 (iter, SPI_DBUS_COLLECTION_VERSION);
}
static DRouteMethod methods[] = {
@@ -1330,9 +1235,15 @@ static DRouteMethod methods[] = {
{ NULL, NULL }
};
+static DRouteProperty properties[] = {
+ { impl_get_Version, NULL, "version" },
+ { NULL, NULL, NULL }
+};
+
void
spi_initialize_collection (DRoutePath *path)
{
spi_atk_add_interface (path,
- ATSPI_DBUS_INTERFACE_COLLECTION, spi_org_a11y_atspi_Collection, methods, NULL);
+ ATSPI_DBUS_INTERFACE_COLLECTION, spi_org_a11y_atspi_Collection,
+ methods, properties);
};
diff --git a/atk-adaptor/adaptors/component-adaptor.c b/atk-adaptor/adaptors/component-adaptor.c
index 102ea34..8c25765 100644
--- a/atk-adaptor/adaptors/component-adaptor.c
+++ b/atk-adaptor/adaptors/component-adaptor.c
@@ -247,20 +247,6 @@ impl_GrabFocus (DBusConnection *bus, DBusMessage *message, void *user_data)
return reply;
}
-#if 0
-static DBusMessage *
-impl_registerFocusHandler (DBusConnection * bus, DBusMessage * message,
- void *user_data)
-{
-}
-
-static DBusMessage *
-impl_deregisterFocusHandler (DBusConnection * bus, DBusMessage * message,
- void *user_data)
-{
-}
-#endif
-
static DBusMessage *
impl_GetAlpha (DBusConnection *bus, DBusMessage *message, void *user_data)
{
@@ -473,6 +459,12 @@ impl_ScrollToPoint (DBusConnection *bus,
return reply;
}
+static dbus_bool_t
+impl_get_Version (DBusMessageIter *iter, void *user_data)
+{
+ return droute_return_v_uint32 (iter, SPI_DBUS_COMPONENT_VERSION);
+}
+
static DRouteMethod methods[] = {
{ impl_Contains, "Contains" },
{ impl_GetAccessibleAtPoint, "GetAccessibleAtPoint" },
@@ -482,8 +474,6 @@ static DRouteMethod methods[] = {
{ impl_GetLayer, "GetLayer" },
{ impl_GetMDIZOrder, "GetMDIZOrder" },
{ impl_GrabFocus, "GrabFocus" },
- //{impl_registerFocusHandler, "registerFocusHandler"},
- //{impl_deregisterFocusHandler, "deregisterFocusHandler"},
{ impl_GetAlpha, "GetAlpha" },
{ impl_SetExtents, "SetExtents" },
{ impl_SetPosition, "SetPosition" },
@@ -495,6 +485,7 @@ static DRouteMethod methods[] = {
static DRouteProperty properties[] = {
{ impl_get_ScreenExtents, NULL, "ScreenExtents" },
+ { impl_get_Version, NULL, "version" },
{ NULL, NULL, NULL }
};
void
diff --git a/atk-adaptor/adaptors/document-adaptor.c b/atk-adaptor/adaptors/document-adaptor.c
index bbe366b..5ba059b 100644
--- a/atk-adaptor/adaptors/document-adaptor.c
+++ b/atk-adaptor/adaptors/document-adaptor.c
@@ -32,6 +32,12 @@
#include "introspection.h"
#include "object.h"
+static dbus_bool_t
+impl_get_Version (DBusMessageIter *iter, void *user_data)
+{
+ return droute_return_v_uint32 (iter, SPI_DBUS_DOCUMENT_VERSION);
+}
+
static dbus_bool_t
impl_get_CurrentPageNumber (DBusMessageIter *iter, void *user_data)
{
@@ -120,16 +126,103 @@ impl_GetAttributes (DBusConnection *bus, DBusMessage *message, void *user_data)
return reply;
}
+static DBusMessage *
+impl_GetTextSelections (DBusConnection *bus, DBusMessage *message, void *user_data)
+{
+ AtkDocument *document = (AtkDocument *) user_data;
+ GArray *selections;
+ gint i, count;
+ DBusMessageIter iter, iter_array, iter_struct;
+ DBusMessage *reply;
+
+ g_return_val_if_fail (ATK_IS_DOCUMENT (user_data),
+ droute_not_yet_handled_error (message));
+
+ selections = atk_document_get_text_selections (document);
+ count = (selections ? selections->len : 0);
+
+ reply = dbus_message_new_method_return (message);
+ if (!reply)
+ goto done;
+ dbus_message_iter_init_append (reply, &iter);
+ dbus_message_iter_open_container (&iter, DBUS_TYPE_ARRAY, "((so)i(so)ib)", &iter_array);
+ for (i = 0; i < count; i++)
+ {
+ dbus_message_iter_open_container (&iter_array, DBUS_TYPE_STRUCT, NULL, &iter_struct);
+ AtkTextSelection *item = &g_array_index (selections, AtkTextSelection, i);
+ spi_object_append_reference (&iter_struct, item->start_object);
+ dbus_message_iter_append_basic (&iter_struct, DBUS_TYPE_INT32, &item->start_offset);
+ spi_object_append_reference (&iter_struct, item->end_object);
+ dbus_message_iter_append_basic (&iter_struct, DBUS_TYPE_INT32, &item->end_offset);
+ dbus_message_iter_append_basic (&iter_struct, DBUS_TYPE_BOOLEAN, &item->start_is_active);
+ dbus_message_iter_close_container (&iter_array, &iter_struct);
+ }
+ dbus_message_iter_close_container (&iter, &iter_array);
+
+done:
+ if (selections)
+ g_array_free (selections, TRUE);
+ return reply;
+}
+
+static DBusMessage *
+impl_SetTextSelections (DBusConnection *bus, DBusMessage *message, void *user_data)
+{
+ AtkDocument *document = (AtkDocument *) user_data;
+ GArray *selections;
+ DBusMessageIter iter, iter_array, iter_struct;
+ gboolean ret;
+ DBusMessage *reply;
+
+ g_return_val_if_fail (ATK_IS_DOCUMENT (user_data),
+ droute_not_yet_handled_error (message));
+
+ if (strcmp (dbus_message_get_signature (message), "a((so)i(so)ib)") != 0)
+ {
+ return droute_invalid_arguments_error (message);
+ }
+
+ selections = g_array_new (FALSE, TRUE, sizeof (AtkTextSelection));
+ dbus_message_iter_init (message, &iter);
+ dbus_message_iter_recurse (&iter, &iter_array);
+
+ while (dbus_message_iter_get_arg_type (&iter_array) != DBUS_TYPE_INVALID)
+ {
+ AtkTextSelection selection;
+ dbus_message_iter_recurse (&iter_array, &iter_struct);
+ selection.start_object = ATK_OBJECT (spi_dbus_get_object_from_iter (&iter_struct));
+ dbus_message_iter_get_basic (&iter_struct, &selection.start_offset);
+ dbus_message_iter_next (&iter_struct);
+ selection.end_object = ATK_OBJECT (spi_dbus_get_object_from_iter (&iter_struct));
+ dbus_message_iter_get_basic (&iter_struct, &selection.end_offset);
+ dbus_message_iter_next (&iter_struct);
+ dbus_message_iter_get_basic (&iter_struct, &selection.start_is_active);
+ g_array_append_val (selections, selection);
+ dbus_message_iter_next (&iter_array);
+ }
+
+ ret = atk_document_set_text_selections (document, selections);
+ g_array_free (selections, TRUE);
+
+ reply = dbus_message_new_method_return (message);
+ if (reply)
+ dbus_message_append_args (reply, DBUS_TYPE_BOOLEAN, &ret, DBUS_TYPE_INVALID);
+ return reply;
+}
+
static DRouteMethod methods[] = {
{ impl_GetLocale, "GetLocale" },
{ impl_GetAttributeValue, "GetAttributeValue" },
{ impl_GetAttributes, "GetAttributes" },
+ { impl_GetTextSelections, "GetTextSelections" },
+ { impl_SetTextSelections, "SetTextSelections" },
{ NULL, NULL }
};
static DRouteProperty properties[] = {
{ impl_get_CurrentPageNumber, NULL, "CurrentPageNumber" },
{ impl_get_PageCount, NULL, "PageCount" },
+ { impl_get_Version, NULL, "version" },
{ NULL, NULL, NULL }
};
diff --git a/atk-adaptor/adaptors/editabletext-adaptor.c b/atk-adaptor/adaptors/editabletext-adaptor.c
index 81ec42f..edcdbdb 100644
--- a/atk-adaptor/adaptors/editabletext-adaptor.c
+++ b/atk-adaptor/adaptors/editabletext-adaptor.c
@@ -182,6 +182,12 @@ impl_PasteText (DBusConnection *bus, DBusMessage *message, void *user_data)
return reply;
}
+static dbus_bool_t
+impl_get_Version (DBusMessageIter *iter, void *user_data)
+{
+ return droute_return_v_uint32 (iter, SPI_DBUS_EDITABLE_TEXT_VERSION);
+}
+
static DRouteMethod methods[] = {
{ impl_SetTextContents, "SetTextContents" },
{ impl_InsertText, "InsertText" },
@@ -192,9 +198,15 @@ static DRouteMethod methods[] = {
{ NULL, NULL }
};
+static DRouteProperty properties[] = {
+ { impl_get_Version, NULL, "version" },
+ { NULL, NULL, NULL },
+};
+
void
spi_initialize_editabletext (DRoutePath *path)
{
spi_atk_add_interface (path,
- ATSPI_DBUS_INTERFACE_EDITABLE_TEXT, spi_org_a11y_atspi_EditableText, methods, NULL);
+ ATSPI_DBUS_INTERFACE_EDITABLE_TEXT, spi_org_a11y_atspi_EditableText,
+ methods, properties);
};
diff --git a/atk-adaptor/adaptors/hyperlink-adaptor.c b/atk-adaptor/adaptors/hyperlink-adaptor.c
index a90946c..00b5962 100644
--- a/atk-adaptor/adaptors/hyperlink-adaptor.c
+++ b/atk-adaptor/adaptors/hyperlink-adaptor.c
@@ -41,6 +41,12 @@ get_hyperlink (void *user_data)
return NULL;
}
+static dbus_bool_t
+impl_get_Version (DBusMessageIter *iter, void *user_data)
+{
+ return droute_return_v_uint32 (iter, SPI_DBUS_HYPERLINK_VERSION);
+}
+
static dbus_bool_t
impl_get_NAnchors (DBusMessageIter *iter, void *user_data)
{
@@ -141,6 +147,7 @@ static DRouteProperty properties[] = {
{ impl_get_NAnchors, NULL, "NAnchors" },
{ impl_get_StartIndex, NULL, "StartIndex" },
{ impl_get_EndIndex, NULL, "EndIndex" },
+ { impl_get_Version, NULL, "version" },
{ NULL, NULL, NULL }
};
diff --git a/atk-adaptor/adaptors/hypertext-adaptor.c b/atk-adaptor/adaptors/hypertext-adaptor.c
index b00acb7..b34b7c6 100644
--- a/atk-adaptor/adaptors/hypertext-adaptor.c
+++ b/atk-adaptor/adaptors/hypertext-adaptor.c
@@ -94,6 +94,12 @@ impl_GetLinkIndex (DBusConnection *bus, DBusMessage *message, void *user_data)
return reply;
}
+static dbus_bool_t
+impl_get_Version (DBusMessageIter *iter, void *user_data)
+{
+ return droute_return_v_uint32 (iter, SPI_DBUS_HYPERTEXT_VERSION);
+}
+
static DRouteMethod methods[] = {
{ impl_GetNLinks, "GetNLinks" },
{ impl_GetLink, "GetLink" },
@@ -101,9 +107,16 @@ static DRouteMethod methods[] = {
{ NULL, NULL }
};
+static DRouteProperty properties[] = {
+ { impl_get_Version, NULL, "version" },
+ { NULL, NULL, NULL },
+};
+
void
spi_initialize_hypertext (DRoutePath *path)
{
spi_atk_add_interface (path,
- ATSPI_DBUS_INTERFACE_HYPERTEXT, spi_org_a11y_atspi_Hypertext, methods, NULL);
+ ATSPI_DBUS_INTERFACE_HYPERTEXT,
+ spi_org_a11y_atspi_Hypertext,
+ methods, properties);
};
diff --git a/atk-adaptor/adaptors/image-adaptor.c b/atk-adaptor/adaptors/image-adaptor.c
index 350e037..c67e06e 100644
--- a/atk-adaptor/adaptors/image-adaptor.c
+++ b/atk-adaptor/adaptors/image-adaptor.c
@@ -31,6 +31,12 @@
#include "introspection.h"
#include "object.h"
+static dbus_bool_t
+impl_get_Version (DBusMessageIter *iter, void *user_data)
+{
+ return droute_return_v_uint32 (iter, SPI_DBUS_IMAGE_VERSION);
+}
+
static dbus_bool_t
impl_get_ImageDescription (DBusMessageIter *iter, void *user_data)
{
@@ -125,6 +131,7 @@ static DRouteMethod methods[] = {
static DRouteProperty properties[] = {
{ impl_get_ImageDescription, NULL, "ImageDescription" },
{ impl_get_ImageLocale, NULL, "ImageLocale" },
+ { impl_get_Version, NULL, "version" },
{ NULL, NULL, NULL }
};
@@ -132,5 +139,7 @@ void
spi_initialize_image (DRoutePath *path)
{
spi_atk_add_interface (path,
- ATSPI_DBUS_INTERFACE_IMAGE, spi_org_a11y_atspi_Image, methods, properties);
+ ATSPI_DBUS_INTERFACE_IMAGE,
+ spi_org_a11y_atspi_Image,
+ methods, properties);
};
diff --git a/atk-adaptor/adaptors/meson.build b/atk-adaptor/adaptors/meson.build
index a62eaac..afb5587 100644
--- a/atk-adaptor/adaptors/meson.build
+++ b/atk-adaptor/adaptors/meson.build
@@ -24,8 +24,7 @@ libatk_bridge_adaptors = static_library('atk-bridge-adaptors', source,
root_inc,
include_directories('..'),
],
- dependencies: [ libdbus_dep, atspi_dep, libatk_dep ],
- c_args: p2p_cflags)
+ dependencies: [ libdbus_dep, atspi_dep, libatk_dep ])
libatk_bridge_adaptors_dep = declare_dependency(link_with: libatk_bridge_adaptors,
dependencies: [ libdbus_dep, atspi_dep, libatk_dep ],
diff --git a/atk-adaptor/adaptors/selection-adaptor.c b/atk-adaptor/adaptors/selection-adaptor.c
index ec9f8ab..290852b 100644
--- a/atk-adaptor/adaptors/selection-adaptor.c
+++ b/atk-adaptor/adaptors/selection-adaptor.c
@@ -31,6 +31,12 @@
#include "introspection.h"
#include "object.h"
+static dbus_bool_t
+impl_get_Version (DBusMessageIter *iter, void *user_data)
+{
+ return droute_return_v_uint32 (iter, SPI_DBUS_SELECTION_VERSION);
+}
+
static dbus_bool_t
impl_get_NSelectedChildren (DBusMessageIter *iter, void *user_data)
{
@@ -233,6 +239,7 @@ static DRouteMethod methods[] = {
static DRouteProperty properties[] = {
{ impl_get_NSelectedChildren, NULL, "NSelectedChildren" },
+ { impl_get_Version, NULL, "version" },
{ NULL, NULL, NULL }
};
diff --git a/atk-adaptor/adaptors/socket-adaptor.c b/atk-adaptor/adaptors/socket-adaptor.c
index 91a5f10..e5d5888 100644
--- a/atk-adaptor/adaptors/socket-adaptor.c
+++ b/atk-adaptor/adaptors/socket-adaptor.c
@@ -213,16 +213,27 @@ impl_Embedded (DBusConnection *bus,
return dbus_message_new_method_return (message);
}
+static dbus_bool_t
+impl_get_Version (DBusMessageIter *iter, void *user_data)
+{
+ return droute_return_v_uint32 (iter, SPI_DBUS_SOCKET_VERSION);
+}
+
static DRouteMethod methods[] = {
{ impl_Embedded, "Embedded" },
{ NULL, NULL }
};
+static DRouteProperty properties[] = {
+ { impl_get_Version, NULL, "version" },
+ { NULL, NULL, NULL },
+};
+
void
spi_initialize_socket (DRoutePath *path)
{
droute_path_add_interface (path,
ATSPI_DBUS_INTERFACE_SOCKET,
spi_org_a11y_atspi_Socket,
- methods, NULL);
+ methods, properties);
};
diff --git a/atk-adaptor/adaptors/table-adaptor.c b/atk-adaptor/adaptors/table-adaptor.c
index 9b9ed52..6c84ae1 100644
--- a/atk-adaptor/adaptors/table-adaptor.c
+++ b/atk-adaptor/adaptors/table-adaptor.c
@@ -32,6 +32,12 @@
#include "introspection.h"
#include "object.h"
+static dbus_bool_t
+impl_get_Version (DBusMessageIter *iter, void *user_data)
+{
+ return droute_return_v_uint32 (iter, SPI_DBUS_TABLE_VERSION);
+}
+
static dbus_bool_t
impl_get_NRows (DBusMessageIter *iter, void *user_data)
{
@@ -628,6 +634,7 @@ static DRouteProperty properties[] = {
{ impl_get_Summary, NULL, "Summary" },
{ impl_get_NSelectedRows, NULL, "NSelectedRows" },
{ impl_get_NSelectedColumns, NULL, "NSelectedColumns" },
+ { impl_get_Version, NULL, "version" },
{ NULL, NULL, NULL }
};
@@ -635,5 +642,7 @@ void
spi_initialize_table (DRoutePath *path)
{
spi_atk_add_interface (path,
- ATSPI_DBUS_INTERFACE_TABLE, spi_org_a11y_atspi_Table, methods, properties);
+ ATSPI_DBUS_INTERFACE_TABLE,
+ spi_org_a11y_atspi_Table,
+ methods, properties);
};
diff --git a/atk-adaptor/adaptors/table-cell-adaptor.c b/atk-adaptor/adaptors/table-cell-adaptor.c
index c315b42..4449f18 100644
--- a/atk-adaptor/adaptors/table-cell-adaptor.c
+++ b/atk-adaptor/adaptors/table-cell-adaptor.c
@@ -30,6 +30,12 @@
#include "introspection.h"
#include "object.h"
+static dbus_bool_t
+impl_get_Version (DBusMessageIter *iter, void *user_data)
+{
+ return droute_return_v_uint32 (iter, SPI_DBUS_TABLE_CELL_VERSION);
+}
+
static dbus_bool_t
impl_get_ColumnSpan (DBusMessageIter *iter, void *user_data)
{
@@ -60,7 +66,8 @@ message_from_object_array (DBusMessage *message, GPtrArray *array)
spi_object_append_reference (&iter_array, g_ptr_array_index (array, i));
}
dbus_message_iter_close_container (&iter, &iter_array);
- g_ptr_array_unref (array);
+ if (array)
+ g_ptr_array_unref (array);
return reply;
}
@@ -175,6 +182,7 @@ static DRouteProperty properties[] = {
{ impl_get_Position, NULL, "Position" },
{ impl_get_RowSpan, NULL, "RowSpan" },
{ impl_get_Table, NULL, "Table" },
+ { impl_get_Version, NULL, "version" },
{ NULL, NULL, NULL }
};
diff --git a/atk-adaptor/adaptors/text-adaptor.c b/atk-adaptor/adaptors/text-adaptor.c
index 7a7a37b..4199e38 100644
--- a/atk-adaptor/adaptors/text-adaptor.c
+++ b/atk-adaptor/adaptors/text-adaptor.c
@@ -34,6 +34,12 @@
#include "introspection.h"
#include "object.h"
+static dbus_bool_t
+impl_get_Version (DBusMessageIter *iter, void *user_data)
+{
+ return droute_return_v_uint32 (iter, SPI_DBUS_TEXT_VERSION);
+}
+
static dbus_bool_t
impl_get_CharacterCount (DBusMessageIter *iter, void *user_data)
{
@@ -905,6 +911,7 @@ static DRouteMethod methods[] = {
static DRouteProperty properties[] = {
{ impl_get_CharacterCount, NULL, "CharacterCount" },
{ impl_get_CaretOffset, NULL, "CaretOffset" },
+ { impl_get_Version, NULL, "version" },
{ NULL, NULL, NULL }
};
@@ -912,5 +919,7 @@ void
spi_initialize_text (DRoutePath *path)
{
spi_atk_add_interface (path,
- ATSPI_DBUS_INTERFACE_TEXT, spi_org_a11y_atspi_Text, methods, properties);
+ ATSPI_DBUS_INTERFACE_TEXT,
+ spi_org_a11y_atspi_Text,
+ methods, properties);
};
diff --git a/atk-adaptor/adaptors/value-adaptor.c b/atk-adaptor/adaptors/value-adaptor.c
index dd076a4..cce44d8 100644
--- a/atk-adaptor/adaptors/value-adaptor.c
+++ b/atk-adaptor/adaptors/value-adaptor.c
@@ -32,6 +32,12 @@
#include "introspection.h"
#include "spi-dbus.h"
+static dbus_bool_t
+impl_get_Version (DBusMessageIter *iter, void *user_data)
+{
+ return droute_return_v_uint32 (iter, SPI_DBUS_VALUE_VERSION);
+}
+
static dbus_bool_t
impl_get_MinimumValue (DBusMessageIter *iter, void *user_data)
{
@@ -259,6 +265,7 @@ static DRouteProperty properties[] = {
{ impl_get_MinimumIncrement, NULL, "MinimumIncrement" },
{ impl_get_CurrentValue, impl_set_CurrentValue, "CurrentValue" },
{ impl_get_Text, NULL, "Text" },
+ { impl_get_Version, NULL, "version" },
{ NULL, NULL, NULL }
};
@@ -266,5 +273,7 @@ void
spi_initialize_value (DRoutePath *path)
{
spi_atk_add_interface (path,
- ATSPI_DBUS_INTERFACE_VALUE, spi_org_a11y_atspi_Value, methods, properties);
+ ATSPI_DBUS_INTERFACE_VALUE,
+ spi_org_a11y_atspi_Value,
+ methods, properties);
};
diff --git a/atk-adaptor/atk-bridge.h b/atk-adaptor/atk-bridge.h
index 32c8897..8f8528e 100644
--- a/atk-adaptor/atk-bridge.h
+++ b/atk-adaptor/atk-bridge.h
@@ -22,8 +22,7 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef ATK_BRIDGE_H
-#define ATK_BRIDGE_H
+#pragma once
#include
@@ -34,5 +33,3 @@ void atk_bridge_adaptor_cleanup (void);
void atk_bridge_set_event_context (GMainContext *cnx);
G_END_DECLS
-
-#endif /* ATK_BRIDGE_H */
diff --git a/atk-adaptor/bitarray.h b/atk-adaptor/bitarray.h
index ccce17b..3bbc9ff 100644
--- a/atk-adaptor/bitarray.h
+++ b/atk-adaptor/bitarray.h
@@ -20,8 +20,7 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef _BITARRAY_H
-#define _BITARRAY_H
+#pragma once
#include "dbus/dbus.h"
#include "glib.h"
@@ -29,4 +28,3 @@
#define BITARRAY_SEQ_TERM 0xffffffff
#define BITARRAY_SET(p, n) ((p)[n >> 5] |= (1 << (n & 31)))
-#endif /* _BITARRAY_H */
diff --git a/atk-adaptor/bridge.c b/atk-adaptor/bridge.c
index 899cf32..90e3f1b 100644
--- a/atk-adaptor/bridge.c
+++ b/atk-adaptor/bridge.c
@@ -22,7 +22,6 @@
* Boston, MA 02110-1301, USA.
*/
-#define _GNU_SOURCE
#include "config.h"
#include
@@ -87,13 +86,11 @@ static GSList *clients = NULL;
static void
tally_event_reply ()
{
- static int replies_received = 0;
-
if (!spi_global_app_data)
return;
- replies_received++;
- if (replies_received == 3)
+ spi_global_app_data->replies_received++;
+ if (spi_global_app_data->replies_received == 3)
{
if (!clients)
spi_atk_deregister_event_listeners ();
@@ -514,10 +511,15 @@ static AtkSocketClass *socket_class;
static gchar *
get_plug_id (AtkPlug *plug)
{
- const char *uname = dbus_bus_get_unique_name (spi_global_app_data->bus);
+ const char *uname;
gchar *path;
- GString *str = g_string_new (NULL);
+ GString *str;
+ if (!spi_global_app_data || !spi_global_app_data->bus)
+ return NULL;
+
+ str = g_string_new (NULL);
+ uname = dbus_bus_get_unique_name (spi_global_app_data->bus);
path = spi_register_object_to_path (spi_global_register, G_OBJECT (plug));
g_string_printf (str, "%s:%s", uname, path);
g_free (path);
@@ -630,7 +632,6 @@ install_plug_hooks ()
socket_class->embed = socket_embed_hook;
}
-#ifndef DISABLE_P2P
static guint
get_ancestral_uid (guint pid)
{
@@ -687,7 +688,6 @@ new_connection_cb (DBusServer *server, DBusConnection *con, void *data)
spi_global_app_data->direct_connections = g_list_append (spi_global_app_data->direct_connections, con);
}
-#endif
static gchar *atspi_dbus_name = NULL;
static gboolean atspi_no_register = FALSE;
@@ -907,12 +907,16 @@ signal_filter (DBusConnection *bus, DBusMessage *message, void *user_data)
int
spi_atk_create_socket (SpiBridge *app)
{
-#ifndef DISABLE_P2P
DBusServer *server;
DBusError error;
const gchar *user_runtime_dir = g_get_user_runtime_dir ();
char *socket_path;
char *escaped_socket_path;
+ const char *disable_p2p;
+
+ disable_p2p = g_getenv ("ATSPI_DISABLE_P2P");
+ if (disable_p2p && atoi (disable_p2p) > 0)
+ return 0;
if (g_mkdir_with_parents (user_runtime_dir, 0700) != 0)
return -1;
@@ -959,7 +963,6 @@ spi_atk_create_socket (SpiBridge *app)
dbus_server_set_new_connection_function (server, new_connection_cb, NULL, NULL);
app->server = server;
-#endif
return 0;
}
@@ -1015,6 +1018,8 @@ spi_object_has_dbus_interface (void *obj, const char *interface)
return TRUE;
if (!strcmp (interface, ATSPI_DBUS_INTERFACE_ACTION))
return ATK_IS_ACTION (obj);
+ if (!strcmp (interface, ATSPI_DBUS_INTERFACE_APPLICATION))
+ return ATK_IS_OBJECT(obj) && (atk_object_get_role (obj) == ATK_ROLE_APPLICATION);
if (!strcmp (interface, ATSPI_DBUS_INTERFACE_COLLECTION))
return TRUE;
if (!strcmp (interface, ATSPI_DBUS_INTERFACE_COMPONENT))
@@ -1043,10 +1048,117 @@ spi_object_has_dbus_interface (void *obj, const char *interface)
return ATK_IS_VALUE (obj);
return FALSE;
+}
+
+static gboolean
+init_bus ()
+{
+ DBusError error;
+
+ /* Set up D-Bus connection and register bus name */
+ dbus_error_init (&error);
+ spi_global_app_data->bus = atspi_get_a11y_bus ();
+ if (!spi_global_app_data->bus)
+ return FALSE;
+
+ if (atspi_dbus_name != NULL)
+ {
+ if (dbus_bus_request_name (spi_global_app_data->bus, atspi_dbus_name, 0, &error))
+ {
+ g_print ("AT-SPI Received D-Bus name - %s\n", atspi_dbus_name);
+ }
+ else
+ {
+ g_print ("AT-SPI D-Bus name requested but could not be allocated - %s\n",
+ atspi_dbus_name);
+ }
+ }
+
+ atspi_dbus_connection_setup_with_g_main (spi_global_app_data->bus, NULL);
+
+ droute_context_register (spi_global_app_data->droute,
+ spi_global_app_data->bus);
+
+ /* Set up filter and match rules to catch signals */
+ dbus_bus_add_match (spi_global_app_data->bus, "type='signal', interface='org.a11y.atspi.Registry', sender='org.a11y.atspi.Registry'", NULL);
+ dbus_bus_add_match (spi_global_app_data->bus, "type='signal', interface='org.a11y.atspi.DeviceEventListener', sender='org.a11y.atspi.Registry'", NULL);
+ dbus_bus_add_match (spi_global_app_data->bus, "type='signal', arg0='org.a11y.atspi.Registry', interface='org.freedesktop.DBus', member='NameOwnerChanged'", NULL);
+ dbus_connection_add_filter (spi_global_app_data->bus, signal_filter, NULL,
+ NULL);
+
+ /* Register this app by sending a signal out to AT-SPI registry daemon */
+ if (!atspi_no_register && !ATK_IS_PLUG (spi_global_app_data->root))
+ _atk_bridge_schedule_application_registration (spi_global_app_data);
+ else
+ get_registered_event_listeners (spi_global_app_data);
+ dbus_error_free (&error);
return TRUE;
}
+static void
+deactivate_bus ()
+{
+ if (!spi_global_app_data->bus)
+ return;
+
+ dbus_connection_remove_filter (spi_global_app_data->bus, signal_filter, NULL);
+ droute_context_unregister (spi_global_app_data->droute, spi_global_app_data->bus);
+
+ if (atspi_dbus_name != NULL)
+ {
+ DBusError error;
+ int result;
+
+ dbus_error_init (&error);
+ result = dbus_bus_release_name (spi_global_app_data->bus, atspi_dbus_name, &error);
+ if (result == -1)
+ {
+ g_warning ("atk-bridge: could not release dbus name: %s", error.message);
+ }
+ else
+ {
+ g_print ("bridge: released name, result %d\n", result);
+ }
+
+ dbus_error_free (&error);
+ }
+
+ dbus_connection_close (spi_global_app_data->bus);
+ dbus_connection_unref (spi_global_app_data->bus);
+ spi_global_app_data->bus = NULL;
+}
+
+static void
+on_session_name_owner_changed (GDBusConnection *connection,
+ const gchar *sender_name,
+ const gchar *object_path,
+ const gchar *interface_name,
+ const gchar *signal_name,
+ GVariant *parameters,
+ gpointer user_data)
+{
+ const gchar *old_owner;
+ const gchar *new_owner;
+
+ g_variant_get (parameters,
+ "(&s&s&s)",
+ NULL,
+ &old_owner,
+ &new_owner);
+
+ if (strlen (new_owner) == 0)
+ {
+ spi_atk_deregister_event_listeners ();
+ deactivate_bus ();
+ }
+ else
+ {
+ init_bus ();
+ spi_atk_register_event_listeners ();
+ }
+}
+
/**
* atk_bridge_adaptor_init: initializes the atk bridge adaptor
*
@@ -1065,7 +1177,6 @@ atk_bridge_adaptor_init (gint *argc, gchar **argv[])
{
GOptionContext *opt;
GError *err = NULL;
- DBusError error;
AtkObject *root;
gboolean load_bridge;
DRoutePath *accpath;
@@ -1106,34 +1217,6 @@ atk_bridge_adaptor_init (gint *argc, gchar **argv[])
spi_global_app_data->desktop_name = g_strdup (ATSPI_DBUS_NAME_REGISTRY);
spi_global_app_data->desktop_path = g_strdup (ATSPI_DBUS_PATH_ROOT);
- /* Set up D-Bus connection and register bus name */
- dbus_error_init (&error);
- spi_global_app_data->bus = atspi_get_a11y_bus ();
- if (!spi_global_app_data->bus)
- {
- g_free (spi_global_app_data);
- spi_global_app_data = NULL;
- inited = FALSE;
- return -1;
- }
-
- if (atspi_dbus_name != NULL)
- {
- if (dbus_bus_request_name (spi_global_app_data->bus, atspi_dbus_name, 0, &error))
- {
- g_print ("AT-SPI Received D-Bus name - %s\n", atspi_dbus_name);
- }
- else
- {
- g_print ("AT-SPI D-Bus name requested but could not be allocated - %s\n",
- atspi_dbus_name);
- }
- }
-
- spi_global_app_data->main_context = g_main_context_new ();
-
- atspi_dbus_connection_setup_with_g_main (spi_global_app_data->bus, NULL);
-
/* Hook our plug-and socket functions */
install_plug_hooks ();
@@ -1176,31 +1259,46 @@ atk_bridge_adaptor_init (gint *argc, gchar **argv[])
spi_initialize_text (accpath);
spi_initialize_value (accpath);
- droute_context_register (spi_global_app_data->droute,
- spi_global_app_data->bus);
+ if (!init_bus ())
+ {
+ g_object_unref (spi_global_app_data->root);
+ g_free (spi_global_app_data->desktop_name);
+ g_free (spi_global_app_data->desktop_path);
+ droute_free (spi_global_app_data->droute);
+ if (spi_global_app_data->property_hash)
+ g_hash_table_destroy (spi_global_app_data->property_hash);
+ g_free (spi_global_app_data);
+ spi_global_app_data = NULL;
+ inited = FALSE;
+ return -1;
+ }
+
+ spi_global_app_data->main_context = g_main_context_new ();
/* Register methods to send D-Bus signals on certain ATK events */
if (clients)
spi_atk_activate ();
- /* Set up filter and match rules to catch signals */
- dbus_bus_add_match (spi_global_app_data->bus, "type='signal', interface='org.a11y.atspi.Registry', sender='org.a11y.atspi.Registry'", NULL);
- dbus_bus_add_match (spi_global_app_data->bus, "type='signal', interface='org.a11y.atspi.DeviceEventListener', sender='org.a11y.atspi.Registry'", NULL);
- dbus_bus_add_match (spi_global_app_data->bus, "type='signal', arg0='org.a11y.atspi.Registry', interface='org.freedesktop.DBus', member='NameOwnerChanged'", NULL);
- dbus_connection_add_filter (spi_global_app_data->bus, signal_filter, NULL,
- NULL);
-
- /* Register this app by sending a signal out to AT-SPI registry daemon */
- if (!atspi_no_register && (!root || !ATK_IS_PLUG (root)))
- _atk_bridge_schedule_application_registration (spi_global_app_data);
- else
- get_registered_event_listeners (spi_global_app_data);
-
if (!atexit_added)
atexit (remove_socket);
atexit_added = TRUE;
- dbus_error_free (&error);
+ spi_global_app_data->session_bus = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, NULL);
+ if (spi_global_app_data->session_bus)
+ {
+ spi_global_app_data->name_owner_changed_subscription_id =
+ g_dbus_connection_signal_subscribe (spi_global_app_data->session_bus,
+ "org.freedesktop.DBus", /* name */
+ "org.freedesktop.DBus", /* interface */
+ "NameOwnerChanged", /* signal name */
+ "/org/freedesktop/DBus", /* path */
+ "org.a11y.Bus", /* arg0 */
+ G_DBUS_SIGNAL_FLAGS_NONE,
+ on_session_name_owner_changed,
+ NULL,
+ (GDestroyNotify) NULL);
+ }
+
return 0;
}
@@ -1221,34 +1319,7 @@ atk_bridge_adaptor_cleanup (void)
deregister_application (spi_global_app_data);
- if (spi_global_app_data->bus)
- {
- dbus_connection_remove_filter (spi_global_app_data->bus, signal_filter, NULL);
- droute_context_unregister (spi_global_app_data->droute, spi_global_app_data->bus);
-
- if (atspi_dbus_name != NULL)
- {
- DBusError error;
- int result;
-
- dbus_error_init (&error);
- result = dbus_bus_release_name (spi_global_app_data->bus, atspi_dbus_name, &error);
- if (result == -1)
- {
- g_warning ("atk-bridge: could not release dbus name: %s", error.message);
- }
- else
- {
- g_print ("bridge: released name, result %d\n", result);
- }
-
- dbus_error_free (&error);
- }
-
- dbus_connection_close (spi_global_app_data->bus);
- dbus_connection_unref (spi_global_app_data->bus);
- spi_global_app_data->bus = NULL;
- }
+ deactivate_bus ();
for (l = spi_global_app_data->direct_connections; l; l = l->next)
{
@@ -1278,6 +1349,11 @@ atk_bridge_adaptor_cleanup (void)
droute_free (spi_global_app_data->droute);
+ g_clear_object (&spi_global_app_data->session_bus);
+
+ if (spi_global_app_data->property_hash)
+ g_hash_table_destroy (spi_global_app_data->property_hash);
+
g_free (spi_global_app_data);
spi_global_app_data = NULL;
diff --git a/atk-adaptor/bridge.h b/atk-adaptor/bridge.h
index 8b6f91d..eb58a65 100644
--- a/atk-adaptor/bridge.h
+++ b/atk-adaptor/bridge.h
@@ -22,8 +22,9 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef BRIDGE_H
-#define BRIDGE_H
+#pragma once
+
+#include
#include
#include
@@ -74,6 +75,10 @@ struct _SpiBridge
gboolean events_initialized;
GHashTable *property_hash;
guint registration_pending;
+ gint replies_received;
+
+ GDBusConnection *session_bus;
+ guint name_owner_changed_subscription_id;
};
extern SpiBridge *spi_global_app_data;
@@ -97,5 +102,3 @@ GType _atk_bridge_type_from_iface (const char *iface);
void _atk_bridge_schedule_application_registration (SpiBridge *app);
gboolean _atk_bridge_remove_pending_application_registration (SpiBridge *app);
G_END_DECLS
-
-#endif /* BRIDGE_H */
diff --git a/atk-adaptor/event.c b/atk-adaptor/event.c
index d5b0048..ad7da6d 100644
--- a/atk-adaptor/event.c
+++ b/atk-adaptor/event.c
@@ -260,13 +260,6 @@ spi_init_keystroke_from_atk_key_event (AtspiDeviceEvent *keystroke,
g_error ("atk passed us an AtkKeyEventStruct invalid type %d", event->type);
return;
}
-#if 0
- g_print
- ("key_event type %d; val=%d code=%d modifiers=%x name=%s is_text=%d, time=%lx\n",
- (int) keystroke->type, (int) keystroke->id, (int) keystroke->hw_code,
- (int) keystroke->modifiers, keystroke->event_string,
- (int) keystroke->is_text, (unsigned long) keystroke->timestamp);
-#endif
}
static gint
@@ -659,6 +652,13 @@ property_event_listener (GSignalInvocationHint *signal_hint,
emit_event (accessible, ITF_EVENT_OBJECT, PCHANGE, pname, 0, 0,
DBUS_TYPE_STRING_AS_STRING, s1, append_basic);
}
+ else if (strcmp (pname, "accessible-help-text") == 0)
+ {
+ s1 = atk_object_get_help_text (accessible);
+ if (s1 != NULL)
+ emit_event (accessible, ITF_EVENT_OBJECT, PCHANGE, pname, 0, 0,
+ DBUS_TYPE_STRING_AS_STRING, s1, append_basic);
+ }
else if (strcmp (pname, "accessible-parent") == 0)
{
otemp = atk_object_get_parent (accessible);
@@ -1208,6 +1208,64 @@ children_changed_event_listener (GSignalInvocationHint *signal_hint,
return TRUE;
}
+/*
+ * Handles the ATK signal 'Gtk:AtkObject:attribute-changed' and
+ * converts it to the AT-SPI signal - 'object:attributes-changed'
+ *
+ */
+static gboolean
+attribute_changed_event_listener (GSignalInvocationHint *signal_hint,
+ guint n_param_values,
+ const GValue *param_values,
+ gpointer data)
+{
+ AtkObject *accessible;
+ const gchar *key = NULL, *value = NULL;
+
+ accessible = ATK_OBJECT (g_value_get_object (¶m_values[0]));
+ if (G_VALUE_TYPE (¶m_values[1]) == G_TYPE_STRING)
+ key = g_value_get_string (¶m_values[1]);
+ else
+ key = "";
+ if (G_VALUE_TYPE (¶m_values[2]) == G_TYPE_STRING)
+ value = g_value_get_string (¶m_values[2]);
+ else
+ value = "";
+
+ emit_event (accessible, ITF_EVENT_OBJECT, "attributes-changed", key, 0, 0,
+ DBUS_TYPE_STRING_AS_STRING, value, append_basic);
+ return TRUE;
+}
+
+/*
+ * Handles the ATK signal 'Gtk:AtkDocument:attribute-changed' and
+ * converts it to the AT-SPI signal - 'document:attributes-changed'
+ *
+ */
+static gboolean
+document_attribute_changed_event_listener (GSignalInvocationHint *signal_hint,
+ guint n_param_values,
+ const GValue *param_values,
+ gpointer data)
+{
+ AtkObject *accessible;
+ const gchar *key = NULL, *value = NULL;
+
+ accessible = ATK_OBJECT (g_value_get_object (¶m_values[0]));
+ if (G_VALUE_TYPE (¶m_values[1]) == G_TYPE_STRING)
+ key = g_value_get_string (¶m_values[1]);
+ else
+ key = "";
+ if (G_VALUE_TYPE (¶m_values[2]) == G_TYPE_STRING)
+ value = g_value_get_string (¶m_values[2]);
+ else
+ value = "";
+
+ emit_event (accessible, ITF_EVENT_DOCUMENT, "attributes-changed", key, 0, 0,
+ DBUS_TYPE_STRING_AS_STRING, value, append_basic);
+ return TRUE;
+}
+
/*---------------------------------------------------------------------------*/
/*
@@ -1337,6 +1395,8 @@ spi_atk_register_event_listeners (void)
"Gtk:AtkDocument:load-stopped");
add_signal_listener (document_event_listener,
"Gtk:AtkDocument:page-changed");
+ add_signal_listener (document_attribute_changed_event_listener,
+ "Gtk:AtkDocument:document-attribute-changed");
/* TODO Fake this event on the client side */
add_signal_listener (state_event_listener, "Gtk:AtkObject:state-change");
/* TODO */
@@ -1346,6 +1406,8 @@ spi_atk_register_event_listeners (void)
"Gtk:AtkObject:announcement");
add_signal_listener (notification_event_listener,
"Gtk:AtkObject:notification");
+ add_signal_listener (attribute_changed_event_listener,
+ "Gtk:AtkObject:attribute-changed");
add_signal_listener (bounds_event_listener,
"Gtk:AtkComponent:bounds-changed");
add_signal_listener (text_selection_changed_event_listener,
@@ -1377,16 +1439,6 @@ spi_atk_register_event_listeners (void)
add_signal_listener (generic_event_listener, "Gtk:AtkTable:model-changed");
add_signal_listener (children_changed_event_listener, "Gtk:AtkObject:children-changed");
-#if 0
- g_signal_connect (G_OBJECT (spi_global_app_data->root),
- "children-changed::add",
- (GCallback) toplevel_added_event_listener, NULL);
-
- g_signal_connect (G_OBJECT (spi_global_app_data->root),
- "children-changed::remove",
- (GCallback) toplevel_removed_event_listener, NULL);
-#endif
-
/*
* May add the following listeners to implement preemptive key listening for GTK+
*
diff --git a/atk-adaptor/event.h b/atk-adaptor/event.h
index 023f83e..6f3b982 100644
--- a/atk-adaptor/event.h
+++ b/atk-adaptor/event.h
@@ -22,8 +22,7 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef EVENT_H
-#define EVENT_H
+#pragma once
void spi_atk_register_event_listeners (void);
void spi_atk_deregister_event_listeners (void);
@@ -35,4 +34,3 @@ extern GMainContext *spi_context;
guint spi_idle_add (GSourceFunc function, gpointer data);
guint spi_timeout_add_seconds (gint interval, GSourceFunc function, gpointer data);
guint spi_timeout_add_full (gint priority, guint interval, GSourceFunc function, gpointer data, GDestroyNotify notify);
-#endif /* EVENT_H */
diff --git a/atk-adaptor/gtk-2.0/module.c b/atk-adaptor/gtk-2.0/module.c
index 6ba965a..1a5b6ec 100644
--- a/atk-adaptor/gtk-2.0/module.c
+++ b/atk-adaptor/gtk-2.0/module.c
@@ -22,7 +22,6 @@
* Boston, MA 02110-1301, USA.
*/
-#define _GNU_SOURCE
#include "config.h"
#include
diff --git a/atk-adaptor/meson.build b/atk-adaptor/meson.build
index 9175895..74f86dd 100644
--- a/atk-adaptor/meson.build
+++ b/atk-adaptor/meson.build
@@ -20,12 +20,12 @@ libatk_bridge = library('atk-bridge-2.0', atk_bridge_sources,
libatk_bridge_adaptors_dep,
libdroute_dep,
libdbus_dep,
+ gio_dep,
gmodule_dep,
gobject_dep,
libatk_dep,
atspi_dep,
],
- c_args: p2p_cflags,
version: atk_bridge_libversion,
soversion: atk_bridge_soversion,
install: true)
@@ -46,7 +46,6 @@ if get_option('gtk2_atk_adaptor')
atspi_dep,
gmodule_dep,
],
- c_args: p2p_cflags,
install: true,
install_dir: join_paths(get_option('libdir'), 'gtk-2.0', 'modules'))
endif
diff --git a/atk-adaptor/object.c b/atk-adaptor/object.c
index 43d26ac..257fa25 100644
--- a/atk-adaptor/object.c
+++ b/atk-adaptor/object.c
@@ -96,7 +96,7 @@ spi_object_append_reference (DBusMessageIter *iter, AtkObject *obj)
const gchar *name;
gchar *path;
- if (!obj)
+ if (!obj || !spi_global_app_data->bus)
{
spi_object_append_null_reference (iter);
return;
@@ -296,7 +296,7 @@ spi_object_append_interfaces (DBusMessageIter *iter, AtkObject *obj)
if (ATK_IS_OBJECT (obj))
{
- itf = "org.a11y.atspi.Collection";
+ itf = ATSPI_DBUS_INTERFACE_COLLECTION;
dbus_message_iter_append_basic (iter, DBUS_TYPE_STRING, &itf);
}
@@ -399,7 +399,7 @@ init_role_lookup_table (AtspiRole *role_table)
role_table[ATK_ROLE_PASSWORD_TEXT] = ATSPI_ROLE_PASSWORD_TEXT;
role_table[ATK_ROLE_POPUP_MENU] = ATSPI_ROLE_POPUP_MENU;
role_table[ATK_ROLE_PROGRESS_BAR] = ATSPI_ROLE_PROGRESS_BAR;
- role_table[ATK_ROLE_PUSH_BUTTON] = ATSPI_ROLE_PUSH_BUTTON;
+ role_table[ATK_ROLE_BUTTON] = ATSPI_ROLE_BUTTON;
role_table[ATK_ROLE_RADIO_BUTTON] = ATSPI_ROLE_RADIO_BUTTON;
role_table[ATK_ROLE_RADIO_MENU_ITEM] = ATSPI_ROLE_RADIO_MENU_ITEM;
role_table[ATK_ROLE_ROOT_PANE] = ATSPI_ROLE_ROOT_PANE;
@@ -490,6 +490,7 @@ init_role_lookup_table (AtspiRole *role_table)
role_table[ATK_ROLE_MARK] = ATSPI_ROLE_MARK;
role_table[ATK_ROLE_SUGGESTION] = ATSPI_ROLE_SUGGESTION;
role_table[ATK_ROLE_PUSH_BUTTON_MENU] = ATSPI_ROLE_PUSH_BUTTON_MENU;
+ role_table[ATK_ROLE_SWITCH] = ATSPI_ROLE_SWITCH;
return TRUE;
}
diff --git a/atk-adaptor/object.h b/atk-adaptor/object.h
index b52d3ce..6825b13 100644
--- a/atk-adaptor/object.h
+++ b/atk-adaptor/object.h
@@ -21,8 +21,7 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef ACCESSIBLE_OBJECT_H
-#define ACCESSIBLE_OBJECT_H
+#pragma once
#include
#include
@@ -59,5 +58,3 @@ spi_object_append_attribute_set (DBusMessageIter *iter, AtkAttributeSet *attr);
AtspiRole
spi_accessible_role_from_atk_role (AtkRole role);
-
-#endif /* ACCESSIBLE_OBJECT_H */
diff --git a/atk-adaptor/spi-dbus.c b/atk-adaptor/spi-dbus.c
index 81e1867..a5b14af 100644
--- a/atk-adaptor/spi-dbus.c
+++ b/atk-adaptor/spi-dbus.c
@@ -27,6 +27,7 @@
#include
#include
+#include "accessible-register.h"
#include
DBusMessage *
@@ -252,33 +253,19 @@ spi_dbus_emit_signal (DBusConnection *bus, const char *path, const char *klass,
dbus_message_unref (sig);
}
-/*
-dbus_bool_t spi_dbus_get_simple_property (DBusConnection *bus, const char *dest, const char *path, const char *interface, const char *prop, int *type, void *ptr, DBusError *error)
+/* Returns an AtkObject from a DBusMessageIter and advances the iter.
+ * Expects the iter to point to a (so) structure representing an object. */
+GObject *
+spi_dbus_get_object_from_iter (DBusMessageIter *iter)
{
- DBusMessage *message, *reply;
- DBusMessageIter iter, iter_variant;
- int typ;
+ DBusMessageIter iter_struct;
+ const char *bus_name, *path;
- dbus_error_init (error);
- message = dbus_message_new_method_call (dest, path, "org.freedesktop.DBus.Properties", "get");
- if (!message) return FALSE;
- if (!dbus_message_append_args (message, DBUS_TYPE_STRING, &interface, DBUS_TYPE_STRING, &prop, DBUS_TYPE_INVALID))
- {
- return FALSE;
- }
- reply = dbus_connection_send_with_reply_and_block (bus, message, 1000, error);
- dbus_message_unref (message);
- if (!reply) return FALSE;
- dbus_message_iter_init (reply, &iter);
- dbus_message_iter_recurse (&iter, &iter_variant);
- typ = dbus_message_iter_get_arg_type (&iter_variant);
- if (type) *type = typ;
- if (typ == DBUS_TYPE_INVALID || typ == DBUS_TYPE_STRUCT || typ == DBUS_TYPE_ARRAY)
- {
- return FALSE;
- }
- dbus_message_iter_get_basic (&iter_variant, ptr);
- dbus_message_unref (reply);
- return TRUE;
+ dbus_message_iter_recurse (iter, &iter_struct);
+ dbus_message_iter_get_basic (&iter_struct, &bus_name);
+ dbus_message_iter_next (&iter_struct);
+ dbus_message_iter_get_basic (&iter_struct, &path);
+ dbus_message_iter_next (iter);
+ /* TODO: verify bus name */
+ return spi_global_register_path_to_object (path);
}
-*/
diff --git a/atk-adaptor/spi-dbus.h b/atk-adaptor/spi-dbus.h
index 0826774..18610ea 100644
--- a/atk-adaptor/spi-dbus.h
+++ b/atk-adaptor/spi-dbus.h
@@ -21,8 +21,7 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef SPI_DBUS_H_
-#define SPI_DBUS_H_
+#pragma once
#include
#include
@@ -40,6 +39,28 @@ extern int _dbg;
#define SPI_DBUS_PATH_NULL "/org/a11y/atspi/null"
#define SPI_DBUS_PATH_ROOT "/org/a11y/atspi/accessible/root"
+#define SPI_DBUS_ACCESSIBLE_VERSION ATSPI_ACCESSIBLE_VERSION
+#define SPI_DBUS_ACTION_VERSION ATSPI_ACTION_VERSION
+#define SPI_DBUS_APPLICATION_VERSION ATSPI_APPLICATION_VERSION
+#define SPI_DBUS_CACHE_VERSION ATSPI_CACHE_VERSION
+#define SPI_DBUS_COLLECTION_VERSION ATSPI_COLLECTION_VERSION
+#define SPI_DBUS_COMPONENT_VERSION ATSPI_COMPONENT_VERSION
+#define SPI_DBUS_DEVICE_EVENT_CONTROLLER_VERSION ATSPI_DEVICE_EVENT_CONTROLLER_VERSION
+#define SPI_DBUS_DEVICE_EVENT_LISTENER_VERSION ATSPI_DEVICE_EVENT_LISTENER_VERSION
+#define SPI_DBUS_DOCUMENT_VERSION ATSPI_DOCUMENT_VERSION
+#define SPI_DBUS_EDITABLE_TEXT_VERSION ATSPI_EDITABLE_TEXT_VERSION
+#define SPI_DBUS_EVENT_VERSION ATSPI_EVENT_VERSION
+#define SPI_DBUS_HYPERLINK_VERSION ATSPI_HYPERLINK_VERSION
+#define SPI_DBUS_HYPERTEXT_VERSION ATSPI_HYPERTEXT_VERSION
+#define SPI_DBUS_IMAGE_VERSION ATSPI_IMAGE_VERSION
+#define SPI_DBUS_REGISTRY_VERSION ATSPI_REGISTRY_VERSION
+#define SPI_DBUS_SELECTION_VERSION ATSPI_SELECTION_VERSION
+#define SPI_DBUS_SOCKET_VERSION ATSPI_SOCKET_VERSION
+#define SPI_DBUS_TABLE_VERSION ATSPI_TABLE_VERSION
+#define SPI_DBUS_TABLE_CELL_VERSION ATSPI_TABLE_CELL_VERSION
+#define SPI_DBUS_TEXT_VERSION ATSPI_TEXT_VERSION
+#define SPI_DBUS_VALUE_VERSION ATSPI_VALUE_VERSION
+
DBusMessage *spi_dbus_general_error (DBusMessage *message);
DBusMessage *spi_dbus_return_rect (DBusMessage *message, gint ix, gint iy, gint iwidth, gint iheight);
@@ -47,11 +68,10 @@ dbus_bool_t spi_dbus_message_iter_get_struct (DBusMessageIter *iter, ...);
dbus_bool_t spi_dbus_message_iter_append_struct (DBusMessageIter *iter, ...);
dbus_bool_t spi_dbus_marshal_deviceEvent (DBusMessage *message, const AtspiDeviceEvent *e);
dbus_bool_t spi_dbus_demarshal_deviceEvent (DBusMessage *message, AtspiDeviceEvent *e);
-dbus_bool_t spi_dbus_get_simple_property (DBusConnection *bus, const char *dest, const char *path, const char *interface, const char *prop, int *type, void *ptr, DBusError *error);
void spi_dbus_emit_signal (DBusConnection *bus, const char *path, const char *klass, const char *major, const char *minor, dbus_int32_t detail1, dbus_int32_t detail2, const char *type, const void *val);
+GObject *spi_dbus_get_object_from_iter (DBusMessageIter *iter);
/*
void spi_dbus_add_disconnect_match (DBusConnection *bus, const char *name);
void spi_dbus_remove_disconnect_match (DBusConnection *bus, const char *name);
-*/
-#endif /* SPI_DBUS_H_ */
+*/
diff --git a/atk/atk-autocleanups.h b/atk/atk-autocleanups.h
index b8de1d5..d9e0442 100644
--- a/atk/atk-autocleanups.h
+++ b/atk/atk-autocleanups.h
@@ -19,6 +19,8 @@
#error "Only can be included directly."
#endif
+#pragma once
+
#ifndef __GI_SCANNER__
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AtkAction, g_object_unref)
diff --git a/atk/atk.h b/atk/atk.h
index 19be905..4f9fbfe 100644
--- a/atk/atk.h
+++ b/atk/atk.h
@@ -17,8 +17,7 @@
* Boston, MA 02111-1307, USA.
*/
-#ifndef __ATK_H__
-#define __ATK_H__
+#pragma once
#define __ATK_H_INSIDE__
@@ -59,5 +58,3 @@
#include
#undef __ATK_H_INSIDE__
-
-#endif /* __ATK_H__ */
diff --git a/atk/atkaction.h b/atk/atkaction.h
index 3ba0f6d..4e6b7f9 100644
--- a/atk/atkaction.h
+++ b/atk/atkaction.h
@@ -17,8 +17,7 @@
* Boston, MA 02111-1307, USA.
*/
-#ifndef __ATK_ACTION_H__
-#define __ATK_ACTION_H__
+#pragma once
#if defined(ATK_DISABLE_SINGLE_INCLUDES) && !defined(__ATK_H_INSIDE__) && !defined(ATK_COMPILATION)
#error "Only can be included directly."
@@ -125,5 +124,3 @@ const gchar *atk_action_get_localized_name (AtkAction *action,
*/
G_END_DECLS
-
-#endif /* __ATK_ACTION_H__ */
diff --git a/atk/atkcomponent.c b/atk/atkcomponent.c
index b900c72..1e7f94c 100644
--- a/atk/atkcomponent.c
+++ b/atk/atkcomponent.c
@@ -106,7 +106,7 @@ atk_component_base_init (AtkComponentIface *class)
* @atkcomponent: the object which received the signal.
* @arg1: The AtkRectangle giving the new position and size.
*
- * The 'bounds-changed" signal is emitted when the bposition or
+ * The 'bounds-changed" signal is emitted when the position or
* size of the component changes.
*/
atk_component_signals[BOUNDS_CHANGED] =
diff --git a/atk/atkcomponent.h b/atk/atkcomponent.h
index 5901834..64561ca 100644
--- a/atk/atkcomponent.h
+++ b/atk/atkcomponent.h
@@ -17,8 +17,7 @@
* Boston, MA 02111-1307, USA.
*/
-#ifndef __ATK_COMPONENT_H__
-#define __ATK_COMPONENT_H__
+#pragma once
#if defined(ATK_DISABLE_SINGLE_INCLUDES) && !defined(__ATK_H_INSIDE__) && !defined(ATK_COMPILATION)
#error "Only can be included directly."
@@ -294,5 +293,3 @@ gboolean atk_component_scroll_to_point (AtkComponent *component,
gint y);
G_END_DECLS
-
-#endif /* __ATK_COMPONENT_H__ */
diff --git a/atk/atkdocument.c b/atk/atkdocument.c
index e8910f3..7eabc41 100644
--- a/atk/atkdocument.c
+++ b/atk/atkdocument.c
@@ -20,6 +20,7 @@
#include "config.h"
#include "atkdocument.h"
+#include "atkmarshal.h"
/**
* AtkDocument:
@@ -43,6 +44,7 @@ enum
RELOAD,
LOAD_STOPPED,
PAGE_CHANGED,
+ DOCUMENT_ATTRIBUTE_CHANGED,
LAST_SIGNAL
};
@@ -158,6 +160,28 @@ atk_document_base_init (AtkDocumentIface *class)
g_cclosure_marshal_VOID__INT,
G_TYPE_NONE, 1, G_TYPE_INT);
+ /**
+ * AtkDocument::document-attribute-changed
+ * @atkdocument: the object which received the signal.
+ * @arg1: the name of the attribute being modified, or %NULL if not
+ * available.
+ * @arg2: the attribute's new value, or %null if not available.
+ *
+ * The "document-attribute-changed" signal should be emitted when there is a
+ * change to one of the document attributes returned by
+ * atk_document_get_attributes.
+ *
+ * Since: 2.52
+ */
+ atk_document_signals[DOCUMENT_ATTRIBUTE_CHANGED] =
+ g_signal_new ("document-attribute-changed",
+ ATK_TYPE_DOCUMENT,
+ G_SIGNAL_RUN_LAST,
+ 0,
+ NULL, NULL,
+ atk_marshal_VOID__STRING_STRING,
+ G_TYPE_NONE,
+ 2, G_TYPE_STRING, G_TYPE_STRING);
initialized = TRUE;
}
}
@@ -421,3 +445,61 @@ atk_document_get_page_count (AtkDocument *document)
return -1;
}
}
+
+/**
+ * atk_document_get_text_selections:
+ * @document: an #AtkDocument
+ *
+ * Returns an array of AtkTextSelections within this document.
+ *
+ * Returns: (element-type AtkTextSelection) (transfer full): a GArray of
+ * AtkTextSelection structures representing the selection.
+ *
+ * Since: 2.52
+ */
+GArray *
+atk_document_get_text_selections (AtkDocument *document)
+{
+ AtkDocumentIface *iface;
+
+ g_return_val_if_fail (ATK_IS_DOCUMENT (document), NULL);
+
+ iface = ATK_DOCUMENT_GET_IFACE (document);
+
+ if (iface->get_text_selections)
+ return (*(iface->get_text_selections)) (document);
+ else
+ return NULL;
+}
+
+/**
+ * atk_document_set_text_selections:
+ * @document: an #AtkDocument.
+ * @selections: (element-type AtkTextSelection): a GArray of AtkTextSelections
+ * to be selected.
+ *
+ * Makes 1 or more selections within this document denoted by the given
+ * array of AtkTextSelections. Any existing physical selection (inside or
+ * outside this document) is replaced by the new selections. All objects within
+ * the given selection ranges must be descendants of this document. Otherwise
+ * FALSE will be returned.
+ *
+ * Returns: TRUE if the selection was made successfully; FALSE otherwise.
+ *
+ * Since: 2.52
+ */
+gboolean
+atk_document_set_text_selections (AtkDocument *document,
+ GArray *selections)
+{
+ AtkDocumentIface *iface;
+
+ g_return_val_if_fail (ATK_IS_DOCUMENT (document), FALSE);
+
+ iface = ATK_DOCUMENT_GET_IFACE (document);
+
+ if (iface->set_text_selections)
+ return (*(iface->set_text_selections)) (document, selections);
+ else
+ return FALSE;
+}
diff --git a/atk/atkdocument.h b/atk/atkdocument.h
index 71fa2a7..1f6e61a 100644
--- a/atk/atkdocument.h
+++ b/atk/atkdocument.h
@@ -17,8 +17,7 @@
* Boston, MA 02111-1307, USA.
*/
-#ifndef __ATK_DOCUMENT_H__
-#define __ATK_DOCUMENT_H__
+#pragma once
#if defined(ATK_DISABLE_SINGLE_INCLUDES) && !defined(__ATK_H_INSIDE__) && !defined(ATK_COMPILATION)
#error "Only can be included directly."
@@ -40,6 +39,48 @@ G_BEGIN_DECLS
#define ATK_DOCUMENT(obj) G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_DOCUMENT, AtkDocument)
#define ATK_DOCUMENT_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), ATK_TYPE_DOCUMENT, AtkDocumentIface))
+/**
+ * AtkTextSelection:
+ * @start_object: the AtkText containing the start of the selection.
+ * @start_offset: the text offset of the beginning of the selection within
+ * @start_object.
+ * @end_object: the AtkText containing the end of the selection.
+ * @end_offset: the text offset of the end of the selection within @end_object.
+ * @start_is_active: a gboolean indicating whether the start of the selection
+ * is the active point.
+ *
+ * This structure represents a single text selection within a document. This
+ * selection is defined by two points in the content, where each one is defined
+ * by an AtkObject supporting the AtkText interface and a character offset
+ * relative to it.
+ *
+ * The end object must appear after the start object in the accessibility tree,
+ * i.e. the end object must be reachable from the start object by navigating
+ * forward (next, first child etc).
+ *
+ * This struct also contains a @start_is_active boolean, to communicate if the
+ * start of the selection is the active point or not.
+ *
+ * The active point corresponds to the user's focus or point of interest. The
+ * user moves the active point to expand or collapse the range. The anchor
+ * point is the other point of the range and typically remains constant. In
+ * most cases, anchor is the start of the range and active is the end. However,
+ * when selecting backwards (e.g. pressing shift+left arrow in a text field),
+ * the start of the range is the active point, as the user moves this to
+ * manipulate the selection.
+ *
+ * Since: 2.52
+ */
+typedef struct _AtkTextSelection AtkTextSelection;
+struct _AtkTextSelection
+{
+ AtkObject *start_object;
+ gint start_offset;
+ AtkObject *end_object;
+ gint end_offset;
+ gboolean start_is_active;
+};
+
#ifndef _TYPEDEF_ATK_DOCUMENT_
#define _TYPEDEF_ATK_DOCUMENT_
typedef struct _AtkDocument AtkDocument;
@@ -80,6 +121,8 @@ struct _AtkDocumentIface
const gchar *attribute_value);
gint (*get_current_page_number) (AtkDocument *document);
gint (*get_page_count) (AtkDocument *document);
+ GArray *(*get_text_selections) (AtkDocument *document);
+ gboolean (*set_text_selections) (AtkDocument *document, GArray *selections);
};
ATK_AVAILABLE_IN_ALL
@@ -110,4 +153,8 @@ gint atk_document_get_page_count (AtkDocument *document);
G_END_DECLS
-#endif /* __ATK_DOCUMENT_H__ */
+ATK_AVAILABLE_IN_2_52
+GArray *atk_document_get_text_selections (AtkDocument *document);
+
+ATK_AVAILABLE_IN_2_52
+gboolean atk_document_set_text_selections (AtkDocument *document, GArray *selections);
diff --git a/atk/atkeditabletext.h b/atk/atkeditabletext.h
index 8e37365..bbd8ae9 100644
--- a/atk/atkeditabletext.h
+++ b/atk/atkeditabletext.h
@@ -17,8 +17,7 @@
* Boston, MA 02111-1307, USA.
*/
-#ifndef __ATK_EDITABLE_TEXT_H__
-#define __ATK_EDITABLE_TEXT_H__
+#pragma once
#if defined(ATK_DISABLE_SINGLE_INCLUDES) && !defined(__ATK_H_INSIDE__) && !defined(ATK_COMPILATION)
#error "Only can be included directly."
@@ -104,5 +103,3 @@ void atk_editable_text_paste_text (AtkEditableText *text,
gint position);
G_END_DECLS
-
-#endif /* __ATK_EDITABLE_TEXT_H__ */
diff --git a/atk/atkgobjectaccessible.h b/atk/atkgobjectaccessible.h
index 50c69da..955ea2d 100644
--- a/atk/atkgobjectaccessible.h
+++ b/atk/atkgobjectaccessible.h
@@ -17,8 +17,7 @@
* Boston, MA 02111-1307, USA.
*/
-#ifndef __ATK_GOBJECT_ACCESSIBLE_H__
-#define __ATK_GOBJECT_ACCESSIBLE_H__
+#pragma once
#if defined(ATK_DISABLE_SINGLE_INCLUDES) && !defined(__ATK_H_INSIDE__) && !defined(ATK_COMPILATION)
#error "Only can be included directly."
@@ -64,5 +63,3 @@ ATK_AVAILABLE_IN_ALL
GObject *atk_gobject_accessible_get_object (AtkGObjectAccessible *obj);
G_END_DECLS
-
-#endif /* __ATK_GOBJECT_ACCESSIBLE_H__ */
diff --git a/atk/atkhyperlink.h b/atk/atkhyperlink.h
index f19de29..3ccc437 100644
--- a/atk/atkhyperlink.h
+++ b/atk/atkhyperlink.h
@@ -17,8 +17,7 @@
* Boston, MA 02111-1307, USA.
*/
-#ifndef __ATK_HYPERLINK_H__
-#define __ATK_HYPERLINK_H__
+#pragma once
#if defined(ATK_DISABLE_SINGLE_INCLUDES) && !defined(__ATK_H_INSIDE__) && !defined(ATK_COMPILATION)
#error "Only can be included directly."
@@ -110,5 +109,3 @@ ATK_DEPRECATED
gboolean atk_hyperlink_is_selected_link (AtkHyperlink *link_);
G_END_DECLS
-
-#endif /* __ATK_HYPERLINK_H__ */
diff --git a/atk/atkhyperlinkimpl.h b/atk/atkhyperlinkimpl.h
index 8b95bc8..6a454d3 100644
--- a/atk/atkhyperlinkimpl.h
+++ b/atk/atkhyperlinkimpl.h
@@ -17,8 +17,7 @@
* Boston, MA 02111-1307, USA.
*/
-#ifndef __ATK_HYPERLINK_IMPL_H__
-#define __ATK_HYPERLINK_IMPL_H__
+#pragma once
#if defined(ATK_DISABLE_SINGLE_INCLUDES) && !defined(__ATK_H_INSIDE__) && !defined(ATK_COMPILATION)
#error "Only can be included directly."
@@ -64,5 +63,3 @@ ATK_AVAILABLE_IN_ALL
AtkHyperlink *atk_hyperlink_impl_get_hyperlink (AtkHyperlinkImpl *impl);
G_END_DECLS
-
-#endif /* __ATK_HYPERLINK_IMPL_H__ */
diff --git a/atk/atkhypertext.h b/atk/atkhypertext.h
index 44d0f11..ba44521 100644
--- a/atk/atkhypertext.h
+++ b/atk/atkhypertext.h
@@ -17,8 +17,7 @@
* Boston, MA 02111-1307, USA.
*/
-#ifndef __ATK_HYPERTEXT_H__
-#define __ATK_HYPERTEXT_H__
+#pragma once
#if defined(ATK_DISABLE_SINGLE_INCLUDES) && !defined(__ATK_H_INSIDE__) && !defined(ATK_COMPILATION)
#error "Only can be included directly."
@@ -74,5 +73,3 @@ gint atk_hypertext_get_link_index (AtkHypertext *hypertext,
gint char_index);
G_END_DECLS
-
-#endif /* __ATK_HYPERTEXT_H__ */
diff --git a/atk/atkimage.h b/atk/atkimage.h
index bc09e09..4a2b104 100644
--- a/atk/atkimage.h
+++ b/atk/atkimage.h
@@ -17,8 +17,7 @@
* Boston, MA 02111-1307, USA.
*/
-#ifndef __ATK_IMAGE_H__
-#define __ATK_IMAGE_H__
+#pragma once
#if defined(ATK_DISABLE_SINGLE_INCLUDES) && !defined(__ATK_H_INSIDE__) && !defined(ATK_COMPILATION)
#error "Only can be included directly."
@@ -86,5 +85,3 @@ ATK_AVAILABLE_IN_ALL
const gchar *atk_image_get_image_locale (AtkImage *image);
G_END_DECLS
-
-#endif /* __ATK_IMAGE_H__ */
diff --git a/atk/atkmarshal.list b/atk/atkmarshal.list
index 11e61a7..f453186 100644
--- a/atk/atkmarshal.list
+++ b/atk/atkmarshal.list
@@ -28,3 +28,4 @@ VOID:INT,INT,INT,STRING
VOID:STRING,BOOLEAN
VOID:DOUBLE,STRING
VOID:STRING,INT
+VOID:STRING,STRING
diff --git a/atk/atkmisc.h b/atk/atkmisc.h
index 2455439..a5c6252 100644
--- a/atk/atkmisc.h
+++ b/atk/atkmisc.h
@@ -17,8 +17,7 @@
* Boston, MA 02111-1307, USA.
*/
-#ifndef __ATK_MISC_H__
-#define __ATK_MISC_H__
+#pragma once
#if defined(ATK_DISABLE_SINGLE_INCLUDES) && !defined(__ATK_H_INSIDE__) && !defined(ATK_COMPILATION)
#error "Only can be included directly."
@@ -107,5 +106,3 @@ ATK_DEPRECATED_IN_2_12
const AtkMisc *atk_misc_get_instance (void);
G_END_DECLS
-
-#endif /* __ATK_MISC_H__ */
diff --git a/atk/atknoopobject.h b/atk/atknoopobject.h
index 3ccac0d..420ac4b 100644
--- a/atk/atknoopobject.h
+++ b/atk/atknoopobject.h
@@ -23,8 +23,7 @@
#include
-#ifndef __ATK_NO_OP_OBJECT_H__
-#define __ATK_NO_OP_OBJECT_H__
+#pragma once
G_BEGIN_DECLS
@@ -55,5 +54,3 @@ ATK_AVAILABLE_IN_ALL
AtkObject *atk_no_op_object_new (GObject *obj);
G_END_DECLS
-
-#endif /* __ATK_NO_OP_OBJECT_H__ */
diff --git a/atk/atknoopobjectfactory.h b/atk/atknoopobjectfactory.h
index f2da342..ba731a2 100644
--- a/atk/atknoopobjectfactory.h
+++ b/atk/atknoopobjectfactory.h
@@ -17,8 +17,7 @@
* Boston, MA 02111-1307, USA.
*/
-#ifndef __ATK_NO_OP_OBJECT_FACTORY_H__
-#define __ATK_NO_OP_OBJECT_FACTORY_H__
+#pragma once
#if defined(ATK_DISABLE_SINGLE_INCLUDES) && !defined(__ATK_H_INSIDE__) && !defined(ATK_COMPILATION)
#error "Only can be included directly."
@@ -55,5 +54,3 @@ ATK_AVAILABLE_IN_ALL
AtkObjectFactory *atk_no_op_object_factory_new (void);
G_END_DECLS
-
-#endif /* __ATK_NO_OP_OBJECT_FACTORY_H__ */
diff --git a/atk/atkobject.c b/atk/atkobject.c
index 17a3f2c..60ce119 100644
--- a/atk/atkobject.c
+++ b/atk/atkobject.c
@@ -79,6 +79,7 @@ enum
PROP_TABLE_CAPTION_OBJECT,
PROP_HYPERTEXT_NUM_LINKS,
PROP_ACCESSIBLE_ID,
+ PROP_HELP_TEXT,
PROP_LAST /* gobject convention */
};
@@ -92,6 +93,7 @@ enum
ACTIVE_DESCENDANT_CHANGED,
ANNOUNCEMENT,
NOTIFICATION,
+ ATTRIBUTE_CHANGED,
LAST_SIGNAL
};
@@ -99,6 +101,7 @@ enum
typedef struct
{
gchar *accessible_id;
+ gchar *help_text;
} AtkObjectPrivate;
static gint AtkObject_private_offset;
@@ -157,6 +160,8 @@ static const gchar *const atk_object_name_property_table_row_header = "accessibl
static const gchar *const atk_object_name_property_table_summary = "accessible-table-summary";
static const gchar *const atk_object_name_property_table_caption_object = "accessible-table-caption-object";
static const gchar *const atk_object_name_property_hypertext_num_links = "accessible-hypertext-nlinks";
+static const gchar *const atk_object_name_property_accessible_id = "accessible-id";
+static const gchar *const atk_object_name_property_help_text = "accessible-help-text";
static void
initialize_role_names ()
@@ -429,6 +434,20 @@ atk_object_class_init (AtkObjectClass *klass)
0,
G_PARAM_READABLE));
+ g_object_class_install_property (gobject_class,
+ PROP_ACCESSIBLE_ID,
+ g_param_spec_string (atk_object_name_property_accessible_id,
+ _ ("Accessible ID"),
+ _ ("ID for the accessible; useful for automated testing"),
+ NULL,
+ G_PARAM_READWRITE));
+ g_object_class_install_property (gobject_class,
+ PROP_HELP_TEXT,
+ g_param_spec_string (atk_object_name_property_help_text,
+ _ ("Help text"),
+ _ ("Help text associated with the accessible"),
+ NULL,
+ G_PARAM_READWRITE));
/**
* AtkObject::children-changed:
* @atkobject: the object which received the signal.
@@ -441,7 +460,7 @@ atk_object_class_init (AtkObjectClass *klass)
* NULL.
*
* The signal "children-changed" is emitted when a child is added or
- * removed form an object. It supports two details: "add" and
+ * removed from an object. It supports two details: "add" and
* "remove"
*/
atk_object_signals[CHILDREN_CHANGED] =
@@ -604,6 +623,28 @@ atk_object_class_init (AtkObjectClass *klass)
atk_marshal_VOID__STRING_INT,
G_TYPE_NONE,
2, G_TYPE_STRING, G_TYPE_INT);
+
+ /**
+ * AtkObject::attribute-changed
+ * @atkobject: the object which received the signal.
+ * @arg1: the name of the attribute being modified, or %NULL if not
+ * available.
+ * @arg2: the attribute's new value, or %null if not available.
+ *
+ * The "attribute-changed" signal should be emitted when one of an object's
+ * attributes changes.
+ *
+ * Since: 2.52
+ */
+ atk_object_signals[ATTRIBUTE_CHANGED] =
+ g_signal_new ("attribute-changed",
+ G_TYPE_FROM_CLASS (klass),
+ G_SIGNAL_RUN_LAST,
+ 0, /* no class handler in order to avoid breaking ABI */
+ NULL, NULL,
+ atk_marshal_VOID__STRING_STRING,
+ G_TYPE_NONE,
+ 2, G_TYPE_STRING, G_TYPE_STRING);
}
static void
@@ -618,6 +659,8 @@ atk_object_init (AtkObject *accessible,
accessible->relation_set = atk_relation_set_new ();
accessible->role = ATK_ROLE_UNKNOWN;
private->accessible_id = NULL;
+ private
+ ->help_text = NULL;
}
GType
@@ -1273,6 +1316,9 @@ atk_object_real_set_property (GObject *object,
case PROP_ACCESSIBLE_ID:
atk_object_set_accessible_id (accessible, g_value_get_string (value));
break;
+ case PROP_HELP_TEXT:
+ atk_object_set_help_text (accessible, g_value_get_string (value));
+ break;
default:
break;
}
@@ -1329,6 +1375,9 @@ atk_object_real_get_property (GObject *object,
case PROP_ACCESSIBLE_ID:
g_value_set_string (value, atk_object_get_accessible_id (accessible));
break;
+ case PROP_HELP_TEXT:
+ g_value_set_string (value, atk_object_get_help_text (accessible));
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -1359,6 +1408,7 @@ atk_object_finalize (GObject *object)
g_object_unref (accessible->accessible_parent);
g_free (private->accessible_id);
+ g_free (private->help_text);
G_OBJECT_CLASS (parent_class)->finalize (object);
}
@@ -1685,7 +1735,7 @@ atk_object_get_accessible_id (AtkObject *accessible)
/**
* atk_object_set_accessible_id:
* @accessible: an #AtkObject
- * @name: a character string to be set as the accessible id
+ * @id: a character string to be set as the accessible id
*
* Sets the accessible ID of the accessible. This is not meant to be presented
* to the user, but to be an ID which is stable over application development.
@@ -1703,6 +1753,57 @@ atk_object_set_accessible_id (AtkObject *accessible, const gchar *id)
private->accessible_id = g_strdup (id);
}
+/**
+ * atk_object_get_help_text:
+ * @accessible: an #AtkObject
+ *
+ * Gets the help text associated with the accessible.
+ *
+ * Since: 2.52
+ *
+ * Returns: a character string representing the help text or the object, or
+ * NULL if no such string was set.
+ **/
+const gchar *
+atk_object_get_help_text (AtkObject *accessible)
+{
+ AtkObjectPrivate *private = atk_object_get_instance_private (accessible);
+ return private->help_text;
+}
+
+/**
+ * atk_object_set_help_text:
+ * @accessible: an #AtkObject
+ * @help_text: a character string to be set as the accessible's help text
+ *
+ * Sets the help text associated with the accessible. This can be used to
+ * expose context-sensitive information to help a user understand how to
+ * interact with the object. You can't set the help text to NULL.
+ * This is reserved for the initial value. If you want to set the name to
+ * an empty value, you can use "".
+ *
+ * Since: 2.52
+ **/
+void
+atk_object_set_help_text (AtkObject *accessible, const gchar *help_text)
+{
+ AtkObjectPrivate *private = atk_object_get_instance_private (accessible);
+
+ g_return_if_fail (help_text != NULL);
+
+ if (!g_strcmp0 (private->help_text, help_text))
+ return;
+
+ /* Do not notify for initial help text setting. */
+ gboolean notify = (private->help_text != NULL);
+
+ g_free (private->help_text);
+ private->help_text = g_strdup (help_text);
+
+ if (notify)
+ g_object_notify (G_OBJECT (accessible), atk_object_name_property_help_text);
+}
+
static void
atk_object_real_initialize (AtkObject *accessible,
gpointer data)
diff --git a/atk/atkobject.h b/atk/atkobject.h
index f64fe0f..7197bab 100644
--- a/atk/atkobject.h
+++ b/atk/atkobject.h
@@ -17,8 +17,7 @@
* Boston, MA 02111-1307, USA.
*/
-#ifndef __ATK_OBJECT_H__
-#define __ATK_OBJECT_H__
+#pragma once
#if defined(ATK_DISABLE_SINGLE_INCLUDES) && !defined(__ATK_H_INSIDE__) && !defined(ATK_COMPILATION)
#error "Only can be included directly."
@@ -76,7 +75,7 @@ G_BEGIN_DECLS
*@ATK_ROLE_PASSWORD_TEXT: A text object uses for passwords, or other places where the text content is not shown visibly to the user
*@ATK_ROLE_POPUP_MENU: A temporary window that is usually used to offer the user a list of choices, and then hides when the user selects one of those choices
*@ATK_ROLE_PROGRESS_BAR: An object used to indicate how much of a task has been completed
- *@ATK_ROLE_PUSH_BUTTON: An object the user can manipulate to tell the application to do something
+ *@ATK_ROLE_BUTTON: An object the user can manipulate to tell the application to do something
*@ATK_ROLE_RADIO_BUTTON: A specialized check box that will cause other radio buttons in the same group to become unchecked when this one is checked
*@ATK_ROLE_RADIO_MENU_ITEM: A check menu item which belongs to a group. At each instant exactly one of the radio menu items from a group is selected
*@ATK_ROLE_ROOT_PANE: A specialized pane that has a glass pane and a layered pane as its children
@@ -93,7 +92,6 @@ G_BEGIN_DECLS
*@ATK_ROLE_TABLE_COLUMN_HEADER: The header for a column of a table
*@ATK_ROLE_TABLE_ROW_HEADER: The header for a row of a table
*@ATK_ROLE_TEAR_OFF_MENU_ITEM: A menu item used to tear off and reattach its menu
- *@ATK_ROLE_TERMINAL: An object that represents an accessible terminal. (Since: 0.6)
*@ATK_ROLE_TEXT: An interactive widget that supports multiple lines of text and
* optionally accepts user input, but whose purpose is not to solicit user input.
* Thus ATK_ROLE_TEXT is appropriate for the text view in a plain text editor
@@ -105,98 +103,428 @@ G_BEGIN_DECLS
*@ATK_ROLE_TOOL_BAR: A bar or palette usually composed of push buttons or toggle buttons
*@ATK_ROLE_TOOL_TIP: An object that provides information about another object
*@ATK_ROLE_TREE: An object used to represent hierarchical information to the user
- *@ATK_ROLE_TREE_TABLE: An object capable of expanding and collapsing rows as well as showing multiple columns of data. (Since: 0.7)
*@ATK_ROLE_UNKNOWN: The object contains some Accessible information, but its role is not known
*@ATK_ROLE_VIEWPORT: An object usually used in a scroll pane
*@ATK_ROLE_WINDOW: A top level window with no title or border.
- *@ATK_ROLE_HEADER: An object that serves as a document header. (Since: 1.1.1)
- *@ATK_ROLE_FOOTER: An object that serves as a document footer. (Since: 1.1.1)
- *@ATK_ROLE_PARAGRAPH: An object which is contains a paragraph of text content. (Since: 1.1.1)
- *@ATK_ROLE_RULER: An object which describes margins and tab stops, etc. for text objects which it controls (should have CONTROLLER_FOR relation to such). (Since: 1.1.1)
- *@ATK_ROLE_APPLICATION: The object is an application object, which may contain @ATK_ROLE_FRAME objects or other types of accessibles. The root accessible of any application's ATK hierarchy should have ATK_ROLE_APPLICATION. (Since: 1.1.4)
- *@ATK_ROLE_AUTOCOMPLETE: The object is a dialog or list containing items for insertion into an entry widget, for instance a list of words for completion of a text entry. (Since: 1.3)
- *@ATK_ROLE_EDITBAR: The object is an editable text object in a toolbar. (Since: 1.5)
- *@ATK_ROLE_EMBEDDED: The object is an embedded container within a document or panel. This role is a grouping "hint" indicating that the contained objects share a context. (Since: 1.7.2)
- *@ATK_ROLE_ENTRY: The object is a component whose textual content may be entered or modified by the user, provided @ATK_STATE_EDITABLE is present. (Since: 1.11)
- *@ATK_ROLE_CHART: The object is a graphical depiction of quantitative data. It may contain multiple subelements whose attributes and/or description may be queried to obtain both the quantitative data and information about how the data is being presented. The LABELLED_BY relation is particularly important in interpreting objects of this type, as is the accessible-description property. (Since: 1.11)
- *@ATK_ROLE_CAPTION: The object contains descriptive information, usually textual, about another user interface element such as a table, chart, or image. (Since: 1.11)
- *@ATK_ROLE_DOCUMENT_FRAME: The object is a visual frame or container which contains a view of document content. Document frames may occur within another Document instance, in which case the second document may be said to be embedded in the containing instance. HTML frames are often ROLE_DOCUMENT_FRAME. Either this object, or a singleton descendant, should implement the Document interface. (Since: 1.11)
- *@ATK_ROLE_HEADING: The object serves as a heading for content which follows it in a document. The 'heading level' of the heading, if availabe, may be obtained by querying the object's attributes.
- *@ATK_ROLE_PAGE: The object is a containing instance which encapsulates a page of information. @ATK_ROLE_PAGE is used in documents and content which support a paginated navigation model. (Since: 1.11)
- *@ATK_ROLE_SECTION: The object is a containing instance of document content which constitutes a particular 'logical' section of the document. The type of content within a section, and the nature of the section division itself, may be obtained by querying the object's attributes. Sections may be nested. (Since: 1.11)
- *@ATK_ROLE_REDUNDANT_OBJECT: The object is redundant with another object in the hierarchy, and is exposed for purely technical reasons. Objects of this role should normally be ignored by clients. (Since: 1.11)
- *@ATK_ROLE_FORM: The object is a container for form controls, for instance as part of a
- * web form or user-input form within a document. This role is primarily a tag/convenience for
- * clients when navigating complex documents, it is not expected that ordinary GUI containers will
- * always have ATK_ROLE_FORM. (Since: 1.12.0)
- *@ATK_ROLE_LINK: The object is a hypertext anchor, i.e. a "link" in a
- * hypertext document. Such objects are distinct from 'inline'
- * content which may also use the Hypertext/Hyperlink interfaces
- * to indicate the range/location within a text object where
- * an inline or embedded object lies. (Since: 1.12.1)
- *@ATK_ROLE_INPUT_METHOD_WINDOW: The object is a window or similar viewport
- * which is used to allow composition or input of a 'complex character',
- * in other words it is an "input method window." (Since: 1.12.1)
- *@ATK_ROLE_TABLE_ROW: A row in a table. (Since: 2.1.0)
- *@ATK_ROLE_TREE_ITEM: An object that represents an element of a tree. (Since: 2.1.0)
- *@ATK_ROLE_DOCUMENT_SPREADSHEET: A document frame which contains a spreadsheet. (Since: 2.1.0)
- *@ATK_ROLE_DOCUMENT_PRESENTATION: A document frame which contains a presentation or slide content. (Since: 2.1.0)
- *@ATK_ROLE_DOCUMENT_TEXT: A document frame which contains textual content, such as found in a word processing application. (Since: 2.1.0)
- *@ATK_ROLE_DOCUMENT_WEB: A document frame which contains HTML or other markup suitable for display in a web browser. (Since: 2.1.0)
- *@ATK_ROLE_DOCUMENT_EMAIL: A document frame which contains email content to be displayed or composed either in plain text or HTML. (Since: 2.1.0)
- *@ATK_ROLE_COMMENT: An object found within a document and designed to present a comment, note, or other annotation. In some cases, this object might not be visible until activated. (Since: 2.1.0)
- *@ATK_ROLE_LIST_BOX: A non-collapsible list of choices the user can select from. (Since: 2.1.0)
- *@ATK_ROLE_GROUPING: A group of related widgets. This group typically has a label. (Since: 2.1.0)
- *@ATK_ROLE_IMAGE_MAP: An image map object. Usually a graphic with multiple hotspots, where each hotspot can be activated resulting in the loading of another document or section of a document. (Since: 2.1.0)
- *@ATK_ROLE_NOTIFICATION: A transitory object designed to present a message to the user, typically at the desktop level rather than inside a particular application. (Since: 2.1.0)
- *@ATK_ROLE_INFO_BAR: An object designed to present a message to the user within an existing window. (Since: 2.1.0)
- *@ATK_ROLE_LEVEL_BAR: A bar that serves as a level indicator to, for instance, show the strength of a password or the state of a battery. (Since: 2.7.3)
- *@ATK_ROLE_TITLE_BAR: A bar that serves as the title of a window or a
- * dialog. (Since: 2.12)
- *@ATK_ROLE_BLOCK_QUOTE: An object which contains a text section
- * that is quoted from another source. (Since: 2.12)
- *@ATK_ROLE_AUDIO: An object which represents an audio element. (Since: 2.12)
- *@ATK_ROLE_VIDEO: An object which represents a video element. (Since: 2.12)
- *@ATK_ROLE_DEFINITION: A definition of a term or concept. (Since: 2.12)
- *@ATK_ROLE_ARTICLE: A section of a page that consists of a
- * composition that forms an independent part of a document, page, or
- * site. Examples: A blog entry, a news story, a forum post. (Since: 2.12)
- *@ATK_ROLE_LANDMARK: A region of a web page intended as a
- * navigational landmark. This is designed to allow Assistive
- * Technologies to provide quick navigation among key regions within a
- * document. (Since: 2.12)
- *@ATK_ROLE_LOG: A text widget or container holding log content, such
- * as chat history and error logs. In this role there is a
- * relationship between the arrival of new items in the log and the
- * reading order. The log contains a meaningful sequence and new
- * information is added only to the end of the log, not at arbitrary
- * points. (Since: 2.12)
- *@ATK_ROLE_MARQUEE: A container where non-essential information
- * changes frequently. Common usages of marquee include stock tickers
- * and ad banners. The primary difference between a marquee and a log
- * is that logs usually have a meaningful order or sequence of
- * important content changes. (Since: 2.12)
- *@ATK_ROLE_MATH: A text widget or container that holds a mathematical
- * expression. (Since: 2.12)
- *@ATK_ROLE_RATING: A widget whose purpose is to display a rating,
- * such as the number of stars associated with a song in a media
- * player. Objects of this role should also implement
- * AtkValue. (Since: 2.12)
- *@ATK_ROLE_TIMER: An object containing a numerical counter which
- * indicates an amount of elapsed time from a start point, or the time
- * remaining until an end point. (Since: 2.12)
- *@ATK_ROLE_DESCRIPTION_LIST: An object that represents a list of
- * term-value groups. A term-value group represents a individual
- * description and consist of one or more names
+ *@ATK_ROLE_HEADING: The object serves as a heading for content which follows it in a document. The 'heading level' of the heading, if available, may be obtained by querying the object's attributes.
+ *@ATK_ROLE_LAST_DEFINED: not a valid role, used for finding end of the enumeration
+ *
+ * Describes the role of an object
+ *
+ * These are the built-in enumerated roles that UI components can have
+ * in ATK. Other roles may be added at runtime, so an AtkRole >=
+ * %ATK_ROLE_LAST_DEFINED is not necessarily an error.
+ */
+
+/**
+ * ATK_ROLE_TERMINAL:
+ *
+ * An object that represents an accessible terminal.
+ * Since: 0.6
+ */
+
+/**
+ * ATK_ROLE_TREE_TABLE:
+ *
+ * An object capable of expanding and collapsing rows as well as showing
+ * multiple columns of data.
+ * Since: 0.7
+ */
+
+/**
+ * ATK_ROLE_HEADER:
+ *
+ * An object that serves as a document header.
+ * Since: 1.1.1
+ */
+
+/**
+ * ATK_ROLE_FOOTER:
+ *
+ * An object that serves as a document footer.
+ * Since: 1.1.1
+ */
+
+/**
+ * ATK_ROLE_PARAGRAPH:
+ *
+ * An object which contains a paragraph of text content.
+ * Since: 1.1.1
+ */
+
+/**
+ * ATK_ROLE_RULER:
+ *
+ * An object which describes margins and tab stops, etc. for text objects
+ * which it controls (should have CONTROLLER_FOR relation to such).
+ * Since: 1.1.1
+ */
+
+/**
+ * ATK_ROLE_APPLICATION:
+ *
+ * The object is an application object, which may contain @ATK_ROLE_FRAME
+ * objects or other types of accessibles. The root accessible of any
+ * application's ATK hierarchy should have ATK_ROLE_APPLICATION.
+ * Since: 1.1.4
+ */
+
+/**
+ * ATK_ROLE_AUTOCOMPLETE:
+ *
+ * The object is a dialog or list containing items for insertion into an entry
+ * widget, for instance a list of words for completion of a text entry.
+ * Since: 1.3
+ */
+
+/**
+ * ATK_ROLE_EDITBAR:
+ *
+ * The object is an editable text object in a toolbar.
+ * Since: 1.5
+ */
+
+/**
+ * ATK_ROLE_EMBEDDED:
+ *
+ * The object is an embedded container within a document or panel. This role
+ * is a grouping "hint" indicating that the contained objects share a context.
+ *
+ * Since: 1.7.2
+ */
+
+/**
+ * ATK_ROLE_ENTRY:
+ *
+ * The object is a component whose textual content may be entered or modified
+ * by the user, provided @ATK_STATE_EDITABLE is present.
+ * Since: 1.11
+ */
+
+/**
+ * ATK_ROLE_CHART:
+ *
+ * The object is a graphical depiction of quantitative data. It may contain
+ * multiple subelements whose attributes and/or description may be queried to
+ * obtain both the quantitative data and information about how the data is
+ * being presented. The LABELLED_BY relation is particularly important in
+ * interpreting objects of this type, as is the accessible-description
+ * property.
+ * Since: 1.11
+ */
+
+/**
+ * ATK_ROLE_CAPTION:
+ *
+ * The object contains descriptive information, usually textual, about another
+ * user interface element such as a table, chart, or image.
+ * Since: 1.11
+ */
+
+/**
+ * ATK_ROLE_DOCUMENT_FRAME:
+ *
+ * The object is a visual frame or container which contains a view of document
+ * content. Document frames may occur within another Document instance, in
+ * which case the second document may be said to be embedded in the containing
+ * instance. HTML frames are often ROLE_DOCUMENT_FRAME. Either this object, or
+ * a singleton descendant, should implement the Document interface.
+ * Since: 1.11
+ */
+
+/**
+ * ATK_ROLE_PAGE:
+ *
+ * The object is a containing instance which encapsulates a page of
+ * information. @ATK_ROLE_PAGE is used in documents and content which support a
+ * paginated navigation model.
+ * Since: 1.11
+ */
+
+/**
+ * ATK_ROLE_SECTION:
+ *
+ * The object is a containing instance of document content which constitutes a
+ * particular 'logical' section of the document. The type of content within a
+ * section, and the nature of the section division itself, may be obtained by
+ * querying the object's attributes. Sections may be nested.
+ * Since: 1.11
+ */
+
+/**
+ * ATK_ROLE_REDUNDANT_OBJECT:
+ *
+ * The object is redundant with another object in the hierarchy, and is
+ * exposed for purely technical reasons. Objects of this role should normally
+ * be ignored by clients.
+ * Since: 1.11
+ */
+
+/**
+ * ATK_ROLE_FORM:
+ *
+ * The object is a container for form controls, for instance as part of a web
+ * form or user-input form within a document. This role is primarily a
+ * tag/convenience for clients when navigating complex documents, it is not
+ * expected that ordinary GUI containers will always have ATK_ROLE_FORM.
+ * Since: 1.12.0
+ */
+
+/**
+ * ATK_ROLE_LINK:
+ *
+ * The object is a hypertext anchor, i.e. a "link" in a hypertext document.
+ * Such objects are distinct from 'inline' content which may also use the
+ * Hypertext/Hyperlink interfaces to indicate the range/location within a text
+ * object where an inline or embedded object lies.
+ * Since: 1.12.1
+ */
+
+/**
+ * ATK_ROLE_INPUT_METHOD_WINDOW:
+ *
+ * The object is a window or similar viewport which is used to allow
+ * composition or input of a 'complex character', in other words it is an
+ * "input method window."
+ * Since: 1.12.1
+ */
+
+/**
+ * ATK_ROLE_TABLE_ROW:
+ *
+ * A row in a table.
+ * Since: 2.1.0
+ */
+
+/**
+ * ATK_ROLE_TREE_ITEM:
+ *
+ * An object that represents an element of a tree.
+ * Since: 2.1.0
+ */
+
+/**
+ * ATK_ROLE_DOCUMENT_SPREADSHEET:
+ *
+ * A document frame which contains a spreadsheet.
+ * Since: 2.1.0
+ */
+
+/**
+ * ATK_ROLE_DOCUMENT_PRESENTATION:
+ *
+ * A document frame which contains a presentation or slide content.
+ * Since: 2.1.0
+ */
+
+/**
+ * ATK_ROLE_DOCUMENT_TEXT:
+ *
+ * A document frame which contains textual content, such as found in a word
+ * processing application.
+ * Since: 2.1.0
+ */
+
+/**
+ * ATK_ROLE_DOCUMENT_WEB:
+ *
+ * A document frame which contains HTML or other markup suitable for display
+ * in a web browser.
+ * Since: 2.1.0
+ */
+
+/**
+ * ATK_ROLE_DOCUMENT_EMAIL:
+ *
+ * A document frame which contains email content to be displayed or composed
+ * either in plain text or HTML.
+ * Since: 2.1.0
+ */
+
+/**
+ * ATK_ROLE_COMMENT:
+ *
+ * An object found within a document and designed to present a comment, note,
+ * or other annotation. In some cases, this object might not be visible until
+ * activated.
+ * Since: 2.1.0
+ */
+
+/**
+ * ATK_ROLE_LIST_BOX:
+ *
+ * A non-collapsible list of choices the user can select from.
+ * Since: 2.1.0
+ */
+
+/**
+ * ATK_ROLE_GROUPING:
+ *
+ * A group of related widgets. This group typically has a label.
+ * Since: 2.1.0
+ */
+
+/**
+ * ATK_ROLE_IMAGE_MAP:
+ *
+ * An image map object. Usually a graphic with multiple hotspots, where
+ * each hotspot can be activated resulting in the loading of another
+ * document or section of a document.
+ * Since: 2.1.0
+ */
+
+/**
+ * ATK_ROLE_NOTIFICATION:
+ *
+ * A transitory object designed to present a message to the user, typically
+ * at the desktop level rather than inside a particular application.
+ * Since: 2.1.0
+ */
+
+/**
+ * ATK_ROLE_INFO_BAR:
+ *
+ * An object designed to present a message to the user within an existing
+ * window.
+ * Since: 2.1.0
+ */
+
+/**
+ * ATK_ROLE_LEVEL_BAR:
+ *
+ * A bar that serves as a level indicator to, for instance, show the strength of a
+ * password or the state of a battery.
+ * Since: 2.7.3
+ */
+
+/**
+ * ATK_ROLE_TITLE_BAR:
+ *
+ * A bar that serves as the title of a window or a dialog.
+ * Since: 2.12
+ */
+
+/**
+ * ATK_ROLE_BLOCK_QUOTE:
+ *
+ * An object which contains a text section that is quoted from another source.
+ * Since: 2.12
+ */
+
+/**
+ * ATK_ROLE_AUDIO:
+ *
+ * An object which represents an audio element.
+ * Since: 2.12
+ */
+
+/**
+ * ATK_ROLE_VIDEO:
+ *
+ * An object which represents a video element.
+ * Since: 2.12
+ */
+
+/**
+ * ATK_ROLE_DEFINITION:
+ *
+ * A definition of a term or concept.
+ * Since: 2.12
+ */
+
+/**
+ * ATK_ROLE_ARTICLE:
+ *
+ * A section of a page that consists of a composition that forms an independent
+ * part of a document, page, or site. Examples: A blog entry, a news story,
+ * a forum post.
+ * Since: 2.12
+ */
+
+/**
+ * ATK_ROLE_LANDMARK:
+ *
+ * A region of a web page intended as a * navigational landmark. This is
+ * designed to allow Assistive Technologies to provide quick navigation
+ * among key regions within a * document.
+ * Since: 2.12
+ */
+
+/**
+ * ATK_ROLE_LOG:
+ *
+ * A text widget or container holding log content, such as chat history
+ * and error logs. In this role there is a relationship between the arrival
+ * of new items in the log and the reading order. The log contains a
+ * meaningful sequence and new information is added only to the end of
+ * the log, not at arbitrary points.
+ * Since: 2.12
+ */
+
+/**
+ * ATK_ROLE_MARQUEE:
+ *
+ * A container where non-essential information changes frequently. Common
+ * usages of marquee include stock tickers * and ad banners. The primary
+ * difference between a marquee and a log is that logs usually have a
+ * meaningful order or sequence of important content changes.
+ * Since: 2.12
+ */
+
+/**
+ * ATK_ROLE_MATH:
+ *
+ * A text widget or container that holds a mathematical expression.
+ * Since: 2.12
+ */
+
+/**
+ * ATK_ROLE_RATING:
+ *
+ * A widget whose purpose is to display a rating, such as the number of
+ * stars associated with a song in a media player. Objects of this role should
+ * also implement AtkValue.
+ * Since: 2.12
+ */
+
+/**
+ * ATK_ROLE_TIMER:
+ *
+ * An object containing a numerical counter which indicates an amount of
+ * elapsed time from a start point, or the time remaining until an end point.
+ * Since: 2.12
+ */
+
+/**
+ * ATK_ROLE_DESCRIPTION_LIST:
+ *
+ * An object that represents a list of term-value groups. A term-value group
+ * represents an individual description and consist of one or more names
* (ATK_ROLE_DESCRIPTION_TERM) followed by one or more values
* (ATK_ROLE_DESCRIPTION_VALUE). For each list, there should not be
- * more than one group with the same term name. (Since: 2.12)
- *@ATK_ROLE_DESCRIPTION_TERM: An object that represents a term or phrase
- * with a corresponding definition. (Since: 2.12)
- *@ATK_ROLE_DESCRIPTION_VALUE: An object that represents the
- * description, definition or value of a term. (Since: 2.12)
- *@ATK_ROLE_STATIC: A generic non-container object whose purpose is to display a
- * brief amount of information to the user and whose role is known by the
+ * more than one group with the same term name.
+ * Since: 2.12
+ */
+
+/**
+ * ATK_ROLE_DESCRIPTION_TERM:
+ *
+ * An object that represents a term or phrase with a corresponding definition.
+ * Since: 2.12
+ */
+
+/**
+ * ATK_ROLE_DESCRIPTION_VALUE:
+ *
+ * An object that represents the description, definition or value of a term.
+ * Since: 2.12
+ */
+
+/**
+ * ATK_ROLE_STATIC:
+ *
+ * A generic non-container object whose purpose is to display a brief
+ * amount of information to the user and whose role is known by the
* implementor but lacks semantic value for the user. Examples in which
* %ATK_ROLE_STATIC is appropriate include the message displayed in a message box
* and an image used as an alternative means to display text. %ATK_ROLE_STATIC
@@ -207,43 +535,100 @@ G_BEGIN_DECLS
* inappropriate, it may indicate that a different role should be used. For
* labels which describe another widget, see %ATK_ROLE_LABEL. For text views, see
* %ATK_ROLE_TEXT. For generic containers, see %ATK_ROLE_PANEL. For objects whose
- * role is not known by the implementor, see %ATK_ROLE_UNKNOWN. (Since: 2.16)
- *@ATK_ROLE_MATH_FRACTION: An object that represents a mathematical fraction.
- * (Since: 2.16)
- *@ATK_ROLE_MATH_ROOT: An object that represents a mathematical expression
- * displayed with a radical. (Since: 2.16)
- *@ATK_ROLE_SUBSCRIPT: An object that contains text that is displayed as a
- * subscript. (Since: 2.16)
- *@ATK_ROLE_SUPERSCRIPT: An object that contains text that is displayed as a
- * superscript. (Since: 2.16)
- *@ATK_ROLE_FOOTNOTE: An object that contains the text of a footnote. (Since: 2.26)
- *@ATK_ROLE_CONTENT_DELETION: Content previously deleted or proposed to be
- * deleted, e.g. in revision history or a content view providing suggestions
- * from reviewers. (Since: 2.34)
- *@ATK_ROLE_CONTENT_INSERTION: Content previously inserted or proposed to be
- * inserted, e.g. in revision history or a content view providing suggestions
- * from reviewers. (Since: 2.34)
- *@ATK_ROLE_MARK: A run of content that is marked or highlighted, such as for
- * reference purposes, or to call it out as having a special purpose. If the
- * marked content has an associated section in the document elaborating on the
+ * role is not known by the implementor, see %ATK_ROLE_UNKNOWN.
+ * Since: 2.16
+ */
+
+/**
+ * ATK_ROLE_MATH_FRACTION:
+ *
+ * An object that represents a mathematical fraction.
+ * Since: 2.16
+ */
+
+/**
+ * ATK_ROLE_MATH_ROOT:
+ *
+ * An object that represents a mathematical expression displayed with a
+ * radical.
+ *
+ * Since: 2.16
+ */
+
+/**
+ * ATK_ROLE_SUBSCRIPT:
+ *
+ * An object that contains text that is displayed as a subscript.
+ * Since: 2.16
+ */
+
+/**
+ * ATK_ROLE_SUPERSCRIPT:
+ *
+ * An object that contains text that is displayed as a superscript.
+ * Since: 2.16
+ */
+
+/**
+ * ATK_ROLE_FOOTNOTE:
+ *
+ * An object that contains the text of a footnote.
+ *
+ * Since: 2.26
+ */
+
+/**
+ * ATK_ROLE_CONTENT_DELETION:
+ *
+ * Content previously deleted or proposed to be deleted, e.g. in revision
+ * history or a content view providing suggestions from reviewers.
+ * Since: 2.34
+ */
+
+/**
+ * ATK_ROLE_CONTENT_INSERTION:
+ *
+ * Content previously inserted or proposed to be inserted, e.g. in revision
+ * history or a content view providing suggestions from reviewers.
+ * Since: 2.34
+ */
+
+/**
+ * ATK_ROLE_MARK
+ *
+ * A run of content that is marked or highlighted, such as for reference
+ * purposes, or to call it out as having a special purpose. If the marked
+ * content has an associated section in the document elaborating on the
* reason for the mark, then %ATK_RELATION_DETAILS should be used on the mark
* to point to that associated section. In addition, the reciprocal relation
* %ATK_RELATION_DETAILS_FOR should be used on the associated content section
- * to point back to the mark. (Since: 2.36)
- *@ATK_ROLE_SUGGESTION: A container for content that is called out as a proposed
- * change from the current version of the document, such as by a reviewer of the
+ * to point back to the mark.
+ * Since: 2.36
+ */
+
+/**
+ * ATK_ROLE_SUGGESTION:
+ *
+ * A container for content that is called out as a proposed change from
+ * the current version of the document, such as by a reviewer of the
* content. This role should include either %ATK_ROLE_CONTENT_DELETION and/or
* %ATK_ROLE_CONTENT_INSERTION children, in any order, to indicate what the
- * actual change is. (Since: 2.36)
- *@ATK_ROLE_PUSH_BUTTON_MENU: A specialized push button to open a menu.
- * (Since: 2.46)
- *@ATK_ROLE_LAST_DEFINED: not a valid role, used for finding end of the enumeration
+ * actual change is.
+ * Since: 2.36
+ */
+
+/**
+ * ATK_ROLE_PUSH_BUTTON_MENU:
*
- * Describes the role of an object
+ * A specialized push button to open a menu.
+ * Since: 2.46
+ */
+
+/**
+ * ATK_ROLE_SWITCH:
*
- * These are the built-in enumerated roles that UI components can have
- * in ATK. Other roles may be added at runtime, so an AtkRole >=
- * %ATK_ROLE_LAST_DEFINED is not necessarily an error.
+ * A switch that can be toggled on/off.
+ * Since: 2.56
*/
typedef enum
{
@@ -289,7 +674,7 @@ typedef enum
ATK_ROLE_PASSWORD_TEXT,
ATK_ROLE_POPUP_MENU,
ATK_ROLE_PROGRESS_BAR,
- ATK_ROLE_PUSH_BUTTON,
+ ATK_ROLE_BUTTON,
ATK_ROLE_RADIO_BUTTON,
ATK_ROLE_RADIO_MENU_ITEM,
ATK_ROLE_ROOT_PANE,
@@ -375,7 +760,11 @@ typedef enum
ATK_ROLE_MARK,
ATK_ROLE_SUGGESTION,
ATK_ROLE_PUSH_BUTTON_MENU,
- ATK_ROLE_LAST_DEFINED
+ ATK_ROLE_SWITCH,
+ ATK_ROLE_LAST_DEFINED,
+
+ /* For backwards compatibility */
+ ATK_ROLE_PUSH_BUTTON = ATK_ROLE_BUTTON,
} AtkRole;
/**
@@ -805,13 +1194,18 @@ AtkRole atk_role_register (const gchar *name);
ATK_AVAILABLE_IN_2_8
const gchar *atk_object_get_object_locale (AtkObject *accessible);
-ATK_AVAILABLE_IN_ALL
+ATK_AVAILABLE_IN_2_36
const gchar *atk_object_get_accessible_id (AtkObject *accessible);
-ATK_AVAILABLE_IN_ALL
+ATK_AVAILABLE_IN_2_36
void atk_object_set_accessible_id (AtkObject *accessible,
- const gchar *name);
+ const gchar *id);
-G_END_DECLS
+ATK_AVAILABLE_IN_2_52
+const gchar *atk_object_get_help_text (AtkObject *accessible);
-#endif /* __ATK_OBJECT_H__ */
+ATK_AVAILABLE_IN_2_52
+void atk_object_set_help_text (AtkObject *accessible,
+ const gchar *help_text);
+
+G_END_DECLS
diff --git a/atk/atkobjectfactory.h b/atk/atkobjectfactory.h
index 8d5188a..fd52a1c 100644
--- a/atk/atkobjectfactory.h
+++ b/atk/atkobjectfactory.h
@@ -17,8 +17,7 @@
* Boston, MA 02111-1307, USA.
*/
-#ifndef __ATK_OBJECT_FACTORY_H__
-#define __ATK_OBJECT_FACTORY_H__
+#pragma once
#if defined(ATK_DISABLE_SINGLE_INCLUDES) && !defined(__ATK_H_INSIDE__) && !defined(ATK_COMPILATION)
#error "Only can be included directly."
@@ -67,5 +66,3 @@ ATK_AVAILABLE_IN_ALL
GType atk_object_factory_get_accessible_type (AtkObjectFactory *factory);
G_END_DECLS
-
-#endif /* __GTK_OBJECT_FACTORY_H__ */
diff --git a/atk/atkplug.h b/atk/atkplug.h
index f54d571..8e4edb3 100644
--- a/atk/atkplug.h
+++ b/atk/atkplug.h
@@ -17,8 +17,7 @@
* Boston, MA 02111-1307, USA.
*/
-#ifndef __ATK_PLUG_H__
-#define __ATK_PLUG_H__
+#pragma once
#if defined(ATK_DISABLE_SINGLE_INCLUDES) && !defined(__ATK_H_INSIDE__) && !defined(ATK_COMPILATION)
#error "Only can be included directly."
@@ -64,5 +63,3 @@ ATK_AVAILABLE_IN_ALL
gchar *atk_plug_get_id (AtkPlug *plug);
G_END_DECLS
-
-#endif /* __ATK_PLUG_H__ */
diff --git a/atk/atkprivate.h b/atk/atkprivate.h
index de310c5..ab95da8 100644
--- a/atk/atkprivate.h
+++ b/atk/atkprivate.h
@@ -19,8 +19,7 @@
* Boston, MA 02111-1307, USA.
*/
-#ifndef __ATK_PRIVATE_H__
-#define __ATK_PRIVATE_H__
+#pragma once
#if defined(ATK_DISABLE_SINGLE_INCLUDES) && !defined(__ATK_H_INSIDE__) && !defined(ATK_COMPILATION)
#error "Only can be included directly."
@@ -32,5 +31,3 @@ void _gettext_initialization (void);
void _compact_name (gchar *name);
G_END_DECLS
-
-#endif /* __ATK_PRIVATE_H__ */
diff --git a/atk/atkrange.h b/atk/atkrange.h
index 3a8a4cf..ac3519b 100644
--- a/atk/atkrange.h
+++ b/atk/atkrange.h
@@ -18,8 +18,8 @@
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
-#ifndef __ATK_RANGE_H__
-#define __ATK_RANGE_H__
+
+#pragma once
#if defined(ATK_DISABLE_SINGLE_INCLUDES) && !defined(__ATK_H_INSIDE__) && !defined(ATK_COMPILATION)
#error "Only can be included directly."
@@ -55,5 +55,3 @@ AtkRange *atk_range_new (gdouble lower_limit,
const gchar *description);
G_END_DECLS
-
-#endif /* __ATK_RANGE_H__ */
diff --git a/atk/atkregistry.h b/atk/atkregistry.h
index 865ac66..04f345c 100644
--- a/atk/atkregistry.h
+++ b/atk/atkregistry.h
@@ -17,8 +17,7 @@
* Boston, MA 02111-1307, USA.
*/
-#ifndef __ATK_REGISTRY_H__
-#define __ATK_REGISTRY_H__
+#pragma once
#if defined(ATK_DISABLE_SINGLE_INCLUDES) && !defined(__ATK_H_INSIDE__) && !defined(ATK_COMPILATION)
#error "Only can be included directly."
@@ -68,5 +67,3 @@ ATK_AVAILABLE_IN_ALL
AtkRegistry *atk_get_default_registry (void);
G_END_DECLS
-
-#endif /* __ATK_REGISTRY_H__ */
diff --git a/atk/atkrelation.h b/atk/atkrelation.h
index 3c082ca..900d6fd 100644
--- a/atk/atkrelation.h
+++ b/atk/atkrelation.h
@@ -17,8 +17,7 @@
* Boston, MA 02111-1307, USA.
*/
-#ifndef __ATK_RELATION_H__
-#define __ATK_RELATION_H__
+#pragma once
#if defined(ATK_DISABLE_SINGLE_INCLUDES) && !defined(__ATK_H_INSIDE__) && !defined(ATK_COMPILATION)
#error "Only can be included directly."
@@ -95,5 +94,3 @@ gboolean atk_relation_remove_target (AtkRelation *relation,
AtkObject *target);
G_END_DECLS
-
-#endif /* __ATK_RELATION_H__ */
diff --git a/atk/atkrelationset.h b/atk/atkrelationset.h
index 7853a6e..bf508ac 100644
--- a/atk/atkrelationset.h
+++ b/atk/atkrelationset.h
@@ -17,8 +17,7 @@
* Boston, MA 02111-1307, USA.
*/
-#ifndef __ATK_RELATION_SET_H__
-#define __ATK_RELATION_SET_H__
+#pragma once
#if defined(ATK_DISABLE_SINGLE_INCLUDES) && !defined(__ATK_H_INSIDE__) && !defined(ATK_COMPILATION)
#error "Only can be included directly."
@@ -86,5 +85,3 @@ void atk_relation_set_add_relation_by_type (AtkRelationSet *set,
AtkObject *target);
G_END_DECLS
-
-#endif /* __ATK_RELATION_SET_H__ */
diff --git a/atk/atkrelationtype.h b/atk/atkrelationtype.h
index 558fdc7..c659164 100644
--- a/atk/atkrelationtype.h
+++ b/atk/atkrelationtype.h
@@ -17,8 +17,7 @@
* Boston, MA 02111-1307, USA.
*/
-#ifndef __ATK_RELATION_TYPE_H__
-#define __ATK_RELATION_TYPE_H__
+#pragma once
#if defined(ATK_DISABLE_SINGLE_INCLUDES) && !defined(__ATK_H_INSIDE__) && !defined(ATK_COMPILATION)
#error "Only can be included directly."
@@ -63,27 +62,53 @@ G_BEGIN_DECLS
* object provides descriptive information about the target object(s). See also
* %ATK_RELATION_DETAILS_FOR and %ATK_RELATION_ERROR_FOR.
*@ATK_RELATION_NODE_PARENT_OF: Indicates an object is a cell in a treetable and is expanded to display other cells in the same column.
- *@ATK_RELATION_DETAILS: Reciprocal of %ATK_RELATION_DETAILS_FOR. Indicates that this object
- * has a detailed or extended description, the contents of which can be found in the target
- * object(s). This relation type is most appropriate for information that is sufficiently
- * lengthy as to make navigation to the container of that information desirable. For less
- * verbose information suitable for announcement only, see %ATK_RELATION_DESCRIBED_BY. If
- * the detailed information describes an error condition, %ATK_RELATION_ERROR_FOR should be
- * used instead. @Since: ATK-2.26.
- *@ATK_RELATION_DETAILS_FOR: Reciprocal of %ATK_RELATION_DETAILS. Indicates that this object
- * provides a detailed or extended description about the target object(s). See also
- * %ATK_RELATION_DESCRIPTION_FOR and %ATK_RELATION_ERROR_FOR. @Since: ATK-2.26.
- *@ATK_RELATION_ERROR_MESSAGE: Reciprocal of %ATK_RELATION_ERROR_FOR. Indicates that this object
- * has one or more errors, the nature of which is described in the contents of the target
- * object(s). Objects that have this relation type should also contain %ATK_STATE_INVALID_ENTRY
- * in their #AtkStateSet. @Since: ATK-2.26.
- *@ATK_RELATION_ERROR_FOR: Reciprocal of %ATK_RELATION_ERROR_MESSAGE. Indicates that this object
- * contains an error message describing an invalid condition in the target object(s). @Since:
- * ATK_2.26.
*@ATK_RELATION_LAST_DEFINED: Not used, this value indicates the end of the enumeration.
*
*Describes the type of the relation
**/
+
+/**
+ * ATK_RELATION_DETAILS:
+ *
+ * Reciprocal of %ATK_RELATION_DETAILS_FOR. Indicates that this object has a
+ * detailed or extended description, the contents of which can be found in the
+ * target object(s). This relation type is most appropriate for information
+ * that is sufficiently lengthy as to make navigation to the container of that
+ * information desirable. For less verbose information suitable for
+ * announcement only, see %ATK_RELATION_DESCRIBED_BY. If the detailed
+ * information describes an error condition, %ATK_RELATION_ERROR_FOR should be
+ * used instead.
+ * Since: ATK-2.26.
+ */
+
+/**
+ * ATK_RELATION_DETAILS_FOR:
+ *
+ * Reciprocal of %ATK_RELATION_DETAILS. Indicates that this object provides a
+ * detailed or extended description about the target object(s). See also
+ * %ATK_RELATION_DESCRIPTION_FOR and %ATK_RELATION_ERROR_FOR.
+ * Since: 2.26
+ */
+
+/**
+ * ATK_RELATION_ERROR_MESSAGE:
+ *
+ * Reciprocal of %ATK_RELATION_ERROR_FOR. Indicates that this object has one or
+ * more errors, the nature of which is described in the contents of the target
+ * object(s). Objects that have this relation type should also contain
+ * %ATK_STATE_INVALID_ENTRY in their #AtkStateSet.
+ * Since: 2.26
+ */
+
+/**
+ * ATK_RELATION_ERROR_FOR:
+ *
+ * Reciprocal of %ATK_RELATION_ERROR_MESSAGE. Indicates that this object
+ * contains an error message describing an invalid condition in the target
+ * object(s).
+ * Since: 2.26
+ */
+
typedef enum
{
ATK_RELATION_NULL = 0,
@@ -111,5 +136,3 @@ typedef enum
} AtkRelationType;
G_END_DECLS
-
-#endif /* __ATK_RELATION_TYPE_H__ */
diff --git a/atk/atkselection.h b/atk/atkselection.h
index 69630fc..5c7acde 100644
--- a/atk/atkselection.h
+++ b/atk/atkselection.h
@@ -17,8 +17,7 @@
* Boston, MA 02111-1307, USA.
*/
-#ifndef __ATK_SELECTION_H__
-#define __ATK_SELECTION_H__
+#pragma once
#if defined(ATK_DISABLE_SINGLE_INCLUDES) && !defined(__ATK_H_INSIDE__) && !defined(ATK_COMPILATION)
#error "Only can be included directly."
@@ -96,5 +95,3 @@ ATK_AVAILABLE_IN_ALL
gboolean atk_selection_select_all_selection (AtkSelection *selection);
G_END_DECLS
-
-#endif /* __ATK_SELECTION_H__ */
diff --git a/atk/atksocket.h b/atk/atksocket.h
index 3498a4f..856d67b 100644
--- a/atk/atksocket.h
+++ b/atk/atksocket.h
@@ -17,8 +17,7 @@
* Boston, MA 02111-1307, USA.
*/
-#ifndef __ATK_SOCKET_H__
-#define __ATK_SOCKET_H__
+#pragma once
#if defined(ATK_DISABLE_SINGLE_INCLUDES) && !defined(__ATK_H_INSIDE__) && !defined(ATK_COMPILATION)
#error "Only can be included directly."
@@ -67,5 +66,3 @@ ATK_AVAILABLE_IN_ALL
gboolean atk_socket_is_occupied (AtkSocket *obj);
G_END_DECLS
-
-#endif /* __ATK_SOCKET_H__ */
diff --git a/atk/atkstate.h b/atk/atkstate.h
index 88f42e9..1971440 100644
--- a/atk/atkstate.h
+++ b/atk/atkstate.h
@@ -17,8 +17,7 @@
* Boston, MA 02111-1307, USA.
*/
-#ifndef __ATK_STATE_H__
-#define __ATK_STATE_H__
+#pragma once
#if defined(ATK_DISABLE_SINGLE_INCLUDES) && !defined(__ATK_H_INSIDE__) && !defined(ATK_COMPILATION)
#error "Only can be included directly."
@@ -124,28 +123,57 @@ G_BEGIN_DECLS
* be taken as definitive evidence that the object's visual representation is
* static; this state is advisory.
*@ATK_STATE_VISITED: Indicates that the object (typically a hyperlink) has already been 'activated', and/or its backing data has already been downloaded, rendered, or otherwise "visited".
- *@ATK_STATE_CHECKABLE: Indicates this object has the potential to be
- * checked, such as a checkbox or toggle-able table cell. @Since:
- * ATK-2.12
- *@ATK_STATE_HAS_POPUP: Indicates that the object has a popup context
- * menu or sub-level menu which may or may not be showing. This means
- * that activation renders conditional content. Note that ordinary
- * tooltips are not considered popups in this context. @Since: ATK-2.12
- *@ATK_STATE_HAS_TOOLTIP: Indicates this object has a tooltip. @Since: ATK-2.16
- *@ATK_STATE_READ_ONLY: Indicates that a widget which is ENABLED and SENSITIVE
- * has a value which can be read, but not modified, by the user. Note that this
- * state should only be applied to widget types whose value is normally directly
- * user modifiable, such as check boxes, radio buttons, spin buttons, text input
- * fields, and combo boxes, as a means to convey that the expected interaction
- * with that widget is not possible. When the expected interaction with a
- * widget does not include modification by the user, as is the case with
- * labels and containers, ATK_STATE_READ_ONLY should not be applied. See also
- * ATK_STATE_EDITABLE. @Since: ATK-2-16
- *@ATK_STATE_COLLAPSED: Indicates this object is collapsed. @Since: ATK-2.38
*@ATK_STATE_LAST_DEFINED: Not a valid state, used for finding end of enumeration
*
*The possible types of states of an object
**/
+
+/**
+ * ATK_STATE_CHECKABLE:
+ *
+ * Indicates this object has the potential to be checked, such as a checkbox
+ * or toggle-able table cell.
+ * Since: 2.12
+ */
+
+/**
+ * ATK_STATE_HAS_POPUP:
+ *
+ * Indicates that the object has a popup context menu or sub-level menu which
+ * may or may not be showing. This means that activation renders conditional
+ * content. Note that ordinary tooltips are not considered popups in this
+ * context.
+ * Since: 2.12
+ */
+
+/**
+ * ATK_STATE_HAS_TOOLTIP:
+ *
+ * Indicates this object has a tooltip.
+ * Since: 2.16
+ */
+
+/**
+ * ATK_STATE_READ_ONLY:
+ *
+ * Indicates that a widget which is ENABLED and SENSITIVE has a value which
+ * can be read, but not modified, by the user. Note that this state should only
+ * be applied to widget types whose value is normally directly user modifiable,
+ * such as check boxes, radio buttons, spin buttons, text input fields, and
+ * combo boxes, as a means to convey that the expected interaction with that
+ * widget is not possible. When the expected interaction with a widget does not
+ * include modification by the user, as is the case with labels and containers,
+ * ATK_STATE_READ_ONLY should not be applied. See also ATK_STATE_EDITABLE.
+ * Since: 2.16
+ */
+
+/**
+ * ATK_STATE_COLLAPSED:
+ *
+ * Indicates this object is collapsed.
+ * Since: 2.38
+ */
+
typedef enum
{
ATK_STATE_INVALID,
@@ -206,5 +234,3 @@ ATK_AVAILABLE_IN_ALL
AtkStateType atk_state_type_for_name (const gchar *name);
G_END_DECLS
-
-#endif /* __ATK_STATE_H__ */
diff --git a/atk/atkstateset.h b/atk/atkstateset.h
index 9392e2b..9deea31 100644
--- a/atk/atkstateset.h
+++ b/atk/atkstateset.h
@@ -17,8 +17,7 @@
* Boston, MA 02111-1307, USA.
*/
-#ifndef __ATK_STATE_SET_H__
-#define __ATK_STATE_SET_H__
+#pragma once
#if defined(ATK_DISABLE_SINGLE_INCLUDES) && !defined(__ATK_H_INSIDE__) && !defined(ATK_COMPILATION)
#error "Only can be included directly."
@@ -86,5 +85,3 @@ AtkStateSet *atk_state_set_xor_sets (AtkStateSet *set,
AtkStateSet *compare_set);
G_END_DECLS
-
-#endif /* __ATK_STATE_SET_H__ */
diff --git a/atk/atkstreamablecontent.h b/atk/atkstreamablecontent.h
index fac4b6a..beb2756 100644
--- a/atk/atkstreamablecontent.h
+++ b/atk/atkstreamablecontent.h
@@ -17,8 +17,7 @@
* Boston, MA 02111-1307, USA.
*/
-#ifndef __ATK_STREAMABLE_CONTENT_H__
-#define __ATK_STREAMABLE_CONTENT_H__
+#pragma once
#if defined(ATK_DISABLE_SINGLE_INCLUDES) && !defined(__ATK_H_INSIDE__) && !defined(ATK_COMPILATION)
#error "Only can be included directly."
@@ -105,5 +104,3 @@ const gchar *atk_streamable_content_get_uri (AtkStreamableContent *streamable,
const gchar *mime_type);
G_END_DECLS
-
-#endif /* __ATK_STREAMABLE_CONTENT_H__ */
diff --git a/atk/atktable.c b/atk/atktable.c
index c1fa526..08ad71f 100644
--- a/atk/atktable.c
+++ b/atk/atktable.c
@@ -590,7 +590,7 @@ atk_table_get_row_header (AtkTable *table, gint row)
*
* Gets the summary description of the table.
*
- * Returns: (transfer full): a AtkObject* representing a summary description
+ * Returns: (transfer none): a AtkObject* representing a summary description
* of the table, or zero if value does not implement this interface.
**/
AtkObject *
diff --git a/atk/atktable.h b/atk/atktable.h
index c6fafe7..28e657b 100644
--- a/atk/atktable.h
+++ b/atk/atktable.h
@@ -17,8 +17,7 @@
* Boston, MA 02111-1307, USA.
*/
-#ifndef __ATK_TABLE_H__
-#define __ATK_TABLE_H__
+#pragma once
#if defined(ATK_DISABLE_SINGLE_INCLUDES) && !defined(__ATK_H_INSIDE__) && !defined(ATK_COMPILATION)
#error "Only can be included directly."
@@ -225,5 +224,3 @@ gboolean atk_table_remove_column_selection (AtkTable *table,
gint column);
G_END_DECLS
-
-#endif /* __ATK_TABLE_H__ */
diff --git a/atk/atktablecell.c b/atk/atktablecell.c
index 29b8f0f..e4917b0 100644
--- a/atk/atktablecell.c
+++ b/atk/atktablecell.c
@@ -241,7 +241,7 @@ atk_table_cell_get_row_column_span (AtkTableCell *cell,
*
* Returns a reference to the accessible of the containing table.
*
- * Returns: (transfer full): the atk object for the containing table.
+ * Returns: (transfer none): the atk object for the containing table.
*
* Since: 2.12
*/
diff --git a/atk/atktablecell.h b/atk/atktablecell.h
index 2aeaf06..ead37d8 100644
--- a/atk/atktablecell.h
+++ b/atk/atktablecell.h
@@ -17,8 +17,7 @@
* Boston, MA 02111-1307, USA.
*/
-#ifndef __ATK_TABLE_CELL_H__
-#define __ATK_TABLE_CELL_H__
+#pragma once
#if defined(ATK_DISABLE_SINGLE_INCLUDES) && !defined(__ATK_H_INSIDE__) && !defined(ATK_COMPILATION)
#error "Only can be included directly."
@@ -106,5 +105,3 @@ ATK_AVAILABLE_IN_2_12
AtkObject *atk_table_cell_get_table (AtkTableCell *cell);
G_END_DECLS
-
-#endif /* __ATK_TABLE_CELL_H__ */
diff --git a/atk/atktext.c b/atk/atktext.c
index 072b238..62b94e6 100644
--- a/atk/atktext.c
+++ b/atk/atktext.c
@@ -1321,6 +1321,7 @@ atk_text_attribute_get_value (AtkTextAttribute attr,
case ATK_TEXT_ATTR_STRIKETHROUGH:
case ATK_TEXT_ATTR_BG_STIPPLE:
case ATK_TEXT_ATTR_FG_STIPPLE:
+ case ATK_TEXT_ATTR_MARK:
g_assert (index >= 0 && index < G_N_ELEMENTS (boolean_offsets));
return boolean + boolean_offsets[index];
case ATK_TEXT_ATTR_UNDERLINE:
diff --git a/atk/atktext.h b/atk/atktext.h
index e9d328f..6bfd2d8 100644
--- a/atk/atktext.h
+++ b/atk/atktext.h
@@ -17,8 +17,7 @@
* Boston, MA 02111-1307, USA.
*/
-#ifndef __ATK_TEXT_H__
-#define __ATK_TEXT_H__
+#pragma once
#if defined(ATK_DISABLE_SINGLE_INCLUDES) && !defined(__ATK_H_INSIDE__) && !defined(ATK_COMPILATION)
#error "Only can be included directly."
@@ -37,8 +36,8 @@ G_BEGIN_DECLS
*@ATK_TEXT_ATTR_LEFT_MARGIN: The pixel width of the left margin
*@ATK_TEXT_ATTR_RIGHT_MARGIN: The pixel width of the right margin
*@ATK_TEXT_ATTR_INDENT: The number of pixels that the text is indented
- *@ATK_TEXT_ATTR_INVISIBLE: Either "true" or "false" indicating whether text is visible or not
- *@ATK_TEXT_ATTR_EDITABLE: Either "true" or "false" indicating whether text is editable or not
+ *@ATK_TEXT_ATTR_INVISIBLE: Either "true" or "false" indicating whether text is visible or not.
+ *@ATK_TEXT_ATTR_EDITABLE: Either "true" or "false" indicating whether text is editable or not.
*@ATK_TEXT_ATTR_PIXELS_ABOVE_LINES: Pixels of blank space to leave above each newline-terminated line.
*@ATK_TEXT_ATTR_PIXELS_BELOW_LINES: Pixels of blank space to leave below each newline-terminated line.
*@ATK_TEXT_ATTR_PIXELS_INSIDE_WRAP: Pixels of blank space to leave between wrapped lines inside the same newline-terminated line (paragraph).
@@ -65,7 +64,19 @@ G_BEGIN_DECLS
*@ATK_TEXT_ATTR_LAST_DEFINED: not a valid text attribute, used for finding end of enumeration
*
* Describes the text attributes supported
- **/
+ */
+
+/**
+ * ATK_TEXT_ATTR_MARK:
+ *
+ * A run of content that is marked or highlighted, such as for reference
+ * purposes, or to call it out as having a special purpose that is clear from
+ * context. This is similar to ATK_ROLE_MARK, but this is used where it may
+ * apply to a partial span of text in an object, rather than to an entire
+ * object. Values are "true" or "false".
+ *
+ * Since: 2.60
+ */
typedef enum
{
ATK_TEXT_ATTR_INVALID = 0,
@@ -97,6 +108,7 @@ typedef enum
ATK_TEXT_ATTR_VARIANT,
ATK_TEXT_ATTR_STYLE,
ATK_TEXT_ATTR_TEXT_POSITION,
+ ATK_TEXT_ATTR_MARK,
ATK_TEXT_ATTR_LAST_DEFINED
} AtkTextAttribute;
@@ -473,13 +485,13 @@ ATK_AVAILABLE_IN_ALL
const gchar *atk_text_attribute_get_value (AtkTextAttribute attr,
gint index_);
-ATK_AVAILABLE_IN_ALL
+ATK_AVAILABLE_IN_2_32
gboolean atk_text_scroll_substring_to (AtkText *text,
gint start_offset,
gint end_offset,
AtkScrollType type);
-ATK_AVAILABLE_IN_ALL
+ATK_AVAILABLE_IN_2_32
gboolean atk_text_scroll_substring_to_point (AtkText *text,
gint start_offset,
gint end_offset,
@@ -488,5 +500,3 @@ gboolean atk_text_scroll_substring_to_point (AtkText *text,
gint y);
G_END_DECLS
-
-#endif /* __ATK_TEXT_H__ */
diff --git a/atk/atkutil.h b/atk/atkutil.h
index 844fe2a..449a4a2 100644
--- a/atk/atkutil.h
+++ b/atk/atkutil.h
@@ -17,8 +17,7 @@
* Boston, MA 02111-1307, USA.
*/
-#ifndef __ATK_UTIL_H__
-#define __ATK_UTIL_H__
+#pragma once
#if defined(ATK_DISABLE_SINGLE_INCLUDES) && !defined(__ATK_H_INSIDE__) && !defined(ATK_COMPILATION)
#error "Only can be included directly."
@@ -363,5 +362,3 @@ const gchar *atk_get_version (void);
} /* closes type_name##_get_type() */
G_END_DECLS
-
-#endif /* __ATK_UTIL_H__ */
diff --git a/atk/atkvalue.h b/atk/atkvalue.h
index 05a918e..a93f85b 100644
--- a/atk/atkvalue.h
+++ b/atk/atkvalue.h
@@ -17,8 +17,7 @@
* Boston, MA 02111-1307, USA.
*/
-#ifndef __ATK_VALUE_H__
-#define __ATK_VALUE_H__
+#pragma once
#if defined(ATK_DISABLE_SINGLE_INCLUDES) && !defined(__ATK_H_INSIDE__) && !defined(ATK_COMPILATION)
#error "Only can be included directly."
@@ -158,5 +157,3 @@ ATK_AVAILABLE_IN_ALL
const gchar *atk_value_type_get_localized_name (AtkValueType value_type);
G_END_DECLS
-
-#endif /* __ATK_VALUE_H__ */
diff --git a/atk/atkversion.h.in b/atk/atkversion.h.in
index 9dbd61a..7b3b550 100644
--- a/atk/atkversion.h.in
+++ b/atk/atkversion.h.in
@@ -30,6 +30,8 @@
#include
+G_BEGIN_DECLS
+
/**
* ATK_MAJOR_VERSION:
*
@@ -186,6 +188,16 @@
*/
#define ATK_VERSION_2_30 (G_ENCODE_VERSION (2, 30))
+/**
+ * ATK_VERSION_2_32:
+ *
+ * A macro that evaluates to the 2.32 version of ATK, in a format
+ * that can be used by the C pre-processor.
+ *
+ * Since: 2.52
+ */
+#define ATK_VERSION_2_32 (G_ENCODE_VERSION (2, 32))
+
/**
* ATK_VERSION_2_36:
*
@@ -196,6 +208,16 @@
*/
#define ATK_VERSION_2_36 (G_ENCODE_VERSION (2, 36))
+/**
+ * ATK_VERSION_2_52:
+ *
+ * A macro that evaluates to the 2.52 version of ATK, in a format
+ * that can be used by the C pre-processor.
+ *
+ * Since: 2.52
+ */
+#define ATK_VERSION_2_52 (G_ENCODE_VERSION (2, 52))
+
/* evaluates to the current stable version; for development cycles,
* this means the next stable target
*/
@@ -410,6 +432,12 @@
# define ATK_AVAILABLE_IN_2_30 _ATK_EXTERN
#endif
+#if ATK_VERSION_MAX_ALLOWED < ATK_VERSION_2_32
+# define ATK_AVAILABLE_IN_2_32 ATK_UNAVAILABLE(2, 32)
+#else
+# define ATK_AVAILABLE_IN_2_32 _ATK_EXTERN
+#endif
+
#if ATK_VERSION_MIN_REQUIRED >= ATK_VERSION_2_36
# define ATK_DEPRECATED_IN_2_36 ATK_DEPRECATED
# define ATK_DEPRECATED_IN_2_36_FOR(f) ATK_DEPRECATED_FOR(f)
@@ -424,6 +452,12 @@
# define ATK_AVAILABLE_IN_2_36 _ATK_EXTERN
#endif
+#if ATK_VERSION_MAX_ALLOWED < ATK_VERSION_2_52
+# define ATK_AVAILABLE_IN_2_52 ATK_UNAVAILABLE(2, 52)
+#else
+# define ATK_AVAILABLE_IN_2_52 _ATK_EXTERN
+#endif
+
ATK_AVAILABLE_IN_2_8
guint atk_get_major_version (void) G_GNUC_CONST;
ATK_AVAILABLE_IN_2_8
@@ -441,4 +475,6 @@ guint atk_get_interface_age (void) G_GNUC_CONST;
#define atk_binary_age atk_get_binary_age ()
#define atk_interface_age atk_get_interface_age ()
+G_END_DECLS
+
#endif /* __ATK_VERSION_H__ */
diff --git a/atk/atkwindow.h b/atk/atkwindow.h
index 446c4af..2e09e87 100644
--- a/atk/atkwindow.h
+++ b/atk/atkwindow.h
@@ -17,8 +17,7 @@
* Boston, MA 02111-1307, USA.
*/
-#ifndef __ATK_WINDOW_H__
-#define __ATK_WINDOW_H__
+#pragma once
#if defined(ATK_DISABLE_SINGLE_INCLUDES) && !defined(__ATK_H_INSIDE__) && !defined(ATK_COMPILATION)
#error "Only can be included directly."
@@ -48,5 +47,3 @@ struct _AtkWindowIface
ATK_AVAILABLE_IN_2_2
GType atk_window_get_type (void);
G_END_DECLS
-
-#endif /* __ATK_WINDOW_H__ */
diff --git a/atspi/atspi-accessible-private.h b/atspi/atspi-accessible-private.h
index fdb572f..01a23d2 100644
--- a/atspi/atspi-accessible-private.h
+++ b/atspi/atspi-accessible-private.h
@@ -23,8 +23,7 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef _ATSPI_ACCESSIBLE_PRIVATE_H_
-#define _ATSPI_ACCESSIBLE_PRIVATE_H_
+#pragma once
#include
@@ -38,6 +37,7 @@ struct _AtspiAccessiblePrivate
GHashTable *cache;
guint cache_ref_count;
guint iteration_stamp;
+ gboolean holds_cache_ref;
};
GHashTable *
@@ -45,6 +45,7 @@ _atspi_accessible_ref_cache (AtspiAccessible *accessible);
void
_atspi_accessible_unref_cache (AtspiAccessible *accessible);
-G_END_DECLS
-#endif /* _ATSPI_ACCESSIBLE_H_ */
+void
+_atspi_accessible_set_cached (AtspiAccessible *accessible, gboolean cached);
+G_END_DECLS
diff --git a/atspi/atspi-accessible.c b/atspi/atspi-accessible.c
index 9052ddb..ab7d43c 100644
--- a/atspi/atspi-accessible.c
+++ b/atspi/atspi-accessible.c
@@ -236,6 +236,8 @@ atspi_accessible_dispose (GObject *object)
accessible->children = NULL;
}
+ _atspi_accessible_set_cached (accessible, FALSE);
+
G_OBJECT_CLASS (atspi_accessible_parent_class)->dispose (object);
}
@@ -381,7 +383,7 @@ atspi_accessible_get_description (AtspiAccessible *obj, GError **error)
obj->description = NULL;
if (!_atspi_dbus_get_property (obj, atspi_interface_accessible,
"Description", error, "s",
- &obj->description))
+ &description))
return g_strdup ("");
_atspi_accessible_add_cache (obj, ATSPI_CACHE_DESCRIPTION);
if (!obj->description)
@@ -494,6 +496,7 @@ atspi_accessible_get_child_at_index (AtspiAccessible *obj,
DBusMessage *reply;
g_return_val_if_fail (obj != NULL, NULL);
+ g_return_val_if_fail (child_index >= 0, NULL);
if (_atspi_accessible_test_cache (obj, ATSPI_CACHE_CHILDREN))
{
@@ -515,7 +518,7 @@ atspi_accessible_get_child_at_index (AtspiAccessible *obj,
if (!child)
return NULL;
- if (_atspi_accessible_test_cache (obj, ATSPI_CACHE_CHILDREN))
+ if (_atspi_accessible_test_cache (obj, ATSPI_CACHE_CHILDREN) && child_index < ATSPI_MAX_CHILDREN)
{
if (child_index >= obj->children->len)
g_ptr_array_set_size (obj->children, child_index + 1);
@@ -884,15 +887,21 @@ gchar *
atspi_accessible_get_toolkit_name (AtspiAccessible *obj, GError **error)
{
g_return_val_if_fail (obj != NULL, NULL);
+ gchar *toolkit_name = NULL;
if (!obj->parent.app)
return NULL;
- if (!obj->parent.app->toolkit_name)
- _atspi_dbus_get_property (obj, atspi_interface_application, "ToolkitName",
- error, "s", &obj->parent.app->toolkit_name);
+ if (obj->parent.app->toolkit_name)
+ return g_strdup (obj->parent.app->toolkit_name);
+
+ _atspi_dbus_get_property (obj, atspi_interface_application, "ToolkitName",
+ error, "s", &toolkit_name);
- return g_strdup (obj->parent.app->toolkit_name);
+ if (obj->parent.app)
+ obj->parent.app->toolkit_name = g_strdup (toolkit_name);
+
+ return toolkit_name;
}
/**
@@ -908,15 +917,21 @@ gchar *
atspi_accessible_get_toolkit_version (AtspiAccessible *obj, GError **error)
{
g_return_val_if_fail (obj != NULL, NULL);
+ gchar *toolkit_version = NULL;
if (!obj->parent.app)
return NULL;
- if (!obj->parent.app->toolkit_version)
- _atspi_dbus_get_property (obj, atspi_interface_application, "Version",
- error, "s", &obj->parent.app->toolkit_version);
+ if (obj->parent.app->toolkit_version)
+ return g_strdup (obj->parent.app->toolkit_version);
+
+ _atspi_dbus_get_property (obj, atspi_interface_application, "Version",
+ error, "s", &toolkit_version);
- return g_strdup (obj->parent.app->toolkit_version);
+ if (obj->parent.app)
+ obj->parent.app->toolkit_version = g_strdup (toolkit_version);
+
+ return toolkit_version;
}
/**
@@ -933,15 +948,21 @@ gchar *
atspi_accessible_get_atspi_version (AtspiAccessible *obj, GError **error)
{
g_return_val_if_fail (obj != NULL, NULL);
+ gchar *atspi_version = NULL;
if (!obj->parent.app)
return NULL;
- if (!obj->parent.app->atspi_version)
- _atspi_dbus_get_property (obj, atspi_interface_application, "AtspiVersion",
- error, "s", &obj->parent.app->atspi_version);
+ if (obj->parent.app->atspi_version)
+ return g_strdup (obj->parent.app->atspi_version);
+
+ _atspi_dbus_get_property (obj, atspi_interface_application, "AtspiVersion",
+ error, "s", &atspi_version);
- return g_strdup (obj->parent.app->atspi_version);
+ if (obj->parent.app)
+ obj->parent.app->atspi_version = g_strdup (atspi_version);
+
+ return atspi_version;
}
/**
@@ -1257,7 +1278,7 @@ atspi_accessible_is_value (AtspiAccessible *obj)
}
/**
- * atspi_accessible_get_action: (rename-to atspi_accessible_get_action_iface)
+ * atspi_accessible_get_action:
* @obj: a pointer to the #AtspiAccessible instance to query.
*
* Gets the #AtspiAction interface for an #AtspiAccessible.
@@ -1289,7 +1310,7 @@ atspi_accessible_get_action_iface (AtspiAccessible *accessible)
}
/**
- * atspi_accessible_get_collection: (rename-to atspi_accessible_get_collection_iface)
+ * atspi_accessible_get_collection:
* @obj: a pointer to the #AtspiAccessible instance to query.
*
* Gets the #AtspiCollection interface for an #AtspiAccessible.
@@ -1321,7 +1342,7 @@ atspi_accessible_get_collection_iface (AtspiAccessible *accessible)
}
/**
- * atspi_accessible_get_component: (rename-to atspi_accessible_get_component_iface)
+ * atspi_accessible_get_component:
* @obj: a pointer to the #AtspiAccessible instance to query.
*
* Gets the #AtspiComponent interface for an #AtspiAccessible.
@@ -1353,7 +1374,7 @@ atspi_accessible_get_component_iface (AtspiAccessible *obj)
}
/**
- * atspi_accessible_get_document: (rename-to atspi_accessible_get_document_iface)
+ * atspi_accessible_get_document:
* @obj: a pointer to the #AtspiAccessible instance to query.
*
* Gets the #AtspiDocument interface for an #AtspiAccessible.
@@ -1385,7 +1406,7 @@ atspi_accessible_get_document_iface (AtspiAccessible *accessible)
}
/**
- * atspi_accessible_get_editable_text: (rename-to atspi_accessible_get_editable_text_iface)
+ * atspi_accessible_get_editable_text:
* @obj: a pointer to the #AtspiAccessible instance to query.
*
* Gets the #AtspiEditableText interface for an #AtspiAccessible.
@@ -1432,7 +1453,7 @@ atspi_accessible_get_hyperlink (AtspiAccessible *accessible)
}
/**
- * atspi_accessible_get_hypertext: (rename-to atspi_accessible_get_hypertext_iface)
+ * atspi_accessible_get_hypertext:
* @obj: a pointer to the #AtspiAccessible instance to query.
*
* Gets the #AtspiHypertext interface for an #AtspiAccessible.
@@ -1464,7 +1485,7 @@ atspi_accessible_get_hypertext_iface (AtspiAccessible *accessible)
}
/**
- * atspi_accessible_get_image: (rename-to atspi_accessible_get_image_iface)
+ * atspi_accessible_get_image:
* @obj: a pointer to the #AtspiAccessible instance to query.
*
* Gets the #AtspiImage interface for an #AtspiAccessible.
@@ -1496,7 +1517,7 @@ atspi_accessible_get_image_iface (AtspiAccessible *accessible)
}
/**
- * atspi_accessible_get_selection: (rename-to atspi_accessible_get_selection_iface)
+ * atspi_accessible_get_selection:
* @obj: a pointer to the #AtspiAccessible instance to query.
*
* Gets the #AtspiSelection interface for an #AtspiAccessible.
@@ -1546,7 +1567,7 @@ atspi_accessible_get_streamable_content (AtspiAccessible *accessible)
#endif
/**
- * atspi_accessible_get_table: (rename-to atspi_accessible_get_table_iface)
+ * atspi_accessible_get_table:
* @obj: a pointer to the #AtspiAccessible instance to query.
*
* Gets the #AtspiTable interface for an #AtspiAccessible.
@@ -1593,7 +1614,7 @@ atspi_accessible_get_table_cell (AtspiAccessible *obj)
}
/**
- * atspi_accessible_get_text: (rename-to atspi_accessible_get_text_iface)
+ * atspi_accessible_get_text:
* @obj: a pointer to the #AtspiAccessible instance to query.
*
* Gets the #AtspiTable interface for an #AtspiAccessible.
@@ -1625,7 +1646,7 @@ atspi_accessible_get_text_iface (AtspiAccessible *obj)
}
/**
- * atspi_accessible_get_value: (rename-to atspi_accessible_get_value_iface)
+ * atspi_accessible_get_value:
* @obj: a pointer to the #AtspiAccessible instance to query.
*
* Gets the #AtspiTable interface for an #AtspiAccessible.
@@ -1685,6 +1706,8 @@ atspi_accessible_get_interfaces (AtspiAccessible *obj)
append_const_val (ret, "Accessible");
if (atspi_accessible_is_action (obj))
append_const_val (ret, "Action");
+ if (atspi_accessible_is_application (obj))
+ append_const_val (ret, "Application");
if (atspi_accessible_is_collection (obj))
append_const_val (ret, "Collection");
if (atspi_accessible_is_component (obj))
@@ -1944,6 +1967,33 @@ atspi_accessible_get_accessible_id (AtspiAccessible *obj, GError **error)
return accessible_id;
}
+/**
+ * atspi_accessible_get_help_text:
+ * @obj: an #AtspiAccessible
+ *
+ * Gets the help text associated with the accessible, if set. When this is
+ * present, it provides information that a screen reader can relay to the user
+ * to explain how to interact with the object.
+ *
+ * Since: 2.52
+ *
+ * Returns: a character string representing the help text for the
+ * #AtspiAccessible object or NULL on exception.
+ **/
+gchar *
+atspi_accessible_get_help_text (AtspiAccessible *obj, GError **error)
+{
+ gchar *help_text;
+
+ g_return_val_if_fail (obj != NULL, NULL);
+
+ if (!_atspi_dbus_get_property (obj, atspi_interface_accessible,
+ "HelpText", error, "s", &help_text))
+ return NULL;
+
+ return help_text;
+}
+
void
free_value (gpointer data)
{
@@ -1978,3 +2028,20 @@ _atspi_accessible_unref_cache (AtspiAccessible *accessible)
priv->cache = NULL;
}
}
+
+void
+_atspi_accessible_set_cached (AtspiAccessible *accessible, gboolean cached)
+{
+ AtspiAccessiblePrivate *priv = accessible->priv;
+
+ if (cached && !priv->holds_cache_ref)
+ {
+ priv->holds_cache_ref = TRUE;
+ g_object_ref (accessible);
+ }
+ else if (!cached && priv->holds_cache_ref)
+ {
+ priv->holds_cache_ref = FALSE;
+ g_object_unref (accessible);
+ }
+}
diff --git a/atspi/atspi-accessible.h b/atspi/atspi-accessible.h
index 7612d01..e5060f0 100644
--- a/atspi/atspi-accessible.h
+++ b/atspi/atspi-accessible.h
@@ -23,8 +23,7 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef _ATSPI_ACCESSIBLE_H_
-#define _ATSPI_ACCESSIBLE_H_
+#pragma once
G_BEGIN_DECLS
@@ -108,6 +107,34 @@ gchar *atspi_accessible_get_atspi_version (AtspiAccessible *obj, GError **error)
gint atspi_accessible_get_id (AtspiAccessible *obj, GError **error);
+gboolean atspi_accessible_is_action (AtspiAccessible *obj);
+
+gboolean atspi_accessible_is_application (AtspiAccessible *obj);
+
+gboolean atspi_accessible_is_collection (AtspiAccessible *obj);
+
+gboolean atspi_accessible_is_component (AtspiAccessible *obj);
+
+gboolean atspi_accessible_is_document (AtspiAccessible *obj);
+
+gboolean atspi_accessible_is_editable_text (AtspiAccessible *obj);
+
+gboolean atspi_accessible_is_hypertext (AtspiAccessible *obj);
+
+gboolean atspi_accessible_is_hyperlink (AtspiAccessible *obj);
+
+gboolean atspi_accessible_is_image (AtspiAccessible *obj);
+
+gboolean atspi_accessible_is_selection (AtspiAccessible *obj);
+
+gboolean atspi_accessible_is_table (AtspiAccessible *obj);
+
+gboolean atspi_accessible_is_table_cell (AtspiAccessible *obj);
+
+gboolean atspi_accessible_is_text (AtspiAccessible *obj);
+
+gboolean atspi_accessible_is_value (AtspiAccessible *obj);
+
AtspiAccessible *atspi_accessible_get_application (AtspiAccessible *obj, GError **error);
#ifndef ATSPI_DISABLE_DEPRECATED
@@ -174,11 +201,11 @@ guint atspi_accessible_get_process_id (AtspiAccessible *accessible, GError **err
gchar *atspi_accessible_get_accessible_id (AtspiAccessible *obj, GError **error);
+gchar *atspi_accessible_get_help_text (AtspiAccessible *obj, GError **error);
+
/* private */
void _atspi_accessible_add_cache (AtspiAccessible *accessible, AtspiCache flag);
AtspiCache _atspi_accessible_get_cache_mask (AtspiAccessible *accessible);
gboolean _atspi_accessible_test_cache (AtspiAccessible *accessible, AtspiCache flag);
G_END_DECLS
-
-#endif /* _ATSPI_ACCESSIBLE_H_ */
diff --git a/atspi/atspi-action.h b/atspi/atspi-action.h
index 2f6501c..1a0d9a4 100644
--- a/atspi/atspi-action.h
+++ b/atspi/atspi-action.h
@@ -22,8 +22,7 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef _ATSPI_ACTION_H_
-#define _ATSPI_ACTION_H_
+#pragma once
#include "glib-object.h"
@@ -62,5 +61,3 @@ gchar *atspi_action_get_description (AtspiAction *obj, gint i, GError **error);
gchar *atspi_action_get_name (AtspiAction *obj, gint i, GError **error);
#endif
G_END_DECLS
-
-#endif /* _ATSPI_ACTION_H_ */
diff --git a/atspi/atspi-application.c b/atspi/atspi-application.c
index 91b281f..e48a570 100644
--- a/atspi/atspi-application.c
+++ b/atspi/atspi-application.c
@@ -41,9 +41,21 @@ atspi_application_init (AtspiApplication *application)
}
static void
-dispose_accessible (gpointer key, gpointer obj_data, gpointer data)
+ref_object (void *obj, void *user_data)
{
- g_object_run_dispose (obj_data);
+ g_object_ref (obj);
+}
+
+static void
+unref_object (void *obj, void *user_data)
+{
+ g_object_unref (obj);
+}
+
+static void
+dispose_object (void *obj, void *user_data)
+{
+ g_object_run_dispose (obj);
}
static void
@@ -61,7 +73,11 @@ atspi_application_dispose (GObject *object)
if (application->hash)
{
- g_hash_table_foreach (application->hash, dispose_accessible, NULL);
+ GList *list = g_hash_table_get_values (application->hash);
+ g_list_foreach (list, ref_object, NULL);
+ g_list_foreach (list, dispose_object, NULL);
+ g_list_foreach (list, unref_object, NULL);
+ g_list_free (list);
g_hash_table_unref (application->hash);
application->hash = NULL;
}
@@ -104,7 +120,7 @@ _atspi_application_new (const gchar *bus_name)
AtspiApplication *application;
application = g_object_new (ATSPI_TYPE_APPLICATION, NULL);
- application->hash = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_object_unref);
+ application->hash = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
application->bus_name = g_strdup (bus_name);
application->root = NULL;
return application;
diff --git a/atspi/atspi-application.h b/atspi/atspi-application.h
index 691e1c4..4d4cf26 100644
--- a/atspi/atspi-application.h
+++ b/atspi/atspi-application.h
@@ -22,8 +22,7 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef _ATSPI_APPLICATION_H_
-#define _ATSPI_APPLICATION_H_
+#pragma once
#include
@@ -67,5 +66,3 @@ _atspi_application_new (const char *bus_name);
GType atspi_application_get_type (void);
G_END_DECLS
-
-#endif /* _ATSPI_APPLICATION_H_ */
diff --git a/atspi/atspi-collection.c b/atspi/atspi-collection.c
index b7b2ca2..4beb465 100644
--- a/atspi/atspi-collection.c
+++ b/atspi/atspi-collection.c
@@ -116,7 +116,8 @@ return_accessibles (DBusMessage *message)
* @sortby: An #AtspiCollectionSortOrder specifying the way the results are to
* be sorted.
* @count: The maximum number of results to return, or 0 for no limit.
- * @traverse: Not supported.
+ * @traverse: Whether to traverse the accessible subtree (in case
+ * of #TRUE) or only the direct children (on case of #FALSE).
*
* Gets all #AtspiAccessible objects from the @collection matching a given
* @rule.
@@ -167,7 +168,8 @@ atspi_collection_get_matches (AtspiCollection *collection,
* returned if it would preceed @current_object in a flattened
* hierarchy.
* @count: The maximum number of results to return, or 0 for no limit.
- * @traverse: Not supported.
+ * @traverse: Whether to traverse the accessible subtree (in case
+ * of #TRUE) or only the direct children (on case of #FALSE).
*
* Gets all #AtspiAccessible objects from the @collection, after
* @current_object, matching a given @rule.
@@ -224,7 +226,8 @@ atspi_collection_get_matches_to (AtspiCollection *collection,
* @tree: An #AtspiCollectionTreeTraversalType specifying restrictions on
* the objects to be traversed.
* @count: The maximum number of results to return, or 0 for no limit.
- * @traverse: Not supported.
+ * @traverse: Whether to traverse the accessible subtree (in case
+ * of #TRUE) or only the direct children (on case of #FALSE).
*
* Gets all #AtspiAccessible objects from the @collection, before
* @current_object, matching a given @rule.
diff --git a/atspi/atspi-collection.h b/atspi/atspi-collection.h
index a0d0cdc..850376b 100644
--- a/atspi/atspi-collection.h
+++ b/atspi/atspi-collection.h
@@ -23,8 +23,7 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef _ATSPI_COLLECTION_H_
-#define _ATSPI_COLLECTION_H_
+#pragma once
#include "glib-object.h"
@@ -58,5 +57,3 @@ GArray *atspi_collection_get_matches_from (AtspiCollection *collection, AtspiAcc
AtspiAccessible *atspi_collection_get_active_descendant (AtspiCollection *collection, GError **error);
G_END_DECLS
-
-#endif /* _ATSPI_COLLECTION_H_ */
diff --git a/atspi/atspi-component.c b/atspi/atspi-component.c
index 5a5dac1..b6d6ff9 100644
--- a/atspi/atspi-component.c
+++ b/atspi/atspi-component.c
@@ -159,21 +159,10 @@ atspi_component_get_extents (AtspiComponent *obj,
{
dbus_uint32_t d_ctype = ctype;
AtspiRect bbox;
- AtspiAccessible *accessible;
bbox.x = bbox.y = bbox.width = bbox.height = -1;
g_return_val_if_fail (obj != NULL, atspi_rect_copy (&bbox));
- accessible = ATSPI_ACCESSIBLE (obj);
- if (accessible->priv->cache && ctype == ATSPI_COORD_TYPE_SCREEN)
- {
- GValue *val = g_hash_table_lookup (accessible->priv->cache, "Component.ScreenExtents");
- if (val)
- {
- return g_value_dup_boxed (val);
- }
- }
-
_atspi_dbus_call (obj, atspi_interface_component, "GetExtents", error, "u=>(iiii)", d_ctype, &bbox);
return atspi_rect_copy (&bbox);
}
@@ -195,7 +184,7 @@ atspi_component_get_position (AtspiComponent *obj,
AtspiCoordType ctype,
GError **error)
{
- dbus_int32_t d_x, d_y;
+ dbus_int32_t d_x = -1, d_y = -1;
dbus_uint32_t d_ctype = ctype;
AtspiPoint ret;
@@ -224,7 +213,7 @@ atspi_component_get_position (AtspiComponent *obj,
AtspiPoint *
atspi_component_get_size (AtspiComponent *obj, GError **error)
{
- dbus_int32_t d_w, d_h;
+ dbus_int32_t d_w = -1, d_h = -1;
AtspiPoint ret;
ret.x = ret.y = -1;
diff --git a/atspi/atspi-component.h b/atspi/atspi-component.h
index b23d436..654b1a2 100644
--- a/atspi/atspi-component.h
+++ b/atspi/atspi-component.h
@@ -22,8 +22,7 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef _ATSPI_COMPONENT_H_
-#define _ATSPI_COMPONENT_H_
+#pragma once
#include "glib-object.h"
@@ -112,5 +111,3 @@ gboolean atspi_component_scroll_to (AtspiComponent *obj, AtspiScrollType type, G
gboolean atspi_component_scroll_to_point (AtspiComponent *obj, AtspiCoordType coords, gint x, gint y, GError **error);
G_END_DECLS
-
-#endif /* _ATSPI_COMPONENT_H_ */
diff --git a/atspi/atspi-constants.h b/atspi/atspi-constants.h
index 93946b8..e2e0c7d 100644
--- a/atspi/atspi-constants.h
+++ b/atspi/atspi-constants.h
@@ -84,8 +84,10 @@
*/
-#ifndef _ATSPI_CONSTANTS_H_
-#define _ATSPI_CONSTANTS_H_
+#pragma once
+
+#include
+
/**
* AtspiConstants:
*
@@ -193,6 +195,8 @@ extern "C"
*/
#define ATSPI_SORTORDER_COUNT (7 + 1)
+G_STATIC_ASSERT(ATSPI_SORTORDER_COUNT == ATSPI_Collection_SORT_ORDER_LAST_DEFINED + 1);
+
/**
* AtspiCollectionMatchType:
* @ATSPI_Collection_MATCH_INVALID: Indicates an error condition or
@@ -227,6 +231,8 @@ extern "C"
**/
#define ATSPI_MATCHTYPES_COUNT (5 + 1)
+G_STATIC_ASSERT(ATSPI_MATCHTYPES_COUNT == ATSPI_Collection_MATCH_LAST_DEFINED + 1);
+
/**
* AtspiCollectionTreeTraversalType:
* @ATSPI_Collection_TREE_RESTRICT_CHILDREN: Restrict children tree traveral
@@ -255,6 +261,8 @@ extern "C"
*/
#define ATSPI_TREETRAVERSALTYPE_COUNT (3 + 1)
+G_STATIC_ASSERT(ATSPI_TREETRAVERSALTYPE_COUNT == ATSPI_Collection_TREE_LAST_DEFINED + 1);
+
/**
* AtspiComponentLayer:
* @ATSPI_LAYER_INVALID: Indicates an error condition or uninitialized value.
@@ -315,6 +323,8 @@ extern "C"
**/
#define ATSPI_COMPONENTLAYER_COUNT (8 + 1)
+G_STATIC_ASSERT(ATSPI_COMPONENTLAYER_COUNT == ATSPI_LAYER_LAST_DEFINED + 1);
+
/**
* AtspiTextBoundaryType:
* @ATSPI_TEXT_BOUNDARY_CHAR: An #AtspiText instance is bounded by this
@@ -445,12 +455,12 @@ extern "C"
* parent container.
* @ATSPI_STATE_ARMED: Indicates that the object is armed.
* @ATSPI_STATE_BUSY: Indicates the current object is busy, i.e. onscreen
- * representation is in the process of changing, or the object is
+ * representation is in the process of changing, or the object is
* temporarily unavailable for interaction due to activity already in progress.
* @ATSPI_STATE_CHECKED: Indicates this object is currently checked.
* @ATSPI_STATE_COLLAPSED: Indicates this object is collapsed.
* @ATSPI_STATE_DEFUNCT: Indicates that this object no longer has a valid
- * backing widget (for instance, if its peer object has been destroyed).
+ * backing widget (for instance, if its peer object has been destroyed).
* @ATSPI_STATE_EDITABLE: Indicates the user can change the contents of this
* object.
* @ATSPI_STATE_ENABLED: Indicates that this object is enabled, i.e. that it
@@ -487,7 +497,7 @@ extern "C"
* fixed.
* @ATSPI_STATE_SELECTABLE: Indicates this object is the child of an object
* that allows its children to be selected and that this child is one of
- * those children that can be selected.
+ * those children that can be selected.
* @ATSPI_STATE_SELECTED: Indicates this object is the child of an object that
* allows its children to be selected and that this child is one of those
* children that has been selected.
@@ -583,26 +593,41 @@ extern "C"
* @ATSPI_STATE_VISITED: This state indicates that the object (typically a
* hyperlink) has already been activated or invoked, with the result that
* some backing data has been downloaded or rendered.
- *@ATSPI_STATE_CHECKABLE: Indicates this object has the potential to
- * be checked, such as a checkbox or toggle-able table cell. @Since:
- * 2.12
- *@ATSPI_STATE_HAS_POPUP: Indicates that the object has a popup
- * context menu or sub-level menu which may or may not be
- * showing. This means that activation renders conditional content.
- * Note that ordinary tooltips are not considered popups in this
- * context. @Since: 2.12
- * @ATSPI_STATE_READ_ONLY: Indicates that an object which is ENABLED and
- * SENSITIVE has a value which can be read, but not modified, by the
- * user. @Since: 2.16
* @ATSPI_STATE_LAST_DEFINED: This value of the enumeration should not be used
* as a parameter, it indicates the number of items in the #AtspiStateType
* enumeration.
*
- *
* Enumeration used by various interfaces indicating every possible state
- * an #AtspiAccesible object can assume.
+ * an #AtspiAccessible object can assume.
*
**/
+
+ /**
+ * ATSPI_STATE_CHECKABLE:
+ *
+ * Indicates this object has the potential to be checked, such as a checkbox
+ * or toggle-able table cell.
+ * Since: 2.12
+ */
+
+ /**
+ * ATSPI_STATE_HAS_POPUP:
+ *
+ * Indicates that the object has a popup context menu or sub-level menu
+ * which may or may not be showing. This means that activation renders
+ * conditional content. Note that ordinary tooltips are not considered
+ * popups in this context.
+ * Since: 2.12
+ */
+
+ /**
+ * ATSPI_STATE_READ_ONLY:
+ *
+ * Indicates that an object which is ENABLED and SENSITIVE has a value
+ * which can be read, but not modified, by the user.
+ * Since: 2.16
+ */
+
typedef enum
{
ATSPI_STATE_INVALID,
@@ -657,7 +682,9 @@ extern "C"
*
* One higher than the highest valid value of #AtspiStateType.
**/
-#define ATSPI_STATETYPE_COUNT (41 + 1)
+#define ATSPI_STATETYPE_COUNT (44 + 1)
+
+G_STATIC_ASSERT(ATSPI_STATETYPE_COUNT == ATSPI_STATE_LAST_DEFINED + 1);
/**
* AtspiKeyEventType:
@@ -773,6 +800,7 @@ extern "C"
* is set in the corresponding XEvent.
* @ATSPI_MODIFIER_META2: See @ATSPI_MODIFIER_META.
* @ATSPI_MODIFIER_META3: See @ATSPI_MODIFIER_META.
+ * @ATSPI_MODIFIER_SUPER: Alias for META3.
* @ATSPI_MODIFIER_NUMLOCK: A symbolic meta key name that is mapped by AT-SPI
* to the appropriate META value, for the convenience of the client.
*
@@ -788,6 +816,7 @@ extern "C"
ATSPI_MODIFIER_META,
ATSPI_MODIFIER_META2,
ATSPI_MODIFIER_META3,
+ ATSPI_MODIFIER_SUPER = ATSPI_MODIFIER_META3,
ATSPI_MODIFIER_NUMLOCK = 14,
} AtspiModifierType;
@@ -859,38 +888,18 @@ extern "C"
* assistive technologies may provide a means for the user to navigate to
* objects containing detailed descriptions so that their content can be more
* closely reviewed.
- * @ATSPI_RELATION_DETAILS: Reciprocal of %ATSPI_RELATION_DETAILS_FOR. Indicates
- * that this object has a detailed or extended description, the contents of
- * which can be found in the target object(s). This relation type is most
- * appropriate for information that is sufficiently lengthy as to make
- * navigation to the container of that information desirable. For less verbose
- * information suitable for announcement only, see %ATSPI_RELATION_DESCRIBED_BY.
- * If the detailed information describes an error condition,
- * %ATSPI_RELATION_ERROR_FOR should be used instead. @Since: 2.26.
- * @ATSPI_RELATION_DETAILS_FOR: Reciprocal of %ATSPI_RELATION_DETAILS. Indicates
- * that this object provides a detailed or extended description about the target
- * object(s). See also %ATSPI_RELATION_DESCRIPTION_FOR and
- * %ATSPI_RELATION_ERROR_FOR. @Since: 2.26.
- * @ATSPI_RELATION_ERROR_MESSAGE: Reciprocal of %ATSPI_RELATION_ERROR_FOR.
- * Indicates that this object has one or more errors, the nature of which is
- * described in the contents of the target object(s). Objects that have this
- * relation type should also contain %ATSPI_STATE_INVALID_ENTRY in their
- * #AtspiStateSet. @Since: 2.26.
- * @ATSPI_RELATION_ERROR_FOR: Reciprocal of %ATSPI_RELATION_ERROR_MESSAGE.
- * Indicates that this object contains an error message describing an invalid
- * condition in the target object(s). @Since: 2.26.
* @ATSPI_RELATION_LAST_DEFINED: Do not use as a parameter value, used to
* determine the size of the enumeration.
*
* #AtspiRelationType specifies a relationship between objects
* (possibly one-to-many
* or many-to-one) outside of the normal parent/child hierarchical
- * relationship. It allows better semantic identification of how objects
+ * relationship. It allows better semantic identification of how objects
* are associated with one another. For instance the
* @ATSPI_RELATION_LABELLED_BY
- * relationship may be used to identify labelling information that should
+ * relationship may be used to identify labelling information that should
* accompany the accessible name property when presenting an object's content or
- * identity to the end user. Similarly,
+ * identity to the end user. Similarly,
* @ATSPI_RELATION_CONTROLLER_FOR can be used
* to further specify the context in which a valuator is useful, and/or the
* other UI components which are directly effected by user interactions with
@@ -902,6 +911,49 @@ extern "C"
* the type of relation encapsulated in an #AtspiRelation object.
*
**/
+
+ /**
+ * ATSPI_RELATION_DETAILS:
+ *
+ * Reciprocal of %ATSPI_RELATION_DETAILS_FOR. Indicates that this object has a
+ * detailed or extended description, the contents of which can be found in the
+ * target object(s). This relation type is most appropriate for information
+ * that is sufficiently lengthy as to make navigation to the container of that
+ * information desirable. For less verbose information suitable for
+ * announcement only, see %ATSPI_RELATION_DESCRIBED_BY. If the detailed
+ * information describes an error condition, %ATSPI_RELATION_ERROR_FOR should
+ * be used instead.
+ * Since: 2.26
+ */
+
+ /**
+ * ATSPI_RELATION_DETAILS_FOR:
+ *
+ * Reciprocal of %ATSPI_RELATION_DETAILS. Indicates that this object provides a
+ * detailed or extended description about the target object(s). See also
+ * %ATSPI_RELATION_DESCRIPTION_FOR and %ATSPI_RELATION_ERROR_FOR.
+ * Since: 2.26
+ */
+
+ /**
+ * ATSPI_RELATION_ERROR_MESSAGE:
+ *
+ * Reciprocal of %ATSPI_RELATION_ERROR_FOR. Indicates that this object has one
+ * or more errors, the nature of which is described in the contents of the
+ * target object(s). Objects that have this relation type should also contain
+ * %ATSPI_STATE_INVALID_ENTRY in their #AtspiStateSet.
+ * Since: 2.26
+ */
+
+ /**
+ * ATSPI_RELATION_ERROR_FOR:
+ *
+ * Reciprocal of %ATSPI_RELATION_ERROR_MESSAGE. Indicates that this object
+ * contains an error message describing an invalid condition in the target
+ * object(s).
+ * Since: 2.26
+ */
+
typedef enum
{
ATSPI_RELATION_NULL,
@@ -937,491 +989,653 @@ extern "C"
**/
#define ATSPI_RELATIONTYPE_COUNT (23 + 1)
- /**
- * AtspiRole:
- * @ATSPI_ROLE_INVALID: A role indicating an error condition, such as
- * uninitialized Role data.
- * @ATSPI_ROLE_ACCELERATOR_LABEL: Object is a label indicating the keyboard
- * accelerators for the parent.
- * @ATSPI_ROLE_ALERT: Object is used to alert the user about something.
- * @ATSPI_ROLE_ANIMATION: Object contains a dynamic or moving image of some
- * kind.
- * @ATSPI_ROLE_ARROW: Object is a 2d directional indicator.
- * @ATSPI_ROLE_CALENDAR: Object contains one or more dates, usually arranged
- * into a 2d list.
- * @ATSPI_ROLE_CANVAS: Object that can be drawn into and is used to trap
- * events.
- * @ATSPI_ROLE_CHECK_BOX: A choice that can be checked or unchecked and
- * provides a separate indicator for the current state.
- * @ATSPI_ROLE_CHECK_MENU_ITEM: A menu item that behaves like a check box. See
- * @ATSPI_ROLE_CHECK_BOX.
- * @ATSPI_ROLE_COLOR_CHOOSER: A specialized dialog that lets the user choose a
- * color.
- * @ATSPI_ROLE_COLUMN_HEADER: The header for a column of data.
- * @ATSPI_ROLE_COMBO_BOX: A list of choices the user can select from.
- * @ATSPI_ROLE_DATE_EDITOR: An object which allows entry of a date.
- * @ATSPI_ROLE_DESKTOP_ICON: An inconifed internal frame within a DESKTOP_FRAME.
- * @ATSPI_ROLE_DESKTOP_FRAME: A pane that supports internal frames and
- * iconified versions of those internal frames.
- * @ATSPI_ROLE_DIAL: An object that allows a value to be changed via rotating a
- * visual element, or which displays a value via such a rotating element.
- * @ATSPI_ROLE_DIALOG: A top level window with title bar and a border.
- * @ATSPI_ROLE_DIRECTORY_PANE: A pane that allows the user to navigate through
- * and select the contents of a directory.
- * @ATSPI_ROLE_DRAWING_AREA: An object used for drawing custom user interface
- * elements.
- * @ATSPI_ROLE_FILE_CHOOSER: A specialized dialog that displays the files in
- * the directory and lets the user select a file, browse a different
- * directory, or specify a filename.
- * @ATSPI_ROLE_FILLER: A object that fills up space in a user interface.
- * @ATSPI_ROLE_FOCUS_TRAVERSABLE: Don't use, reserved for future use.
- * @ATSPI_ROLE_FONT_CHOOSER: Allows selection of a display font.
- * @ATSPI_ROLE_FRAME: A top level window with a title bar, border, menubar,
- * etc.
- * @ATSPI_ROLE_GLASS_PANE: A pane that is guaranteed to be painted on top of
- * all panes beneath it.
- * @ATSPI_ROLE_HTML_CONTAINER: A document container for HTML, whose children
- * represent the document content.
- * @ATSPI_ROLE_ICON: A small fixed size picture, typically used to decorate
- * components.
- * @ATSPI_ROLE_IMAGE: An image, typically static.
- * @ATSPI_ROLE_INTERNAL_FRAME: A frame-like object that is clipped by a desktop
- * pane.
- * @ATSPI_ROLE_LABEL: An object used to present an icon or short string in an
- * interface.
- * @ATSPI_ROLE_LAYERED_PANE: A specialized pane that allows its children to be
- * drawn in layers, providing a form of stacking order.
- * @ATSPI_ROLE_LIST: An object that presents a list of objects to the user and
- * allows the user to select one or more of them.
- * @ATSPI_ROLE_LIST_ITEM: An object that represents an element of a list.
- * @ATSPI_ROLE_MENU: An object usually found inside a menu bar that contains a
- * list of actions the user can choose from.
- * @ATSPI_ROLE_MENU_BAR: An object usually drawn at the top of the primary
- * dialog box of an application that contains a list of menus the user can
- * choose from.
- * @ATSPI_ROLE_MENU_ITEM: An object usually contained in a menu that presents
- * an action the user can choose.
- * @ATSPI_ROLE_OPTION_PANE: A specialized pane whose primary use is inside a
- * dialog.
- * @ATSPI_ROLE_PAGE_TAB: An object that is a child of a page tab list.
- * @ATSPI_ROLE_PAGE_TAB_LIST: An object that presents a series of panels (or
- * page tabs), one at a time,through some mechanism provided by the
- * object.
- * @ATSPI_ROLE_PANEL: A generic container that is often used to group objects.
- * @ATSPI_ROLE_PASSWORD_TEXT: A text object uses for passwords, or other places
- * where the text content is not shown visibly to the user.
- * @ATSPI_ROLE_POPUP_MENU: A temporary window that is usually used to offer the
- * user a list of choices, and then hides when the user selects one of those
- * choices.
- * @ATSPI_ROLE_PROGRESS_BAR: An object used to indicate how much of a task has
- * been completed.
- * @ATSPI_ROLE_PUSH_BUTTON: An object the user can manipulate to tell the
- * application to do something.
- * @ATSPI_ROLE_RADIO_BUTTON: A specialized check box that will cause other
- * radio buttons in the same group to become unchecked when this one is
- * checked.
- * @ATSPI_ROLE_RADIO_MENU_ITEM: Object is both a menu item and a "radio button"
- * . See @ATSPI_ROLE_RADIO_BUTTON.
- * @ATSPI_ROLE_ROOT_PANE: A specialized pane that has a glass pane and a
- * layered pane as its children.
- * @ATSPI_ROLE_ROW_HEADER: The header for a row of data.
- * @ATSPI_ROLE_SCROLL_BAR: An object usually used to allow a user to
- * incrementally view a large amount of data by moving the bounds of a
- * viewport along a one-dimensional axis.
- * @ATSPI_ROLE_SCROLL_PANE: An object that allows a user to incrementally view
- * a large amount of information. @ATSPI_ROLE_SCROLL_PANE objects are usually
- * accompanied by @ATSPI_ROLE_SCROLL_BAR controllers, on which the
- * @ATSPI_RELATION_CONTROLLER_FOR and @ATSPI_RELATION_CONTROLLED_BY
- * reciprocal relations are set. See #atspi_get_relation_set.
- * @ATSPI_ROLE_SEPARATOR: An object usually contained in a menu to provide a
- * visible and logical separation of the contents in a menu.
- * @ATSPI_ROLE_SLIDER: An object that allows the user to select from a bounded
- * range. Unlike @ATSPI_ROLE_SCROLL_BAR, @ATSPI_ROLE_SLIDER objects need not control
- * 'viewport'-like objects.
- * @ATSPI_ROLE_SPIN_BUTTON: An object which allows one of a set of choices to
- * be selected, and which displays the current choice.
- * @ATSPI_ROLE_SPLIT_PANE: A specialized panel that presents two other panels
- * at the same time.
- * @ATSPI_ROLE_STATUS_BAR: Object displays non-quantitative status information
- * (c.f. @ATSPI_ROLE_PROGRESS_BAR)
- * @ATSPI_ROLE_TABLE: An object used to repesent information in terms of rows
- * and columns.
- * @ATSPI_ROLE_TABLE_CELL: A 'cell' or discrete child within a Table. Note:
- * Table cells need not have @ATSPI_ROLE_TABLE_CELL, other
- * #AtspiRoleType values are valid as well.
- * @ATSPI_ROLE_TABLE_COLUMN_HEADER: An object which labels a particular column
- * in an #AtspiTable.
- * @ATSPI_ROLE_TABLE_ROW_HEADER: An object which labels a particular row in a
- * #AtspiTable. #AtspiTable rows and columns may also be labelled via the
- * @ATSPI_RELATION_LABEL_FOR/@ATSPI_RELATION_LABELLED_BY relationships.
- * See #atspi_get_relation_set.
- * @ATSPI_ROLE_TEAROFF_MENU_ITEM: Object allows menu to be removed from menubar
- * and shown in its own window.
- * @ATSPI_ROLE_TERMINAL: An object that emulates a terminal.
- * @ATSPI_ROLE_TEXT: An interactive widget that supports multiple lines of text
- * and optionally accepts user input, but whose purpose is not to solicit user
- * input. Thus @ATSPI_ROLE_TEXT is appropriate for the text view in a plain text
- * editor but inappropriate for an input field in a dialog box or web form. For
- * widgets whose purpose is to solicit input from the user, see @ATSPI_ROLE_ENTRY
- * and @ATSPI_ROLE_PASSWORD_TEXT. For generic objects which display a brief amount
- * of textual information, see @ATSPI_ROLE_STATIC.
- * @ATSPI_ROLE_TOGGLE_BUTTON: A specialized push button that can be checked or
- * unchecked, but does not procide a separate indicator for the current
- * state.
- * @ATSPI_ROLE_TOOL_BAR: A bar or palette usually composed of push buttons or
- * toggle buttons.
- * @ATSPI_ROLE_TOOL_TIP: An object that provides information about another
- * object.
- * @ATSPI_ROLE_TREE: An object used to repsent hierarchical information to the
- * user.
- * @ATSPI_ROLE_TREE_TABLE: An object that presents both tabular and
- * hierarchical info to the user.
- * @ATSPI_ROLE_UNKNOWN: The object contains some #AtspiAccessible information,
- * but its role is not known.
- * @ATSPI_ROLE_VIEWPORT: An object usually used in a scroll pane, or to
- * otherwise clip a larger object or content renderer to a specific
- * onscreen viewport.
- * @ATSPI_ROLE_WINDOW: A top level window with no title or border.
- * @ATSPI_ROLE_EXTENDED: means that the role for this item is known, but not
- * included in the core enumeration. Deprecated since 2.24.
- * @ATSPI_ROLE_HEADER: An object that serves as a document header.
- * @ATSPI_ROLE_FOOTER: An object that serves as a document footer.
- * @ATSPI_ROLE_PARAGRAPH: An object which is contains a single paragraph of
- * text content. See also @ATSPI_ROLE_TEXT.
- * @ATSPI_ROLE_RULER: An object which describes margins and tab stops, etc.
- * for text objects which it controls (should have
- * @ATSPI_RELATION_CONTROLLER_FOR relation to such).
- * @ATSPI_ROLE_APPLICATION: An object corresponding to the toplevel accessible
- * of an application, which may contain @ATSPI_ROLE_FRAME objects or other
- * accessible objects. Children of objects with the #ATSPI_ROLE_DESKTOP_FRAME role are generally
- * @ATSPI_ROLE_APPLICATION objects.
- * @ATSPI_ROLE_AUTOCOMPLETE: The object is a dialog or list containing items
- * for insertion into an entry widget, for instance a list of words for
- * completion of a text entry.
- * @ATSPI_ROLE_EDITBAR: The object is an editable text object in a toolbar.
- * @ATSPI_ROLE_EMBEDDED: The object is an embedded component container. This
- * role is a "grouping" hint that the contained objects share a context
- * which is different from the container in which this accessible is
- * embedded. In particular, it is used for some kinds of document embedding,
- * and for embedding of out-of-process component, "panel applets", etc.
- * @ATSPI_ROLE_ENTRY: The object is a component whose textual content may be
- * entered or modified by the user, provided @ATSPI_STATE_EDITABLE is present.
- * A readonly @ATSPI_ROLE_ENTRY object (i.e. where @ATSPI_STATE_EDITABLE is
- * not present) implies a read-only 'text field' in a form, as opposed to a
- * title, label, or caption.
- * @ATSPI_ROLE_CHART: The object is a graphical depiction of quantitative data.
- * It may contain multiple subelements whose attributes and/or description
- * may be queried to obtain both the quantitative data and information about
- * how the data is being presented. The @ATSPI_LABELLED_BY relation is
- * particularly important in interpreting objects of this type, as is the
- * accessible description property. See @ATSPI_ROLE_CAPTION.
- * @ATSPI_ROLE_CAPTION: The object contains descriptive information, usually
- * textual, about another user interface element such as a table, chart, or
- * image.
- * @ATSPI_ROLE_DOCUMENT_FRAME: The object is a visual frame or container which
- * contains a view of document content. #AtspiDocument frames may occur within
- * another #AtspiDocument instance, in which case the second document may be
- * said to be embedded in the containing instance. HTML frames are often
- * ATSPI_ROLE_DOCUMENT_FRAME: Either this object, or a singleton descendant,
- * should implement the #AtspiDocument interface.
- * @ATSPI_ROLE_HEADING: The object serves as a heading for content which
- * follows it in a document. The 'heading level' of the heading, if
- * availabe, may be obtained by querying the object's attributes.
- * @ATSPI_ROLE_PAGE: The object is a containing instance which encapsulates a
- * page of information. @ATSPI_ROLE_PAGE is used in documents and content which
- * support a paginated navigation model.
- * @ATSPI_ROLE_SECTION: The object is a containing instance of document content
- * which constitutes a particular 'logical' section of the document. The
- * type of content within a section, and the nature of the section division
- * itself, may be obtained by querying the object's attributes. Sections
- * may be nested.
- * @ATSPI_ROLE_REDUNDANT_OBJECT: The object is redundant with another object in
- * the hierarchy, and is exposed for purely technical reasons. Objects of
- * this role should be ignored by clients, if they are encountered at all.
- * @ATSPI_ROLE_FORM: The object is a containing instance of document content
- * which has within it components with which the user can interact in order
- * to input information; i.e. the object is a container for pushbuttons,
- * comboboxes, text input fields, and other 'GUI' components. @ATSPI_ROLE_FORM
- * should not, in general, be used for toplevel GUI containers or dialogs,
- * but should be reserved for 'GUI' containers which occur within document
- * content, for instance within Web documents, presentations, or text
- * documents. Unlike other GUI containers and dialogs which occur inside
- * application instances, @ATSPI_ROLE_FORM containers' components are
- * associated with the current document, rather than the current foreground
- * application or viewer instance.
- * @ATSPI_ROLE_LINK: The object is a hypertext anchor, i.e. a "link" in a
- * hypertext document. Such objects are distinct from 'inline' content
- * which may also use the #AtspiHypertext/#AtspiHyperlink interfacesto indicate
- * the range/location within a text object where an inline or embedded object
- * lies.
- * @ATSPI_ROLE_INPUT_METHOD_WINDOW: The object is a window or similar viewport
- * which is used to allow composition or input of a 'complex character',
- * in other words it is an "input method window".
- * @ATSPI_ROLE_TABLE_ROW: A row in a table.
- * @ATSPI_ROLE_TREE_ITEM: An object that represents an element of a tree.
- * @ATSPI_ROLE_DOCUMENT_SPREADSHEET: A document frame which contains a
- * spreadsheet.
- * @ATSPI_ROLE_DOCUMENT_PRESENTATION: A document frame which contains a
- * presentation or slide content.
- * @ATSPI_ROLE_DOCUMENT_TEXT: A document frame which contains textual content,
- * such as found in a word processing
- * application.
- * @ATSPI_ROLE_DOCUMENT_WEB: A document frame which contains HTML or other
- * markup suitable for display in a web browser.
- * @ATSPI_ROLE_DOCUMENT_EMAIL: A document frame which contains email content
- * to be displayed or composed either in plain text or
- * HTML.
- * @ATSPI_ROLE_COMMENT: An object found within a document and designed to
- * present a comment, note, or other annotation. In some cases, this object
- * might not be visible until activated.
- * @ATSPI_ROLE_LIST_BOX: A non-collapsible list of choices the user can
- * select from.
- * @ATSPI_ROLE_GROUPING: A group of related widgets. This group typically has
- * a label.
- * @ATSPI_ROLE_IMAGE_MAP: An image map object. Usually a graphic with multiple
- * hotspots, where each hotspot can be activated resulting in the loading of
- * another document or section of a document.
- * @ATSPI_ROLE_NOTIFICATION: A transitory object designed to present a
- * message to the user, typically at the desktop level rather than inside a
- * particular application.
- * @ATSPI_ROLE_INFO_BAR: An object designed to present a message to the user
- * within an existing window.
- * @ATSPI_ROLE_LEVEL_BAR: A bar that serves as a level indicator to, for
- * instance, show the strength of a password or the state of a battery. @Since: 2.8
- * @ATSPI_ROLE_TITLE_BAR: A bar that serves as the title of a window or a
- * dialog. @Since: 2.12
- * @ATSPI_ROLE_BLOCK_QUOTE: An object which contains a text section
- * that is quoted from another source. @Since: 2.12
- * @ATSPI_ROLE_AUDIO: An object which represents an audio
- * element. @Since: 2.12
- * @ATSPI_ROLE_VIDEO: An object which represents a video
- * element. @Since: 2.12
- * @ATSPI_ROLE_DEFINITION: A definition of a term or concept. @Since: 2.12
- * @ATSPI_ROLE_ARTICLE: A section of a page that consists of a
- * composition that forms an independent part of a document, page, or
- * site. Examples: A blog entry, a news story, a forum post. @Since:
- * 2.12
- * @ATSPI_ROLE_LANDMARK: A region of a web page intended as a
- * navigational landmark. This is designed to allow Assistive
- * Technologies to provide quick navigation among key regions within a
- * document. @Since: 2.12
- * @ATSPI_ROLE_LOG: A text widget or container holding log content, such
- * as chat history and error logs. In this role there is a
- * relationship between the arrival of new items in the log and the
- * reading order. The log contains a meaningful sequence and new
- * information is added only to the end of the log, not at arbitrary
- * points. @Since: 2.12
- * @ATSPI_ROLE_MARQUEE: A container where non-essential information
- * changes frequently. Common usages of marquee include stock tickers
- * and ad banners. The primary difference between a marquee and a log
- * is that logs usually have a meaningful order or sequence of
- * important content changes. @Since: 2.12
- * @ATSPI_ROLE_MATH: A text widget or container that holds a mathematical
- * expression. @Since: 2.12
- * @ATSPI_ROLE_RATING: A widget whose purpose is to display a rating,
- * such as the number of stars associated with a song in a media
- * player. Objects of this role should also implement
- * AtspiValue. @Since: 2.12
- * @ATSPI_ROLE_TIMER: An object containing a numerical counter which
- * indicates an amount of elapsed time from a start point, or the time
- * remaining until an end point. @Since: 2.12
- * @ATSPI_ROLE_STATIC: A generic non-container object whose purpose is to display
- * a brief amount of information to the user and whose role is known by the
- * implementor but lacks semantic value for the user. Examples in which
- * @ATSPI_ROLE_STATIC is appropriate include the message displayed in a message
- * box and an image used as an alternative means to display text.
- * @ATSPI_ROLE_STATIC should not be applied to widgets which are traditionally
- * interactive, objects which display a significant amount of content, or any
- * object which has an accessible relation pointing to another object. The
- * displayed information, as a general rule, should be exposed through the
- * accessible name of the object. For labels which describe another widget, see
- * @ATSPI_ROLE_LABEL. For text views, see @ATSPI_ROLE_TEXT. For generic
- * containers, see @ATSPI_ROLE_PANEL. For objects whose role is not known by the
- * implementor, see @ATSPI_ROLE_UNKNOWN. @Since: 2.16.
- * @ATSPI_ROLE_MATH_FRACTION: An object that represents a mathematical fraction. @Since: 2.16.
- * @ATSPI_ROLE_MATH_ROOT: An object that represents a mathematical expression
- * displayed with a radical. @Since: 2.16.
- * @ATSPI_ROLE_SUBSCRIPT: An object that contains text that is displayed as a
- * subscript. @Since: 2.16.
- * @ATSPI_ROLE_SUPERSCRIPT: An object that contains text that is displayed as a
- * superscript. @Since: 2.16.
- * @ATSPI_ROLE_DESCRIPTION_LIST: An object that represents a list of term-value
- * groups. A term-value group represents an individual description and consist
- * of one or more names (@ATSPI_ROLE_DESCRIPTION_TERM) followed by one or more
- * values (@ATSPI_ROLE_DESCRIPTION_VALUE). For each list, there should not be
- * more than one group with the same term name. @Since: 2.26.
- * @ATSPI_ROLE_DESCRIPTION_TERM: An object that represents a term or phrase
- * with a corresponding definition. @Since: 2.26.
- * @ATSPI_ROLE_DESCRIPTION_VALUE: An object that represents the description,
- * definition, or value of a term. @Since: 2.26.
- * @ATSPI_ROLE_FOOTNOTE: An object that contains the text of a footnote. @Since: 2.26.
- * @ATSPI_ROLE_CONTENT_DELETION: Content previously deleted or proposed to be
- * deleted, e.g. in revision history or a content view providing suggestions
- * from reviewers. @Since: 2.34.
- * @ATSPI_ROLE_CONTENT_INSERTION: Content previously inserted or proposed to be
- * inserted, e.g. in revision history or a content view providing suggestions
- * from reviewers. @Since: 2.34.
- * @ATSPI_ROLE_MARK: A run of content that is marked or highlighted, such as for
- * reference purposes, or to call it out as having a special purpose. If the
- * marked content has an associated section in the document elaborating on the
- * reason for the mark, then %ATSPI_RELATION_DETAILS should be used on the mark
- * to point to that associated section. In addition, the reciprocal relation
- * %ATSPI_RELATION_DETAILS_FOR should be used on the associated content section
- * to point back to the mark. @Since: 2.36.
- * @ATSPI_ROLE_SUGGESTION: A container for content that is called out as a proposed
- * change from the current version of the document, such as by a reviewer of the
- * content. An object with this role should include children with %ATSPI_ROLE_CONTENT_DELETION and/or
- * %ATSPI_ROLE_CONTENT_INSERTION, in any order, to indicate what the
- * actual change is. @Since: 2.36
- * @ATSPI_ROLE_PUSH_BUTTON_MENU: A specialized push button to open a menu. @Since 2.46
- * @ATSPI_ROLE_LAST_DEFINED: Not a valid role, used for finding end of
- * enumeration.
- *
- * Enumeration used by interface #AtspiAccessible to specify the role
- * of an #AtspiAccessible object.
- *
- */
- typedef enum
- {
- ATSPI_ROLE_INVALID,
- ATSPI_ROLE_ACCELERATOR_LABEL,
- ATSPI_ROLE_ALERT,
- ATSPI_ROLE_ANIMATION,
- ATSPI_ROLE_ARROW,
- ATSPI_ROLE_CALENDAR,
- ATSPI_ROLE_CANVAS,
- ATSPI_ROLE_CHECK_BOX,
- ATSPI_ROLE_CHECK_MENU_ITEM,
- ATSPI_ROLE_COLOR_CHOOSER,
- ATSPI_ROLE_COLUMN_HEADER,
- ATSPI_ROLE_COMBO_BOX,
- ATSPI_ROLE_DATE_EDITOR,
- ATSPI_ROLE_DESKTOP_ICON,
- ATSPI_ROLE_DESKTOP_FRAME,
- ATSPI_ROLE_DIAL,
- ATSPI_ROLE_DIALOG,
- ATSPI_ROLE_DIRECTORY_PANE,
- ATSPI_ROLE_DRAWING_AREA,
- ATSPI_ROLE_FILE_CHOOSER,
- ATSPI_ROLE_FILLER,
- ATSPI_ROLE_FOCUS_TRAVERSABLE,
- ATSPI_ROLE_FONT_CHOOSER,
- ATSPI_ROLE_FRAME,
- ATSPI_ROLE_GLASS_PANE,
- ATSPI_ROLE_HTML_CONTAINER,
- ATSPI_ROLE_ICON,
- ATSPI_ROLE_IMAGE,
- ATSPI_ROLE_INTERNAL_FRAME,
- ATSPI_ROLE_LABEL,
- ATSPI_ROLE_LAYERED_PANE,
- ATSPI_ROLE_LIST,
- ATSPI_ROLE_LIST_ITEM,
- ATSPI_ROLE_MENU,
- ATSPI_ROLE_MENU_BAR,
- ATSPI_ROLE_MENU_ITEM,
- ATSPI_ROLE_OPTION_PANE,
- ATSPI_ROLE_PAGE_TAB,
- ATSPI_ROLE_PAGE_TAB_LIST,
- ATSPI_ROLE_PANEL,
- ATSPI_ROLE_PASSWORD_TEXT,
- ATSPI_ROLE_POPUP_MENU,
- ATSPI_ROLE_PROGRESS_BAR,
- ATSPI_ROLE_PUSH_BUTTON,
- ATSPI_ROLE_RADIO_BUTTON,
- ATSPI_ROLE_RADIO_MENU_ITEM,
- ATSPI_ROLE_ROOT_PANE,
- ATSPI_ROLE_ROW_HEADER,
- ATSPI_ROLE_SCROLL_BAR,
- ATSPI_ROLE_SCROLL_PANE,
- ATSPI_ROLE_SEPARATOR,
- ATSPI_ROLE_SLIDER,
- ATSPI_ROLE_SPIN_BUTTON,
- ATSPI_ROLE_SPLIT_PANE,
- ATSPI_ROLE_STATUS_BAR,
- ATSPI_ROLE_TABLE,
- ATSPI_ROLE_TABLE_CELL,
- ATSPI_ROLE_TABLE_COLUMN_HEADER,
- ATSPI_ROLE_TABLE_ROW_HEADER,
- ATSPI_ROLE_TEAROFF_MENU_ITEM,
- ATSPI_ROLE_TERMINAL,
- ATSPI_ROLE_TEXT,
- ATSPI_ROLE_TOGGLE_BUTTON,
- ATSPI_ROLE_TOOL_BAR,
- ATSPI_ROLE_TOOL_TIP,
- ATSPI_ROLE_TREE,
- ATSPI_ROLE_TREE_TABLE,
- ATSPI_ROLE_UNKNOWN,
- ATSPI_ROLE_VIEWPORT,
- ATSPI_ROLE_WINDOW,
- ATSPI_ROLE_EXTENDED,
- ATSPI_ROLE_HEADER,
- ATSPI_ROLE_FOOTER,
- ATSPI_ROLE_PARAGRAPH,
- ATSPI_ROLE_RULER,
- ATSPI_ROLE_APPLICATION,
- ATSPI_ROLE_AUTOCOMPLETE,
- ATSPI_ROLE_EDITBAR,
- ATSPI_ROLE_EMBEDDED,
- ATSPI_ROLE_ENTRY,
- ATSPI_ROLE_CHART,
- ATSPI_ROLE_CAPTION,
- ATSPI_ROLE_DOCUMENT_FRAME,
- ATSPI_ROLE_HEADING,
- ATSPI_ROLE_PAGE,
- ATSPI_ROLE_SECTION,
- ATSPI_ROLE_REDUNDANT_OBJECT,
- ATSPI_ROLE_FORM,
- ATSPI_ROLE_LINK,
- ATSPI_ROLE_INPUT_METHOD_WINDOW,
- ATSPI_ROLE_TABLE_ROW,
- ATSPI_ROLE_TREE_ITEM,
- ATSPI_ROLE_DOCUMENT_SPREADSHEET,
- ATSPI_ROLE_DOCUMENT_PRESENTATION,
- ATSPI_ROLE_DOCUMENT_TEXT,
- ATSPI_ROLE_DOCUMENT_WEB,
- ATSPI_ROLE_DOCUMENT_EMAIL,
- ATSPI_ROLE_COMMENT,
- ATSPI_ROLE_LIST_BOX,
- ATSPI_ROLE_GROUPING,
- ATSPI_ROLE_IMAGE_MAP,
- ATSPI_ROLE_NOTIFICATION,
- ATSPI_ROLE_INFO_BAR,
- ATSPI_ROLE_LEVEL_BAR,
- ATSPI_ROLE_TITLE_BAR,
- ATSPI_ROLE_BLOCK_QUOTE,
- ATSPI_ROLE_AUDIO,
- ATSPI_ROLE_VIDEO,
- ATSPI_ROLE_DEFINITION,
- ATSPI_ROLE_ARTICLE,
- ATSPI_ROLE_LANDMARK,
- ATSPI_ROLE_LOG,
- ATSPI_ROLE_MARQUEE,
- ATSPI_ROLE_MATH,
- ATSPI_ROLE_RATING,
- ATSPI_ROLE_TIMER,
- ATSPI_ROLE_STATIC,
- ATSPI_ROLE_MATH_FRACTION,
- ATSPI_ROLE_MATH_ROOT,
- ATSPI_ROLE_SUBSCRIPT,
- ATSPI_ROLE_SUPERSCRIPT,
- ATSPI_ROLE_DESCRIPTION_LIST,
- ATSPI_ROLE_DESCRIPTION_TERM,
- ATSPI_ROLE_DESCRIPTION_VALUE,
- ATSPI_ROLE_FOOTNOTE,
- ATSPI_ROLE_CONTENT_DELETION,
- ATSPI_ROLE_CONTENT_INSERTION,
- ATSPI_ROLE_MARK,
- ATSPI_ROLE_SUGGESTION,
- ATSPI_ROLE_PUSH_BUTTON_MENU,
- ATSPI_ROLE_LAST_DEFINED,
- } AtspiRole;
+G_STATIC_ASSERT(ATSPI_RELATIONTYPE_COUNT == ATSPI_RELATION_LAST_DEFINED + 1);
+
+/**
+ * AtspiRole:
+ * @ATSPI_ROLE_INVALID: A role indicating an error condition, such as
+ * uninitialized Role data.
+ * @ATSPI_ROLE_ACCELERATOR_LABEL: Object is a label indicating the keyboard
+ * accelerators for the parent.
+ * @ATSPI_ROLE_ALERT: Object is used to alert the user about something.
+ * @ATSPI_ROLE_ANIMATION: Object contains a dynamic or moving image of some
+ * kind.
+ * @ATSPI_ROLE_ARROW: Object is a 2d directional indicator.
+ * @ATSPI_ROLE_CALENDAR: Object contains one or more dates, usually arranged
+ * into a 2d list.
+ * @ATSPI_ROLE_CANVAS: Object that can be drawn into and is used to trap
+ * events.
+ * @ATSPI_ROLE_CHECK_BOX: A choice that can be checked or unchecked and
+ * provides a separate indicator for the current state.
+ * @ATSPI_ROLE_CHECK_MENU_ITEM: A menu item that behaves like a check box. See
+ * @ATSPI_ROLE_CHECK_BOX.
+ * @ATSPI_ROLE_COLOR_CHOOSER: A specialized dialog that lets the user choose a
+ * color.
+ * @ATSPI_ROLE_COLUMN_HEADER: The header for a column of data.
+ * @ATSPI_ROLE_COMBO_BOX: A list of choices the user can select from.
+ * @ATSPI_ROLE_DATE_EDITOR: An object which allows entry of a date.
+ * @ATSPI_ROLE_DESKTOP_ICON: An inconifed internal frame within a DESKTOP_FRAME.
+ * @ATSPI_ROLE_DESKTOP_FRAME: A pane that supports internal frames and
+ * iconified versions of those internal frames.
+ * @ATSPI_ROLE_DIAL: An object that allows a value to be changed via rotating a
+ * visual element, or which displays a value via such a rotating element.
+ * @ATSPI_ROLE_DIALOG: A top level window with title bar and a border.
+ * @ATSPI_ROLE_DIRECTORY_PANE: A pane that allows the user to navigate through
+ * and select the contents of a directory.
+ * @ATSPI_ROLE_DRAWING_AREA: An object used for drawing custom user interface
+ * elements.
+ * @ATSPI_ROLE_FILE_CHOOSER: A specialized dialog that displays the files in
+ * the directory and lets the user select a file, browse a different
+ * directory, or specify a filename.
+ * @ATSPI_ROLE_FILLER: A object that fills up space in a user interface.
+ * @ATSPI_ROLE_FOCUS_TRAVERSABLE: Don't use, reserved for future use.
+ * @ATSPI_ROLE_FONT_CHOOSER: Allows selection of a display font.
+ * @ATSPI_ROLE_FRAME: A top level window with a title bar, border, menubar,
+ * etc.
+ * @ATSPI_ROLE_GLASS_PANE: A pane that is guaranteed to be painted on top of
+ * all panes beneath it.
+ * @ATSPI_ROLE_HTML_CONTAINER: A document container for HTML, whose children
+ * represent the document content.
+ * @ATSPI_ROLE_ICON: A small fixed size picture, typically used to decorate
+ * components.
+ * @ATSPI_ROLE_IMAGE: An image, typically static.
+ * @ATSPI_ROLE_INTERNAL_FRAME: A frame-like object that is clipped by a desktop
+ * pane.
+ * @ATSPI_ROLE_LABEL: An object used to present an icon or short string in an
+ * interface.
+ * @ATSPI_ROLE_LAYERED_PANE: A specialized pane that allows its children to be
+ * drawn in layers, providing a form of stacking order.
+ * @ATSPI_ROLE_LIST: An object that presents a list of objects to the user and
+ * allows the user to select one or more of them.
+ * @ATSPI_ROLE_LIST_ITEM: An object that represents an element of a list.
+ * @ATSPI_ROLE_MENU: An object usually found inside a menu bar that contains a
+ * list of actions the user can choose from.
+ * @ATSPI_ROLE_MENU_BAR: An object usually drawn at the top of the primary
+ * dialog box of an application that contains a list of menus the user can
+ * choose from.
+ * @ATSPI_ROLE_MENU_ITEM: An object usually contained in a menu that presents
+ * an action the user can choose.
+ * @ATSPI_ROLE_OPTION_PANE: A specialized pane whose primary use is inside a
+ * dialog.
+ * @ATSPI_ROLE_PAGE_TAB: An object that is a child of a page tab list.
+ * @ATSPI_ROLE_PAGE_TAB_LIST: An object that presents a series of panels (or
+ * page tabs), one at a time,through some mechanism provided by the
+ * object.
+ * @ATSPI_ROLE_PANEL: A generic container that is often used to group objects.
+ * @ATSPI_ROLE_PASSWORD_TEXT: A text object uses for passwords, or other places
+ * where the text content is not shown visibly to the user.
+ * @ATSPI_ROLE_POPUP_MENU: A temporary window that is usually used to offer the
+ * user a list of choices, and then hides when the user selects one of those
+ * choices.
+ * @ATSPI_ROLE_PROGRESS_BAR: An object used to indicate how much of a task has
+ * been completed.
+ * @ATSPI_ROLE_BUTTON: An object the user can manipulate to tell the
+ * application to do something.
+ * @ATSPI_ROLE_RADIO_BUTTON: A specialized check box that will cause other
+ * radio buttons in the same group to become unchecked when this one is
+ * checked.
+ * @ATSPI_ROLE_RADIO_MENU_ITEM: Object is both a menu item and a "radio button"
+ * . See @ATSPI_ROLE_RADIO_BUTTON.
+ * @ATSPI_ROLE_ROOT_PANE: A specialized pane that has a glass pane and a
+ * layered pane as its children.
+ * @ATSPI_ROLE_ROW_HEADER: The header for a row of data.
+ * @ATSPI_ROLE_SCROLL_BAR: An object usually used to allow a user to
+ * incrementally view a large amount of data by moving the bounds of a
+ * viewport along a one-dimensional axis.
+ * @ATSPI_ROLE_SCROLL_PANE: An object that allows a user to incrementally view
+ * a large amount of information. @ATSPI_ROLE_SCROLL_PANE objects are usually
+ * accompanied by @ATSPI_ROLE_SCROLL_BAR controllers, on which the
+ * @ATSPI_RELATION_CONTROLLER_FOR and @ATSPI_RELATION_CONTROLLED_BY
+ * reciprocal relations are set. See #atspi_get_relation_set.
+ * @ATSPI_ROLE_SEPARATOR: An object usually contained in a menu to provide a
+ * visible and logical separation of the contents in a menu.
+ * @ATSPI_ROLE_SLIDER: An object that allows the user to select from a bounded
+ * range. Unlike @ATSPI_ROLE_SCROLL_BAR, @ATSPI_ROLE_SLIDER objects need not control
+ * 'viewport'-like objects.
+ * @ATSPI_ROLE_SPIN_BUTTON: An object which allows one of a set of choices to
+ * be selected, and which displays the current choice.
+ * @ATSPI_ROLE_SPLIT_PANE: A specialized panel that presents two other panels
+ * at the same time.
+ * @ATSPI_ROLE_STATUS_BAR: Object displays non-quantitative status information
+ * (c.f. @ATSPI_ROLE_PROGRESS_BAR)
+ * @ATSPI_ROLE_TABLE: An object used to repesent information in terms of rows
+ * and columns.
+ * @ATSPI_ROLE_TABLE_CELL: A 'cell' or discrete child within a Table. Note:
+ * Table cells need not have @ATSPI_ROLE_TABLE_CELL, other
+ * #AtspiRoleType values are valid as well.
+ * @ATSPI_ROLE_TABLE_COLUMN_HEADER: An object which labels a particular column
+ * in an #AtspiTable.
+ * @ATSPI_ROLE_TABLE_ROW_HEADER: An object which labels a particular row in a
+ * #AtspiTable. #AtspiTable rows and columns may also be labelled via the
+ * @ATSPI_RELATION_LABEL_FOR/@ATSPI_RELATION_LABELLED_BY relationships.
+ * See #atspi_get_relation_set.
+ * @ATSPI_ROLE_TEAROFF_MENU_ITEM: Object allows menu to be removed from menubar
+ * and shown in its own window.
+ * @ATSPI_ROLE_TERMINAL: An object that emulates a terminal.
+ * @ATSPI_ROLE_TEXT: An interactive widget that supports multiple lines of text
+ * and optionally accepts user input, but whose purpose is not to solicit user
+ * input. Thus @ATSPI_ROLE_TEXT is appropriate for the text view in a plain text
+ * editor but inappropriate for an input field in a dialog box or web form. For
+ * widgets whose purpose is to solicit input from the user, see @ATSPI_ROLE_ENTRY
+ * and @ATSPI_ROLE_PASSWORD_TEXT. For generic objects which display a brief amount
+ * of textual information, see @ATSPI_ROLE_STATIC.
+ * @ATSPI_ROLE_TOGGLE_BUTTON: A specialized push button that can be checked or
+ * unchecked, but does not procide a separate indicator for the current
+ * state.
+ * @ATSPI_ROLE_TOOL_BAR: A bar or palette usually composed of push buttons or
+ * toggle buttons.
+ * @ATSPI_ROLE_TOOL_TIP: An object that provides information about another
+ * object.
+ * @ATSPI_ROLE_TREE: An object used to repsent hierarchical information to the
+ * user.
+ * @ATSPI_ROLE_TREE_TABLE: An object that presents both tabular and
+ * hierarchical info to the user.
+ * @ATSPI_ROLE_UNKNOWN: The object contains some #AtspiAccessible information,
+ * but its role is not known.
+ * @ATSPI_ROLE_VIEWPORT: An object usually used in a scroll pane, or to
+ * otherwise clip a larger object or content renderer to a specific
+ * onscreen viewport.
+ * @ATSPI_ROLE_WINDOW: A top level window with no title or border.
+ * @ATSPI_ROLE_EXTENDED: means that the role for this item is known, but not
+ * included in the core enumeration. Deprecated since 2.24.
+ * @ATSPI_ROLE_HEADER: An object that serves as a document header.
+ * @ATSPI_ROLE_FOOTER: An object that serves as a document footer.
+ * @ATSPI_ROLE_PARAGRAPH: An object which is contains a single paragraph of
+ * text content. See also @ATSPI_ROLE_TEXT.
+ * @ATSPI_ROLE_RULER: An object which describes margins and tab stops, etc.
+ * for text objects which it controls (should have
+ * @ATSPI_RELATION_CONTROLLER_FOR relation to such).
+ * @ATSPI_ROLE_APPLICATION: An object corresponding to the toplevel accessible
+ * of an application, which may contain @ATSPI_ROLE_FRAME objects or other
+ * accessible objects. Children of objects with the #ATSPI_ROLE_DESKTOP_FRAME role are generally
+ * @ATSPI_ROLE_APPLICATION objects.
+ * @ATSPI_ROLE_AUTOCOMPLETE: The object is a dialog or list containing items
+ * for insertion into an entry widget, for instance a list of words for
+ * completion of a text entry.
+ * @ATSPI_ROLE_EDITBAR: The object is an editable text object in a toolbar.
+ * @ATSPI_ROLE_EMBEDDED: The object is an embedded component container. This
+ * role is a "grouping" hint that the contained objects share a context
+ * which is different from the container in which this accessible is
+ * embedded. In particular, it is used for some kinds of document embedding,
+ * and for embedding of out-of-process component, "panel applets", etc.
+ * @ATSPI_ROLE_ENTRY: The object is a component whose textual content may be
+ * entered or modified by the user, provided @ATSPI_STATE_EDITABLE is present.
+ * A readonly @ATSPI_ROLE_ENTRY object (i.e. where @ATSPI_STATE_EDITABLE is
+ * not present) implies a read-only 'text field' in a form, as opposed to a
+ * title, label, or caption.
+ * @ATSPI_ROLE_CHART: The object is a graphical depiction of quantitative data.
+ * It may contain multiple subelements whose attributes and/or description
+ * may be queried to obtain both the quantitative data and information about
+ * how the data is being presented. The @ATSPI_LABELLED_BY relation is
+ * particularly important in interpreting objects of this type, as is the
+ * accessible description property. See @ATSPI_ROLE_CAPTION.
+ * @ATSPI_ROLE_CAPTION: The object contains descriptive information, usually
+ * textual, about another user interface element such as a table, chart, or
+ * image.
+ * @ATSPI_ROLE_DOCUMENT_FRAME: The object is a visual frame or container which
+ * contains a view of document content. #AtspiDocument frames may occur within
+ * another #AtspiDocument instance, in which case the second document may be
+ * said to be embedded in the containing instance. HTML frames are often
+ * ATSPI_ROLE_DOCUMENT_FRAME: Either this object, or a singleton descendant,
+ * should implement the #AtspiDocument interface.
+ * @ATSPI_ROLE_HEADING: The object serves as a heading for content which
+ * follows it in a document. The 'heading level' of the heading, if
+ * available, may be obtained by querying the object's attributes.
+ * @ATSPI_ROLE_PAGE: The object is a containing instance which encapsulates a
+ * page of information. @ATSPI_ROLE_PAGE is used in documents and content which
+ * support a paginated navigation model.
+ * @ATSPI_ROLE_SECTION: The object is a containing instance of document content
+ * which constitutes a particular 'logical' section of the document. The
+ * type of content within a section, and the nature of the section division
+ * itself, may be obtained by querying the object's attributes. Sections
+ * may be nested.
+ * @ATSPI_ROLE_REDUNDANT_OBJECT: The object is redundant with another object in
+ * the hierarchy, and is exposed for purely technical reasons. Objects of
+ * this role should be ignored by clients, if they are encountered at all.
+ * @ATSPI_ROLE_FORM: The object is a containing instance of document content
+ * which has within it components with which the user can interact in order
+ * to input information; i.e. the object is a container for pushbuttons,
+ * comboboxes, text input fields, and other 'GUI' components. @ATSPI_ROLE_FORM
+ * should not, in general, be used for toplevel GUI containers or dialogs,
+ * but should be reserved for 'GUI' containers which occur within document
+ * content, for instance within Web documents, presentations, or text
+ * documents. Unlike other GUI containers and dialogs which occur inside
+ * application instances, @ATSPI_ROLE_FORM containers' components are
+ * associated with the current document, rather than the current foreground
+ * application or viewer instance.
+ * @ATSPI_ROLE_LINK: The object is a hypertext anchor, i.e. a "link" in a
+ * hypertext document. Such objects are distinct from 'inline' content
+ * which may also use the #AtspiHypertext/#AtspiHyperlink interfacesto indicate
+ * the range/location within a text object where an inline or embedded object
+ * lies.
+ * @ATSPI_ROLE_INPUT_METHOD_WINDOW: The object is a window or similar viewport
+ * which is used to allow composition or input of a 'complex character',
+ * in other words it is an "input method window".
+ * @ATSPI_ROLE_TABLE_ROW: A row in a table.
+ * @ATSPI_ROLE_TREE_ITEM: An object that represents an element of a tree.
+ * @ATSPI_ROLE_DOCUMENT_SPREADSHEET: A document frame which contains a
+ * spreadsheet.
+ * @ATSPI_ROLE_DOCUMENT_PRESENTATION: A document frame which contains a
+ * presentation or slide content.
+ * @ATSPI_ROLE_DOCUMENT_TEXT: A document frame which contains textual content,
+ * such as found in a word processing
+ * application.
+ * @ATSPI_ROLE_DOCUMENT_WEB: A document frame which contains HTML or other
+ * markup suitable for display in a web browser.
+ * @ATSPI_ROLE_DOCUMENT_EMAIL: A document frame which contains email content
+ * to be displayed or composed either in plain text or
+ * HTML.
+ * @ATSPI_ROLE_COMMENT: An object found within a document and designed to
+ * present a comment, note, or other annotation. In some cases, this object
+ * might not be visible until activated.
+ * @ATSPI_ROLE_LIST_BOX: A non-collapsible list of choices the user can
+ * select from.
+ * @ATSPI_ROLE_GROUPING: A group of related widgets. This group typically has
+ * a label.
+ * @ATSPI_ROLE_IMAGE_MAP: An image map object. Usually a graphic with multiple
+ * hotspots, where each hotspot can be activated resulting in the loading of
+ * another document or section of a document.
+ * @ATSPI_ROLE_NOTIFICATION: A transitory object designed to present a
+ * message to the user, typically at the desktop level rather than inside a
+ * particular application.
+ * @ATSPI_ROLE_INFO_BAR: An object designed to present a message to the user
+ * within an existing window.
+ * @ATSPI_ROLE_STATIC: A generic non-container object whose purpose is to display
+ * a brief amount of information to the user and whose role is known by the
+ * implementor but lacks semantic value for the user. Examples in which
+ * @ATSPI_ROLE_STATIC is appropriate include the message displayed in a message
+ * box and an image used as an alternative means to display text.
+ * @ATSPI_ROLE_STATIC should not be applied to widgets which are traditionally
+ * interactive, objects which display a significant amount of content, or any
+ * object which has an accessible relation pointing to another object. The
+ * displayed information, as a general rule, should be exposed through the
+ * accessible name of the object. For labels which describe another widget, see
+ * @ATSPI_ROLE_LAST_DEFINED: Not a valid role, used for finding end of
+ * enumeration.
+ *
+ * Enumeration used by interface #AtspiAccessible to specify the role
+ * of an #AtspiAccessible object.
+ *
+ */
+
+/**
+ * ATSPI_ROLE_LEVEL_BAR:
+ *
+ * A bar that serves as a level indicator to, for instance, show the strength
+ * of a password or the state of a battery.
+ * Since: 2.8
+ */
+
+/**
+ * ATSPI_ROLE_TITLE_BAR:
+ *
+ * A bar that serves as the title of a window or a dialog.
+ * Since: 2.12
+ */
+
+/**
+ * ATSPI_ROLE_BLOCK_QUOTE:
+ *
+ * An object which contains a text section that is quoted from another source.
+ *
+ * Since: 2.12
+ */
+
+/**
+ * ATSPI_ROLE_AUDIO:
+ *
+ * An object which represents an audio element.
+ * Since: 2.12
+ */
+
+/**
+ * ATSPI_ROLE_VIDEO:
+ *
+ * An object which represents a video element.
+ * Since: 2.12
+ */
+
+/**
+ * ATSPI_ROLE_DEFINITION:
+ *
+ * A definition of a term or concept.
+ * Since: 2.12
+ */
+
+/**
+ * ATSPI_ROLE_ARTICLE:
+ *
+ * A section of a page that consists of a composition that forms an
+ * independent part of a document, page, or site. Examples: A blog entry, a
+ * news story, a forum post.
+ * Since: 2.12
+ */
+
+/**
+ * ATSPI_ROLE_LANDMARK:
+ *
+ * A region of a web page intended as a navigational landmark. This is
+ * designed to allow Assistive Technologies to provide quick navigation among
+ * key regions within a document.
+ * Since: 2.12
+ */
+
+/**
+ * ATSPI_ROLE_LOG:
+ *
+ * A text widget or container holding log content, such as chat history and
+ * error logs. In this role there is a relationship between the arrival of new
+ * items in the log and the reading order. The log contains a meaningful
+ * sequence and new information is added only to the end of the log, not at
+ * arbitrary points.
+ * Since: 2.12
+ */
+
+/**
+ * ATSPI_ROLE_MARQUEE:
+ *
+ * A container where non-essential information changes frequently. Common
+ * usages of marquee include stock tickers and ad banners. The primary
+ * difference between a marquee and a log is that logs usually have a
+ * meaningful order or sequence of important content changes.
+ * Since: 2.12
+ */
+
+/**
+ * ATSPI_ROLE_MATH:
+ *
+ * A text widget or container that holds a mathematical expression.
+ * Since: 2.12
+ */
+
+/**
+ * ATSPI_ROLE_RATING:
+ *
+ * A widget whose purpose is to display a rating, such as the number of stars
+ * associated with a song in a media player. Objects of this role should also
+ * implement AtspiValue.
+ * Since: 2.12
+ */
+
+/**
+ * ATSPI_ROLE_TIMER:
+ *
+ * An object containing a numerical counter which indicates an amount of
+ * elapsed time from a start point, or the time remaining until an end point.
+ * Since: 2.12
+ */
+
+/**
+ * ATSPI_ROLE_LABEL:
+ *
+ * For text views, see @ATSPI_ROLE_TEXT. For generic containers, see
+ * @ATSPI_ROLE_PANEL. For objects whose role is not known by the implementor,
+ * see @ATSPI_ROLE_UNKNOWN.
+ * Since: 2.16
+ */
+
+/**
+ * ATSPI_ROLE_MATH_FRACTION:
+ *
+ * An object that represents a mathematical fraction.
+ * Since: 2.16
+ */
+
+/**
+ * ATSPI_ROLE_MATH_ROOT:
+ *
+ * An object that represents a mathematical expression displayed with a
+ * radical.
+ * Since: 2.16
+ */
+
+/**
+ * ATSPI_ROLE_SUBSCRIPT:
+ *
+ * An object that contains text that is displayed as a subscript.
+ * Since: 2.16
+ */
+
+/**
+ * ATSPI_ROLE_SUPERSCRIPT:
+ *
+ * An object that contains text that is displayed as a superscript.
+ * Since: 2.16
+ */
+
+/**
+ * ATSPI_ROLE_DESCRIPTION_LIST:
+ *
+ * An object that represents a list of term-value groups. A term-value group
+ * represents an individual description and consist of one or more names
+ * (@ATSPI_ROLE_DESCRIPTION_TERM) followed by one or more values
+ * (@ATSPI_ROLE_DESCRIPTION_VALUE). For each list, there should not be more
+ * than one group with the same term name.
+ * Since: 2.26
+ */
+
+/**
+ * ATSPI_ROLE_DESCRIPTION_TERM:
+ *
+ * An object that represents a term or phrase with a corresponding definition.
+ * Since: 2.26
+ */
+
+/**
+ * ATSPI_ROLE_DESCRIPTION_VALUE:
+ *
+ * An object that represents the description, definition, or value of a term.
+ * Since: 2.26
+ */
+
+/**
+ * ATSPI_ROLE_FOOTNOTE:
+ *
+ * An object that contains the text of a footnote.
+ * Since: 2.26
+ */
+
+/**
+ * ATSPI_ROLE_CONTENT_DELETION:
+ *
+ * Content previously deleted or proposed to be deleted, e.g. in revision
+ * history or a content view providing suggestions from reviewers.
+ * Since: 2.34
+ */
+
+/**
+ * ATSPI_ROLE_CONTENT_INSERTION:
+ *
+ * Content previously inserted or proposed to be inserted, e.g. in revision
+ * history or a content view providing suggestions from reviewers.
+ * Since: 2.34
+ */
+
+/**
+ * ATSPI_ROLE_MARK:
+ *
+ * A run of content that is marked or highlighted, such as for reference
+ * purposes, or to call it out as having a special purpose. If the marked
+ * content has an associated section in the document elaborating on the reason
+ * for the mark, then %ATSPI_RELATION_DETAILS should be used on the mark to
+ * point to that associated section. In addition, the reciprocal relation
+ * %ATSPI_RELATION_DETAILS_FOR should be used on the associated content section
+ * to point back to the mark.
+ * Since: 2.36
+ */
+
+/**
+ * ATSPI_ROLE_SUGGESTION:
+ *
+ * A container for content that is called out as a proposed change from the
+ * current version of the document, such as by a reviewer of the content. An
+ * object with this role should include children with
+ * %ATSPI_ROLE_CONTENT_DELETION and/or %ATSPI_ROLE_CONTENT_INSERTION, in any
+ * order, to indicate what the actual change is.
+ * Since: 2.36
+ */
+
+/**
+ * ATSPI_ROLE_PUSH_BUTTON_MENU:
+ *
+ * A specialized push button to open a menu.
+ * Since: 2.46
+ */
+
+/**
+ * ATSPI_ROLE_SWITCH:
+ *
+ * A switch that can be toggled on/off.
+ * Since: 2.56
+ */
+
+typedef enum
+{
+ ATSPI_ROLE_INVALID,
+ ATSPI_ROLE_ACCELERATOR_LABEL,
+ ATSPI_ROLE_ALERT,
+ ATSPI_ROLE_ANIMATION,
+ ATSPI_ROLE_ARROW,
+ ATSPI_ROLE_CALENDAR,
+ ATSPI_ROLE_CANVAS,
+ ATSPI_ROLE_CHECK_BOX,
+ ATSPI_ROLE_CHECK_MENU_ITEM,
+ ATSPI_ROLE_COLOR_CHOOSER,
+ ATSPI_ROLE_COLUMN_HEADER,
+ ATSPI_ROLE_COMBO_BOX,
+ ATSPI_ROLE_DATE_EDITOR,
+ ATSPI_ROLE_DESKTOP_ICON,
+ ATSPI_ROLE_DESKTOP_FRAME,
+ ATSPI_ROLE_DIAL,
+ ATSPI_ROLE_DIALOG,
+ ATSPI_ROLE_DIRECTORY_PANE,
+ ATSPI_ROLE_DRAWING_AREA,
+ ATSPI_ROLE_FILE_CHOOSER,
+ ATSPI_ROLE_FILLER,
+ ATSPI_ROLE_FOCUS_TRAVERSABLE,
+ ATSPI_ROLE_FONT_CHOOSER,
+ ATSPI_ROLE_FRAME,
+ ATSPI_ROLE_GLASS_PANE,
+ ATSPI_ROLE_HTML_CONTAINER,
+ ATSPI_ROLE_ICON,
+ ATSPI_ROLE_IMAGE,
+ ATSPI_ROLE_INTERNAL_FRAME,
+ ATSPI_ROLE_LABEL,
+ ATSPI_ROLE_LAYERED_PANE,
+ ATSPI_ROLE_LIST,
+ ATSPI_ROLE_LIST_ITEM,
+ ATSPI_ROLE_MENU,
+ ATSPI_ROLE_MENU_BAR,
+ ATSPI_ROLE_MENU_ITEM,
+ ATSPI_ROLE_OPTION_PANE,
+ ATSPI_ROLE_PAGE_TAB,
+ ATSPI_ROLE_PAGE_TAB_LIST,
+ ATSPI_ROLE_PANEL,
+ ATSPI_ROLE_PASSWORD_TEXT,
+ ATSPI_ROLE_POPUP_MENU,
+ ATSPI_ROLE_PROGRESS_BAR,
+ ATSPI_ROLE_BUTTON,
+ ATSPI_ROLE_RADIO_BUTTON,
+ ATSPI_ROLE_RADIO_MENU_ITEM,
+ ATSPI_ROLE_ROOT_PANE,
+ ATSPI_ROLE_ROW_HEADER,
+ ATSPI_ROLE_SCROLL_BAR,
+ ATSPI_ROLE_SCROLL_PANE,
+ ATSPI_ROLE_SEPARATOR,
+ ATSPI_ROLE_SLIDER,
+ ATSPI_ROLE_SPIN_BUTTON,
+ ATSPI_ROLE_SPLIT_PANE,
+ ATSPI_ROLE_STATUS_BAR,
+ ATSPI_ROLE_TABLE,
+ ATSPI_ROLE_TABLE_CELL,
+ ATSPI_ROLE_TABLE_COLUMN_HEADER,
+ ATSPI_ROLE_TABLE_ROW_HEADER,
+ ATSPI_ROLE_TEAROFF_MENU_ITEM,
+ ATSPI_ROLE_TERMINAL,
+ ATSPI_ROLE_TEXT,
+ ATSPI_ROLE_TOGGLE_BUTTON,
+ ATSPI_ROLE_TOOL_BAR,
+ ATSPI_ROLE_TOOL_TIP,
+ ATSPI_ROLE_TREE,
+ ATSPI_ROLE_TREE_TABLE,
+ ATSPI_ROLE_UNKNOWN,
+ ATSPI_ROLE_VIEWPORT,
+ ATSPI_ROLE_WINDOW,
+ ATSPI_ROLE_EXTENDED,
+ ATSPI_ROLE_HEADER,
+ ATSPI_ROLE_FOOTER,
+ ATSPI_ROLE_PARAGRAPH,
+ ATSPI_ROLE_RULER,
+ ATSPI_ROLE_APPLICATION,
+ ATSPI_ROLE_AUTOCOMPLETE,
+ ATSPI_ROLE_EDITBAR,
+ ATSPI_ROLE_EMBEDDED,
+ ATSPI_ROLE_ENTRY,
+ ATSPI_ROLE_CHART,
+ ATSPI_ROLE_CAPTION,
+ ATSPI_ROLE_DOCUMENT_FRAME,
+ ATSPI_ROLE_HEADING,
+ ATSPI_ROLE_PAGE,
+ ATSPI_ROLE_SECTION,
+ ATSPI_ROLE_REDUNDANT_OBJECT,
+ ATSPI_ROLE_FORM,
+ ATSPI_ROLE_LINK,
+ ATSPI_ROLE_INPUT_METHOD_WINDOW,
+ ATSPI_ROLE_TABLE_ROW,
+ ATSPI_ROLE_TREE_ITEM,
+ ATSPI_ROLE_DOCUMENT_SPREADSHEET,
+ ATSPI_ROLE_DOCUMENT_PRESENTATION,
+ ATSPI_ROLE_DOCUMENT_TEXT,
+ ATSPI_ROLE_DOCUMENT_WEB,
+ ATSPI_ROLE_DOCUMENT_EMAIL,
+ ATSPI_ROLE_COMMENT,
+ ATSPI_ROLE_LIST_BOX,
+ ATSPI_ROLE_GROUPING,
+ ATSPI_ROLE_IMAGE_MAP,
+ ATSPI_ROLE_NOTIFICATION,
+ ATSPI_ROLE_INFO_BAR,
+ ATSPI_ROLE_LEVEL_BAR,
+ ATSPI_ROLE_TITLE_BAR,
+ ATSPI_ROLE_BLOCK_QUOTE,
+ ATSPI_ROLE_AUDIO,
+ ATSPI_ROLE_VIDEO,
+ ATSPI_ROLE_DEFINITION,
+ ATSPI_ROLE_ARTICLE,
+ ATSPI_ROLE_LANDMARK,
+ ATSPI_ROLE_LOG,
+ ATSPI_ROLE_MARQUEE,
+ ATSPI_ROLE_MATH,
+ ATSPI_ROLE_RATING,
+ ATSPI_ROLE_TIMER,
+ ATSPI_ROLE_STATIC,
+ ATSPI_ROLE_MATH_FRACTION,
+ ATSPI_ROLE_MATH_ROOT,
+ ATSPI_ROLE_SUBSCRIPT,
+ ATSPI_ROLE_SUPERSCRIPT,
+ ATSPI_ROLE_DESCRIPTION_LIST,
+ ATSPI_ROLE_DESCRIPTION_TERM,
+ ATSPI_ROLE_DESCRIPTION_VALUE,
+ ATSPI_ROLE_FOOTNOTE,
+ ATSPI_ROLE_CONTENT_DELETION,
+ ATSPI_ROLE_CONTENT_INSERTION,
+ ATSPI_ROLE_MARK,
+ ATSPI_ROLE_SUGGESTION,
+ ATSPI_ROLE_PUSH_BUTTON_MENU,
+ ATSPI_ROLE_SWITCH,
+ ATSPI_ROLE_LAST_DEFINED,
+
+ /* For backwards compatibility */
+ ATSPI_ROLE_PUSH_BUTTON = ATSPI_ROLE_BUTTON,
+} AtspiRole;
/**
* ATSPI_ROLE_COUNT:
*
* One higher than the highest valid value of #AtspiRole.
*/
-#define ATSPI_ROLE_COUNT (130 + 1)
+#define ATSPI_ROLE_COUNT (131 + 1)
+
+G_STATIC_ASSERT(ATSPI_ROLE_COUNT == ATSPI_ROLE_LAST_DEFINED + 1);
typedef enum
{
@@ -1530,7 +1744,181 @@ extern "C"
#define ATSPI_DBUS_PATH_SCREEN_READER "/org/a11y/atspi/screenreader"
#define ATSPI_DBUS_INTERFACE_EVENT_SCREEN_READER "org.a11y.atspi.Event.ScreenReader"
+#define ATSPI_DBUS_INTERFACE_KEYBOARD_MONITOR "org.freedesktop.a11y.KeyboardMonitor"
+#define ATSPI_DBUS_NAME_A11Y_MANAGER "org.freedesktop.a11y.Manager"
+#define ATSPI_DBUS_PATH_A11Y_MANAGER "/org/freedesktop/a11y/Manager"
+
+#define ATSPI_MAX_CHILDREN 65536
+
+/**
+ * ATSPI_ACCESSIBLE_VERSION:
+ *
+ * The version of the Application D-Bus interface.
+ *
+ * Since: 2.59
+ */
+#define ATSPI_ACCESSIBLE_VERSION 1
+/**
+ * ATSPI_ACTION_VERSION:
+ *
+ * The version of the Action D-Bus interface.
+ *
+ * Since: 2.59
+ */
+#define ATSPI_ACTION_VERSION 1
+/**
+ * ATSPI_APPLICATION_VERSION:
+ *
+ * The version of the Application D-Bus interface.
+ *
+ * Since: 2.59
+ */
+#define ATSPI_APPLICATION_VERSION 1
+/**
+ * ATSPI_CACHE_VERSION:
+ *
+ * The version of the Cache D-Bus interface.
+ *
+ * Since: 2.59
+ */
+#define ATSPI_CACHE_VERSION 1
+/**
+ * ATSPI_COLLECTION_VERSION:
+ *
+ * The version of the Collection D-Bus interface.
+ *
+ * Since: 2.59
+ */
+#define ATSPI_COLLECTION_VERSION 1
+/**
+ * ATSPI_COMPONENT_VERSION:
+ *
+ * The version of the Component D-Bus interface.
+ *
+ * Since: 2.59
+ */
+#define ATSPI_COMPONENT_VERSION 1
+/**
+ * ATSPI_DEVICE_EVENT_CONTROLLER_VERSION:
+ *
+ * The version of the DeviceEventController D-Bus interface.
+ *
+ * Since: 2.59
+ */
+#define ATSPI_DEVICE_EVENT_CONTROLLER_VERSION 1
+/**
+ * ATSPI_DEVICE_EVENT_LISTENER_VERSION:
+ *
+ * The version of the DeviceEventListener D-Bus interface.
+ *
+ * Since: 2.59
+ */
+#define ATSPI_DEVICE_EVENT_LISTENER_VERSION 1
+/**
+ * ATSPI_DOCUMENT_VERSION:
+ *
+ * The version of the Document D-Bus interface.
+ *
+ * Since: 2.59
+ */
+#define ATSPI_DOCUMENT_VERSION 1
+/**
+ * ATSPI_EDITABLE_TEXT_VERSION:
+ *
+ * The version of the EditableText D-Bus interface.
+ *
+ * Since: 2.59
+ */
+#define ATSPI_EDITABLE_TEXT_VERSION 1
+/**
+ * ATSPI_EVENT_VERSION:
+ *
+ * The version of the Event D-Bus interface.
+ *
+ * Since: 2.59
+ */
+#define ATSPI_EVENT_VERSION 1
+/**
+ * ATSPI_HYPERLINK_VERSION:
+ *
+ * The version of the Hyperlink D-Bus interface.
+ *
+ * Since: 2.59
+ */
+#define ATSPI_HYPERLINK_VERSION 1
+/**
+ * ATSPI_HYPERTEXT_VERSION:
+ *
+ * The version of the Hypertext D-Bus interface.
+ *
+ * Since: 2.59
+ */
+#define ATSPI_HYPERTEXT_VERSION 1
+/**
+ * ATSPI_IMAGE_VERSION:
+ *
+ * The version of the Image D-Bus interface.
+ *
+ * Since: 2.59
+ */
+#define ATSPI_IMAGE_VERSION 1
+/**
+ * ATSPI_REGISTRY_VERSION:
+ *
+ * The version of the Registry D-Bus interface.
+ *
+ * Since: 2.59
+ */
+#define ATSPI_REGISTRY_VERSION 1
+/**
+ * ATSPI_SELECTION_VERSION:
+ *
+ * The version of the Selection D-Bus interface.
+ *
+ * Since: 2.59
+ */
+#define ATSPI_SELECTION_VERSION 1
+/**
+ * ATSPI_SOCKET_VERSION:
+ *
+ * The version of the Socket D-Bus interface.
+ *
+ * Since: 2.59
+ */
+#define ATSPI_SOCKET_VERSION 1
+/**
+ * ATSPI_TABLE_VERSION:
+ *
+ * The version of the Table D-Bus interface.
+ *
+ * Since: 2.59
+ */
+#define ATSPI_TABLE_VERSION 1
+/**
+ * ATSPI_TABLE_CELL_VERSION:
+ *
+ * The version of the TableCell D-Bus interface.
+ *
+ * Since: 2.59
+ */
+#define ATSPI_TABLE_CELL_VERSION 1
+/**
+ * ATSPI_TEXT_VERSION:
+ *
+ * The version of the Text D-Bus interface.
+ *
+ * Since: 2.59
+ */
+#define ATSPI_TEXT_VERSION 1
+/**
+ * ATSPI_VALUE_VERSION:
+ *
+ * The version of the Value D-Bus interface.
+ *
+ * Since: 2.59
+ */
+#define ATSPI_VALUE_VERSION 1
+
#ifdef __cplusplus
}
#endif
-#endif /* _ATSPI_CONSTANTS_H_ */
diff --git a/atspi/atspi-device-a11y-manager.c b/atspi/atspi-device-a11y-manager.c
new file mode 100644
index 0000000..fab3a98
--- /dev/null
+++ b/atspi/atspi-device-a11y-manager.c
@@ -0,0 +1,598 @@
+/*
+ * AT-SPI - Assistive Technology Service Provider Interface
+ * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
+ *
+ * Copyright 2024 Red Hat
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#include "atspi-device-a11y-manager.h"
+#include "atspi-private.h"
+
+#include
+
+
+enum {
+ PROP_0,
+ PROP_SESSION_BUS,
+ PROP_KEYBOARD_MONITOR,
+ N_PROPERTIES
+};
+
+static GParamSpec *properties[N_PROPERTIES] = { NULL, };
+
+#define REFRESH_KEYS_TIMEOUT 10
+
+typedef struct _AtspiDeviceA11yManagerKey AtspiDeviceA11yManagerKey;
+struct _AtspiDeviceA11yManagerKey
+{
+ guint32 keysym;
+ guint32 modifiers;
+};
+
+typedef struct _AtspiDeviceA11yManagerVirtualModifier AtspiDeviceA11yManagerVirtualModifier;
+struct _AtspiDeviceA11yManagerVirtualModifier
+{
+ guint32 modifier;
+ guint32 keysym;
+};
+
+typedef struct _AtspiDeviceA11yManager AtspiDeviceA11yManager;
+
+struct _AtspiDeviceA11yManager
+{
+ AtspiDevice parent_instance;
+
+ GDBusConnection *session_bus;
+ GDBusProxy *keyboard_monitor;
+ GSList *grabbed_modifiers;
+ GSList *grabbed_keys;
+ GSList *virtual_modifiers;
+ guint enabled_virtual_modifiers;
+ guint last_observed_state;
+
+ guint refresh_timeout_id;
+};
+
+G_DEFINE_TYPE (AtspiDeviceA11yManager, atspi_device_a11y_manager, ATSPI_TYPE_DEVICE)
+
+static guint
+atspi_device_a11y_manager_get_locked_modifiers (AtspiDevice *device)
+{
+ AtspiDeviceA11yManager *manager_device = ATSPI_DEVICE_A11Y_MANAGER (device);
+
+ guint lockable_mask = (1 << ATSPI_MODIFIER_NUMLOCK) | (1 << ATSPI_MODIFIER_SHIFTLOCK);
+ return manager_device->last_observed_state & lockable_mask;
+}
+
+static guint
+get_unused_virtual_modifier (AtspiDeviceA11yManager *manager_device)
+{
+ guint prev_mod = ATSPI_DEVICE_A11Y_MANAGER_VIRTUAL_MOD_START - 1;
+ guint cur_mod = ATSPI_DEVICE_A11Y_MANAGER_VIRTUAL_MOD_START - 1;
+ GSList *l;
+
+ for (l = manager_device->virtual_modifiers; l; l = l->next)
+ {
+ AtspiDeviceA11yManagerVirtualModifier *entry = l->data;
+ cur_mod = entry->modifier;
+ if (cur_mod - prev_mod > 1) /* Found a hole from a previous unmap, reuse it */
+ return prev_mod + 1;
+ prev_mod = entry->modifier;
+ }
+
+ if (cur_mod < ATSPI_DEVICE_A11Y_MANAGER_VIRTUAL_MOD_END)
+ return cur_mod + 1;
+ return 0;
+}
+
+static GSList *
+find_insertion_point_for_modifier (AtspiDeviceA11yManager *manager_device, guint32 modifier)
+{
+ GSList *l;
+
+ for (l = manager_device->virtual_modifiers; l; l = l->next)
+ {
+ AtspiDeviceA11yManagerVirtualModifier *entry = l->data;
+ if (entry->modifier == modifier - 1)
+ return l->next;
+ }
+ return NULL;
+}
+
+#define MODIFIER_NUMLOCK (1 << ATSPI_MODIFIER_META)
+#define MODIFIER_CAPSLOCK (1 << ATSPI_MODIFIER_SHIFTLOCK)
+
+static void
+add_grab_to_builder (GVariantBuilder *builder, guint32 keysym, guint32 modifiers)
+{
+ g_variant_builder_open (builder, G_VARIANT_TYPE ("(uu)"));
+ g_variant_builder_add (builder, "u", keysym);
+ g_variant_builder_add (builder, "u", modifiers);
+ g_variant_builder_close (builder);
+}
+
+static void
+refresh_grabs (AtspiDeviceA11yManager *manager_device)
+{
+ GVariantBuilder builder;
+ GSList *l;
+
+ g_variant_builder_init (&builder, G_VARIANT_TYPE ("(aua(uu))"));
+ g_variant_builder_open (&builder, G_VARIANT_TYPE ("au"));
+ for (l = manager_device->grabbed_modifiers; l; l = l->next)
+ {
+ guint32 modifier = GPOINTER_TO_UINT (l->data);
+ g_variant_builder_add (&builder, "u", modifier);
+ }
+ g_variant_builder_close (&builder);
+ g_variant_builder_open (&builder, G_VARIANT_TYPE ("a(uu)"));
+ for (l = manager_device->grabbed_keys; l; l = l->next)
+ {
+ AtspiDeviceA11yManagerKey *entry = l->data;
+ add_grab_to_builder (&builder, entry->keysym, entry->modifiers);
+ add_grab_to_builder (&builder, entry->keysym, entry->modifiers | MODIFIER_NUMLOCK);
+ add_grab_to_builder (&builder, entry->keysym, entry->modifiers | MODIFIER_CAPSLOCK);
+ add_grab_to_builder (&builder, entry->keysym, entry->modifiers | MODIFIER_CAPSLOCK | MODIFIER_NUMLOCK);
+ }
+ g_variant_builder_close (&builder);
+ g_dbus_proxy_call_sync (manager_device->keyboard_monitor,
+ "SetKeyGrabs",
+ g_variant_builder_end (&builder),
+ G_DBUS_CALL_FLAGS_NONE,
+ -1,
+ NULL,
+ NULL);
+}
+
+static gboolean
+refresh_keys_timeout_cb (gpointer user_data)
+{
+ AtspiDeviceA11yManager *device = ATSPI_DEVICE_A11Y_MANAGER (user_data);
+ refresh_grabs (device);
+ device->refresh_timeout_id = 0;
+ return G_SOURCE_REMOVE;
+}
+
+static void
+schedule_refresh_grabs (AtspiDeviceA11yManager *device)
+{
+ if (device->refresh_timeout_id)
+ return;
+ device->refresh_timeout_id = g_timeout_add (REFRESH_KEYS_TIMEOUT, refresh_keys_timeout_cb, device);
+}
+
+static guint
+atspi_device_a11y_manager_map_modifier (AtspiDevice *device, gint keycode)
+{
+ g_warning ("Mapping of keycode %d is not supported, use the keysym instead", keycode);
+ return 0;
+}
+
+static void
+atspi_device_a11y_manager_unmap_modifier (AtspiDevice *device, gint keycode)
+{
+ g_warning ("Unmapping of keycode %d is not supported, use the keysym instead", keycode);
+}
+
+static guint
+atspi_device_a11y_manager_get_modifier (AtspiDevice *device, gint keycode)
+{
+ g_warning ("Querying of keycode %d is not supported, use the keysym instead", keycode);
+ return 0;
+}
+
+static guint
+atspi_device_a11y_manager_get_keysym_modifier (AtspiDevice *device, guint keysym)
+{
+ AtspiDeviceA11yManager *manager_device = ATSPI_DEVICE_A11Y_MANAGER (device);
+ GSList *l;
+
+ for (l = manager_device->virtual_modifiers; l; l = l->next)
+ {
+ AtspiDeviceA11yManagerVirtualModifier *entry = l->data;
+ if (entry->keysym == keysym)
+ return 1 << entry->modifier;
+ }
+ return 0;
+}
+
+static guint
+atspi_device_a11y_manager_map_keysym_modifier (AtspiDevice *device, guint keysym)
+{
+ AtspiDeviceA11yManager *manager_device = ATSPI_DEVICE_A11Y_MANAGER (device);
+ guint modifier = atspi_device_a11y_manager_get_keysym_modifier (device, keysym);
+ if (modifier)
+ return modifier;
+ modifier = get_unused_virtual_modifier (manager_device);
+
+ if (!modifier)
+ {
+ g_warning ("No more virtual modifiers available");
+ return 0;
+ }
+
+ AtspiDeviceA11yManagerVirtualModifier *entry = g_new (AtspiDeviceA11yManagerVirtualModifier, 1);
+ entry->modifier = modifier;
+ entry->keysym = keysym;
+ GSList *insertion_point = find_insertion_point_for_modifier (manager_device, modifier);
+ manager_device->virtual_modifiers = g_slist_insert_before (manager_device->virtual_modifiers, insertion_point, entry);
+
+ manager_device->grabbed_modifiers = g_slist_append (manager_device->grabbed_modifiers, GUINT_TO_POINTER (keysym));
+ schedule_refresh_grabs (manager_device);
+ return 1 << modifier;
+}
+
+static void
+atspi_device_a11y_manager_unmap_keysym_modifier (AtspiDevice *device, guint keysym)
+{
+ AtspiDeviceA11yManager *manager_device = ATSPI_DEVICE_A11Y_MANAGER (device);
+ GSList *l;
+
+ for (l = manager_device->virtual_modifiers; l; l = l->next)
+ {
+ AtspiDeviceA11yManagerVirtualModifier *entry = l->data;
+ if (entry->keysym == keysym)
+ {
+ manager_device->virtual_modifiers = g_slist_remove (manager_device->virtual_modifiers, entry);
+ g_free (entry);
+ break;
+ }
+ }
+
+ manager_device->grabbed_modifiers = g_slist_remove (manager_device->grabbed_modifiers, GUINT_TO_POINTER (keysym));
+ schedule_refresh_grabs (manager_device);
+}
+
+static gboolean
+atspi_device_a11y_manager_grab_keyboard (AtspiDevice *device)
+{
+ AtspiDeviceA11yManager *manager_device = ATSPI_DEVICE_A11Y_MANAGER (device);
+
+ g_dbus_proxy_call_sync (manager_device->keyboard_monitor,
+ "GrabKeyboard",
+ NULL,
+ G_DBUS_CALL_FLAGS_NONE,
+ -1,
+ NULL,
+ NULL);
+ return TRUE;
+}
+
+static void
+atspi_device_a11y_manager_ungrab_keyboard (AtspiDevice *device)
+{
+ AtspiDeviceA11yManager *manager_device = ATSPI_DEVICE_A11Y_MANAGER (device);
+
+ g_dbus_proxy_call_sync (manager_device->keyboard_monitor,
+ "UngrabKeyboard",
+ NULL,
+ G_DBUS_CALL_FLAGS_NONE,
+ -1,
+ NULL,
+ NULL);
+}
+
+static gboolean
+has_key_grab (AtspiDeviceA11yManager *device, guint32 keysym, guint32 modifiers)
+{
+ GSList *l;
+
+ for (l = device->grabbed_keys; l; l = l->next)
+ {
+ AtspiDeviceA11yManagerKey *entry = l->data;
+ if (entry->keysym == keysym && entry->modifiers == modifiers)
+ return TRUE;
+ }
+ return FALSE;
+}
+
+static gboolean
+atspi_device_a11y_manager_add_key_grab (AtspiDevice *device, AtspiKeyDefinition *kd)
+{
+ AtspiDeviceA11yManager *manager_device = ATSPI_DEVICE_A11Y_MANAGER (device);
+
+ if (has_key_grab (manager_device, kd->keysym, kd->modifiers))
+ return FALSE;
+ AtspiDeviceA11yManagerKey *entry = g_new (AtspiDeviceA11yManagerKey, 1);
+ entry->keysym = kd->keysym;
+ entry->modifiers = kd->modifiers;
+ manager_device->grabbed_keys = g_slist_append (manager_device->grabbed_keys, entry);
+ schedule_refresh_grabs (manager_device);
+ return TRUE;
+}
+
+static void
+atspi_device_a11y_manager_remove_key_grab (AtspiDevice *device, guint id)
+{
+ AtspiDeviceA11yManager *manager_device = ATSPI_DEVICE_A11Y_MANAGER (device);
+ GSList *l;
+
+ AtspiKeyDefinition *kd = atspi_device_get_grab_by_id (device, id);
+ for (l = manager_device->grabbed_keys; l; l = l->next)
+ {
+ AtspiDeviceA11yManagerKey *entry = l->data;
+ if (entry->keysym == kd->keysym && entry->modifiers == kd->modifiers)
+ {
+ manager_device->grabbed_keys = g_slist_remove (manager_device->grabbed_keys, entry);
+ g_free (entry);
+ schedule_refresh_grabs (manager_device);
+ break;
+ }
+ }
+
+ g_free (kd);
+}
+
+static void
+a11y_manager_signal_cb (GDBusProxy *proxy,
+ gchar *sender_name,
+ gchar *signal_name,
+ GVariant *parameters,
+ gpointer user_data)
+{
+ if (g_strcmp0 (signal_name, "KeyEvent") != 0)
+ return;
+
+ AtspiDeviceA11yManager *device = ATSPI_DEVICE_A11Y_MANAGER (user_data);
+ gboolean released;
+ gchar *text;
+ gint utf8_len;
+ guint32 state, keysym, unichar, virtual_modifier;
+ guint16 keycode;
+
+ g_variant_get (parameters, "(buuuq)", &released, &state, &keysym, &unichar, &keycode);
+ utf8_len = g_unichar_to_utf8 (unichar, NULL);
+ text = g_new (gchar, utf8_len + 1);
+ g_unichar_to_utf8 (unichar, text);
+ text[utf8_len] = '\0';
+ virtual_modifier = atspi_device_a11y_manager_get_keysym_modifier (ATSPI_DEVICE (device), keysym);
+ if (virtual_modifier)
+ {
+ if (released)
+ device->enabled_virtual_modifiers &= ~virtual_modifier;
+ else
+ device->enabled_virtual_modifiers |= virtual_modifier;
+ }
+ state = state | device->enabled_virtual_modifiers;
+ // Mapping Num Lock is just a best efford, as we do not have a way how to get the proper modifier.
+ // However, this mapping is the most common one.
+ if (state & (1 << ATSPI_MODIFIER_META))
+ {
+ state &= ~(1 << ATSPI_MODIFIER_META);
+ state |= (1 << ATSPI_MODIFIER_NUMLOCK);
+ }
+ device->last_observed_state = state;
+ atspi_device_notify_key (ATSPI_DEVICE (device), !released, keycode, keysym, state, text);
+ g_free (text);
+}
+
+static void
+atspi_device_a11y_manager_init (AtspiDeviceA11yManager *device)
+{
+ device->grabbed_modifiers = NULL;
+ device->grabbed_keys = NULL;
+ device->refresh_timeout_id = 0;
+ device->last_observed_state = 0;
+}
+
+static void
+atspi_device_a11y_manager_finalize (GObject *object)
+{
+ AtspiDeviceA11yManager *device = ATSPI_DEVICE_A11Y_MANAGER (object);
+
+ g_clear_object (&device->keyboard_monitor);
+ g_clear_object (&device->session_bus);
+ G_OBJECT_CLASS (atspi_device_a11y_manager_parent_class)->finalize (object);
+}
+
+static void
+atspi_device_a11y_manager_dispose (GObject *object)
+{
+ AtspiDeviceA11yManager *device = ATSPI_DEVICE_A11Y_MANAGER (object);
+
+ g_slist_free (device->grabbed_modifiers);
+ g_slist_free_full (device->grabbed_keys, g_free);
+ g_slist_free_full (device->virtual_modifiers, g_free);
+ if (device->refresh_timeout_id)
+ g_source_remove (device->refresh_timeout_id);
+ G_OBJECT_CLASS (atspi_device_a11y_manager_parent_class)->dispose (object);
+}
+
+static void
+atspi_device_a11y_manager_constructed (GObject *object)
+{
+ AtspiDeviceA11yManager *device = ATSPI_DEVICE_A11Y_MANAGER (object);
+ const gchar *keyboard_monitor_id;
+
+ G_OBJECT_CLASS (atspi_device_a11y_manager_parent_class)->constructed (object);
+
+ const gchar *app_id = atspi_device_get_app_id (ATSPI_DEVICE (device));
+
+ if (app_id)
+ keyboard_monitor_id = g_strdup_printf ("%s.KeyboardMonitor", app_id);
+ else
+ keyboard_monitor_id = "org.a11y.atspi.KeyboardMonitor";
+ g_dbus_connection_call_sync (device->session_bus,
+ "org.freedesktop.DBus",
+ "/org/freedesktop/DBus",
+ "org.freedesktop.DBus",
+ "RequestName",
+ g_variant_new ("(su)", keyboard_monitor_id, 0),
+ NULL,
+ G_DBUS_CALL_FLAGS_NONE,
+ -1,
+ NULL,
+ NULL);
+
+ g_dbus_proxy_call_sync (device->keyboard_monitor,
+ "WatchKeyboard",
+ NULL,
+ G_DBUS_CALL_FLAGS_NONE,
+ -1,
+ NULL,
+ NULL);
+ g_signal_connect_object (device->keyboard_monitor, "g-signal", G_CALLBACK (a11y_manager_signal_cb), device, 0);
+}
+
+static void
+atspi_device_a11y_manager_get_property (GObject *object,
+ guint property_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ AtspiDeviceA11yManager *device = ATSPI_DEVICE_A11Y_MANAGER (object);
+
+ switch (property_id)
+ {
+ case PROP_SESSION_BUS:
+ g_value_set_object (value, device->session_bus);
+ break;
+ case PROP_KEYBOARD_MONITOR:
+ g_value_set_object (value, device->keyboard_monitor);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+ break;
+ }
+}
+
+static void
+atspi_device_a11y_manager_set_property (GObject *object,
+ guint property_id,
+ const GValue *value,
+ GParamSpec *pspec)
+{
+ AtspiDeviceA11yManager *device = ATSPI_DEVICE_A11Y_MANAGER (object);
+
+ switch (property_id)
+ {
+ case PROP_SESSION_BUS:
+ device->session_bus = g_value_dup_object (value);
+ break;
+ case PROP_KEYBOARD_MONITOR:
+ device->keyboard_monitor = g_value_dup_object (value);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+ break;
+ }
+}
+
+static void
+atspi_device_a11y_manager_class_init (AtspiDeviceA11yManagerClass *klass)
+{
+ GObjectClass *object_class = (GObjectClass *) klass;
+ AtspiDeviceClass *device_class = ATSPI_DEVICE_CLASS (klass);
+
+ object_class->constructed = atspi_device_a11y_manager_constructed;
+ object_class->dispose = atspi_device_a11y_manager_dispose;
+ object_class->finalize = atspi_device_a11y_manager_finalize;
+ object_class->get_property = atspi_device_a11y_manager_get_property;
+ object_class->set_property = atspi_device_a11y_manager_set_property;
+
+ device_class->map_modifier = atspi_device_a11y_manager_map_modifier;
+ device_class->unmap_modifier = atspi_device_a11y_manager_unmap_modifier;
+ device_class->get_modifier = atspi_device_a11y_manager_get_modifier;
+ device_class->get_locked_modifiers = atspi_device_a11y_manager_get_locked_modifiers;
+ device_class->map_keysym_modifier = atspi_device_a11y_manager_map_keysym_modifier;
+ device_class->unmap_keysym_modifier = atspi_device_a11y_manager_unmap_keysym_modifier;
+ device_class->get_keysym_modifier = atspi_device_a11y_manager_get_keysym_modifier;
+ device_class->grab_keyboard = atspi_device_a11y_manager_grab_keyboard;
+ device_class->ungrab_keyboard = atspi_device_a11y_manager_ungrab_keyboard;
+ device_class->add_key_grab = atspi_device_a11y_manager_add_key_grab;
+ device_class->remove_key_grab = atspi_device_a11y_manager_remove_key_grab;
+
+ properties[PROP_SESSION_BUS] =
+ g_param_spec_object ("session-bus",
+ "Session Bus",
+ "The session bus",
+ G_TYPE_DBUS_CONNECTION,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
+
+ properties[PROP_KEYBOARD_MONITOR] =
+ g_param_spec_object ("keyboard-monitor",
+ "Keyboard Monitor",
+ "The keyboard monitor proxy",
+ G_TYPE_DBUS_PROXY,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
+ g_object_class_install_properties (object_class, N_PROPERTIES, properties);
+ }
+
+/**
+ * atspi_device_a11y_manager_try_new_full:
+ * @app_id: (nullable): The app id
+ * Tries to create a new #AtspiDeviceA11yManager with the given app id.
+ *
+ * Returns: (transfer full): a pointer to a newly-created #AtspiDeviceA11yManager
+ * if it could establish the required DBus connection, NULL otherwise.
+ *
+ * Since: 2.55
+ */
+AtspiDeviceA11yManager *
+atspi_device_a11y_manager_try_new_full (const gchar *app_id)
+{
+ GError *error = NULL;
+ g_autofree gchar *owner = NULL;
+ GDBusConnection *session_bus = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, NULL);
+ GDBusProxy *keyboard_monitor = g_dbus_proxy_new_sync (session_bus,
+ G_DBUS_PROXY_FLAGS_NONE,
+ NULL,
+ ATSPI_DBUS_NAME_A11Y_MANAGER,
+ ATSPI_DBUS_PATH_A11Y_MANAGER,
+ ATSPI_DBUS_INTERFACE_KEYBOARD_MONITOR,
+ NULL,
+ &error);
+
+ if (error)
+ {
+ g_clear_object (&session_bus);
+ g_error_free (error);
+ return NULL;
+ }
+
+ owner = g_dbus_proxy_get_name_owner (keyboard_monitor);
+ if (!owner)
+ {
+ g_clear_object (&session_bus);
+ g_clear_object (&keyboard_monitor);
+ return NULL;
+ }
+
+ AtspiDeviceA11yManager *device = g_object_new (ATSPI_TYPE_DEVICE_A11Y_MANAGER,
+ "session-bus", session_bus,
+ "keyboard-monitor", keyboard_monitor,
+ "app-id", app_id,
+ NULL);
+
+ return device;
+}
+
+/**
+ * atspi_device_a11y_manager_try_new:
+ *
+ * Tries to create a new #AtspiDeviceA11yManager.
+ *
+ * Returns: (transfer full): a pointer to a newly-created #AtspiDeviceA11yManager
+ *
+ * Since: 2.55
+ */
+AtspiDeviceA11yManager *
+atspi_device_a11y_manager_try_new ()
+{
+ return atspi_device_a11y_manager_try_new_full (NULL);
+}
diff --git a/atspi/atspi-mutter-private.h b/atspi/atspi-device-a11y-manager.h
similarity index 59%
rename from atspi/atspi-mutter-private.h
rename to atspi/atspi-device-a11y-manager.h
index f2d1c10..ace41bf 100644
--- a/atspi/atspi-mutter-private.h
+++ b/atspi/atspi-device-a11y-manager.h
@@ -2,7 +2,7 @@
* AT-SPI - Assistive Technology Service Provider Interface
* (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
*
- * Copyright 2019 SUSE LLC.
+ * Copyright 2024 Red Hat
*
*
* This library is free software; you can redistribute it and/or
@@ -21,16 +21,22 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef _ATSPI_MUTTER_H_
-#define _ATSPI_MUTTER_H_
+#pragma once
+#include "glib-object.h"
+
+#include "atspi-device.h"
+#include "atspi-types.h"
G_BEGIN_DECLS
-gboolean _atspi_mutter_generate_keyboard_event (glong keyval, const gchar *keystring, AtspiKeySynthType synth_type, GError **error);
+#define ATSPI_DEVICE_A11Y_MANAGER_VIRTUAL_MOD_START 15 /* To avoid the clash with ATSPI_MODIFIER_NUMLOCK */
+#define ATSPI_DEVICE_A11Y_MANAGER_VIRTUAL_MOD_END 31
-gboolean _atspi_mutter_generate_mouse_event (glong x, glong y, const gchar *name, GError **error);
+#define ATSPI_TYPE_DEVICE_A11Y_MANAGER (atspi_device_a11y_manager_get_type ())
+G_DECLARE_FINAL_TYPE (AtspiDeviceA11yManager, atspi_device_a11y_manager, ATSPI, DEVICE_A11Y_MANAGER, AtspiDevice)
-void _atspi_mutter_set_reference_window (AtspiAccessible *accessible);
-G_END_DECLS
+AtspiDeviceA11yManager *atspi_device_a11y_manager_try_new ();
-#endif /* _ATSPI_MUTTER_H_ */
+AtspiDeviceA11yManager *atspi_device_a11y_manager_try_new_full (const gchar *app_id);
+
+G_END_DECLS
diff --git a/atspi/atspi-device-legacy.c b/atspi/atspi-device-legacy.c
index 84cc2a2..7864c3a 100644
--- a/atspi/atspi-device-legacy.c
+++ b/atspi/atspi-device-legacy.c
@@ -171,17 +171,20 @@ atspi_device_legacy_map_modifier (AtspiDevice *device, gint keycode)
desc = XkbGetMap (priv->display, XkbModifierMapMask, XkbUseCoreKbd);
- if (keycode < desc->min_key_code || keycode >= desc->max_key_code)
+ if (desc)
{
+ if (keycode < desc->min_key_code || keycode >= desc->max_key_code)
+ {
+ XkbFreeKeyboard (desc, XkbModifierMapMask, TRUE);
+ g_warning ("Passed invalid keycode %d", keycode);
+ return 0;
+ }
+
+ ret = desc->map->modmap[keycode];
XkbFreeKeyboard (desc, XkbModifierMapMask, TRUE);
- g_warning ("Passed invalid keycode %d", keycode);
- return 0;
+ if (ret & (ShiftMask | ControlMask))
+ return ret;
}
-
- ret = desc->map->modmap[keycode];
- XkbFreeKeyboard (desc, XkbModifierMapMask, TRUE);
- if (ret & (ShiftMask | ControlMask))
- return ret;
#endif
ret = find_virtual_mapping (legacy_device, keycode);
@@ -228,17 +231,20 @@ atspi_device_legacy_get_modifier (AtspiDevice *device, gint keycode)
desc = XkbGetMap (priv->display, XkbModifierMapMask, XkbUseCoreKbd);
- if (keycode < desc->min_key_code || keycode >= desc->max_key_code)
+ if (desc)
{
+ if (keycode < desc->min_key_code || keycode >= desc->max_key_code)
+ {
+ XkbFreeKeyboard (desc, XkbModifierMapMask, TRUE);
+ g_warning ("Passed invalid keycode %d", keycode);
+ return 0;
+ }
+
+ ret = desc->map->modmap[keycode];
XkbFreeKeyboard (desc, XkbModifierMapMask, TRUE);
- g_warning ("Passed invalid keycode %d", keycode);
- return 0;
+ if (ret)
+ return ret;
}
-
- ret = desc->map->modmap[keycode];
- XkbFreeKeyboard (desc, XkbModifierMapMask, TRUE);
- if (ret)
- return ret;
#endif
return find_virtual_mapping (legacy_device, keycode);
@@ -263,6 +269,79 @@ atspi_device_legacy_ungrab_keyboard (AtspiDevice *device)
priv->keyboard_grabbed = FALSE;
}
+static void
+atspi_device_legacy_generate_mouse_event (AtspiDevice *device, AtspiAccessible *obj, gint x, gint y, const gchar *name, GError **error)
+{
+ AtspiPoint *p;
+
+ p = atspi_component_get_position (ATSPI_COMPONENT (obj), ATSPI_COORD_TYPE_SCREEN, error);
+ if (p->y == -1 && atspi_accessible_get_role (obj, NULL) == ATSPI_ROLE_APPLICATION)
+ {
+ g_clear_error (error);
+ AtspiAccessible *child = atspi_accessible_get_child_at_index (obj, 0, NULL);
+ if (child)
+ {
+ g_free (p);
+ p = atspi_component_get_position (ATSPI_COMPONENT (child), ATSPI_COORD_TYPE_SCREEN, error);
+ g_object_unref (child);
+ }
+ }
+
+ if (p->y == -1 || p->x == -1)
+ {
+ g_free(p);
+ return;
+ }
+
+ x += p->x;
+ y += p->y;
+ g_free (p);
+
+ atspi_generate_mouse_event (x, y, name, error);
+}
+
+static guint
+atspi_device_legacy_map_keysym_modifier (AtspiDevice *device, guint keysym)
+{
+ AtspiDeviceLegacy *legacy_device = ATSPI_DEVICE_LEGACY (device);
+ AtspiDeviceLegacyPrivate *priv = atspi_device_legacy_get_instance_private (legacy_device);
+
+ guint resolved_keysym = keysym;
+#ifdef HAVE_X11
+ resolved_keysym = XKeysymToKeycode (priv->display, keysym);
+#endif
+
+ return atspi_device_legacy_map_modifier (device, resolved_keysym);
+}
+
+static void
+atspi_device_legacy_unmap_keysym_modifier (AtspiDevice *device, guint keysym)
+{
+ AtspiDeviceLegacy *legacy_device = ATSPI_DEVICE_LEGACY (device);
+ AtspiDeviceLegacyPrivate *priv = atspi_device_legacy_get_instance_private (legacy_device);
+
+ guint resolved_keysym = keysym;
+#ifdef HAVE_X11
+ resolved_keysym = XKeysymToKeycode (priv->display, keysym);
+#endif
+
+ atspi_device_legacy_unmap_modifier (device, resolved_keysym);
+}
+
+static guint
+atspi_device_legacy_get_keysym_modifier (AtspiDevice *device, guint keysym)
+{
+ AtspiDeviceLegacy *legacy_device = ATSPI_DEVICE_LEGACY (device);
+ AtspiDeviceLegacyPrivate *priv = atspi_device_legacy_get_instance_private (legacy_device);
+
+ guint resolved_keysym = keysym;
+#ifdef HAVE_X11
+ resolved_keysym = XKeysymToKeycode (priv->display, keysym);
+#endif
+
+ return atspi_device_legacy_get_modifier (device, resolved_keysym);
+}
+
static void
atspi_device_legacy_init (AtspiDeviceLegacy *device)
{
@@ -306,20 +385,40 @@ atspi_device_legacy_class_init (AtspiDeviceLegacyClass *klass)
device_class->get_locked_modifiers = atspi_device_legacy_get_locked_modifiers;
device_class->grab_keyboard = atspi_device_legacy_grab_keyboard;
device_class->ungrab_keyboard = atspi_device_legacy_ungrab_keyboard;
+ device_class->generate_mouse_event = atspi_device_legacy_generate_mouse_event;
+ device_class->map_keysym_modifier = atspi_device_legacy_map_keysym_modifier;
+ device_class->unmap_keysym_modifier = atspi_device_legacy_unmap_keysym_modifier;
+ device_class->get_keysym_modifier = atspi_device_legacy_get_keysym_modifier;
}
/**
- * atspi_device_legacy_new:
+ * atspi_device_legacy_new_full:
+ * @app_id: (nullable): The application id.
*
- * Creates a new #AtspiDeviceLegacy.
+ * Creates a new #AtspiDeviceLegacy with the given app id.
*
* Returns: (transfer full): a pointer to a newly-created #AtspiDeviceLegacy.
*
- **/
+ * Since: 2.55
+ */
AtspiDeviceLegacy *
-atspi_device_legacy_new ()
+atspi_device_legacy_new_full (const gchar *app_id)
{
- AtspiDeviceLegacy *device = g_object_new (atspi_device_legacy_get_type (), NULL);
+ AtspiDeviceLegacy *device = g_object_new (atspi_device_legacy_get_type (), "app-id", app_id, NULL);
return device;
}
+
+/**
+ * atspi_device_legacy_new:
+ *
+ * Creates a new #AtspiDeviceLegacy.
+ *
+ * Returns: (transfer full): a pointer to a newly-created #AtspiDeviceLegacy.
+ *
+ */
+AtspiDeviceLegacy *
+atspi_device_legacy_new (void)
+{
+ return atspi_device_legacy_new_full (NULL);
+}
diff --git a/atspi/atspi-device-legacy.h b/atspi/atspi-device-legacy.h
index 4dadaf9..4f5e085 100644
--- a/atspi/atspi-device-legacy.h
+++ b/atspi/atspi-device-legacy.h
@@ -21,8 +21,7 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef _ATSPI_DEVICE_LEGACY_H_
-#define _ATSPI_DEVICE_LEGACY_H_
+#pragma once
#include "glib-object.h"
@@ -54,6 +53,5 @@ GType atspi_device_legacy_get_type (void);
AtspiDeviceLegacy *atspi_device_legacy_new ();
+AtspiDeviceLegacy *atspi_device_legacy_new_full (const gchar *app_id);
G_END_DECLS
-
-#endif /* _ATSPI_DEVICE_LEGACY_H_ */
diff --git a/atspi/atspi-device-listener-private.h b/atspi/atspi-device-listener-private.h
index 32694ce..74c82dc 100644
--- a/atspi/atspi-device-listener-private.h
+++ b/atspi/atspi-device-listener-private.h
@@ -22,8 +22,7 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef _ATSPI_DEVICE_LISTENER_PRIVATE_H_
-#define _ATSPI_DEVICE_LISTENER_PRIVATE_H_
+#pragma once
#include "atspi-device-listener.h"
@@ -36,5 +35,3 @@ DBusHandlerResult _atspi_dbus_handle_DeviceEvent (DBusConnection *bus, DBusMessa
gchar *_atspi_device_listener_get_path (AtspiDeviceListener *listener);
G_END_DECLS
-
-#endif /* _ATSPI_DEVICE_LISTENER_H_ */
diff --git a/atspi/atspi-device-listener.c b/atspi/atspi-device-listener.c
index d575b07..971df36 100644
--- a/atspi/atspi-device-listener.c
+++ b/atspi/atspi-device-listener.c
@@ -217,12 +217,12 @@ G_DEFINE_TYPE (AtspiDeviceListener, atspi_device_listener, G_TYPE_OBJECT)
/**
* atspi_device_listener_new:
- * @callback: (scope notified): an #AtspiDeviceListenerCB callback function,
- * or NULL.
- * @user_data: (closure): a pointer to data which will be passed to the
- * callback when invoked.
+ * @callback: (scope notified) (closure user_data) (destroy callback_destroyed) (nullable): an
+ * #AtspiDeviceListenerCB callback function, or NULL.
+ * @user_data: a pointer to data which will be passed to the
+ * callback when invoked.
* @callback_destroyed: A #GDestroyNotify called when the listener is freed
- * and data associated with the callback should be freed. It can be NULL.
+ * and data associated with the callback should be freed. It can be NULL.
*
* Creates a new #AtspiDeviceListener with a specified callback function.
*
@@ -266,11 +266,12 @@ atspi_device_listener_new_simple (AtspiDeviceListenerSimpleCB callback,
/**
* atspi_device_listener_add_callback:
* @listener: the #AtspiDeviceListener instance to modify.
- * @callback: (scope notified): an #AtspiDeviceListenerCB function pointer.
+ * @callback: (scope notified) (closure user_data) (destroy callback_destroyed): an
+ * #AtspiDeviceListenerCB function pointer.
* @callback_destroyed: A #GDestroyNotify called when the listener is freed
- * and data associated with the callback should be freed. It can be NULL.
- * @user_data: (closure): a pointer to data which will be passed to the
- * callback when invoked.
+ * and data associated with the callback should be freed. It can be NULL.
+ * @user_data: a pointer to data which will be passed to the
+ * callback when invoked.
*
* Adds an in-process callback function to an existing #AtspiDeviceListener.
*
diff --git a/atspi/atspi-device-listener.h b/atspi/atspi-device-listener.h
index f8d12c1..f18d91e 100644
--- a/atspi/atspi-device-listener.h
+++ b/atspi/atspi-device-listener.h
@@ -23,8 +23,7 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef _ATSPI_DEVICE_LISTENER_H_
-#define _ATSPI_DEVICE_LISTENER_H_
+#pragma once
#include "glib-object.h"
@@ -37,13 +36,14 @@ GType atspi_device_event_get_type (void);
/**
* AtspiDeviceListenerCB:
* @stroke: (transfer full): The #AtspiDeviceEvent for which notification is
- * being received.
- * @user_data: Data which is passed to the client each time this callback is notified.
+ * being received.
+ * @user_data: (closure): Data which is passed to the client each time this callback is notified.
*
* A callback function prototype via which clients receive device event notifications.
*
- * Returns: #TRUE if the client wishes to consume/preempt the event, preventing it from being
- * relayed to the currently focussed application, #FALSE if the event delivery should proceed as normal.
+ * Returns: %TRUE if the client wishes to consume/preempt the event,
+ * preventing it from being relayed to the currently focussed application,
+ * %FALSE if the event delivery should proceed as normal
**/
typedef gboolean (*AtspiDeviceListenerCB) (AtspiDeviceEvent *stroke,
void *user_data);
@@ -51,7 +51,7 @@ typedef gboolean (*AtspiDeviceListenerCB) (AtspiDeviceEvent *stroke,
/**
* AtspiDeviceListenerSimpleCB:
* @stroke: (transfer full): The #AtspiDeviceEvent for which notification is
- * being received.
+ * being received.
*
* Similar to #AtspiDeviceListenerCB, but with no user data.
*
@@ -93,5 +93,3 @@ void atspi_device_listener_add_callback (AtspiDeviceListener *listener, AtspiDev
void atspi_device_listener_remove_callback (AtspiDeviceListener *listener, AtspiDeviceListenerCB callback);
G_END_DECLS
-
-#endif /* _ATSPI_DEVICE_LISTENER_H_ */
diff --git a/atspi/atspi-device-x11.c b/atspi/atspi-device-x11.c
index a9ce09d..74c8354 100644
--- a/atspi/atspi-device-x11.c
+++ b/atspi/atspi-device-x11.c
@@ -98,7 +98,10 @@ event_check (GSource *source)
static void
xi2keyevent (XIDeviceEvent *xievent, XEvent *xkeyevent)
{
+ XkbStateRec st= {};
+
memset (xkeyevent, 0, sizeof (*xkeyevent));
+ XkbGetState (xievent->display, XkbUseCoreKbd, &st);
switch (xievent->evtype)
{
@@ -122,7 +125,7 @@ xi2keyevent (XIDeviceEvent *xievent, XEvent *xkeyevent)
xkeyevent->xkey.y = xievent->event_y;
xkeyevent->xkey.x_root = xievent->root_x;
xkeyevent->xkey.y_root = xievent->root_y;
- xkeyevent->xkey.state = xievent->mods.effective;
+ xkeyevent->xkey.state = xievent->mods.effective | (st.group << 13);
xkeyevent->xkey.keycode = xievent->detail;
xkeyevent->xkey.same_screen = 1;
}
@@ -167,19 +170,20 @@ grab_has_active_duplicate (AtspiDeviceX11 *x11_device, AtspiX11KeyGrab *grab)
for (l = priv->key_grabs; l; l = l->next)
{
AtspiX11KeyGrab *other = l->data;
- if (other != grab && other->enabled && other->kd->keycode == grab->kd->keycode && (other->kd->modifiers & ~ATSPI_VIRTUAL_MODIFIER_MASK) == (grab->kd->modifiers & ~ATSPI_VIRTUAL_MODIFIER_MASK))
+ if (other != grab && other->enabled && other->kd->keycode == grab->kd->keycode && other->kd->keysym == grab->kd->keysym && (other->kd->modifiers & ~ATSPI_VIRTUAL_MODIFIER_MASK) == (grab->kd->modifiers & ~ATSPI_VIRTUAL_MODIFIER_MASK))
return TRUE;
}
return FALSE;
}
-static void
+static gboolean
grab_key_aux (AtspiDeviceX11 *x11_device, Window window, int keycode, int modmask)
{
AtspiDeviceX11Private *priv = atspi_device_x11_get_instance_private (x11_device);
XIGrabModifiers xi_modifiers;
XIEventMask eventmask;
unsigned char mask[XIMaskLen (XI_LASTEVENT)] = { 0 };
+ int ret;
xi_modifiers.modifiers = modmask;
xi_modifiers.status = 0;
@@ -191,37 +195,52 @@ grab_key_aux (AtspiDeviceX11 *x11_device, Window window, int keycode, int modmas
XISetMask (mask, XI_KeyPress);
XISetMask (mask, XI_KeyRelease);
- XIGrabKeycode (priv->display, XIAllMasterDevices, keycode, window, XIGrabModeSync, XIGrabModeAsync, False, &eventmask, 1, &xi_modifiers);
+ ret = XIGrabKeycode (priv->display, XIAllMasterDevices, keycode, window, XIGrabModeSync, XIGrabModeAsync, False, &eventmask, 1, &xi_modifiers);
+ return (ret == 0);
}
-static void
+static gboolean
grab_key (AtspiDeviceX11 *x11_device, Window window, int keycode, int modmask)
{
AtspiDeviceX11Private *priv = atspi_device_x11_get_instance_private (x11_device);
gboolean include_numlock = !_atspi_key_is_on_keypad (keycode);
+ gboolean ret = FALSE;
- grab_key_aux (x11_device, window, keycode, modmask);
+ ret |= grab_key_aux (x11_device, window, keycode, modmask);
if (!(modmask & LockMask))
- grab_key_aux (x11_device, window, keycode, modmask | LockMask);
+ ret |= grab_key_aux (x11_device, window, keycode, modmask | LockMask);
if (include_numlock && !(modmask & priv->numlock_physical_mask))
{
- grab_key_aux (x11_device, window, keycode, modmask | priv->numlock_physical_mask);
+ ret |= grab_key_aux (x11_device, window, keycode, modmask | priv->numlock_physical_mask);
if (!(modmask & LockMask))
- grab_key_aux (x11_device, window, keycode, modmask | LockMask | priv->numlock_physical_mask);
+ ret |= grab_key_aux (x11_device, window, keycode, modmask | LockMask | priv->numlock_physical_mask);
}
+ return ret;
}
-static void
+static gboolean
enable_key_grab (AtspiDeviceX11 *x11_device, AtspiX11KeyGrab *grab)
{
AtspiDeviceX11Private *priv = atspi_device_x11_get_instance_private (x11_device);
+ gboolean ret;
+ gint grab_keycode;
- g_return_if_fail (priv->display != NULL);
+ g_return_val_if_fail (priv->display != NULL, FALSE);
+
+ if (grab_has_active_duplicate (x11_device, grab))
+ ret = TRUE;
+ else
+ {
+ if (grab->kd->keysym != 0)
+ grab_keycode = XKeysymToKeycode (priv->display, grab->kd->keysym);
+ else
+ grab_keycode = grab->kd->keycode;
- if (!grab_has_active_duplicate (x11_device, grab))
- grab_key (x11_device, priv->focused_window, grab->kd->keycode, grab->kd->modifiers & ~ATSPI_VIRTUAL_MODIFIER_MASK);
+ ret = grab_key (x11_device, priv->focused_window, grab_keycode, grab->kd->modifiers & ~ATSPI_VIRTUAL_MODIFIER_MASK);
+ }
grab->enabled = TRUE;
grab->window = priv->focused_window;
+ return ret;
}
static void
@@ -256,6 +275,7 @@ static void
disable_key_grab (AtspiDeviceX11 *x11_device, AtspiX11KeyGrab *grab)
{
AtspiDeviceX11Private *priv = atspi_device_x11_get_instance_private (x11_device);
+ gint grab_keycode;
g_return_if_fail (priv->display != NULL);
@@ -267,7 +287,11 @@ disable_key_grab (AtspiDeviceX11 *x11_device, AtspiX11KeyGrab *grab)
if (grab_has_active_duplicate (x11_device, grab))
return;
- ungrab_key (x11_device, grab->window, grab->kd->keycode, grab->kd->modifiers & ~ATSPI_VIRTUAL_MODIFIER_MASK);
+ if (grab->kd->keysym != 0)
+ grab_keycode = XKeysymToKeycode (priv->display, grab->kd->keysym);
+ else
+ grab_keycode = grab->kd->keycode;
+ ungrab_key (x11_device, grab->window, grab_keycode, grab->kd->modifiers & ~ATSPI_VIRTUAL_MODIFIER_MASK);
}
static void
@@ -322,6 +346,14 @@ set_virtual_modifier (AtspiDeviceX11 *x11_device, gint keycode, gboolean enabled
refresh_key_grabs (x11_device);
}
+static gboolean
+should_suppress_keygrab_window_events ()
+{
+ /* The goal here is to only enable this hack for i3 and ratpoison, so,
+ as an imperfect proxy, check that XDG_CURRENT_DESKTOP is unset. */
+ return (getenv ("XDG_CURRENT_DESKTOP") == NULL);
+}
+
static gboolean
do_event_dispatch (gpointer user_data)
{
@@ -376,7 +408,8 @@ do_event_dispatch (gpointer user_data)
modifiers |= (1 << ATSPI_MODIFIER_NUMLOCK);
if (xiDevEv->deviceid == xiDevEv->sourceid)
atspi_device_notify_key (ATSPI_DEVICE (device), (xevent.xcookie.evtype == XI_KeyPress), xiRawEv->detail, keysym, modifiers, text);
- /* otherwise it's probably a duplicate event from a key grab */
+ else if (should_suppress_keygrab_window_events ())
+ _atspi_update_window_filter_time ();
XFreeEventData (priv->display, &xevent.xcookie);
break;
case FocusIn:
@@ -622,8 +655,8 @@ atspi_device_x11_finalize (GObject *object)
AtspiX11KeyGrab *grab = priv->key_grabs->data;
disable_key_grab (device, grab);
g_boxed_free (ATSPI_TYPE_KEY_DEFINITION, grab->kd);
- g_free (grab);
priv->key_grabs = g_slist_remove (priv->key_grabs, grab);
+ g_free (grab);
}
g_slist_free_full (priv->modifiers, g_free);
@@ -644,19 +677,31 @@ atspi_device_x11_finalize (GObject *object)
device_x11_parent_class->finalize (object);
}
-static void
+static gboolean
atspi_device_x11_add_key_grab (AtspiDevice *device, AtspiKeyDefinition *kd)
{
AtspiDeviceX11 *x11_device = ATSPI_DEVICE_X11 (device);
AtspiDeviceX11Private *priv = atspi_device_x11_get_instance_private (x11_device);
AtspiX11KeyGrab *grab;
+ gboolean ret;
grab = g_new0 (AtspiX11KeyGrab, 1);
grab->kd = g_boxed_copy (ATSPI_TYPE_KEY_DEFINITION, kd);
grab->enabled = FALSE;
- priv->key_grabs = g_slist_append (priv->key_grabs, grab);
if (grab_should_be_enabled (x11_device, grab))
- enable_key_grab (x11_device, grab);
+ ret = enable_key_grab (x11_device, grab);
+ else
+ ret = TRUE;
+
+ if (ret)
+ priv->key_grabs = g_slist_append (priv->key_grabs, grab);
+ else
+ {
+ g_boxed_free (ATSPI_TYPE_KEY_DEFINITION, grab->kd);
+ g_free (grab);
+ }
+
+ return ret;
}
static void
@@ -672,13 +717,15 @@ atspi_device_x11_remove_key_grab (AtspiDevice *device, guint id)
for (l = priv->key_grabs; l; l = g_slist_next (l))
{
AtspiX11KeyGrab *other = l->data;
- if (other->kd->keycode == kd->keycode && other->kd->modifiers == kd->modifiers)
+ if (((kd->keycode && other->kd->keycode == kd->keycode) || (kd->keysym && other->kd->keysym == kd->keysym)) && other->kd->modifiers == kd->modifiers)
{
disable_key_grab (x11_device, other);
priv->key_grabs = g_slist_remove (priv->key_grabs, other);
- return;
+ break;
}
}
+
+ g_free (kd);
}
static guint
@@ -754,6 +801,68 @@ atspi_device_x11_ungrab_keyboard (AtspiDevice *device)
#endif
}
+static void
+atspi_device_x11_generate_mouse_event (AtspiDevice *device, AtspiAccessible *obj, gint x, gint y, const gchar *name, GError **error)
+{
+ AtspiPoint *p;
+
+ p = atspi_component_get_position (ATSPI_COMPONENT (obj), ATSPI_COORD_TYPE_SCREEN, error);
+ if (p->y == -1 && atspi_accessible_get_role (obj, NULL) == ATSPI_ROLE_APPLICATION)
+ {
+ g_clear_error (error);
+ AtspiAccessible *child = atspi_accessible_get_child_at_index (obj, 0, NULL);
+ if (child)
+ {
+ g_free (p);
+ p = atspi_component_get_position (ATSPI_COMPONENT (child), ATSPI_COORD_TYPE_SCREEN, error);
+ g_object_unref (child);
+ }
+ }
+
+ if (p->y == -1 || p->x == -1)
+ {
+ g_free (p);
+ return;
+ }
+
+ x += p->x;
+ y += p->y;
+ g_free (p);
+
+ /* TODO: do this in process */
+ atspi_generate_mouse_event (x, y, name, error);
+}
+
+static guint
+atspi_device_x11_map_keysym_modifier (AtspiDevice *device, guint keysym)
+{
+ AtspiDeviceX11 *x11_device = ATSPI_DEVICE_X11 (device);
+ AtspiDeviceX11Private *priv = atspi_device_x11_get_instance_private (x11_device);
+
+ gint keycode = XKeysymToKeycode (priv->display, keysym);
+ return atspi_device_x11_map_modifier (device, keycode);
+}
+
+static void
+atspi_device_x11_unmap_keysym_modifier (AtspiDevice *device, guint keysym)
+{
+ AtspiDeviceX11 *x11_device = ATSPI_DEVICE_X11 (device);
+ AtspiDeviceX11Private *priv = atspi_device_x11_get_instance_private (x11_device);
+
+ gint keycode = XKeysymToKeycode (priv->display, keysym);
+ atspi_device_x11_unmap_modifier (device, keycode);
+}
+
+static guint
+atspi_device_x11_get_keysym_modifier (AtspiDevice *device, guint keysym)
+{
+ AtspiDeviceX11 *x11_device = ATSPI_DEVICE_X11 (device);
+ AtspiDeviceX11Private *priv = atspi_device_x11_get_instance_private (x11_device);
+
+ gint keycode = XKeysymToKeycode (priv->display, keysym);
+ return atspi_device_x11_get_modifier (device, keycode);
+}
+
static void
atspi_device_x11_class_init (AtspiDeviceX11Class *klass)
{
@@ -769,9 +878,31 @@ atspi_device_x11_class_init (AtspiDeviceX11Class *klass)
device_class->get_locked_modifiers = atspi_device_x11_get_locked_modifiers;
device_class->grab_keyboard = atspi_device_x11_grab_keyboard;
device_class->ungrab_keyboard = atspi_device_x11_ungrab_keyboard;
+ device_class->generate_mouse_event = atspi_device_x11_generate_mouse_event;
+ device_class->map_keysym_modifier = atspi_device_x11_map_keysym_modifier;
+ device_class->unmap_keysym_modifier = atspi_device_x11_unmap_keysym_modifier;
+ device_class->get_keysym_modifier = atspi_device_x11_get_keysym_modifier;
object_class->finalize = atspi_device_x11_finalize;
}
+/**
+ * atspi_device_x11_new_full:
+ * @app_id: (nullable): the application id.
+ *
+ * Creates a new #AtspiDeviceX11 with the given app id.
+ *
+ * Returns: (transfer full): a pointer to a newly-created #AtspiDeviceX11.
+ *
+ * Since: 2.55
+ */
+AtspiDeviceX11 *
+atspi_device_x11_new_full (const gchar *app_id)
+{
+ AtspiDeviceX11 *device = g_object_new (atspi_device_x11_get_type (), "app-id", app_id, NULL);
+
+ return device;
+}
+
/**
* atspi_device_x11_new:
*
@@ -783,7 +914,5 @@ atspi_device_x11_class_init (AtspiDeviceX11Class *klass)
AtspiDeviceX11 *
atspi_device_x11_new ()
{
- AtspiDeviceX11 *device = g_object_new (atspi_device_x11_get_type (), NULL);
-
- return device;
+ return atspi_device_x11_new_full (NULL);
}
diff --git a/atspi/atspi-device-x11.h b/atspi/atspi-device-x11.h
index 4affc5a..9a1055f 100644
--- a/atspi/atspi-device-x11.h
+++ b/atspi/atspi-device-x11.h
@@ -21,8 +21,7 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef _ATSPI_DEVICE_X11_H_
-#define _ATSPI_DEVICE_X11_H_
+#pragma once
#include "glib-object.h"
@@ -54,6 +53,5 @@ GType atspi_device_x11_get_type (void);
AtspiDeviceX11 *atspi_device_x11_new ();
+AtspiDeviceX11 *atspi_device_x11_new_full (const gchar *app_id);
G_END_DECLS
-
-#endif /* _ATSPI_DEVICE_X11_H_ */
diff --git a/atspi/atspi-device.c b/atspi/atspi-device.c
index 5153b05..90af56c 100644
--- a/atspi/atspi-device.c
+++ b/atspi/atspi-device.c
@@ -21,10 +21,19 @@
*/
#include "atspi-device.h"
+#include "atspi-device-a11y-manager.h"
#include "atspi-device-legacy.h"
#include "atspi-device-x11.h"
#include "atspi-private.h"
+enum {
+ PROP_0,
+ PROP_APP_ID,
+ NUM_PROPERTIES
+};
+
+static GParamSpec *obj_props[NUM_PROPERTIES];
+
typedef struct
{
guint id;
@@ -42,6 +51,7 @@ struct _AtspiDevicePrivate
GSList *key_watchers;
GSList *keygrabs;
guint last_grab_id;
+ gchar *app_id;
};
GObjectClass *device_parent_class;
@@ -65,9 +75,10 @@ atspi_device_finalize (GObject *object)
device_parent_class->finalize (object);
}
-static void
+static gboolean
atspi_device_real_add_key_grab (AtspiDevice *device, AtspiKeyDefinition *kd)
{
+ return TRUE;
}
static void
@@ -75,6 +86,57 @@ atspi_device_real_remove_key_grab (AtspiDevice *device, guint id)
{
}
+#if !GLIB_CHECK_VERSION(2, 76, 0)
+static inline gboolean
+g_set_str (char **str_pointer,
+ const char *new_str)
+{
+ char *copy;
+
+ if (*str_pointer == new_str ||
+ (*str_pointer && new_str && strcmp (*str_pointer, new_str) == 0))
+ return FALSE;
+
+ copy = g_strdup (new_str);
+ g_free (*str_pointer);
+ *str_pointer = copy;
+
+ return TRUE;
+}
+#endif
+
+static void
+atspi_device_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
+{
+ AtspiDevice *device = ATSPI_DEVICE (object);
+
+ switch (prop_id)
+ {
+ case PROP_APP_ID:
+ g_value_set_string (value, atspi_device_get_app_id (device));
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+atspi_device_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
+{
+ AtspiDevice *device = ATSPI_DEVICE (object);
+
+ switch (prop_id)
+ {
+ case PROP_APP_ID:
+ atspi_device_set_app_id (device, g_value_get_string (value));
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
static void
atspi_device_class_init (AtspiDeviceClass *klass)
{
@@ -84,25 +146,71 @@ atspi_device_class_init (AtspiDeviceClass *klass)
klass->add_key_grab = atspi_device_real_add_key_grab;
klass->remove_key_grab = atspi_device_real_remove_key_grab;
object_class->finalize = atspi_device_finalize;
-}
+ object_class->get_property = atspi_device_get_property;
+ object_class->set_property = atspi_device_set_property;
+
+ /**
+ * AtspiDevice:app-id:
+ *
+ * The application ID of the application that created this device.
+ * The ID might be used for access control purposes
+ * by some device backends.
+ */
+ obj_props[PROP_APP_ID] =
+ g_param_spec_string ("app-id",
+ "Application ID",
+ "The application ID of the application that created this device",
+ NULL,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
+
+ g_object_class_install_properties (object_class, NUM_PROPERTIES, obj_props);
+ }
/**
- * atspi_device_new:
+ * atspi_device_new_full:
+ * @app_id: (nullable): The application ID of the application that created this device.
*
- * Creates a new #AtspiDevice with a specified callback function.
+ * Creates a new #AtspiDevice with a specified app id.
*
* Returns: (transfer full): a pointer to a newly-created #AtspiDevice.
*
- **/
+ * Since: 2.55
+ */
AtspiDevice *
-atspi_device_new ()
+atspi_device_new_full (const gchar *app_id)
{
#ifdef HAVE_X11
- if (!g_getenv ("WAYLAND_DISPLAY") && !g_getenv ("ATSPI_USE_LEGACY_DEVICE"))
- return ATSPI_DEVICE (atspi_device_x11_new ());
+ if (!g_getenv ("WAYLAND_DISPLAY") && !g_getenv ("ATSPI_USE_LEGACY_DEVICE") && !g_getenv ("ATSPI_USE_A11Y_MANAGER_DEVICE"))
+ return ATSPI_DEVICE (atspi_device_x11_new_full (app_id));
#endif
- return ATSPI_DEVICE (atspi_device_legacy_new ());
+ AtspiDeviceA11yManager *a11y_manager_device = NULL;
+ if (!g_getenv ("ATSPI_USE_LEGACY_DEVICE"))
+ a11y_manager_device = atspi_device_a11y_manager_try_new_full (app_id);
+
+ if (!a11y_manager_device)
+ {
+ if (g_getenv ("ATSPI_USE_A11Y_MANAGER_DEVICE"))
+ g_critical ("ATSPI_USE_A11Y_MANAGER_DEVICE is set, but no a11y manager device could be created. Falling back to legacy device.");
+ return ATSPI_DEVICE (atspi_device_legacy_new_full (app_id));
+ }
+ else
+ {
+ return ATSPI_DEVICE (a11y_manager_device);
+ }
+}
+
+/**
+ * atspi_device_new:
+ *
+ * Creates a new #AtspiDevice.
+ *
+ * Returns: (transfer full): a pointer to a newly-created #AtspiDevice.
+ */
+AtspiDevice *
+atspi_device_new ()
+{
+ return atspi_device_new_full (NULL);
}
static gboolean
@@ -122,7 +230,7 @@ key_matches_modifiers (gint keycode, guint key_mods, guint grab_mods)
}
gboolean
-atspi_device_notify_key (AtspiDevice *device, gboolean pressed, int keycode, int keysym, gint state, gchar *text)
+atspi_device_notify_key (AtspiDevice *device, gboolean pressed, int keycode, int keysym, gint state, const gchar *text)
{
AtspiDevicePrivate *priv = atspi_device_get_instance_private (device);
GSList *l;
@@ -181,22 +289,6 @@ get_grab_id (AtspiDevice *device)
return priv->last_grab_id++;
}
-static gboolean
-grab_has_duplicate (AtspiDevice *device, AtspiKeyGrab *grab)
-{
- AtspiDevicePrivate *priv = atspi_device_get_instance_private (device);
- GSList *l;
-
- for (l = priv->keygrabs; l; l = l->next)
- {
- AtspiKeyGrab *other_grab = l->data;
- if (other_grab->id != grab->id && other_grab->keycode == grab->keycode && other_grab->modifiers == grab->modifiers)
- return TRUE;
- }
-
- return FALSE;
-}
-
/**
*atspi_device_add_key_grab:
* @device: the device.
@@ -207,14 +299,20 @@ grab_has_duplicate (AtspiDevice *device, AtspiKeyGrab *grab)
* @callback_destroyed: callback function to be called when @callback is
* destroyed.
*
- * Returns: an identifier that can be later used to remove the grab.
+ * Returns: an identifier that can be later used to remove the grab, or 0
+ * if the key/modifier combination could not be grabbed.
* Add a key grab for the given key/modifier combination.
*/
guint
atspi_device_add_key_grab (AtspiDevice *device, AtspiKeyDefinition *kd, AtspiKeyCallback callback, void *user_data, GDestroyNotify callback_destroyed)
{
AtspiDevicePrivate *priv = atspi_device_get_instance_private (device);
- AtspiKeyGrab *grab = g_new (AtspiKeyGrab, 1);
+ AtspiKeyGrab *grab;
+
+ if (!ATSPI_DEVICE_GET_CLASS (device)->add_key_grab (device, kd))
+ return 0;
+
+ grab = g_new (AtspiKeyGrab, 1);
grab->keycode = kd->keycode;
grab->keysym = kd->keysym;
grab->modifiers = kd->modifiers;
@@ -224,8 +322,6 @@ atspi_device_add_key_grab (AtspiDevice *device, AtspiKeyDefinition *kd, AtspiKey
grab->id = get_grab_id (device);
priv->keygrabs = g_slist_append (priv->keygrabs, grab);
- if (!grab_has_duplicate (device, grab))
- ATSPI_DEVICE_GET_CLASS (device)->add_key_grab (device, kd);
return grab->id;
}
@@ -247,8 +343,7 @@ atspi_device_remove_key_grab (AtspiDevice *device, guint id)
AtspiKeyGrab *grab = l->data;
if (grab->id == id)
{
- if (!grab_has_duplicate (device, grab))
- ATSPI_DEVICE_GET_CLASS (device)->remove_key_grab (device, id);
+ ATSPI_DEVICE_GET_CLASS (device)->remove_key_grab (device, id);
priv->keygrabs = g_slist_remove (priv->keygrabs, grab);
if (grab->callback_destroyed)
(*grab->callback_destroyed) (grab->callback);
@@ -261,11 +356,10 @@ atspi_device_remove_key_grab (AtspiDevice *device, guint id)
/**
*atspi_device_add_key_watcher:
* @device: the device.
- * @callback: (scope notified): the function to call when the given key is
- * pressed.
- * @user_data: (closure callback): Data to be passed to @callback.
- * @callback_destroyed: (destroy callback): callback function to be called
- * when @callback is destroyed.
+ * @callback: (scope notified) (closure user_data) (destroy callback_destroyed): the
+ * function to call when the given key is pressed.
+ * @user_data: Data to be passed to @callback.
+ * @callback_destroyed: callback function to be called when @callback is destroyed.
*
* Add a callback that will receive a notification whenever a key is
* pressed or released.
@@ -295,6 +389,7 @@ atspi_device_get_grab_by_id (AtspiDevice *device, guint id)
{
AtspiKeyDefinition *kd = g_new0 (AtspiKeyDefinition, 1);
kd->keycode = grab->keycode;
+ kd->keysym = grab->keysym;
kd->modifiers = grab->modifiers;
return kd;
}
@@ -410,3 +505,149 @@ atspi_device_ungrab_keyboard (AtspiDevice *device)
if (ATSPI_DEVICE_GET_CLASS (device)->ungrab_keyboard)
ATSPI_DEVICE_GET_CLASS (device)->ungrab_keyboard (device);
}
+
+/**
+ * atspi_device_generate_mouse_event:
+ * @device: the device.
+ * @obj: The #AtspiAccessible that should receive the click.
+ * @x: a #gint indicating the x coordinate of the mouse event, relative to
+ * @obj..
+ * @y: a #gint indicating the y coordinate of the mouse event, relative to
+ * @obj..
+ * @name: a string indicating which mouse event to be synthesized
+ * (e.g. "b1p", "b1c", "b2r", "rel", "abs").
+ * @error: (allow-none): a pointer to a %NULL #GError pointer, or %NULL
+ *
+ * Synthesizes a mouse event at a specific screen coordinate.
+ * Most AT clients should use the #AccessibleAction interface when
+ * tempted to generate mouse events, rather than this method.
+ * Event names: b1p = button 1 press; b2r = button 2 release;
+ * b3c = button 3 click; b2d = button 2 double-click;
+ * abs = absolute motion; rel = relative motion.
+ *
+ * Since: 2.52
+ **/
+void
+atspi_device_generate_mouse_event (AtspiDevice *device, AtspiAccessible *obj, gint x, gint y, const gchar *name, GError **error)
+{
+ if (ATSPI_DEVICE_GET_CLASS (device)->generate_mouse_event)
+ ATSPI_DEVICE_GET_CLASS (device)->generate_mouse_event (device, obj, x, y, name, error);
+}
+
+/**
+ * atspi_device_map_keysym_modifier:
+ * @device: the device.
+ * @keysym: the XKB keysym to map.
+ *
+ * Maps the specified keysym to a modifier so that it can be used in
+ * conjunction with other keys to create a key grab. If the given keysym is
+ * already mapped, then this function will return the modifier that is
+ * currently mapped to the keysym, without doing anything else. Otherwise,
+ * it will use the last modifier that AT-SPI used to map a keysym. If no keys
+ * have yet been mapped using this device, then it will look for a modifier
+ * that is not currently being used. If no unused modifier can be found,
+ * then it will use the first modifier by default.
+ *
+ * Returns: the modifier that is now mapped to this keysym. This return
+ * value can be passed to atspi_device_add_key_grab.
+ *
+ * Since: 2.55
+ */
+guint
+atspi_device_map_keysym_modifier (AtspiDevice *device, guint keysym)
+{
+ if (ATSPI_DEVICE_GET_CLASS (device)->map_keysym_modifier)
+ return ATSPI_DEVICE_GET_CLASS (device)->map_keysym_modifier (device, keysym);
+
+ return 0;
+}
+
+/**
+ * atspi_device_unmap_keysym_modifier:
+ * @device: the device.
+ * @keysym: the XKB keysym to unmap.
+ *
+ * Removes a mapped modifier from the given keysym.
+ *
+ * Since: 2.55
+ */
+void
+atspi_device_unmap_keysym_modifier (AtspiDevice *device, guint keysym)
+{
+ if (ATSPI_DEVICE_GET_CLASS (device)->unmap_keysym_modifier)
+ ATSPI_DEVICE_GET_CLASS (device)->unmap_keysym_modifier (device, keysym);
+}
+
+/**
+ * atspi_device_get_keysym_modifier:
+ * @device: the device.
+ * @keysym: the XKB keysym to map.
+ *
+ * Gets the modifier for a given keysym, if one exists. Does not create a new
+ * mapping. This function should be used when the intention is to query a
+ * locking modifier such as num lock via atspi_device_get_locked_modifiers,
+ * rather than to add key grabs.
+ *
+ * Returns: the modifier that is mapped to this keysym.
+ *
+ * Since: 2.55
+ */
+guint
+atspi_device_get_keysym_modifier (AtspiDevice *device, guint keysym)
+{
+ if (ATSPI_DEVICE_GET_CLASS (device)->get_keysym_modifier)
+ return ATSPI_DEVICE_GET_CLASS (device)->get_keysym_modifier (device, keysym);
+
+ return 0;
+}
+
+/**
+ * atspi_device_get_app_id:
+ * @device: the device.
+ *
+ * Returns the application ID of the device.
+ *
+ * Since: 2.55
+ */
+const gchar *
+atspi_device_get_app_id (AtspiDevice *device)
+{
+ AtspiDevicePrivate *priv = atspi_device_get_instance_private (device);
+ return priv->app_id;
+}
+
+/**
+ * atspi_device_set_app_id:
+ * @device: the device.
+ * @app_id: the application ID.
+ *
+ * Sets the application ID of the device.
+ *
+ * Since: 2.55
+ */
+void
+atspi_device_set_app_id (AtspiDevice *device, const gchar *app_id)
+{
+ AtspiDevicePrivate *priv = atspi_device_get_instance_private (device);
+ if (g_set_str (&priv->app_id, app_id))
+ g_object_notify_by_pspec (G_OBJECT (device), obj_props[PROP_APP_ID]);
+}
+
+/*
+ * atspi_device_clear_key_grabs:
+ *
+ * Removes all key grabs from a device.
+ *
+ * Since: 2.58
+ */
+void
+atspi_device_clear_key_grabs (AtspiDevice *device)
+{
+ AtspiDevicePrivate *priv = atspi_device_get_instance_private (device);
+
+ while (priv->keygrabs != NULL)
+ {
+ AtspiKeyGrab *grab = priv->keygrabs->data;
+ atspi_device_remove_key_grab (device, grab->id);
+ }
+}
diff --git a/atspi/atspi-device.h b/atspi/atspi-device.h
index 37ae067..e3fdfd1 100644
--- a/atspi/atspi-device.h
+++ b/atspi/atspi-device.h
@@ -21,8 +21,7 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef _ATSPI_DEVICE_H_
-#define _ATSPI_DEVICE_H_
+#pragma once
#include "glib-object.h"
@@ -31,24 +30,13 @@
G_BEGIN_DECLS
#define ATSPI_TYPE_DEVICE (atspi_device_get_type ())
-#define ATSPI_DEVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ATSPI_TYPE_DEVICE, AtspiDevice))
-#define ATSPI_DEVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ATSPI_TYPE_DEVICE, AtspiDeviceClass))
-#define ATSPI_IS_DEVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATSPI_TYPE_DEVICE))
-#define ATSPI_IS_DEVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ATSPI_TYPE_DEVICE))
-#define ATSPI_DEVICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ATSPI_TYPE_DEVICE, AtspiDeviceClass))
-
-typedef struct _AtspiDevice AtspiDevice;
-struct _AtspiDevice
-{
- GObject parent;
-};
+G_DECLARE_DERIVABLE_TYPE (AtspiDevice, atspi_device, ATSPI, DEVICE, GObject)
-typedef struct _AtspiDeviceClass AtspiDeviceClass;
struct _AtspiDeviceClass
{
GObjectClass parent_class;
- void (*add_key_grab) (AtspiDevice *device, AtspiKeyDefinition *kd);
+ gboolean (*add_key_grab) (AtspiDevice *device, AtspiKeyDefinition *kd);
void (*remove_key_grab) (AtspiDevice *device, guint id);
guint (*map_modifier) (AtspiDevice *device, gint keycode);
void (*unmap_modifier) (AtspiDevice *device, gint keycode);
@@ -56,10 +44,12 @@ struct _AtspiDeviceClass
gboolean (*grab_keyboard) (AtspiDevice *device);
void (*ungrab_keyboard) (AtspiDevice *device);
guint (*get_locked_modifiers) (AtspiDevice *device);
+ void (*generate_mouse_event) (AtspiDevice *device, AtspiAccessible *obj, gint x, gint y, const gchar *name, GError **error);
+ guint (*map_keysym_modifier) (AtspiDevice *device, guint keysym);
+ void (*unmap_keysym_modifier) (AtspiDevice *device, guint keysym);
+ guint (*get_keysym_modifier) (AtspiDevice *device, guint keysym);
};
-GType atspi_device_get_type (void);
-
/**
* AtspiKeyCallback:
* @device: the device.
@@ -76,7 +66,7 @@ typedef void (*AtspiKeyCallback) (AtspiDevice *device, gboolean pressed, guint k
AtspiDevice *atspi_device_new ();
-gboolean atspi_device_notify_key (AtspiDevice *device, gboolean pressed, int keycode, int keysym, gint state, gchar *text);
+gboolean atspi_device_notify_key (AtspiDevice *device, gboolean pressed, int keycode, int keysym, gint state, const gchar *text);
guint atspi_device_add_key_grab (AtspiDevice *device, AtspiKeyDefinition *kd, AtspiKeyCallback callback, void *user_data, GDestroyNotify callback_destroyed);
@@ -98,6 +88,19 @@ gboolean atspi_device_grab_keyboard (AtspiDevice *device);
void atspi_device_ungrab_keyboard (AtspiDevice *device);
-G_END_DECLS
+void atspi_device_generate_mouse_event (AtspiDevice *device, AtspiAccessible *obj, gint x, gint y, const gchar *name, GError **error);
+
+guint atspi_device_map_keysym_modifier (AtspiDevice *device, guint keysym);
+
+void atspi_device_unmap_keysym_modifier (AtspiDevice *device, guint keysym);
-#endif /* _ATSPI_DEVICE_H_ */
+guint atspi_device_get_keysym_modifier (AtspiDevice *device, guint keysym);
+
+const gchar *atspi_device_get_app_id (AtspiDevice *device);
+
+void atspi_device_set_app_id (AtspiDevice *device, const gchar *app_id);
+
+AtspiDevice *atspi_device_new_full (const gchar *app_id);
+
+void atspi_device_clear_key_grabs (AtspiDevice *device);
+G_END_DECLS
diff --git a/atspi/atspi-document.c b/atspi/atspi-document.c
index dad0559..34b643e 100644
--- a/atspi/atspi-document.c
+++ b/atspi/atspi-document.c
@@ -172,6 +172,139 @@ atspi_document_get_current_page_number (AtspiDocument *obj, GError **error)
return retval;
}
+static void
+clear_text_selection (void *data)
+{
+ AtspiTextSelection *selection = data;
+
+ g_clear_object (&selection->start_object);
+ g_clear_object (&selection->end_object);
+}
+
+/**
+ * atspi_document_get_text_selections:
+ * @document: an #AtspiDocument
+ *
+ * Returns an array of AtspiTextSelections within this document.
+ *
+ * Returns: (element-type AtspiTextSelection) (transfer full): a GArray of
+ * AtspiTextSelection structures representing the selection.
+ *
+ * Since: 2.52
+ */
+GArray *
+atspi_document_get_text_selections (AtspiDocument *obj, GError **error)
+{
+ DBusMessage *message;
+ GArray *selections;
+ DBusMessageIter iter, iter_array, iter_struct;
+
+ g_return_val_if_fail (obj != NULL, NULL);
+
+ message = _atspi_dbus_call_partial (obj, atspi_interface_document, "GetTextSelections", error, "");
+ if (!message)
+ return NULL;
+
+ if (strcmp (dbus_message_get_signature (message), "a((so)i(so)ib)") != 0)
+ {
+ dbus_message_unref (message);
+ return NULL;
+ }
+
+ selections = g_array_new (FALSE, TRUE, sizeof (AtspiTextSelection));
+ g_array_set_clear_func (selections, clear_text_selection);
+ dbus_message_iter_init (message, &iter);
+ dbus_message_iter_recurse (&iter, &iter_array);
+
+ while (dbus_message_iter_get_arg_type (&iter_array) != DBUS_TYPE_INVALID)
+ {
+ AtspiTextSelection selection;
+ dbus_message_iter_recurse (&iter_array, &iter_struct);
+ selection.start_object = _atspi_dbus_consume_accessible (&iter_struct);
+ dbus_message_iter_get_basic (&iter_struct, &selection.start_offset);
+ dbus_message_iter_next (&iter_struct);
+ selection.end_object = _atspi_dbus_consume_accessible (&iter_struct);
+ dbus_message_iter_get_basic (&iter_struct, &selection.end_offset);
+ dbus_message_iter_next (&iter_struct);
+ dbus_message_iter_get_basic (&iter_struct, &selection.start_is_active);
+ g_array_append_val (selections, selection);
+ dbus_message_iter_next (&iter_array);
+ }
+
+ dbus_message_unref (message);
+ return selections;
+}
+
+static void
+append_accessible_to_iter (DBusMessageIter *iter, AtspiAccessible *accessible)
+{
+ DBusMessageIter iter_struct;
+ dbus_message_iter_open_container (iter, DBUS_TYPE_STRUCT, NULL, &iter_struct);
+ dbus_message_iter_append_basic (&iter_struct, DBUS_TYPE_STRING, &accessible->parent.app->bus_name);
+ dbus_message_iter_append_basic (&iter_struct, DBUS_TYPE_OBJECT_PATH, &accessible->parent.path);
+ dbus_message_iter_close_container (iter, &iter_struct);
+}
+
+/**
+ * atspi_document_set_text_selections:
+ * @document: an #AtspiDocument.
+ * @selections: (element-type AtspiTextSelection): a GArray of AtspiTextSelections
+ * to be selected.
+ *
+ * Makes 1 or more selections within this document denoted by the given
+ * array of AtspiTextSelections. Any existing physical selection (inside or
+ * outside this document) is replaced by the new selections. All objects within
+ * the given selection ranges must be descendants of this document. Otherwise
+ * FALSE will be returned.
+ *
+ * Returns: TRUE if the selection was made successfully; FALSE otherwise.
+ *
+ * Since: 2.52
+ */
+gboolean
+atspi_document_set_text_selections (AtspiDocument *obj,
+ GArray *selections,
+ GError **error)
+{
+ DBusMessage *message, *reply;
+ AtspiAccessible *accessible;
+ DBusMessageIter iter, iter_struct, iter_array;
+ gint i, count;
+ dbus_bool_t ret = FALSE;
+
+ g_return_val_if_fail (obj != NULL, FALSE);
+ accessible = ATSPI_ACCESSIBLE (obj);
+
+ message = dbus_message_new_method_call (accessible->parent.app->bus_name,
+ accessible->parent.path,
+ atspi_interface_document,
+ "SetTextSelections");
+ count = (selections ? selections->len : 0);
+
+ dbus_message_iter_init_append (message, &iter);
+ dbus_message_iter_open_container (&iter, DBUS_TYPE_ARRAY, "((so)i(so)ib)", &iter_array);
+ for (i = 0; i < count; i++)
+ {
+ dbus_message_iter_open_container (&iter_array, DBUS_TYPE_STRUCT, NULL, &iter_struct);
+ AtspiTextSelection *item = &g_array_index (selections, AtspiTextSelection, i);
+ append_accessible_to_iter (&iter_struct, item->start_object);
+ dbus_message_iter_append_basic (&iter_struct, DBUS_TYPE_INT32, &item->start_offset);
+ append_accessible_to_iter (&iter_struct, item->end_object);
+ dbus_message_iter_append_basic (&iter_struct, DBUS_TYPE_INT32, &item->end_offset);
+ dbus_message_iter_append_basic (&iter_struct, DBUS_TYPE_BOOLEAN, &item->start_is_active);
+ dbus_message_iter_close_container (&iter_array, &iter_struct);
+ }
+ dbus_message_iter_close_container (&iter, &iter_array);
+
+ reply = _atspi_dbus_send_with_reply_and_block (message, error);
+ if (reply)
+ {
+ dbus_message_get_args (reply, NULL, DBUS_TYPE_BOOLEAN, &ret, DBUS_TYPE_INVALID);
+ dbus_message_unref (reply);
+ }
+ return ret;
+}
+
static void
atspi_document_base_init (AtspiDocument *klass)
{
diff --git a/atspi/atspi-document.h b/atspi/atspi-document.h
index 653aca3..2bf7c48 100644
--- a/atspi/atspi-document.h
+++ b/atspi/atspi-document.h
@@ -22,8 +22,7 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef _ATSPI_DOCUMENT_H_
-#define _ATSPI_DOCUMENT_H_
+#pragma once
#include "glib-object.h"
@@ -40,6 +39,48 @@ G_BEGIN_DECLS
GType atspi_document_get_type ();
+/**
+ * AtspiTextSelection:
+ * @start_object: the AtspiAccessible containing the start of the selection.
+ * @start_offset: the text offset of the beginning of the selection within
+ * @start_object.
+ * @end_object: the AtspiAccessible containing the end of the selection.
+ * @end_offset: the text offset of the end of the selection within @end_object.
+ * @start_is_active: a gboolean indicating whether the start of the selection
+ * is the active point.
+ *
+ * This structure represents a single text selection within a document. This
+ * selection is defined by two points in the content, where each one is defined
+ * by an AtkObject supporting the AtkText interface and a character offset
+ * relative to it.
+ *
+ * The end object must appear after the start object in the accessibility tree,
+ * i.e. the end object must be reachable from the start object by navigating
+ * forward (next, first child etc).
+ *
+ * This struct also contains a @start_is_active boolean, to communicate if the
+ * start of the selection is the active point or not.
+ *
+ * The active point corresponds to the user's focus or point of interest. The
+ * user moves the active point to expand or collapse the range. The anchor
+ * point is the other point of the range and typically remains constant. In
+ * most cases, anchor is the start of the range and active is the end. However,
+ * when selecting backwards (e.g. pressing shift+left arrow in a text field),
+ * the start of the range is the active point, as the user moves this to
+ * manipulate the selection.
+ *
+ * Since: 2.52
+ */
+typedef struct _AtspiTextSelection AtspiTextSelection;
+struct _AtspiTextSelection
+{
+ AtspiAccessible *start_object;
+ gint start_offset;
+ AtspiAccessible *end_object;
+ gint end_offset;
+ gboolean start_is_active;
+};
+
struct _AtspiDocument
{
GTypeInterface parent;
@@ -62,6 +103,7 @@ GHashTable *atspi_document_get_document_attributes (AtspiDocument *obj, GError *
gint atspi_document_get_page_count (AtspiDocument *obj, GError **error);
gint atspi_document_get_current_page_number (AtspiDocument *obj, GError **error);
-G_END_DECLS
+GArray *atspi_document_get_text_selections (AtspiDocument *document, GError **error);
-#endif /* _ATSPI_DOCUMENT_H_ */
+gboolean atspi_document_set_text_selections (AtspiDocument *document, GArray *selections, GError **error);
+G_END_DECLS
diff --git a/atspi/atspi-editabletext.h b/atspi/atspi-editabletext.h
index ae015a4..cc9dce5 100644
--- a/atspi/atspi-editabletext.h
+++ b/atspi/atspi-editabletext.h
@@ -22,8 +22,7 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef _ATSPI_EDITABLE_TEXT_H_
-#define _ATSPI_EDITABLE_TEXT_H_
+#pragma once
#include "glib-object.h"
@@ -62,5 +61,3 @@ gboolean atspi_editable_text_delete_text (AtspiEditableText *obj, gint start_pos
gboolean atspi_editable_text_paste_text (AtspiEditableText *obj, gint position, GError **error);
G_END_DECLS
-
-#endif /* _ATSPI_EDITABLE_TEXT_H_ */
diff --git a/atspi/atspi-event-listener-private.h b/atspi/atspi-event-listener-private.h
index de49f30..d47ecbc 100644
--- a/atspi/atspi-event-listener-private.h
+++ b/atspi/atspi-event-listener-private.h
@@ -23,8 +23,7 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef _ATSPI_EVENT_LISTENER_PRIVATE_H_
-#define _ATSPI_EVENT_LISTENER_PRIVATE_H_
+#pragma once
#include "atspi-event-listener.h"
@@ -37,6 +36,5 @@ void _atspi_send_event (AtspiEvent *e);
void _atspi_dbus_handle_event (DBusMessage *message);
void _atspi_reregister_event_listeners ();
+void _atspi_update_window_filter_time ();
G_END_DECLS
-
-#endif /* _ATSPI_EVENT_LISTENER_H_ */
diff --git a/atspi/atspi-event-listener.c b/atspi/atspi-event-listener.c
index fa6eb89..b157208 100644
--- a/atspi/atspi-event-listener.c
+++ b/atspi/atspi-event-listener.c
@@ -27,6 +27,9 @@
#include
#include
#include
+#include
+
+static struct timeval window_filter_time;
/**
* AtspiEventListener:
@@ -133,11 +136,11 @@ callback_unref (gpointer callback)
/**
* atspi_event_listener_new:
- * @callback: (scope notified): An #AtspiEventListenerCB to be called
- * when an event is fired.
- * @user_data: (closure): data to pass to the callback.
+ * @callback: (scope notified) (destroy callback_destroyed) (closure user_data): an
+ * #AtspiEventListenerCB to be called when an event is fired.
+ * @user_data: data to pass to the callback.
* @callback_destroyed: A #GDestroyNotify called when the listener is freed
- * and data associated with the callback should be freed. Can be NULL.
+ * and data associated with the callback should be freed. Can be NULL.
*
* Creates a new #AtspiEventListener associated with a specified @callback.
*
@@ -237,12 +240,7 @@ cache_process_children_changed (AtspiEvent *event)
event->source->cached_properties &= ~ATSPI_CACHE_CHILDREN;
return;
}
- /* Unfortunately, there's no g_ptr_array_insert or similar */
- g_ptr_array_add (event->source->children, NULL);
- memmove (event->source->children->pdata + event->detail1 + 1,
- event->source->children->pdata + event->detail1,
- (event->source->children->len - event->detail1 - 1) * sizeof (gpointer));
- g_ptr_array_index (event->source->children, event->detail1) = g_object_ref (child);
+ g_ptr_array_insert (event->source->children, event->detail1, g_object_ref (child));
}
else
{
@@ -322,6 +320,30 @@ cache_process_state_changed (AtspiEvent *event)
event->detail1);
}
+static void
+cache_process_attributes_changed (AtspiEvent *event)
+{
+ const gchar *name = NULL, *value;
+
+ if (!event->source->attributes)
+ return;
+
+ if (event->type[25] == ':')
+ name = event->type + 26;
+ value = g_value_get_string (&event->any_data);
+
+ if (name && name[0] && value && value[0])
+ {
+ g_hash_table_remove (event->source->attributes, name);
+ g_hash_table_insert (event->source->attributes, g_strdup (name), g_strdup (value));
+ }
+ else
+ {
+ g_clear_pointer (&event->source->attributes, g_hash_table_unref);
+ event->source->attributes = NULL;
+ }
+}
+
static dbus_bool_t
demarshal_rect (DBusMessageIter *iter, AtspiRect *rect)
{
@@ -459,6 +481,7 @@ listener_entry_free (EventListenerEntry *e)
* object:property-change
* object:property-change:accessible-name
* object:property-change:accessible-description
+ * object:property-change:accessible-help-text
* object:property-change:accessible-parent
* object:property-change:accessible-value
* object:property-change:accessible-role
@@ -631,13 +654,13 @@ notify_event_registered (EventListenerEntry *e)
/**
* atspi_event_listener_register_from_callback:
- * @callback: (scope notified): the #AtspiEventListenerCB to be registered
- * against an event type.
- * @user_data: (closure): User data to be passed to the callback.
+ * @callback: (scope notified) (closure user_data) (destroy callback_destroyed): the
+ * #AtspiEventListenerCB to be registered against an event type.
+ * @user_data: User data to be passed to the callback.
* @callback_destroyed: A #GDestroyNotify called when the callback is destroyed.
* @event_type: a character string indicating the type of events for which
- * notification is requested. See #atspi_event_listener_register
- * for a description of the format.
+ * notification is requested. See atspi_event_listener_register()
+ * for a description of the format.
*
* Registers an #AtspiEventListenerCB against an @event_type.
*
@@ -677,11 +700,12 @@ copy_event_properties (GArray *src)
/**
* atspi_event_listener_register_from_callback_full:
- * @callback: (scope async): an #AtspiEventListenerCB function pointer.
- * @user_data: (closure callback)
- * @callback_destroyed: (destroy callback)
+ * @callback: (scope notified) (closure user_data) (destroy callback_destroyed): an
+ * #AtspiEventListenerCB function pointer.
+ * @user_data:
+ * @callback_destroyed:
* @event_type:
- * @properties: (element-type utf8)
+ * @properties: (element-type utf8):
* @error:
*
* Returns: #TRUE if successful, otherwise #FALSE.
@@ -704,12 +728,13 @@ atspi_event_listener_register_from_callback_full (AtspiEventListenerCB callback,
/**
* atspi_event_listener_register_from_callback_with_app:
- * @callback: (scope async): an #AtspiEventListenerCB function pointer.
- * @user_data: (closure callback)
- * @callback_destroyed: (destroy callback)
+ * @callback: (scope notified) (closure user_data) (destroy callback_destroyed): an
+ * #AtspiEventListenerCB function pointer.
+ * @user_data:
+ * @callback_destroyed:
* @event_type:
- * @properties: (element-type utf8)
- * @app: (allow-none)
+ * @properties: (element-type utf8):
+ * @app: (nullable):
* @error:
*
* Returns: #TRUE if successful, otherwise #FALSE.
@@ -852,14 +877,14 @@ atspi_event_listener_deregister (AtspiEventListener *listener,
/**
* atspi_event_listener_deregister_from_callback:
- * @callback: (scope call): the #AtspiEventListenerCB registered against an
- * event type.
- * @user_data: (closure): User data that was passed in for this callback.
+ * @callback: (scope call) (closure user_data): the #AtspiEventListenerCB
+ * registered against an event type.
+ * @user_data: User data that was passed in for this callback.
* @event_type: a string specifying the event type for which this
- * listener is to be deregistered.
+ * listener is to be deregistered.
*
* Deregisters an #AtspiEventListenerCB from the registry, for a specific
- * event type.
+ * event type.
*
* Returns: #TRUE if successful, otherwise #FALSE.
**/
@@ -1002,6 +1027,20 @@ resolve_pending_removal (gpointer data)
listener_entry_free (data);
}
+static gboolean
+should_filter_window_events ()
+{
+ struct timeval cur_time, elapsed_time;
+
+ if (!window_filter_time.tv_sec && !window_filter_time.tv_usec)
+ return FALSE;
+
+ gettimeofday (&cur_time, NULL);
+ timersub (&cur_time, &window_filter_time, &elapsed_time);
+
+ return (elapsed_time.tv_sec == 0 && elapsed_time.tv_usec < 20000);
+}
+
void
_atspi_send_event (AtspiEvent *e)
{
@@ -1023,6 +1062,10 @@ _atspi_send_event (AtspiEvent *e)
g_warning ("AT-SPI: Couldn't parse event: %s\n", e->type);
return;
}
+
+ if (!strcmp (category, "Window") && should_filter_window_events ())
+ return;
+
in_send++;
for (l = event_listeners; l; l = g_list_next (l))
{
@@ -1209,6 +1252,10 @@ _atspi_dbus_handle_event (DBusMessage *message)
{
cache_process_state_changed (&e);
}
+ else if (!strncmp (e.type, "object:attributes-changed", 25))
+ {
+ cache_process_attributes_changed (&e);
+ }
else if (!strncmp (e.type, "focus", 5))
{
/* BGO#663992 - TODO: figure out the real problem */
@@ -1228,4 +1275,10 @@ _atspi_dbus_handle_event (DBusMessage *message)
g_value_unset (&e.any_data);
}
+void
+_atspi_update_window_filter_time ()
+{
+ gettimeofday (&window_filter_time, NULL);
+}
+
G_DEFINE_BOXED_TYPE (AtspiEvent, atspi_event, atspi_event_copy, atspi_event_free)
diff --git a/atspi/atspi-event-listener.h b/atspi/atspi-event-listener.h
index b294525..0014c3b 100644
--- a/atspi/atspi-event-listener.h
+++ b/atspi/atspi-event-listener.h
@@ -23,8 +23,7 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef _ATSPI_EVENT_LISTENER_H_
-#define _ATSPI_EVENT_LISTENER_H_
+#pragma once
#include "glib-object.h"
@@ -152,5 +151,3 @@ atspi_event_listener_deregister_no_data (AtspiEventListenerSimpleCB callback,
GError **error);
G_END_DECLS
-
-#endif /* _ATSPI_EVENT_LISTENER_H_ */
diff --git a/atspi/atspi-gmain.h b/atspi/atspi-gmain.h
deleted file mode 100644
index 1fc3fb4..0000000
--- a/atspi/atspi-gmain.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/* -*- mode: C; c-file-style: "gnu" -*- */
-/* atspi-gmain.h atspi dbus gmain prototypes
- *
- * Licensed under the Academic Free License version 2.1
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * This file is based on dbus-gmain.c from dbus-glib with functions renamed
- * and unnecessary code removed.
- */
-
-#ifndef _ATSPI_GMAIN_H
-#define _ATSPI_GMAIN_H
-
-#include
-#include
-
-G_BEGIN_DECLS
-
-void
-atspi_dbus_connection_setup_with_g_main (DBusConnection *connection,
- GMainContext *context);
-
-void
-atspi_dbus_server_setup_with_g_main (DBusServer *server,
- GMainContext *context);
-
-G_END_DECLS
-
-#endif
diff --git a/atspi/atspi-hyperlink.h b/atspi/atspi-hyperlink.h
index ebfb4e2..bdfeedb 100644
--- a/atspi/atspi-hyperlink.h
+++ b/atspi/atspi-hyperlink.h
@@ -23,8 +23,7 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef _ATSPI_HYPERLINK_H_
-#define _ATSPI_HYPERLINK_H_
+#pragma once
#include "glib-object.h"
@@ -73,5 +72,3 @@ gint atspi_hyperlink_get_end_index (AtspiHyperlink *obj, GError **error);
gboolean atspi_hyperlink_is_valid (AtspiHyperlink *obj, GError **error);
G_END_DECLS
-
-#endif /* _ATSPI_HYPERLINK_H_ */
diff --git a/atspi/atspi-hypertext.h b/atspi/atspi-hypertext.h
index 83e7add..1eafc03 100644
--- a/atspi/atspi-hypertext.h
+++ b/atspi/atspi-hypertext.h
@@ -23,8 +23,7 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef _ATSPI_HYPERTEXT_H_
-#define _ATSPI_HYPERTEXT_H_
+#pragma once
#include "glib-object.h"
@@ -53,5 +52,3 @@ AtspiHyperlink *atspi_hypertext_get_link (AtspiHypertext *obj, gint link_index,
gint atspi_hypertext_get_link_index (AtspiHypertext *obj, gint character_offset, GError **error);
G_END_DECLS
-
-#endif /* _ATSPI_HYPERTEXT_H_ */
diff --git a/atspi/atspi-image.h b/atspi/atspi-image.h
index c101223..24c5045 100644
--- a/atspi/atspi-image.h
+++ b/atspi/atspi-image.h
@@ -23,8 +23,7 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef _ATSPI_IMAGE_H_
-#define _ATSPI_IMAGE_H_
+#pragma once
#include "glib-object.h"
@@ -57,5 +56,3 @@ AtspiRect *atspi_image_get_image_extents (AtspiImage *obj, AtspiCoordType ctype,
gchar *atspi_image_get_image_locale (AtspiImage *obj, GError **error);
G_END_DECLS
-
-#endif /* _ATSPI_IMAGE_H_ */
diff --git a/atspi/atspi-matchrule-private.h b/atspi/atspi-matchrule-private.h
index df12ba4..9c3e325 100644
--- a/atspi/atspi-matchrule-private.h
+++ b/atspi/atspi-matchrule-private.h
@@ -23,8 +23,7 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef _ATSPI_MATCH_RULE_PRIVATE_H_
-#define _ATSPI_MATCH_RULE_PRIVATE_H_
+#pragma once
#include "glib-object.h"
@@ -37,5 +36,3 @@ gboolean
_atspi_match_rule_marshal (AtspiMatchRule *rule, DBusMessageIter *iter);
G_END_DECLS
-
-#endif /* _ATSPI_MATCH_RULE_PRIVATE_H_ */
diff --git a/atspi/atspi-matchrule.c b/atspi/atspi-matchrule.c
index a068043..c8aa2b9 100644
--- a/atspi/atspi-matchrule.c
+++ b/atspi/atspi-matchrule.c
@@ -88,26 +88,33 @@ atspi_match_rule_class_init (AtspiMatchRuleClass *klass)
/**
* atspi_match_rule_new:
- * @states: An #AtspiStateSet specifying the states to match or NULL if none.
+ * @states: (allow-none): An #AtspiStateSet specifying the states to match or
+ * NULL if none.
* @statematchtype: An #AtspiCollectionMatchType specifying how to interpret
- * @states.
- * @attributes: (element-type gchar* gchar*): A #GHashTable specifying
- * attributes to match. To specify multiple attribute values,
- * separate each value with a :: If an attribute value contains a :,
- * then it can be escaped by preceding it with a \. A backslash can
- * likewise be escaped by inserting a double backslash.
+ * @states.
+ * @attributes: (element-type gchar* gchar*) (allow-none): A #GHashTable
+ * specifying attributes to match. To specify multiple attribute
+ * values, separate each value with a :: If an attribute value
+ * contains a :, then it can be escaped by preceding it with a \.
+ * A backslash can likewise be escaped by inserting a double
+ * backslash.
* @attributematchtype: An #AtspiCollectionMatchType specifying how to
* interpret @attributes.
- * @interfaces: (element-type gchar*): An array of interfaces to match, or
- * NULL if not applicable. Interface names should be specified
- * by the final component of their DBus names (Accessible,
- * Component, etc).
+ * @interfaces: (element-type gchar*) (allow-none): An array of interfaces to
+ * match, or NULL if not applicable. Interface names should be
+ * specified by the final component of their DBus names
+ * (Accessible, Component, etc). For Action, it is possible to
+ * specify an action name by enclosing it in parenthesis after
+ * the interface name, in which case only accessibles that
+ * implement that particular action will be returned. For
+ * instance, Action(click) will return accessibles that provide
+ * an action called "click".
* @interfacematchtype: An #AtspiCollectionMatchType specifying how to
- * interpret @interfaces.
- * @roles: (element-type AtspiRole): A #GArray of roles to match, or NULL if
- * not applicable.
+ * interpret @interfaces.
+ * @roles: (element-type AtspiRole) (allow-none): A #GArray of roles to match,
+ * or NULL if not applicable.
* @rolematchtype: An #AtspiCollectionMatchType specifying how to
- * interpret @roles.
+ * interpret @roles.
* @invert: if #TRUE, the match rule should be denied (inverted); if #FALSE,
* it should not. For example, if the match rule defines that a match is
* an object of ROLE_HEADING which has STATE_FOCUSABLE and a click action,
@@ -149,8 +156,6 @@ atspi_match_rule_new (AtspiStateSet *states,
(gpointer *) &value))
g_hash_table_insert (rule->attributes, g_strdup (key), g_strdup (value));
}
- else
- rule->attributes = NULL;
rule->attributematchtype = attributematchtype;
if (interfaces)
@@ -175,8 +180,6 @@ atspi_match_rule_new (AtspiStateSet *states,
g_warning ("AT-SPI: unexpected role %d\n", role);
}
}
- else
- rule->roles[0] = rule->roles[1] = 0;
rule->rolematchtype = rolematchtype;
rule->invert = invert;
diff --git a/atspi/atspi-matchrule.h b/atspi/atspi-matchrule.h
index 09ae1ec..208a264 100644
--- a/atspi/atspi-matchrule.h
+++ b/atspi/atspi-matchrule.h
@@ -23,8 +23,7 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef _ATSPI_MATCH_RULE_H_
-#define _ATSPI_MATCH_RULE_H_
+#pragma once
#include "glib-object.h"
@@ -76,5 +75,3 @@ atspi_match_rule_new (AtspiStateSet *states,
gboolean invert);
G_END_DECLS
-
-#endif /* _ATSPI_MATCH_RULE_H_ */
diff --git a/atspi/atspi-misc-private.h b/atspi/atspi-misc-private.h
index 89b900b..5d30dc8 100644
--- a/atspi/atspi-misc-private.h
+++ b/atspi/atspi-misc-private.h
@@ -23,8 +23,7 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef _ATSPI_MISC_PRIVATE_H_
-#define _ATSPI_MISC_PRIVATE_H_
+#pragma once
/* Private internal implementation details of at-spi. */
@@ -163,5 +162,3 @@ gchar *_atspi_strdup_and_adjust_for_dbus (const char *s);
gboolean _atspi_key_is_on_keypad (gint keycode);
G_END_DECLS
-
-#endif /* _ATSPI_MISC_PRIVATE_H_ */
diff --git a/atspi/atspi-misc.c b/atspi/atspi-misc.c
index 5813d0a..cb0491a 100644
--- a/atspi/atspi-misc.c
+++ b/atspi/atspi-misc.c
@@ -32,7 +32,9 @@
#ifdef HAVE_X11
#include "X11/Xlib.h"
#endif
-#include "atspi-gmain.h"
+#ifdef HAVE_DBUS_GLIB
+#include "dbus/dbus-glib-lowlevel.h"
+#endif
#include
#include
#include
@@ -90,7 +92,7 @@
N_("password text")
N_("popup menu")
N_("progress bar")
- N_("push button")
+ N_("button")
N_("radio button")
N_("radio menu item")
N_("root pane")
@@ -102,6 +104,7 @@
N_("split pane")
N_("spin button")
N_("statusbar")
+ N_("switch")
N_("table")
N_("table cell")
N_("table column header")
@@ -463,7 +466,7 @@ ref_accessible (ReferenceFromMessage *ref)
return g_object_ref (a);
}
a = _atspi_accessible_new (app, ref->path);
- g_hash_table_insert (app->hash, g_strdup (a->parent.path), g_object_ref (a));
+ g_hash_table_insert (app->hash, g_strdup (a->parent.path), a);
return a;
}
@@ -483,8 +486,6 @@ ref_hyperlink (const char *app_name, const char *path)
}
hyperlink = _atspi_hyperlink_new (app, path);
g_hash_table_insert (app->hash, g_strdup (hyperlink->parent.path), hyperlink);
- /* TODO: This should be a weak ref */
- g_object_ref (hyperlink); /* for the hash */
return hyperlink;
}
@@ -504,7 +505,6 @@ static DBusHandlerResult
handle_remove_accessible (DBusConnection *bus, DBusMessage *message)
{
ReferenceFromMessage ref;
- AtspiApplication *app;
DBusMessageIter iter;
const char *signature = dbus_message_get_signature (message);
AtspiAccessible *a;
@@ -518,12 +518,10 @@ handle_remove_accessible (DBusConnection *bus, DBusMessage *message)
dbus_message_iter_init (message, &iter);
get_reference_from_iter (&iter, &ref);
- app = get_application (ref.app_name);
a = ref_accessible (&ref);
if (!a)
return DBUS_HANDLER_RESULT_HANDLED;
g_object_run_dispose (G_OBJECT (a));
- g_hash_table_remove (app->hash, a->parent.path);
g_object_unref (a); /* unref our own ref */
return DBUS_HANDLER_RESULT_HANDLED;
}
@@ -616,8 +614,9 @@ add_accessible_from_iter (DBusMessageIter *iter)
{
/* Get index in parent */
dbus_message_iter_get_basic (&iter_struct, &index);
- if (index >= 0 && accessible->accessible_parent)
+ if (index >= 0 && index < ATSPI_MAX_CHILDREN && accessible->accessible_parent)
{
+ AtspiAccessible *old_child = NULL;
if (index >= accessible->accessible_parent->children->len)
{
/* There is no room for this object */
@@ -627,9 +626,10 @@ add_accessible_from_iter (DBusMessageIter *iter)
{
/* This place is already taken - let's free this place with dignity */
if (g_ptr_array_index (accessible->accessible_parent->children, index))
- g_object_unref (g_ptr_array_index (accessible->accessible_parent->children, index));
+ old_child = g_ptr_array_index (accessible->accessible_parent->children, index);
}
g_ptr_array_index (accessible->accessible_parent->children, index) = g_object_ref (accessible);
+ g_clear_object (&old_child);
}
/* get child count */
@@ -690,6 +690,8 @@ add_accessible_from_iter (DBusMessageIter *iter)
children_cached)
_atspi_accessible_add_cache (accessible, ATSPI_CACHE_CHILDREN);
+ _atspi_accessible_set_cached (accessible, TRUE);
+
/* This is a bit of a hack since the cache holds a ref, so we don't need
* the one provided for us anymore */
g_object_unref (accessible);
@@ -746,8 +748,7 @@ ref_accessible_desktop (AtspiApplication *app)
return desktop;
}
desktop = _atspi_accessible_new (app, atspi_path_root);
- g_hash_table_insert (app->hash, g_strdup (desktop->parent.path),
- g_object_ref (desktop));
+ g_hash_table_insert (app->hash, g_strdup (desktop->parent.path), desktop);
app->root = g_object_ref (desktop);
desktop->name = g_strdup ("main");
message = dbus_message_new_method_call (atspi_bus_registry,
@@ -1135,7 +1136,8 @@ atspi_event_main (void)
void
atspi_event_quit (void)
{
- g_main_loop_quit (atspi_main_loop);
+ if (atspi_main_loop)
+ g_main_loop_quit (atspi_main_loop);
}
/**
@@ -1414,13 +1416,13 @@ _atspi_dbus_get_property (gpointer obj, const char *interface, const char *name,
dbus_message_iter_init (reply, &iter);
if (dbus_message_iter_get_arg_type (&iter) != 'v')
{
- g_warning ("atspi_dbus_get_property: expected a variant when fetching %s from interface %s; got %s\n", name, interface, dbus_message_get_signature (reply));
+ g_warning ("atspi_dbus_get_property: expected a variant when fetching %s:%s; got %s instead", interface, name, dbus_message_get_signature (reply));
goto done;
}
dbus_message_iter_recurse (&iter, &iter_variant);
if (dbus_message_iter_get_arg_type (&iter_variant) != expected_type)
{
- g_warning ("atspi_dbus_get_property: Wrong type: expected %s, got %c\n", type, dbus_message_iter_get_arg_type (&iter_variant));
+ g_warning ("atspi_dbus_get_property: Wrong type: expected %s when fetching %s:%s; got %c instead", type, interface, name, dbus_message_iter_get_arg_type (&iter_variant));
goto done;
}
if (!strcmp (type, "(so)"))
@@ -2040,7 +2042,14 @@ atspi_role_get_localized_name (AtspiRole role)
_gettext_initialization ();
- raw_name = atspi_role_get_name (role);
+ switch (role)
+ {
+ case ATSPI_ROLE_EDITBAR:
+ raw_name = g_strdup ("edit bar");
+ break;
+ default:
+ raw_name = atspi_role_get_name (role);
+ }
translated_name = dgettext (GETTEXT_PACKAGE, raw_name);
if (translated_name != raw_name)
{
@@ -2244,3 +2253,19 @@ _atspi_key_is_on_keypad (gint keycode)
return FALSE;
}
}
+
+#ifdef HAVE_DBUS_GLIB
+void
+atspi_dbus_connection_setup_with_g_main (DBusConnection *connection,
+ GMainContext *context)
+{
+ return dbus_connection_setup_with_g_main (connection, context);
+}
+
+void
+atspi_dbus_server_setup_with_g_main (DBusServer *server,
+ GMainContext *context)
+{
+ return dbus_server_setup_with_g_main (server, context);
+}
+#endif
diff --git a/atspi/atspi-misc.h b/atspi/atspi-misc.h
index 19f8dbe..b3d365b 100644
--- a/atspi/atspi-misc.h
+++ b/atspi/atspi-misc.h
@@ -23,8 +23,7 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef _ATSPI_MISC_H_
-#define _ATSPI_MISC_H_
+#pragma once
G_BEGIN_DECLS
@@ -51,6 +50,12 @@ gchar *atspi_role_get_name (AtspiRole role);
gchar *atspi_role_get_localized_name (AtspiRole role);
void atspi_get_version (gint *major, gint *minor, gint *micro);
-G_END_DECLS
-#endif /* _ATSPI_MISC_H_ */
+void
+atspi_dbus_connection_setup_with_g_main (DBusConnection *connection,
+ GMainContext *context);
+
+void
+atspi_dbus_server_setup_with_g_main (DBusServer *server,
+ GMainContext *context);
+G_END_DECLS
diff --git a/atspi/atspi-object.c b/atspi/atspi-object.c
index 2e9a6d0..8df3e19 100644
--- a/atspi/atspi-object.c
+++ b/atspi/atspi-object.c
@@ -37,6 +37,8 @@ atspi_object_dispose (GObject *object)
if (aobj->app)
{
+ if (aobj->app->hash)
+ g_hash_table_remove (aobj->app->hash, aobj->path);
g_object_unref (aobj->app);
aobj->app = NULL;
}
diff --git a/atspi/atspi-object.h b/atspi/atspi-object.h
index 3bb0bc5..817670c 100644
--- a/atspi/atspi-object.h
+++ b/atspi/atspi-object.h
@@ -22,8 +22,7 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef _ATSPI_OBJECT_H_
-#define _ATSPI_OBJECT_H_
+#pragma once
#include "glib-object.h"
@@ -56,5 +55,3 @@ struct _AtspiObjectClass
GType atspi_object_get_type (void);
G_END_DECLS
-
-#endif /* _ATSPI_OBJECT_H_ */
diff --git a/atspi/atspi-private.h b/atspi/atspi-private.h
index a38142c..5240a72 100644
--- a/atspi/atspi-private.h
+++ b/atspi/atspi-private.h
@@ -22,14 +22,12 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef _ATSPI_PRIVATE_H_
-#define _ATSPI_PRIVATE_H_
+#pragma once
#include "atspi-device-listener-private.h"
#include "atspi-event-listener-private.h"
#include "atspi-matchrule-private.h"
#include "atspi-misc-private.h"
-#include "atspi-mutter-private.h"
#include
#include "glib/gi18n.h"
@@ -40,5 +38,3 @@
G_BEGIN_DECLS
void _atspi_reregister_device_listeners ();
G_END_DECLS
-
-#endif /* _ATSPI_PRIVATE_H_ */
diff --git a/atspi/atspi-registry.c b/atspi/atspi-registry.c
index a1c9325..53f1f2a 100644
--- a/atspi/atspi-registry.c
+++ b/atspi/atspi-registry.c
@@ -488,10 +488,10 @@ atspi_generate_mouse_event_cb (DBusPendingCall *pending, void *user_data)
* @y: a #glong indicating the screen y coordinate of the mouse event.
* @name: a string indicating which mouse event to be synthesized
* (e.g. "b1p", "b1c", "b2r", "rel", "abs").
- * @callback: (scope notified) (allow-none): a callback to be called when a
+ * @callback: (scope async) (closure callback_data): a callback to be called when a
* reply is received. May be NULL.
- * @callback_data: (closure) (allow-none): data to be passed to @callback.
- * @error: (allow-none): a pointer to a %NULL #GError pointer, or %NULL
+ * @callback_data: data to be passed to @callback.
+ * @error: a pointer to a %NULL #GError pointer, or %NULL
*
* Like atspi_generate_mouse_event, but asynchronous.
**/
diff --git a/atspi/atspi-registry.h b/atspi/atspi-registry.h
index 18d5524..483c379 100644
--- a/atspi/atspi-registry.h
+++ b/atspi/atspi-registry.h
@@ -22,8 +22,7 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef _ATSPI_REGISTRY_H_
-#define _ATSPI_REGISTRY_H_
+#pragma once
#include "atspi-accessible.h"
#include "atspi-device-listener.h"
@@ -82,5 +81,3 @@ atspi_generate_mouse_event_async (glong x, glong y, const gchar *name, AtspiGene
void
atspi_set_reference_window (AtspiAccessible *accessible);
G_END_DECLS
-
-#endif /* _ATSPI_REGISTRY_H_ */
diff --git a/atspi/atspi-relation.h b/atspi/atspi-relation.h
index 0a8da57..fa8cdf3 100644
--- a/atspi/atspi-relation.h
+++ b/atspi/atspi-relation.h
@@ -23,8 +23,7 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef _ATSPI_RELATION_H_
-#define _ATSPI_RELATION_H_
+#pragma once
#include "glib-object.h"
@@ -63,5 +62,3 @@ AtspiAccessible *atspi_relation_get_target (AtspiRelation *obj, gint i);
AtspiRelation *_atspi_relation_new_from_iter (DBusMessageIter *iter);
G_END_DECLS
-
-#endif /* _ATSPI_RELATION_H_ */
diff --git a/atspi/atspi-selection.c b/atspi/atspi-selection.c
index 0c74783..030f562 100644
--- a/atspi/atspi-selection.c
+++ b/atspi/atspi-selection.c
@@ -128,13 +128,13 @@ atspi_selection_select_child (AtspiSelection *obj,
* atspi_selection_deselect_selected_child:
* @obj: a pointer to the #AtspiSelection on which to operate.
* @selected_child_index: a #gint indicating which of the selected children
- * of the #Accessible is to be selected.
+ * of the #Accessible is to be deselected.
*
* Removes a child from the selected children list of an #AtspiSelection.
- * Note that @child_index is the index in the selected-children list,
- * not the index in the parent container. @selectedChildIndex in this
- * method, and @child_index in #atspi_selection_select_child
- * are asymmetric.
+ * Note that @selected_child_index is the index in the
+ * selected-children list, not the index in the parent container.
+ * @selected_child_index in this method and @child_index in
+ * #atspi_selection_select_child are asymmetric.
*
* Returns: #TRUE if the child was successfully deselected, #FALSE otherwise.
**/
diff --git a/atspi/atspi-selection.h b/atspi/atspi-selection.h
index 651ca61..da977fa 100644
--- a/atspi/atspi-selection.h
+++ b/atspi/atspi-selection.h
@@ -23,8 +23,7 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef _ATSPI_SELECTION_H_
-#define _ATSPI_SELECTION_H_
+#pragma once
#include "glib-object.h"
@@ -66,5 +65,3 @@ gboolean atspi_selection_select_all (AtspiSelection *obj, GError **error);
gboolean atspi_selection_clear_selection (AtspiSelection *obj, GError **error);
G_END_DECLS
-
-#endif /* _ATSPI_SELECTION_H_ */
diff --git a/atspi/atspi-stateset.h b/atspi/atspi-stateset.h
index f00296c..4c3d797 100644
--- a/atspi/atspi-stateset.h
+++ b/atspi/atspi-stateset.h
@@ -22,8 +22,7 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef _ATSPI_STATE_SET_H_
-#define _ATSPI_STATE_SET_H_
+#pragma once
#define ATSPI_TYPE_STATE_SET (atspi_state_set_get_type ())
#define ATSPI_STATE_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ATSPI_TYPE_STATE_SET, AtspiStateSet))
@@ -71,5 +70,3 @@ void atspi_state_set_remove (AtspiStateSet *set, AtspiStateType state);
AtspiStateSet *_atspi_state_set_new_internal (struct _AtspiAccessible *accessible, gint64 states);
G_END_DECLS
-
-#endif /* _ATSPI_STATE_SET_H_ */
diff --git a/atspi/atspi-table-cell.h b/atspi/atspi-table-cell.h
index f12f353..18db136 100644
--- a/atspi/atspi-table-cell.h
+++ b/atspi/atspi-table-cell.h
@@ -23,8 +23,7 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef _ATSPI_TABLE_CELL_H_
-#define _ATSPI_TABLE_CELL_H_
+#pragma once
#include "glib-object.h"
@@ -73,5 +72,3 @@ void atspi_table_cell_get_row_column_span (AtspiTableCell *obj,
AtspiAccessible *atspi_table_cell_get_table (AtspiTableCell *obj,
GError **error);
G_END_DECLS
-
-#endif /* _ATSPI_TABLE_CELL_H_ */
diff --git a/atspi/atspi-table.h b/atspi/atspi-table.h
index bbe5e83..454af4c 100644
--- a/atspi/atspi-table.h
+++ b/atspi/atspi-table.h
@@ -23,8 +23,7 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef _ATSPI_TABLE_H_
-#define _ATSPI_TABLE_H_
+#pragma once
#include "glib-object.h"
@@ -101,5 +100,3 @@ gboolean atspi_table_get_row_column_extents_at_index (AtspiTable *obj, gint inde
gboolean atspi_table_is_selected (AtspiTable *obj, gint row, gint column, GError **error);
G_END_DECLS
-
-#endif /* _ATSPI_TABLE_H_ */
diff --git a/atspi/atspi-text.c b/atspi/atspi-text.c
index 1c9747c..3d2dc33 100644
--- a/atspi/atspi-text.c
+++ b/atspi/atspi-text.c
@@ -434,6 +434,27 @@ atspi_text_get_text_before_offset (AtspiText *obj,
return range;
}
+static AtspiTextBoundaryType
+get_legacy_boundary_type (AtspiTextGranularity granularity)
+{
+ switch (granularity)
+ {
+ case ATSPI_TEXT_GRANULARITY_CHAR:
+ return ATSPI_TEXT_BOUNDARY_CHAR;
+ case ATSPI_TEXT_GRANULARITY_WORD:
+ return ATSPI_TEXT_BOUNDARY_WORD_START;
+ case ATSPI_TEXT_GRANULARITY_SENTENCE:
+ return ATSPI_TEXT_BOUNDARY_SENTENCE_START;
+ case ATSPI_TEXT_GRANULARITY_LINE:
+ return ATSPI_TEXT_BOUNDARY_LINE_START;
+ case ATSPI_TEXT_GRANULARITY_PARAGRAPH:
+ /* This is not implemented in previous versions of ATSPI */
+ /* fall through to default case */
+ default:
+ return -1;
+ }
+}
+
/**
* atspi_text_get_string_at_offset:
* @obj: an #AtspiText
@@ -487,15 +508,30 @@ atspi_text_get_string_at_offset (AtspiText *obj,
dbus_uint32_t d_granularity = granularity;
dbus_int32_t d_start_offset = -1, d_end_offset = -1;
AtspiTextRange *range = g_new0 (AtspiTextRange, 1);
+ GError *local_error = NULL;
range->start_offset = range->end_offset = -1;
if (!obj)
return range;
- _atspi_dbus_call (obj, atspi_interface_text, "GetStringAtOffset", error,
+ _atspi_dbus_call (obj, atspi_interface_text, "GetStringAtOffset", &local_error,
"iu=>sii", d_offset, d_granularity, &range->content,
&d_start_offset, &d_end_offset);
+ if (local_error)
+ {
+ AtspiTextBoundaryType boundary = get_legacy_boundary_type (granularity);
+ if (boundary == -1)
+ {
+ g_propagate_error (error, local_error);
+ return range;
+ }
+
+ g_clear_error (&local_error);
+ atspi_text_range_free (range);
+ return atspi_text_get_text_at_offset (obj, offset, boundary, error);
+ }
+
range->start_offset = d_start_offset;
range->end_offset = d_end_offset;
if (!range->content)
diff --git a/atspi/atspi-text.h b/atspi/atspi-text.h
index f8f949b..6f54a61 100644
--- a/atspi/atspi-text.h
+++ b/atspi/atspi-text.h
@@ -23,8 +23,7 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef _ATSPI_TEXT_H_
-#define _ATSPI_TEXT_H_
+#pragma once
#include "glib-object.h"
@@ -140,5 +139,3 @@ gboolean atspi_text_scroll_substring_to (AtspiText *obj, gint start_offset, gint
gboolean atspi_text_scroll_substring_to_point (AtspiText *obj, gint start_offset, gint end_offset, AtspiCoordType coords, gint x, gint y, GError **error);
G_END_DECLS
-
-#endif /* _ATSPI_TEXT_H_ */
diff --git a/atspi/atspi-types.h b/atspi/atspi-types.h
index 4486b58..9dbb0f5 100644
--- a/atspi/atspi-types.h
+++ b/atspi/atspi-types.h
@@ -22,8 +22,7 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef _ATSPI_TYPES_H_
-#define _ATSPI_TYPES_H_
+#pragma once
#include "glib-object.h"
@@ -170,4 +169,3 @@ typedef enum
ATSPI_KEYLISTENER_CANCONSUME = 1 << 1,
ATSPI_KEYLISTENER_ALL_WINDOWS = 1 << 2
} AtspiKeyListenerSyncType;
-#endif /* _ATSPI_TYPES_H_ */
diff --git a/atspi/atspi-value.h b/atspi/atspi-value.h
index ba04ff0..0edec52 100644
--- a/atspi/atspi-value.h
+++ b/atspi/atspi-value.h
@@ -23,8 +23,7 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef _ATSPI_VALUE_H_
-#define _ATSPI_VALUE_H_
+#pragma once
#include "glib-object.h"
@@ -58,5 +57,3 @@ gdouble atspi_value_get_minimum_increment (AtspiValue *obj, GError **error);
gchar *atspi_value_get_text (AtspiValue *obj, GError **error);
G_END_DECLS
-
-#endif /* _ATSPI_VALUE_H_ */
diff --git a/atspi/atspi-version.h.in b/atspi/atspi-version.h.in
index 801a4c5..94a0e95 100644
--- a/atspi/atspi-version.h.in
+++ b/atspi/atspi-version.h.in
@@ -21,8 +21,7 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef _ATSPI_VERSION_H_
-#define _ATSPI_VERSION_H_
+#pragma once
G_BEGIN_DECLS
@@ -53,6 +52,21 @@ G_BEGIN_DECLS
*/
#define ATSPI_MICRO_VERSION (@ATSPI_MICRO_VERSION@)
-G_END_DECLS
+/**
+ * ATSPI_CHECK_VERSION:
+ * @major: major version (e.g. 2 for version 2.58.0)
+ * @minor: minor version (e.g. 58 for version 2.58.0)
+ * @micro: micro version (e.g. 0 for version 2.58.0)
+ *
+ * Returns %TRUE if the version of AT-SPI used at compile
+ * time is the same as or newer than the passed-in version.
+ *
+ * Since: 2.58.0
+ */
+#define ATSPI_CHECK_VERSION(major,minor,micro) \
+ (ATSPI_MAJOR_VERSION > (major) || \
+ (ATSPI_MAJOR_VERSION == (major) && ATSPI_MINOR_VERSION > (minor)) || \
+ (ATSPI_MAJOR_VERSION == (major) && ATSPI_MINOR_VERSION == (minor) && \
+ ATSPI_MICRO_VERSION >= (micro)))
-#endif /* _ATSPI_VERSION_H_ */
+G_END_DECLS
diff --git a/atspi/atspi.h b/atspi/atspi.h
index 03e8d8e..6d35c9f 100644
--- a/atspi/atspi.h
+++ b/atspi/atspi.h
@@ -21,8 +21,7 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef _ATSPI_H
-#define _ATSPI_H
+#pragma once
#include "glib.h"
@@ -50,9 +49,6 @@
#include "atspi-types.h"
#include "atspi-value.h"
-#include "atspi-gmain.h"
-
#include "atspi-enum-types.h"
#include "atspi-version.h"
-#endif
diff --git a/atspi/meson.build b/atspi/meson.build
index 0c486e9..2692b11 100644
--- a/atspi/meson.build
+++ b/atspi/meson.build
@@ -5,12 +5,12 @@ atspi_sources = [
'atspi-collection.c',
'atspi-component.c',
'atspi-device.c',
+ 'atspi-device-a11y-manager.c',
'atspi-device-legacy.c',
'atspi-device-listener.c',
'atspi-document.c',
'atspi-editabletext.c',
'atspi-event-listener.c',
- 'atspi-gmain.c',
'atspi-hyperlink.c',
'atspi-hypertext.c',
'atspi-image.c',
@@ -36,12 +36,12 @@ atspi_headers = [
'atspi-component.h',
'atspi-constants.h',
'atspi-device.h',
+ 'atspi-device-a11y-manager.h',
'atspi-device-legacy.h',
'atspi-device-listener.h',
'atspi-document.h',
'atspi-editabletext.h',
'atspi-event-listener.h',
- 'atspi-gmain.h',
'atspi-hyperlink.h',
'atspi-hypertext.h',
'atspi-image.h',
@@ -64,6 +64,10 @@ if x11_dep.found()
atspi_headers += ['atspi-device-x11.h']
endif
+if not dbus_glib_dep.found()
+ atspi_sources += ['atspi-gmain.c']
+endif
+
atspi_includedir = join_paths(get_option('prefix'), get_option('includedir'), 'at-spi-2.0', 'atspi')
install_headers(atspi_headers, install_dir: atspi_includedir)
@@ -99,13 +103,13 @@ atspi = library('atspi', atspi_sources + atspi_enums + atspi_marshals,
version: soversion,
soversion: soversion.split('.')[0],
include_directories: [ root_inc, registryd_inc ],
- dependencies: [ libdbus_dep, gobject_dep, dbind_dep, x11_deps ],
+ dependencies: [ libdbus_dep, dbus_glib_dep, gobject_dep, gio_dep, dbind_dep, x11_deps, ],
install: true)
atspi_dep = declare_dependency(link_with: atspi,
sources: atspi_enum_h,
include_directories: root_inc,
- dependencies: [ libdbus_dep, gobject_dep, ])
+ dependencies: [ libdbus_dep, dbus_glib_dep, gobject_dep, ])
if have_gir
gir_sources = atspi_sources + atspi_enums + atspi_headers
diff --git a/bus/accessibility.conf.in b/bus/accessibility.conf.in
index 33d6e1c..b7ecf24 100644
--- a/bus/accessibility.conf.in
+++ b/bus/accessibility.conf.in
@@ -12,9 +12,12 @@
-
-
-
+
+
+
+
+
+
diff --git a/bus/at-spi-bus-launcher.c b/bus/at-spi-bus-launcher.c
index 53ae3ff..1c1868f 100644
--- a/bus/at-spi-bus-launcher.c
+++ b/bus/at-spi-bus-launcher.c
@@ -155,7 +155,7 @@ client_registered (GObject *source,
A11yBusLauncher *app = user_data;
GError *error = NULL;
GVariant *variant;
- gchar *object_path;
+ gchar *object_path = NULL;
GDBusProxyFlags flags;
variant = g_dbus_proxy_call_finish (app->sm_proxy, result, &error);
@@ -172,13 +172,20 @@ client_registered (GObject *source,
g_variant_get (variant, "(o)", &object_path);
g_variant_unref (variant);
- flags = G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES;
- g_dbus_proxy_new_for_bus (G_BUS_TYPE_SESSION, flags, NULL,
- "org.gnome.SessionManager", object_path,
- "org.gnome.SessionManager.ClientPrivate",
- NULL, client_proxy_ready_cb, app);
+ if (object_path == NULL)
+ {
+ g_warning ("Failed to register client: no object in reply");
+ }
+ else
+ {
+ flags = G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES;
+ g_dbus_proxy_new_for_bus (G_BUS_TYPE_SESSION, flags, NULL,
+ "org.gnome.SessionManager", object_path,
+ "org.gnome.SessionManager.ClientPrivate",
+ NULL, client_proxy_ready_cb, app);
- g_free (object_path);
+ g_free (object_path);
+ }
}
g_clear_object (&app->sm_proxy);
}
@@ -569,15 +576,20 @@ ensure_a11y_bus (A11yBusLauncher *app)
g_free (at_spi_dir);
}
+ const gchar *dbus_preference = g_getenv ("ATSPI_DBUS_IMPLEMENTATION");
#ifdef WANT_DBUS_BROKER
- success = ensure_a11y_bus_broker (app, config_path);
+ // try dbus-broker first unless dbus-daemon explicitly selected via env var
+ if (g_strcmp0 (dbus_preference, "dbus-daemon") != 0)
+ success = ensure_a11y_bus_broker (app, config_path);
if (!success)
{
if (!ensure_a11y_bus_daemon (app, config_path))
return FALSE;
}
#else
- success = ensure_a11y_bus_daemon (app, config_path);
+ // try dbus-daemon first unless dbus-broker explicitly selected via env var
+ if (g_strcmp0 (dbus_preference, "dbus-broker") != 0)
+ success = ensure_a11y_bus_daemon (app, config_path);
if (!success)
{
if (!ensure_a11y_bus_broker (app, config_path))
@@ -887,6 +899,7 @@ init_sigterm_handling (A11yBusLauncher *app)
G_IO_IN | G_IO_ERR | G_IO_HUP,
on_sigterm_pipe,
app);
+ g_io_channel_unref (sigterm_channel);
}
static GSettings *
diff --git a/bus/at-spi-dbus-bus.desktop.in b/bus/at-spi-dbus-bus.desktop.in
index a45d27e..9625c81 100644
--- a/bus/at-spi-dbus-bus.desktop.in
+++ b/bus/at-spi-dbus-bus.desktop.in
@@ -7,3 +7,4 @@ NoDisplay=true
AutostartCondition=GSettings org.gnome.desktop.interface toolkit-accessibility
X-GNOME-AutoRestart=true
X-GNOME-Autostart-Phase=Initialization
+X-systemd-skip=true
diff --git a/bus/meson.build b/bus/meson.build
index 8e4b9b0..a471a98 100644
--- a/bus/meson.build
+++ b/bus/meson.build
@@ -32,6 +32,7 @@ configure_file(input: 'org.a11y.Bus.service.in',
configure_file(input: 'at-spi-dbus-bus.service.in',
output: 'at-spi-dbus-bus.service',
configuration: libexec_conf,
+ install: get_option('use_systemd'),
install_dir: systemd_user_dir)
if x11_dep.found()
@@ -104,10 +105,9 @@ if dbus_daemon_arg != ''
endif
if dbus_broker_arg != ''
launcher_args += dbus_broker_arg
-endif
-
-if get_option('default_bus') == 'dbus-broker'
- launcher_args += '-DWANT_DBUS_BROKER'
+ if get_option('default_bus') == 'dbus-broker'
+ launcher_args += '-DWANT_DBUS_BROKER'
+ endif
endif
executable('at-spi-bus-launcher', 'at-spi-bus-launcher.c',
diff --git a/ci/container_builds.yml b/ci/container_builds.yml
index 07d8899..2c19374 100644
--- a/ci/container_builds.yml
+++ b/ci/container_builds.yml
@@ -7,14 +7,14 @@
# It doesn't change often, but you can update to newer SHAs if there are important
# changes there.
include:
- - remote: "https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/3e66ea37e5672bb8f48e3056ba92915b5fc5b888/templates/opensuse.yml"
- - remote: "https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/3e66ea37e5672bb8f48e3056ba92915b5fc5b888/templates/fedora.yml"
+ - remote: "https://gitlab.gnome.org/Infrastructure/freedesktop-ci-templates/-/raw/3cd5fdf6dcfbef9a75514256d210db5178bd9c2a/templates/opensuse.yml"
+ - remote: "https://gitlab.gnome.org/Infrastructure/freedesktop-ci-templates/-/raw/3cd5fdf6dcfbef9a75514256d210db5178bd9c2a/templates/fedora.yml"
variables:
# When branching change the suffix to avoid conflicts with images
# from the main branch
- BASE_TAG: "2023-01-18.0-main"
- RUST_STABLE: "1.64.0"
+ BASE_TAG: "2025-11-17.2-main"
+ RUST_STABLE: "1.91.0"
.container.opensuse@x86_64:
stage: "container-build"
@@ -29,6 +29,7 @@ variables:
dbus-1
dbus-1-devel
findutils
+ gawk
gcc
gettext
git
@@ -36,27 +37,24 @@ variables:
gobject-introspection-devel
gsettings-desktop-schemas
itstool
+ libX11-devel
libXi-devel
libXtst-devel
- libasan6
+ libasan8
libxkbcommon-devel
libxml2-devel
llvm
meson
ninja
- python3-pip
- python310
- python310-gobject
- python310-pytest
- python310-python-dbusmock
+ systemd-devel
+ python3-gobject-devel
tar
wget
which
- xorg-x11-devel
xvfb-run
FDO_DISTRIBUTION_EXEC: >-
- bash ci/install-rust.sh ${RUST_STABLE} x86_64-unknown-linux-gnu &&
- pip3 install gi-docgen sphinx sphinx_rtd_theme
+ bash ci/install-python-tools.sh &&
+ bash ci/install-rust.sh ${RUST_STABLE} x86_64-unknown-linux-gnu
opensuse-container@x86_64:
extends:
@@ -68,7 +66,7 @@ opensuse-container@x86_64:
stage: "container-build"
variables:
FDO_DISTRIBUTION_TAG: "x86_64-${BASE_TAG}"
- FDO_DISTRIBUTION_VERSION: "37"
+ FDO_DISTRIBUTION_VERSION: "41"
FDO_UPSTREAM_REPO: "gnome/at-spi2-core"
FDO_DISTRIBUTION_PACKAGES: >-
clang
@@ -90,13 +88,12 @@ opensuse-container@x86_64:
libasan
libxkbcommon-devel
libxml2-devel
+ meson
ninja-build
procps
python3
- python3-pip
+ python3-devel
systemd-devel
- FDO_DISTRIBUTION_EXEC: >-
- pip3 install meson==0.63
fedora-container@x86_64:
extends:
diff --git a/ci/env.sh b/ci/env.sh
index 6f47f12..95653b0 100644
--- a/ci/env.sh
+++ b/ci/env.sh
@@ -1,2 +1,11 @@
+# Activate the Python virtual environment for CI scripts.
+#
+# We test for the presence of the file, since when first creating the container images for CI,
+# the venv has not been created yet. This is mostly a hack to allow having a single "env.sh"
+# script instead of one for container creation and one for CI jobs.
+if [ -f /usr/local/python/bin/activate ]; then
+ source /usr/local/python/bin/activate
+fi
+
export RUSTUP_HOME='/usr/local/rustup'
-export PATH=$PATH:/usr/local/cargo/bin
\ No newline at end of file
+export PATH=$PATH:/usr/local/cargo/bin
diff --git a/ci/install-python-tools.sh b/ci/install-python-tools.sh
new file mode 100644
index 0000000..0ed8aed
--- /dev/null
+++ b/ci/install-python-tools.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+#
+# Creates a Python virtual environment in /usr/local/python and installs
+# the modules from requirements.txt in it. These modules are required
+# by various jobs in the CI pipeline.
+
+set -eux -o pipefail
+
+python3 -m venv /usr/local/python
+source /usr/local/python/bin/activate
+pip3 install --upgrade pip
+pip3 install -r ci/requirements.txt
diff --git a/ci/requirements.txt b/ci/requirements.txt
new file mode 100644
index 0000000..f6da750
--- /dev/null
+++ b/ci/requirements.txt
@@ -0,0 +1,7 @@
+docutils
+gi-docgen
+PyGObject
+pytest
+python-dbusmock
+Sphinx
+sphinx_rtd_theme
diff --git a/dbind/dbind.c b/dbind/dbind.c
index a05e8ba..f09afa9 100644
--- a/dbind/dbind.c
+++ b/dbind/dbind.c
@@ -23,7 +23,6 @@
#include
#include
-#include "atspi/atspi-gmain.h"
#include "config.h"
#include "dbind/dbind.h"
@@ -259,12 +258,12 @@ dbind_method_call_va (DBusConnection *cnx,
const char *p;
va_list args_demarshal;
- va_copy (args_demarshal, args);
-
msg = dbus_message_new_method_call (bus_name, path, interface, method);
if (!msg)
return FALSE;
+ va_copy (args_demarshal, args);
+
p = arg_types;
dbus_message_iter_init_append (msg, &iter);
dbind_any_marshal_va (&iter, &p, args);
diff --git a/dbind/meson.build b/dbind/meson.build
index 5a9f02d..2857410 100644
--- a/dbind/meson.build
+++ b/dbind/meson.build
@@ -3,12 +3,18 @@ dbind_sources = [
'dbind-any.c',
]
+dbind_test_sources = [ 'dbtest.c']
+if not dbus_glib_dep.found()
+ dbind_test_sources += ['../atspi/atspi-gmain.c']
+endif
+
dbind_dep = declare_dependency(sources: dbind_sources,
include_directories: root_inc,
compile_args: [ '-DG_LOG_DOMAIN="dbind"' ],
- dependencies: [ libdbus_dep, glib_dep ])
+ dependencies: [ libdbus_dep, glib_dep, dbus_glib_dep ])
test('dbind-test',
- executable('dbind-test', [ 'dbtest.c', '../atspi/atspi-gmain.c' ],
+ executable('dbind-test',
+ sources: dbind_test_sources,
include_directories: root_inc,
dependencies: [ libdbus_dep, glib_dep, dbind_dep ]))
diff --git a/debian/changelog b/debian/changelog
index 3ffc86e..3d9b665 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,258 @@
+at-spi2-core (2.59.1-2deepin1) unstable; urgency=medium
+
+ * Revert 64-bit time_t changes.
+
+ -- tunaichao Fri, 13 Mar 2026 17:35:08 +0800
+
+at-spi2-core (2.59.1-2) unstable; urgency=medium
+
+ * rules: Fix finding dbus-broker-launch.
+ * patches/atspi-misc: Fix standalone compilation of atspi-misc.h.
+
+ -- Samuel Thibault Fri, 06 Feb 2026 19:42:08 +0100
+
+at-spi2-core (2.59.1-1) unstable; urgency=medium
+
+ * New upstream release.
+ * libatk-adaptor.lintian-overrides: Comment override for now.
+
+ -- Samuel Thibault Sun, 01 Feb 2026 13:31:28 +0100
+
+at-spi2-core (2.59.0-1) unstable; urgency=medium
+
+ * New upstream release.
+ - rules: Fix default bus on non-linux
+ - libatk-bridge2.0-0t64.symbols: Update.
+ * Restore tests on loong64.
+
+ -- Samuel Thibault Sat, 03 Jan 2026 15:20:32 +0100
+
+at-spi2-core (2.58.2-2) unstable; urgency=medium
+
+ * Team upload
+ * Skip build tests on loong64 for bootstrapping
+
+ -- Jeremy Bícha Sun, 28 Dec 2025 08:53:15 -0500
+
+at-spi2-core (2.58.2-1) unstable; urgency=medium
+
+ * New upstream release.
+
+ -- Samuel Thibault Sat, 22 Nov 2025 21:40:47 +0100
+
+at-spi2-core (2.58.1-1) unstable; urgency=medium
+
+ * New upstream release (Closes: #911362)
+ * rules: Only set dbus_broker on Linux.
+
+ -- Samuel Thibault Sat, 11 Oct 2025 21:36:42 +0200
+
+at-spi2-core (2.58.0-1) unstable; urgency=medium
+
+ * New upstream release (Closes: #1111485)
+
+ -- Samuel Thibault Sun, 14 Sep 2025 19:40:31 +0200
+
+at-spi2-core (2.57.2-1) unstable; urgency=medium
+
+ * New upstream release.
+ * rules: Only make dbus-broker the default bus on Linux.
+ * control: Explicit that pyatspi needs to be upgraded to a version that is
+ fine with no Atspi.Accessible.children
+ * copyright: Update.
+
+ -- Samuel Thibault Mon, 11 Aug 2025 10:45:04 +0200
+
+at-spi2-core (2.57.1-1) unstable; urgency=medium
+
+ [ Samuel Thibault ]
+ * New upstream release.
+ - control: Bump meson build-dep version accordingly.
+ - control: Build-Depend on dh-sequence-python3.
+ - gir1.2-atspi-2.0.install: Install Atspi gi overrides.
+ - control: Make gir1.2-atspi-2.0 depend on ${python3:Depends}
+ - libatk-bridge2.0-0t64.symbols: Drop droute_context_deregister symbol.
+ * copyright: Update.
+
+ [ Luca Boccassi ]
+ * Drop build dependency on dbus-broker and dbus, swap with dbus-daemon with
+ nocheck.
+
+ -- Samuel Thibault Sun, 10 Aug 2025 09:51:41 +0200
+
+at-spi2-core (2.56.2-1) unstable; urgency=medium
+
+ * New upstream release
+
+ -- Samuel Thibault Mon, 28 Apr 2025 19:43:47 +0200
+
+at-spi2-core (2.56.1-2) unstable; urgency=medium
+
+ * Rebuild on buildds.
+
+ -- Samuel Thibault Mon, 31 Mar 2025 04:03:02 +0200
+
+at-spi2-core (2.56.1-1) unstable; urgency=medium
+
+ * New upstream release
+
+ -- Samuel Thibault Sat, 29 Mar 2025 17:34:38 +0100
+
+at-spi2-core (2.56.0-3) unstable; urgency=medium
+
+ * No-change upload to build on buildd.
+
+ -- Samuel Thibault Thu, 20 Mar 2025 02:01:02 +0100
+
+at-spi2-core (2.56.0-2) unstable; urgency=medium
+
+ * Upload to unstable.
+
+ -- Samuel Thibault Sun, 16 Mar 2025 00:07:54 +0100
+
+at-spi2-core (2.56.0-1) experimental; urgency=medium
+
+ * New upstream release
+
+ -- Samuel Thibault Sat, 15 Mar 2025 23:41:20 +0100
+
+at-spi2-core (2.55.90-1) experimental; urgency=medium
+
+ * New upstream release
+ - Support grabbing keyboard shortcuts through the new
+ org.freedesktop.a11y.KeyboardMonitor interface. This allows key grabs to be
+ supported under Wayland with the latest mutter.
+ * libatk-bridge2.0-0t64.lintian-overrides: Drop duplicate bogus override.
+ * libatk1.0-0t64.lintian-overrides: Drop duplicate bogus override.
+ * libatspi2.0-0t64.lintian-overrides: Drop duplicate bogus override.
+
+ -- Samuel Thibault Fri, 28 Feb 2025 20:13:29 +0100
+
+at-spi2-core (2.55.2-1) unstable; urgency=medium
+
+ * New upstream release
+
+ -- Samuel Thibault Sun, 02 Feb 2025 02:33:11 +0100
+
+at-spi2-core (2.55.0.1-1) unstable; urgency=medium
+
+ * New upstream release (Closes: #1093025)
+
+ -- Samuel Thibault Tue, 14 Jan 2025 20:11:03 +0100
+
+at-spi2-core (2.55.0-1) unstable; urgency=medium
+
+ [ Samuel Thibault ]
+ * New upstream release
+
+ [ Helmut Grohne ]
+ * Improve cross building: Skip documentation in arch-only build.
+ (Closes: Bug#1087292)
+
+ -- Samuel Thibault Sat, 11 Jan 2025 01:49:07 +0100
+
+at-spi2-core (2.54.0-1) unstable; urgency=medium
+
+ * Team upload
+
+ [ Jeremy Bícha ]
+ * New upstream release
+ * Remove 2 patches applied in new release
+
+ [ Samuel Thibault ]
+ * control: Tighten version dependencies between at-spi2-core packages.
+
+ -- Jeremy Bícha Mon, 16 Sep 2024 07:34:32 -0400
+
+at-spi2-core (2.53.1-2) unstable; urgency=medium
+
+ * patches/git-push-button-enum.patch: Cherry-pick fix for push button enum
+ break (Closes: #1078244).
+
+ -- Samuel Thibault Thu, 22 Aug 2024 23:58:39 +0200
+
+at-spi2-core (2.53.1-1) unstable; urgency=medium
+
+ * Team upload
+
+ [ Jeremy Bícha ]
+ * New upstream release (Closes: #998429)
+ * Cherry-pick patch related to the "push button" → "button" rename
+
+ [ Samuel Thibault ]
+ * tests/*: Always unpatch on exit.
+ * test build profiles
+
+ -- Jeremy Bícha Wed, 07 Aug 2024 08:54:05 -0400
+
+at-spi2-core (2.52.0-1) unstable; urgency=medium
+
+ * Team upload
+
+ [ Jeremy Bícha ]
+ * New upstream release
+ * Drop 3 patches applied in new release
+
+ [ Samuel Thibault ]
+ * d/control, rules: Revert 2.51.90-4 changes, now that architectures have
+ caught up.
+
+ -- Jeremy Bícha Fri, 29 Mar 2024 10:11:50 -0400
+
+at-spi2-core (2.51.90-4) unstable; urgency=medium
+
+ [ Simon McVittie ]
+ * d/control, d/rules: Temporarily only use dbus-broker on 64-bit
+ architectures, plus i386.
+ This breaks a dependency cycle on the architectures affected by the
+ 64-bit time_t transition:
+ at-spi2-core, dbus-broker, systemd, cryptsetup, libssh, openssh-server,
+ gtk+3.0, at-spi-2-core. It can be reverted after the transition has
+ finished. (Partially reopens: #998062)
+ * d/control, d/rules: Temporarily skip tests on 32-bit except for i386.
+ This allows at-spi2-core to be re-bootstrapped on those architectures
+ during the 64-bit time_t transition. It normally has a circular
+ build-dependency on an older version of itself. (Closes: #1066844)
+
+ -- Samuel Thibault Thu, 14 Mar 2024 11:43:19 +0100
+
+at-spi2-core (2.51.90-3) unstable; urgency=medium
+
+ * patches/missing-function-declaration: Fix build with qa=+bug-implicit-func.
+ Closes: Bug#1066283.
+
+ -- Samuel Thibault Wed, 13 Mar 2024 11:44:52 +0100
+
+at-spi2-core (2.51.90-2) unstable; urgency=medium
+
+ * control: Replace libgirepository1.0-dev build-dep with gir1.2-dbus-1.0-dev
+ gir1.2-glib-2.0-dev gir1.2-gobject-2.0-dev. Closes: Bug#1065316.
+
+ -- Samuel Thibault Sun, 03 Mar 2024 02:19:20 +0100
+
+at-spi2-core (2.51.90-1) unstable; urgency=medium
+
+ * Team upload
+
+ [ Jeremy Bícha ]
+ * New upstream release
+ * Cherry-pick patches to drop new libei dependency
+ * debian/*.symbols: Add new symbols
+
+ [ Samuel Thibault ]
+ * control: Add Depends: ${gir:Depends} and Provides: ${gir:Provides}
+ (Closes: Bug#1061083)
+ * control: Replace pkg-config deps with pkgconf
+
+ -- Jeremy Bícha Wed, 28 Feb 2024 10:20:22 -0500
+
+at-spi2-core (2.50.0-1.1) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * Rename libraries for 64-bit time_t transition. Closes: #1061923
+
+ -- Steve Langasek Wed, 28 Feb 2024 01:56:17 +0000
+
at-spi2-core (2.50.0-1) unstable; urgency=medium
* New upstream version 2.50.0
diff --git a/debian/control b/debian/control
index 73ab3b4..20d5285 100644
--- a/debian/control
+++ b/debian/control
@@ -3,23 +3,28 @@ Section: misc
Priority: optional
Maintainer: Debian Accessibility Team
Uploaders: Samuel Thibault , Jordi Mallach
-Build-Depends: debhelper-compat (= 13),
- dbus, libdbus-1-dev,
- dbus-broker [linux-any], libsystemd-dev [linux-any],
+Build-Depends: dpkg-dev (>= 1.22.5), debhelper-compat (= 13), dh-sequence-python3,
+ libdbus-1-dev,
+ libsystemd-dev [linux-any],
libglib2.0-dev (>= 2.62),
libxml2-dev,
libx11-dev, libxtst-dev,
- meson (>= 0.63.0),
- pkg-config,
- libgirepository1.0-dev,
- gtk-doc-tools, gi-docgen, python3-sphinx,
+ meson (>= 0.64.0),
+ pkgconf,
+ gir1.2-dbus-1.0-dev,
+ gir1.2-glib-2.0-dev,
+ gir1.2-gobject-2.0-dev,
gobject-introspection | dh-sequence-gir,
xauth ,
xvfb ,
at-spi2-core ,
+ dbus-daemon ,
Build-Depends-Indep: docbook-xml ,
+ gi-docgen,
+ gtk-doc-tools,
libglib2.0-doc ,
- libglib2.0-dev-bin
+ libglib2.0-dev-bin ,
+ python3-sphinx,
Rules-Requires-Root: no
Standards-Version: 4.6.2
Vcs-Browser: https://salsa.debian.org/a11y-team/at-spi2-core
@@ -29,7 +34,8 @@ Homepage: https://wiki.gnome.org/Accessibility
Package: at-spi2-core
Architecture: any
Multi-Arch: foreign
-Depends: ${misc:Depends}, ${shlibs:Depends}, at-spi2-common, gsettings-desktop-schemas
+Depends: ${misc:Depends}, ${shlibs:Depends}, at-spi2-common, gsettings-desktop-schemas,
+ libatspi2.0-0 (= ${binary:Version})
Description: Assistive Technology Service Provider Interface (D-Bus core)
This package contains the core components of GNOME Accessibility.
@@ -74,13 +80,15 @@ Package: libatspi2.0-dev
Section: libdevel
Architecture: any
Multi-Arch: same
-Depends: ${misc:Depends},
+Depends: ${gir:Depends},
+ ${misc:Depends},
gir1.2-atspi-2.0 (= ${binary:Version}),
libatspi2.0-0 (= ${binary:Version}),
libglib2.0-dev,
libdbus-1-dev,
- libxtst-dev
+ libxtst-dev,
Replaces: gir-repository-dev
+Provides: ${gir:Provides}
Description: Development files for the assistive technology service provider
These are the development files for at-spi2, needed for compilation of
programs which use it.
@@ -92,9 +100,11 @@ Multi-Arch: same
Depends: ${misc:Depends},
${shlibs:Depends},
${gir:Depends},
- libatspi2.0-0 (>= ${binary:Version})
+ ${python3:Depends},
+ libatspi2.0-0 (= ${binary:Version})
Replaces: gir1.0-gtk-2.0 (<< 2.22),
gobject-introspection-repository
+Breaks: python3-pyatspi (<< 2.57.0-1)
Description: Assistive Technology Service Provider (GObject introspection)
This package can be used by other packages using the GIRepository format to
generate dynamic bindings
@@ -117,7 +127,7 @@ Replaces: at-spi
Provides: at-spi
Depends: ${misc:Depends},
${shlibs:Depends},
- libatk-bridge2.0-0 (>= ${binary:Version})
+ libatk-bridge2.0-0 (= ${binary:Version})
Description: AT-SPI 2 toolkit bridge
This package includes a gtk-module that bridges ATK to the new
D-Bus based AT-SPI.
@@ -135,7 +145,9 @@ Section: libs
Architecture: any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
-Depends: ${misc:Depends}, ${shlibs:Depends}
+Depends: ${misc:Depends}, ${shlibs:Depends},
+ libatspi2.0-0 (= ${binary:Version}),
+ libatk1.0-0 (= ${binary:Version}),
Description: AT-SPI 2 toolkit bridge - shared library
This package contains the ATK bridge shared library.
@@ -155,7 +167,7 @@ Depends: ${misc:Depends},
libatk-bridge2.0-0 (= ${binary:Version}),
libatk1.0-dev,
libglib2.0-dev,
- libatspi2.0-dev
+ libatspi2.0-dev (= ${binary:Version})
Description: Development files for the AT-SPI 2 toolkit bridge
These are the development files for libatk-bridge2.0, needed for
compilation of programs which use it.
@@ -195,12 +207,14 @@ Package: libatk1.0-dev
Section: libdevel
Architecture: any
Multi-Arch: same
-Depends: ${misc:Depends},
+Depends: ${gir:Depends},
+ ${misc:Depends},
libatk1.0-0 (= ${binary:Version}),
gir1.2-atk-1.0 (= ${binary:Version}),
- pkg-config,
- libglib2.0-dev
+ pkgconf,
+ libglib2.0-dev,
Replaces: gir-repository-dev
+Provides: ${gir:Provides}
Description: Development files for the ATK accessibility toolkit
ATK is a toolkit providing accessibility interfaces for applications or
other toolkits. By implementing these interfaces, those other toolkits or
@@ -234,7 +248,8 @@ Architecture: any
Multi-Arch: same
Depends: ${misc:Depends},
${shlibs:Depends},
- ${gir:Depends}
+ ${gir:Depends},
+ libatk1.0-0 (= ${binary:Version})
Description: ATK accessibility toolkit (GObject introspection)
ATK is a toolkit providing accessibility interfaces for applications or
other toolkits. By implementing these interfaces, those other toolkits or
diff --git a/debian/copyright b/debian/copyright
index 8f818c3..fb23717 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -11,6 +11,9 @@ Copyright: 2001-2003 Sun Microsystems Inc.
2008-2010 Codethink Ltd.
License: LGPL-2+
+Files: meson.build
+License: LGPL-2.1
+
Files: atk/*
Copyright: 2001, 2002, 2003, 2006, 2007 Sun Microsystems Inc.
License: LGPL-2+
@@ -201,11 +204,6 @@ Files: atspi/atspi-device.c
Copyright: 2020 SUSE LLC.
License: LGPL-2.1+
-Files: atspi/atspi-mutter.c
- atspi/atspi-mutter-private.h
-Copyright: 2019 SUSE LLC.
-License: LGPL-2.1+
-
Files: atspi/atspi-gmain.c
Copyright: 2005, Red Hat, Inc.
2002, 2003, CodeFactory AB
@@ -214,7 +212,7 @@ License: AFL-2.1 or GPL-2+
Files: atspi/atspi-gmain.h
Copyright: Copyright 2002, 2003 CodeFactory AB
Copyright 2005 Red Hat, Inc.
-License: AFL-2.1 or GPL-2+
+License: AFL-2.1 and/or GPL-2+
Files: atspi/atspi-table-cell.c
Copyright: 2013, SUSE LLC.
@@ -235,6 +233,9 @@ Copyright: Copyright 2009, Mario Lang
Akira TAGOH
License: GPL-2
+Files: doc/urlmap.js
+License: LGPL-2.1+
+
Files: droute/droute-pairhash.c
droute/droute-pairhash.h
Copyright: 2008-2010, Codethink Ltd.
@@ -333,7 +334,7 @@ Files: po/fr.po
po/oc.po
Copyright: 2011, Listed translators
Free Software Foundation, Inc.
-License: LGPL-2+
+License: LGPL-2
Files: po/gl.po
Copyright: Fran Diéguez
@@ -370,7 +371,7 @@ License: LGPL-2+
Files: po/tk.po
Copyright: Free Software Foundation
Mühemmet Amut
-License: LGPL-2+
+License: GPL
Files: po/vi.po
Copyright: GNOME i18n Project for Vietnamese
@@ -380,6 +381,10 @@ Files: po/xh.po
Copyright: Canonical Ltd.
License: LGPL-2+
+Files: python/Atspi.py
+Copyright: 2025 SUSE LLC.
+License: LGPL-2.1+
+
Files: registryd/*
Copyright: 2001, 2002, Ximian, Inc.
2001, 2002, Sun Microsystems Inc.
@@ -417,6 +422,14 @@ Copyright: NA
License: public-domain
This software is in the public domain. Share and enjoy!
+Files: tests/atspi/test-application.c
+Copyright: Gnome Accessibility Project
+License: LGPL-2.1+
+
+Files: tests/dbusmock/mock-gnome-session.py
+Copyright: 2022 Federico Mena Quintero
+License: LGPL-3+
+
Files: tests/at-spi2-atk/*
Copyright: 2014, 2015, Samsung Electronics Co., Ltd.
License: LGPL-2.1+
@@ -455,6 +468,12 @@ License: LGPL-2.1+
License: AFL-2.1
Licensed under the Academic Free License version 2.1
+License: GPL
+ This file is distributed under the terms of GNU General Public License (GPL)
+ .
+ On Debian systems, the complete text of version 2 of the GNU General
+ Public License can be found in '/usr/share/common-licenses/GPL-2'.
+
License: GPL-2
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -489,3 +508,12 @@ License: LGPL-2.1+
.
On Debian systems, the complete text of version 2.1 of the GNU Library
General Public License can be found in `/usr/share/common-licenses/LGPL-2.1'.
+
+License: LGPL-3+
+ This program is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 3 of the License, or (at your option) any
+ later version.
+ .
+ On Debian systems, the complete text of version 3 of the GNU Library
+ General Public License can be found in `/usr/share/common-licenses/LGPL-3'.
diff --git a/debian/gir1.2-atspi-2.0.install b/debian/gir1.2-atspi-2.0.install
index 6c1ce36..6a69e2c 100644
--- a/debian/gir1.2-atspi-2.0.install
+++ b/debian/gir1.2-atspi-2.0.install
@@ -1 +1,2 @@
usr/lib/*/girepository-1.0/Atspi-*
+usr/lib/python3/dist-packages/gi
diff --git a/debian/libatk-adaptor.lintian-overrides b/debian/libatk-adaptor.lintian-overrides
index bb17caa..53309e7 100644
--- a/debian/libatk-adaptor.lintian-overrides
+++ b/debian/libatk-adaptor.lintian-overrides
@@ -1,2 +1,2 @@
# Yes, it does not use any symbol from libc, only glib, it's really just a very simple module bridge
-library-not-linked-against-libc [usr/lib/*/gtk-2.0/modules/libatk-bridge.so]
+#library-not-linked-against-libc [usr/lib/*/gtk-2.0/modules/libatk-bridge.so]
diff --git a/debian/libatk-bridge2.0-0.symbols b/debian/libatk-bridge2.0-0.symbols
index 09165fd..76aa473 100644
--- a/debian/libatk-bridge2.0-0.symbols
+++ b/debian/libatk-bridge2.0-0.symbols
@@ -10,7 +10,6 @@ libatk-bridge-2.0.so.0 libatk-bridge2.0-0 #MINVER#
atk_bridge_set_event_context@Base 2.18.1-2~
droute_add_many@Base 2.26.0
droute_add_one@Base 2.26.0
- droute_context_deregister@Base 2.26.0
droute_context_register@Base 2.26.0
droute_context_unregister@Base 2.26.0
droute_free@Base 2.26.0
@@ -28,6 +27,7 @@ libatk-bridge-2.0.so.0 libatk-bridge2.0-0 #MINVER#
droute_return_v_int32@Base 2.26.0
droute_return_v_object@Base 2.26.0
droute_return_v_string@Base 2.26.0
+ droute_return_v_uint32@Base 2.59.0
droute_unintercept_dbus@Base 2.26.0
methods@Base 2.26.0
socket_ref_state_set@Base 2.26.0
@@ -50,6 +50,7 @@ libatk-bridge-2.0.so.0 libatk-bridge2.0-0 #MINVER#
spi_dbus_demarshal_deviceEvent@Base 2.26.0
spi_dbus_emit_signal@Base 2.26.0
spi_dbus_general_error@Base 2.26.0
+ spi_dbus_get_object_from_iter@Base 2.51.90
spi_dbus_marshal_deviceEvent@Base 2.26.0
spi_dbus_message_iter_append_struct@Base 2.26.0
spi_dbus_message_iter_get_struct@Base 2.26.0
diff --git a/debian/libatk1.0-0.symbols b/debian/libatk1.0-0.symbols
index f4e75d5..00b9fe7 100644
--- a/debian/libatk1.0-0.symbols
+++ b/debian/libatk1.0-0.symbols
@@ -37,8 +37,10 @@ libatk-1.0.so.0 libatk1.0-0 #MINVER#
atk_document_get_document_type@Base 1.12.4
atk_document_get_locale@Base 1.12.4
atk_document_get_page_count@Base 2.11.6
+ atk_document_get_text_selections@Base 2.51.90
atk_document_get_type@Base 1.12.4
atk_document_set_attribute_value@Base 1.12.4
+ atk_document_set_text_selections@Base 2.51.90
atk_editable_text_copy_text@Base 1.12.4
atk_editable_text_cut_text@Base 1.12.4
atk_editable_text_delete_text@Base 1.12.4
@@ -108,6 +110,7 @@ libatk-1.0.so.0 libatk1.0-0 #MINVER#
atk_object_get_accessible_id@Base 2.33.1
atk_object_get_attributes@Base 1.12.4
atk_object_get_description@Base 1.12.4
+ atk_object_get_help_text@Base 2.51.90
atk_object_get_index_in_parent@Base 1.12.4
atk_object_get_layer@Base 1.12.4
atk_object_get_mdi_zorder@Base 1.12.4
@@ -127,6 +130,7 @@ libatk-1.0.so.0 libatk1.0-0 #MINVER#
atk_object_remove_relationship@Base 1.12.4
atk_object_set_accessible_id@Base 2.33.1
atk_object_set_description@Base 1.12.4
+ atk_object_set_help_text@Base 2.51.90
atk_object_set_name@Base 1.12.4
atk_object_set_parent@Base 1.12.4
atk_object_set_role@Base 1.12.4
diff --git a/debian/patches/at-spi-by-default b/debian/patches/at-spi-by-default
index 928c221..6d1177f 100644
--- a/debian/patches/at-spi-by-default
+++ b/debian/patches/at-spi-by-default
@@ -4,14 +4,12 @@ Subject: at-spi-by-default
Accessibility is now always started by default, ready for use
---
- bus/at-spi-dbus-bus.desktop.in | 2 --
+ bus/at-spi-dbus-bus.desktop.in | 2 --
1 file changed, 2 deletions(-)
-diff --git a/bus/at-spi-dbus-bus.desktop.in b/bus/at-spi-dbus-bus.desktop.in
-index a45d27e..22f6b75 100644
--- a/bus/at-spi-dbus-bus.desktop.in
+++ b/bus/at-spi-dbus-bus.desktop.in
-@@ -2,8 +2,6 @@
+@@ -2,9 +2,7 @@
Type=Application
Name=AT-SPI D-Bus Bus
Exec=@libexecdir@/at-spi-bus-launcher --launch-immediately
@@ -20,3 +18,4 @@ index a45d27e..22f6b75 100644
-AutostartCondition=GSettings org.gnome.desktop.interface toolkit-accessibility
X-GNOME-AutoRestart=true
X-GNOME-Autostart-Phase=Initialization
+ X-systemd-skip=true
diff --git a/debian/patches/atspi-misc b/debian/patches/atspi-misc
new file mode 100644
index 0000000..6e00310
--- /dev/null
+++ b/debian/patches/atspi-misc
@@ -0,0 +1,22 @@
+commit c2d990351c51da9fb38b17dc2609a82bea3b116f
+Author: Samuel Thibault
+Date: Fri Feb 6 20:05:31 2026 +0100
+
+ Fix standalone compilation of atspi-misc.h
+
+diff --git a/atspi/atspi-misc.h b/atspi/atspi-misc.h
+index b3d365bb..21bd69ae 100644
+--- a/atspi/atspi-misc.h
++++ b/atspi/atspi-misc.h
+@@ -25,6 +25,11 @@
+
+ #pragma once
+
++#include
++#include
++
++#include "atspi-constants.h"
++
+ G_BEGIN_DECLS
+
+ int atspi_init (void);
diff --git a/debian/patches/series b/debian/patches/series
index 369fd7a..43d4503 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
at-spi-by-default
workaround_tests_issue.patch
+atspi-misc
diff --git a/debian/patches/workaround_tests_issue.patch b/debian/patches/workaround_tests_issue.patch
index e2f7ba7..67ab44a 100644
--- a/debian/patches/workaround_tests_issue.patch
+++ b/debian/patches/workaround_tests_issue.patch
@@ -7,7 +7,7 @@ Subject: workaround tests issue
1 file changed, 12 deletions(-)
diff --git a/tests/at-spi2-atk/test-application.c b/tests/at-spi2-atk/test-application.c
-index 6bde203..a87bec6 100644
+index 908fafc..9e35a69 100644
--- a/tests/at-spi2-atk/test-application.c
+++ b/tests/at-spi2-atk/test-application.c
@@ -32,10 +32,8 @@
@@ -21,7 +21,7 @@ index 6bde203..a87bec6 100644
#include
#include
#include
-@@ -97,15 +95,6 @@ static GOptionEntry optentries[] = {
+@@ -98,15 +96,6 @@ static GOptionEntry optentries[] = {
{ NULL }
};
@@ -37,7 +37,7 @@ index 6bde203..a87bec6 100644
int
main (int argc, char *argv[])
{
-@@ -125,7 +114,6 @@ main (int argc, char *argv[])
+@@ -126,7 +115,6 @@ main (int argc, char *argv[])
atk_bridge_adaptor_init (&argc, &argv);
mainloop = g_main_loop_new (NULL, FALSE);
diff --git a/debian/rules b/debian/rules
index d589e97..aa02a73 100755
--- a/debian/rules
+++ b/debian/rules
@@ -9,6 +9,16 @@ ifeq ($(DEB_HOST_ARCH),$(DEB_BUILD_ARCH))
configure_options += --native-file=$(CURDIR)/debian/meson/no-exe-wrapper.ini
endif
+ifeq ($(DEB_HOST_ARCH_OS),linux)
+configure_options += -Ddbus_broker=/usr/bin/dbus-broker-launch
+else
+configure_options += -Ddefault_bus=dbus-daemon \
+ -Ddbus_daemon=/usr/bin/dbus-daemon
+endif
+
+DO_PACKAGES := $(shell dh_listpackages)
+configure_options += -Ddocs=$(if $(filter at-spi2-doc libatk1.0-doc,$(DO_PACKAGES)),true,false)
+
%:
dh $@
@@ -16,9 +26,7 @@ override_dh_auto_configure:
ac_cv_lib_ICE_IceConnectionNumber=no \
dh_auto_configure -- \
-Dintrospection=enabled \
- -Ddocs=true \
- $(configure_options) \
- -Ddefault_bus=dbus-broker
+ $(configure_options)
override_dh_auto_test:
ifeq ($(filter nocheck,$(DEB_BUILD_OPTIONS)),)
diff --git a/debian/salsa-ci.yml b/debian/salsa-ci.yml
index b9846e6..54f798a 100644
--- a/debian/salsa-ci.yml
+++ b/debian/salsa-ci.yml
@@ -1,13 +1,19 @@
---
include:
- - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml
- - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml
-
-# needs cross-gir
-#test-crossbuild-arm64:
-# allow_failure: false
+ - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/recipes/debian.yml
variables:
SALSA_CI_REPROTEST_ENABLE_DIFFOSCOPE: 1
+ SALSA_CI_ENABLE_BUILD_PACKAGE_PROFILES: 1
+ SALSA_CI_DISABLE_LICENSERECON: 0
+ # needs cross-gir
+ SALSA_CI_DISABLE_CROSSBUILD_ARM64: 1
+
+test-build-profiles:
+ extends: .test-build-package-profiles
+ parallel:
+ matrix:
+ - BUILD_PROFILES: nocheck
+ - BUILD_PROFILES: nodoc
# vim: ts=2 sw=2 et sts=2 ft=yaml
diff --git a/debian/tests/memory b/debian/tests/memory
index 5efc83a..2dc9771 100755
--- a/debian/tests/memory
+++ b/debian/tests/memory
@@ -5,6 +5,8 @@ set -e
WORKDIR=$AUTOPKGTEST_TMP
SRCDIR=$PWD
+trap "cd $SRCDIR ; patch -p1 -R < debian/tests-patches/test-application-path.patch" 0
+
patch -p1 < debian/tests-patches/test-application-path.patch 2>&1 || true
@@ -31,6 +33,3 @@ ${CROSS_COMPILE}gcc tests/atspi/memory.c -o $WORKDIR/memory \
unset XDG_RUNTIME_DIR
cd $WORKDIR
exec xvfb-run -s -noreset -a dbus-run-session --dbus-daemon $SRCDIR/debian/tests/dbus-daemon -- ./memory
-
-cd $SRCDIR
-patch -p1 -R < debian/tests-patches/test-application-path.patch
diff --git a/debian/tests/tests b/debian/tests/tests
index 4bdcc4b..6603392 100644
--- a/debian/tests/tests
+++ b/debian/tests/tests
@@ -5,6 +5,8 @@ set -e
WORKDIR=$AUTOPKGTEST_TMP
SRCDIR=$PWD
+trap "cd $SRCDIR ; patch -p1 -R < debian/tests-patches/use_system_atk_adaptor.patch" 0
+
patch -p1 < debian/tests-patches/use_system_atk_adaptor.patch 2>&1 || true
cd $WORKDIR
@@ -23,6 +25,3 @@ fi
meson $SRCDIR ${cross_file:+--cross-file $cross_file} 2>&1
ninja -v 2>&1
xvfb-run -s -noreset -a dbus-run-session --dbus-daemon $SRCDIR/debian/tests/dbus-daemon -- ninja test -v
-
-cd $SRCDIR
-patch -p1 -R < debian/tests-patches/use_system_atk_adaptor.patch
diff --git a/devel-docs/at-spi3.rst b/devel-docs/at-spi3.rst
index ea5e5e5..7cb62f7 100644
--- a/devel-docs/at-spi3.rst
+++ b/devel-docs/at-spi3.rst
@@ -1,6 +1,8 @@
AT-SPI 3 roadmap
================
+Note: this document may be obsolete. See also new-protocol.rst.
+
This document is a place to collect changes that we should consider for a
future version of the API.
diff --git a/devel-docs/index.rst b/devel-docs/index.rst
index 34c022f..6c0178c 100644
--- a/devel-docs/index.rst
+++ b/devel-docs/index.rst
@@ -34,7 +34,7 @@ Development guide for the accessibility infrastructure
gitlab-ci
-Welcome to the developer's guide for the freedesktop accessbility
+Welcome to the developer's guide for the freedesktop accessibility
infrastructure. This guide intends to become a repository of
knowledge on the implementation of the accessibility infrastructure,
as well as a guide for application developers and toolkit developers
diff --git a/devel-docs/meson.build b/devel-docs/meson.build
index 18f391a..faaa674 100644
--- a/devel-docs/meson.build
+++ b/devel-docs/meson.build
@@ -79,10 +79,7 @@ docs_sources = [
# and just do the build from there.
copied_docs_sources = []
foreach i: docs_sources
- copied_docs_sources += configure_file(copy: true, input: i, output: i)
-
- # When we bump meson to 0.64 or later, replace the line above with this:
- # copied_docs_sources += fs.copyfile(i)
+ copied_docs_sources += fs.copyfile(i)
endforeach
custom_target(
diff --git a/droute/droute-pairhash.h b/droute/droute-pairhash.h
index 54aec93..b18005e 100644
--- a/droute/droute-pairhash.h
+++ b/droute/droute-pairhash.h
@@ -19,8 +19,8 @@
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
-#ifndef _DROUTE_PAIRHASH_H
-#define _DROUTE_PAIRHASH_H
+
+#pragma once
#include
@@ -37,5 +37,3 @@ StrPair *str_pair_new (const gchar *one,
guint str_pair_hash (gconstpointer key);
gboolean str_pair_equal (gconstpointer a,
gconstpointer b);
-
-#endif /* _DROUTE_PAIRHASH_H */
diff --git a/droute/droute-variant.c b/droute/droute-variant.c
index b6ebb72..148c9b7 100644
--- a/droute/droute-variant.c
+++ b/droute/droute-variant.c
@@ -42,6 +42,20 @@ droute_return_v_int32 (DBusMessageIter *iter, dbus_int32_t val)
return TRUE;
}
+dbus_bool_t
+droute_return_v_uint32 (DBusMessageIter *iter, dbus_uint32_t val)
+{
+ DBusMessageIter sub;
+
+ if (!dbus_message_iter_open_container (iter, DBUS_TYPE_VARIANT, DBUS_TYPE_UINT32_AS_STRING, &sub))
+ {
+ return FALSE;
+ }
+ dbus_message_iter_append_basic (&sub, DBUS_TYPE_UINT32, &val);
+ dbus_message_iter_close_container (iter, &sub);
+ return TRUE;
+}
+
dbus_bool_t
droute_return_v_double (DBusMessageIter *iter, double val)
{
diff --git a/droute/droute-variant.h b/droute/droute-variant.h
index ca0da2d..f190f5e 100644
--- a/droute/droute-variant.h
+++ b/droute/droute-variant.h
@@ -19,17 +19,16 @@
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
-#ifndef _DROUTE_VARIANT_H
-#define _DROUTE_VARIANT_H
+
+#pragma once
#include
dbus_bool_t droute_return_v_int32 (DBusMessageIter *iter, dbus_int32_t val);
+dbus_bool_t droute_return_v_uint32 (DBusMessageIter *iter, dbus_uint32_t val);
dbus_bool_t droute_return_v_double (DBusMessageIter *iter, double val);
dbus_bool_t droute_return_v_string (DBusMessageIter *iter, const char *val);
dbus_bool_t droute_return_v_object (DBusMessageIter *iter, const char *path);
dbus_int32_t droute_get_v_int32 (DBusMessageIter *iter);
const char *droute_get_v_string (DBusMessageIter *iter);
-
-#endif /* _DROUTE_VARIANT_H */
diff --git a/droute/droute.c b/droute/droute.c
index 45c0e09..0bf6c7b 100644
--- a/droute/droute.c
+++ b/droute/droute.c
@@ -718,13 +718,6 @@ droute_context_unregister (DRouteContext *cnx, DBusConnection *bus)
bus);
}
-void
-droute_context_deregister (DRouteContext *cnx, DBusConnection *bus)
-{
- g_ptr_array_foreach (cnx->registered_paths, (GFunc) droute_path_unregister,
- bus);
-}
-
void
droute_intercept_dbus (DBusConnection *bus)
{
diff --git a/droute/droute.h b/droute/droute.h
index 3d9e480..ff45422 100644
--- a/droute/droute.h
+++ b/droute/droute.h
@@ -20,8 +20,8 @@
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
-#ifndef _DROUTE_H
-#define _DROUTE_H
+
+#pragma once
#include
#include
@@ -111,4 +111,3 @@ droute_intercept_dbus (DBusConnection *connection);
void
droute_unintercept_dbus (DBusConnection *connection);
-#endif /* _DROUTE_H */
diff --git a/meson.build b/meson.build
index e3a06b5..b08eeb8 100644
--- a/meson.build
+++ b/meson.build
@@ -1,14 +1,14 @@
project('at-spi2-core', 'c',
- version: '2.50.0',
+ version: '2.59.1',
license: 'LGPLv2.1+',
default_options: [
'buildtype=debugoptimized',
'warning_level=1',
'c_std=c99',
],
- meson_version: '>= 0.63.0')
+ meson_version: '>= 0.64.0')
-add_project_arguments([ '-D_POSIX_C_SOURCE=200809L', '-D_DEFAULT_SOURCE' ], language: 'c')
+add_project_arguments([ '-D_XOPEN_SOURCE=700', '-D_GNU_SOURCE' ], language: 'c')
fs = import('fs')
@@ -85,6 +85,7 @@ endif
# Maintain compatibility with autotools on macOS
if host_machine.system() == 'darwin'
common_ldflags += [ '-compatibility_version', darwin_versions[0], '-current_version', darwin_versions[1]]
+ add_project_arguments([ '-D_DARWIN_C_SOURCE' ], language: 'c')
endif
# Functions
@@ -123,6 +124,7 @@ at_spi_conf.set_quoted('ATSPI_LOCALEDIR', join_paths(atspi_datadir, 'locale'))
# Dependencies
libdbus_req_version = '>= 1.5'
+dbus_glib_req_version = '>= 0.104'
glib_req_version = '>= 2.67.4'
gobject_req_version = '>= 2.0.0'
gmodule_req_version = '>= 2.0.0'
@@ -131,6 +133,8 @@ libxml_req_version = '>= 2.9.1'
if not get_option('atk_only')
libdbus_dep = dependency('dbus-1', version: libdbus_req_version)
+ dbus_glib_dep = dependency('dbus-glib-1', version: dbus_glib_req_version, required: get_option('dbus_glib'))
+ at_spi_conf.set('HAVE_DBUS_GLIB', dbus_glib_dep.found())
endif
glib_dep = dependency('glib-2.0', version: glib_req_version)
@@ -187,6 +191,11 @@ at_spi_conf.set('ALIGNOF_DBIND_STRUCT', cc.alignment('dbind_struct', prefix: 'ty
gir = find_program('g-ir-scanner', required : get_option('introspection'))
have_gir = gir.found() and (not meson.is_cross_build() or get_option('introspection').enabled())
+if not get_option('atk_only')
+ pymod = import('python')
+ python = pymod.find_installation(get_option('python'), pure: false)
+endif
+
xgettext = find_program('xgettext', required : false)
configure_file(output: 'config.h', configuration: at_spi_conf)
@@ -194,12 +203,6 @@ configure_file(output: 'config.h', configuration: at_spi_conf)
pkgconfig = import('pkgconfig')
gnome = import('gnome')
-if get_option('disable_p2p')
- p2p_cflags = [ '-DDISABLE_P2P' ]
-else
- p2p_cflags = []
-endif
-
subdir('atk')
if not get_option('atk_only')
@@ -214,6 +217,9 @@ if not get_option('atk_only')
subdir('droute')
subdir('atk-adaptor')
subdir('tests')
+ if python.found()
+ subdir('python')
+ endif
endif
if get_option('docs')
diff --git a/meson_options.txt b/meson_options.txt
index bfe3363..3670c3b 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -14,7 +14,7 @@ option('default_bus',
description: 'The default DBus implementation to use',
type: 'combo',
choices: ['dbus-daemon', 'dbus-broker'],
- value: 'dbus-daemon')
+ value: 'dbus-broker')
option('use_systemd',
description: 'Use systemd if available (needed for dbus-broker)',
type: 'boolean',
@@ -40,11 +40,12 @@ option('x11',
description: 'Enable X11 support',
type: 'feature',
value: 'auto')
-option('disable_p2p',
- description: 'Disable peer-to-peer DBus connections for at-spi2-atk',
- type: 'boolean',
- value: false)
option('atk_only',
description: 'Build only the ATK stub library without atspi or at-spi2-atk (UNSUPPORTED)',
type: 'boolean',
value: false)
+option('python', type : 'string', value : 'python3')
+option('dbus_glib',
+ description: 'Use dbus-glib for main loop integration',
+ type: 'feature',
+ value: 'disabled')
diff --git a/po/LINGUAS b/po/LINGUAS
index 5068d42..cde0fd8 100644
--- a/po/LINGUAS
+++ b/po/LINGUAS
@@ -46,6 +46,7 @@ is
it
ja
ka
+kab
kk
km
kn
@@ -91,6 +92,7 @@ tr
tt
ug
uk
+uz
uz@cyrillic
vi
wa
diff --git a/po/POTFILES.skip b/po/POTFILES.skip
new file mode 100644
index 0000000..3fc014d
--- /dev/null
+++ b/po/POTFILES.skip
@@ -0,0 +1,3 @@
+# List of source files that should *not* be translated.
+# Please keep this file sorted alphabetically.
+tests/at-spi2-atk/atk_test_accessible.c
diff --git a/po/az.po b/po/az.po
index e627245..4cf1210 100644
--- a/po/az.po
+++ b/po/az.po
@@ -1,535 +1,821 @@
-# translation of atk.HEAD.az.po to Azerbaijani
-# translation of atk.HEAD.az.po to Azerbaijani Turkish
-# Copyright (C) 2003 Mətin Əmirov
-# This file is distributed under the same license as the atk package.
-# Mətin Əmirov , 2003, 2004.
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2025 THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# Ramal Rəhimov , 2025.
#
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: atk.HEAD.az\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-21 15:05+0800\n"
-"PO-Revision-Date: 2004-08-18 20:10+0300\n"
-"Last-Translator: Mətin Əmirov \n"
-"Language-Team: Azerbaijani \n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/at-spi2-core/issues/\n"
+"POT-Creation-Date: 2025-06-01 14:06+0000\n"
+"PO-Revision-Date: 2025-06-04 01:12+0400\n"
+"Last-Translator: Ramal Rəhimov \n"
+"Language-Team: Azerbaijani \n"
"Language: az\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.3.1\n"
-#: atk/atkhyperlink.c:103
+#: atk/atkhyperlink.c:127
msgid "Selected Link"
-msgstr "Seçili Körpü"
+msgstr "Seçilmiş Link"
-#: atk/atkhyperlink.c:104
+#: atk/atkhyperlink.c:128
msgid "Specifies whether the AtkHyperlink object is selected"
-msgstr "AtkHyperlink cisminin seçildiyini bildirir"
+msgstr "AtkHyperlink obyektinin seçilib-seçilmədiyini göstərir"
-#: atk/atkhyperlink.c:110
+#: atk/atkhyperlink.c:134
msgid "Number of Anchors"
-msgstr "Lövbər Sayı"
+msgstr "Ankorların Sayı"
-#: atk/atkhyperlink.c:111
+#: atk/atkhyperlink.c:135
msgid "The number of anchors associated with the AtkHyperlink object"
-msgstr "AtkHyperlink cismi ilə əlaqələndirilmiş lövbər ədədini bildirir."
+msgstr "AtkHyperlink obyektinə bağlı ankorların sayı"
-#: atk/atkhyperlink.c:119
+#: atk/atkhyperlink.c:143
msgid "End index"
msgstr "Son indeks"
-#: atk/atkhyperlink.c:120
+#: atk/atkhyperlink.c:144
msgid "The end index of the AtkHyperlink object"
-msgstr "AtkHyperlink cisminin son indeksi"
+msgstr "AtkHyperlink obyektinin son indeksi"
-#: atk/atkhyperlink.c:128
+#: atk/atkhyperlink.c:152
msgid "Start index"
-msgstr "Başlanğıc indeksi"
+msgstr "Başlanğıc indeks"
-#: atk/atkhyperlink.c:129
+#: atk/atkhyperlink.c:153
msgid "The start index of the AtkHyperlink object"
-msgstr "AtkHyperlink cisminin başlanğıc indeksi"
+msgstr "AtkHyperlink obyektinin başlanğıc indeksi"
+
+#: atk/atkobject.c:273
+msgid "Accessible Name"
+msgstr "Erişimli Ad"
+
+#: atk/atkobject.c:274
+msgid "Object instance’s name formatted for assistive technology access"
+msgstr "Yardım texnologiyalarına giriş üçün formatlaşdırılmış obyekt instansının adı"
+
+#: atk/atkobject.c:280
+msgid "Accessible Description"
+msgstr "Erişimli Təsvir"
+
+#: atk/atkobject.c:281
+msgid "Description of an object, formatted for assistive technology access"
+msgstr "Yardım texnologiyalarına giriş üçün formatlaşdırılmış obyektin təsviri"
+
+#: atk/atkobject.c:287
+msgid "Accessible Parent"
+msgstr "Erişimli Valideyn"
+
+#: atk/atkobject.c:288
+msgid "Parent of the current accessible as returned by atk_object_get_parent()"
+msgstr "atk_object_get_parent() tərəfindən qaytarılan cari erişimlərin valideyni"
+
+#: atk/atkobject.c:304
+msgid "Accessible Value"
+msgstr "Erişimli Dəyər"
+
+#: atk/atkobject.c:305
+msgid "Is used to notify that the value has changed"
+msgstr "Dəyərin dəyişdiyini xəbərdar etmək üçün istifadə olunur"
+
+#: atk/atkobject.c:313
+msgid "Accessible Role"
+msgstr "Erişimli Rol"
+
+#: atk/atkobject.c:314
+msgid "The accessible role of this object"
+msgstr "Bu obyektin erişimlə rolü"
+
+#: atk/atkobject.c:321
+msgid "Accessible Layer"
+msgstr "Erişimli Təbəqə"
+
+#: atk/atkobject.c:322
+msgid "The accessible layer of this object"
+msgstr "Bu obyektin erişimlə təbəqəsi"
+
+#: atk/atkobject.c:330
+msgid "Accessible MDI Value"
+msgstr "Erişimli MDI Dəyəri"
+
+#: atk/atkobject.c:331
+msgid "The accessible MDI value of this object"
+msgstr "Bu obyektin erişimlə MDI dəyəri"
+
+#: atk/atkobject.c:347
+msgid "Accessible Table Caption"
+msgstr "Erişimli Cədvəl Başlığı"
+
+#: atk/atkobject.c:348
+msgid ""
+"Is used to notify that the table caption has changed; this property should "
+"not be used. accessible-table-caption-object should be used instead"
+msgstr ""
+"Cədvəl başlığının dəyişdiyini xəbərdar etmək üçün istifadə olunur; bu xüsusiyyət "
+"istifadə edilməməlidir. Əvəzinə accessible-table-caption-object istifadə "
+"edilmelidir"
+
+#: atk/atkobject.c:362
+msgid "Accessible Table Column Header"
+msgstr "Erişimli Cədvəl Sütun Başlığı"
+
+#: atk/atkobject.c:363
+msgid "Is used to notify that the table column header has changed"
+msgstr "Cədvəl sütun başlığının dəyişdiyini xəbərdar etmək üçün istifadə olunur"
+
+#: atk/atkobject.c:378
+msgid "Accessible Table Column Description"
+msgstr "Erişimli Cədvəl Sütun Təsviri"
+
+#: atk/atkobject.c:379
+msgid "Is used to notify that the table column description has changed"
+msgstr "Cədvəl sütun təsvirinin dəyişdiyini xəbərdar etmək üçün istifadə olunur"
+
+#: atk/atkobject.c:394
+msgid "Accessible Table Row Header"
+msgstr "Erişimli Cədvəl Sətir Başlığı"
+
+#: atk/atkobject.c:395
+msgid "Is used to notify that the table row header has changed"
+msgstr "Cədvəl sətir başlığının dəyişdiyini xəbərdar etmək üçün istifadə olunur"
+
+#: atk/atkobject.c:409
+msgid "Accessible Table Row Description"
+msgstr "Erişimli Cədvəl Sətir Təsviri"
+
+#: atk/atkobject.c:410
+msgid "Is used to notify that the table row description has changed"
+msgstr "Cədvəl sətir təsvirinin dəyişdiyini xəbərdar etmək üçün istifadə olunur"
+
+#: atk/atkobject.c:416
+msgid "Accessible Table Summary"
+msgstr "Erişimli Cədvəl Xülasəsi"
+
+#: atk/atkobject.c:417
+msgid "Is used to notify that the table summary has changed"
+msgstr "Cədvəl xülasəsinin dəyişdiyini xəbərdar etmək üçün istifadə olunur"
+
+#: atk/atkobject.c:423
+msgid "Accessible Table Caption Object"
+msgstr "Erişimli Cədvəl Başlık Obyekti"
-#: atk/atkobject.c:74
+#: atk/atkobject.c:424
+msgid "Is used to notify that the table caption has changed"
+msgstr "Cədvəl başlığının dəyişdiyini xəbərdar etmək üçün istifadə olunur"
+
+#: atk/atkobject.c:430
+msgid "Number of Accessible Hypertext Links"
+msgstr "Erişimli Hypertext Linklərinin Sayı"
+
+#: atk/atkobject.c:431
+msgid "The number of links which the current AtkHypertext has"
+msgstr "Cari AtkHypertext-in sahib olduğu linklərin sayı"
+
+#: atk/atkobject.c:440
+msgid "Accessible ID"
+msgstr "Erişimli ID"
+
+#: atk/atkobject.c:441
+msgid "ID for the accessible; useful for automated testing"
+msgstr "Erişimli üçün ID; avtomatik sınaqlar üçün faydalıdır"
+
+#: atk/atkobject.c:447
+msgid "Help text"
+msgstr "Kömək mətni"
+
+#: atk/atkobject.c:448
+msgid "Help text associated with the accessible"
+msgstr "Erişimli ilə əlaqəli kömək mətni"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:193
+msgid "very weak"
+msgstr "çox zəif"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:200
+msgid "weak"
+msgstr "zəif"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:207
+msgid "acceptable"
+msgstr "qəbul edilə bilər"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:214
+msgid "strong"
+msgstr "güclü"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:221
+msgid "very strong"
+msgstr "çox güclü"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:229
+msgid "very low"
+msgstr "çox aşağı"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:237
+msgid "medium"
+msgstr "orta"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:245
+msgid "high"
+msgstr "yüksək"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:253
+msgid "very high"
+msgstr "çox yüksək"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:261
+msgid "very bad"
+msgstr "çox pis"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:269
+msgid "bad"
+msgstr "pis"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:277
+msgid "good"
+msgstr "yaxşı"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:285
+msgid "very good"
+msgstr "çox yaxşı"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:293
+msgid "best"
+msgstr "ən yaxşı"
+
+#: atspi/atspi-component.c:352 atspi/atspi-misc.c:1234 atspi/atspi-value.c:123
+msgid "The application no longer exists"
+msgstr "Tətbiq artıq mövcud deyil"
+
+#: atspi/atspi-misc.c:49
msgid "invalid"
-msgstr "hökmsüz"
+msgstr "etibarsız"
-#: atk/atkobject.c:75
+#: atspi/atspi-misc.c:50
msgid "accelerator label"
-msgstr "sür'ətləndirici etiketi"
+msgstr "təcili etiket"
-#: atk/atkobject.c:76
+#: atspi/atspi-misc.c:51
msgid "alert"
msgstr "xəbərdarlıq"
-#: atk/atkobject.c:77
+#: atspi/atspi-misc.c:52
msgid "animation"
msgstr "animasiya"
-#: atk/atkobject.c:78
+#: atspi/atspi-misc.c:53
msgid "arrow"
msgstr "ox"
-#: atk/atkobject.c:79
+#: atspi/atspi-misc.c:54
msgid "calendar"
msgstr "təqvim"
-#: atk/atkobject.c:80
+#: atspi/atspi-misc.c:55
msgid "canvas"
-msgstr "kanvas"
+msgstr "tuval"
-#: atk/atkobject.c:81
+#: atspi/atspi-misc.c:56
msgid "check box"
-msgstr "işarələmə qutusu"
+msgstr "işarə qutusu"
-#: atk/atkobject.c:82
+#: atspi/atspi-misc.c:57
msgid "check menu item"
-msgstr "işarələmə menyusu üzvü"
+msgstr "işarəli meny elementi"
-#: atk/atkobject.c:83
+#: atspi/atspi-misc.c:58
msgid "color chooser"
-msgstr "rəng seçicisi"
+msgstr "rəng seçici"
-#: atk/atkobject.c:84
+#: atspi/atspi-misc.c:59
msgid "column header"
msgstr "sütun başlığı"
-#: atk/atkobject.c:85
+#: atspi/atspi-misc.c:60
msgid "combo box"
-msgstr "kombo qutusu"
+msgstr "birgə qutusu"
-#: atk/atkobject.c:86
+#: atspi/atspi-misc.c:61
msgid "dateeditor"
-msgstr "tarix editoru"
+msgstr "tarich redaktoru"
-#: atk/atkobject.c:87
+#: atspi/atspi-misc.c:62
msgid "desktop icon"
-msgstr "masa üstü timsalı"
+msgstr "məstənci ikonu"
-#: atk/atkobject.c:88
+#: atspi/atspi-misc.c:63
msgid "desktop frame"
-msgstr "masa üstü çərçivəsi"
+msgstr "məstənci çərçivəsi"
-#: atk/atkobject.c:89
+#: atspi/atspi-misc.c:64
msgid "dial"
-msgstr "zəng-et"
+msgstr "zəng"
-#: atk/atkobject.c:90
+#: atspi/atspi-misc.c:65
msgid "dialog"
msgstr "dialoq"
-#: atk/atkobject.c:91
+#: atspi/atspi-misc.c:66
msgid "directory pane"
-msgstr "cərgə lövhəsi"
+msgstr "kataloq paneli"
-#: atk/atkobject.c:92
+#: atspi/atspi-misc.c:67
msgid "drawing area"
-msgstr "rəsm sahəsi"
+msgstr "çəkmə sahəsi"
-#: atk/atkobject.c:93
+#: atspi/atspi-misc.c:68
msgid "file chooser"
-msgstr "fayl seçicisi"
+msgstr "fayl seçici"
-#: atk/atkobject.c:94
+#: atspi/atspi-misc.c:69
msgid "filler"
msgstr "doldurucu"
#. I know it looks wrong but that is what Java returns
-#: atk/atkobject.c:96
+#: atspi/atspi-misc.c:71
msgid "fontchooser"
-msgstr "yazı növü seçicisi"
+msgstr "şrift seçici"
-#: atk/atkobject.c:97
+#: atspi/atspi-misc.c:72
msgid "frame"
msgstr "çərçivə"
-#: atk/atkobject.c:98
+#: atspi/atspi-misc.c:73
msgid "glass pane"
-msgstr "ayna lövhəsi"
+msgstr "şüşə paneli"
-#: atk/atkobject.c:99
+#: atspi/atspi-misc.c:74
msgid "html container"
msgstr "html konteyneri"
-#: atk/atkobject.c:100
+#: atspi/atspi-misc.c:75
msgid "icon"
-msgstr "timsal"
+msgstr "ikon"
-#: atk/atkobject.c:101
+#: atspi/atspi-misc.c:76
msgid "image"
msgstr "şəkil"
-#: atk/atkobject.c:102
+#: atspi/atspi-misc.c:77
msgid "internal frame"
msgstr "daxili çərçivə"
-#: atk/atkobject.c:103
+#: atspi/atspi-misc.c:78
msgid "label"
msgstr "etiket"
-#: atk/atkobject.c:104
+#: atspi/atspi-misc.c:79
msgid "layered pane"
-msgstr "laylanmış lövhə"
+msgstr "təbəqələndirilmiş panel"
-#: atk/atkobject.c:105
+#: atspi/atspi-misc.c:80
msgid "list"
msgstr "siyahı"
-#: atk/atkobject.c:106
+#: atspi/atspi-misc.c:81
msgid "list item"
-msgstr "siyahı üzvü"
+msgstr "siyahı elementi"
-#: atk/atkobject.c:107
+#: atspi/atspi-misc.c:82
msgid "menu"
msgstr "menyu"
-#: atk/atkobject.c:108
+#: atspi/atspi-misc.c:83
msgid "menu bar"
-msgstr "menyu çubuğu"
+msgstr "menyu paneli"
+
+#: atspi/atspi-misc.c:84
+msgid "menu button"
+msgstr "menyu düyməsi"
-#: atk/atkobject.c:109
+#: atspi/atspi-misc.c:85
msgid "menu item"
-msgstr "menyu üzvü"
+msgstr "menyu elementi"
-#: atk/atkobject.c:110
+#: atspi/atspi-misc.c:86
msgid "option pane"
-msgstr "seçim lövhəsi"
+msgstr "seçenek paneli"
-#: atk/atkobject.c:111
+#: atspi/atspi-misc.c:87
msgid "page tab"
-msgstr "səhifə səkməsi"
+msgstr "səhifə vəbəri"
-#: atk/atkobject.c:112
+#: atspi/atspi-misc.c:88
msgid "page tab list"
-msgstr "səhifə səkməsi siyahısı"
+msgstr "səhifə vəbər siyahısı"
-#: atk/atkobject.c:113
+#: atspi/atspi-misc.c:89
msgid "panel"
msgstr "panel"
-#: atk/atkobject.c:114
+#: atspi/atspi-misc.c:90
msgid "password text"
-msgstr "şifrə mətni"
+msgstr "parol mətni"
-#: atk/atkobject.c:115
+#: atspi/atspi-misc.c:91
msgid "popup menu"
-msgstr "popup menyu"
+msgstr "açılan menyu"
-#: atk/atkobject.c:116
+#: atspi/atspi-misc.c:92
msgid "progress bar"
-msgstr "ilərləmə çubuğu"
+msgstr "proqres çubuğu"
-#: atk/atkobject.c:117
-msgid "push button"
-msgstr "basma düyməsi"
+#: atspi/atspi-misc.c:93
+msgid "button"
+msgstr "düymə"
-#: atk/atkobject.c:118
+#: atspi/atspi-misc.c:94
msgid "radio button"
-msgstr "qərar düyməsi"
+msgstr "radio düyməsi"
-#: atk/atkobject.c:119
+#: atspi/atspi-misc.c:95
msgid "radio menu item"
-msgstr "qərar menyusu üzvü"
+msgstr "radio meny elementi"
-#: atk/atkobject.c:120
+#: atspi/atspi-misc.c:96
msgid "root pane"
-msgstr "kök lövhə"
+msgstr "kök panel"
-#: atk/atkobject.c:121
+#: atspi/atspi-misc.c:97
msgid "row header"
msgstr "sətir başlığı"
-#: atk/atkobject.c:122
+#: atspi/atspi-misc.c:98
msgid "scroll bar"
msgstr "sürüşdürmə çubuğu"
-#: atk/atkobject.c:123
+#: atspi/atspi-misc.c:99
msgid "scroll pane"
-msgstr "sürüşdürmə lövhəsi"
+msgstr "sürüşdürmə paneli"
-#: atk/atkobject.c:124
+#: atspi/atspi-misc.c:100
msgid "separator"
-msgstr "ayırıcı"
+msgstr "ayracaq"
-#: atk/atkobject.c:125
+#: atspi/atspi-misc.c:101
msgid "slider"
-msgstr "sürüşdürücü"
+msgstr "slayder"
-#: atk/atkobject.c:126
+#: atspi/atspi-misc.c:102
msgid "split pane"
-msgstr "ayırma lövhəsi"
+msgstr "ayrılmış panel"
-#: atk/atkobject.c:127
+#: atspi/atspi-misc.c:103
msgid "spin button"
-msgstr "dönən düymə"
+msgstr "rotasiya düyməsi"
-#: atk/atkobject.c:128
+#: atspi/atspi-misc.c:104
msgid "statusbar"
-msgstr "vəziyyət-çubuğu"
+msgstr "status çubuğu"
-#: atk/atkobject.c:129
+#: atspi/atspi-misc.c:105
+msgid "switch"
+msgstr "switç"
+
+#: atspi/atspi-misc.c:106
msgid "table"
msgstr "cədvəl"
-#: atk/atkobject.c:130
+#: atspi/atspi-misc.c:107
msgid "table cell"
-msgstr "cədvəl hücrəsi"
+msgstr "cədvəl hüceyrəsi"
-#: atk/atkobject.c:131
+#: atspi/atspi-misc.c:108
msgid "table column header"
msgstr "cədvəl sütun başlığı"
-#: atk/atkobject.c:132
+#: atspi/atspi-misc.c:109
msgid "table row header"
msgstr "cədvəl sətir başlığı"
-#: atk/atkobject.c:133
+#: atspi/atspi-misc.c:110
msgid "tear off menu item"
-msgstr "qopardıla bilən menyu üzvü"
+msgstr "ayrılmış meny elementi"
-#: atk/atkobject.c:134
+#: atspi/atspi-misc.c:111
msgid "terminal"
msgstr "terminal"
-#: atk/atkobject.c:135
+#: atspi/atspi-misc.c:112
msgid "text"
msgstr "mətn"
-#: atk/atkobject.c:136
+#: atspi/atspi-misc.c:113
msgid "toggle button"
-msgstr "keçiş düyməsi"
+msgstr "açar düyməsi"
-#: atk/atkobject.c:137
+#: atspi/atspi-misc.c:114
msgid "tool bar"
-msgstr "vasitə çubuğu"
+msgstr "alət paneli"
-#: atk/atkobject.c:138
+#: atspi/atspi-misc.c:115
msgid "tool tip"
-msgstr "məsləhət"
+msgstr "alət ipucu"
-#: atk/atkobject.c:139
+#: atspi/atspi-misc.c:116
msgid "tree"
msgstr "ağac"
-#: atk/atkobject.c:140
+#: atspi/atspi-misc.c:117
msgid "tree table"
-msgstr "budaq cədvəli"
+msgstr "ağac cədvəli"
-#: atk/atkobject.c:141
+#: atspi/atspi-misc.c:118
msgid "unknown"
-msgstr "namə'lum"
+msgstr "naməlum"
-#: atk/atkobject.c:142
+#: atspi/atspi-misc.c:119
msgid "viewport"
-msgstr "nümayiş-lövhəsi"
+msgstr "görüş sahəsi"
-#: atk/atkobject.c:143
+#: atspi/atspi-misc.c:120
msgid "window"
msgstr "pəncərə"
-#: atk/atkobject.c:144
+#: atspi/atspi-misc.c:121
msgid "header"
msgstr "başlıq"
-#: atk/atkobject.c:145
+#: atspi/atspi-misc.c:122
msgid "footer"
-msgstr "altlıq"
+msgstr "alt"
-#: atk/atkobject.c:146
+#: atspi/atspi-misc.c:123
msgid "paragraph"
msgstr "paraqraf"
-#: atk/atkobject.c:147
-#, fuzzy
+#: atspi/atspi-misc.c:124
msgid "ruler"
-msgstr "xəbərdarlıq"
+msgstr "xətt"
-#: atk/atkobject.c:148
+#: atspi/atspi-misc.c:125
msgid "application"
-msgstr "tə'minat"
+msgstr "tətbiq"
-#: atk/atkobject.c:149
+#: atspi/atspi-misc.c:126
msgid "autocomplete"
-msgstr "avtomatik tamamlama"
+msgstr "avtomatik tamamlanış"
-#: atk/atkobject.c:150
+#: atspi/atspi-misc.c:127
msgid "edit bar"
-msgstr "düzəlişlər çubuğu"
+msgstr "redaktə paneli"
-#: atk/atkobject.c:151
+#: atspi/atspi-misc.c:128
msgid "embedded component"
-msgstr "daxili tərkib hissəsi"
+msgstr "daxil edilmiş komponent"
-#: atk/atkobject.c:152
+#: atspi/atspi-misc.c:129
msgid "entry"
-msgstr ""
+msgstr "giriş"
-#: atk/atkobject.c:153
-#, fuzzy
+#: atspi/atspi-misc.c:130
msgid "chart"
-msgstr "xəbərdarlıq"
+msgstr "diaqram"
-#: atk/atkobject.c:154
-#, fuzzy
+#: atspi/atspi-misc.c:131
msgid "caption"
-msgstr "tə'minat"
+msgstr "başlıq"
-#: atk/atkobject.c:155
-#, fuzzy
+#: atspi/atspi-misc.c:132
msgid "document frame"
-msgstr "masa üstü çərçivəsi"
+msgstr "sənəd çərçivəsi"
-#: atk/atkobject.c:156
-#, fuzzy
+#: atspi/atspi-misc.c:133
msgid "heading"
-msgstr "başlıq"
+msgstr "üz başlığı"
-#: atk/atkobject.c:157
-#, fuzzy
+#: atspi/atspi-misc.c:134
msgid "page"
-msgstr "şəkil"
+msgstr "səhifə"
-#: atk/atkobject.c:158
+#: atspi/atspi-misc.c:135
msgid "section"
-msgstr ""
+msgstr "bölmə"
-#: atk/atkobject.c:159
+#: atspi/atspi-misc.c:136
msgid "redundant object"
-msgstr ""
+msgstr "çoxlu obyekt"
-#: atk/atkobject.c:160
-#, fuzzy
+#: atspi/atspi-misc.c:137
msgid "form"
-msgstr "çərçivə"
+msgstr "forma"
-#: atk/atkobject.c:161
+#: atspi/atspi-misc.c:138
msgid "link"
-msgstr ""
+msgstr "link"
-#: atk/atkobject.c:162
+#: atspi/atspi-misc.c:139
msgid "input method window"
-msgstr ""
+msgstr "giriş metodunun pəncərəsi"
-#: atk/atkobject.c:488
-msgid "Accessible Name"
-msgstr "Yetişilə Bilən Ad"
+#: atspi/atspi-misc.c:140
+msgid "table row"
+msgstr "cədvəl sətri"
-#: atk/atkobject.c:489
-msgid "Object instance’s name formatted for assistive technology access"
-msgstr "Yardımçı texnologiyalara yetişmə üçün şəkilləndilirmiş cismin adı"
-
-#: atk/atkobject.c:495
-msgid "Accessible Description"
-msgstr "Yetişilə Bilən İzahat"
+#: atspi/atspi-misc.c:141
+msgid "tree item"
+msgstr "ağac elementi"
-#: atk/atkobject.c:496
-msgid "Description of an object, formatted for assistive technology access"
-msgstr "Yardımçı texnologiyalara yetişmə üçün şəkilləndilirmiş cismin izahatı"
+#: atspi/atspi-misc.c:142
+msgid "document spreadsheet"
+msgstr "sənəd cədvəli"
-#: atk/atkobject.c:502
-msgid "Accessible Parent"
-msgstr "Yetişilə Bilən Valideyn"
+#: atspi/atspi-misc.c:143
+msgid "document presentation"
+msgstr "sənəd təqdimatı"
-#: atk/atkobject.c:503
-msgid "Is used to notify that the parent has changed"
-msgstr "Valideynin dəyişildiyini bildirmək üçün işlədilir"
+#: atspi/atspi-misc.c:144
+msgid "document text"
+msgstr "sənəd mətni"
-#: atk/atkobject.c:509
-msgid "Accessible Value"
-msgstr "Yetişilə Bilən Qiymət"
+#: atspi/atspi-misc.c:145
+msgid "document web"
+msgstr "sənəd veb"
-#: atk/atkobject.c:510
-msgid "Is used to notify that the value has changed"
-msgstr "Qiymətin dəyişildiyini bildirmək üçün işlədilir"
+#: atspi/atspi-misc.c:146
+msgid "document email"
+msgstr "sənəd e-poçt"
-#: atk/atkobject.c:518
-msgid "Accessible Role"
-msgstr "Yetişilə Bilən Rol"
+#: atspi/atspi-misc.c:147
+msgid "comment"
+msgstr "şərh"
-#: atk/atkobject.c:519
-msgid "The accessible role of this object"
-msgstr "Bu üzvün yetişilə bilən rolu"
+#: atspi/atspi-misc.c:148
+msgid "list box"
+msgstr "siyahı qutusu"
-#: atk/atkobject.c:527
-msgid "Accessible Layer"
-msgstr "Yetişilə Bilən Lay"
+#: atspi/atspi-misc.c:149
+msgid "grouping"
+msgstr "qoşma"
-#: atk/atkobject.c:528
-msgid "The accessible layer of this object"
-msgstr "Bu üzvün yetişilə bilən layı"
+#: atspi/atspi-misc.c:150
+msgid "image map"
+msgstr "şəkil xəritəsi"
-#: atk/atkobject.c:536
-msgid "Accessible MDI Value"
-msgstr "Yetişilə Bilən MDI Qiyməti"
+#: atspi/atspi-misc.c:151
+msgid "notification"
+msgstr "bildiriş"
-#: atk/atkobject.c:537
-msgid "The accessible MDI value of this object"
-msgstr "Bu üzvün yetişilə bilən MDI qiyməti"
+#: atspi/atspi-misc.c:152
+msgid "info bar"
+msgstr "məlumat çubuğu"
-#: atk/atkobject.c:545
-msgid "Accessible Table Caption"
-msgstr "Yetişilə Bilən Cədvəl Etiketi"
+#: atspi/atspi-misc.c:153
+msgid "level bar"
+msgstr "səviyyə çubuğu"
-#: atk/atkobject.c:546
-msgid ""
-"Is used to notify that the table caption has changed; this property should "
-"not be used. accessible-table-caption-object should be used instead"
-msgstr ""
-"Cədvəl etiketinin dəyişildiyini bildirmək üçün işlədilir. Bunun yerinə "
-"accessible-table-caption-object işlədilməlidir."
+#: atspi/atspi-misc.c:154
+msgid "title bar"
+msgstr "başlıq çubuğu"
-#: atk/atkobject.c:552
-msgid "Accessible Table Column Header"
-msgstr "Yetişilə Bilən Cədvəl Sütun Başlığı"
+#: atspi/atspi-misc.c:155
+msgid "block quote"
+msgstr "blok alıntı"
-#: atk/atkobject.c:553
-msgid "Is used to notify that the table column header has changed"
-msgstr "Cədvəl sütun başlığının dəyişildiyini bildirmək üçün işlədilir"
+#: atspi/atspi-misc.c:156
+msgid "audio"
+msgstr "audio"
-#: atk/atkobject.c:559
-msgid "Accessible Table Column Description"
-msgstr "Yetişilə Bilən Cədvəl Sütun İzahatı"
+#: atspi/atspi-misc.c:157
+msgid "video"
+msgstr "video"
-#: atk/atkobject.c:560
-msgid "Is used to notify that the table column description has changed"
-msgstr "Cədvəl sütun izahatının dəyişildiyini bildirmək üçün işlədilir"
+#: atspi/atspi-misc.c:158
+msgid "definition"
+msgstr "tərif"
-#: atk/atkobject.c:566
-msgid "Accessible Table Row Header"
-msgstr "Yetişilə Bilən Cədvəl Sətir Başlığı"
+#: atspi/atspi-misc.c:159
+msgid "article"
+msgstr "məqalə"
-#: atk/atkobject.c:567
-msgid "Is used to notify that the table row header has changed"
-msgstr "Cədvəl sətir başlığının dəyişildiyini bildirmək üçün işlədilir"
+#: atspi/atspi-misc.c:160
+msgid "landmark"
+msgstr "xüsusi nöqtə"
-#: atk/atkobject.c:573
-msgid "Accessible Table Row Description"
-msgstr "Yetişilə Bilən Cədvəl Sətir İzahatı"
+#: atspi/atspi-misc.c:161
+msgid "log"
+msgstr "jurnal"
-#: atk/atkobject.c:574
-msgid "Is used to notify that the table row description has changed"
-msgstr "Cədvəl sətir izahatının dəyişildiyini bildirmək üçün işlədilir"
+#: atspi/atspi-misc.c:162
+msgid "marquee"
+msgstr "reklama lövhəsi"
-#: atk/atkobject.c:580
-msgid "Accessible Table Summary"
-msgstr "Yetişilə Bilən Cədvəl Mündəricatı"
+#: atspi/atspi-misc.c:163
+msgid "math"
+msgstr "riyaziyyat"
-#: atk/atkobject.c:581
-msgid "Is used to notify that the table summary has changed"
-msgstr "Cədvəl icmalının dəyişildiyini bildirmək üçün işlədilir"
+#: atspi/atspi-misc.c:164
+msgid "rating"
+msgstr "reytinq"
-#: atk/atkobject.c:587
-msgid "Accessible Table Caption Object"
-msgstr "Yetişilə Bilən Cədvəl Etiket Obyekti"
+#: atspi/atspi-misc.c:165
+msgid "timer"
+msgstr "timer"
-#: atk/atkobject.c:588
-msgid "Is used to notify that the table caption has changed"
-msgstr "Cədvəl etiketinin dəyişildiyini bildirmək üçün işlədilir"
+#: atspi/atspi-misc.c:166
+msgid "description list"
+msgstr "təsvir siyahısı"
-#: atk/atkobject.c:594
-msgid "Number of Accessible Hypertext Links"
-msgstr "Yetişilə Bilən Körpü Sayı"
+#: atspi/atspi-misc.c:167
+msgid "description term"
+msgstr "təsvir termini"
-#: atk/atkobject.c:595
-msgid "The number of links which the current AtkHypertext has"
-msgstr "Hazırkkı AtkHypertext-in malik olduğu körpü ədədi"
+#: atspi/atspi-misc.c:168
+msgid "description value"
+msgstr "təsvir dəyəri"
diff --git a/po/be.po b/po/be.po
index ee7ca4f..546c581 100644
--- a/po/be.po
+++ b/po/be.po
@@ -1,840 +1,840 @@
-# #-#-#-#-# be.po (ab10e6d45488175674299c2d7fc854f6) #-#-#-#-#
+# Belarusian translation for at-spi2-core.
+# Copyright (C) 2011 at-spi2-core's COPYRIGHT HOLDER
+# This file is distributed under the same license as the at-spi2-core package.
# Yuras Shumovich , 2017.
-# #-#-#-#-# be.po (ab10e6d45488175674299c2d7fc854f6) #-#-#-#-#
# Vital Khilko , 2003, 2005.
# Alexander Nyakhaychyk , 2004, 2009.
# Kasia Bondarava , 2012.
# Yuras Shumovich , 2017.
-#, fuzzy
+#
msgid ""
msgstr ""
-"#-#-#-#-# be.po (ab10e6d45488175674299c2d7fc854f6) #-#-#-#-#\n"
-"Project-Id-Version: ab10e6d45488175674299c2d7fc854f6\n"
-"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/at-spi2-core/issues\n"
-"POT-Creation-Date: 2020-12-28 16:53+0000\n"
-"PO-Revision-Date: 2021-06-15 12:46\n"
+"Project-Id-Version: atk\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/at-spi2-core/issues/\n"
+"POT-Creation-Date: 2025-02-11 18:33+0000\n"
+"PO-Revision-Date: 2025-03-08 00:28+0300\n"
"Last-Translator: Yuras Shumovich \n"
"Language-Team: Belarusian\n"
"Language: be\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || n%10>=5 && n%10<=9 || n"
-"%100>=11 && n%100<=14 ? 2 : 3);\n"
-"X-Generator: Poedit 1.8.11\n"
-"X-Crowdin-Project: ab10e6d45488175674299c2d7fc854f6\n"
-"X-Crowdin-Project-ID: 104\n"
-"X-Crowdin-Language: be\n"
-"X-Crowdin-File: /Localizations/Gnome/Gnome development/in/at-spi2-core."
-"master.be.po\n"
-"X-Crowdin-File-ID: 2608\n"
-"#-#-#-#-# be.po (ab10e6d45488175674299c2d7fc854f6) #-#-#-#-#\n"
-"Project-Id-Version: ab10e6d45488175674299c2d7fc854f6\n"
-"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/atk/issues\n"
-"POT-Creation-Date: 2020-06-06 13:32+0000\n"
-"PO-Revision-Date: 2021-06-15 12:25\n"
-"Last-Translator: Yuras Shumovich \n"
-"Language-Team: Belarusian\n"
-"Language: be\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || n%10>=5 && n%10<=9 || n"
-"%100>=11 && n%100<=14 ? 2 : 3);\n"
-"X-Generator: Poedit 1.8.11\n"
-"X-Project-Style: gnome\n"
-"X-Crowdin-Project: ab10e6d45488175674299c2d7fc854f6\n"
-"X-Crowdin-Project-ID: 104\n"
-"X-Crowdin-Language: be\n"
-"X-Crowdin-File: /Localizations/Gnome/Gnome development/in/atk.master.be.po\n"
-"X-Crowdin-File-ID: 2656\n"
-
-#: atspi/atspi-component.c:332 atspi/atspi-misc.c:1077 atspi/atspi-value.c:111
-msgid "The application no longer exists"
-msgstr "Праграма больш не існуе"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"X-Generator: Poedit 3.5\n"
-#: atspi/atspi-misc.c:1855
-msgid "Attempted synchronous call where prohibited"
-msgstr "Спроба сінхроннага выкліку ў забароненым месцы"
-
-#: atk/atkhyperlink.c:126
+#: atk/atkhyperlink.c:127
msgid "Selected Link"
-msgstr "Абраная спасылка"
+msgstr "Выбраная спасылка"
-#: atk/atkhyperlink.c:127
+#: atk/atkhyperlink.c:128
msgid "Specifies whether the AtkHyperlink object is selected"
-msgstr "Вызначае, ці абраны аб'ект AtkHyperlink"
+msgstr "Вызначае, ці выбраны аб'ект AtkHyperlink"
-#: atk/atkhyperlink.c:133
+#: atk/atkhyperlink.c:134
msgid "Number of Anchors"
msgstr "Колькасць якараў"
-#: atk/atkhyperlink.c:134
+#: atk/atkhyperlink.c:135
msgid "The number of anchors associated with the AtkHyperlink object"
msgstr "Колькасць якараў, звязаных з аб'ектам AtkHyperlink"
-#: atk/atkhyperlink.c:142
+#: atk/atkhyperlink.c:143
msgid "End index"
msgstr "Канцавы індэкс"
-#: atk/atkhyperlink.c:143
+#: atk/atkhyperlink.c:144
msgid "The end index of the AtkHyperlink object"
msgstr "Канцавы індэкс аб'екта AtkHyperlink"
-#: atk/atkhyperlink.c:151
+#: atk/atkhyperlink.c:152
msgid "Start index"
msgstr "Пачатковы індэкс"
-#: atk/atkhyperlink.c:152
+#: atk/atkhyperlink.c:153
msgid "The start index of the AtkHyperlink object"
msgstr "Пачатковы індэкс аб'екта AtkHyperlink"
-#: atk/atkobject.c:98
+#: atk/atkobject.c:273
+msgid "Accessible Name"
+msgstr "Назва аб’екта спецыяльных магчымасцей"
+
+#: atk/atkobject.c:274
+msgid "Object instance’s name formatted for assistive technology access"
+msgstr ""
+"Назва асобніка аб'екта для доступу пры дапамозе тэхналогій спецыяльных "
+"магчымасцей"
+
+#: atk/atkobject.c:280
+msgid "Accessible Description"
+msgstr "Апісанне аб’екта спецыяльных магчымасцей"
+
+#: atk/atkobject.c:281
+msgid "Description of an object, formatted for assistive technology access"
+msgstr ""
+"Апісанне аб'екта для доступу пры дапамозе тэхналогій спецыяльных магчымасцей"
+
+#: atk/atkobject.c:287
+msgid "Accessible Parent"
+msgstr "Бацькоўскі аб'ект спецыяльных магчымасцей"
+
+#: atk/atkobject.c:288
+msgid "Parent of the current accessible as returned by atk_object_get_parent()"
+msgstr "Продак бягучага даступнага аб'екта, які вярнуў atk_object_get_parent()"
+
+#: atk/atkobject.c:304
+msgid "Accessible Value"
+msgstr "Значэнне аб’екта спецыяльных магчымасцей"
+
+#: atk/atkobject.c:305
+msgid "Is used to notify that the value has changed"
+msgstr "Выкарыстоўваецца, каб паведамляць пра змены значэння"
+
+#: atk/atkobject.c:313
+msgid "Accessible Role"
+msgstr "Роля аб’екта спецыяльных магчымасцей"
+
+#: atk/atkobject.c:314
+msgid "The accessible role of this object"
+msgstr "Роля гэтага аб'екта ў спецыяльных магчымасцях"
+
+#: atk/atkobject.c:321
+msgid "Accessible Layer"
+msgstr "Узровень аб’екта спецыяльных магчымасцей"
+
+#: atk/atkobject.c:322
+msgid "The accessible layer of this object"
+msgstr "Узровень гэтага аб'екта ў спецыяльных магчымасцях"
+
+#: atk/atkobject.c:330
+msgid "Accessible MDI Value"
+msgstr "Значэнне MDI у спецыяльных магчымасцях"
+
+#: atk/atkobject.c:331
+msgid "The accessible MDI value of this object"
+msgstr "Значэнне MDI гэтага аб'екта ў спецыяльных магчымасцях"
+
+#: atk/atkobject.c:347
+msgid "Accessible Table Caption"
+msgstr "Подпіс табліцы спецыяльных магчымасцей"
+
+#: atk/atkobject.c:348
+msgid ""
+"Is used to notify that the table caption has changed; this property should "
+"not be used. accessible-table-caption-object should be used instead"
+msgstr ""
+"Выкарыстоўваецца, каб паведамляць пра змены подпісу табліцы; замест гэтай "
+"уласцівасці мусіць ужывацца accessible-table-caption-object"
+
+#: atk/atkobject.c:362
+msgid "Accessible Table Column Header"
+msgstr "Загаловак слупка табліцы спецыяльных магчымасцей"
+
+#: atk/atkobject.c:363
+msgid "Is used to notify that the table column header has changed"
+msgstr "Выкарыстоўваецца, каб паведамляць пра змены загалоўка слупка табліцы"
+
+#: atk/atkobject.c:378
+msgid "Accessible Table Column Description"
+msgstr "Апісанне слупка табліцы спецыяльных магчымасцей"
+
+#: atk/atkobject.c:379
+msgid "Is used to notify that the table column description has changed"
+msgstr "Выкарыстоўваецца, каб паведамляць пра змены апісання слупка табліцы"
+
+#: atk/atkobject.c:394
+msgid "Accessible Table Row Header"
+msgstr "Загаловак радка табліцы спецыяльных магчымасцей"
+
+#: atk/atkobject.c:395
+msgid "Is used to notify that the table row header has changed"
+msgstr "Выкарыстоўваецца, каб паведамляць пра змены загалоўка радка табліцы"
+
+#: atk/atkobject.c:409
+msgid "Accessible Table Row Description"
+msgstr "Апісанне радка табліцы спецыяльных магчымасцей"
+
+#: atk/atkobject.c:410
+msgid "Is used to notify that the table row description has changed"
+msgstr "Выкарыстоўваецца, каб паведамляць пра змены апісання радка табліцы"
+
+#: atk/atkobject.c:416
+msgid "Accessible Table Summary"
+msgstr "Зводка табліцы спецыяльных магчымасцей"
+
+#: atk/atkobject.c:417
+msgid "Is used to notify that the table summary has changed"
+msgstr "Выкарыстоўваецца, каб паведамляць пра змены зводкі табліцы"
+
+#: atk/atkobject.c:423
+msgid "Accessible Table Caption Object"
+msgstr "Аб'ект загалоўка табліцы спецыяльных магчымасцей"
+
+#: atk/atkobject.c:424
+msgid "Is used to notify that the table caption has changed"
+msgstr "Выкарыстоўваецца, каб паведамляць пра змены загалоўка табліцы"
+
+#: atk/atkobject.c:430
+msgid "Number of Accessible Hypertext Links"
+msgstr "Колькасць гіпертэкставых спасылак спецыяльных магчымасцей"
+
+#: atk/atkobject.c:431
+msgid "The number of links which the current AtkHypertext has"
+msgstr "Колькасць спасылак, якія мае бягучы аб’ект AtkHypertext"
+
+#: atk/atkobject.c:440
+msgid "Accessible ID"
+msgstr "Ідэнтыфікатар аб’екта спецыяльных магчымасцей"
+
+#: atk/atkobject.c:441
+msgid "ID for the accessible; useful for automated testing"
+msgstr ""
+"Ідэнтыфікатар аб’екта спецыяльных магчымасцей, карысна для аўтаматызаванага "
+"тэсціравання"
+
+#: atk/atkobject.c:447
+msgid "Help text"
+msgstr "Тэкст дапамогі"
+
+#: atk/atkobject.c:448
+msgid "Help text associated with the accessible"
+msgstr "Тэкст дапамогі, звязаны са спецыяльнымі магчымасцямі"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:193
+msgid "very weak"
+msgstr "вельмі слабы"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:200
+msgid "weak"
+msgstr "слабы"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:207
+msgid "acceptable"
+msgstr "прымальны"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:214
+msgid "strong"
+msgstr "моцны"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:221
+msgid "very strong"
+msgstr "вельмі моцны"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:229
+msgid "very low"
+msgstr "вельмі нізкі"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:237
+msgid "medium"
+msgstr "сярэдні"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:245
+msgid "high"
+msgstr "высокі"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:253
+msgid "very high"
+msgstr "вельмі высокі"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:261
+msgid "very bad"
+msgstr "вельмі дрэнны"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:269
+msgid "bad"
+msgstr "дрэнны"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:277
+msgid "good"
+msgstr "добры"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:285
+msgid "very good"
+msgstr "вельмі добры"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:293
+msgid "best"
+msgstr "найлепшы"
+
+#: atspi/atspi-component.c:352 atspi/atspi-misc.c:1234 atspi/atspi-value.c:123
+msgid "The application no longer exists"
+msgstr "Праграма больш не існуе"
+
+#: atspi/atspi-misc.c:49
msgid "invalid"
msgstr "хібны"
-#: atk/atkobject.c:99
+#: atspi/atspi-misc.c:50
msgid "accelerator label"
-msgstr "адмеціна гарачай клавішы"
+msgstr "метка гарачай клавішы"
-#: atk/atkobject.c:100
+#: atspi/atspi-misc.c:51
msgid "alert"
msgstr "сігнал"
-#: atk/atkobject.c:101
+#: atspi/atspi-misc.c:52
msgid "animation"
msgstr "анімацыя"
-#: atk/atkobject.c:102
+#: atspi/atspi-misc.c:53
msgid "arrow"
msgstr "стрэлка"
-#: atk/atkobject.c:103
+#: atspi/atspi-misc.c:54
msgid "calendar"
msgstr "каляндар"
-#: atk/atkobject.c:104
+#: atspi/atspi-misc.c:55
msgid "canvas"
msgstr "палатно"
-#: atk/atkobject.c:105
+#: atspi/atspi-misc.c:56
msgid "check box"
msgstr "пераключальнік"
-#: atk/atkobject.c:106
+#: atspi/atspi-misc.c:57
msgid "check menu item"
msgstr "элемент меню з магчымасцю пераключэння"
-#: atk/atkobject.c:107
+#: atspi/atspi-misc.c:58
msgid "color chooser"
-msgstr "абіральнік колеру"
+msgstr "выбар колеру"
-#: atk/atkobject.c:108
+#: atspi/atspi-misc.c:59
msgid "column header"
msgstr "загаловак слупка"
-#: atk/atkobject.c:109
+#: atspi/atspi-misc.c:60
msgid "combo box"
msgstr "выплыўное меню"
-#: atk/atkobject.c:110
+#: atspi/atspi-misc.c:61
msgid "dateeditor"
-msgstr "рэдактар датаў"
+msgstr "рэдактар дат"
-#: atk/atkobject.c:111
+#: atspi/atspi-misc.c:62
msgid "desktop icon"
msgstr "значок працоўнага стала"
-#: atk/atkobject.c:112
+#: atspi/atspi-misc.c:63
msgid "desktop frame"
msgstr "рамка працоўнага стала"
-#: atk/atkobject.c:113
+#: atspi/atspi-misc.c:64
msgid "dial"
msgstr "лічбавы радок"
-#: atk/atkobject.c:114
+#: atspi/atspi-misc.c:65
msgid "dialog"
-msgstr "дыялог"
+msgstr "дыялогавае акно"
-#: atk/atkobject.c:115
+#: atspi/atspi-misc.c:66
msgid "directory pane"
msgstr "панэль каталога"
-#: atk/atkobject.c:116
+#: atspi/atspi-misc.c:67
msgid "drawing area"
msgstr "вобласць адмалёўкі"
-#: atk/atkobject.c:117
+#: atspi/atspi-misc.c:68
msgid "file chooser"
-msgstr "абіральнік файла"
+msgstr "выбар файла"
-#: atk/atkobject.c:118
+#: atspi/atspi-misc.c:69
msgid "filler"
msgstr "запаўняльнік"
#. I know it looks wrong but that is what Java returns
-#: atk/atkobject.c:120
+#: atspi/atspi-misc.c:71
msgid "fontchooser"
-msgstr "абіральнік шрыфту"
+msgstr "выбар шрыфту"
-#: atk/atkobject.c:121
+#: atspi/atspi-misc.c:72
msgid "frame"
msgstr "рамка"
-#: atk/atkobject.c:122
+#: atspi/atspi-misc.c:73
msgid "glass pane"
msgstr "празрыстая панэль"
-#: atk/atkobject.c:123
+#: atspi/atspi-misc.c:74
msgid "html container"
msgstr "кантэйнер html"
-#: atk/atkobject.c:124
+#: atspi/atspi-misc.c:75
msgid "icon"
msgstr "значок"
-#: atk/atkobject.c:125
+#: atspi/atspi-misc.c:76
msgid "image"
msgstr "выява"
-#: atk/atkobject.c:126
+#: atspi/atspi-misc.c:77
msgid "internal frame"
msgstr "унутраная рамка"
-#: atk/atkobject.c:127
+#: atspi/atspi-misc.c:78
msgid "label"
msgstr "цэтлік"
-#: atk/atkobject.c:128
+#: atspi/atspi-misc.c:79
msgid "layered pane"
msgstr "панэль з пластамі"
-#: atk/atkobject.c:129
+#: atspi/atspi-misc.c:80
msgid "list"
msgstr "спіс"
-#: atk/atkobject.c:130
+#: atspi/atspi-misc.c:81
msgid "list item"
msgstr "элемент спіса"
-#: atk/atkobject.c:131
+#: atspi/atspi-misc.c:82
msgid "menu"
msgstr "меню"
-#: atk/atkobject.c:132
+#: atspi/atspi-misc.c:83
msgid "menu bar"
msgstr "радок меню"
-#: atk/atkobject.c:133
+#: atspi/atspi-misc.c:84
+msgid "menu button"
+msgstr "кнопка меню"
+
+#: atspi/atspi-misc.c:85
msgid "menu item"
msgstr "элемент меню"
-#: atk/atkobject.c:134
+#: atspi/atspi-misc.c:86
msgid "option pane"
msgstr "панэль параметраў"
-#: atk/atkobject.c:135
+#: atspi/atspi-misc.c:87
msgid "page tab"
msgstr "укладка старонкі"
-#: atk/atkobject.c:136
+#: atspi/atspi-misc.c:88
msgid "page tab list"
msgstr "спіс укладак старонкі"
-#: atk/atkobject.c:137
+#: atspi/atspi-misc.c:89
msgid "panel"
msgstr "панэль"
-#: atk/atkobject.c:138
+#: atspi/atspi-misc.c:90
msgid "password text"
msgstr "тэкст пароля"
-#: atk/atkobject.c:139
+#: atspi/atspi-misc.c:91
msgid "popup menu"
msgstr "выплыўное меню"
-#: atk/atkobject.c:140
+#: atspi/atspi-misc.c:92
msgid "progress bar"
msgstr "радок прагрэсу"
-#: atk/atkobject.c:141
-msgid "push button"
-msgstr "націскальная кнопка"
+#: atspi/atspi-misc.c:93
+msgid "button"
+msgstr "кнопка"
-#: atk/atkobject.c:142
+#: atspi/atspi-misc.c:94
msgid "radio button"
msgstr "кнопка выбару"
-#: atk/atkobject.c:143
+#: atspi/atspi-misc.c:95
msgid "radio menu item"
msgstr "элемент меню з магчымасцю выбару"
-#: atk/atkobject.c:144
+#: atspi/atspi-misc.c:96
msgid "root pane"
msgstr "каранёвая панэль"
-#: atk/atkobject.c:145
+#: atspi/atspi-misc.c:97
msgid "row header"
msgstr "загаловак радка"
-#: atk/atkobject.c:146
+#: atspi/atspi-misc.c:98
msgid "scroll bar"
-msgstr "паласа пракруткі"
+msgstr "паласа прагорткі"
-#: atk/atkobject.c:147
+#: atspi/atspi-misc.c:99
msgid "scroll pane"
-msgstr "панэль пракруткі"
+msgstr "панэль прагорткі"
-#: atk/atkobject.c:148
+#: atspi/atspi-misc.c:100
msgid "separator"
-msgstr "падзяляльнік"
+msgstr "раздзяляльнік"
-#: atk/atkobject.c:149
+#: atspi/atspi-misc.c:101
msgid "slider"
msgstr "паўзунок"
-#: atk/atkobject.c:150
+#: atspi/atspi-misc.c:102
msgid "split pane"
msgstr "панэль падзелу"
-#: atk/atkobject.c:151
+#: atspi/atspi-misc.c:103
msgid "spin button"
msgstr "кнопка кручэння"
-#: atk/atkobject.c:152
+#: atspi/atspi-misc.c:104
msgid "statusbar"
msgstr "радок статусу"
-#: atk/atkobject.c:153
+#: atspi/atspi-misc.c:105
+msgid "switch"
+msgstr "пераключальнік"
+
+#: atspi/atspi-misc.c:106
msgid "table"
msgstr "табліца"
-#: atk/atkobject.c:154
+#: atspi/atspi-misc.c:107
msgid "table cell"
msgstr "ячэйка табліцы"
-#: atk/atkobject.c:155
+#: atspi/atspi-misc.c:108
msgid "table column header"
msgstr "загаловак слупка табліцы"
-#: atk/atkobject.c:156
+#: atspi/atspi-misc.c:109
msgid "table row header"
msgstr "загаловак радка табліцы"
-#: atk/atkobject.c:157
+#: atspi/atspi-misc.c:110
msgid "tear off menu item"
msgstr "неадрыўны элемент меню"
-#: atk/atkobject.c:158
+#: atspi/atspi-misc.c:111
msgid "terminal"
msgstr "тэрмінал"
-#: atk/atkobject.c:159
+#: atspi/atspi-misc.c:112
msgid "text"
msgstr "тэкст"
-#: atk/atkobject.c:160
+#: atspi/atspi-misc.c:113
msgid "toggle button"
msgstr "кнопка-пераключальнік"
-#: atk/atkobject.c:161
+#: atspi/atspi-misc.c:114
msgid "tool bar"
msgstr "панэль інструментаў"
-#: atk/atkobject.c:162
+#: atspi/atspi-misc.c:115
msgid "tool tip"
msgstr "падказка"
-#: atk/atkobject.c:163
+#: atspi/atspi-misc.c:116
msgid "tree"
msgstr "дрэва"
-#: atk/atkobject.c:164
+#: atspi/atspi-misc.c:117
msgid "tree table"
msgstr "табліца ў выглядзе дрэва"
-#: atk/atkobject.c:165
+#: atspi/atspi-misc.c:118
msgid "unknown"
msgstr "невядома"
-#: atk/atkobject.c:166
+#: atspi/atspi-misc.c:119
msgid "viewport"
msgstr "вобласць прагляду"
-#: atk/atkobject.c:167
+#: atspi/atspi-misc.c:120
msgid "window"
msgstr "акно"
-#: atk/atkobject.c:168
+#: atspi/atspi-misc.c:121
msgid "header"
msgstr "загаловак"
-#: atk/atkobject.c:169
+#: atspi/atspi-misc.c:122
msgid "footer"
msgstr "ніжні калантытул"
-#: atk/atkobject.c:170
+#: atspi/atspi-misc.c:123
msgid "paragraph"
msgstr "абзац"
-#: atk/atkobject.c:171
+#: atspi/atspi-misc.c:124
msgid "ruler"
msgstr "лінейка"
-#: atk/atkobject.c:172
+#: atspi/atspi-misc.c:125
msgid "application"
msgstr "праграма"
-#: atk/atkobject.c:173
+#: atspi/atspi-misc.c:126
msgid "autocomplete"
msgstr "аўтадапаўненне"
-#: atk/atkobject.c:174
+#: atspi/atspi-misc.c:127
msgid "edit bar"
msgstr "панэль рэдагавання"
-#: atk/atkobject.c:175
+#: atspi/atspi-misc.c:128
msgid "embedded component"
msgstr "убудаваны кампанент"
-#: atk/atkobject.c:176
+#: atspi/atspi-misc.c:129
msgid "entry"
msgstr "запіс"
-#: atk/atkobject.c:177
+#: atspi/atspi-misc.c:130
msgid "chart"
msgstr "дыяграма"
-#: atk/atkobject.c:178
+#: atspi/atspi-misc.c:131
msgid "caption"
msgstr "подпіс"
-#: atk/atkobject.c:179
+#: atspi/atspi-misc.c:132
msgid "document frame"
msgstr "рамка дакумента"
-#: atk/atkobject.c:180
+#: atspi/atspi-misc.c:133
msgid "heading"
msgstr "загаловак"
-#: atk/atkobject.c:181
+#: atspi/atspi-misc.c:134
msgid "page"
msgstr "старонка"
-#: atk/atkobject.c:182
+#: atspi/atspi-misc.c:135
msgid "section"
msgstr "секцыя"
-#: atk/atkobject.c:183
+#: atspi/atspi-misc.c:136
msgid "redundant object"
msgstr "лішні аб'ект"
-#: atk/atkobject.c:184
+#: atspi/atspi-misc.c:137
msgid "form"
msgstr "форма"
-#: atk/atkobject.c:185
+#: atspi/atspi-misc.c:138
msgid "link"
msgstr "спасылка"
-#: atk/atkobject.c:186
+#: atspi/atspi-misc.c:139
msgid "input method window"
msgstr "акно метаду ўводу"
-#: atk/atkobject.c:187
+#: atspi/atspi-misc.c:140
msgid "table row"
msgstr "радок табліцы"
-#: atk/atkobject.c:188
+#: atspi/atspi-misc.c:141
msgid "tree item"
msgstr "элемент дрэва"
-#: atk/atkobject.c:189
+#: atspi/atspi-misc.c:142
msgid "document spreadsheet"
msgstr "аркуш электроннай табліцы"
-#: atk/atkobject.c:190
+#: atspi/atspi-misc.c:143
msgid "document presentation"
msgstr "прэзентацыя"
-#: atk/atkobject.c:191
+#: atspi/atspi-misc.c:144
msgid "document text"
msgstr "тэкставы дакумент"
-#: atk/atkobject.c:192
+#: atspi/atspi-misc.c:145
msgid "document web"
-msgstr "сеціўны дакумент"
+msgstr "вэб-дакумент"
-#: atk/atkobject.c:193
+#: atspi/atspi-misc.c:146
msgid "document email"
msgstr "электронны ліст"
-#: atk/atkobject.c:194
+#: atspi/atspi-misc.c:147
msgid "comment"
-msgstr "каментар"
+msgstr "каментарый"
-#: atk/atkobject.c:195
+#: atspi/atspi-misc.c:148
msgid "list box"
msgstr "спіс"
-#: atk/atkobject.c:196
+#: atspi/atspi-misc.c:149
msgid "grouping"
msgstr "групаванне"
-#: atk/atkobject.c:197
+#: atspi/atspi-misc.c:150
msgid "image map"
msgstr "мапа выявы"
-#: atk/atkobject.c:198
+#: atspi/atspi-misc.c:151
msgid "notification"
msgstr "апавяшчэнне"
-#: atk/atkobject.c:199
+#: atspi/atspi-misc.c:152
msgid "info bar"
msgstr "інфармацыйная панэль"
-#: atk/atkobject.c:200
+#: atspi/atspi-misc.c:153
msgid "level bar"
-msgstr "панэль ўзроўняў"
+msgstr "панэль узроўняў"
-#: atk/atkobject.c:201
+#: atspi/atspi-misc.c:154
msgid "title bar"
msgstr "панэль загалоўка"
-#: atk/atkobject.c:202
+#: atspi/atspi-misc.c:155
msgid "block quote"
msgstr "блок цытавання"
-#: atk/atkobject.c:203
+#: atspi/atspi-misc.c:156
msgid "audio"
msgstr "аўдыё"
-#: atk/atkobject.c:204
+#: atspi/atspi-misc.c:157
msgid "video"
msgstr "відэа"
-#: atk/atkobject.c:205
+#: atspi/atspi-misc.c:158
msgid "definition"
msgstr "азначэнне"
-#: atk/atkobject.c:206
+#: atspi/atspi-misc.c:159
msgid "article"
msgstr "артыкул"
-#: atk/atkobject.c:207
+#: atspi/atspi-misc.c:160
msgid "landmark"
msgstr "арыентыр"
-#: atk/atkobject.c:208
+#: atspi/atspi-misc.c:161
msgid "log"
msgstr "журнал"
-#: atk/atkobject.c:209
+#: atspi/atspi-misc.c:162
msgid "marquee"
msgstr "бягучы радок"
-#: atk/atkobject.c:210
+#: atspi/atspi-misc.c:163
msgid "math"
msgstr "матэматычны выраз"
-#: atk/atkobject.c:211
+#: atspi/atspi-misc.c:164
msgid "rating"
msgstr "ацэнка"
-#: atk/atkobject.c:212
+#: atspi/atspi-misc.c:165
msgid "timer"
msgstr "таймер"
-#: atk/atkobject.c:213
+#: atspi/atspi-misc.c:166
msgid "description list"
msgstr "спіс апісанняў"
-#: atk/atkobject.c:214
+#: atspi/atspi-misc.c:167
msgid "description term"
msgstr "тэрмін апісання"
-#: atk/atkobject.c:215
+#: atspi/atspi-misc.c:168
msgid "description value"
msgstr "значэнне апісання"
-#: atk/atkobject.c:391
-msgid "Accessible Name"
-msgstr "Назва аб’екта адмысловых магчымасцяў"
-
-#: atk/atkobject.c:392
-msgid "Object instance’s name formatted for assistive technology access"
-msgstr ""
-"Назва асобніка аб'екта для доступу пры дапамозе тэхналогій адмысловых "
-"магчымасцяў"
-
-#: atk/atkobject.c:398
-msgid "Accessible Description"
-msgstr "Апісанне аб’екта адмысловых магчымасцяў"
-
-#: atk/atkobject.c:399
-msgid "Description of an object, formatted for assistive technology access"
-msgstr ""
-"Апісанне аб'екта для доступу пры дапамозе тэхналогій адмысловых магчымасцяў"
-
-#: atk/atkobject.c:405
-msgid "Accessible Parent"
-msgstr "Бацькоўскі аб'ект адмысловых магчымасцяў"
-
-#: atk/atkobject.c:406
-msgid "Parent of the current accessible as returned by atk_object_get_parent()"
-msgstr "Продак бягучага даступнага аб'екта, які вярнуў atk_object_get_parent()"
-
-#: atk/atkobject.c:422
-msgid "Accessible Value"
-msgstr "Значэнне аб’екта адмысловых магчымасцяў"
-
-#: atk/atkobject.c:423
-msgid "Is used to notify that the value has changed"
-msgstr "Выкарыстоўваецца, каб паведамляць пра змены значэння"
-
-#: atk/atkobject.c:431
-msgid "Accessible Role"
-msgstr "Роля аб’екта адмысловых магчымасцяў"
-
-#: atk/atkobject.c:432
-msgid "The accessible role of this object"
-msgstr "Роля гэтага аб'екта ў адмысловых магчымасцях"
-
-#: atk/atkobject.c:439
-msgid "Accessible Layer"
-msgstr "Узровень аб’екта адмысловых магчымасцяў"
-
-#: atk/atkobject.c:440
-msgid "The accessible layer of this object"
-msgstr "Узровень гэтага аб'екта ў адмысловых магчымасцях"
-
-#: atk/atkobject.c:448
-msgid "Accessible MDI Value"
-msgstr "Значэнне MDI у адмысловых магчымасцях"
-
-#: atk/atkobject.c:449
-msgid "The accessible MDI value of this object"
-msgstr "Значэнне MDI гэтага аб'екта ў адмысловых магчымасцях"
-
-#: atk/atkobject.c:465
-msgid "Accessible Table Caption"
-msgstr "Подпіс табліцы адмысловых магчымасцяў"
-
-#: atk/atkobject.c:466
-msgid ""
-"Is used to notify that the table caption has changed; this property should "
-"not be used. accessible-table-caption-object should be used instead"
-msgstr ""
-"Выкарыстоўваецца, каб паведамляць пра змены подпісу табліцы; замест гэтай "
-"уласцівасці мусіць ужывацца accessible-table-caption-object"
-
-#: atk/atkobject.c:480
-msgid "Accessible Table Column Header"
-msgstr "Загаловак слупка табліцы адмысловых магчымасцяў"
-
-#: atk/atkobject.c:481
-msgid "Is used to notify that the table column header has changed"
-msgstr "Выкарыстоўваецца, каб паведамляць пра змены загалоўка слупка табліцы"
-
-#: atk/atkobject.c:496
-msgid "Accessible Table Column Description"
-msgstr "Апісанне слупка табліцы адмысловых магчымасцяў"
-
-#: atk/atkobject.c:497
-msgid "Is used to notify that the table column description has changed"
-msgstr "Выкарыстоўваецца, каб паведамляць пра змены апісання слупка табліцы"
-
-#: atk/atkobject.c:512
-msgid "Accessible Table Row Header"
-msgstr "Загаловак радка табліцы адмысловых магчымасцяў"
-
-#: atk/atkobject.c:513
-msgid "Is used to notify that the table row header has changed"
-msgstr "Выкарыстоўваецца, каб паведамляць пра змены загалоўка радка табліцы"
-
-#: atk/atkobject.c:527
-msgid "Accessible Table Row Description"
-msgstr "Апісанне радка табліцы адмысловых магчымасцяў"
-
-#: atk/atkobject.c:528
-msgid "Is used to notify that the table row description has changed"
-msgstr "Выкарыстоўваецца, каб паведамляць пра змены апісання радка табліцы"
-
-#: atk/atkobject.c:534
-msgid "Accessible Table Summary"
-msgstr "Зводка табліцы адмысловых магчымасцяў"
-
-#: atk/atkobject.c:535
-msgid "Is used to notify that the table summary has changed"
-msgstr "Выкарыстоўваецца, каб паведамляць пра змены зводкі табліцы"
-
-#: atk/atkobject.c:541
-msgid "Accessible Table Caption Object"
-msgstr "Аб'ект загалоўка табліцы адмысловых магчымасцяў"
-
-#: atk/atkobject.c:542
-msgid "Is used to notify that the table caption has changed"
-msgstr "Выкарыстоўваецца, каб паведамляць пра змены загалоўка табліцы"
-
-#: atk/atkobject.c:548
-msgid "Number of Accessible Hypertext Links"
-msgstr "Колькасць гіпертэкставых спасылак адмысловых магчымасцяў"
-
-#: atk/atkobject.c:549
-msgid "The number of links which the current AtkHypertext has"
-msgstr "Колькасць спасылак, якія мае бягучы аб’ект AtkHypertext"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:194
-msgid "very weak"
-msgstr "вельмі слабы"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:201
-msgid "weak"
-msgstr "слабы"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:208
-msgid "acceptable"
-msgstr "прымальны"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:215
-msgid "strong"
-msgstr "моцны"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:222
-msgid "very strong"
-msgstr "вельмі моцны"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:230
-msgid "very low"
-msgstr "вельмі нізкі"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:238
-msgid "medium"
-msgstr "сярэдні"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:246
-msgid "high"
-msgstr "высокі"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:254
-msgid "very high"
-msgstr "вельмі высокі"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:262
-msgid "very bad"
-msgstr "вельмі дрэнны"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:270
-msgid "bad"
-msgstr "дрэнны"
+#~ msgid "push button"
+#~ msgstr "націскальная кнопка"
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:278
-msgid "good"
-msgstr "добры"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:286
-msgid "very good"
-msgstr "вельмі добры"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:294
-msgid "best"
-msgstr "найлепшы"
+#~ msgid "Attempted synchronous call where prohibited"
+#~ msgstr "Спроба сінхроннага выкліку ў забароненым месцы"
#~ msgid "AT-SPI: Unknown signature %s for RemoveAccessible"
#~ msgstr "AT-SPI: Невядомы подпіс %s для RemoveAccessible"
diff --git a/po/bg.po b/po/bg.po
index 9d7ce69..e47cd74 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -1,10 +1,10 @@
# Bulgarian translation of at-spi2-core po-file.
# Copyright (C) 2002, 2004, 2005, 2006, 2009, 2011, 2015 Free Software Foundation
# Copyright (C) 2015 Zahari Yurukov .
-# Copyright (C) 2022 Alexander Shopov
+# Copyright (C) 2022, 2024, 2025 Alexander Shopov
# This file is distributed under the same license as the at-spi2-core package.
# Yanko Kaneti , 2002.
-# Alexander Shopov , 2004, 2005, 2006, 2009, 2011, 2015.
+# Alexander Shopov , 2004, 2005, 2006, 2009, 2011, 2015, 2025.
# Zahari Yurukov , 2015.
# Към всички преводачи - това са специални термини,
# които трябва да са достъпни за потребители с
@@ -18,9 +18,9 @@
msgid ""
msgstr ""
"Project-Id-Version: at-spi2-core main\n"
-"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/at-spi2-core/issues\n"
-"POT-Creation-Date: 2022-09-11 19:01+0000\n"
-"PO-Revision-Date: 2022-09-12 18:00+0200\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/at-spi2-core/issues/\n"
+"POT-Creation-Date: 2025-02-11 18:33+0000\n"
+"PO-Revision-Date: 2025-02-23 09:04+0100\n"
"Last-Translator: Alexander Shopov \n"
"Language-Team: Bulgarian \n"
"Language: bg\n"
@@ -29,792 +29,812 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: atk/atkhyperlink.c:126
+#: atk/atkhyperlink.c:127
msgid "Selected Link"
msgstr "Избрана връзка"
-#: atk/atkhyperlink.c:127
+#: atk/atkhyperlink.c:128
msgid "Specifies whether the AtkHyperlink object is selected"
msgstr "Определя дали обектът AtkHyperlink е избран"
-#: atk/atkhyperlink.c:133
+#: atk/atkhyperlink.c:134
msgid "Number of Anchors"
msgstr "Брой котви"
-#: atk/atkhyperlink.c:134
+#: atk/atkhyperlink.c:135
msgid "The number of anchors associated with the AtkHyperlink object"
msgstr "Броят на котвите свързани с обект AtkHyperlink"
-#: atk/atkhyperlink.c:142
+#: atk/atkhyperlink.c:143
msgid "End index"
msgstr "Краен индекс"
-#: atk/atkhyperlink.c:143
+#: atk/atkhyperlink.c:144
msgid "The end index of the AtkHyperlink object"
msgstr "Крайният индекс на обект AtkHyperlink"
-#: atk/atkhyperlink.c:151
+#: atk/atkhyperlink.c:152
msgid "Start index"
msgstr "Начален индекс"
-#: atk/atkhyperlink.c:152
+#: atk/atkhyperlink.c:153
msgid "The start index of the AtkHyperlink object"
msgstr "Началният индекс на обект AtkHyperlink"
-#: atk/atkobject.c:99
+#: atk/atkobject.c:273
+msgid "Accessible Name"
+msgstr "Достъпно име"
+
+#: atk/atkobject.c:274
+msgid "Object instance’s name formatted for assistive technology access"
+msgstr "Име на обект от някакъв клас, форматирано за технологии за достъпност"
+
+#: atk/atkobject.c:280
+msgid "Accessible Description"
+msgstr "Достъпно описание"
+
+#: atk/atkobject.c:281
+msgid "Description of an object, formatted for assistive technology access"
+msgstr "Описание на обект, форматирано за технологии за достъпност"
+
+#: atk/atkobject.c:287
+msgid "Accessible Parent"
+msgstr "Достъпен родител"
+
+#: atk/atkobject.c:288
+msgid "Parent of the current accessible as returned by atk_object_get_parent()"
+msgstr ""
+"Родителят на текущия елемент, както е върнат от atk_object_get_parent()"
+
+#: atk/atkobject.c:304
+msgid "Accessible Value"
+msgstr "Достъпна стойност"
+
+#: atk/atkobject.c:305
+msgid "Is used to notify that the value has changed"
+msgstr "Използва се, за да се уведоми за промяна на стойността"
+
+#: atk/atkobject.c:313
+msgid "Accessible Role"
+msgstr "Достъпен вид"
+
+#: atk/atkobject.c:314
+msgid "The accessible role of this object"
+msgstr "Достъпният вид на този обект"
+
+#: atk/atkobject.c:321
+msgid "Accessible Layer"
+msgstr "Достъпен слой"
+
+#: atk/atkobject.c:322
+msgid "The accessible layer of this object"
+msgstr "Достъпният слой на този обект"
+
+#: atk/atkobject.c:330
+msgid "Accessible MDI Value"
+msgstr "Достъпна стойност на приложение с множество прозорци в един контейнер"
+
+#: atk/atkobject.c:331
+msgid "The accessible MDI value of this object"
+msgstr ""
+"Достъпна стойност на обект на приложение с множество прозорци в един "
+"контейнер"
+
+#: atk/atkobject.c:347
+msgid "Accessible Table Caption"
+msgstr "Достъпно заглавие на таблица"
+
+#: atk/atkobject.c:348
+msgid ""
+"Is used to notify that the table caption has changed; this property should "
+"not be used. accessible-table-caption-object should be used instead"
+msgstr ""
+"Използва се, за да се уведоми за промяна на заглавие на таблица. Това "
+"свойство не трябва да се използва. Вместо него се използва accessible-table-"
+"caption-object"
+
+#: atk/atkobject.c:362
+msgid "Accessible Table Column Header"
+msgstr "Достъпно заглавие на колона на таблица"
+
+#: atk/atkobject.c:363
+msgid "Is used to notify that the table column header has changed"
+msgstr ""
+"Използва се, за да се уведоми за промяна на заглавие на колона на таблица."
+
+#: atk/atkobject.c:378
+msgid "Accessible Table Column Description"
+msgstr "Достъпно описание на колона в таблица"
+
+#: atk/atkobject.c:379
+msgid "Is used to notify that the table column description has changed"
+msgstr ""
+"Използва се, за да се уведоми за промяна на описание на колона на таблица."
+
+#: atk/atkobject.c:394
+msgid "Accessible Table Row Header"
+msgstr "Достъпно заглавие на ред на таблица"
+
+#: atk/atkobject.c:395
+msgid "Is used to notify that the table row header has changed"
+msgstr ""
+"Използва се, за да се уведоми за промяна на заглавие на ред на таблица."
+
+#: atk/atkobject.c:409
+msgid "Accessible Table Row Description"
+msgstr "Достъпно описание на ред в таблица"
+
+#: atk/atkobject.c:410
+msgid "Is used to notify that the table row description has changed"
+msgstr ""
+"Използва се, за да се уведоми за промяна на описание на ред на таблица."
+
+#: atk/atkobject.c:416
+msgid "Accessible Table Summary"
+msgstr "Достъпно резюме на таблица"
+
+#: atk/atkobject.c:417
+msgid "Is used to notify that the table summary has changed"
+msgstr "Използва се, за да се уведоми за промяна на резюме на таблица"
+
+#: atk/atkobject.c:423
+msgid "Accessible Table Caption Object"
+msgstr "Достъпен обект за заглавие на таблица"
+
+#: atk/atkobject.c:424
+msgid "Is used to notify that the table caption has changed"
+msgstr "Използва се, за да се уведоми за промяна на заглавие на таблица"
+
+#: atk/atkobject.c:430
+msgid "Number of Accessible Hypertext Links"
+msgstr "Брой достъпни връзки в хипертекст"
+
+#: atk/atkobject.c:431
+msgid "The number of links which the current AtkHypertext has"
+msgstr "Брой връзки в текущия обект AtkHypertext"
+
+#: atk/atkobject.c:440
+msgid "Accessible ID"
+msgstr "Ид. за достъпен обект"
+
+#: atk/atkobject.c:441
+msgid "ID for the accessible; useful for automated testing"
+msgstr "Идентификатор за достъпен обект, полезно е при автоматично тестване"
+
+#: atk/atkobject.c:447
+msgid "Help text"
+msgstr "Помощен текст"
+
+#: atk/atkobject.c:448
+msgid "Help text associated with the accessible"
+msgstr "Помощен текст за достъпен обект"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:193
+msgid "very weak"
+msgstr "много слаба"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:200
+msgid "weak"
+msgstr "слаба"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:207
+msgid "acceptable"
+msgstr "приемлива"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:214
+msgid "strong"
+msgstr "силна"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:221
+msgid "very strong"
+msgstr "много силна"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:229
+msgid "very low"
+msgstr "много ниска"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:237
+msgid "medium"
+msgstr "средна"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:245
+msgid "high"
+msgstr "висока"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:253
+msgid "very high"
+msgstr "много висока"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:261
+msgid "very bad"
+msgstr "много лоша"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:269
+msgid "bad"
+msgstr "лоша"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:277
+msgid "good"
+msgstr "добра"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:285
+msgid "very good"
+msgstr "много добра"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:293
+msgid "best"
+msgstr "отлична"
+
+#: atspi/atspi-component.c:352 atspi/atspi-misc.c:1234 atspi/atspi-value.c:123
+msgid "The application no longer exists"
+msgstr "Програмата вече не съществува"
+
+#: atspi/atspi-misc.c:49
msgid "invalid"
msgstr "невалиден"
-#: atk/atkobject.c:100
+#: atspi/atspi-misc.c:50
msgid "accelerator label"
msgstr "етикет на ускорител"
-#: atk/atkobject.c:101
+#: atspi/atspi-misc.c:51
msgid "alert"
msgstr "внимание"
-#: atk/atkobject.c:102
+#: atspi/atspi-misc.c:52
msgid "animation"
msgstr "анимация"
-#: atk/atkobject.c:103
+#: atspi/atspi-misc.c:53
msgid "arrow"
msgstr "стрелка"
-#: atk/atkobject.c:104
+#: atspi/atspi-misc.c:54
msgid "calendar"
msgstr "календар"
-#: atk/atkobject.c:105
+#: atspi/atspi-misc.c:55
msgid "canvas"
msgstr "канава"
-#: atk/atkobject.c:106
+#: atspi/atspi-misc.c:56
msgid "check box"
msgstr "поле за отметка"
-#: atk/atkobject.c:107
+#: atspi/atspi-misc.c:57
msgid "check menu item"
msgstr "избираем елемент от меню"
-#: atk/atkobject.c:108
+#: atspi/atspi-misc.c:58
msgid "color chooser"
msgstr "избор на цвят"
-#: atk/atkobject.c:109
+#: atspi/atspi-misc.c:59
msgid "column header"
msgstr "заглавие на колона"
-#: atk/atkobject.c:110
+#: atspi/atspi-misc.c:60
msgid "combo box"
msgstr "падащ списък"
-#: atk/atkobject.c:111
+#: atspi/atspi-misc.c:61
msgid "dateeditor"
msgstr "редактор на дата"
-#: atk/atkobject.c:112
+#: atspi/atspi-misc.c:62
msgid "desktop icon"
msgstr "икона на работния плот"
-#: atk/atkobject.c:113
+#: atspi/atspi-misc.c:63
msgid "desktop frame"
msgstr "рамка на работния плот"
-#: atk/atkobject.c:114
+#: atspi/atspi-misc.c:64
msgid "dial"
msgstr "скала"
-#: atk/atkobject.c:115
+#: atspi/atspi-misc.c:65
msgid "dialog"
msgstr "диалогов прозорец"
-#: atk/atkobject.c:116
+#: atspi/atspi-misc.c:66
msgid "directory pane"
msgstr "съдържание на папка"
-#: atk/atkobject.c:117
+#: atspi/atspi-misc.c:67
msgid "drawing area"
msgstr "област за рисуване"
-#: atk/atkobject.c:118
+#: atspi/atspi-misc.c:68
msgid "file chooser"
msgstr "избор на файл"
-#: atk/atkobject.c:119
+#: atspi/atspi-misc.c:69
msgid "filler"
msgstr "пълнител"
#. I know it looks wrong but that is what Java returns
-#: atk/atkobject.c:121
+#: atspi/atspi-misc.c:71
msgid "fontchooser"
msgstr "избор на шрифт"
-#: atk/atkobject.c:122
+#: atspi/atspi-misc.c:72
msgid "frame"
msgstr "рамка"
-#: atk/atkobject.c:123
+#: atspi/atspi-misc.c:73
msgid "glass pane"
msgstr "най-предно поле"
-#: atk/atkobject.c:124
+#: atspi/atspi-misc.c:74
msgid "html container"
msgstr "контейнер с html"
-#: atk/atkobject.c:125
+#: atspi/atspi-misc.c:75
msgid "icon"
msgstr "икона"
-#: atk/atkobject.c:126
+#: atspi/atspi-misc.c:76
msgid "image"
msgstr "изображение"
-#: atk/atkobject.c:127
+#: atspi/atspi-misc.c:77
msgid "internal frame"
msgstr "вътрешна рамка"
-#: atk/atkobject.c:128
+#: atspi/atspi-misc.c:78
msgid "label"
msgstr "етикет"
-#: atk/atkobject.c:129
+#: atspi/atspi-misc.c:79
msgid "layered pane"
msgstr "рамка със слоеве обекти"
-#: atk/atkobject.c:130
+#: atspi/atspi-misc.c:80
msgid "list"
msgstr "списък"
-#: atk/atkobject.c:131
+#: atspi/atspi-misc.c:81
msgid "list item"
msgstr "елемент от списък"
-#: atk/atkobject.c:132
+#: atspi/atspi-misc.c:82
msgid "menu"
msgstr "меню"
-#: atk/atkobject.c:133
+#: atspi/atspi-misc.c:83
msgid "menu bar"
msgstr "лента с менюта"
-#: atk/atkobject.c:134
+#: atspi/atspi-misc.c:84
msgid "menu button"
msgstr "бутон в меню"
-#: atk/atkobject.c:135
+#: atspi/atspi-misc.c:85
msgid "menu item"
msgstr "елемент от меню"
-#: atk/atkobject.c:136
+#: atspi/atspi-misc.c:86
msgid "option pane"
msgstr "панел с опции"
-#: atk/atkobject.c:137
+#: atspi/atspi-misc.c:87
msgid "page tab"
msgstr "етикет на подпрозорец"
-#: atk/atkobject.c:138
+#: atspi/atspi-misc.c:88
msgid "page tab list"
msgstr "списък със подпрозорци"
-#: atk/atkobject.c:139
+#: atspi/atspi-misc.c:89
msgid "panel"
msgstr "панел"
-#: atk/atkobject.c:140
+#: atspi/atspi-misc.c:90
msgid "password text"
msgstr "текстово поле за парола"
-#: atk/atkobject.c:141
+#: atspi/atspi-misc.c:91
msgid "popup menu"
msgstr "изскачащо меню"
-#: atk/atkobject.c:142
+#: atspi/atspi-misc.c:92
msgid "progress bar"
msgstr "лента на напредъка"
-#: atk/atkobject.c:143
-msgid "push button"
+#: atspi/atspi-misc.c:93
+msgid "button"
msgstr "бутон"
-#: atk/atkobject.c:144
+#: atspi/atspi-misc.c:94
msgid "radio button"
msgstr "радио бутон"
-#: atk/atkobject.c:145
+#: atspi/atspi-misc.c:95
msgid "radio menu item"
msgstr "избираем елемент от меню"
-#: atk/atkobject.c:146
+#: atspi/atspi-misc.c:96
msgid "root pane"
msgstr "основна рамка"
-#: atk/atkobject.c:147
+#: atspi/atspi-misc.c:97
msgid "row header"
msgstr "заглавие на ред"
-#: atk/atkobject.c:148
+#: atspi/atspi-misc.c:98
msgid "scroll bar"
msgstr "лента за придвижване"
-#: atk/atkobject.c:149
+#: atspi/atspi-misc.c:99
msgid "scroll pane"
msgstr "рамка, която се прелиства"
-#: atk/atkobject.c:150
+#: atspi/atspi-misc.c:100
msgid "separator"
msgstr "разделител"
-#: atk/atkobject.c:151
+#: atspi/atspi-misc.c:101
msgid "slider"
msgstr "плъзгач"
-#: atk/atkobject.c:152
+#: atspi/atspi-misc.c:102
msgid "split pane"
msgstr "разделителна рамка"
-#: atk/atkobject.c:153
+#: atspi/atspi-misc.c:103
msgid "spin button"
msgstr "въртелив бутон"
-#: atk/atkobject.c:154
+#: atspi/atspi-misc.c:104
msgid "statusbar"
msgstr "лента за състояние"
-#: atk/atkobject.c:155
+#: atspi/atspi-misc.c:105
+msgid "switch"
+msgstr "превключвател"
+
+#: atspi/atspi-misc.c:106
msgid "table"
msgstr "таблица"
-#: atk/atkobject.c:156
+#: atspi/atspi-misc.c:107
msgid "table cell"
msgstr "клетка от таблица"
-#: atk/atkobject.c:157
+#: atspi/atspi-misc.c:108
msgid "table column header"
msgstr "заглавие на колона в таблица"
-#: atk/atkobject.c:158
+#: atspi/atspi-misc.c:109
msgid "table row header"
msgstr "заглавие на ред в таблица"
-#: atk/atkobject.c:159
+#: atspi/atspi-misc.c:110
msgid "tear off menu item"
msgstr "отделим елемент от меню"
-#: atk/atkobject.c:160
+#: atspi/atspi-misc.c:111
msgid "terminal"
msgstr "терминал"
-#: atk/atkobject.c:161
+#: atspi/atspi-misc.c:112
msgid "text"
msgstr "текст"
-#: atk/atkobject.c:162
+#: atspi/atspi-misc.c:113
msgid "toggle button"
msgstr "превключващ бутон"
-#: atk/atkobject.c:163
+#: atspi/atspi-misc.c:114
msgid "tool bar"
msgstr "лента с инструменти"
-#: atk/atkobject.c:164
+#: atspi/atspi-misc.c:115
msgid "tool tip"
msgstr "подсказка"
-#: atk/atkobject.c:165
+#: atspi/atspi-misc.c:116
msgid "tree"
msgstr "дърво"
-#: atk/atkobject.c:166
+#: atspi/atspi-misc.c:117
msgid "tree table"
msgstr "дървовидна таблица"
-#: atk/atkobject.c:167
+#: atspi/atspi-misc.c:118
msgid "unknown"
msgstr "неизвестно"
-#: atk/atkobject.c:168
+#: atspi/atspi-misc.c:119
msgid "viewport"
msgstr "видима част"
-#: atk/atkobject.c:169
+#: atspi/atspi-misc.c:120
msgid "window"
msgstr "прозорец"
-#: atk/atkobject.c:170
+#: atspi/atspi-misc.c:121
msgid "header"
msgstr "горен колонтитул"
-#: atk/atkobject.c:171
+#: atspi/atspi-misc.c:122
msgid "footer"
msgstr "долен колонтитул"
-#: atk/atkobject.c:172
+#: atspi/atspi-misc.c:123
msgid "paragraph"
msgstr "абзац"
-#: atk/atkobject.c:173
+#: atspi/atspi-misc.c:124
msgid "ruler"
msgstr "линийка"
-#: atk/atkobject.c:174
+#: atspi/atspi-misc.c:125
msgid "application"
msgstr "приложение"
-#: atk/atkobject.c:175
+#: atspi/atspi-misc.c:126
msgid "autocomplete"
msgstr "автоматично довършване"
-#: atk/atkobject.c:176
+#: atspi/atspi-misc.c:127
msgid "edit bar"
msgstr "лента за редакция"
-#: atk/atkobject.c:177
+#: atspi/atspi-misc.c:128
msgid "embedded component"
msgstr "вграден компонент"
-#: atk/atkobject.c:178
+#: atspi/atspi-misc.c:129
msgid "entry"
msgstr "поле за писане"
-#: atk/atkobject.c:179
+#: atspi/atspi-misc.c:130
msgid "chart"
msgstr "графика"
-#: atk/atkobject.c:180
+#: atspi/atspi-misc.c:131
msgid "caption"
msgstr "надпис"
-#: atk/atkobject.c:181
+#: atspi/atspi-misc.c:132
msgid "document frame"
msgstr "рамка на документ"
-#: atk/atkobject.c:182
+#: atspi/atspi-misc.c:133
msgid "heading"
msgstr "заглавие"
-#: atk/atkobject.c:183
+#: atspi/atspi-misc.c:134
msgid "page"
msgstr "страница"
-#: atk/atkobject.c:184
+#: atspi/atspi-misc.c:135
msgid "section"
msgstr "раздел"
-#: atk/atkobject.c:185
+#: atspi/atspi-misc.c:136
msgid "redundant object"
msgstr "излишен обект"
-#: atk/atkobject.c:186
+#: atspi/atspi-misc.c:137
msgid "form"
msgstr "формуляр"
-#: atk/atkobject.c:187
+#: atspi/atspi-misc.c:138
msgid "link"
msgstr "връзка"
-#: atk/atkobject.c:188
+#: atspi/atspi-misc.c:139
msgid "input method window"
msgstr "избор на начина за въвеждане на текст"
-#: atk/atkobject.c:189
+#: atspi/atspi-misc.c:140
msgid "table row"
msgstr "ред в таблица"
-#: atk/atkobject.c:190
+#: atspi/atspi-misc.c:141
msgid "tree item"
msgstr "елемент от дърво"
-#: atk/atkobject.c:191
+#: atspi/atspi-misc.c:142
msgid "document spreadsheet"
msgstr "електронна таблица"
-#: atk/atkobject.c:192
+#: atspi/atspi-misc.c:143
msgid "document presentation"
msgstr "презентация"
-#: atk/atkobject.c:193
+#: atspi/atspi-misc.c:144
msgid "document text"
msgstr "текст"
-#: atk/atkobject.c:194
+#: atspi/atspi-misc.c:145
msgid "document web"
msgstr "уеб страница"
-#: atk/atkobject.c:195
+#: atspi/atspi-misc.c:146
msgid "document email"
msgstr "е-писмо"
-#: atk/atkobject.c:196
+#: atspi/atspi-misc.c:147
msgid "comment"
msgstr "коментар"
-#: atk/atkobject.c:197
+#: atspi/atspi-misc.c:148
msgid "list box"
msgstr "списък"
-#: atk/atkobject.c:198
+#: atspi/atspi-misc.c:149
msgid "grouping"
msgstr "групиране"
-#: atk/atkobject.c:199
+#: atspi/atspi-misc.c:150
msgid "image map"
msgstr "зонирано изображение"
-#: atk/atkobject.c:200
+#: atspi/atspi-misc.c:151
msgid "notification"
msgstr "известяване"
-#: atk/atkobject.c:201
+#: atspi/atspi-misc.c:152
msgid "info bar"
msgstr "лента с информация"
-#: atk/atkobject.c:202
+#: atspi/atspi-misc.c:153
msgid "level bar"
msgstr "нивомер"
-#: atk/atkobject.c:203
+#: atspi/atspi-misc.c:154
msgid "title bar"
msgstr "заглавна лента"
-#: atk/atkobject.c:204
+#: atspi/atspi-misc.c:155
msgid "block quote"
msgstr "цитат в каре"
-#: atk/atkobject.c:205
+#: atspi/atspi-misc.c:156
msgid "audio"
msgstr "аудио"
-#: atk/atkobject.c:206
+#: atspi/atspi-misc.c:157
msgid "video"
msgstr "видео"
-#: atk/atkobject.c:207
+#: atspi/atspi-misc.c:158
msgid "definition"
msgstr "определение"
-#: atk/atkobject.c:208
+#: atspi/atspi-misc.c:159
msgid "article"
msgstr "статия"
-#: atk/atkobject.c:209
+#: atspi/atspi-misc.c:160
msgid "landmark"
msgstr "ориентир"
-#: atk/atkobject.c:210
+#: atspi/atspi-misc.c:161
msgid "log"
msgstr "журнал"
-#: atk/atkobject.c:211
+#: atspi/atspi-misc.c:162
msgid "marquee"
msgstr "движещ се текст"
-#: atk/atkobject.c:212
+#: atspi/atspi-misc.c:163
msgid "math"
msgstr "математика"
-#: atk/atkobject.c:213
+#: atspi/atspi-misc.c:164
msgid "rating"
msgstr "оценка"
-#: atk/atkobject.c:214
+#: atspi/atspi-misc.c:165
msgid "timer"
msgstr "хронометър"
-#: atk/atkobject.c:215
+#: atspi/atspi-misc.c:166
msgid "description list"
msgstr "списък на описанията"
-#: atk/atkobject.c:216
+#: atspi/atspi-misc.c:167
msgid "description term"
msgstr "термин"
-#: atk/atkobject.c:217
+#: atspi/atspi-misc.c:168
msgid "description value"
msgstr "описание"
-
-#: atk/atkobject.c:393
-msgid "Accessible Name"
-msgstr "Достъпно име"
-
-#: atk/atkobject.c:394
-msgid "Object instance’s name formatted for assistive technology access"
-msgstr "Име на обект от някакъв клас, форматирано за технологии за достъпност"
-
-#: atk/atkobject.c:400
-msgid "Accessible Description"
-msgstr "Достъпно описание"
-
-#: atk/atkobject.c:401
-msgid "Description of an object, formatted for assistive technology access"
-msgstr "Описание на обект, форматирано за технологии за достъпност"
-
-#: atk/atkobject.c:407
-msgid "Accessible Parent"
-msgstr "Достъпен родител"
-
-#: atk/atkobject.c:408
-msgid "Parent of the current accessible as returned by atk_object_get_parent()"
-msgstr ""
-"Родителят на текущия елемент, както е върнат от atk_object_get_parent()"
-
-#: atk/atkobject.c:424
-msgid "Accessible Value"
-msgstr "Достъпна стойност"
-
-#: atk/atkobject.c:425
-msgid "Is used to notify that the value has changed"
-msgstr "Използва се, за да се уведоми за промяна на стойността"
-
-#: atk/atkobject.c:433
-msgid "Accessible Role"
-msgstr "Достъпен вид"
-
-#: atk/atkobject.c:434
-msgid "The accessible role of this object"
-msgstr "Достъпният вид на този обект"
-
-#: atk/atkobject.c:441
-msgid "Accessible Layer"
-msgstr "Достъпен слой"
-
-#: atk/atkobject.c:442
-msgid "The accessible layer of this object"
-msgstr "Достъпният слой на този обект"
-
-#: atk/atkobject.c:450
-msgid "Accessible MDI Value"
-msgstr "Достъпна стойност на приложение с множество прозорци в един контейнер"
-
-#: atk/atkobject.c:451
-msgid "The accessible MDI value of this object"
-msgstr ""
-"Достъпна стойност на обект на приложение с множество прозорци в един "
-"контейнер"
-
-#: atk/atkobject.c:467
-msgid "Accessible Table Caption"
-msgstr "Достъпно заглавие на таблица"
-
-#: atk/atkobject.c:468
-msgid ""
-"Is used to notify that the table caption has changed; this property should "
-"not be used. accessible-table-caption-object should be used instead"
-msgstr ""
-"Използва се, за да се уведоми за промяна на заглавие на таблица. Това "
-"свойство не трябва да се използва. Вместо него се използва accessible-table-"
-"caption-object"
-
-#: atk/atkobject.c:482
-msgid "Accessible Table Column Header"
-msgstr "Достъпно заглавие на колона на таблица"
-
-#: atk/atkobject.c:483
-msgid "Is used to notify that the table column header has changed"
-msgstr ""
-"Използва се, за да се уведоми за промяна на заглавие на колона на таблица."
-
-#: atk/atkobject.c:498
-msgid "Accessible Table Column Description"
-msgstr "Достъпно описание на колона в таблица"
-
-#: atk/atkobject.c:499
-msgid "Is used to notify that the table column description has changed"
-msgstr ""
-"Използва се, за да се уведоми за промяна на описание на колона на таблица."
-
-#: atk/atkobject.c:514
-msgid "Accessible Table Row Header"
-msgstr "Достъпно заглавие на ред на таблица"
-
-#: atk/atkobject.c:515
-msgid "Is used to notify that the table row header has changed"
-msgstr ""
-"Използва се, за да се уведоми за промяна на заглавие на ред на таблица."
-
-#: atk/atkobject.c:529
-msgid "Accessible Table Row Description"
-msgstr "Достъпно описание на ред в таблица"
-
-#: atk/atkobject.c:530
-msgid "Is used to notify that the table row description has changed"
-msgstr ""
-"Използва се, за да се уведоми за промяна на описание на ред на таблица."
-
-#: atk/atkobject.c:536
-msgid "Accessible Table Summary"
-msgstr "Достъпно резюме на таблица"
-
-#: atk/atkobject.c:537
-msgid "Is used to notify that the table summary has changed"
-msgstr "Използва се, за да се уведоми за промяна на резюме на таблица"
-
-#: atk/atkobject.c:543
-msgid "Accessible Table Caption Object"
-msgstr "Достъпен обект за заглавие на таблица"
-
-#: atk/atkobject.c:544
-msgid "Is used to notify that the table caption has changed"
-msgstr "Използва се, за да се уведоми за промяна на заглавие на таблица"
-
-#: atk/atkobject.c:550
-msgid "Number of Accessible Hypertext Links"
-msgstr "Брой достъпни връзки в хипертекст"
-
-#: atk/atkobject.c:551
-msgid "The number of links which the current AtkHypertext has"
-msgstr "Брой връзки в текущия обект AtkHypertext"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:194
-msgid "very weak"
-msgstr "много слаба"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:201
-msgid "weak"
-msgstr "слаба"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:208
-msgid "acceptable"
-msgstr "приемлива"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:215
-msgid "strong"
-msgstr "силна"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:222
-msgid "very strong"
-msgstr "много силна"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:230
-msgid "very low"
-msgstr "много ниска"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:238
-msgid "medium"
-msgstr "средна"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:246
-msgid "high"
-msgstr "висока"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:254
-msgid "very high"
-msgstr "много висока"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:262
-msgid "very bad"
-msgstr "много лоша"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:270
-msgid "bad"
-msgstr "лоша"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:278
-msgid "good"
-msgstr "добра"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:286
-msgid "very good"
-msgstr "много добра"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:294
-msgid "best"
-msgstr "отлична"
-
-#: atspi/atspi-component.c:332 atspi/atspi-misc.c:1068 atspi/atspi-value.c:111
-msgid "The application no longer exists"
-msgstr "Програмата вече не съществува"
diff --git a/po/ca.po b/po/ca.po
index d30a417..95e41ee 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -1,10 +1,8 @@
-# #-#-#-#-# ca.po (at-spi2-core master) #-#-#-#-#
# Catalan translation for at-spi2-core.
# Copyright (C) 2011 at-spi2-core's COPYRIGHT HOLDER
# This file is distributed under the same license as the at-spi2-core package.
# David Planella , 2011.
#
-# #-#-#-#-# ca.po (atk 1.6.0) #-#-#-#-#
# Catalan messages for atk.
# Copyright © 2002, 2003, 2004, 2006 Free Software Foundation Inc.
# This file is distributed under the same license as the atk package.
@@ -15,811 +13,833 @@
msgid ""
msgstr ""
"Project-Id-Version: atk 1.6.0\n"
-"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/at-spi2-core/issues\n"
-"POT-Creation-Date: 2022-07-25 14:47+0000\n"
-"PO-Revision-Date: 2022-09-04 05:44+0100\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/at-spi2-core/issues/\n"
+"POT-Creation-Date: 2025-02-11 18:33+0000\n"
+"PO-Revision-Date: 2025-03-02 21:59+0100\n"
"Last-Translator: Jordi Mas i Herǹandez \n"
"Language-Team: català; valencià <>\n"
"Language: ca\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"#-#-#-#-# ca.po (at-spi2-core master) #-#-#-#-#\n"
-"#-#-#-#-# ca.po (atk 1.6.0) #-#-#-#-#\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Poedit 2.4.2\n"
-#: atk/atkhyperlink.c:126
+#: atk/atkhyperlink.c:127
msgid "Selected Link"
msgstr "Enllaç seleccionat"
-#: atk/atkhyperlink.c:127
+#: atk/atkhyperlink.c:128
msgid "Specifies whether the AtkHyperlink object is selected"
msgstr "Especifica si l'objecte AtkHyperlink és seleccionat"
-#: atk/atkhyperlink.c:133
+#: atk/atkhyperlink.c:134
msgid "Number of Anchors"
msgstr "Nombre d'àncores"
-#: atk/atkhyperlink.c:134
+#: atk/atkhyperlink.c:135
msgid "The number of anchors associated with the AtkHyperlink object"
msgstr "El nombre d'àncores associades amb l'objecte AtkHyperlink"
-#: atk/atkhyperlink.c:142
+#: atk/atkhyperlink.c:143
msgid "End index"
msgstr "Final de l'índex"
-#: atk/atkhyperlink.c:143
+#: atk/atkhyperlink.c:144
msgid "The end index of the AtkHyperlink object"
msgstr "El final de l'índex de l'objecte AtkHyperlink"
-#: atk/atkhyperlink.c:151
+#: atk/atkhyperlink.c:152
msgid "Start index"
msgstr "Inici de l'índex"
-#: atk/atkhyperlink.c:152
+#: atk/atkhyperlink.c:153
msgid "The start index of the AtkHyperlink object"
msgstr "L'inici de l'índex de l'objecte AtkHyperlink"
-#: atk/atkobject.c:98
+#: atk/atkobject.c:273
+msgid "Accessible Name"
+msgstr "Nom accessible"
+
+#: atk/atkobject.c:274
+msgid "Object instance’s name formatted for assistive technology access"
+msgstr ""
+"Nom de la instància de l'objecte formatat per a l'accés de les tecnologies "
+"assistives"
+
+#: atk/atkobject.c:280
+msgid "Accessible Description"
+msgstr "Descripció accessible"
+
+#: atk/atkobject.c:281
+msgid "Description of an object, formatted for assistive technology access"
+msgstr ""
+"Descripció d'un objecte, formatat per a l'accés de les tecnologies assistives"
+
+#: atk/atkobject.c:287
+msgid "Accessible Parent"
+msgstr "Pare accessible"
+
+#: atk/atkobject.c:288
+msgid "Parent of the current accessible as returned by atk_object_get_parent()"
+msgstr "Pare de l'accessible actual com el retorna l'«atk_object_get_parent()»"
+
+#: atk/atkobject.c:304
+msgid "Accessible Value"
+msgstr "Valor accessible"
+
+#: atk/atkobject.c:305
+msgid "Is used to notify that the value has changed"
+msgstr "S'utilitza per a notificar que el valor ha canviat"
+
+#: atk/atkobject.c:313
+msgid "Accessible Role"
+msgstr "Rol accessible"
+
+#: atk/atkobject.c:314
+msgid "The accessible role of this object"
+msgstr "El rol accessible d'aquest objecte"
+
+#: atk/atkobject.c:321
+msgid "Accessible Layer"
+msgstr "Capa accessible"
+
+#: atk/atkobject.c:322
+msgid "The accessible layer of this object"
+msgstr "La capa accessible d'aquest objecte"
+
+#: atk/atkobject.c:330
+msgid "Accessible MDI Value"
+msgstr "Valor MDI accessible"
+
+#: atk/atkobject.c:331
+msgid "The accessible MDI value of this object"
+msgstr "El valor MDI accessible d'aquest objecte"
+
+#: atk/atkobject.c:347
+msgid "Accessible Table Caption"
+msgstr "Títol de la taula accessible"
+
+#: atk/atkobject.c:348
+msgid ""
+"Is used to notify that the table caption has changed; this property should "
+"not be used. accessible-table-caption-object should be used instead"
+msgstr ""
+"S'utilitza per a notificar que el títol de la taula ha canviat; aquesta "
+"propietat no s'ha d'utilitzar. S'ha d'utilitzar accessible-table-caption-"
+"object en el seu lloc"
+
+#: atk/atkobject.c:362
+msgid "Accessible Table Column Header"
+msgstr "Capçalera de columna de taula accessible"
+
+#: atk/atkobject.c:363
+msgid "Is used to notify that the table column header has changed"
+msgstr ""
+"S'utilitza per a notificar que la capçalera de la columna de la taula ha "
+"canviat"
+
+#: atk/atkobject.c:378
+msgid "Accessible Table Column Description"
+msgstr "Descripció de la columna de la taula accessible"
+
+#: atk/atkobject.c:379
+msgid "Is used to notify that the table column description has changed"
+msgstr ""
+"S'utilitza per a notificar que la descripció de la columna de la taula ha "
+"canviat"
+
+#: atk/atkobject.c:394
+msgid "Accessible Table Row Header"
+msgstr "Capçalera de la fila de la taula accessible"
+
+#: atk/atkobject.c:395
+msgid "Is used to notify that the table row header has changed"
+msgstr ""
+"S'utilitza per a notificar que la capçalera de la fila de la taula ha canviat"
+
+#: atk/atkobject.c:409
+msgid "Accessible Table Row Description"
+msgstr "Descripció de la fila de la taula accessible"
+
+#: atk/atkobject.c:410
+msgid "Is used to notify that the table row description has changed"
+msgstr ""
+"S'utilitza per a notificar que la descripció de la fila de la taula ha "
+"canviat"
+
+#: atk/atkobject.c:416
+msgid "Accessible Table Summary"
+msgstr "Resum de la taula accessible"
+
+#: atk/atkobject.c:417
+msgid "Is used to notify that the table summary has changed"
+msgstr "S'utilitza per a notificar que el resum de la taula ha canviat"
+
+#: atk/atkobject.c:423
+msgid "Accessible Table Caption Object"
+msgstr "Objecte de títol de taula accessible"
+
+#: atk/atkobject.c:424
+msgid "Is used to notify that the table caption has changed"
+msgstr "S'utilitza per a notificar que el títol de la taula ha canviat"
+
+#: atk/atkobject.c:430
+msgid "Number of Accessible Hypertext Links"
+msgstr "Nombre d'enllaços d'hipertext accessibles"
+
+#: atk/atkobject.c:431
+msgid "The number of links which the current AtkHypertext has"
+msgstr "El nombre d'enllaços que té l'AtkHypertext actual"
+
+#: atk/atkobject.c:440
+msgid "Accessible ID"
+msgstr "Identificador accessible"
+
+#: atk/atkobject.c:441
+msgid "ID for the accessible; useful for automated testing"
+msgstr "Identificador de l'accessible; útil per a les proves automàtiques"
+
+#: atk/atkobject.c:447
+msgid "Help text"
+msgstr "Text d'ajuda"
+
+#: atk/atkobject.c:448
+msgid "Help text associated with the accessible"
+msgstr "Text d'ajuda associat amb l'accessible"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:193
+msgid "very weak"
+msgstr "molt dèbil"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:200
+msgid "weak"
+msgstr "dèbil"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:207
+msgid "acceptable"
+msgstr "acceptable"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:214
+msgid "strong"
+msgstr "fort"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:221
+msgid "very strong"
+msgstr "molt fort"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:229
+msgid "very low"
+msgstr "molt baix"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:237
+msgid "medium"
+msgstr "mitjà"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:245
+msgid "high"
+msgstr "alt"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:253
+msgid "very high"
+msgstr "molt alt"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:261
+msgid "very bad"
+msgstr "molt dolent"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:269
+msgid "bad"
+msgstr "dolent"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:277
+msgid "good"
+msgstr "bo"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:285
+msgid "very good"
+msgstr "molt bo"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:293
+msgid "best"
+msgstr "el millor"
+
+#: atspi/atspi-component.c:352 atspi/atspi-misc.c:1234 atspi/atspi-value.c:123
+msgid "The application no longer exists"
+msgstr "L'aplicació ja no existeix"
+
+#: atspi/atspi-misc.c:49
msgid "invalid"
msgstr "no vàlid"
-#: atk/atkobject.c:99
+#: atspi/atspi-misc.c:50
msgid "accelerator label"
msgstr "etiqueta d'accelerador"
-#: atk/atkobject.c:100
+#: atspi/atspi-misc.c:51
msgid "alert"
msgstr "alerta"
-#: atk/atkobject.c:101
+#: atspi/atspi-misc.c:52
msgid "animation"
msgstr "animació"
-#: atk/atkobject.c:102
+#: atspi/atspi-misc.c:53
msgid "arrow"
msgstr "fletxa"
-#: atk/atkobject.c:103
+#: atspi/atspi-misc.c:54
msgid "calendar"
msgstr "calendari"
-#: atk/atkobject.c:104
+#: atspi/atspi-misc.c:55
msgid "canvas"
msgstr "llenç"
-#: atk/atkobject.c:105
+#: atspi/atspi-misc.c:56
msgid "check box"
msgstr "casella de selecció"
-#: atk/atkobject.c:106
+#: atspi/atspi-misc.c:57
msgid "check menu item"
msgstr "element de menú de verificació"
-#: atk/atkobject.c:107
+#: atspi/atspi-misc.c:58
msgid "color chooser"
msgstr "selector de color"
-#: atk/atkobject.c:108
+#: atspi/atspi-misc.c:59
msgid "column header"
msgstr "capçalera de columna"
-#: atk/atkobject.c:109
+#: atspi/atspi-misc.c:60
msgid "combo box"
msgstr "quadre combinat"
-#: atk/atkobject.c:110
+#: atspi/atspi-misc.c:61
msgid "dateeditor"
msgstr "editor de data"
-#: atk/atkobject.c:111
+#: atspi/atspi-misc.c:62
msgid "desktop icon"
msgstr "icona d'escriptori"
-#: atk/atkobject.c:112
+#: atspi/atspi-misc.c:63
msgid "desktop frame"
msgstr "marc d'escriptori"
-#: atk/atkobject.c:113
+#: atspi/atspi-misc.c:64
msgid "dial"
msgstr "disc selector"
-#: atk/atkobject.c:114
+#: atspi/atspi-misc.c:65
msgid "dialog"
msgstr "diàleg"
-#: atk/atkobject.c:115
+#: atspi/atspi-misc.c:66
msgid "directory pane"
msgstr "quadre de directori"
-#: atk/atkobject.c:116
+#: atspi/atspi-misc.c:67
msgid "drawing area"
msgstr "àrea de dibuix"
-#: atk/atkobject.c:117
+#: atspi/atspi-misc.c:68
msgid "file chooser"
msgstr "selector de fitxers"
-#: atk/atkobject.c:118
+#: atspi/atspi-misc.c:69
msgid "filler"
msgstr "farciment"
#. I know it looks wrong but that is what Java returns
-#: atk/atkobject.c:120
+#: atspi/atspi-misc.c:71
msgid "fontchooser"
msgstr "selector de tipus de lletra"
-#: atk/atkobject.c:121
+#: atspi/atspi-misc.c:72
msgid "frame"
msgstr "marc"
-#: atk/atkobject.c:122
+#: atspi/atspi-misc.c:73
msgid "glass pane"
msgstr "quadre transparent"
-#: atk/atkobject.c:123
+#: atspi/atspi-misc.c:74
msgid "html container"
msgstr "contenidor d'html"
-#: atk/atkobject.c:124
+#: atspi/atspi-misc.c:75
msgid "icon"
msgstr "icona"
-#: atk/atkobject.c:125
+#: atspi/atspi-misc.c:76
msgid "image"
msgstr "imatge"
-#: atk/atkobject.c:126
+#: atspi/atspi-misc.c:77
msgid "internal frame"
msgstr "marc intern"
-#: atk/atkobject.c:127
+#: atspi/atspi-misc.c:78
msgid "label"
msgstr "etiqueta"
-#: atk/atkobject.c:128
+#: atspi/atspi-misc.c:79
msgid "layered pane"
msgstr "quadre superposat"
-#: atk/atkobject.c:129
+#: atspi/atspi-misc.c:80
msgid "list"
msgstr "llista"
-#: atk/atkobject.c:130
+#: atspi/atspi-misc.c:81
msgid "list item"
msgstr "element de llista"
-#: atk/atkobject.c:131
+#: atspi/atspi-misc.c:82
msgid "menu"
msgstr "menú"
-#: atk/atkobject.c:132
+#: atspi/atspi-misc.c:83
msgid "menu bar"
msgstr "barra de menú"
-#: atk/atkobject.c:133
+#: atspi/atspi-misc.c:84
msgid "menu button"
msgstr "botó de menú"
-#: atk/atkobject.c:134
+#: atspi/atspi-misc.c:85
msgid "menu item"
msgstr "element de menú"
-#: atk/atkobject.c:135
+#: atspi/atspi-misc.c:86
msgid "option pane"
msgstr "subfinestra d'opcions"
-#: atk/atkobject.c:136
+#: atspi/atspi-misc.c:87
msgid "page tab"
msgstr "pestanya de pàgina"
-#: atk/atkobject.c:137
+#: atspi/atspi-misc.c:88
msgid "page tab list"
msgstr "llista de pestanyes de pàgina"
-#: atk/atkobject.c:138
+#: atspi/atspi-misc.c:89
msgid "panel"
msgstr "quadre"
-#: atk/atkobject.c:139
+#: atspi/atspi-misc.c:90
msgid "password text"
msgstr "text de contrasenya"
-#: atk/atkobject.c:140
+#: atspi/atspi-misc.c:91
msgid "popup menu"
msgstr "menú emergent"
-#: atk/atkobject.c:141
+#: atspi/atspi-misc.c:92
msgid "progress bar"
msgstr "barra de progrés"
-#: atk/atkobject.c:142
-msgid "push button"
-msgstr "botó de pulsació"
+#: atspi/atspi-misc.c:93
+msgid "button"
+msgstr "botó"
-#: atk/atkobject.c:143
+#: atspi/atspi-misc.c:94
msgid "radio button"
msgstr "botó radial"
-#: atk/atkobject.c:144
+#: atspi/atspi-misc.c:95
msgid "radio menu item"
msgstr "element de menú radial"
-#: atk/atkobject.c:145
+#: atspi/atspi-misc.c:96
msgid "root pane"
msgstr "quadre arrel"
-#: atk/atkobject.c:146
+#: atspi/atspi-misc.c:97
msgid "row header"
msgstr "capçalera de fila"
-#: atk/atkobject.c:147
+#: atspi/atspi-misc.c:98
msgid "scroll bar"
msgstr "barra de desplaçament"
-#: atk/atkobject.c:148
+#: atspi/atspi-misc.c:99
msgid "scroll pane"
msgstr "subfinestra de desplaçament"
-#: atk/atkobject.c:149
+#: atspi/atspi-misc.c:100
msgid "separator"
msgstr "separador"
-#: atk/atkobject.c:150
+#: atspi/atspi-misc.c:101
msgid "slider"
msgstr "desplaçador"
-#: atk/atkobject.c:151
+#: atspi/atspi-misc.c:102
msgid "split pane"
msgstr "subfinestra partida"
-#: atk/atkobject.c:152
+#: atspi/atspi-misc.c:103
msgid "spin button"
msgstr "botó giratori"
-#: atk/atkobject.c:153
+#: atspi/atspi-misc.c:104
msgid "statusbar"
msgstr "barra d'estat"
-#: atk/atkobject.c:154
+#: atspi/atspi-misc.c:105
+msgid "switch"
+msgstr "commutador"
+
+#: atspi/atspi-misc.c:106
msgid "table"
msgstr "taula"
-#: atk/atkobject.c:155
+#: atspi/atspi-misc.c:107
msgid "table cell"
msgstr "cel·la de taula"
-#: atk/atkobject.c:156
+#: atspi/atspi-misc.c:108
msgid "table column header"
msgstr "capçalera de columna de taula"
-#: atk/atkobject.c:157
+#: atspi/atspi-misc.c:109
msgid "table row header"
msgstr "capçalera de fila de taula"
-#: atk/atkobject.c:158
+#: atspi/atspi-misc.c:110
msgid "tear off menu item"
msgstr "element de menú desacoblable"
-#: atk/atkobject.c:159
+#: atspi/atspi-misc.c:111
msgid "terminal"
msgstr "terminal"
-#: atk/atkobject.c:160
+#: atspi/atspi-misc.c:112
msgid "text"
msgstr "text"
-#: atk/atkobject.c:161
+#: atspi/atspi-misc.c:113
msgid "toggle button"
msgstr "botó de selecció"
-#: atk/atkobject.c:162
+#: atspi/atspi-misc.c:114
msgid "tool bar"
msgstr "barra d'eines"
-#: atk/atkobject.c:163
+#: atspi/atspi-misc.c:115
msgid "tool tip"
msgstr "consell"
-#: atk/atkobject.c:164
+#: atspi/atspi-misc.c:116
msgid "tree"
msgstr "arbre"
-#: atk/atkobject.c:165
+#: atspi/atspi-misc.c:117
msgid "tree table"
msgstr "taula d'arbre"
-#: atk/atkobject.c:166
+#: atspi/atspi-misc.c:118
msgid "unknown"
msgstr "desconegut"
-#: atk/atkobject.c:167
+#: atspi/atspi-misc.c:119
msgid "viewport"
msgstr "subàrea"
-#: atk/atkobject.c:168
+#: atspi/atspi-misc.c:120
msgid "window"
msgstr "finestra"
-#: atk/atkobject.c:169
+#: atspi/atspi-misc.c:121
msgid "header"
msgstr "capçalera"
-#: atk/atkobject.c:170
+#: atspi/atspi-misc.c:122
msgid "footer"
msgstr "peu"
-#: atk/atkobject.c:171
+#: atspi/atspi-misc.c:123
msgid "paragraph"
msgstr "paràgraf"
-#: atk/atkobject.c:172
+#: atspi/atspi-misc.c:124
msgid "ruler"
msgstr "regle"
-#: atk/atkobject.c:173
+#: atspi/atspi-misc.c:125
msgid "application"
msgstr "aplicació"
-#: atk/atkobject.c:174
+#: atspi/atspi-misc.c:126
msgid "autocomplete"
msgstr "completa automàticament"
-#: atk/atkobject.c:175
+#: atspi/atspi-misc.c:127
msgid "edit bar"
msgstr "edita la barra"
-#: atk/atkobject.c:176
+#: atspi/atspi-misc.c:128
msgid "embedded component"
msgstr "component incrustat"
-#: atk/atkobject.c:177
+#: atspi/atspi-misc.c:129
msgid "entry"
msgstr "entrada"
-#: atk/atkobject.c:178
+#: atspi/atspi-misc.c:130
msgid "chart"
msgstr "diagrama"
-#: atk/atkobject.c:179
+#: atspi/atspi-misc.c:131
msgid "caption"
msgstr "títol"
-#: atk/atkobject.c:180
+#: atspi/atspi-misc.c:132
msgid "document frame"
msgstr "marc de document"
-#: atk/atkobject.c:181
+#: atspi/atspi-misc.c:133
msgid "heading"
msgstr "encapçalament"
-#: atk/atkobject.c:182
+#: atspi/atspi-misc.c:134
msgid "page"
msgstr "pàgina"
-#: atk/atkobject.c:183
+#: atspi/atspi-misc.c:135
msgid "section"
msgstr "secció"
-#: atk/atkobject.c:184
+#: atspi/atspi-misc.c:136
msgid "redundant object"
msgstr "objecte redundant"
-#: atk/atkobject.c:185
+#: atspi/atspi-misc.c:137
msgid "form"
msgstr "formulari"
-#: atk/atkobject.c:186
+#: atspi/atspi-misc.c:138
msgid "link"
msgstr "enllaç"
-#: atk/atkobject.c:187
+#: atspi/atspi-misc.c:139
msgid "input method window"
msgstr "finestra del mètode d'entrada"
-#: atk/atkobject.c:188
+#: atspi/atspi-misc.c:140
msgid "table row"
msgstr "fila de taula"
-#: atk/atkobject.c:189
+#: atspi/atspi-misc.c:141
msgid "tree item"
msgstr "element d'arbre"
-#: atk/atkobject.c:190
+#: atspi/atspi-misc.c:142
msgid "document spreadsheet"
msgstr "document de full de càlcul"
-#: atk/atkobject.c:191
+#: atspi/atspi-misc.c:143
msgid "document presentation"
msgstr "document de presentació"
-#: atk/atkobject.c:192
+#: atspi/atspi-misc.c:144
msgid "document text"
msgstr "document de text"
-#: atk/atkobject.c:193
+#: atspi/atspi-misc.c:145
msgid "document web"
msgstr "document web"
-#: atk/atkobject.c:194
+#: atspi/atspi-misc.c:146
msgid "document email"
msgstr "document de correu electrònic"
-#: atk/atkobject.c:195
+#: atspi/atspi-misc.c:147
msgid "comment"
msgstr "comentari"
-#: atk/atkobject.c:196
+#: atspi/atspi-misc.c:148
msgid "list box"
msgstr "caixa de llista"
-#: atk/atkobject.c:197
+#: atspi/atspi-misc.c:149
msgid "grouping"
msgstr "agrupació"
-#: atk/atkobject.c:198
+#: atspi/atspi-misc.c:150
msgid "image map"
msgstr "mapa d'imatge"
-#: atk/atkobject.c:199
+#: atspi/atspi-misc.c:151
msgid "notification"
msgstr "notificació"
-#: atk/atkobject.c:200
+#: atspi/atspi-misc.c:152
msgid "info bar"
msgstr "barra d'informació"
-#: atk/atkobject.c:201
+#: atspi/atspi-misc.c:153
msgid "level bar"
msgstr "barra de nivell"
-#: atk/atkobject.c:202
+#: atspi/atspi-misc.c:154
msgid "title bar"
msgstr "barra de títol"
-#: atk/atkobject.c:203
+#: atspi/atspi-misc.c:155
msgid "block quote"
msgstr "cita"
-#: atk/atkobject.c:204
+#: atspi/atspi-misc.c:156
msgid "audio"
msgstr "àudio"
-#: atk/atkobject.c:205
+#: atspi/atspi-misc.c:157
msgid "video"
msgstr "vídeo"
-#: atk/atkobject.c:206
+#: atspi/atspi-misc.c:158
msgid "definition"
msgstr "definició"
-#: atk/atkobject.c:207
+#: atspi/atspi-misc.c:159
msgid "article"
msgstr "article"
-#: atk/atkobject.c:208
+#: atspi/atspi-misc.c:160
msgid "landmark"
msgstr "marca important"
-#: atk/atkobject.c:209
+#: atspi/atspi-misc.c:161
msgid "log"
msgstr "registre"
-#: atk/atkobject.c:210
+#: atspi/atspi-misc.c:162
msgid "marquee"
msgstr "marquesina"
-#: atk/atkobject.c:211
+#: atspi/atspi-misc.c:163
msgid "math"
msgstr "matemàtiques"
-#: atk/atkobject.c:212
+#: atspi/atspi-misc.c:164
msgid "rating"
msgstr "valoració"
-#: atk/atkobject.c:213
+#: atspi/atspi-misc.c:165
msgid "timer"
msgstr "temporitzador"
-#: atk/atkobject.c:214
+#: atspi/atspi-misc.c:166
msgid "description list"
msgstr "llista de descripció"
-#: atk/atkobject.c:215
+#: atspi/atspi-misc.c:167
msgid "description term"
msgstr "terme de descripció"
-#: atk/atkobject.c:216
+#: atspi/atspi-misc.c:168
msgid "description value"
msgstr "valor de descripció"
-#: atk/atkobject.c:392
-msgid "Accessible Name"
-msgstr "Nom accessible"
-
-#: atk/atkobject.c:393
-msgid "Object instance’s name formatted for assistive technology access"
-msgstr ""
-"Nom de la instància de l'objecte formatat per a l'accés de les tecnologies "
-"assistives"
-
-#: atk/atkobject.c:399
-msgid "Accessible Description"
-msgstr "Descripció accessible"
-
-#: atk/atkobject.c:400
-msgid "Description of an object, formatted for assistive technology access"
-msgstr ""
-"Descripció d'un objecte, formatat per a l'accés de les tecnologies assistives"
-
-#: atk/atkobject.c:406
-msgid "Accessible Parent"
-msgstr "Pare accessible"
-
-#: atk/atkobject.c:407
-msgid "Parent of the current accessible as returned by atk_object_get_parent()"
-msgstr "Pare de l'accessible actual com el retorna l'«atk_object_get_parent()»"
-
-#: atk/atkobject.c:423
-msgid "Accessible Value"
-msgstr "Valor accessible"
-
-#: atk/atkobject.c:424
-msgid "Is used to notify that the value has changed"
-msgstr "S'utilitza per a notificar que el valor ha canviat"
-
-#: atk/atkobject.c:432
-msgid "Accessible Role"
-msgstr "Rol accessible"
-
-#: atk/atkobject.c:433
-msgid "The accessible role of this object"
-msgstr "El rol accessible d'aquest objecte"
-
-#: atk/atkobject.c:440
-msgid "Accessible Layer"
-msgstr "Capa accessible"
-
-#: atk/atkobject.c:441
-msgid "The accessible layer of this object"
-msgstr "La capa accessible d'aquest objecte"
-
-#: atk/atkobject.c:449
-msgid "Accessible MDI Value"
-msgstr "Valor MDI accessible"
-
-#: atk/atkobject.c:450
-msgid "The accessible MDI value of this object"
-msgstr "El valor MDI accessible d'aquest objecte"
-
-#: atk/atkobject.c:466
-msgid "Accessible Table Caption"
-msgstr "Títol de la taula accessible"
-
-#: atk/atkobject.c:467
-msgid ""
-"Is used to notify that the table caption has changed; this property should "
-"not be used. accessible-table-caption-object should be used instead"
-msgstr ""
-"S'utilitza per a notificar que el títol de la taula ha canviat; aquesta "
-"propietat no s'ha d'utilitzar. S'ha d'utilitzar accessible-table-caption-"
-"object en el seu lloc"
-
-#: atk/atkobject.c:481
-msgid "Accessible Table Column Header"
-msgstr "Capçalera de columna de taula accessible"
-
-#: atk/atkobject.c:482
-msgid "Is used to notify that the table column header has changed"
-msgstr ""
-"S'utilitza per a notificar que la capçalera de la columna de la taula ha "
-"canviat"
-
-#: atk/atkobject.c:497
-msgid "Accessible Table Column Description"
-msgstr "Descripció de la columna de la taula accessible"
-
-#: atk/atkobject.c:498
-msgid "Is used to notify that the table column description has changed"
-msgstr ""
-"S'utilitza per a notificar que la descripció de la columna de la taula ha "
-"canviat"
-
-#: atk/atkobject.c:513
-msgid "Accessible Table Row Header"
-msgstr "Capçalera de la fila de la taula accessible"
-
-#: atk/atkobject.c:514
-msgid "Is used to notify that the table row header has changed"
-msgstr ""
-"S'utilitza per a notificar que la capçalera de la fila de la taula ha canviat"
-
-#: atk/atkobject.c:528
-msgid "Accessible Table Row Description"
-msgstr "Descripció de la fila de la taula accessible"
-
-#: atk/atkobject.c:529
-msgid "Is used to notify that the table row description has changed"
-msgstr ""
-"S'utilitza per a notificar que la descripció de la fila de la taula ha "
-"canviat"
-
-#: atk/atkobject.c:535
-msgid "Accessible Table Summary"
-msgstr "Resum de la taula accessible"
-
-#: atk/atkobject.c:536
-msgid "Is used to notify that the table summary has changed"
-msgstr "S'utilitza per a notificar que el resum de la taula ha canviat"
-
-#: atk/atkobject.c:542
-msgid "Accessible Table Caption Object"
-msgstr "Objecte de títol de taula accessible"
-
-#: atk/atkobject.c:543
-msgid "Is used to notify that the table caption has changed"
-msgstr "S'utilitza per a notificar que el títol de la taula ha canviat"
-
-#: atk/atkobject.c:549
-msgid "Number of Accessible Hypertext Links"
-msgstr "Nombre d'enllaços d'hipertext accessibles"
-
-#: atk/atkobject.c:550
-msgid "The number of links which the current AtkHypertext has"
-msgstr "El nombre d'enllaços que té l'AtkHypertext actual"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:194
-msgid "very weak"
-msgstr "molt dèbil"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:201
-msgid "weak"
-msgstr "dèbil"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:208
-msgid "acceptable"
-msgstr "acceptable"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:215
-msgid "strong"
-msgstr "fort"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:222
-msgid "very strong"
-msgstr "molt fort"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:230
-msgid "very low"
-msgstr "molt baix"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:238
-msgid "medium"
-msgstr "mitjà"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:246
-msgid "high"
-msgstr "alt"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:254
-msgid "very high"
-msgstr "molt alt"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:262
-msgid "very bad"
-msgstr "molt dolent"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:270
-msgid "bad"
-msgstr "dolent"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:278
-msgid "good"
-msgstr "bo"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:286
-msgid "very good"
-msgstr "molt bo"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:294
-msgid "best"
-msgstr "el millor"
-
-#: atspi/atspi-component.c:332 atspi/atspi-misc.c:1063 atspi/atspi-value.c:111
-msgid "The application no longer exists"
-msgstr "L'aplicació ja no existeix"
+#~ msgid "push button"
+#~ msgstr "botó de pulsació"
#~ msgid "Attempted synchronous call where prohibited"
#~ msgstr "S'ha intentat una crida síncrona on és prohibit"
diff --git a/po/cs.po b/po/cs.po
index a118389..e6a7bc3 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -11,800 +11,823 @@
msgid ""
msgstr ""
"Project-Id-Version: atk\n"
-"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/at-spi2-core/issues\n"
-"POT-Creation-Date: 2022-07-25 14:47+0000\n"
-"PO-Revision-Date: 2022-08-25 14:51+0200\n"
-"Last-Translator: Marek Černocký \n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/at-spi2-core/issues/\n"
+"POT-Creation-Date: 2025-02-11 18:33+0000\n"
+"PO-Revision-Date: 2025-02-28 13:06+0100\n"
+"Last-Translator: Daniel Rusek \n"
"Language-Team: Czech \n"
"Language: cs\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
-"X-Generator: Gtranslator 2.91.6\n"
+"X-Generator: Poedit 3.5\n"
-#: atk/atkhyperlink.c:126
+#: atk/atkhyperlink.c:127
msgid "Selected Link"
msgstr "Vybraný odkaz"
-#: atk/atkhyperlink.c:127
+#: atk/atkhyperlink.c:128
msgid "Specifies whether the AtkHyperlink object is selected"
msgstr "Určuje, jestli je objekt AtkHyperlink vybrán"
-#: atk/atkhyperlink.c:133
+#: atk/atkhyperlink.c:134
msgid "Number of Anchors"
msgstr "Počet ukotvení"
-#: atk/atkhyperlink.c:134
+#: atk/atkhyperlink.c:135
msgid "The number of anchors associated with the AtkHyperlink object"
msgstr "Počet ukotvení asociovaných s objektem AtkHyperlink"
-#: atk/atkhyperlink.c:142
+#: atk/atkhyperlink.c:143
msgid "End index"
msgstr "Index konce"
-#: atk/atkhyperlink.c:143
+#: atk/atkhyperlink.c:144
msgid "The end index of the AtkHyperlink object"
msgstr "Index konce objektu AtkHyperlink"
-#: atk/atkhyperlink.c:151
+#: atk/atkhyperlink.c:152
msgid "Start index"
msgstr "Index začátku"
-#: atk/atkhyperlink.c:152
+#: atk/atkhyperlink.c:153
msgid "The start index of the AtkHyperlink object"
msgstr "Indek začátku objektu AtkHyperlink"
-#: atk/atkobject.c:98
+#: atk/atkobject.c:273
+msgid "Accessible Name"
+msgstr "Zpřístupněný název"
+
+#: atk/atkobject.c:274
+msgid "Object instance’s name formatted for assistive technology access"
+msgstr ""
+"Název instance objektu formátovaný pro použití technologiemi zpřístupnění"
+
+#: atk/atkobject.c:280
+msgid "Accessible Description"
+msgstr "Zpřístupněný popis"
+
+#: atk/atkobject.c:281
+msgid "Description of an object, formatted for assistive technology access"
+msgstr "Popis objektu formátovaný pro použití technologiemi zpřístupnění"
+
+#: atk/atkobject.c:287
+msgid "Accessible Parent"
+msgstr "Zpřístupněný rodič"
+
+#: atk/atkobject.c:288
+msgid "Parent of the current accessible as returned by atk_object_get_parent()"
+msgstr ""
+"Rodič aktuálního zpřístupnění, tak jak jej vrací funkce "
+"atk_object_get_parent()"
+
+#: atk/atkobject.c:304
+msgid "Accessible Value"
+msgstr "Zpřístupněná hodnota"
+
+#: atk/atkobject.c:305
+msgid "Is used to notify that the value has changed"
+msgstr "Používá se pro upozornění, že hodnota byla změněna"
+
+#: atk/atkobject.c:313
+msgid "Accessible Role"
+msgstr "Zpřístupněná role"
+
+#: atk/atkobject.c:314
+msgid "The accessible role of this object"
+msgstr "Zpřístupněná role tohoto objektu"
+
+#: atk/atkobject.c:321
+msgid "Accessible Layer"
+msgstr "Zpřístupněná vrstva"
+
+#: atk/atkobject.c:322
+msgid "The accessible layer of this object"
+msgstr "Zpřístupněná vrstva tohoto objektu"
+
+#: atk/atkobject.c:330
+msgid "Accessible MDI Value"
+msgstr "Zpřístupněná hodnota MDI"
+
+#: atk/atkobject.c:331
+msgid "The accessible MDI value of this object"
+msgstr "Zpřístupněná hodnota MDI tohoto objektu"
+
+#: atk/atkobject.c:347
+msgid "Accessible Table Caption"
+msgstr "Zpřístupněný nadpis tabulky"
+
+#: atk/atkobject.c:348
+msgid ""
+"Is used to notify that the table caption has changed; this property should "
+"not be used. accessible-table-caption-object should be used instead"
+msgstr ""
+"Používá se pro upozornění, že nadpis tabulky byl změněn; tato vlastnost by "
+"se neměla používat. Místo toho by se mělo používat accessible-table-caption-"
+"object"
+
+#: atk/atkobject.c:362
+msgid "Accessible Table Column Header"
+msgstr "Zpřístupněné záhlaví sloupce tabulky"
+
+#: atk/atkobject.c:363
+msgid "Is used to notify that the table column header has changed"
+msgstr "Používá se pro upozornění, že záhlaví sloupce tabulky bylo změněno"
+
+#: atk/atkobject.c:378
+msgid "Accessible Table Column Description"
+msgstr "Zpřístupněný popis sloupce tabulky"
+
+#: atk/atkobject.c:379
+msgid "Is used to notify that the table column description has changed"
+msgstr "Používá se pro upozornění, že popis sloupce tabulky byl změněn"
+
+#: atk/atkobject.c:394
+msgid "Accessible Table Row Header"
+msgstr "Zpřístupněné záhlaví řádku tabulky"
+
+#: atk/atkobject.c:395
+msgid "Is used to notify that the table row header has changed"
+msgstr "Používá se pro upozornění, že záhlaví řádku tabulky bylo změněno"
+
+#: atk/atkobject.c:409
+msgid "Accessible Table Row Description"
+msgstr "Zpřístupněný popis řádku tabulky"
+
+#: atk/atkobject.c:410
+msgid "Is used to notify that the table row description has changed"
+msgstr "Používá se pro upozornění, že popis řádku tabulky byl změněn"
+
+#: atk/atkobject.c:416
+msgid "Accessible Table Summary"
+msgstr "Zpřístupněný souhrn tabulky"
+
+#: atk/atkobject.c:417
+msgid "Is used to notify that the table summary has changed"
+msgstr "Používá se pro upozornění, že souhrn tabulky byl změněn"
+
+#: atk/atkobject.c:423
+msgid "Accessible Table Caption Object"
+msgstr "Zpřístupněný objekt nadpisu tabulky"
+
+#: atk/atkobject.c:424
+msgid "Is used to notify that the table caption has changed"
+msgstr "Používá se pro upozornění, že nadpis tabulky byl změněn"
+
+#: atk/atkobject.c:430
+msgid "Number of Accessible Hypertext Links"
+msgstr "Počet zpřístupněných odkazů hypertextu"
+
+#: atk/atkobject.c:431
+msgid "The number of links which the current AtkHypertext has"
+msgstr "Počet odkazů, které má aktuální AtkHypertext"
+
+#: atk/atkobject.c:440
+msgid "Accessible ID"
+msgstr "Zpřístupněné ID"
+
+#: atk/atkobject.c:441
+msgid "ID for the accessible; useful for automated testing"
+msgstr "ID pro zpřístupněné; užitečné pro automatizované testování"
+
+#: atk/atkobject.c:447
+msgid "Help text"
+msgstr "Text nápovědy"
+
+#: atk/atkobject.c:448
+msgid "Help text associated with the accessible"
+msgstr "Text nápovědy asociovaný se zpřístupněným"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:193
+msgid "very weak"
+msgstr "velmi slabé"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:200
+msgid "weak"
+msgstr "slabé"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:207
+msgid "acceptable"
+msgstr "přijatelné"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:214
+msgid "strong"
+msgstr "silné"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:221
+msgid "very strong"
+msgstr "velmi silné"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:229
+msgid "very low"
+msgstr "velmi nízké"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:237
+msgid "medium"
+msgstr "střední"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:245
+msgid "high"
+msgstr "vysoké"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:253
+msgid "very high"
+msgstr "velmi vysoké"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:261
+msgid "very bad"
+msgstr "velmi špatné"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:269
+msgid "bad"
+msgstr "špatné"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:277
+msgid "good"
+msgstr "dobré"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:285
+msgid "very good"
+msgstr "velmi dobré"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:293
+msgid "best"
+msgstr "nejlepší"
+
+#: atspi/atspi-component.c:352 atspi/atspi-misc.c:1234 atspi/atspi-value.c:123
+msgid "The application no longer exists"
+msgstr "Aplikace již neexistuje"
+
+#: atspi/atspi-misc.c:49
msgid "invalid"
msgstr "neplatný"
-#: atk/atkobject.c:99
+#: atspi/atspi-misc.c:50
msgid "accelerator label"
msgstr "popisek klávesové zkratky"
-#: atk/atkobject.c:100
+#: atspi/atspi-misc.c:51
msgid "alert"
msgstr "upozornění"
-#: atk/atkobject.c:101
+#: atspi/atspi-misc.c:52
msgid "animation"
msgstr "animace"
-#: atk/atkobject.c:102
+#: atspi/atspi-misc.c:53
msgid "arrow"
msgstr "šipka"
-#: atk/atkobject.c:103
+#: atspi/atspi-misc.c:54
msgid "calendar"
msgstr "kalendář"
-#: atk/atkobject.c:104
+#: atspi/atspi-misc.c:55
msgid "canvas"
msgstr "plátno"
-#: atk/atkobject.c:105
+#: atspi/atspi-misc.c:56
msgid "check box"
msgstr "zaškrtávací políčko"
-#: atk/atkobject.c:106
+#: atspi/atspi-misc.c:57
msgid "check menu item"
msgstr "zaškrtávací položka nabídky"
-#: atk/atkobject.c:107
+#: atspi/atspi-misc.c:58
msgid "color chooser"
msgstr "výběr barvy"
-#: atk/atkobject.c:108
+#: atspi/atspi-misc.c:59
msgid "column header"
msgstr "záhlaví sloupce"
-#: atk/atkobject.c:109
+#: atspi/atspi-misc.c:60
msgid "combo box"
msgstr "kombo box"
-#: atk/atkobject.c:110
+#: atspi/atspi-misc.c:61
msgid "dateeditor"
msgstr "editor data"
-#: atk/atkobject.c:111
+#: atspi/atspi-misc.c:62
msgid "desktop icon"
msgstr "ikona pracovní plochy"
-#: atk/atkobject.c:112
+#: atspi/atspi-misc.c:63
msgid "desktop frame"
msgstr "rám pracovní plochy"
-#: atk/atkobject.c:113
+#: atspi/atspi-misc.c:64
msgid "dial"
msgstr "číselník"
-#: atk/atkobject.c:114
+#: atspi/atspi-misc.c:65
msgid "dialog"
msgstr "dialog"
-#: atk/atkobject.c:115
+#: atspi/atspi-misc.c:66
msgid "directory pane"
msgstr "panel adresářů"
-#: atk/atkobject.c:116
+#: atspi/atspi-misc.c:67
msgid "drawing area"
msgstr "kreslicí oblast"
-#: atk/atkobject.c:117
+#: atspi/atspi-misc.c:68
msgid "file chooser"
msgstr "výběr souboru"
-#: atk/atkobject.c:118
+#: atspi/atspi-misc.c:69
msgid "filler"
msgstr "plnič"
#. I know it looks wrong but that is what Java returns
-#: atk/atkobject.c:120
+#: atspi/atspi-misc.c:71
msgid "fontchooser"
msgstr "výběr písma"
-#: atk/atkobject.c:121
+#: atspi/atspi-misc.c:72
msgid "frame"
msgstr "rám"
-#: atk/atkobject.c:122
+#: atspi/atspi-misc.c:73
msgid "glass pane"
msgstr "skleněný panel"
-#: atk/atkobject.c:123
+#: atspi/atspi-misc.c:74
msgid "html container"
msgstr "kontejner html"
-#: atk/atkobject.c:124
+#: atspi/atspi-misc.c:75
msgid "icon"
msgstr "ikona"
-#: atk/atkobject.c:125
+#: atspi/atspi-misc.c:76
msgid "image"
msgstr "obrázek"
-#: atk/atkobject.c:126
+#: atspi/atspi-misc.c:77
msgid "internal frame"
msgstr "interní rám"
-#: atk/atkobject.c:127
+#: atspi/atspi-misc.c:78
msgid "label"
msgstr "popisek"
-#: atk/atkobject.c:128
+#: atspi/atspi-misc.c:79
msgid "layered pane"
msgstr "vrstvený panel"
-#: atk/atkobject.c:129
+#: atspi/atspi-misc.c:80
msgid "list"
msgstr "seznam"
-#: atk/atkobject.c:130
+#: atspi/atspi-misc.c:81
msgid "list item"
msgstr "položka seznamu"
-#: atk/atkobject.c:131
+#: atspi/atspi-misc.c:82
msgid "menu"
msgstr "nabídka"
-#: atk/atkobject.c:132
+#: atspi/atspi-misc.c:83
msgid "menu bar"
msgstr "panel nabídky"
-#: atk/atkobject.c:133
+#: atspi/atspi-misc.c:84
msgid "menu button"
msgstr "tlačítko nabídky"
-#: atk/atkobject.c:134
+#: atspi/atspi-misc.c:85
msgid "menu item"
msgstr "položka nabídky"
-#: atk/atkobject.c:135
+#: atspi/atspi-misc.c:86
msgid "option pane"
msgstr "panel voleb"
-#: atk/atkobject.c:136
+#: atspi/atspi-misc.c:87
msgid "page tab"
msgstr "záložka stránky"
-#: atk/atkobject.c:137
+#: atspi/atspi-misc.c:88
msgid "page tab list"
msgstr "seznam záložek stránky"
-#: atk/atkobject.c:138
+#: atspi/atspi-misc.c:89
msgid "panel"
msgstr "panel"
-#: atk/atkobject.c:139
+#: atspi/atspi-misc.c:90
msgid "password text"
msgstr "text hesla"
-#: atk/atkobject.c:140
+#: atspi/atspi-misc.c:91
msgid "popup menu"
msgstr "vyskakovací nabídka"
-#: atk/atkobject.c:141
+#: atspi/atspi-misc.c:92
msgid "progress bar"
msgstr "lišta průběhu"
-#: atk/atkobject.c:142
-msgid "push button"
+#: atspi/atspi-misc.c:93
+msgid "button"
msgstr "tlačítko"
-#: atk/atkobject.c:143
+#: atspi/atspi-misc.c:94
msgid "radio button"
msgstr "rádiové tlačítko"
-#: atk/atkobject.c:144
+#: atspi/atspi-misc.c:95
msgid "radio menu item"
msgstr "přepínací položka nabídky"
-#: atk/atkobject.c:145
+#: atspi/atspi-misc.c:96
msgid "root pane"
msgstr "kořenový panel"
-#: atk/atkobject.c:146
+#: atspi/atspi-misc.c:97
msgid "row header"
msgstr "záhlaví řádku"
-#: atk/atkobject.c:147
+#: atspi/atspi-misc.c:98
msgid "scroll bar"
msgstr "posuvná lišta"
-#: atk/atkobject.c:148
+#: atspi/atspi-misc.c:99
msgid "scroll pane"
msgstr "posuvný panel"
-#: atk/atkobject.c:149
+#: atspi/atspi-misc.c:100
msgid "separator"
msgstr "oddělovač"
-#: atk/atkobject.c:150
+#: atspi/atspi-misc.c:101
msgid "slider"
msgstr "posunovač"
-#: atk/atkobject.c:151
+#: atspi/atspi-misc.c:102
msgid "split pane"
msgstr "oddělený panel"
-#: atk/atkobject.c:152
+#: atspi/atspi-misc.c:103
msgid "spin button"
msgstr "otáčecí tlačítko"
-#: atk/atkobject.c:153
+#: atspi/atspi-misc.c:104
msgid "statusbar"
msgstr "stavová-lišta"
-#: atk/atkobject.c:154
+#: atspi/atspi-misc.c:105
+msgid "switch"
+msgstr "přepínač"
+
+#: atspi/atspi-misc.c:106
msgid "table"
msgstr "tabulka"
-#: atk/atkobject.c:155
+#: atspi/atspi-misc.c:107
msgid "table cell"
msgstr "buňka tabulky"
-#: atk/atkobject.c:156
+#: atspi/atspi-misc.c:108
msgid "table column header"
msgstr "záhlaví sloupce tabulky"
-#: atk/atkobject.c:157
+#: atspi/atspi-misc.c:109
msgid "table row header"
msgstr "záhlaví řádku tabulky"
-#: atk/atkobject.c:158
+#: atspi/atspi-misc.c:110
msgid "tear off menu item"
msgstr "odtrhávací položka nabídky"
-#: atk/atkobject.c:159
+#: atspi/atspi-misc.c:111
msgid "terminal"
msgstr "terminál"
-#: atk/atkobject.c:160
+#: atspi/atspi-misc.c:112
msgid "text"
msgstr "text"
-#: atk/atkobject.c:161
+#: atspi/atspi-misc.c:113
msgid "toggle button"
msgstr "přepínač"
-#: atk/atkobject.c:162
+#: atspi/atspi-misc.c:114
msgid "tool bar"
msgstr "nástrojová lišta"
-#: atk/atkobject.c:163
+#: atspi/atspi-misc.c:115
msgid "tool tip"
msgstr "tip"
-#: atk/atkobject.c:164
+#: atspi/atspi-misc.c:116
msgid "tree"
msgstr "strom"
-#: atk/atkobject.c:165
+#: atspi/atspi-misc.c:117
msgid "tree table"
msgstr "stromová tabulka"
-#: atk/atkobject.c:166
+#: atspi/atspi-misc.c:118
msgid "unknown"
msgstr "neznámý"
-#: atk/atkobject.c:167
+#: atspi/atspi-misc.c:119
msgid "viewport"
msgstr "pohled"
-#: atk/atkobject.c:168
+#: atspi/atspi-misc.c:120
msgid "window"
msgstr "okno"
-#: atk/atkobject.c:169
+#: atspi/atspi-misc.c:121
msgid "header"
msgstr "záhlaví"
-#: atk/atkobject.c:170
+#: atspi/atspi-misc.c:122
msgid "footer"
msgstr "zápatí"
-#: atk/atkobject.c:171
+#: atspi/atspi-misc.c:123
msgid "paragraph"
msgstr "odstavec"
-#: atk/atkobject.c:172
+#: atspi/atspi-misc.c:124
msgid "ruler"
msgstr "pravítko"
-#: atk/atkobject.c:173
+#: atspi/atspi-misc.c:125
msgid "application"
msgstr "aplikace"
-#: atk/atkobject.c:174
+#: atspi/atspi-misc.c:126
msgid "autocomplete"
msgstr "autodoplnění"
-#: atk/atkobject.c:175
+#: atspi/atspi-misc.c:127
msgid "edit bar"
msgstr "editační lišta"
-#: atk/atkobject.c:176
+#: atspi/atspi-misc.c:128
msgid "embedded component"
msgstr "vložená komponenta"
-#: atk/atkobject.c:177
+#: atspi/atspi-misc.c:129
msgid "entry"
msgstr "vstupní pole"
-#: atk/atkobject.c:178
+#: atspi/atspi-misc.c:130
msgid "chart"
msgstr "graf"
-#: atk/atkobject.c:179
+#: atspi/atspi-misc.c:131
msgid "caption"
msgstr "titulek"
-#: atk/atkobject.c:180
+#: atspi/atspi-misc.c:132
msgid "document frame"
msgstr "rám dokumentu"
-#: atk/atkobject.c:181
+#: atspi/atspi-misc.c:133
msgid "heading"
msgstr "záhlaví"
-#: atk/atkobject.c:182
+#: atspi/atspi-misc.c:134
msgid "page"
msgstr "strana"
-#: atk/atkobject.c:183
+#: atspi/atspi-misc.c:135
msgid "section"
msgstr "oddíl"
-#: atk/atkobject.c:184
+#: atspi/atspi-misc.c:136
msgid "redundant object"
msgstr "redundantní objet"
-#: atk/atkobject.c:185
+#: atspi/atspi-misc.c:137
msgid "form"
msgstr "formulář"
-#: atk/atkobject.c:186
+#: atspi/atspi-misc.c:138
msgid "link"
msgstr "odkaz"
-#: atk/atkobject.c:187
+#: atspi/atspi-misc.c:139
msgid "input method window"
msgstr "okno vstupní metody"
-#: atk/atkobject.c:188
+#: atspi/atspi-misc.c:140
msgid "table row"
msgstr "řádek tabulky"
-#: atk/atkobject.c:189
+#: atspi/atspi-misc.c:141
msgid "tree item"
msgstr "položka stromu"
-#: atk/atkobject.c:190
+#: atspi/atspi-misc.c:142
msgid "document spreadsheet"
msgstr "tabulka v dokumentu"
-#: atk/atkobject.c:191
+#: atspi/atspi-misc.c:143
msgid "document presentation"
msgstr "prezentace v dokumentu"
-#: atk/atkobject.c:192
+#: atspi/atspi-misc.c:144
msgid "document text"
msgstr "text v dokumentu"
-#: atk/atkobject.c:193
+#: atspi/atspi-misc.c:145
msgid "document web"
msgstr "webová stránka v dokumentu"
-#: atk/atkobject.c:194
+#: atspi/atspi-misc.c:146
msgid "document email"
msgstr "e-mail dokumentu"
-#: atk/atkobject.c:195
+#: atspi/atspi-misc.c:147
msgid "comment"
msgstr "komentář"
-#: atk/atkobject.c:196
+#: atspi/atspi-misc.c:148
msgid "list box"
msgstr "seznam"
-#: atk/atkobject.c:197
+#: atspi/atspi-misc.c:149
msgid "grouping"
msgstr "skupiny"
-#: atk/atkobject.c:198
+#: atspi/atspi-misc.c:150
msgid "image map"
msgstr "obrázková mapa"
-#: atk/atkobject.c:199
+#: atspi/atspi-misc.c:151
msgid "notification"
msgstr "oznámení"
-#: atk/atkobject.c:200
+#: atspi/atspi-misc.c:152
msgid "info bar"
msgstr "informační lišta"
-#: atk/atkobject.c:201
+#: atspi/atspi-misc.c:153
msgid "level bar"
msgstr "ukazatel úrovně"
-#: atk/atkobject.c:202
+#: atspi/atspi-misc.c:154
msgid "title bar"
msgstr "záhlaví"
-#: atk/atkobject.c:203
+#: atspi/atspi-misc.c:155
msgid "block quote"
msgstr "citace"
-#: atk/atkobject.c:204
+#: atspi/atspi-misc.c:156
msgid "audio"
msgstr "zvuk"
-#: atk/atkobject.c:205
+#: atspi/atspi-misc.c:157
msgid "video"
msgstr "video"
-#: atk/atkobject.c:206
+#: atspi/atspi-misc.c:158
msgid "definition"
msgstr "definice"
-#: atk/atkobject.c:207
+#: atspi/atspi-misc.c:159
msgid "article"
msgstr "článek"
-#: atk/atkobject.c:208
+#: atspi/atspi-misc.c:160
msgid "landmark"
msgstr "orientační bod"
-#: atk/atkobject.c:209
+#: atspi/atspi-misc.c:161
msgid "log"
msgstr "záznam"
-#: atk/atkobject.c:210
+#: atspi/atspi-misc.c:162
msgid "marquee"
msgstr "běžící text"
-#: atk/atkobject.c:211
+#: atspi/atspi-misc.c:163
msgid "math"
msgstr "matematika"
-#: atk/atkobject.c:212
+#: atspi/atspi-misc.c:164
msgid "rating"
msgstr "hodnocení"
-#: atk/atkobject.c:213
+#: atspi/atspi-misc.c:165
msgid "timer"
msgstr "časovač"
-#: atk/atkobject.c:214
+#: atspi/atspi-misc.c:166
msgid "description list"
msgstr "seznam definic"
-#: atk/atkobject.c:215
+#: atspi/atspi-misc.c:167
msgid "description term"
msgstr "termín definice"
-#: atk/atkobject.c:216
+#: atspi/atspi-misc.c:168
msgid "description value"
msgstr "hodnota definice"
-#: atk/atkobject.c:392
-msgid "Accessible Name"
-msgstr "Zpřístupněný název"
-
-#: atk/atkobject.c:393
-msgid "Object instance’s name formatted for assistive technology access"
-msgstr ""
-"Název instance objektu formátovaný pro použití technologiemi zpřístupnění"
-
-#: atk/atkobject.c:399
-msgid "Accessible Description"
-msgstr "Zpřístupněný popis"
-
-#: atk/atkobject.c:400
-msgid "Description of an object, formatted for assistive technology access"
-msgstr "Popis objektu formátovaný pro použití technologiemi zpřístupnění"
-
-#: atk/atkobject.c:406
-msgid "Accessible Parent"
-msgstr "Zpřístupněný rodič"
-
-#: atk/atkobject.c:407
-msgid "Parent of the current accessible as returned by atk_object_get_parent()"
-msgstr ""
-"Rodič aktuálního zpřístupnění, tak jak jej vrací funkce "
-"atk_object_get_parent()"
-
-#: atk/atkobject.c:423
-msgid "Accessible Value"
-msgstr "Zpřístupněná hodnota"
-
-#: atk/atkobject.c:424
-msgid "Is used to notify that the value has changed"
-msgstr "Používá se pro upozornění, že hodnota byla změněna"
-
-#: atk/atkobject.c:432
-msgid "Accessible Role"
-msgstr "Zpřístupněná role"
-
-#: atk/atkobject.c:433
-msgid "The accessible role of this object"
-msgstr "Zpřístupněná role tohoto objektu"
-
-#: atk/atkobject.c:440
-msgid "Accessible Layer"
-msgstr "Zpřístupněná vrstva"
-
-#: atk/atkobject.c:441
-msgid "The accessible layer of this object"
-msgstr "Zpřístupněná vrstva tohoto objektu"
-
-#: atk/atkobject.c:449
-msgid "Accessible MDI Value"
-msgstr "Zpřístupněná hodnota MDI"
-
-#: atk/atkobject.c:450
-msgid "The accessible MDI value of this object"
-msgstr "Zpřístupněná hodnota MDI tohoto objektu"
-
-#: atk/atkobject.c:466
-msgid "Accessible Table Caption"
-msgstr "Zpřístupněný nadpis tabulky"
-
-#: atk/atkobject.c:467
-msgid ""
-"Is used to notify that the table caption has changed; this property should "
-"not be used. accessible-table-caption-object should be used instead"
-msgstr ""
-"Používá se pro upozornění, že nadpis tabulky byl změněn; tato vlastnost by "
-"se neměla používat. Místo toho by se mělo používat accessible-table-caption-"
-"object"
-
-#: atk/atkobject.c:481
-msgid "Accessible Table Column Header"
-msgstr "Zpřístupněné záhlaví sloupce tabulky"
-
-#: atk/atkobject.c:482
-msgid "Is used to notify that the table column header has changed"
-msgstr "Používá se pro upozornění, že záhlaví sloupce tabulky bylo změněno"
-
-#: atk/atkobject.c:497
-msgid "Accessible Table Column Description"
-msgstr "Zpřístupněný popis sloupce tabulky"
-
-#: atk/atkobject.c:498
-msgid "Is used to notify that the table column description has changed"
-msgstr "Používá se pro upozornění, že popis sloupce tabulky byl změněn"
-
-#: atk/atkobject.c:513
-msgid "Accessible Table Row Header"
-msgstr "Zpřístupněné záhlaví řádku tabulky"
-
-#: atk/atkobject.c:514
-msgid "Is used to notify that the table row header has changed"
-msgstr "Používá se pro upozornění, že záhlaví řádku tabulky bylo změněno"
-
-#: atk/atkobject.c:528
-msgid "Accessible Table Row Description"
-msgstr "Zpřístupněný popis řádku tabulky"
-
-#: atk/atkobject.c:529
-msgid "Is used to notify that the table row description has changed"
-msgstr "Používá se pro upozornění, že popis řádku tabulky byl změněn"
-
-#: atk/atkobject.c:535
-msgid "Accessible Table Summary"
-msgstr "Zpřístupněný souhrn tabulky"
-
-#: atk/atkobject.c:536
-msgid "Is used to notify that the table summary has changed"
-msgstr "Používá se pro upozornění, že souhrn tabulky byl změněn"
-
-#: atk/atkobject.c:542
-msgid "Accessible Table Caption Object"
-msgstr "Zpřístupněný objekt nadpisu tabulky"
-
-#: atk/atkobject.c:543
-msgid "Is used to notify that the table caption has changed"
-msgstr "Používá se pro upozornění, že nadpis tabulky byl změněn"
-
-#: atk/atkobject.c:549
-msgid "Number of Accessible Hypertext Links"
-msgstr "Počet zpřístupněných odkazů hypertextu"
-
-#: atk/atkobject.c:550
-msgid "The number of links which the current AtkHypertext has"
-msgstr "Počet odkazů, které má aktuální AtkHypertext"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:194
-msgid "very weak"
-msgstr "velmi slabé"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:201
-msgid "weak"
-msgstr "slabé"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:208
-msgid "acceptable"
-msgstr "přijatelné"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:215
-msgid "strong"
-msgstr "silné"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:222
-msgid "very strong"
-msgstr "velmi silné"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:230
-msgid "very low"
-msgstr "velmi nízké"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:238
-msgid "medium"
-msgstr "střední"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:246
-msgid "high"
-msgstr "vysoké"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:254
-msgid "very high"
-msgstr "velmi vysoké"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:262
-msgid "very bad"
-msgstr "velmi špatné"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:270
-msgid "bad"
-msgstr "špatné"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:278
-msgid "good"
-msgstr "dobré"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:286
-msgid "very good"
-msgstr "velmi dobré"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:294
-msgid "best"
-msgstr "nejlepší"
-
-#: atspi/atspi-component.c:332 atspi/atspi-misc.c:1063 atspi/atspi-value.c:111
-msgid "The application no longer exists"
-msgstr "Aplikace již neexistuje"
+#~ msgid "push button"
+#~ msgstr "tlačítko"
diff --git a/po/da.po b/po/da.po
index 15083a1..6dd05b8 100644
--- a/po/da.po
+++ b/po/da.po
@@ -1,6 +1,6 @@
# #-#-#-#-# da.po (at-spi2-core master) #-#-#-#-#
# Danish translation for at-spi2-core.
-# Copyright (C) 2011 at-spi2-core's COPYRIGHT HOLDER
+# Copyright (C) 2011, 2024-2025 at-spi2-core's COPYRIGHT HOLDER
# This file is distributed under the same license as the at-spi2-core package.
#
# Kris Thomsen , 2011.
@@ -13,14 +13,14 @@
# Martin Willemoes Hansen , 2004.
# Kenneth Nielsen
# flemming christensen , 2011.
-# Ask Hjorth Larsen , 2014, 2022.
+# Ask Hjorth Larsen , 2014, 2022, 2024, 2025.
#
msgid ""
msgstr ""
"Project-Id-Version: atk\n"
-"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/at-spi2-core/issues\n"
-"POT-Creation-Date: 2022-07-25 14:47+0000\n"
-"PO-Revision-Date: 2022-08-27 20:22+0200\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/at-spi2-core/issues/\n"
+"POT-Creation-Date: 2025-02-11 18:33+0000\n"
+"PO-Revision-Date: 2025-03-08 14:13+0100\n"
"Last-Translator: Ask Hjorth Larsen \n"
"Language-Team: Danish \n"
"Language: da\n"
@@ -32,790 +32,818 @@ msgstr ""
"#-#-#-#-# da.po (atk) #-#-#-#-#\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
-#: atk/atkhyperlink.c:126
+#: atk/atkhyperlink.c:127
msgid "Selected Link"
msgstr "Valgt henvisning"
-#: atk/atkhyperlink.c:127
+#: atk/atkhyperlink.c:128
msgid "Specifies whether the AtkHyperlink object is selected"
msgstr "Angiver om AtkHyperlink-objektet er valgt"
-#: atk/atkhyperlink.c:133
+#: atk/atkhyperlink.c:134
msgid "Number of Anchors"
msgstr "Antal ankre"
-#: atk/atkhyperlink.c:134
+#: atk/atkhyperlink.c:135
msgid "The number of anchors associated with the AtkHyperlink object"
msgstr "Antallet af ankre der er associeret med AtkHyperlink-objektet"
-#: atk/atkhyperlink.c:142
+#: atk/atkhyperlink.c:143
msgid "End index"
msgstr "Slutindeks"
-#: atk/atkhyperlink.c:143
+#: atk/atkhyperlink.c:144
msgid "The end index of the AtkHyperlink object"
msgstr "Slutindeks for AtkHyperlink-objektet"
-#: atk/atkhyperlink.c:151
+#: atk/atkhyperlink.c:152
msgid "Start index"
msgstr "Startindeks"
-#: atk/atkhyperlink.c:152
+#: atk/atkhyperlink.c:153
msgid "The start index of the AtkHyperlink object"
msgstr "Startindeks for AtkHyperlink-objektet"
-#: atk/atkobject.c:98
+#: atk/atkobject.c:273
+msgid "Accessible Name"
+msgstr "Tilgængeligt navn"
+
+#: atk/atkobject.c:274
+msgid "Object instance’s name formatted for assistive technology access"
+msgstr "Objektinstansens navn formateret til tilgængelighedsteknologier"
+
+#: atk/atkobject.c:280
+msgid "Accessible Description"
+msgstr "Tilgængelig beskrivelse"
+
+#: atk/atkobject.c:281
+msgid "Description of an object, formatted for assistive technology access"
+msgstr "Beskrivelse af et objekt, formateret til tilgængelighedsteknologier"
+
+#: atk/atkobject.c:287
+msgid "Accessible Parent"
+msgstr "Ophavselement for tilgængeligt object"
+
+#: atk/atkobject.c:288
+msgid "Parent of the current accessible as returned by atk_object_get_parent()"
+msgstr ""
+"Ophavselement for det nuværende tilgængelige objekt som returneret af "
+"atk_object_get_parent()"
+
+#: atk/atkobject.c:304
+msgid "Accessible Value"
+msgstr "Tilgængelig værdi"
+
+#: atk/atkobject.c:305
+msgid "Is used to notify that the value has changed"
+msgstr "Bruges til at bekendtgøre at værdien er ændret"
+
+#: atk/atkobject.c:313
+msgid "Accessible Role"
+msgstr "Tilgængelig rolle"
+
+#: atk/atkobject.c:314
+msgid "The accessible role of this object"
+msgstr "Tilgængelighedsrolle for dette objekt"
+
+#: atk/atkobject.c:321
+msgid "Accessible Layer"
+msgstr "Tilgængelighedslag"
+
+#: atk/atkobject.c:322
+msgid "The accessible layer of this object"
+msgstr "Tilgængelighedslaget for dette objekt"
+
+#: atk/atkobject.c:330
+msgid "Accessible MDI Value"
+msgstr "Tilgængeligheds-MDI-værdi"
+
+#: atk/atkobject.c:331
+msgid "The accessible MDI value of this object"
+msgstr "Tilgængeligheds-MDI-værdien for dette objekt"
+
+#: atk/atkobject.c:347
+msgid "Accessible Table Caption"
+msgstr "Tilgængelighedstabeltitel"
+
+#: atk/atkobject.c:348
+msgid ""
+"Is used to notify that the table caption has changed; this property should "
+"not be used. accessible-table-caption-object should be used instead"
+msgstr ""
+"Bruges til at bekendtgøre at tabeltitlen er ændret; denne egenskab bør ikke "
+"benyttes. accessible-table-caption-object bør bruges i stedet"
+
+#: atk/atkobject.c:362
+msgid "Accessible Table Column Header"
+msgstr "Tilgængelighedstabelkolonnetitel"
+
+#: atk/atkobject.c:363
+msgid "Is used to notify that the table column header has changed"
+msgstr "Bruges til at bekendtgøre at tabelkolonnetitlen er ændret"
+
+#: atk/atkobject.c:378
+msgid "Accessible Table Column Description"
+msgstr "Tilgængelighedstabelkolonnebeskrivelse"
+
+#: atk/atkobject.c:379
+msgid "Is used to notify that the table column description has changed"
+msgstr "Bruges til at bekendtgøre at tabelkolonnebeskrivelsen er ændret"
+
+#: atk/atkobject.c:394
+msgid "Accessible Table Row Header"
+msgstr "Tilgængelighedstabelrækkebeskrivelse"
+
+#: atk/atkobject.c:395
+msgid "Is used to notify that the table row header has changed"
+msgstr "Bruges til at bekendtgøre at tabelrækketitlen er ændret"
+
+#: atk/atkobject.c:409
+msgid "Accessible Table Row Description"
+msgstr "Tilgængelighedstabelrækkebeskrivelse"
+
+#: atk/atkobject.c:410
+msgid "Is used to notify that the table row description has changed"
+msgstr "Bruges til at bekendtgøre at tabelrækkebeskrivelsen er ændret"
+
+#: atk/atkobject.c:416
+msgid "Accessible Table Summary"
+msgstr "Tilgængelighedstabelsammendrag"
+
+#: atk/atkobject.c:417
+msgid "Is used to notify that the table summary has changed"
+msgstr "Bruges til at bekendtgøre at tabelsammendraget er ændret"
+
+#: atk/atkobject.c:423
+msgid "Accessible Table Caption Object"
+msgstr "Tilgængelighedstabeltitelobjekt"
+
+#: atk/atkobject.c:424
+msgid "Is used to notify that the table caption has changed"
+msgstr "Bruges til at bekendtgøre at tabeltitlen er ændret"
+
+#: atk/atkobject.c:430
+msgid "Number of Accessible Hypertext Links"
+msgstr "Antal tilgængelighedshypertekst-henvisninger"
+
+#: atk/atkobject.c:431
+msgid "The number of links which the current AtkHypertext has"
+msgstr "Antallet af henvisninger som den aktuelle AtkHypertext har"
+
+#: atk/atkobject.c:440
+msgid "Accessible ID"
+msgstr "Id for tilgængeligt objekt"
+
+#: atk/atkobject.c:441
+msgid "ID for the accessible; useful for automated testing"
+msgstr "Id for det tilgængelige objekt; nyttigt til automatisk test"
+
+#: atk/atkobject.c:447
+msgid "Help text"
+msgstr "Hjælpetekst"
+
+#: atk/atkobject.c:448
+msgid "Help text associated with the accessible"
+msgstr "Hjælpetekst tilknyttet tilgængeligt objekt"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:193
+msgid "very weak"
+msgstr "meget svag"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:200
+msgid "weak"
+msgstr "svag"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:207
+msgid "acceptable"
+msgstr "rimelig"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:214
+msgid "strong"
+msgstr "stærk"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:221
+msgid "very strong"
+msgstr "meget stærk"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:229
+msgid "very low"
+msgstr "meget lav"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:237
+msgid "medium"
+msgstr "mellem"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:245
+msgid "high"
+msgstr "høj"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:253
+msgid "very high"
+msgstr "meget høj"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:261
+msgid "very bad"
+msgstr "meget dårlig"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:269
+msgid "bad"
+msgstr "dårlig"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:277
+msgid "good"
+msgstr "god"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:285
+msgid "very good"
+msgstr "meget god"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:293
+msgid "best"
+msgstr "bedst"
+
+#: atspi/atspi-component.c:352 atspi/atspi-misc.c:1234 atspi/atspi-value.c:123
+msgid "The application no longer exists"
+msgstr "Programmet findes ikke længere"
+
+#: atspi/atspi-misc.c:49
msgid "invalid"
msgstr "ugyldig"
-#: atk/atkobject.c:99
+#: atspi/atspi-misc.c:50
msgid "accelerator label"
msgstr "genvejsetiket"
-#: atk/atkobject.c:100
+#: atspi/atspi-misc.c:51
msgid "alert"
msgstr "advarsel"
-#: atk/atkobject.c:101
+#: atspi/atspi-misc.c:52
msgid "animation"
msgstr "animation"
-#: atk/atkobject.c:102
+#: atspi/atspi-misc.c:53
msgid "arrow"
msgstr "pil"
-#: atk/atkobject.c:103
+#: atspi/atspi-misc.c:54
msgid "calendar"
msgstr "kalender"
-#: atk/atkobject.c:104
+#: atspi/atspi-misc.c:55
msgid "canvas"
msgstr "lærred"
-#: atk/atkobject.c:105
+#: atspi/atspi-misc.c:56
msgid "check box"
msgstr "afkrydsningsboks"
-#: atk/atkobject.c:106
+#: atspi/atspi-misc.c:57
msgid "check menu item"
msgstr "afkrydsningsmenupunkt"
-#: atk/atkobject.c:107
+#: atspi/atspi-misc.c:58
msgid "color chooser"
msgstr "farvevælger"
-#: atk/atkobject.c:108
+#: atspi/atspi-misc.c:59
msgid "column header"
msgstr "kolonnetitel"
-#: atk/atkobject.c:109
+#: atspi/atspi-misc.c:60
msgid "combo box"
msgstr "kombinationsboks"
-#: atk/atkobject.c:110
+#: atspi/atspi-misc.c:61
msgid "dateeditor"
msgstr "datoredigering"
-#: atk/atkobject.c:111
+#: atspi/atspi-misc.c:62
msgid "desktop icon"
msgstr "skrivebordsikon"
-#: atk/atkobject.c:112
+#: atspi/atspi-misc.c:63
msgid "desktop frame"
msgstr "skrivebordsramme"
-#: atk/atkobject.c:113
+#: atspi/atspi-misc.c:64
msgid "dial"
msgstr "opkald"
-#: atk/atkobject.c:114
+#: atspi/atspi-misc.c:65
msgid "dialog"
msgstr "dialog"
-#: atk/atkobject.c:115
+#: atspi/atspi-misc.c:66
msgid "directory pane"
msgstr "mappepanel"
-#: atk/atkobject.c:116
+#: atspi/atspi-misc.c:67
msgid "drawing area"
msgstr "tegneområde"
-#: atk/atkobject.c:117
+#: atspi/atspi-misc.c:68
msgid "file chooser"
msgstr "filvælger"
-#: atk/atkobject.c:118
+#: atspi/atspi-misc.c:69
msgid "filler"
msgstr "udfylder"
#. I know it looks wrong but that is what Java returns
-#: atk/atkobject.c:120
+#: atspi/atspi-misc.c:71
msgid "fontchooser"
msgstr "skrifttypevælger"
-#: atk/atkobject.c:121
+#: atspi/atspi-misc.c:72
msgid "frame"
msgstr "ramme"
-#: atk/atkobject.c:122
+#: atspi/atspi-misc.c:73
msgid "glass pane"
msgstr "glaspanel"
-#: atk/atkobject.c:123
+#: atspi/atspi-misc.c:74
msgid "html container"
msgstr "html-beholder"
-#: atk/atkobject.c:124
+#: atspi/atspi-misc.c:75
msgid "icon"
msgstr "ikon"
-#: atk/atkobject.c:125
+#: atspi/atspi-misc.c:76
msgid "image"
msgstr "billede"
-#: atk/atkobject.c:126
+#: atspi/atspi-misc.c:77
msgid "internal frame"
msgstr "intern ramme"
-#: atk/atkobject.c:127
+#: atspi/atspi-misc.c:78
msgid "label"
msgstr "etiket"
-#: atk/atkobject.c:128
+#: atspi/atspi-misc.c:79
msgid "layered pane"
msgstr "lagdelt panel"
-#: atk/atkobject.c:129
+#: atspi/atspi-misc.c:80
msgid "list"
msgstr "liste"
-#: atk/atkobject.c:130
+#: atspi/atspi-misc.c:81
msgid "list item"
msgstr "listepunkt"
-#: atk/atkobject.c:131
+#: atspi/atspi-misc.c:82
msgid "menu"
msgstr "menu"
-#: atk/atkobject.c:132
+#: atspi/atspi-misc.c:83
msgid "menu bar"
msgstr "menulinje"
-#: atk/atkobject.c:133
+#: atspi/atspi-misc.c:84
msgid "menu button"
msgstr "menuknap"
-#: atk/atkobject.c:134
+#: atspi/atspi-misc.c:85
msgid "menu item"
msgstr "menupunkt"
-#: atk/atkobject.c:135
+#: atspi/atspi-misc.c:86
msgid "option pane"
msgstr "indstillingspanel"
-#: atk/atkobject.c:136
+#: atspi/atspi-misc.c:87
msgid "page tab"
msgstr "sidefaneblad"
-#: atk/atkobject.c:137
+#: atspi/atspi-misc.c:88
msgid "page tab list"
msgstr "sidefanebladsliste"
-#: atk/atkobject.c:138
+#: atspi/atspi-misc.c:89
msgid "panel"
msgstr "panel"
-#: atk/atkobject.c:139
+#: atspi/atspi-misc.c:90
msgid "password text"
msgstr "adgangskodetekst"
-#: atk/atkobject.c:140
+#: atspi/atspi-misc.c:91
msgid "popup menu"
msgstr "pop-op-menu"
-#: atk/atkobject.c:141
+#: atspi/atspi-misc.c:92
msgid "progress bar"
msgstr "fremgangslinje"
-#: atk/atkobject.c:142
-msgid "push button"
-msgstr "trykknap"
+#: atspi/atspi-misc.c:93
+msgid "button"
+msgstr "knap"
-#: atk/atkobject.c:143
+#: atspi/atspi-misc.c:94
msgid "radio button"
msgstr "radioknap"
-#: atk/atkobject.c:144
+#: atspi/atspi-misc.c:95
msgid "radio menu item"
msgstr "radiomenupunkt"
-#: atk/atkobject.c:145
+#: atspi/atspi-misc.c:96
msgid "root pane"
msgstr "rodpanel"
-#: atk/atkobject.c:146
+#: atspi/atspi-misc.c:97
msgid "row header"
msgstr "rækketitel"
-#: atk/atkobject.c:147
+#: atspi/atspi-misc.c:98
msgid "scroll bar"
msgstr "rulleskakt"
-#: atk/atkobject.c:148
+#: atspi/atspi-misc.c:99
msgid "scroll pane"
msgstr "rullepanel"
-#: atk/atkobject.c:149
+#: atspi/atspi-misc.c:100
msgid "separator"
msgstr "adskiller"
-#: atk/atkobject.c:150
+#: atspi/atspi-misc.c:101
msgid "slider"
msgstr "skyder"
-#: atk/atkobject.c:151
+#: atspi/atspi-misc.c:102
msgid "split pane"
msgstr "delt panel"
# dækker betydningen
-#: atk/atkobject.c:152
+#: atspi/atspi-misc.c:103
msgid "spin button"
msgstr "rulleknap"
-#: atk/atkobject.c:153
+#: atspi/atspi-misc.c:104
msgid "statusbar"
msgstr "statuslinje"
-#: atk/atkobject.c:154
+# Mange andre strenge er GUI-elementer
+#
+# Det er svært at gennemskue at-spi2-core fra kildekoden, men en af filerne indeholder:
+#
+# * @ATSPI_ROLE_SWITCH: A switch that can be toggled on/off. @Since 2.56
+#: atspi/atspi-misc.c:105
+msgid "switch"
+msgstr "tænd/sluk-knap"
+
+#: atspi/atspi-misc.c:106
msgid "table"
msgstr "tabel"
-#: atk/atkobject.c:155
+#: atspi/atspi-misc.c:107
msgid "table cell"
msgstr "tabelcelle"
-#: atk/atkobject.c:156
+#: atspi/atspi-misc.c:108
msgid "table column header"
msgstr "tabelkolonnetitel"
-#: atk/atkobject.c:157
+#: atspi/atspi-misc.c:109
msgid "table row header"
msgstr "tabelrækketitel"
-#: atk/atkobject.c:158
+#: atspi/atspi-misc.c:110
msgid "tear off menu item"
msgstr "afrivningsmenupunkt"
-#: atk/atkobject.c:159
+#: atspi/atspi-misc.c:111
msgid "terminal"
msgstr "terminal"
-#: atk/atkobject.c:160
+#: atspi/atspi-misc.c:112
msgid "text"
msgstr "tekst"
-#: atk/atkobject.c:161
+#: atspi/atspi-misc.c:113
msgid "toggle button"
msgstr "skifteknap"
-#: atk/atkobject.c:162
+#: atspi/atspi-misc.c:114
msgid "tool bar"
msgstr "værktøjslinje"
-#: atk/atkobject.c:163
+#: atspi/atspi-misc.c:115
msgid "tool tip"
msgstr "værktøjstip"
-#: atk/atkobject.c:164
+#: atspi/atspi-misc.c:116
msgid "tree"
msgstr "træ"
-#: atk/atkobject.c:165
+#: atspi/atspi-misc.c:117
msgid "tree table"
msgstr "trætabel"
-#: atk/atkobject.c:166
+#: atspi/atspi-misc.c:118
msgid "unknown"
msgstr "ukendt"
-#: atk/atkobject.c:167
+#: atspi/atspi-misc.c:119
msgid "viewport"
msgstr "visningsområde"
-#: atk/atkobject.c:168
+#: atspi/atspi-misc.c:120
msgid "window"
msgstr "vindue"
-#: atk/atkobject.c:169
+#: atspi/atspi-misc.c:121
msgid "header"
msgstr "sidehoved"
-#: atk/atkobject.c:170
+#: atspi/atspi-misc.c:122
msgid "footer"
msgstr "sidefod"
-#: atk/atkobject.c:171
+#: atspi/atspi-misc.c:123
msgid "paragraph"
msgstr "afsnit"
-#: atk/atkobject.c:172
+#: atspi/atspi-misc.c:124
msgid "ruler"
msgstr "lineal"
-#: atk/atkobject.c:173
+#: atspi/atspi-misc.c:125
msgid "application"
msgstr "program"
-#: atk/atkobject.c:174
+#: atspi/atspi-misc.c:126
msgid "autocomplete"
msgstr "autofuldførelse"
-#: atk/atkobject.c:175
+#: atspi/atspi-misc.c:127
msgid "edit bar"
msgstr "redigér linje"
-#: atk/atkobject.c:176
+#: atspi/atspi-misc.c:128
msgid "embedded component"
msgstr "indlejret komponent"
-#: atk/atkobject.c:177
+#: atspi/atspi-misc.c:129
msgid "entry"
msgstr "felt"
-#: atk/atkobject.c:178
+#: atspi/atspi-misc.c:130
msgid "chart"
msgstr "diagram"
-#: atk/atkobject.c:179
+#: atspi/atspi-misc.c:131
msgid "caption"
msgstr "tekst"
-#: atk/atkobject.c:180
+#: atspi/atspi-misc.c:132
msgid "document frame"
msgstr "dokumentramme"
-#: atk/atkobject.c:181
+#: atspi/atspi-misc.c:133
msgid "heading"
msgstr "overskrift"
-#: atk/atkobject.c:182
+#: atspi/atspi-misc.c:134
msgid "page"
msgstr "side"
-#: atk/atkobject.c:183
+#: atspi/atspi-misc.c:135
msgid "section"
msgstr "sektion"
-#: atk/atkobject.c:184
+#: atspi/atspi-misc.c:136
msgid "redundant object"
msgstr "redundant objekt"
-#: atk/atkobject.c:185
+#: atspi/atspi-misc.c:137
msgid "form"
msgstr "formular"
-#: atk/atkobject.c:186
+#: atspi/atspi-misc.c:138
msgid "link"
msgstr "henvisning"
-#: atk/atkobject.c:187
+#: atspi/atspi-misc.c:139
msgid "input method window"
msgstr "vindue for indtastningsmetode"
-#: atk/atkobject.c:188
+#: atspi/atspi-misc.c:140
msgid "table row"
msgstr "tabelrække"
-#: atk/atkobject.c:189
+#: atspi/atspi-misc.c:141
msgid "tree item"
msgstr "træelement"
-#: atk/atkobject.c:190
+#: atspi/atspi-misc.c:142
msgid "document spreadsheet"
msgstr "dokumentregneark"
-#: atk/atkobject.c:191
+#: atspi/atspi-misc.c:143
msgid "document presentation"
msgstr "dokumentpræsentation"
-#: atk/atkobject.c:192
+#: atspi/atspi-misc.c:144
msgid "document text"
msgstr "dokumenttekst"
-#: atk/atkobject.c:193
+#: atspi/atspi-misc.c:145
msgid "document web"
msgstr "dokumentweb"
-#: atk/atkobject.c:194
+#: atspi/atspi-misc.c:146
msgid "document email"
msgstr "dokument-e-mail"
-#: atk/atkobject.c:195
+#: atspi/atspi-misc.c:147
msgid "comment"
msgstr "kommentar"
-#: atk/atkobject.c:196
+#: atspi/atspi-misc.c:148
msgid "list box"
msgstr "listeboks"
-#: atk/atkobject.c:197
+#: atspi/atspi-misc.c:149
msgid "grouping"
msgstr "gruppering"
-#: atk/atkobject.c:198
+#: atspi/atspi-misc.c:150
msgid "image map"
msgstr "billedkort"
-#: atk/atkobject.c:199
+#: atspi/atspi-misc.c:151
msgid "notification"
msgstr "påmindelse"
-#: atk/atkobject.c:200
+#: atspi/atspi-misc.c:152
msgid "info bar"
msgstr "informationsbjælke"
-#: atk/atkobject.c:201
+#: atspi/atspi-misc.c:153
msgid "level bar"
msgstr "niveaubjælke"
-#: atk/atkobject.c:202
+#: atspi/atspi-misc.c:154
msgid "title bar"
msgstr "titelbjælke"
-#: atk/atkobject.c:203
+#: atspi/atspi-misc.c:155
msgid "block quote"
msgstr "citatblok"
-#: atk/atkobject.c:204
+#: atspi/atspi-misc.c:156
msgid "audio"
msgstr "lyd"
-#: atk/atkobject.c:205
+#: atspi/atspi-misc.c:157
msgid "video"
msgstr "video"
-#: atk/atkobject.c:206
+#: atspi/atspi-misc.c:158
msgid "definition"
msgstr "definition"
-#: atk/atkobject.c:207
+#: atspi/atspi-misc.c:159
msgid "article"
msgstr "artikel"
-#: atk/atkobject.c:208
+#: atspi/atspi-misc.c:160
msgid "landmark"
msgstr "landmærke"
-#: atk/atkobject.c:209
+#: atspi/atspi-misc.c:161
msgid "log"
msgstr "log"
-#: atk/atkobject.c:210
+#: atspi/atspi-misc.c:162
msgid "marquee"
msgstr "titelskilt"
-#: atk/atkobject.c:211
+#: atspi/atspi-misc.c:163
msgid "math"
msgstr "matematik"
-#: atk/atkobject.c:212
+#: atspi/atspi-misc.c:164
msgid "rating"
msgstr "bedømmelse"
-#: atk/atkobject.c:213
+#: atspi/atspi-misc.c:165
msgid "timer"
msgstr "timer"
-#: atk/atkobject.c:214
+#: atspi/atspi-misc.c:166
msgid "description list"
msgstr "beskrivelsesliste"
-#: atk/atkobject.c:215
+#: atspi/atspi-misc.c:167
msgid "description term"
msgstr "beskrivelsesbegreb"
-#: atk/atkobject.c:216
+#: atspi/atspi-misc.c:168
msgid "description value"
msgstr "beskrivelsesværdi"
-#: atk/atkobject.c:392
-msgid "Accessible Name"
-msgstr "Tilgængeligt navn"
-
-#: atk/atkobject.c:393
-msgid "Object instance’s name formatted for assistive technology access"
-msgstr "Objektinstansens navn formateret til tilgængelighedsteknologier"
-
-#: atk/atkobject.c:399
-msgid "Accessible Description"
-msgstr "Tilgængelig beskrivelse"
-
-#: atk/atkobject.c:400
-msgid "Description of an object, formatted for assistive technology access"
-msgstr "Beskrivelse af et objekt, formateret til tilgængelighedsteknologier"
-
-#: atk/atkobject.c:406
-msgid "Accessible Parent"
-msgstr "Ophavselement for tilgængeligt object"
-
-#: atk/atkobject.c:407
-msgid "Parent of the current accessible as returned by atk_object_get_parent()"
-msgstr ""
-"Ophavselement for det nuværende tilgængelige objekt som returneret af "
-"atk_object_get_parent()"
-
-#: atk/atkobject.c:423
-msgid "Accessible Value"
-msgstr "Tilgængelig værdi"
-
-#: atk/atkobject.c:424
-msgid "Is used to notify that the value has changed"
-msgstr "Bruges til at bekendtgøre at værdien er ændret"
-
-#: atk/atkobject.c:432
-msgid "Accessible Role"
-msgstr "Tilgængelig rolle"
-
-#: atk/atkobject.c:433
-msgid "The accessible role of this object"
-msgstr "Tilgængelighedsrolle for dette objekt"
-
-#: atk/atkobject.c:440
-msgid "Accessible Layer"
-msgstr "Tilgængelighedslag"
-
-#: atk/atkobject.c:441
-msgid "The accessible layer of this object"
-msgstr "Tilgængelighedslaget for dette objekt"
-
-#: atk/atkobject.c:449
-msgid "Accessible MDI Value"
-msgstr "Tilgængeligheds-MDI-værdi"
-
-#: atk/atkobject.c:450
-msgid "The accessible MDI value of this object"
-msgstr "Tilgængeligheds-MDI-værdien for dette objekt"
-
-#: atk/atkobject.c:466
-msgid "Accessible Table Caption"
-msgstr "Tilgængelighedstabeltitel"
-
-#: atk/atkobject.c:467
-msgid ""
-"Is used to notify that the table caption has changed; this property should "
-"not be used. accessible-table-caption-object should be used instead"
-msgstr ""
-"Bruges til at bekendtgøre at tabeltitlen er ændret; denne egenskab bør ikke "
-"benyttes. accessible-table-caption-object bør bruges i stedet"
-
-#: atk/atkobject.c:481
-msgid "Accessible Table Column Header"
-msgstr "Tilgængelighedstabelkolonnetitel"
-
-#: atk/atkobject.c:482
-msgid "Is used to notify that the table column header has changed"
-msgstr "Bruges til at bekendtgøre at tabelkolonnetitlen er ændret"
-
-#: atk/atkobject.c:497
-msgid "Accessible Table Column Description"
-msgstr "Tilgængelighedstabelkolonnebeskrivelse"
-
-#: atk/atkobject.c:498
-msgid "Is used to notify that the table column description has changed"
-msgstr "Bruges til at bekendtgøre at tabelkolonnebeskrivelsen er ændret"
-
-#: atk/atkobject.c:513
-msgid "Accessible Table Row Header"
-msgstr "Tilgængelighedstabelrækkebeskrivelse"
-
-#: atk/atkobject.c:514
-msgid "Is used to notify that the table row header has changed"
-msgstr "Bruges til at bekendtgøre at tabelrækketitlen er ændret"
-
-#: atk/atkobject.c:528
-msgid "Accessible Table Row Description"
-msgstr "Tilgængelighedstabelrækkebeskrivelse"
-
-#: atk/atkobject.c:529
-msgid "Is used to notify that the table row description has changed"
-msgstr "Bruges til at bekendtgøre at tabelrækkebeskrivelsen er ændret"
-
-#: atk/atkobject.c:535
-msgid "Accessible Table Summary"
-msgstr "Tilgængelighedstabelsammendrag"
-
-#: atk/atkobject.c:536
-msgid "Is used to notify that the table summary has changed"
-msgstr "Bruges til at bekendtgøre at tabelsammendraget er ændret"
-
-#: atk/atkobject.c:542
-msgid "Accessible Table Caption Object"
-msgstr "Tilgængelighedstabeltitelobjekt"
-
-#: atk/atkobject.c:543
-msgid "Is used to notify that the table caption has changed"
-msgstr "Bruges til at bekendtgøre at tabeltitlen er ændret"
-
-#: atk/atkobject.c:549
-msgid "Number of Accessible Hypertext Links"
-msgstr "Antal tilgængelighedshypertekst-henvisninger"
-
-#: atk/atkobject.c:550
-msgid "The number of links which the current AtkHypertext has"
-msgstr "Antallet af henvisninger som den aktuelle AtkHypertext har"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:194
-msgid "very weak"
-msgstr "meget svag"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:201
-msgid "weak"
-msgstr "svag"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:208
-msgid "acceptable"
-msgstr "rimelig"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:215
-msgid "strong"
-msgstr "stærk"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:222
-msgid "very strong"
-msgstr "meget stærk"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:230
-msgid "very low"
-msgstr "meget lav"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:238
-msgid "medium"
-msgstr "mellem"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:246
-msgid "high"
-msgstr "høj"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:254
-msgid "very high"
-msgstr "meget høj"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:262
-msgid "very bad"
-msgstr "meget dårlig"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:270
-msgid "bad"
-msgstr "dårlig"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:278
-msgid "good"
-msgstr "god"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:286
-msgid "very good"
-msgstr "meget god"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:294
-msgid "best"
-msgstr "bedst"
-
-#: atspi/atspi-component.c:332 atspi/atspi-misc.c:1063 atspi/atspi-value.c:111
-msgid "The application no longer exists"
-msgstr "Programmet findes ikke længere"
+#~ msgid "push button"
+#~ msgstr "trykknap"
#~ msgid "Attempted synchronous call where prohibited"
#~ msgstr "Et forsøgt synkront kald blev forbudt"
diff --git a/po/de.po b/po/de.po
index 1179de1..e1b2ef4 100644
--- a/po/de.po
+++ b/po/de.po
@@ -2,10 +2,11 @@
# German translation for at-spi2-core.
# Copyright (C) 2011 at-spi2-core's COPYRIGHT HOLDER
# This file is distributed under the same license as the at-spi2-core package.
-# Christian Kirbach , 2011.
+# Christian Kirbach , 2011-2024.
# Mario Blättermann , 2011.
# Wolfgang Stöggl , 2014.
-# Jürgen Benvenuti , 2022.
+# Jürgen Benvenuti , 2022, 2024.
+# Philipp Kiemle , 2025.
#
# #-#-#-#-# de.po (atk 1.5.4) #-#-#-#-#
# German atk translation.
@@ -17,823 +18,846 @@
msgid ""
msgstr ""
"Project-Id-Version: atk 1.5.4\n"
-"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/at-spi2-core/issues\n"
-"POT-Creation-Date: 2022-07-25 14:47+0000\n"
-"PO-Revision-Date: 2022-08-11 18:31+0200\n"
-"Last-Translator: Jürgen Benvenuti \n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/at-spi2-core/issues/\n"
+"POT-Creation-Date: 2025-03-10 11:11+0000\n"
+"PO-Revision-Date: 2025-03-23 19:30+0100\n"
+"Last-Translator:Philipp Kiemle \n"
"Language-Team: German \n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 3.1.1\n"
+"X-Generator: Poedit 3.5\n"
"X-Generator: Poedit 1.5.4\n"
-#: atk/atkhyperlink.c:126
+#: atk/atkhyperlink.c:127
msgid "Selected Link"
msgstr "Ausgewählter Link"
-#: atk/atkhyperlink.c:127
+#: atk/atkhyperlink.c:128
msgid "Specifies whether the AtkHyperlink object is selected"
msgstr "Gibt an, ob das AtkHyperlink-Objekt ausgewählt ist"
-#: atk/atkhyperlink.c:133
+#: atk/atkhyperlink.c:134
msgid "Number of Anchors"
msgstr "Ankeranzahl"
-#: atk/atkhyperlink.c:134
+#: atk/atkhyperlink.c:135
msgid "The number of anchors associated with the AtkHyperlink object"
msgstr "Die Anzahl der mit dem AtkHyperlink-Objekt assoziierten Anker"
-#: atk/atkhyperlink.c:142
+#: atk/atkhyperlink.c:143
msgid "End index"
msgstr "Endindex"
-#: atk/atkhyperlink.c:143
+#: atk/atkhyperlink.c:144
msgid "The end index of the AtkHyperlink object"
msgstr "Der Endindex des AtkHyperlink-Objekts"
-#: atk/atkhyperlink.c:151
+#: atk/atkhyperlink.c:152
msgid "Start index"
msgstr "Anfangsindex"
-#: atk/atkhyperlink.c:152
+#: atk/atkhyperlink.c:153
msgid "The start index of the AtkHyperlink object"
msgstr "Der Anfangsindex des AtkHyperlink-Objekts"
-#: atk/atkobject.c:98
+#: atk/atkobject.c:273
+msgid "Accessible Name"
+msgstr "Barrierefreier Name"
+
+#: atk/atkobject.c:274
+msgid "Object instance’s name formatted for assistive technology access"
+msgstr ""
+"Name der Objektinstanz, formatiert für den Zugriff durch Hilfstechnologien"
+
+#: atk/atkobject.c:280
+msgid "Accessible Description"
+msgstr "Barrierefreie Beschreibung"
+
+#: atk/atkobject.c:281
+msgid "Description of an object, formatted for assistive technology access"
+msgstr ""
+"Beschreibung eines Objekts, formatiert für den Zugriff durch "
+"Hilfstechnologien"
+
+#: atk/atkobject.c:287
+msgid "Accessible Parent"
+msgstr "Barrierefreies Eltern-Element"
+
+#: atk/atkobject.c:288
+msgid "Parent of the current accessible as returned by atk_object_get_parent()"
+msgstr ""
+"Eltern-Element des aktuellen barrierefreien wie von atk_object_get_parent() "
+"zurückgegeben"
+
+#: atk/atkobject.c:304
+msgid "Accessible Value"
+msgstr "Barrierefreier Wert"
+
+#: atk/atkobject.c:305
+msgid "Is used to notify that the value has changed"
+msgstr "Wird zur Benachrichtigung bei Wertänderungen verwendet"
+
+#: atk/atkobject.c:313
+msgid "Accessible Role"
+msgstr "Barrierefreie Rolle"
+
+#: atk/atkobject.c:314
+msgid "The accessible role of this object"
+msgstr "Die barrierefreie Rolle dieses Objekts"
+
+#: atk/atkobject.c:321
+msgid "Accessible Layer"
+msgstr "Barrierefreie Ebene"
+
+#: atk/atkobject.c:322
+msgid "The accessible layer of this object"
+msgstr "Die barrierefreie Ebene dieses Objekts"
+
+#: atk/atkobject.c:330
+msgid "Accessible MDI Value"
+msgstr "Barrierefreier MDI-Wert"
+
+#: atk/atkobject.c:331
+msgid "The accessible MDI value of this object"
+msgstr "Der barrierefreie MDI-Wert dieses Objekts"
+
+#: atk/atkobject.c:347
+msgid "Accessible Table Caption"
+msgstr "Barrierefreie Tabellenüberschrift"
+
+#: atk/atkobject.c:348
+msgid ""
+"Is used to notify that the table caption has changed; this property should "
+"not be used. accessible-table-caption-object should be used instead"
+msgstr ""
+"Wird zur Benachrichtigung bei Änderungen der Tabellenbeschriftung verwendet; "
+"statt dieser Eigenschaft sollte »accessible-table-caption-object« verwendet "
+"werden"
+
+#: atk/atkobject.c:362
+msgid "Accessible Table Column Header"
+msgstr "Barrierefreie Überschrift der Tabellenspalte"
+
+#: atk/atkobject.c:363
+msgid "Is used to notify that the table column header has changed"
+msgstr ""
+"Wird zur Benachrichtigung bei Änderungen an der Überschrift der "
+"Tabellenspalte verwendet"
+
+#: atk/atkobject.c:378
+msgid "Accessible Table Column Description"
+msgstr "Barrierefreie Beschreibung der Tabellenspalte"
+
+#: atk/atkobject.c:379
+msgid "Is used to notify that the table column description has changed"
+msgstr ""
+"Wird zur Benachrichtigung bei Änderungen an der Beschreibung der "
+"Tabellenspalte verwendet"
+
+#: atk/atkobject.c:394
+msgid "Accessible Table Row Header"
+msgstr "Barrierefreie Überschrift der Tabellenzeile"
+
+#: atk/atkobject.c:395
+msgid "Is used to notify that the table row header has changed"
+msgstr ""
+"Wird zur Benachrichtigung bei Änderungen an der Überschrift der "
+"Tabellenzeile verwendet"
+
+#: atk/atkobject.c:409
+msgid "Accessible Table Row Description"
+msgstr "Barrierefreie Beschreibung der Tabellenzeile"
+
+#: atk/atkobject.c:410
+msgid "Is used to notify that the table row description has changed"
+msgstr ""
+"Wird zur Benachrichtigung bei Änderungen an der Beschreibung der "
+"Tabellenzeile verwendet"
+
+#: atk/atkobject.c:416
+msgid "Accessible Table Summary"
+msgstr "Barrierefreie Tabellenzusammenfassung"
+
+#: atk/atkobject.c:417
+msgid "Is used to notify that the table summary has changed"
+msgstr ""
+"Wird zur Benachrichtigung bei Änderungen an der Tabellenzusammenfassung "
+"verwendet"
+
+#: atk/atkobject.c:423
+msgid "Accessible Table Caption Object"
+msgstr "Barrierefreies Objekt zur Tabellenbeschriftung"
+
+#: atk/atkobject.c:424
+msgid "Is used to notify that the table caption has changed"
+msgstr ""
+"Wird zur Benachrichtigung bei Änderungen an der Tabellenbeschriftung "
+"verwendet"
+
+#: atk/atkobject.c:430
+msgid "Number of Accessible Hypertext Links"
+msgstr "Anzahl der barrierefreien Hypertext-Links"
+
+#: atk/atkobject.c:431
+msgid "The number of links which the current AtkHypertext has"
+msgstr "Die Anzahl der Links, die der derzeitige AtkHypertext hat"
+
+#: atk/atkobject.c:440
+msgid "Accessible ID"
+msgstr "Barrierefreie Kennung"
+
+#: atk/atkobject.c:441
+msgid "ID for the accessible; useful for automated testing"
+msgstr "Kennung für das barrierefreie. Nützlich für automatisiertes Testen"
+
+#: atk/atkobject.c:447
+msgid "Help text"
+msgstr "Hilfettext"
+
+#: atk/atkobject.c:448
+msgid "Help text associated with the accessible"
+msgstr "Hilfetext des barrierefreien"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:193
+msgid "very weak"
+msgstr "sehr schwach"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:200
+msgid "weak"
+msgstr "schwach"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:207
+msgid "acceptable"
+msgstr "akzeptabel"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:214
+msgid "strong"
+msgstr "stark"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:221
+msgid "very strong"
+msgstr "sehr stark"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:229
+msgid "very low"
+msgstr "sehr niedrig"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:237
+msgid "medium"
+msgstr "mittel"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:245
+msgid "high"
+msgstr "hoch"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:253
+msgid "very high"
+msgstr "sehr hoch"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:261
+msgid "very bad"
+msgstr "sehr schlecht"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:269
+msgid "bad"
+msgstr "schlecht"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:277
+msgid "good"
+msgstr "gut"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:285
+msgid "very good"
+msgstr "sehr gut"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:293
+msgid "best"
+msgstr "am besten"
+
+#: atspi/atspi-component.c:352 atspi/atspi-misc.c:1234 atspi/atspi-value.c:123
+msgid "The application no longer exists"
+msgstr "Die Anwendung existiert nicht mehr"
+
+#: atspi/atspi-misc.c:49
msgid "invalid"
msgstr "ungültig"
-#: atk/atkobject.c:99
+#: atspi/atspi-misc.c:50
msgid "accelerator label"
msgstr "Kürzelbeschriftung"
-#: atk/atkobject.c:100
+#: atspi/atspi-misc.c:51
msgid "alert"
msgstr "Alarm"
-#: atk/atkobject.c:101
+#: atspi/atspi-misc.c:52
msgid "animation"
msgstr "Animation"
-#: atk/atkobject.c:102
+#: atspi/atspi-misc.c:53
msgid "arrow"
msgstr "Pfeil"
-#: atk/atkobject.c:103
+#: atspi/atspi-misc.c:54
msgid "calendar"
msgstr "Kalender"
-#: atk/atkobject.c:104
+#: atspi/atspi-misc.c:55
msgid "canvas"
msgstr "Leinwand"
-#: atk/atkobject.c:105
+#: atspi/atspi-misc.c:56
msgid "check box"
msgstr "Kontrollkästchen"
-#: atk/atkobject.c:106
+#: atspi/atspi-misc.c:57
msgid "check menu item"
msgstr "Kontrollmenüobjekt"
-#: atk/atkobject.c:107
+#: atspi/atspi-misc.c:58
msgid "color chooser"
msgstr "Farbwähler"
-#: atk/atkobject.c:108
+#: atspi/atspi-misc.c:59
msgid "column header"
msgstr "Spaltenkopf"
-#: atk/atkobject.c:109
+#: atspi/atspi-misc.c:60
msgid "combo box"
msgstr "Kombinationsfeld"
-#: atk/atkobject.c:110
+#: atspi/atspi-misc.c:61
msgid "dateeditor"
msgstr "Datumseditor"
-#: atk/atkobject.c:111
+#: atspi/atspi-misc.c:62
msgid "desktop icon"
msgstr "Desktop-Symbol"
-#: atk/atkobject.c:112
+#: atspi/atspi-misc.c:63
msgid "desktop frame"
msgstr "Desktop-Rahmen"
-#: atk/atkobject.c:113
+#: atspi/atspi-misc.c:64
msgid "dial"
msgstr "Drehknopf"
-#: atk/atkobject.c:114
+#: atspi/atspi-misc.c:65
msgid "dialog"
msgstr "Dialog"
-#: atk/atkobject.c:115
+#: atspi/atspi-misc.c:66
msgid "directory pane"
msgstr "Verzeichnisleiste"
-#: atk/atkobject.c:116
+#: atspi/atspi-misc.c:67
msgid "drawing area"
msgstr "Zeichenfeld"
-#: atk/atkobject.c:117
+#: atspi/atspi-misc.c:68
msgid "file chooser"
msgstr "Dateiwähler"
-#: atk/atkobject.c:118
+#: atspi/atspi-misc.c:69
msgid "filler"
msgstr "Füller"
#. I know it looks wrong but that is what Java returns
-#: atk/atkobject.c:120
+#: atspi/atspi-misc.c:71
msgid "fontchooser"
msgstr "Schriftwähler"
-#: atk/atkobject.c:121
+#: atspi/atspi-misc.c:72
msgid "frame"
msgstr "Rahmen"
-#: atk/atkobject.c:122
+#: atspi/atspi-misc.c:73
msgid "glass pane"
msgstr "Glasleiste"
-#: atk/atkobject.c:123
+#: atspi/atspi-misc.c:74
msgid "html container"
msgstr "HTML-Container"
-#: atk/atkobject.c:124
+#: atspi/atspi-misc.c:75
msgid "icon"
msgstr "Symbol"
-#: atk/atkobject.c:125
+#: atspi/atspi-misc.c:76
msgid "image"
msgstr "Bild"
-#: atk/atkobject.c:126
+#: atspi/atspi-misc.c:77
msgid "internal frame"
msgstr "interner Rahmen"
-#: atk/atkobject.c:127
+#: atspi/atspi-misc.c:78
msgid "label"
msgstr "Beschriftung"
-#: atk/atkobject.c:128
+#: atspi/atspi-misc.c:79
msgid "layered pane"
msgstr "Schichtleiste"
-#: atk/atkobject.c:129
+#: atspi/atspi-misc.c:80
msgid "list"
msgstr "Liste"
-#: atk/atkobject.c:130
+#: atspi/atspi-misc.c:81
msgid "list item"
msgstr "Listenobjekt"
-#: atk/atkobject.c:131
+#: atspi/atspi-misc.c:82
msgid "menu"
msgstr "Menü"
-#: atk/atkobject.c:132
+#: atspi/atspi-misc.c:83
msgid "menu bar"
msgstr "Menüleiste"
-#: atk/atkobject.c:133
+#: atspi/atspi-misc.c:84
msgid "menu button"
msgstr "Menüknopf"
-#: atk/atkobject.c:134
+#: atspi/atspi-misc.c:85
msgid "menu item"
msgstr "Menüobjekt"
-#: atk/atkobject.c:135
+#: atspi/atspi-misc.c:86
msgid "option pane"
msgstr "Optionsleiste"
-#: atk/atkobject.c:136
+#: atspi/atspi-misc.c:87
msgid "page tab"
msgstr "Seitenreiter"
-#: atk/atkobject.c:137
+#: atspi/atspi-misc.c:88
msgid "page tab list"
msgstr "Seitenreiter-Liste"
-#: atk/atkobject.c:138
+#: atspi/atspi-misc.c:89
msgid "panel"
msgstr "Panel"
-#: atk/atkobject.c:139
+#: atspi/atspi-misc.c:90
msgid "password text"
msgstr "Passworttext"
-#: atk/atkobject.c:140
+#: atspi/atspi-misc.c:91
msgid "popup menu"
msgstr "Popup-Menü"
-#: atk/atkobject.c:141
+#: atspi/atspi-misc.c:92
msgid "progress bar"
msgstr "Fortschrittsleiste"
-#: atk/atkobject.c:142
-msgid "push button"
-msgstr "Druckknopf"
+#: atspi/atspi-misc.c:93
+msgid "button"
+msgstr "Knopf"
-#: atk/atkobject.c:143
+#: atspi/atspi-misc.c:94
msgid "radio button"
msgstr "Radioknopf"
-#: atk/atkobject.c:144
+#: atspi/atspi-misc.c:95
msgid "radio menu item"
msgstr "Radiomenüobjekt"
-#: atk/atkobject.c:145
+#: atspi/atspi-misc.c:96
msgid "root pane"
msgstr "Wurzelleiste"
-#: atk/atkobject.c:146
+#: atspi/atspi-misc.c:97
msgid "row header"
msgstr "Zeilenkopf"
-#: atk/atkobject.c:147
+#: atspi/atspi-misc.c:98
msgid "scroll bar"
msgstr "Rollbalken"
-#: atk/atkobject.c:148
+#: atspi/atspi-misc.c:99
msgid "scroll pane"
msgstr "Rollleiste"
-#: atk/atkobject.c:149
+#: atspi/atspi-misc.c:100
msgid "separator"
msgstr "Trennlinie"
-#: atk/atkobject.c:150
+#: atspi/atspi-misc.c:101
msgid "slider"
msgstr "Schieber"
-#: atk/atkobject.c:151
+#: atspi/atspi-misc.c:102
msgid "split pane"
msgstr "geteilte Leiste"
-#: atk/atkobject.c:152
+#: atspi/atspi-misc.c:103
msgid "spin button"
msgstr "Einstellknopf"
-#: atk/atkobject.c:153
+#: atspi/atspi-misc.c:104
msgid "statusbar"
msgstr "Statusleiste"
-#: atk/atkobject.c:154
+#: atspi/atspi-misc.c:105
+msgid "switch"
+msgstr "wechseln"
+
+#: atspi/atspi-misc.c:106
msgid "table"
msgstr "Tabelle"
-#: atk/atkobject.c:155
+#: atspi/atspi-misc.c:107
msgid "table cell"
msgstr "Tabellenzelle"
-#: atk/atkobject.c:156
+#: atspi/atspi-misc.c:108
msgid "table column header"
msgstr "Spaltenkopf einer Tabelle"
-#: atk/atkobject.c:157
+#: atspi/atspi-misc.c:109
msgid "table row header"
msgstr "Zeilenkopf einer Tabelle"
-#: atk/atkobject.c:158
+#: atspi/atspi-misc.c:110
msgid "tear off menu item"
msgstr "Objekt in Abrissmenü"
-#: atk/atkobject.c:159
+#: atspi/atspi-misc.c:111
msgid "terminal"
msgstr "Terminal"
-#: atk/atkobject.c:160
+#: atspi/atspi-misc.c:112
msgid "text"
msgstr "Text"
-#: atk/atkobject.c:161
+#: atspi/atspi-misc.c:113
msgid "toggle button"
msgstr "Auslöseknopf"
-#: atk/atkobject.c:162
+#: atspi/atspi-misc.c:114
msgid "tool bar"
msgstr "Werkzeugleiste"
-#: atk/atkobject.c:163
+#: atspi/atspi-misc.c:115
msgid "tool tip"
msgstr "Minihilfe"
-#: atk/atkobject.c:164
+#: atspi/atspi-misc.c:116
msgid "tree"
msgstr "Baum"
-#: atk/atkobject.c:165
+#: atspi/atspi-misc.c:117
msgid "tree table"
msgstr "Baumtabelle"
-#: atk/atkobject.c:166
+#: atspi/atspi-misc.c:118
msgid "unknown"
msgstr "unbekannt"
-#: atk/atkobject.c:167
+#: atspi/atspi-misc.c:119
msgid "viewport"
msgstr "Sichtfeld"
-#: atk/atkobject.c:168
+#: atspi/atspi-misc.c:120
msgid "window"
msgstr "Fenster"
-#: atk/atkobject.c:169
+#: atspi/atspi-misc.c:121
msgid "header"
msgstr "Kopfzeile"
-#: atk/atkobject.c:170
+#: atspi/atspi-misc.c:122
msgid "footer"
msgstr "Fußzeile"
-#: atk/atkobject.c:171
+#: atspi/atspi-misc.c:123
msgid "paragraph"
msgstr "Absatz"
-#: atk/atkobject.c:172
+#: atspi/atspi-misc.c:124
msgid "ruler"
msgstr "Lineal"
-#: atk/atkobject.c:173
+#: atspi/atspi-misc.c:125
msgid "application"
msgstr "Anwendung"
-#: atk/atkobject.c:174
+#: atspi/atspi-misc.c:126
msgid "autocomplete"
msgstr "Auto-Vervollständigung"
-#: atk/atkobject.c:175
+#: atspi/atspi-misc.c:127
msgid "edit bar"
msgstr "Bearbeitungsleiste"
-#: atk/atkobject.c:176
+#: atspi/atspi-misc.c:128
msgid "embedded component"
msgstr "eingebettete Komponente"
-#: atk/atkobject.c:177
+#: atspi/atspi-misc.c:129
msgid "entry"
msgstr "Eingabefeld"
-#: atk/atkobject.c:178
+#: atspi/atspi-misc.c:130
msgid "chart"
msgstr "Diagramm"
-#: atk/atkobject.c:179
+#: atspi/atspi-misc.c:131
msgid "caption"
msgstr "Beschriftung"
-#: atk/atkobject.c:180
+#: atspi/atspi-misc.c:132
msgid "document frame"
msgstr "Dokumenten-Rahmen"
-#: atk/atkobject.c:181
+#: atspi/atspi-misc.c:133
msgid "heading"
msgstr "Überschrift"
-#: atk/atkobject.c:182
+#: atspi/atspi-misc.c:134
msgid "page"
msgstr "Seite"
-#: atk/atkobject.c:183
+#: atspi/atspi-misc.c:135
msgid "section"
msgstr "Abschnitt"
-#: atk/atkobject.c:184
+#: atspi/atspi-misc.c:136
msgid "redundant object"
msgstr "Redundantes Objekt"
-#: atk/atkobject.c:185
+#: atspi/atspi-misc.c:137
msgid "form"
msgstr "Formular"
-#: atk/atkobject.c:186
+#: atspi/atspi-misc.c:138
msgid "link"
msgstr "Verknüpfung"
-#: atk/atkobject.c:187
+#: atspi/atspi-misc.c:139
msgid "input method window"
msgstr "Fenster mit Eingabemöglichkeit"
-#: atk/atkobject.c:188
+#: atspi/atspi-misc.c:140
msgid "table row"
msgstr "Tabellenzeile"
-#: atk/atkobject.c:189
+#: atspi/atspi-misc.c:141
msgid "tree item"
msgstr "Baumobjekt"
# Bug 728557
-#: atk/atkobject.c:190
+#: atspi/atspi-misc.c:142
msgid "document spreadsheet"
msgstr "Tabellendokument"
# Bug 728557
-#: atk/atkobject.c:191
+#: atspi/atspi-misc.c:143
msgid "document presentation"
msgstr "Präsentation"
# Bug 728557
-#: atk/atkobject.c:192
+#: atspi/atspi-misc.c:144
msgid "document text"
msgstr "Textdokument"
# Bug 728557
-#: atk/atkobject.c:193
+#: atspi/atspi-misc.c:145
msgid "document web"
msgstr "Internetseite"
# Bug 728557
-#: atk/atkobject.c:194
+#: atspi/atspi-misc.c:146
msgid "document email"
msgstr "E-Mail"
-#: atk/atkobject.c:195
+#: atspi/atspi-misc.c:147
msgid "comment"
msgstr "Kommentar"
-#: atk/atkobject.c:196
+#: atspi/atspi-misc.c:148
msgid "list box"
msgstr "Listenbox"
-#: atk/atkobject.c:197
+#: atspi/atspi-misc.c:149
msgid "grouping"
msgstr "Gruppierung"
-#: atk/atkobject.c:198
+#: atspi/atspi-misc.c:150
msgid "image map"
msgstr "Bildkarte"
-#: atk/atkobject.c:199
+#: atspi/atspi-misc.c:151
msgid "notification"
msgstr "Benachrichtigung"
-#: atk/atkobject.c:200
+#: atspi/atspi-misc.c:152
msgid "info bar"
msgstr "Statusleiste"
-#: atk/atkobject.c:201
+#: atspi/atspi-misc.c:153
msgid "level bar"
msgstr "Pegelbalken"
-#: atk/atkobject.c:202
+#: atspi/atspi-misc.c:154
msgid "title bar"
msgstr "Titelleiste"
-#: atk/atkobject.c:203
+#: atspi/atspi-misc.c:155
msgid "block quote"
msgstr "Blockzitat"
-#: atk/atkobject.c:204
+#: atspi/atspi-misc.c:156
msgid "audio"
msgstr "Audio"
-#: atk/atkobject.c:205
+#: atspi/atspi-misc.c:157
msgid "video"
msgstr "Video"
-#: atk/atkobject.c:206
+#: atspi/atspi-misc.c:158
msgid "definition"
msgstr "Definition"
-#: atk/atkobject.c:207
+#: atspi/atspi-misc.c:159
msgid "article"
msgstr "Artikel"
-#: atk/atkobject.c:208
+#: atspi/atspi-misc.c:160
msgid "landmark"
msgstr "Orientierungshilfe"
-#: atk/atkobject.c:209
+#: atspi/atspi-misc.c:161
msgid "log"
msgstr "Protokoll"
-#: atk/atkobject.c:210
+#: atspi/atspi-misc.c:162
msgid "marquee"
msgstr "Markise"
-#: atk/atkobject.c:211
+#: atspi/atspi-misc.c:163
msgid "math"
msgstr "Mathematik"
-#: atk/atkobject.c:212
+#: atspi/atspi-misc.c:164
msgid "rating"
msgstr "Bewertung"
-#: atk/atkobject.c:213
+#: atspi/atspi-misc.c:165
msgid "timer"
msgstr "Rückwärtszähler"
-#: atk/atkobject.c:214
+#: atspi/atspi-misc.c:166
msgid "description list"
msgstr "Beschreibungsliste"
-#: atk/atkobject.c:215
+#: atspi/atspi-misc.c:167
msgid "description term"
msgstr "Beschreibungsbegriff"
-#: atk/atkobject.c:216
+#: atspi/atspi-misc.c:168
msgid "description value"
msgstr "Beschreibungswert"
-#: atk/atkobject.c:392
-msgid "Accessible Name"
-msgstr "Barrierefreier Name"
-
-#: atk/atkobject.c:393
-msgid "Object instance’s name formatted for assistive technology access"
-msgstr ""
-"Name der Objektinstanz, formatiert für den Zugriff durch Hilfstechnologien"
-
-#: atk/atkobject.c:399
-msgid "Accessible Description"
-msgstr "Barrierefreie Beschreibung"
-
-#: atk/atkobject.c:400
-msgid "Description of an object, formatted for assistive technology access"
-msgstr ""
-"Beschreibung eines Objekts, formatiert für den Zugriff durch "
-"Hilfstechnologien"
-
-#: atk/atkobject.c:406
-msgid "Accessible Parent"
-msgstr "Barrierefreies Eltern-Element"
-
-#: atk/atkobject.c:407
-msgid "Parent of the current accessible as returned by atk_object_get_parent()"
-msgstr ""
-"Eltern-Element des aktuellen barrierefreien wie von atk_object_get_parent() "
-"zurückgegeben"
-
-#: atk/atkobject.c:423
-msgid "Accessible Value"
-msgstr "Barrierefreier Wert"
-
-#: atk/atkobject.c:424
-msgid "Is used to notify that the value has changed"
-msgstr "Wird zur Benachrichtigung bei Wertänderungen verwendet"
-
-#: atk/atkobject.c:432
-msgid "Accessible Role"
-msgstr "Barrierefreie Rolle"
-
-#: atk/atkobject.c:433
-msgid "The accessible role of this object"
-msgstr "Die barrierefreie Rolle dieses Objekts"
-
-#: atk/atkobject.c:440
-msgid "Accessible Layer"
-msgstr "Barrierefreie Ebene"
-
-#: atk/atkobject.c:441
-msgid "The accessible layer of this object"
-msgstr "Die barrierefreie Ebene dieses Objekts"
-
-#: atk/atkobject.c:449
-msgid "Accessible MDI Value"
-msgstr "Barrierefreier MDI-Wert"
-
-#: atk/atkobject.c:450
-msgid "The accessible MDI value of this object"
-msgstr "Der barrierefreie MDI-Wert dieses Objekts"
-
-#: atk/atkobject.c:466
-msgid "Accessible Table Caption"
-msgstr "Barrierefreie Tabellenüberschrift"
-
-#: atk/atkobject.c:467
-msgid ""
-"Is used to notify that the table caption has changed; this property should "
-"not be used. accessible-table-caption-object should be used instead"
-msgstr ""
-"Wird zur Benachrichtigung bei Änderungen der Tabellenbeschriftung verwendet; "
-"statt dieser Eigenschaft sollte »accessible-table-caption-object« verwendet "
-"werden"
-
-#: atk/atkobject.c:481
-msgid "Accessible Table Column Header"
-msgstr "Barrierefreie Überschrift der Tabellenspalte"
-
-#: atk/atkobject.c:482
-msgid "Is used to notify that the table column header has changed"
-msgstr ""
-"Wird zur Benachrichtigung bei Änderungen an der Überschrift der "
-"Tabellenspalte verwendet"
-
-#: atk/atkobject.c:497
-msgid "Accessible Table Column Description"
-msgstr "Barrierefreie Beschreibung der Tabellenspalte"
-
-#: atk/atkobject.c:498
-msgid "Is used to notify that the table column description has changed"
-msgstr ""
-"Wird zur Benachrichtigung bei Änderungen an der Beschreibung der "
-"Tabellenspalte verwendet"
-
-#: atk/atkobject.c:513
-msgid "Accessible Table Row Header"
-msgstr "Barrierefreie Überschrift der Tabellenzeile"
-
-#: atk/atkobject.c:514
-msgid "Is used to notify that the table row header has changed"
-msgstr ""
-"Wird zur Benachrichtigung bei Änderungen an der Überschrift der "
-"Tabellenzeile verwendet"
-
-#: atk/atkobject.c:528
-msgid "Accessible Table Row Description"
-msgstr "Barrierefreie Beschreibung der Tabellenzeile"
-
-#: atk/atkobject.c:529
-msgid "Is used to notify that the table row description has changed"
-msgstr ""
-"Wird zur Benachrichtigung bei Änderungen an der Beschreibung der "
-"Tabellenzeile verwendet"
-
-#: atk/atkobject.c:535
-msgid "Accessible Table Summary"
-msgstr "Barrierefreie Tabellenzusammenfassung"
-
-#: atk/atkobject.c:536
-msgid "Is used to notify that the table summary has changed"
-msgstr ""
-"Wird zur Benachrichtigung bei Änderungen an der Tabellenzusammenfassung "
-"verwendet"
-
-#: atk/atkobject.c:542
-msgid "Accessible Table Caption Object"
-msgstr "Barrierefreies Objekt zur Tabellenbeschriftung"
-
-#: atk/atkobject.c:543
-msgid "Is used to notify that the table caption has changed"
-msgstr ""
-"Wird zur Benachrichtigung bei Änderungen an der Tabellenbeschriftung "
-"verwendet"
-
-#: atk/atkobject.c:549
-msgid "Number of Accessible Hypertext Links"
-msgstr "Anzahl der barrierefreien Hypertext-Links"
-
-#: atk/atkobject.c:550
-msgid "The number of links which the current AtkHypertext has"
-msgstr "Die Anzahl der Links, die der derzeitige AtkHypertext hat"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:194
-msgid "very weak"
-msgstr "sehr schwach"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:201
-msgid "weak"
-msgstr "schwach"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:208
-msgid "acceptable"
-msgstr "akzeptabel"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:215
-msgid "strong"
-msgstr "stark"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:222
-msgid "very strong"
-msgstr "sehr stark"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:230
-msgid "very low"
-msgstr "sehr niedrig"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:238
-msgid "medium"
-msgstr "mittel"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:246
-msgid "high"
-msgstr "hoch"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:254
-msgid "very high"
-msgstr "sehr hoch"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:262
-msgid "very bad"
-msgstr "sehr schlecht"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:270
-msgid "bad"
-msgstr "schlecht"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:278
-msgid "good"
-msgstr "gut"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:286
-msgid "very good"
-msgstr "sehr gut"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:294
-msgid "best"
-msgstr "am besten"
-
-#: atspi/atspi-component.c:332 atspi/atspi-misc.c:1063 atspi/atspi-value.c:111
-msgid "The application no longer exists"
-msgstr "Die Anwendung existiert nicht mehr"
+#~ msgid "push button"
+#~ msgstr "Druckknopf"
#~ msgid "Attempted synchronous call where prohibited"
#~ msgstr "Versuchter synchroner Aufruf an verbotener Stelle"
diff --git a/po/el.po b/po/el.po
index fc025eb..507fecf 100644
--- a/po/el.po
+++ b/po/el.po
@@ -16,9 +16,9 @@
msgid ""
msgstr ""
"Project-Id-Version: el\n"
-"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/at-spi2-core/issues\n"
-"POT-Creation-Date: 2023-01-25 15:54+0000\n"
-"PO-Revision-Date: 2023-08-02 20:55+0300\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/at-spi2-core/issues/\n"
+"POT-Creation-Date: 2025-10-16 07:38+0000\n"
+"PO-Revision-Date: 2025-10-19 10:38+0300\n"
"Last-Translator: Efstathios Iosifidis \n"
"Language-Team: team@lists.gnome.gr\n"
"Language: el\n"
@@ -27,7 +27,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 3.3.2\n"
+"X-Generator: Poedit 3.7\n"
"X-Generator: Poedit 1.6.5\n"
"X-Project-Style: gnome\n"
@@ -63,766 +63,789 @@ msgstr "Αρχή ευρετηρίου"
msgid "The start index of the AtkHyperlink object"
msgstr "Η αρχή ευρετηρίου του αντικειμένου AtkHyperlink"
-#: atk/atkobject.c:100
-msgid "invalid"
-msgstr "άκυρο"
-
-#: atk/atkobject.c:101
-msgid "accelerator label"
-msgstr "ετικέτα επιταχυντή"
-
-#: atk/atkobject.c:102
-msgid "alert"
-msgstr "ειδοποίηση"
+#: atk/atkobject.c:273
+msgid "Accessible Name"
+msgstr "Προσβάσιμο όνομα"
-#: atk/atkobject.c:103
-msgid "animation"
-msgstr "κινούμενο σχέδιο"
+#: atk/atkobject.c:274
+msgid "Object instance’s name formatted for assistive technology access"
+msgstr ""
+"Το όνομα του αντίτυπου του αντικειμένου, μορφοποιημένο για πρόσβαση μέσω "
+"βοηθητικής τεχνολογίας"
-#: atk/atkobject.c:104
-msgid "arrow"
-msgstr "βέλος"
+#: atk/atkobject.c:280
+msgid "Accessible Description"
+msgstr "Προσβάσιμη περιγραφή"
-#: atk/atkobject.c:105
-msgid "calendar"
-msgstr "ημερολόγιο"
+#: atk/atkobject.c:281
+msgid "Description of an object, formatted for assistive technology access"
+msgstr ""
+"Περιγραφή αντικειμένου, μορφοποιημένη για πρόσβαση μέσω βοηθητικής "
+"τεχνολογίας"
-#: atk/atkobject.c:106
-msgid "canvas"
-msgstr "καμβάς"
+#: atk/atkobject.c:287
+msgid "Accessible Parent"
+msgstr "Προσβάσιμο γονικό"
-#: atk/atkobject.c:107
-msgid "check box"
-msgstr "πλαίσιο επιλογής"
+#: atk/atkobject.c:288
+msgid "Parent of the current accessible as returned by atk_object_get_parent()"
+msgstr ""
+"Το γονικό του τρέχοντος προσβάσιμου όπως επιστρέφεται από το "
+"atk_object_get_parent()"
-#: atk/atkobject.c:108
-msgid "check menu item"
-msgstr "αντικείμενο μενού επιλογής"
+#: atk/atkobject.c:304
+msgid "Accessible Value"
+msgstr "Προσβάσιμη τιμή"
-#: atk/atkobject.c:109
-msgid "color chooser"
-msgstr "επιλογέας χρώματος"
+#: atk/atkobject.c:305
+msgid "Is used to notify that the value has changed"
+msgstr "Χρησιμοποιείται για ειδοποίηση ότι η τιμή έχει αλλάξει"
-#: atk/atkobject.c:110
-msgid "column header"
-msgstr "κεφαλίδα στήλης"
+#: atk/atkobject.c:313
+msgid "Accessible Role"
+msgstr "Προσβάσιμος ρόλος"
-#: atk/atkobject.c:111
-msgid "combo box"
-msgstr "πλαίσιο πολλαπλών επιλογών"
+#: atk/atkobject.c:314
+msgid "The accessible role of this object"
+msgstr "Ο προσβάσιμος ρόλος του αντικειμένου"
-#: atk/atkobject.c:112
-msgid "dateeditor"
-msgstr "επεξεργαστής ημερομηνίας"
+#: atk/atkobject.c:321
+msgid "Accessible Layer"
+msgstr "Προσβάσιμο στρώμα"
-#: atk/atkobject.c:113
-msgid "desktop icon"
-msgstr "εικονίδιο επιφάνειας εργασίας"
+#: atk/atkobject.c:322
+msgid "The accessible layer of this object"
+msgstr "Το προσβάσιμο στρώμα του αντικειμένου"
-#: atk/atkobject.c:114
-msgid "desktop frame"
-msgstr "πλαίσιο επιφάνειας εργασίας"
+#: atk/atkobject.c:330
+msgid "Accessible MDI Value"
+msgstr "Προσβάσιμη τιμή MDI"
-#: atk/atkobject.c:115
-msgid "dial"
-msgstr "καντράν"
+#: atk/atkobject.c:331
+msgid "The accessible MDI value of this object"
+msgstr "Η προσβάσιμη τιμή MDI του αντικειμένου"
-#: atk/atkobject.c:116
-msgid "dialog"
-msgstr "διάλογος"
+#: atk/atkobject.c:347
+msgid "Accessible Table Caption"
+msgstr "Προσβάσιμη λεζάντα πίνακα"
-#: atk/atkobject.c:117
-msgid "directory pane"
-msgstr "παράθυρο καταλόγου"
+#: atk/atkobject.c:348
+msgid ""
+"Is used to notify that the table caption has changed; this property should "
+"not be used. accessible-table-caption-object should be used instead"
+msgstr ""
+"Χρησιμοποιείται για να ενημερώσει ότι η λεζάντα πίνακα έχει αλλάξει· αυτή η "
+"ιδιότητα δεν πρέπει να χρησιμοποιείται. Αντ' αυτής, χρησιμοποιήστε το "
+"accessible-table-caption-object"
-#: atk/atkobject.c:118
-msgid "drawing area"
-msgstr "περιοχή σχεδίασης"
+#: atk/atkobject.c:362
+msgid "Accessible Table Column Header"
+msgstr "Προσβάσιμη κεφαλίδα στήλης πίνακα"
-#: atk/atkobject.c:119
-msgid "file chooser"
-msgstr "επιλογέας αρχείου"
+#: atk/atkobject.c:363
+msgid "Is used to notify that the table column header has changed"
+msgstr ""
+"Χρησιμοποιείται για να ενημερώσει ότι η κεφαλίδα στήλης πίνακα έχει αλλάξει"
-#: atk/atkobject.c:120
-msgid "filler"
-msgstr "συμπληρωτής"
+#: atk/atkobject.c:378
+msgid "Accessible Table Column Description"
+msgstr "Προσβάσιμη περιγραφή στήλης πίνακα"
-#. I know it looks wrong but that is what Java returns
-#: atk/atkobject.c:122
-msgid "fontchooser"
-msgstr "επιλογέας γραμματοσειράς"
+#: atk/atkobject.c:379
+msgid "Is used to notify that the table column description has changed"
+msgstr ""
+"Χρησιμοποιείται για να ενημερώσει ότι η περιγραφή στήλης πίνακα έχει αλλάξει"
-#: atk/atkobject.c:123
-msgid "frame"
-msgstr "πλαίσιο"
+#: atk/atkobject.c:394
+msgid "Accessible Table Row Header"
+msgstr "Προσβάσιμη κεφαλίδα γραμμής πίνακα"
-#: atk/atkobject.c:124
-msgid "glass pane"
-msgstr "γυάλινο παράθυρο"
+#: atk/atkobject.c:395
+msgid "Is used to notify that the table row header has changed"
+msgstr ""
+"Χρησιμοποιείται για να ενημερώσει ότι η κεφαλίδα γραμμής πίνακα έχει αλλάξει"
-#: atk/atkobject.c:125
-msgid "html container"
-msgstr "περιέκτης html"
+#: atk/atkobject.c:409
+msgid "Accessible Table Row Description"
+msgstr "Προσβάσιμη περιγραφή γραμμής πίνακα"
-#: atk/atkobject.c:126
-msgid "icon"
-msgstr "εικονίδιο"
+#: atk/atkobject.c:410
+msgid "Is used to notify that the table row description has changed"
+msgstr ""
+"Χρησιμοποιείται για να ενημερώσει ότι η περιγραφή γραμμής πίνακα έχει αλλάξει"
-#: atk/atkobject.c:127
-msgid "image"
-msgstr "εικόνα"
+#: atk/atkobject.c:416
+msgid "Accessible Table Summary"
+msgstr "Προσβάσιμη περίληψη πίνακα"
-#: atk/atkobject.c:128
-msgid "internal frame"
-msgstr "εσωτερικό πλαίσιο"
+#: atk/atkobject.c:417
+msgid "Is used to notify that the table summary has changed"
+msgstr "Χρησιμοποιείται για να ενημερώσει ότι η περίληψη πίνακα έχει αλλάξει"
-#: atk/atkobject.c:129
-msgid "label"
-msgstr "ετικέτα"
+#: atk/atkobject.c:423
+msgid "Accessible Table Caption Object"
+msgstr "Προσβάσιμο αντικείμενο λεζάντας πίνακα"
-#: atk/atkobject.c:130
-msgid "layered pane"
-msgstr "παράθυρο με στρώσεις"
+#: atk/atkobject.c:424
+msgid "Is used to notify that the table caption has changed"
+msgstr "Χρησιμοποιείται για να ενημερώσει ότι η λεζάντα πίνακα έχει αλλάξει"
-#: atk/atkobject.c:131
-msgid "list"
-msgstr "λίστα"
+#: atk/atkobject.c:430
+msgid "Number of Accessible Hypertext Links"
+msgstr "Αριθμός προσβάσιμων συνδέσμων υπερκειμένου"
-#: atk/atkobject.c:132
-msgid "list item"
-msgstr "αντικείμενο λίστας"
+#: atk/atkobject.c:431
+msgid "The number of links which the current AtkHypertext has"
+msgstr "Ο αριθμός των συνδέσμων που έχει το τρέχον AtkHypertext"
-#: atk/atkobject.c:133
-msgid "menu"
-msgstr "μενού"
+#: atk/atkobject.c:440
+msgid "Accessible ID"
+msgstr "Προσβάσιμο αναγνωριστικό"
-#: atk/atkobject.c:134
-msgid "menu bar"
-msgstr "εργαλειοθήκη μενού"
+#: atk/atkobject.c:441
+msgid "ID for the accessible; useful for automated testing"
+msgstr "Όνομα για το προσβάσιμο, χρήσιμο για αυτοματοποιημένο έλεγχο"
-#: atk/atkobject.c:135
-msgid "menu button"
-msgstr "κουμπί μενού"
+#: atk/atkobject.c:447
+msgid "Help text"
+msgstr "Κείμενο βοήθειας"
-#: atk/atkobject.c:136
-msgid "menu item"
-msgstr "αντικείμενο μενού"
+#: atk/atkobject.c:448
+msgid "Help text associated with the accessible"
+msgstr "Κείμενο βοήθειας σε συσχέτιση με το προσβάσιμο"
-#: atk/atkobject.c:137
-msgid "option pane"
-msgstr "παράθυρο επιλογών"
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:193
+msgid "very weak"
+msgstr "πολύ ασθενές"
-#: atk/atkobject.c:138
-msgid "page tab"
-msgstr "στήλη σελίδας"
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:200
+msgid "weak"
+msgstr "ασθενές"
-#: atk/atkobject.c:139
-msgid "page tab list"
-msgstr "λίστα στηλών σελίδας"
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:207
+msgid "acceptable"
+msgstr "αποδεκτό"
-#: atk/atkobject.c:140
-msgid "panel"
-msgstr "πίνακας"
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:214
+msgid "strong"
+msgstr "ισχυρό"
-#: atk/atkobject.c:141
-msgid "password text"
-msgstr "κείμενο κωδικού πρόσβασης"
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:221
+msgid "very strong"
+msgstr "πολύ ισχυρό"
-#: atk/atkobject.c:142
-msgid "popup menu"
-msgstr "αναδυόμενο μενού"
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:229
+msgid "very low"
+msgstr "πολύ χαμηλό"
-#: atk/atkobject.c:143
-msgid "progress bar"
-msgstr "γραμμή προόδου"
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:237
+msgid "medium"
+msgstr "μεσαίο"
-#: atk/atkobject.c:144
-msgid "push button"
-msgstr "πιεζόμενο κουμπί"
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:245
+msgid "high"
+msgstr "υψηλό"
-#: atk/atkobject.c:145
-msgid "radio button"
-msgstr "κουμπί επιλογής"
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:253
+msgid "very high"
+msgstr "πολύ υψηλό"
-#: atk/atkobject.c:146
-msgid "radio menu item"
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:261
+msgid "very bad"
+msgstr "πολύ κακό"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:269
+msgid "bad"
+msgstr "κακό"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:277
+msgid "good"
+msgstr "καλό"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:285
+msgid "very good"
+msgstr "πολύ καλό"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:293
+msgid "best"
+msgstr "το καλύτερο"
+
+#: atspi/atspi-component.c:341 atspi/atspi-misc.c:1230 atspi/atspi-value.c:123
+msgid "The application no longer exists"
+msgstr "Η εφαρμογή δεν υπάρχει πλέον"
+
+#: atspi/atspi-misc.c:49
+msgid "invalid"
+msgstr "άκυρο"
+
+#: atspi/atspi-misc.c:50
+msgid "accelerator label"
+msgstr "ετικέτα επιταχυντή"
+
+#: atspi/atspi-misc.c:51
+msgid "alert"
+msgstr "ειδοποίηση"
+
+#: atspi/atspi-misc.c:52
+msgid "animation"
+msgstr "κινούμενο σχέδιο"
+
+#: atspi/atspi-misc.c:53
+msgid "arrow"
+msgstr "βέλος"
+
+#: atspi/atspi-misc.c:54
+msgid "calendar"
+msgstr "ημερολόγιο"
+
+#: atspi/atspi-misc.c:55
+msgid "canvas"
+msgstr "καμβάς"
+
+#: atspi/atspi-misc.c:56
+msgid "check box"
+msgstr "πλαίσιο επιλογής"
+
+#: atspi/atspi-misc.c:57
+msgid "check menu item"
msgstr "αντικείμενο μενού επιλογής"
-#: atk/atkobject.c:147
+#: atspi/atspi-misc.c:58
+msgid "color chooser"
+msgstr "επιλογέας χρώματος"
+
+#: atspi/atspi-misc.c:59
+msgid "column header"
+msgstr "κεφαλίδα στήλης"
+
+#: atspi/atspi-misc.c:60
+msgid "combo box"
+msgstr "πλαίσιο πολλαπλών επιλογών"
+
+#: atspi/atspi-misc.c:61
+msgid "dateeditor"
+msgstr "επεξεργαστής ημερομηνίας"
+
+#: atspi/atspi-misc.c:62
+msgid "desktop icon"
+msgstr "εικονίδιο επιφάνειας εργασίας"
+
+#: atspi/atspi-misc.c:63
+msgid "desktop frame"
+msgstr "πλαίσιο επιφάνειας εργασίας"
+
+#: atspi/atspi-misc.c:64
+msgid "dial"
+msgstr "καντράν"
+
+#: atspi/atspi-misc.c:65
+msgid "dialog"
+msgstr "διάλογος"
+
+#: atspi/atspi-misc.c:66
+msgid "directory pane"
+msgstr "παράθυρο καταλόγου"
+
+#: atspi/atspi-misc.c:67
+msgid "drawing area"
+msgstr "περιοχή σχεδίασης"
+
+#: atspi/atspi-misc.c:68
+msgid "file chooser"
+msgstr "επιλογέας αρχείου"
+
+#: atspi/atspi-misc.c:69
+msgid "filler"
+msgstr "συμπληρωτής"
+
+#. I know it looks wrong but that is what Java returns
+#: atspi/atspi-misc.c:71
+msgid "fontchooser"
+msgstr "επιλογέας γραμματοσειράς"
+
+#: atspi/atspi-misc.c:72
+msgid "frame"
+msgstr "πλαίσιο"
+
+#: atspi/atspi-misc.c:73
+msgid "glass pane"
+msgstr "γυάλινο παράθυρο"
+
+#: atspi/atspi-misc.c:74
+msgid "html container"
+msgstr "περιέκτης html"
+
+#: atspi/atspi-misc.c:75
+msgid "icon"
+msgstr "εικονίδιο"
+
+#: atspi/atspi-misc.c:76
+msgid "image"
+msgstr "εικόνα"
+
+#: atspi/atspi-misc.c:77
+msgid "internal frame"
+msgstr "εσωτερικό πλαίσιο"
+
+#: atspi/atspi-misc.c:78
+msgid "label"
+msgstr "ετικέτα"
+
+#: atspi/atspi-misc.c:79
+msgid "layered pane"
+msgstr "παράθυρο με στρώσεις"
+
+#: atspi/atspi-misc.c:80
+msgid "list"
+msgstr "λίστα"
+
+#: atspi/atspi-misc.c:81
+msgid "list item"
+msgstr "αντικείμενο λίστας"
+
+#: atspi/atspi-misc.c:82
+msgid "menu"
+msgstr "μενού"
+
+#: atspi/atspi-misc.c:83
+msgid "menu bar"
+msgstr "εργαλειοθήκη μενού"
+
+#: atspi/atspi-misc.c:84
+msgid "menu button"
+msgstr "κουμπί μενού"
+
+#: atspi/atspi-misc.c:85
+msgid "menu item"
+msgstr "αντικείμενο μενού"
+
+#: atspi/atspi-misc.c:86
+msgid "option pane"
+msgstr "παράθυρο επιλογών"
+
+#: atspi/atspi-misc.c:87
+msgid "page tab"
+msgstr "στήλη σελίδας"
+
+#: atspi/atspi-misc.c:88
+msgid "page tab list"
+msgstr "λίστα στηλών σελίδας"
+
+#: atspi/atspi-misc.c:89
+msgid "panel"
+msgstr "πίνακας"
+
+#: atspi/atspi-misc.c:90
+msgid "password text"
+msgstr "κείμενο κωδικού πρόσβασης"
+
+#: atspi/atspi-misc.c:91
+msgid "popup menu"
+msgstr "αναδυόμενο μενού"
+
+#: atspi/atspi-misc.c:92
+msgid "progress bar"
+msgstr "γραμμή προόδου"
+
+#: atspi/atspi-misc.c:93
+msgid "button"
+msgstr "κουμπί"
+
+#: atspi/atspi-misc.c:94
+msgid "radio button"
+msgstr "κουμπί επιλογής"
+
+#: atspi/atspi-misc.c:95
+msgid "radio menu item"
+msgstr "αντικείμενο μενού επιλογής"
+
+#: atspi/atspi-misc.c:96
msgid "root pane"
msgstr "αρχικό παράθυρο"
-#: atk/atkobject.c:148
+#: atspi/atspi-misc.c:97
msgid "row header"
msgstr "κεφαλίδα γραμμής"
-#: atk/atkobject.c:149
+#: atspi/atspi-misc.c:98
msgid "scroll bar"
msgstr "γραμμή κύλισης"
-#: atk/atkobject.c:150
+#: atspi/atspi-misc.c:99
msgid "scroll pane"
msgstr "παράθυρο κύλισης"
-#: atk/atkobject.c:151
+#: atspi/atspi-misc.c:100
msgid "separator"
msgstr "διαχωριστής"
-#: atk/atkobject.c:152
+#: atspi/atspi-misc.c:101
msgid "slider"
msgstr "γραμμή κύλισης"
-#: atk/atkobject.c:153
+#: atspi/atspi-misc.c:102
msgid "split pane"
msgstr "παράθυρο διαχωρισμού"
-#: atk/atkobject.c:154
+#: atspi/atspi-misc.c:103
msgid "spin button"
msgstr "κουμπί αυξομείωσης"
-#: atk/atkobject.c:155
+#: atspi/atspi-misc.c:104
msgid "statusbar"
msgstr "γραμμή κατάστασης"
-#: atk/atkobject.c:156
+#: atspi/atspi-misc.c:105
+msgid "switch"
+msgstr "διακόπτης"
+
+#: atspi/atspi-misc.c:106
msgid "table"
msgstr "πίνακας"
-#: atk/atkobject.c:157
+#: atspi/atspi-misc.c:107
msgid "table cell"
msgstr "κελί πίνακα"
-#: atk/atkobject.c:158
+#: atspi/atspi-misc.c:108
msgid "table column header"
msgstr "κεφαλίδα στήλης πίνακα"
-#: atk/atkobject.c:159
+#: atspi/atspi-misc.c:109
msgid "table row header"
msgstr "κεφαλίδα γραμμής πίνακα"
-#: atk/atkobject.c:160
+#: atspi/atspi-misc.c:110
msgid "tear off menu item"
msgstr "αντικείμενο αποσπώμενου μενού"
-#: atk/atkobject.c:161
+#: atspi/atspi-misc.c:111
msgid "terminal"
msgstr "τερματικό"
-#: atk/atkobject.c:162
+#: atspi/atspi-misc.c:112
msgid "text"
msgstr "κείμενο"
-#: atk/atkobject.c:163
+#: atspi/atspi-misc.c:113
msgid "toggle button"
msgstr "κουμπί εναλλαγής"
-#: atk/atkobject.c:164
+#: atspi/atspi-misc.c:114
msgid "tool bar"
msgstr "εργαλειοθήκη"
-#: atk/atkobject.c:165
+#: atspi/atspi-misc.c:115
msgid "tool tip"
msgstr "αναδυόμενη συμβουλή"
-#: atk/atkobject.c:166
+#: atspi/atspi-misc.c:116
msgid "tree"
msgstr "δένδρο"
-#: atk/atkobject.c:167
+#: atspi/atspi-misc.c:117
msgid "tree table"
msgstr "πίνακας δένδρου"
-#: atk/atkobject.c:168
+#: atspi/atspi-misc.c:118
msgid "unknown"
msgstr "άγνωστο"
-#: atk/atkobject.c:169
+#: atspi/atspi-misc.c:119
msgid "viewport"
msgstr "περιοχή προβολής"
-#: atk/atkobject.c:170
+#: atspi/atspi-misc.c:120
msgid "window"
msgstr "παράθυρο"
-#: atk/atkobject.c:171
+#: atspi/atspi-misc.c:121
msgid "header"
msgstr "κεφαλίδα"
-#: atk/atkobject.c:172
+#: atspi/atspi-misc.c:122
msgid "footer"
msgstr "υποσέλιδο"
-#: atk/atkobject.c:173
+#: atspi/atspi-misc.c:123
msgid "paragraph"
msgstr "παράγραφος"
-#: atk/atkobject.c:174
+#: atspi/atspi-misc.c:124
msgid "ruler"
msgstr "κανόνας"
-#: atk/atkobject.c:175
+#: atspi/atspi-misc.c:125
msgid "application"
msgstr "εφαρμογή"
-#: atk/atkobject.c:176
+#: atspi/atspi-misc.c:126
msgid "autocomplete"
msgstr "αυτόματη συμπλήρωση"
-#: atk/atkobject.c:177
+#: atspi/atspi-misc.c:127
msgid "edit bar"
msgstr "γραμμή επεξεργασίας"
-#: atk/atkobject.c:178
+#: atspi/atspi-misc.c:128
msgid "embedded component"
msgstr "ενσωματωμένο στοιχείο"
-#: atk/atkobject.c:179
+#: atspi/atspi-misc.c:129
msgid "entry"
msgstr "καταχώρηση"
-#: atk/atkobject.c:180
+#: atspi/atspi-misc.c:130
msgid "chart"
msgstr "γράφημα"
-#: atk/atkobject.c:181
+#: atspi/atspi-misc.c:131
msgid "caption"
msgstr "λεζάντα"
-#: atk/atkobject.c:182
+#: atspi/atspi-misc.c:132
msgid "document frame"
msgstr "πλαίσιο εγγράφου"
-#: atk/atkobject.c:183
+#: atspi/atspi-misc.c:133
msgid "heading"
msgstr "κεφαλίδα"
-#: atk/atkobject.c:184
+#: atspi/atspi-misc.c:134
msgid "page"
msgstr "σελίδα"
-#: atk/atkobject.c:185
+#: atspi/atspi-misc.c:135
msgid "section"
msgstr "ενότητα"
-#: atk/atkobject.c:186
+#: atspi/atspi-misc.c:136
msgid "redundant object"
msgstr "πλεονάζον αντικείμενο"
-#: atk/atkobject.c:187
+#: atspi/atspi-misc.c:137
msgid "form"
msgstr "φόρμα"
-#: atk/atkobject.c:188
+#: atspi/atspi-misc.c:138
msgid "link"
msgstr "σύνδεσμος"
-#: atk/atkobject.c:189
+#: atspi/atspi-misc.c:139
msgid "input method window"
msgstr "παράθυρο μεθόδου εισαγωγής"
-#: atk/atkobject.c:190
+#: atspi/atspi-misc.c:140
msgid "table row"
msgstr "γραμμή πίνακα"
-#: atk/atkobject.c:191
+#: atspi/atspi-misc.c:141
msgid "tree item"
msgstr "αντικείμενο δένδρου"
-#: atk/atkobject.c:192
+#: atspi/atspi-misc.c:142
msgid "document spreadsheet"
msgstr "έγγραφο λογιστικού φύλλου"
-#: atk/atkobject.c:193
+#: atspi/atspi-misc.c:143
msgid "document presentation"
msgstr "εγγράφο παρουσίασης"
-#: atk/atkobject.c:194
+#: atspi/atspi-misc.c:144
msgid "document text"
msgstr "έγγραφο κειμένου"
-#: atk/atkobject.c:195
+#: atspi/atspi-misc.c:145
msgid "document web"
msgstr "έγγραφο ιστού"
-#: atk/atkobject.c:196
+#: atspi/atspi-misc.c:146
msgid "document email"
msgstr "έγγραφο ηλεκτρονικής αλληλογγραφίας"
-#: atk/atkobject.c:197
+#: atspi/atspi-misc.c:147
msgid "comment"
msgstr "σχόλιο"
-#: atk/atkobject.c:198
+#: atspi/atspi-misc.c:148
msgid "list box"
msgstr "πλαίσιο λίστας"
-#: atk/atkobject.c:199
+#: atspi/atspi-misc.c:149
msgid "grouping"
msgstr "ομαδοποίηση"
-#: atk/atkobject.c:200
+#: atspi/atspi-misc.c:150
msgid "image map"
msgstr "χάρτης εικόνας"
-#: atk/atkobject.c:201
+#: atspi/atspi-misc.c:151
msgid "notification"
msgstr "ειδοποίηση"
-#: atk/atkobject.c:202
+#: atspi/atspi-misc.c:152
msgid "info bar"
msgstr "γραμμή πληροφοριών"
-#: atk/atkobject.c:203
+#: atspi/atspi-misc.c:153
msgid "level bar"
msgstr "γραμμή επιπέδου"
-#: atk/atkobject.c:204
+#: atspi/atspi-misc.c:154
msgid "title bar"
msgstr "γραμμή τίτλου"
-#: atk/atkobject.c:205
+#: atspi/atspi-misc.c:155
msgid "block quote"
msgstr "μεγάλη παράθεση"
-#: atk/atkobject.c:206
+#: atspi/atspi-misc.c:156
msgid "audio"
msgstr "ήχος"
-#: atk/atkobject.c:207
+#: atspi/atspi-misc.c:157
msgid "video"
msgstr "βίντεο"
-#: atk/atkobject.c:208
+#: atspi/atspi-misc.c:158
msgid "definition"
msgstr "ορισμός"
-#: atk/atkobject.c:209
+#: atspi/atspi-misc.c:159
msgid "article"
msgstr "άρθρο"
-#: atk/atkobject.c:210
+#: atspi/atspi-misc.c:160
msgid "landmark"
msgstr "ορόσημο"
-#: atk/atkobject.c:211
+#: atspi/atspi-misc.c:161
msgid "log"
msgstr "καταγραφή"
-#: atk/atkobject.c:212
+#: atspi/atspi-misc.c:162
msgid "marquee"
msgstr "κυλιόμενο κείμενο"
-#: atk/atkobject.c:213
+#: atspi/atspi-misc.c:163
msgid "math"
msgstr "μαθηματικά"
-#: atk/atkobject.c:214
+#: atspi/atspi-misc.c:164
msgid "rating"
msgstr "αξιολόγηση"
-#: atk/atkobject.c:215
+#: atspi/atspi-misc.c:165
msgid "timer"
msgstr "χρονόμετρο"
-#: atk/atkobject.c:216
+#: atspi/atspi-misc.c:166
msgid "description list"
msgstr "λίστα περιγραφής"
-#: atk/atkobject.c:217
+#: atspi/atspi-misc.c:167
msgid "description term"
msgstr "όρος περιγραφής"
-#: atk/atkobject.c:218
+#: atspi/atspi-misc.c:168
msgid "description value"
msgstr "τιμή περιγραφής"
-#: atk/atkobject.c:390
-msgid "Accessible Name"
-msgstr "Προσβάσιμο όνομα"
-
-#: atk/atkobject.c:391
-msgid "Object instance’s name formatted for assistive technology access"
-msgstr ""
-"Το όνομα του αντίτυπου του αντικειμένου, μορφοποιημένο για πρόσβαση μέσω "
-"βοηθητικής τεχνολογίας"
-
-#: atk/atkobject.c:397
-msgid "Accessible Description"
-msgstr "Προσβάσιμη περιγραφή"
-
-#: atk/atkobject.c:398
-msgid "Description of an object, formatted for assistive technology access"
-msgstr ""
-"Περιγραφή αντικειμένου, μορφοποιημένη για πρόσβαση μέσω βοηθητικής "
-"τεχνολογίας"
-
-#: atk/atkobject.c:404
-msgid "Accessible Parent"
-msgstr "Προσβάσιμο γονικό"
-
-#: atk/atkobject.c:405
-msgid "Parent of the current accessible as returned by atk_object_get_parent()"
-msgstr ""
-"Το γονικό του τρέχοντος προσβάσιμου όπως επιστρέφεται από το "
-"atk_object_get_parent()"
-
-#: atk/atkobject.c:421
-msgid "Accessible Value"
-msgstr "Προσβάσιμη τιμή"
-
-#: atk/atkobject.c:422
-msgid "Is used to notify that the value has changed"
-msgstr "Χρησιμοποιείται για ειδοποίηση ότι η τιμή έχει αλλάξει"
-
-#: atk/atkobject.c:430
-msgid "Accessible Role"
-msgstr "Προσβάσιμος ρόλος"
-
-#: atk/atkobject.c:431
-msgid "The accessible role of this object"
-msgstr "Ο προσβάσιμος ρόλος του αντικειμένου"
-
-#: atk/atkobject.c:438
-msgid "Accessible Layer"
-msgstr "Προσβάσιμο στρώμα"
-
-#: atk/atkobject.c:439
-msgid "The accessible layer of this object"
-msgstr "Το προσβάσιμο στρώμα του αντικειμένου"
-
-#: atk/atkobject.c:447
-msgid "Accessible MDI Value"
-msgstr "Προσβάσιμη τιμή MDI"
-
-#: atk/atkobject.c:448
-msgid "The accessible MDI value of this object"
-msgstr "Η προσβάσιμη τιμή MDI του αντικειμένου"
-
-#: atk/atkobject.c:464
-msgid "Accessible Table Caption"
-msgstr "Προσβάσιμη λεζάντα πίνακα"
-
-#: atk/atkobject.c:465
-msgid ""
-"Is used to notify that the table caption has changed; this property should "
-"not be used. accessible-table-caption-object should be used instead"
-msgstr ""
-"Χρησιμοποιείται για να ενημερώσει ότι η λεζάντα πίνακα έχει αλλάξει· αυτή η "
-"ιδιότητα δεν πρέπει να χρησιμοποιείται. Αντ' αυτής, χρησιμοποιήστε το "
-"accessible-table-caption-object"
-
-#: atk/atkobject.c:479
-msgid "Accessible Table Column Header"
-msgstr "Προσβάσιμη κεφαλίδα στήλης πίνακα"
-
-#: atk/atkobject.c:480
-msgid "Is used to notify that the table column header has changed"
-msgstr ""
-"Χρησιμοποιείται για να ενημερώσει ότι η κεφαλίδα στήλης πίνακα έχει αλλάξει"
-
-#: atk/atkobject.c:495
-msgid "Accessible Table Column Description"
-msgstr "Προσβάσιμη περιγραφή στήλης πίνακα"
-
-#: atk/atkobject.c:496
-msgid "Is used to notify that the table column description has changed"
-msgstr ""
-"Χρησιμοποιείται για να ενημερώσει ότι η περιγραφή στήλης πίνακα έχει αλλάξει"
-
-#: atk/atkobject.c:511
-msgid "Accessible Table Row Header"
-msgstr "Προσβάσιμη κεφαλίδα γραμμής πίνακα"
-
-#: atk/atkobject.c:512
-msgid "Is used to notify that the table row header has changed"
-msgstr ""
-"Χρησιμοποιείται για να ενημερώσει ότι η κεφαλίδα γραμμής πίνακα έχει αλλάξει"
-
-#: atk/atkobject.c:526
-msgid "Accessible Table Row Description"
-msgstr "Προσβάσιμη περιγραφή γραμμής πίνακα"
-
-#: atk/atkobject.c:527
-msgid "Is used to notify that the table row description has changed"
-msgstr ""
-"Χρησιμοποιείται για να ενημερώσει ότι η περιγραφή γραμμής πίνακα έχει αλλάξει"
-
-#: atk/atkobject.c:533
-msgid "Accessible Table Summary"
-msgstr "Προσβάσιμη περίληψη πίνακα"
-
-#: atk/atkobject.c:534
-msgid "Is used to notify that the table summary has changed"
-msgstr "Χρησιμοποιείται για να ενημερώσει ότι η περίληψη πίνακα έχει αλλάξει"
-
-#: atk/atkobject.c:540
-msgid "Accessible Table Caption Object"
-msgstr "Προσβάσιμο αντικείμενο λεζάντας πίνακα"
-
-#: atk/atkobject.c:541
-msgid "Is used to notify that the table caption has changed"
-msgstr "Χρησιμοποιείται για να ενημερώσει ότι η λεζάντα πίνακα έχει αλλάξει"
-
-#: atk/atkobject.c:547
-msgid "Number of Accessible Hypertext Links"
-msgstr "Αριθμός προσβάσιμων συνδέσμων υπερκειμένου"
-
-#: atk/atkobject.c:548
-msgid "The number of links which the current AtkHypertext has"
-msgstr "Ο αριθμός των συνδέσμων που έχει το τρέχον AtkHypertext"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:193
-msgid "very weak"
-msgstr "πολύ ασθενές"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:200
-msgid "weak"
-msgstr "ασθενές"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:207
-msgid "acceptable"
-msgstr "αποδεκτό"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:214
-msgid "strong"
-msgstr "ισχυρό"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:221
-msgid "very strong"
-msgstr "πολύ ισχυρό"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:229
-msgid "very low"
-msgstr "πολύ χαμηλό"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:237
-msgid "medium"
-msgstr "μεσαίο"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:245
-msgid "high"
-msgstr "υψηλό"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:253
-msgid "very high"
-msgstr "πολύ υψηλό"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:261
-msgid "very bad"
-msgstr "πολύ κακό"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:269
-msgid "bad"
-msgstr "κακό"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:277
-msgid "good"
-msgstr "καλό"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:285
-msgid "very good"
-msgstr "πολύ καλό"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:293
-msgid "best"
-msgstr "το καλύτερο"
-
-#: atspi/atspi-component.c:352 atspi/atspi-misc.c:1077 atspi/atspi-value.c:123
-msgid "The application no longer exists"
-msgstr "Η εφαρμογή δεν υπάρχει πλέον"
+#~ msgid "push button"
+#~ msgstr "πιεζόμενο κουμπί"
#~ msgid "Attempted synchronous call where prohibited"
#~ msgstr "Απόπειρα συγχρονισμένης κλήσης όπου απαγορεύεται"
diff --git a/po/en_GB.po b/po/en_GB.po
index 75cf5e3..44803f8 100644
--- a/po/en_GB.po
+++ b/po/en_GB.po
@@ -9,822 +9,830 @@
# This file is distributed under the same license as the atk package.
# Abigail Brady , Bastien Nocera ,
# Gareth Owen 2004.
-# Bruce Cowan , 2011.
+# Bruce Cowan , 2011-2024.
+# Andi Chandler , 2024.
#, fuzzy
msgid ""
msgstr ""
-"#-#-#-#-# en_GB.po (at-spi2-core) #-#-#-#-#\n"
-"Project-Id-Version: at-spi2-core\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=at-"
-"spi&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2014-02-03 23:50+0000\n"
-"PO-Revision-Date: 2016-09-18 12:38+0200\n"
-"Last-Translator: David King \n"
-"Language-Team: British English \n"
-"Language: en_GB\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Virtaal 0.6.1\n"
-"#-#-#-#-# en_GB.po (atk) #-#-#-#-#\n"
"Project-Id-Version: atk\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
-"product=atk&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2016-08-15 08:36+0000\n"
-"PO-Revision-Date: 2016-09-18 12:37+0200\n"
-"Last-Translator: David King \n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/at-spi2-core/issues/\n"
+"POT-Creation-Date: 2024-08-22 14:17+0000\n"
+"PO-Revision-Date: 2024-08-31 11:39+0100\n"
+"Last-Translator: Bruce Cowan \n"
"Language-Team: British English \n"
"Language: en_GB\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"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Poedit 3.4.4\n"
"X-Generator: Virtaal 0.7.1-beta1\n"
-#: ../atspi/atspi-component.c:325 ../atspi/atspi-misc.c:1034
-#: ../atspi/atspi-value.c:111
-msgid "The application no longer exists"
-msgstr "The application no longer exists"
-
-#: ../atspi/atspi-misc.c:1777
-msgid "Attempted synchronous call where prohibited"
-msgstr "Attempted synchronous call where prohibited"
-
-#: atk/atkhyperlink.c:126
+#: atk/atkhyperlink.c:127
msgid "Selected Link"
msgstr "Selected Link"
-#: atk/atkhyperlink.c:127
+#: atk/atkhyperlink.c:128
msgid "Specifies whether the AtkHyperlink object is selected"
msgstr "Specifies whether the AtkHyperlink object is selected"
-#: atk/atkhyperlink.c:133
+#: atk/atkhyperlink.c:134
msgid "Number of Anchors"
msgstr "Number of Anchors"
-#: atk/atkhyperlink.c:134
+#: atk/atkhyperlink.c:135
msgid "The number of anchors associated with the AtkHyperlink object"
msgstr "The number of anchors associated with the AtkHyperlink object"
-#: atk/atkhyperlink.c:142
+#: atk/atkhyperlink.c:143
msgid "End index"
msgstr "End index"
-#: atk/atkhyperlink.c:143
+#: atk/atkhyperlink.c:144
msgid "The end index of the AtkHyperlink object"
msgstr "The end index of the AtkHyperlink object"
-#: atk/atkhyperlink.c:151
+#: atk/atkhyperlink.c:152
msgid "Start index"
msgstr "Start index"
-#: atk/atkhyperlink.c:152
+#: atk/atkhyperlink.c:153
msgid "The start index of the AtkHyperlink object"
msgstr "The start index of the AtkHyperlink object"
-#: atk/atkobject.c:97
+#: atk/atkobject.c:273
+msgid "Accessible Name"
+msgstr "Accessible Name"
+
+#: atk/atkobject.c:274
+msgid "Object instance’s name formatted for assistive technology access"
+msgstr "Object instance’s name formatted for assistive technology access"
+
+#: atk/atkobject.c:280
+msgid "Accessible Description"
+msgstr "Accessible Description"
+
+#: atk/atkobject.c:281
+msgid "Description of an object, formatted for assistive technology access"
+msgstr "Description of an object, formatted for assistive technology access"
+
+#: atk/atkobject.c:287
+msgid "Accessible Parent"
+msgstr "Accessible Parent"
+
+#: atk/atkobject.c:288
+msgid "Parent of the current accessible as returned by atk_object_get_parent()"
+msgstr ""
+"Parent of the current accessible as returned by atk_object_get_parent()"
+
+#: atk/atkobject.c:304
+msgid "Accessible Value"
+msgstr "Accessible Value"
+
+#: atk/atkobject.c:305
+msgid "Is used to notify that the value has changed"
+msgstr "Is used to notify that the value has changed"
+
+#: atk/atkobject.c:313
+msgid "Accessible Role"
+msgstr "Accessible Role"
+
+#: atk/atkobject.c:314
+msgid "The accessible role of this object"
+msgstr "The accessible role of this object"
+
+#: atk/atkobject.c:321
+msgid "Accessible Layer"
+msgstr "Accessible Layer"
+
+#: atk/atkobject.c:322
+msgid "The accessible layer of this object"
+msgstr "The accessible layer of this object"
+
+#: atk/atkobject.c:330
+msgid "Accessible MDI Value"
+msgstr "Accessible MDI Value"
+
+#: atk/atkobject.c:331
+msgid "The accessible MDI value of this object"
+msgstr "The accessible MDI value of this object"
+
+#: atk/atkobject.c:347
+msgid "Accessible Table Caption"
+msgstr "Accessible Table Caption"
+
+#: atk/atkobject.c:348
+msgid ""
+"Is used to notify that the table caption has changed; this property should "
+"not be used. accessible-table-caption-object should be used instead"
+msgstr ""
+"Is used to notify that the table caption has changed; this property should "
+"not be used. accessible-table-caption-object should be used instead"
+
+#: atk/atkobject.c:362
+msgid "Accessible Table Column Header"
+msgstr "Accessible Table Column Header"
+
+#: atk/atkobject.c:363
+msgid "Is used to notify that the table column header has changed"
+msgstr "Is used to notify that the table column header has changed"
+
+#: atk/atkobject.c:378
+msgid "Accessible Table Column Description"
+msgstr "Accessible Table Column Description"
+
+#: atk/atkobject.c:379
+msgid "Is used to notify that the table column description has changed"
+msgstr "Is used to notify that the table column description has changed"
+
+#: atk/atkobject.c:394
+msgid "Accessible Table Row Header"
+msgstr "Accessible Table Row Header"
+
+#: atk/atkobject.c:395
+msgid "Is used to notify that the table row header has changed"
+msgstr "Is used to notify that the table row header has changed"
+
+#: atk/atkobject.c:409
+msgid "Accessible Table Row Description"
+msgstr "Accessible Table Row Description"
+
+#: atk/atkobject.c:410
+msgid "Is used to notify that the table row description has changed"
+msgstr "Is used to notify that the table row description has changed"
+
+#: atk/atkobject.c:416
+msgid "Accessible Table Summary"
+msgstr "Accessible Table Summary"
+
+#: atk/atkobject.c:417
+msgid "Is used to notify that the table summary has changed"
+msgstr "Is used to notify that the table summary has changed"
+
+#: atk/atkobject.c:423
+msgid "Accessible Table Caption Object"
+msgstr "Accessible Table Caption Object"
+
+#: atk/atkobject.c:424
+msgid "Is used to notify that the table caption has changed"
+msgstr "Is used to notify that the table caption has changed"
+
+#: atk/atkobject.c:430
+msgid "Number of Accessible Hypertext Links"
+msgstr "Number of Accessible Hypertext Links"
+
+#: atk/atkobject.c:431
+msgid "The number of links which the current AtkHypertext has"
+msgstr "The number of links which the current AtkHypertext has"
+
+#: atk/atkobject.c:440
+msgid "Accessible ID"
+msgstr "Accessible ID"
+
+#: atk/atkobject.c:441
+msgid "ID for the accessible; useful for automated testing"
+msgstr "ID for the accessible; useful for automated testing"
+
+#: atk/atkobject.c:447
+msgid "Help text"
+msgstr "Help text"
+
+#: atk/atkobject.c:448
+msgid "Help text associated with the accessible"
+msgstr "Help text associated with the accessible"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:193
+msgid "very weak"
+msgstr "very weak"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:200
+msgid "weak"
+msgstr "weak"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:207
+msgid "acceptable"
+msgstr "acceptable"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:214
+msgid "strong"
+msgstr "strong"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:221
+msgid "very strong"
+msgstr "very strong"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:229
+msgid "very low"
+msgstr "very low"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:237
+msgid "medium"
+msgstr "medium"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:245
+msgid "high"
+msgstr "high"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:253
+msgid "very high"
+msgstr "very high"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:261
+msgid "very bad"
+msgstr "very bad"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:269
+msgid "bad"
+msgstr "bad"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:277
+msgid "good"
+msgstr "good"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:285
+msgid "very good"
+msgstr "very good"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:293
+msgid "best"
+msgstr "best"
+
+#: atspi/atspi-component.c:352 atspi/atspi-misc.c:1233 atspi/atspi-value.c:123
+msgid "The application no longer exists"
+msgstr "The application no longer exists"
+
+#: atspi/atspi-misc.c:49
msgid "invalid"
msgstr "invalid"
-#: atk/atkobject.c:98
+#: atspi/atspi-misc.c:50
msgid "accelerator label"
msgstr "accelerator label"
-#: atk/atkobject.c:99
+#: atspi/atspi-misc.c:51
msgid "alert"
msgstr "alert"
-#: atk/atkobject.c:100
+#: atspi/atspi-misc.c:52
msgid "animation"
msgstr "animation"
-#: atk/atkobject.c:101
+#: atspi/atspi-misc.c:53
msgid "arrow"
msgstr "arrow"
-#: atk/atkobject.c:102
+#: atspi/atspi-misc.c:54
msgid "calendar"
msgstr "calendar"
-#: atk/atkobject.c:103
+#: atspi/atspi-misc.c:55
msgid "canvas"
msgstr "canvas"
-#: atk/atkobject.c:104
+#: atspi/atspi-misc.c:56
msgid "check box"
-msgstr "check box"
+msgstr "tick box"
-#: atk/atkobject.c:105
+#: atspi/atspi-misc.c:57
msgid "check menu item"
-msgstr "check menu item"
+msgstr "tick menu item"
-#: atk/atkobject.c:106
+#: atspi/atspi-misc.c:58
msgid "color chooser"
msgstr "colour chooser"
-#: atk/atkobject.c:107
+#: atspi/atspi-misc.c:59
msgid "column header"
msgstr "column header"
-#: atk/atkobject.c:108
+#: atspi/atspi-misc.c:60
msgid "combo box"
msgstr "combo box"
-#: atk/atkobject.c:109
+#: atspi/atspi-misc.c:61
msgid "dateeditor"
msgstr "dateeditor"
-#: atk/atkobject.c:110
+#: atspi/atspi-misc.c:62
msgid "desktop icon"
msgstr "desktop icon"
-#: atk/atkobject.c:111
+#: atspi/atspi-misc.c:63
msgid "desktop frame"
msgstr "desktop frame"
-#: atk/atkobject.c:112
+#: atspi/atspi-misc.c:64
msgid "dial"
msgstr "dial"
-#: atk/atkobject.c:113
+#: atspi/atspi-misc.c:65
msgid "dialog"
msgstr "dialogue"
-#: atk/atkobject.c:114
+#: atspi/atspi-misc.c:66
msgid "directory pane"
msgstr "directory pane"
-#: atk/atkobject.c:115
+#: atspi/atspi-misc.c:67
msgid "drawing area"
msgstr "drawing area"
-#: atk/atkobject.c:116
+#: atspi/atspi-misc.c:68
msgid "file chooser"
msgstr "file chooser"
-#: atk/atkobject.c:117
+#: atspi/atspi-misc.c:69
msgid "filler"
msgstr "filler"
#. I know it looks wrong but that is what Java returns
-#: atk/atkobject.c:119
+#: atspi/atspi-misc.c:71
msgid "fontchooser"
msgstr "fontchooser"
-#: atk/atkobject.c:120
+#: atspi/atspi-misc.c:72
msgid "frame"
msgstr "frame"
-#: atk/atkobject.c:121
+#: atspi/atspi-misc.c:73
msgid "glass pane"
msgstr "glass pane"
-#: atk/atkobject.c:122
+#: atspi/atspi-misc.c:74
msgid "html container"
msgstr "html container"
-#: atk/atkobject.c:123
+#: atspi/atspi-misc.c:75
msgid "icon"
msgstr "icon"
-#: atk/atkobject.c:124
+#: atspi/atspi-misc.c:76
msgid "image"
msgstr "image"
-#: atk/atkobject.c:125
+#: atspi/atspi-misc.c:77
msgid "internal frame"
msgstr "internal frame"
-#: atk/atkobject.c:126
+#: atspi/atspi-misc.c:78
msgid "label"
msgstr "label"
-#: atk/atkobject.c:127
+#: atspi/atspi-misc.c:79
msgid "layered pane"
msgstr "layered pane"
-#: atk/atkobject.c:128
+#: atspi/atspi-misc.c:80
msgid "list"
msgstr "list"
-#: atk/atkobject.c:129
+#: atspi/atspi-misc.c:81
msgid "list item"
msgstr "list item"
-#: atk/atkobject.c:130
+#: atspi/atspi-misc.c:82
msgid "menu"
msgstr "menu"
-#: atk/atkobject.c:131
+#: atspi/atspi-misc.c:83
msgid "menu bar"
msgstr "menu bar"
-#: atk/atkobject.c:132
+#: atspi/atspi-misc.c:84
+msgid "menu button"
+msgstr "menu button"
+
+#: atspi/atspi-misc.c:85
msgid "menu item"
msgstr "menu item"
-#: atk/atkobject.c:133
+#: atspi/atspi-misc.c:86
msgid "option pane"
msgstr "option pane"
-#: atk/atkobject.c:134
+#: atspi/atspi-misc.c:87
msgid "page tab"
msgstr "page tab"
-#: atk/atkobject.c:135
+#: atspi/atspi-misc.c:88
msgid "page tab list"
msgstr "page tab list"
-#: atk/atkobject.c:136
+#: atspi/atspi-misc.c:89
msgid "panel"
msgstr "panel"
-#: atk/atkobject.c:137
+#: atspi/atspi-misc.c:90
msgid "password text"
msgstr "password text"
-#: atk/atkobject.c:138
+#: atspi/atspi-misc.c:91
msgid "popup menu"
msgstr "popup menu"
-#: atk/atkobject.c:139
+#: atspi/atspi-misc.c:92
msgid "progress bar"
msgstr "progress bar"
-#: atk/atkobject.c:140
-msgid "push button"
-msgstr "push button"
+#: atspi/atspi-misc.c:93
+msgid "button"
+msgstr "button"
-#: atk/atkobject.c:141
+#: atspi/atspi-misc.c:94
msgid "radio button"
msgstr "radio button"
-#: atk/atkobject.c:142
+#: atspi/atspi-misc.c:95
msgid "radio menu item"
msgstr "radio menu item"
-#: atk/atkobject.c:143
+#: atspi/atspi-misc.c:96
msgid "root pane"
msgstr "root pane"
-#: atk/atkobject.c:144
+#: atspi/atspi-misc.c:97
msgid "row header"
msgstr "row header"
-#: atk/atkobject.c:145
+#: atspi/atspi-misc.c:98
msgid "scroll bar"
msgstr "scroll bar"
-#: atk/atkobject.c:146
+#: atspi/atspi-misc.c:99
msgid "scroll pane"
msgstr "scroll pane"
-#: atk/atkobject.c:147
+#: atspi/atspi-misc.c:100
msgid "separator"
msgstr "separator"
-#: atk/atkobject.c:148
+#: atspi/atspi-misc.c:101
msgid "slider"
msgstr "slider"
-#: atk/atkobject.c:149
+#: atspi/atspi-misc.c:102
msgid "split pane"
msgstr "split pane"
-#: atk/atkobject.c:150
+#: atspi/atspi-misc.c:103
msgid "spin button"
msgstr "spin button"
-#: atk/atkobject.c:151
+#: atspi/atspi-misc.c:104
msgid "statusbar"
msgstr "statusbar"
-#: atk/atkobject.c:152
+#: atspi/atspi-misc.c:105
msgid "table"
msgstr "table"
-#: atk/atkobject.c:153
+#: atspi/atspi-misc.c:106
msgid "table cell"
msgstr "table cell"
-#: atk/atkobject.c:154
+#: atspi/atspi-misc.c:107
msgid "table column header"
msgstr "table column header"
-#: atk/atkobject.c:155
+#: atspi/atspi-misc.c:108
msgid "table row header"
msgstr "table row header"
-#: atk/atkobject.c:156
+#: atspi/atspi-misc.c:109
msgid "tear off menu item"
msgstr "tear off menu item"
-#: atk/atkobject.c:157
+#: atspi/atspi-misc.c:110
msgid "terminal"
msgstr "terminal"
-#: atk/atkobject.c:158
+#: atspi/atspi-misc.c:111
msgid "text"
msgstr "text"
-#: atk/atkobject.c:159
+#: atspi/atspi-misc.c:112
msgid "toggle button"
msgstr "toggle button"
-#: atk/atkobject.c:160
+#: atspi/atspi-misc.c:113
msgid "tool bar"
msgstr "tool bar"
-#: atk/atkobject.c:161
+#: atspi/atspi-misc.c:114
msgid "tool tip"
msgstr "tool tip"
-#: atk/atkobject.c:162
+#: atspi/atspi-misc.c:115
msgid "tree"
msgstr "tree"
-#: atk/atkobject.c:163
+#: atspi/atspi-misc.c:116
msgid "tree table"
msgstr "tree table"
-#: atk/atkobject.c:164
+#: atspi/atspi-misc.c:117
msgid "unknown"
msgstr "unknown"
-#: atk/atkobject.c:165
+#: atspi/atspi-misc.c:118
msgid "viewport"
msgstr "viewport"
-#: atk/atkobject.c:166
+#: atspi/atspi-misc.c:119
msgid "window"
msgstr "window"
-#: atk/atkobject.c:167
+#: atspi/atspi-misc.c:120
msgid "header"
msgstr "header"
-#: atk/atkobject.c:168
+#: atspi/atspi-misc.c:121
msgid "footer"
msgstr "footer"
-#: atk/atkobject.c:169
+#: atspi/atspi-misc.c:122
msgid "paragraph"
msgstr "paragraph"
-#: atk/atkobject.c:170
+#: atspi/atspi-misc.c:123
msgid "ruler"
msgstr "ruler"
-#: atk/atkobject.c:171
+#: atspi/atspi-misc.c:124
msgid "application"
msgstr "application"
-#: atk/atkobject.c:172
+#: atspi/atspi-misc.c:125
msgid "autocomplete"
msgstr "autocomplete"
-#: atk/atkobject.c:173
+#: atspi/atspi-misc.c:126
msgid "edit bar"
msgstr "edit bar"
-#: atk/atkobject.c:174
+#: atspi/atspi-misc.c:127
msgid "embedded component"
msgstr "embedded component"
-#: atk/atkobject.c:175
+#: atspi/atspi-misc.c:128
msgid "entry"
msgstr "entry"
-#: atk/atkobject.c:176
+#: atspi/atspi-misc.c:129
msgid "chart"
msgstr "chart"
-#: atk/atkobject.c:177
+#: atspi/atspi-misc.c:130
msgid "caption"
msgstr "caption"
-#: atk/atkobject.c:178
+#: atspi/atspi-misc.c:131
msgid "document frame"
msgstr "document frame"
-#: atk/atkobject.c:179
+#: atspi/atspi-misc.c:132
msgid "heading"
msgstr "heading"
-#: atk/atkobject.c:180
+#: atspi/atspi-misc.c:133
msgid "page"
msgstr "page"
-#: atk/atkobject.c:181
+#: atspi/atspi-misc.c:134
msgid "section"
msgstr "section"
-#: atk/atkobject.c:182
+#: atspi/atspi-misc.c:135
msgid "redundant object"
msgstr "redundant object"
-#: atk/atkobject.c:183
+#: atspi/atspi-misc.c:136
msgid "form"
msgstr "form"
-#: atk/atkobject.c:184
+#: atspi/atspi-misc.c:137
msgid "link"
msgstr "link"
-#: atk/atkobject.c:185
+#: atspi/atspi-misc.c:138
msgid "input method window"
msgstr "input method window"
-#: atk/atkobject.c:186
+#: atspi/atspi-misc.c:139
msgid "table row"
msgstr "table row"
-#: atk/atkobject.c:187
+#: atspi/atspi-misc.c:140
msgid "tree item"
msgstr "tree item"
-#: atk/atkobject.c:188
+#: atspi/atspi-misc.c:141
msgid "document spreadsheet"
msgstr "document spreadsheet"
-#: atk/atkobject.c:189
+#: atspi/atspi-misc.c:142
msgid "document presentation"
msgstr "document presentation"
-#: atk/atkobject.c:190
+#: atspi/atspi-misc.c:143
msgid "document text"
msgstr "document text"
-#: atk/atkobject.c:191
+#: atspi/atspi-misc.c:144
msgid "document web"
msgstr "document web"
-#: atk/atkobject.c:192
+#: atspi/atspi-misc.c:145
msgid "document email"
-msgstr "document e-mail"
+msgstr "document email"
-#: atk/atkobject.c:193
+#: atspi/atspi-misc.c:146
msgid "comment"
msgstr "comment"
-#: atk/atkobject.c:194
+#: atspi/atspi-misc.c:147
msgid "list box"
msgstr "list box"
-#: atk/atkobject.c:195
+#: atspi/atspi-misc.c:148
msgid "grouping"
msgstr "grouping"
-#: atk/atkobject.c:196
+#: atspi/atspi-misc.c:149
msgid "image map"
msgstr "image map"
-#: atk/atkobject.c:197
+#: atspi/atspi-misc.c:150
msgid "notification"
msgstr "notification"
-#: atk/atkobject.c:198
+#: atspi/atspi-misc.c:151
msgid "info bar"
msgstr "info bar"
-#: atk/atkobject.c:199
+#: atspi/atspi-misc.c:152
msgid "level bar"
msgstr "level bar"
-#: atk/atkobject.c:200
+#: atspi/atspi-misc.c:153
msgid "title bar"
msgstr "title bar"
-#: atk/atkobject.c:201
+#: atspi/atspi-misc.c:154
msgid "block quote"
msgstr "block quote"
-#: atk/atkobject.c:202
+#: atspi/atspi-misc.c:155
msgid "audio"
msgstr "audio"
-#: atk/atkobject.c:203
+#: atspi/atspi-misc.c:156
msgid "video"
msgstr "video"
-#: atk/atkobject.c:204
+#: atspi/atspi-misc.c:157
msgid "definition"
msgstr "definition"
-#: atk/atkobject.c:205
+#: atspi/atspi-misc.c:158
msgid "article"
msgstr "article"
-#: atk/atkobject.c:206
+#: atspi/atspi-misc.c:159
msgid "landmark"
msgstr "landmark"
-#: atk/atkobject.c:207
+#: atspi/atspi-misc.c:160
msgid "log"
msgstr "log"
-#: atk/atkobject.c:208
+#: atspi/atspi-misc.c:161
msgid "marquee"
msgstr "marquee"
-#: atk/atkobject.c:209
+#: atspi/atspi-misc.c:162
msgid "math"
msgstr "math"
-#: atk/atkobject.c:210
+#: atspi/atspi-misc.c:163
msgid "rating"
msgstr "rating"
-#: atk/atkobject.c:211
+#: atspi/atspi-misc.c:164
msgid "timer"
msgstr "timer"
-#: atk/atkobject.c:212
+#: atspi/atspi-misc.c:165
msgid "description list"
msgstr "description list"
-#: atk/atkobject.c:213
+#: atspi/atspi-misc.c:166
msgid "description term"
msgstr "description term"
-#: atk/atkobject.c:214
+#: atspi/atspi-misc.c:167
msgid "description value"
msgstr "description value"
-#: atk/atkobject.c:372
-msgid "Accessible Name"
-msgstr "Accessible Name"
-
-#: atk/atkobject.c:373
-msgid "Object instance’s name formatted for assistive technology access"
-msgstr "Object instance’s name formatted for assistive technology access"
-
-#: atk/atkobject.c:379
-msgid "Accessible Description"
-msgstr "Accessible Description"
-
-#: atk/atkobject.c:380
-msgid "Description of an object, formatted for assistive technology access"
-msgstr "Description of an object, formatted for assistive technology access"
-
-#: atk/atkobject.c:386
-msgid "Accessible Parent"
-msgstr "Accessible Parent"
-
-#: atk/atkobject.c:387
-msgid "Parent of the current accessible as returned by atk_object_get_parent()"
-msgstr ""
-"Parent of the current accessible as returned by atk_object_get_parent()"
-
-#: atk/atkobject.c:403
-msgid "Accessible Value"
-msgstr "Accessible Value"
-
-#: atk/atkobject.c:404
-msgid "Is used to notify that the value has changed"
-msgstr "Is used to notify that the value has changed"
-
-#: atk/atkobject.c:412
-msgid "Accessible Role"
-msgstr "Accessible Role"
-
-#: atk/atkobject.c:413
-msgid "The accessible role of this object"
-msgstr "The accessible role of this object"
-
-#: atk/atkobject.c:421
-msgid "Accessible Layer"
-msgstr "Accessible Layer"
-
-#: atk/atkobject.c:422
-msgid "The accessible layer of this object"
-msgstr "The accessible layer of this object"
-
-#: atk/atkobject.c:430
-msgid "Accessible MDI Value"
-msgstr "Accessible MDI Value"
-
-#: atk/atkobject.c:431
-msgid "The accessible MDI value of this object"
-msgstr "The accessible MDI value of this object"
-
-#: atk/atkobject.c:447
-msgid "Accessible Table Caption"
-msgstr "Accessible Table Caption"
-
-#: atk/atkobject.c:448
-msgid ""
-"Is used to notify that the table caption has changed; this property should "
-"not be used. accessible-table-caption-object should be used instead"
-msgstr ""
-"Is used to notify that the table caption has changed; this property should "
-"not be used. accessible-table-caption-object should be used instead"
-
-#: atk/atkobject.c:462
-msgid "Accessible Table Column Header"
-msgstr "Accessible Table Column Header"
-
-#: atk/atkobject.c:463
-msgid "Is used to notify that the table column header has changed"
-msgstr "Is used to notify that the table column header has changed"
-
-#: atk/atkobject.c:478
-msgid "Accessible Table Column Description"
-msgstr "Accessible Table Column Description"
-
-#: atk/atkobject.c:479
-msgid "Is used to notify that the table column description has changed"
-msgstr "Is used to notify that the table column description has changed"
-
-#: atk/atkobject.c:494
-msgid "Accessible Table Row Header"
-msgstr "Accessible Table Row Header"
-
-#: atk/atkobject.c:495
-msgid "Is used to notify that the table row header has changed"
-msgstr "Is used to notify that the table row header has changed"
-
-#: atk/atkobject.c:509
-msgid "Accessible Table Row Description"
-msgstr "Accessible Table Row Description"
-
-#: atk/atkobject.c:510
-msgid "Is used to notify that the table row description has changed"
-msgstr "Is used to notify that the table row description has changed"
-
-#: atk/atkobject.c:516
-msgid "Accessible Table Summary"
-msgstr "Accessible Table Summary"
-
-#: atk/atkobject.c:517
-msgid "Is used to notify that the table summary has changed"
-msgstr "Is used to notify that the table summary has changed"
-
-#: atk/atkobject.c:523
-msgid "Accessible Table Caption Object"
-msgstr "Accessible Table Caption Object"
-
-#: atk/atkobject.c:524
-msgid "Is used to notify that the table caption has changed"
-msgstr "Is used to notify that the table caption has changed"
-
-#: atk/atkobject.c:530
-msgid "Number of Accessible Hypertext Links"
-msgstr "Number of Accessible Hypertext Links"
-
-#: atk/atkobject.c:531
-msgid "The number of links which the current AtkHypertext has"
-msgstr "The number of links which the current AtkHypertext has"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:194
-msgid "very weak"
-msgstr "very weak"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:201
-msgid "weak"
-msgstr "weak"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:208
-msgid "acceptable"
-msgstr "acceptable"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:215
-msgid "strong"
-msgstr "strong"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:222
-msgid "very strong"
-msgstr "very strong"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:230
-msgid "very low"
-msgstr "very low"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:238
-msgid "medium"
-msgstr "medium"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:246
-msgid "high"
-msgstr "high"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:254
-msgid "very high"
-msgstr "very high"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:262
-msgid "very bad"
-msgstr "very bad"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:270
-msgid "bad"
-msgstr "bad"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:278
-msgid "good"
-msgstr "good"
+#~ msgid "push button"
+#~ msgstr "push button"
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:286
-msgid "very good"
-msgstr "very good"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:294
-msgid "best"
-msgstr "best"
+#~ msgid "Attempted synchronous call where prohibited"
+#~ msgstr "Attempted synchronous call where prohibited"
#~ msgid "AT-SPI: Unknown signature %s for RemoveAccessible"
#~ msgstr "AT-SPI: Unknown signature %s for RemoveAccessible"
diff --git a/po/eo.po b/po/eo.po
index dc26736..7ec5f23 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -1,14 +1,14 @@
# Esperanto translation for at-spi2-core.
# Copyright (C) 2011 Free Software Foundation, Inc.
# This file is distributed under the same license as the at-spi2-core package.
-# Kristjan SCHMIDT , 2011-2023.
+# Kristjan SCHMIDT , 2011-2025.
#
msgid ""
msgstr ""
"Project-Id-Version: atk 1.3.4\n"
-"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/at-spi2-core/issues\n"
-"POT-Creation-Date: 2023-08-05 16:00+0000\n"
-"PO-Revision-Date: 2023-09-15 19:23+0200\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/at-spi2-core/issues/\n"
+"POT-Creation-Date: 2025-09-17 02:41+0000\n"
+"PO-Revision-Date: 2025-09-20 12:31+0200\n"
"Last-Translator: Kristjan SCHMIDT \n"
"Language-Team: Esperanto \n"
"Language: eo\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
-"X-Generator: Gtranslator 42.0\n"
+"X-Generator: Gtranslator 48.0\n"
"X-Project-Style: gnome\n"
#: atk/atkhyperlink.c:127
@@ -51,130 +51,145 @@ msgstr "Komencindekso"
msgid "The start index of the AtkHyperlink object"
msgstr "La komencindekso de la AtkHyperlink-objekto"
-#: atk/atkobject.c:268
+#: atk/atkobject.c:273
msgid "Accessible Name"
msgstr "Atingebla nomo"
-#: atk/atkobject.c:269
+#: atk/atkobject.c:274
msgid "Object instance’s name formatted for assistive technology access"
msgstr "Nomo de objekta eksemplero formatita por asist-teknologia atingo"
-#: atk/atkobject.c:275
+#: atk/atkobject.c:280
msgid "Accessible Description"
msgstr "Atingebla priskribo"
-#: atk/atkobject.c:276
+#: atk/atkobject.c:281
msgid "Description of an object, formatted for assistive technology access"
-msgstr ""
-"Priskribo de objekto, formatita por formatita por asist-teknologia atingo"
+msgstr "Priskribo de objekto, formatita por asist-teknologia atingo"
-#: atk/atkobject.c:282
+#: atk/atkobject.c:287
msgid "Accessible Parent"
msgstr "Atingebla gepatro"
-#: atk/atkobject.c:283
+#: atk/atkobject.c:288
msgid "Parent of the current accessible as returned by atk_object_get_parent()"
-msgstr "Gepatro de la nuna alireblo kiel resendita de atk_object_get_parent()"
+msgstr "Gepatro de la aktuala alireblaĵo kiel redonita de atk_object_get_parent()"
-#: atk/atkobject.c:299
+#: atk/atkobject.c:304
msgid "Accessible Value"
msgstr "Atingebla valoro"
-#: atk/atkobject.c:300
+#: atk/atkobject.c:305
msgid "Is used to notify that the value has changed"
-msgstr "Uzita por avizi ke la valororo ŝanĝiĝis"
+msgstr "Uzata por avizi, ke la valoro ŝanĝiĝis"
-#: atk/atkobject.c:308
+#: atk/atkobject.c:313
msgid "Accessible Role"
msgstr "Atingebla rolo"
-#: atk/atkobject.c:309
+#: atk/atkobject.c:314
msgid "The accessible role of this object"
msgstr "La atingebla rolo de ĉi tiu objekto"
-#: atk/atkobject.c:316
+#: atk/atkobject.c:321
msgid "Accessible Layer"
msgstr "Atingebla tavolo"
-#: atk/atkobject.c:317
+#: atk/atkobject.c:322
msgid "The accessible layer of this object"
msgstr "La atingebla tavolo de ĉi tiu objekto"
-#: atk/atkobject.c:325
+#: atk/atkobject.c:330
msgid "Accessible MDI Value"
msgstr "Atingebla MDI-valoro"
-#: atk/atkobject.c:326
+#: atk/atkobject.c:331
msgid "The accessible MDI value of this object"
msgstr "La atingebla MDI-valoro de ĉi tiu objekto"
-#: atk/atkobject.c:342
+#: atk/atkobject.c:347
msgid "Accessible Table Caption"
msgstr "Atingebla tabela apudskribo"
-#: atk/atkobject.c:343
+#: atk/atkobject.c:348
msgid ""
"Is used to notify that the table caption has changed; this property should "
"not be used. accessible-table-caption-object should be used instead"
msgstr ""
-"Uzita por avizi ke la tabela apudskribo ŝanĝiĝis; ĉi tiu eco ne devas esti "
-"uzita. la \"accessible-table-caption\"-objekto devus esti uzita anstataŭ"
+"Uzata por avizi, ke la tabela apudskribo ŝanĝiĝis; ĉi tiu eco ne uziĝu. "
+"Anstataŭe uzu 'accessible-table-caption-object'"
-#: atk/atkobject.c:357
+#: atk/atkobject.c:362
msgid "Accessible Table Column Header"
msgstr "Atingebla tabela kolumna ĉapo"
-#: atk/atkobject.c:358
+#: atk/atkobject.c:363
msgid "Is used to notify that the table column header has changed"
msgstr "Uzita por avizi ke la tabela kolumna ĉapo ŝanĝiĝis"
-#: atk/atkobject.c:373
+#: atk/atkobject.c:378
msgid "Accessible Table Column Description"
msgstr "Atingebla tabela kolumna priskribo"
-#: atk/atkobject.c:374
+#: atk/atkobject.c:379
msgid "Is used to notify that the table column description has changed"
msgstr "Uzita por avizi ke la tabela kolumna priskribo ŝanĝiĝis"
-#: atk/atkobject.c:389
+#: atk/atkobject.c:394
msgid "Accessible Table Row Header"
msgstr "Atingebla tabela vica ĉapo"
-#: atk/atkobject.c:390
+#: atk/atkobject.c:395
msgid "Is used to notify that the table row header has changed"
msgstr "Uzita por avizi ke la tabela vica ĉapo ŝanĝiĝis"
-#: atk/atkobject.c:404
+#: atk/atkobject.c:409
msgid "Accessible Table Row Description"
msgstr "Atingebla tabela vica priskribo"
-#: atk/atkobject.c:405
+#: atk/atkobject.c:410
msgid "Is used to notify that the table row description has changed"
msgstr "Uzita por avizi ke la tabela vica priskribo ŝanĝiĝis"
-#: atk/atkobject.c:411
+#: atk/atkobject.c:416
msgid "Accessible Table Summary"
msgstr "Atingebla tabela resumo"
-#: atk/atkobject.c:412
+#: atk/atkobject.c:417
msgid "Is used to notify that the table summary has changed"
msgstr "Uzita por avizi ke la tabela resumo ŝanĝiĝis"
-#: atk/atkobject.c:418
+#: atk/atkobject.c:423
msgid "Accessible Table Caption Object"
msgstr "Atingebla tabela apudskriba objekto"
-#: atk/atkobject.c:419
+#: atk/atkobject.c:424
msgid "Is used to notify that the table caption has changed"
msgstr "Uzita por avizi ke la tabela apudskribo ŝanĝiĝis"
-#: atk/atkobject.c:425
+#: atk/atkobject.c:430
msgid "Number of Accessible Hypertext Links"
msgstr "Nombro da atingeblaj hipertekstaj ligiloj"
-#: atk/atkobject.c:426
+#: atk/atkobject.c:431
msgid "The number of links which the current AtkHypertext has"
-msgstr "La nombro da ligiloj kiujn havas la aktuala \"AtkHypertext\""
+msgstr "La nombro da ligiloj, kiujn havas la aktuala AtkHypertext"
+
+#: atk/atkobject.c:440
+msgid "Accessible ID"
+msgstr "Atingebla identigilo"
+
+#: atk/atkobject.c:441
+msgid "ID for the accessible; useful for automated testing"
+msgstr "Identigilo por la alireblaĵo; utila por aŭtomatigitaj testoj"
+
+#: atk/atkobject.c:447
+msgid "Help text"
+msgstr "Helpa teksto"
+
+#: atk/atkobject.c:448
+msgid "Help text associated with the accessible"
+msgstr "Helpa teksto asociita kun la alireblaĵo"
#. Translators: This string describes a range within value-related
#. * widgets such as a password-strength meter. Note that what such a
@@ -325,7 +340,7 @@ msgstr "tre bone"
msgid "best"
msgstr "plej bone"
-#: atspi/atspi-component.c:352 atspi/atspi-misc.c:1229 atspi/atspi-value.c:123
+#: atspi/atspi-component.c:341 atspi/atspi-misc.c:1230 atspi/atspi-value.c:123
msgid "The application no longer exists"
msgstr "La aplikaĵo ne plu ekzistas"
@@ -503,8 +518,8 @@ msgid "progress bar"
msgstr "plenumskalo"
#: atspi/atspi-misc.c:93
-msgid "push button"
-msgstr "prembutono"
+msgid "button"
+msgstr "butono"
#: atspi/atspi-misc.c:94
msgid "radio button"
@@ -551,256 +566,263 @@ msgid "statusbar"
msgstr "statobreto"
#: atspi/atspi-misc.c:105
+msgid "switch"
+msgstr "ŝaltilo"
+
+#: atspi/atspi-misc.c:106
msgid "table"
msgstr "tabelo"
-#: atspi/atspi-misc.c:106
+#: atspi/atspi-misc.c:107
msgid "table cell"
msgstr "tabela ĉelo"
-#: atspi/atspi-misc.c:107
+#: atspi/atspi-misc.c:108
msgid "table column header"
msgstr "tabela kolumna ĉapo"
-#: atspi/atspi-misc.c:108
+#: atspi/atspi-misc.c:109
msgid "table row header"
msgstr "tabela vica ĉapo"
-#: atspi/atspi-misc.c:109
+#: atspi/atspi-misc.c:110
msgid "tear off menu item"
msgstr "deŝirebla menuero"
-#: atspi/atspi-misc.c:110
+#: atspi/atspi-misc.c:111
msgid "terminal"
msgstr "terminalo"
-#: atspi/atspi-misc.c:111
+#: atspi/atspi-misc.c:112
msgid "text"
msgstr "teksto"
-#: atspi/atspi-misc.c:112
+#: atspi/atspi-misc.c:113
msgid "toggle button"
msgstr "baskula butono"
-#: atspi/atspi-misc.c:113
+#: atspi/atspi-misc.c:114
msgid "tool bar"
msgstr "ilobreto"
-#: atspi/atspi-misc.c:114
+#: atspi/atspi-misc.c:115
msgid "tool tip"
msgstr "ŝpruchelpilo"
-#: atspi/atspi-misc.c:115
+#: atspi/atspi-misc.c:116
msgid "tree"
msgstr "arbo"
-#: atspi/atspi-misc.c:116
+#: atspi/atspi-misc.c:117
msgid "tree table"
msgstr "arba tabelo"
-#: atspi/atspi-misc.c:117
+#: atspi/atspi-misc.c:118
msgid "unknown"
msgstr "nekonate"
-#: atspi/atspi-misc.c:118
+#: atspi/atspi-misc.c:119
msgid "viewport"
msgstr "vidujo"
-#: atspi/atspi-misc.c:119
+#: atspi/atspi-misc.c:120
msgid "window"
msgstr "fenestro"
-#: atspi/atspi-misc.c:120
+#: atspi/atspi-misc.c:121
msgid "header"
msgstr "ĉapo"
-#: atspi/atspi-misc.c:121
+#: atspi/atspi-misc.c:122
msgid "footer"
msgstr "paĝopiedo"
-#: atspi/atspi-misc.c:122
+#: atspi/atspi-misc.c:123
msgid "paragraph"
msgstr "alineo"
-#: atspi/atspi-misc.c:123
+#: atspi/atspi-misc.c:124
msgid "ruler"
msgstr "mezurilo"
-#: atspi/atspi-misc.c:124
+#: atspi/atspi-misc.c:125
msgid "application"
msgstr "aplikaĵo"
-#: atspi/atspi-misc.c:125
+#: atspi/atspi-misc.c:126
msgid "autocomplete"
msgstr "aŭtomate kompletigi"
-#: atspi/atspi-misc.c:126
+#: atspi/atspi-misc.c:127
msgid "edit bar"
msgstr "redaktobreto"
-#: atspi/atspi-misc.c:127
+#: atspi/atspi-misc.c:128
msgid "embedded component"
msgstr "enkorpigita komponanto"
-#: atspi/atspi-misc.c:128
+#: atspi/atspi-misc.c:129
msgid "entry"
msgstr "ero"
-#: atspi/atspi-misc.c:129
+#: atspi/atspi-misc.c:130
msgid "chart"
msgstr "diagramo"
-#: atspi/atspi-misc.c:130
+#: atspi/atspi-misc.c:131
msgid "caption"
msgstr "apudskribo"
-#: atspi/atspi-misc.c:131
+#: atspi/atspi-misc.c:132
msgid "document frame"
msgstr "dokumenta framo"
-#: atspi/atspi-misc.c:132
+#: atspi/atspi-misc.c:133
msgid "heading"
msgstr "ĉapo"
-#: atspi/atspi-misc.c:133
+#: atspi/atspi-misc.c:134
msgid "page"
msgstr "paĝo"
-#: atspi/atspi-misc.c:134
+#: atspi/atspi-misc.c:135
msgid "section"
msgstr "sekcio"
-#: atspi/atspi-misc.c:135
+#: atspi/atspi-misc.c:136
msgid "redundant object"
msgstr "redunda objekto"
-#: atspi/atspi-misc.c:136
+#: atspi/atspi-misc.c:137
msgid "form"
msgstr "formularo"
-#: atspi/atspi-misc.c:137
+#: atspi/atspi-misc.c:138
msgid "link"
msgstr "ligilo"
-#: atspi/atspi-misc.c:138
+#: atspi/atspi-misc.c:139
msgid "input method window"
msgstr "enigmetodejo"
-#: atspi/atspi-misc.c:139
+#: atspi/atspi-misc.c:140
msgid "table row"
msgstr "tabela vico"
-#: atspi/atspi-misc.c:140
+#: atspi/atspi-misc.c:141
msgid "tree item"
msgstr "arba elemento"
-#: atspi/atspi-misc.c:141
+#: atspi/atspi-misc.c:142
msgid "document spreadsheet"
msgstr "tabela dokumento"
-#: atspi/atspi-misc.c:142
+#: atspi/atspi-misc.c:143
msgid "document presentation"
msgstr "prezentaĵo"
-#: atspi/atspi-misc.c:143
+#: atspi/atspi-misc.c:144
msgid "document text"
msgstr "dokumenta teksto"
-#: atspi/atspi-misc.c:144
+#: atspi/atspi-misc.c:145
msgid "document web"
msgstr "retpaĝo"
-#: atspi/atspi-misc.c:145
+#: atspi/atspi-misc.c:146
msgid "document email"
msgstr "retpoŝt-mesaĝo"
-#: atspi/atspi-misc.c:146
+#: atspi/atspi-misc.c:147
msgid "comment"
msgstr "komento"
-#: atspi/atspi-misc.c:147
+#: atspi/atspi-misc.c:148
msgid "list box"
msgstr "listujo"
-#: atspi/atspi-misc.c:148
+#: atspi/atspi-misc.c:149
msgid "grouping"
msgstr "grupado"
-#: atspi/atspi-misc.c:149
+#: atspi/atspi-misc.c:150
msgid "image map"
msgstr "bildomapo"
-#: atspi/atspi-misc.c:150
+#: atspi/atspi-misc.c:151
msgid "notification"
msgstr "sciigo"
-#: atspi/atspi-misc.c:151
+#: atspi/atspi-misc.c:152
msgid "info bar"
msgstr "informobreto"
-#: atspi/atspi-misc.c:152
+#: atspi/atspi-misc.c:153
msgid "level bar"
msgstr "nivelbreto"
-#: atspi/atspi-misc.c:153
+#: atspi/atspi-misc.c:154
msgid "title bar"
msgstr "titolbreto"
-#: atspi/atspi-misc.c:154
+#: atspi/atspi-misc.c:155
msgid "block quote"
msgstr "bloka citaĵo"
-#: atspi/atspi-misc.c:155
+#: atspi/atspi-misc.c:156
msgid "audio"
msgstr "sono"
-#: atspi/atspi-misc.c:156
+#: atspi/atspi-misc.c:157
msgid "video"
msgstr "video"
-#: atspi/atspi-misc.c:157
+#: atspi/atspi-misc.c:158
msgid "definition"
msgstr "difino"
-#: atspi/atspi-misc.c:158
+#: atspi/atspi-misc.c:159
msgid "article"
msgstr "artikolo"
-#: atspi/atspi-misc.c:159
+#: atspi/atspi-misc.c:160
msgid "landmark"
msgstr "orientilo"
-#: atspi/atspi-misc.c:160
+#: atspi/atspi-misc.c:161
msgid "log"
msgstr "protokolo"
-#: atspi/atspi-misc.c:161
+#: atspi/atspi-misc.c:162
msgid "marquee"
msgstr "markezo"
-#: atspi/atspi-misc.c:162
+#: atspi/atspi-misc.c:163
msgid "math"
msgstr "matematiko"
-#: atspi/atspi-misc.c:163
+#: atspi/atspi-misc.c:164
msgid "rating"
msgstr "pritakso"
-#: atspi/atspi-misc.c:164
+#: atspi/atspi-misc.c:165
msgid "timer"
msgstr "tempmezurilo"
-#: atspi/atspi-misc.c:165
+#: atspi/atspi-misc.c:166
msgid "description list"
msgstr "priskribo-listo"
-#: atspi/atspi-misc.c:166
+#: atspi/atspi-misc.c:167
msgid "description term"
msgstr "priskribo-termino"
-#: atspi/atspi-misc.c:167
+#: atspi/atspi-misc.c:168
msgid "description value"
msgstr "priskribo-valoro"
+#~ msgid "push button"
+#~ msgstr "prembutono"
+
#~ msgid "Is used to notify that the parent has changed"
#~ msgstr "Uzita por avizi ke la gepatro ŝanĝiĝis"
diff --git a/po/es.po b/po/es.po
index 5bc1c9c..e47df2c 100644
--- a/po/es.po
+++ b/po/es.po
@@ -4,7 +4,6 @@
# Copyright (C) 2011 at-spi2-core's COPYRIGHT HOLDER
# This file is distributed under the same license as the at-spi2-core package.
# Jorge González , 2011.
-# Daniel Mustieles , 2011, 2014.
#
# #-#-#-#-# es.po (atk.HEAD) #-#-#-#-#
# translation of atk.HEAD.po to Español
@@ -16,7 +15,6 @@
# Francisco Javier F. Serrador , 2003.
# Francisco Javier F. Serrador , 2004.
# Jorge González , 2008, 2011.
-# Daniel Mustieles , 2011, 2013, 2014.
#
# #-#-#-#-# es.po (atk.HEAD) #-#-#-#-#
# translation of atk.HEAD.po to Español
@@ -28,15 +26,15 @@
# Francisco Javier F. Serrador , 2003.
# Francisco Javier F. Serrador , 2004.
# Jorge González , 2008, 2011.
-# Daniel Mustieles , 2011, 2013, 2014.
-# Daniel Mustieles García , 2022.
+# Daniel Mustieles , 2022-2024.
+# Daniel Mustieles García , 2024-2025.
#
msgid ""
msgstr ""
"Project-Id-Version: atk.HEAD\n"
-"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/at-spi2-core/issues\n"
-"POT-Creation-Date: 2022-07-25 14:47+0000\n"
-"PO-Revision-Date: 2022-08-01 13:45+0200\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/at-spi2-core/issues/\n"
+"POT-Creation-Date: 2025-02-11 18:33+0000\n"
+"PO-Revision-Date: 2025-03-03 15:40+0100\n"
"Last-Translator: Daniel Mustieles García \n"
"Language-Team: Spanish - Spain \n"
"Language: es_ES\n"
@@ -46,7 +44,7 @@ msgstr ""
"#-#-#-#-# es.po (at-spi2-core master) #-#-#-#-#\n"
"#-#-#-#-# es.po (at-spi2-core master) #-#-#-#-#\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
-"X-Generator: Gtranslator 42.0\n"
+"X-Generator: Gtranslator 47.1\n"
"#-#-#-#-# es.po (atk.HEAD) #-#-#-#-#\n"
"X-Generator: Gtranslator 2.91.5\n"
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
@@ -54,795 +52,818 @@ msgstr ""
"X-Generator: Gtranslator 2.91.5\n"
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
-#: atk/atkhyperlink.c:126
+#: atk/atkhyperlink.c:127
msgid "Selected Link"
msgstr "Enlace seleccionado"
-#: atk/atkhyperlink.c:127
+#: atk/atkhyperlink.c:128
msgid "Specifies whether the AtkHyperlink object is selected"
msgstr "Especifica si el objeto AtlHyperlink está seleccionado"
-#: atk/atkhyperlink.c:133
+#: atk/atkhyperlink.c:134
msgid "Number of Anchors"
msgstr "Número de anclas"
-#: atk/atkhyperlink.c:134
+#: atk/atkhyperlink.c:135
msgid "The number of anchors associated with the AtkHyperlink object"
msgstr "El número de anclas asociadas con un objeto AtkHyperlink"
-#: atk/atkhyperlink.c:142
+#: atk/atkhyperlink.c:143
msgid "End index"
msgstr "Índice final"
-#: atk/atkhyperlink.c:143
+#: atk/atkhyperlink.c:144
msgid "The end index of the AtkHyperlink object"
msgstr "El índice final de un objeto AtkHyperlink"
-#: atk/atkhyperlink.c:151
+#: atk/atkhyperlink.c:152
msgid "Start index"
msgstr "Índice inicial"
-#: atk/atkhyperlink.c:152
+#: atk/atkhyperlink.c:153
msgid "The start index of the AtkHyperlink object"
msgstr "El índice inicial de un objeto AtkHyperlink"
-#: atk/atkobject.c:98
+#: atk/atkobject.c:273
+msgid "Accessible Name"
+msgstr "Nombre accesible"
+
+#: atk/atkobject.c:274
+msgid "Object instance’s name formatted for assistive technology access"
+msgstr ""
+"El nombre de la instancia del objeto formateado para acceso para "
+"discapacitados"
+
+#: atk/atkobject.c:280
+msgid "Accessible Description"
+msgstr "Descripción accesible"
+
+#: atk/atkobject.c:281
+msgid "Description of an object, formatted for assistive technology access"
+msgstr "Descripción de un objeto, formateado para acceso para discapacitados"
+
+#: atk/atkobject.c:287
+msgid "Accessible Parent"
+msgstr "Antecesor accesible"
+
+#: atk/atkobject.c:288
+msgid "Parent of the current accessible as returned by atk_object_get_parent()"
+msgstr ""
+"Padre del accesible actual, tal como lo devuelve atk_object_get_parent()"
+
+#: atk/atkobject.c:304
+msgid "Accessible Value"
+msgstr "Valor accesible"
+
+#: atk/atkobject.c:305
+msgid "Is used to notify that the value has changed"
+msgstr "Se usa para notificar que el valor ha cambiado"
+
+#: atk/atkobject.c:313
+msgid "Accessible Role"
+msgstr "Rol accesible"
+
+#: atk/atkobject.c:314
+msgid "The accessible role of this object"
+msgstr "El rol de accesibilidad de este objeto"
+
+#: atk/atkobject.c:321
+msgid "Accessible Layer"
+msgstr "Capa accesible"
+
+#: atk/atkobject.c:322
+msgid "The accessible layer of this object"
+msgstr "La capa de accesibilidad de este objeto"
+
+#: atk/atkobject.c:330
+msgid "Accessible MDI Value"
+msgstr "Valor MDI accesible"
+
+#: atk/atkobject.c:331
+msgid "The accessible MDI value of this object"
+msgstr "El valor accesible MDI de este objeto"
+
+#: atk/atkobject.c:347
+msgid "Accessible Table Caption"
+msgstr "Descripción accesible de la tabla"
+
+#: atk/atkobject.c:348
+msgid ""
+"Is used to notify that the table caption has changed; this property should "
+"not be used. accessible-table-caption-object should be used instead"
+msgstr ""
+"Se usa para notificar que la descripción de la tabla ha cambiado; esta "
+"propiedad no debería ser usada. Debe usarse accesible-table-caption-object "
+"en su lugar"
+
+#: atk/atkobject.c:362
+msgid "Accessible Table Column Header"
+msgstr "Cabecera de columna accesible de la tabla"
+
+#: atk/atkobject.c:363
+msgid "Is used to notify that the table column header has changed"
+msgstr ""
+"Se usa para notificar que la cabecera de columna de la tabla ha cambiado"
+
+#: atk/atkobject.c:378
+msgid "Accessible Table Column Description"
+msgstr "Descripción accesible de la columna de la tabla"
+
+#: atk/atkobject.c:379
+msgid "Is used to notify that the table column description has changed"
+msgstr ""
+"Se usa para notificar que la descripción de la columna de la tabla ha "
+"cambiado"
+
+#: atk/atkobject.c:394
+msgid "Accessible Table Row Header"
+msgstr "Cabecera accesible de la fila de la tabla"
+
+#: atk/atkobject.c:395
+msgid "Is used to notify that the table row header has changed"
+msgstr ""
+"Se usa para notificar que la fila de la cabecera de la tabla ha cambiado"
+
+#: atk/atkobject.c:409
+msgid "Accessible Table Row Description"
+msgstr "Descripción accesible de la fila de la tabla"
+
+#: atk/atkobject.c:410
+msgid "Is used to notify that the table row description has changed"
+msgstr "Se usa para notificar que la fila de la descripción ha cambiado"
+
+#: atk/atkobject.c:416
+msgid "Accessible Table Summary"
+msgstr "Resumen accesible de la tabla"
+
+#: atk/atkobject.c:417
+msgid "Is used to notify that the table summary has changed"
+msgstr "Se usa para notificar que el resumen de la tabla ha cambiado"
+
+#: atk/atkobject.c:423
+msgid "Accessible Table Caption Object"
+msgstr "Objeto de título de la tabla accesible"
+
+#: atk/atkobject.c:424
+msgid "Is used to notify that the table caption has changed"
+msgstr "Se usa para notificar que el título de la tabla ha cambiado"
+
+#: atk/atkobject.c:430
+msgid "Number of Accessible Hypertext Links"
+msgstr "Número de enlaces de hipertexto accesibles"
+
+#: atk/atkobject.c:431
+msgid "The number of links which the current AtkHypertext has"
+msgstr "El número de enlaces que el AtkHypertext actual tiene"
+
+#: atk/atkobject.c:440
+msgid "Accessible ID"
+msgstr "ID accesible"
+
+#: atk/atkobject.c:441
+msgid "ID for the accessible; useful for automated testing"
+msgstr "ID del accesible; útil para pruebas automáticas"
+
+#: atk/atkobject.c:447
+msgid "Help text"
+msgstr "Texto de ayuda"
+
+#: atk/atkobject.c:448
+msgid "Help text associated with the accessible"
+msgstr "Texto de ayuda asociado al accesible"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:193
+msgid "very weak"
+msgstr "muy débil"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:200
+msgid "weak"
+msgstr "débil"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:207
+msgid "acceptable"
+msgstr "aceptable"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:214
+msgid "strong"
+msgstr "fuerte"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:221
+msgid "very strong"
+msgstr "muy fuerte"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:229
+msgid "very low"
+msgstr "muy bajo"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:237
+msgid "medium"
+msgstr "medio"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:245
+msgid "high"
+msgstr "alto"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:253
+msgid "very high"
+msgstr "muy alto"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:261
+msgid "very bad"
+msgstr "muy malo"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:269
+msgid "bad"
+msgstr "malo"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:277
+msgid "good"
+msgstr "bueno"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:285
+msgid "very good"
+msgstr "muy bueno"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:293
+msgid "best"
+msgstr "el mejor"
+
+#: atspi/atspi-component.c:352 atspi/atspi-misc.c:1234 atspi/atspi-value.c:123
+msgid "The application no longer exists"
+msgstr "La aplicación ya no existe"
+
+#: atspi/atspi-misc.c:49
msgid "invalid"
msgstr "no válido"
-#: atk/atkobject.c:99
+#: atspi/atspi-misc.c:50
msgid "accelerator label"
msgstr "etiqueta de atajo del teclado"
-#: atk/atkobject.c:100
+#: atspi/atspi-misc.c:51
msgid "alert"
msgstr "alerta"
-#: atk/atkobject.c:101
+#: atspi/atspi-misc.c:52
msgid "animation"
msgstr "animación"
-#: atk/atkobject.c:102
+#: atspi/atspi-misc.c:53
msgid "arrow"
msgstr "flecha"
-#: atk/atkobject.c:103
+#: atspi/atspi-misc.c:54
msgid "calendar"
msgstr "calendario"
-#: atk/atkobject.c:104
+#: atspi/atspi-misc.c:55
msgid "canvas"
msgstr "lienzo"
-#: atk/atkobject.c:105
+#: atspi/atspi-misc.c:56
msgid "check box"
msgstr "casilla de verificación"
-#: atk/atkobject.c:106
+#: atspi/atspi-misc.c:57
msgid "check menu item"
msgstr "elemento de menú de verificación"
-#: atk/atkobject.c:107
+#: atspi/atspi-misc.c:58
msgid "color chooser"
msgstr "seleccionador de color"
-#: atk/atkobject.c:108
+#: atspi/atspi-misc.c:59
msgid "column header"
msgstr "cabecera de la columna"
-#: atk/atkobject.c:109
+#: atspi/atspi-misc.c:60
msgid "combo box"
msgstr "caja combinada"
-#: atk/atkobject.c:110
+#: atspi/atspi-misc.c:61
msgid "dateeditor"
msgstr "editor de fecha"
-#: atk/atkobject.c:111
+#: atspi/atspi-misc.c:62
msgid "desktop icon"
msgstr "icono del escritorio"
-#: atk/atkobject.c:112
+#: atspi/atspi-misc.c:63
msgid "desktop frame"
msgstr "marco del escritorio"
-#: atk/atkobject.c:113
+#: atspi/atspi-misc.c:64
msgid "dial"
msgstr "marcador"
-#: atk/atkobject.c:114
+#: atspi/atspi-misc.c:65
msgid "dialog"
msgstr "diálogo"
-#: atk/atkobject.c:115
+#: atspi/atspi-misc.c:66
msgid "directory pane"
msgstr "panel de directorio"
-#: atk/atkobject.c:116
+#: atspi/atspi-misc.c:67
msgid "drawing area"
msgstr "área de dibujo"
-#: atk/atkobject.c:117
+#: atspi/atspi-misc.c:68
msgid "file chooser"
msgstr "seleccionador de archivos"
-#: atk/atkobject.c:118
+#: atspi/atspi-misc.c:69
msgid "filler"
msgstr "completador"
#. I know it looks wrong but that is what Java returns
-#: atk/atkobject.c:120
+#: atspi/atspi-misc.c:71
msgid "fontchooser"
msgstr "seleccionador de tipografía"
-#: atk/atkobject.c:121
+#: atspi/atspi-misc.c:72
msgid "frame"
msgstr "marco"
-#: atk/atkobject.c:122
+#: atspi/atspi-misc.c:73
msgid "glass pane"
msgstr "panel transparente"
-#: atk/atkobject.c:123
+#: atspi/atspi-misc.c:74
msgid "html container"
msgstr "contenedor html"
-#: atk/atkobject.c:124
+#: atspi/atspi-misc.c:75
msgid "icon"
msgstr "icono"
-#: atk/atkobject.c:125
+#: atspi/atspi-misc.c:76
msgid "image"
msgstr "imagen"
-#: atk/atkobject.c:126
+#: atspi/atspi-misc.c:77
msgid "internal frame"
msgstr "marco interno"
-#: atk/atkobject.c:127
+#: atspi/atspi-misc.c:78
msgid "label"
msgstr "etiqueta"
-#: atk/atkobject.c:128
+#: atspi/atspi-misc.c:79
msgid "layered pane"
msgstr "panel superpuesto"
-#: atk/atkobject.c:129
+#: atspi/atspi-misc.c:80
msgid "list"
msgstr "lista"
-#: atk/atkobject.c:130
+#: atspi/atspi-misc.c:81
msgid "list item"
msgstr "elemento de lista"
-#: atk/atkobject.c:131
+#: atspi/atspi-misc.c:82
msgid "menu"
msgstr "menú"
-#: atk/atkobject.c:132
+#: atspi/atspi-misc.c:83
msgid "menu bar"
msgstr "barra de menú"
-#: atk/atkobject.c:133
+#: atspi/atspi-misc.c:84
msgid "menu button"
msgstr "botón del menú"
-#: atk/atkobject.c:134
+#: atspi/atspi-misc.c:85
msgid "menu item"
msgstr "elemento de menú"
-#: atk/atkobject.c:135
+#: atspi/atspi-misc.c:86
msgid "option pane"
msgstr "panel de opciones"
-#: atk/atkobject.c:136
+#: atspi/atspi-misc.c:87
msgid "page tab"
msgstr "pestaña de página"
-#: atk/atkobject.c:137
+#: atspi/atspi-misc.c:88
msgid "page tab list"
msgstr "lista de pestañas de página"
-#: atk/atkobject.c:138
+#: atspi/atspi-misc.c:89
msgid "panel"
msgstr "panel"
-#: atk/atkobject.c:139
+#: atspi/atspi-misc.c:90
msgid "password text"
msgstr "texto de contraseña"
-#: atk/atkobject.c:140
+#: atspi/atspi-misc.c:91
msgid "popup menu"
msgstr "menú emergente"
-#: atk/atkobject.c:141
+#: atspi/atspi-misc.c:92
msgid "progress bar"
msgstr "barra de progreso"
-#: atk/atkobject.c:142
-msgid "push button"
-msgstr "botón de pulsación"
+#: atspi/atspi-misc.c:93
+msgid "button"
+msgstr "botón"
-#: atk/atkobject.c:143
+#: atspi/atspi-misc.c:94
msgid "radio button"
msgstr "botón de radio"
-#: atk/atkobject.c:144
+#: atspi/atspi-misc.c:95
msgid "radio menu item"
msgstr "elemento de menú tipo radio"
-#: atk/atkobject.c:145
+#: atspi/atspi-misc.c:96
msgid "root pane"
msgstr "panel raíz"
-#: atk/atkobject.c:146
+#: atspi/atspi-misc.c:97
msgid "row header"
msgstr "cabecera de la fila"
-#: atk/atkobject.c:147
+#: atspi/atspi-misc.c:98
msgid "scroll bar"
msgstr "barra de desplazamiento"
-#: atk/atkobject.c:148
+#: atspi/atspi-misc.c:99
msgid "scroll pane"
msgstr "panel de desplazamiento"
-#: atk/atkobject.c:149
+#: atspi/atspi-misc.c:100
msgid "separator"
msgstr "separador"
-#: atk/atkobject.c:150
+#: atspi/atspi-misc.c:101
msgid "slider"
msgstr "deslizador"
-#: atk/atkobject.c:151
+#: atspi/atspi-misc.c:102
msgid "split pane"
msgstr "panel divisible"
-#: atk/atkobject.c:152
+#: atspi/atspi-misc.c:103
msgid "spin button"
msgstr "botón giratorio"
-#: atk/atkobject.c:153
+#: atspi/atspi-misc.c:104
msgid "statusbar"
msgstr "barra de estado"
-#: atk/atkobject.c:154
+#: atspi/atspi-misc.c:105
+msgid "switch"
+msgstr "interruptor"
+
+#: atspi/atspi-misc.c:106
msgid "table"
msgstr "tabla"
-#: atk/atkobject.c:155
+#: atspi/atspi-misc.c:107
msgid "table cell"
msgstr "celda de tabla"
-#: atk/atkobject.c:156
+#: atspi/atspi-misc.c:108
msgid "table column header"
msgstr "cabecera de columna de tabla"
-#: atk/atkobject.c:157
+#: atspi/atspi-misc.c:109
msgid "table row header"
msgstr "cabecera de fila de tabla"
-#: atk/atkobject.c:158
+#: atspi/atspi-misc.c:110
msgid "tear off menu item"
msgstr "elemento de menú desprendible"
-#: atk/atkobject.c:159
+#: atspi/atspi-misc.c:111
msgid "terminal"
msgstr "terminal"
-#: atk/atkobject.c:160
+#: atspi/atspi-misc.c:112
msgid "text"
msgstr "texto"
-#: atk/atkobject.c:161
+#: atspi/atspi-misc.c:113
msgid "toggle button"
msgstr "botón de activación"
-#: atk/atkobject.c:162
+#: atspi/atspi-misc.c:114
msgid "tool bar"
msgstr "barra de estado"
-#: atk/atkobject.c:163
+#: atspi/atspi-misc.c:115
msgid "tool tip"
msgstr "sugerencia"
-#: atk/atkobject.c:164
+#: atspi/atspi-misc.c:116
msgid "tree"
msgstr "árbol"
-#: atk/atkobject.c:165
+#: atspi/atspi-misc.c:117
msgid "tree table"
msgstr "tabla de árbol"
-#: atk/atkobject.c:166
+#: atspi/atspi-misc.c:118
msgid "unknown"
msgstr "desconocido"
-#: atk/atkobject.c:167
+#: atspi/atspi-misc.c:119
msgid "viewport"
msgstr "puerto de visión"
-#: atk/atkobject.c:168
+#: atspi/atspi-misc.c:120
msgid "window"
msgstr "ventana"
-#: atk/atkobject.c:169
+#: atspi/atspi-misc.c:121
msgid "header"
msgstr "cabecera"
-#: atk/atkobject.c:170
+#: atspi/atspi-misc.c:122
msgid "footer"
msgstr "pie"
-#: atk/atkobject.c:171
+#: atspi/atspi-misc.c:123
msgid "paragraph"
msgstr "párrafo"
-#: atk/atkobject.c:172
+#: atspi/atspi-misc.c:124
msgid "ruler"
msgstr "regla"
-#: atk/atkobject.c:173
+#: atspi/atspi-misc.c:125
msgid "application"
msgstr "aplicación"
-#: atk/atkobject.c:174
+#: atspi/atspi-misc.c:126
msgid "autocomplete"
msgstr "autocompletado"
-#: atk/atkobject.c:175
+#: atspi/atspi-misc.c:127
msgid "edit bar"
msgstr "barra de edición"
-#: atk/atkobject.c:176
+#: atspi/atspi-misc.c:128
msgid "embedded component"
msgstr "componente incrustado"
-#: atk/atkobject.c:177
+#: atspi/atspi-misc.c:129
msgid "entry"
msgstr "entrada"
-#: atk/atkobject.c:178
+#: atspi/atspi-misc.c:130
msgid "chart"
msgstr "diagrama"
-#: atk/atkobject.c:179
+#: atspi/atspi-misc.c:131
msgid "caption"
msgstr "descripción"
-#: atk/atkobject.c:180
+#: atspi/atspi-misc.c:132
msgid "document frame"
msgstr "marco de documento"
-#: atk/atkobject.c:181
+#: atspi/atspi-misc.c:133
msgid "heading"
msgstr "cabecera"
-#: atk/atkobject.c:182
+#: atspi/atspi-misc.c:134
msgid "page"
msgstr "página"
-#: atk/atkobject.c:183
+#: atspi/atspi-misc.c:135
msgid "section"
msgstr "sección"
-#: atk/atkobject.c:184
+#: atspi/atspi-misc.c:136
msgid "redundant object"
msgstr "Objeto redundante"
-#: atk/atkobject.c:185
+#: atspi/atspi-misc.c:137
msgid "form"
msgstr "formulario"
-#: atk/atkobject.c:186
+#: atspi/atspi-misc.c:138
msgid "link"
msgstr "enlace"
-#: atk/atkobject.c:187
+#: atspi/atspi-misc.c:139
msgid "input method window"
msgstr "ventana de entrada de método"
-#: atk/atkobject.c:188
+#: atspi/atspi-misc.c:140
msgid "table row"
msgstr "fila de tabla"
-#: atk/atkobject.c:189
+#: atspi/atspi-misc.c:141
msgid "tree item"
msgstr "elemento de árbol"
-#: atk/atkobject.c:190
+#: atspi/atspi-misc.c:142
msgid "document spreadsheet"
msgstr "documento de hoja de cálculo"
-#: atk/atkobject.c:191
+#: atspi/atspi-misc.c:143
msgid "document presentation"
msgstr "documento de presentación"
-#: atk/atkobject.c:192
+#: atspi/atspi-misc.c:144
msgid "document text"
msgstr "documento de texto"
-#: atk/atkobject.c:193
+#: atspi/atspi-misc.c:145
msgid "document web"
msgstr "documento web"
-#: atk/atkobject.c:194
+#: atspi/atspi-misc.c:146
msgid "document email"
msgstr "documento de correo electrónico"
-#: atk/atkobject.c:195
+#: atspi/atspi-misc.c:147
msgid "comment"
msgstr "comentario"
-#: atk/atkobject.c:196
+#: atspi/atspi-misc.c:148
msgid "list box"
msgstr "caja de lista"
-#: atk/atkobject.c:197
+#: atspi/atspi-misc.c:149
msgid "grouping"
msgstr "agrupación"
-#: atk/atkobject.c:198
+#: atspi/atspi-misc.c:150
msgid "image map"
msgstr "mapa de imagen"
-#: atk/atkobject.c:199
+#: atspi/atspi-misc.c:151
msgid "notification"
msgstr "notificación"
-#: atk/atkobject.c:200
+#: atspi/atspi-misc.c:152
msgid "info bar"
msgstr "barra de información"
-#: atk/atkobject.c:201
+#: atspi/atspi-misc.c:153
msgid "level bar"
msgstr "barra de nivel"
-#: atk/atkobject.c:202
+#: atspi/atspi-misc.c:154
msgid "title bar"
msgstr "barra de título"
-#: atk/atkobject.c:203
+#: atspi/atspi-misc.c:155
msgid "block quote"
msgstr "bloque de cita"
-#: atk/atkobject.c:204
+#: atspi/atspi-misc.c:156
msgid "audio"
msgstr "sonido"
-#: atk/atkobject.c:205
+#: atspi/atspi-misc.c:157
msgid "video"
msgstr "vídeo"
-#: atk/atkobject.c:206
+#: atspi/atspi-misc.c:158
msgid "definition"
msgstr "definición"
-#: atk/atkobject.c:207
+#: atspi/atspi-misc.c:159
msgid "article"
msgstr "artículo"
-#: atk/atkobject.c:208
+#: atspi/atspi-misc.c:160
msgid "landmark"
msgstr "marcador"
-#: atk/atkobject.c:209
+#: atspi/atspi-misc.c:161
msgid "log"
msgstr "registro"
-#: atk/atkobject.c:210
+#: atspi/atspi-misc.c:162
msgid "marquee"
msgstr "marquesina"
-#: atk/atkobject.c:211
+#: atspi/atspi-misc.c:163
msgid "math"
msgstr "fórmula matemática"
-#: atk/atkobject.c:212
+#: atspi/atspi-misc.c:164
msgid "rating"
msgstr "puntuación"
-#: atk/atkobject.c:213
+#: atspi/atspi-misc.c:165
msgid "timer"
msgstr "temporizador"
-#: atk/atkobject.c:214
+#: atspi/atspi-misc.c:166
msgid "description list"
msgstr "lista de descripciones"
-#: atk/atkobject.c:215
+#: atspi/atspi-misc.c:167
msgid "description term"
msgstr "término de la descripción"
-#: atk/atkobject.c:216
+#: atspi/atspi-misc.c:168
msgid "description value"
msgstr "valor de la descripción"
-#: atk/atkobject.c:392
-msgid "Accessible Name"
-msgstr "Nombre accesible"
-
-#: atk/atkobject.c:393
-msgid "Object instance’s name formatted for assistive technology access"
-msgstr ""
-"El nombre de la instancia del objeto formateado para acceso para "
-"discapacitados"
-
-#: atk/atkobject.c:399
-msgid "Accessible Description"
-msgstr "Descripción accesible"
-
-#: atk/atkobject.c:400
-msgid "Description of an object, formatted for assistive technology access"
-msgstr "Descripción de un objeto, formateado para acceso para discapacitados"
-
-#: atk/atkobject.c:406
-msgid "Accessible Parent"
-msgstr "Antecesor accesible"
-
-#: atk/atkobject.c:407
-msgid "Parent of the current accessible as returned by atk_object_get_parent()"
-msgstr ""
-"Padre del accesible actual, tal como lo devuelve atk_object_get_parent()"
-
-#: atk/atkobject.c:423
-msgid "Accessible Value"
-msgstr "Valor accesible"
-
-#: atk/atkobject.c:424
-msgid "Is used to notify that the value has changed"
-msgstr "Se usa para notificar que el valor ha cambiado"
-
-#: atk/atkobject.c:432
-msgid "Accessible Role"
-msgstr "Rol accesible"
-
-#: atk/atkobject.c:433
-msgid "The accessible role of this object"
-msgstr "El rol de accesibilidad de este objeto"
-
-#: atk/atkobject.c:440
-msgid "Accessible Layer"
-msgstr "Capa accesible"
-
-#: atk/atkobject.c:441
-msgid "The accessible layer of this object"
-msgstr "La capa de accesibilidad de este objeto"
-
-#: atk/atkobject.c:449
-msgid "Accessible MDI Value"
-msgstr "Valor MDI accesible"
-
-#: atk/atkobject.c:450
-msgid "The accessible MDI value of this object"
-msgstr "El valor accesible MDI de este objeto"
-
-#: atk/atkobject.c:466
-msgid "Accessible Table Caption"
-msgstr "Descripción accesible de la tabla"
-
-#: atk/atkobject.c:467
-msgid ""
-"Is used to notify that the table caption has changed; this property should "
-"not be used. accessible-table-caption-object should be used instead"
-msgstr ""
-"Se usa para notificar que la descripción de la tabla ha cambiado; esta "
-"propiedad no debería ser usada. Debe usarse accesible-table-caption-object "
-"en su lugar"
-
-#: atk/atkobject.c:481
-msgid "Accessible Table Column Header"
-msgstr "Cabecera de columna accesible de la tabla"
-
-#: atk/atkobject.c:482
-msgid "Is used to notify that the table column header has changed"
-msgstr ""
-"Se usa para notificar que la cabecera de columna de la tabla ha cambiado"
-
-#: atk/atkobject.c:497
-msgid "Accessible Table Column Description"
-msgstr "Descripción accesible de la columna de la tabla"
-
-#: atk/atkobject.c:498
-msgid "Is used to notify that the table column description has changed"
-msgstr ""
-"Se usa para notificar que la descripción de la columna de la tabla ha "
-"cambiado"
-
-#: atk/atkobject.c:513
-msgid "Accessible Table Row Header"
-msgstr "Cabecera accesible de la fila de la tabla"
-
-#: atk/atkobject.c:514
-msgid "Is used to notify that the table row header has changed"
-msgstr ""
-"Se usa para notificar que la fila de la cabecera de la tabla ha cambiado"
-
-#: atk/atkobject.c:528
-msgid "Accessible Table Row Description"
-msgstr "Descripción accesible de la fila de la tabla"
-
-#: atk/atkobject.c:529
-msgid "Is used to notify that the table row description has changed"
-msgstr "Se usa para notificar que la fila de la descripción ha cambiado"
-
-#: atk/atkobject.c:535
-msgid "Accessible Table Summary"
-msgstr "Resumen accesible de la tabla"
-
-#: atk/atkobject.c:536
-msgid "Is used to notify that the table summary has changed"
-msgstr "Se usa para notificar que el resumen de la tabla ha cambiado"
-
-#: atk/atkobject.c:542
-msgid "Accessible Table Caption Object"
-msgstr "Objeto de título de la tabla accesible"
-
-#: atk/atkobject.c:543
-msgid "Is used to notify that the table caption has changed"
-msgstr "Se usa para notificar que el título de la tabla ha cambiado"
-
-#: atk/atkobject.c:549
-msgid "Number of Accessible Hypertext Links"
-msgstr "Número de enlaces de hipertexto accesibles"
-
-#: atk/atkobject.c:550
-msgid "The number of links which the current AtkHypertext has"
-msgstr "El número de enlaces que el AtkHypertext actual tiene"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:194
-msgid "very weak"
-msgstr "muy débil"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:201
-msgid "weak"
-msgstr "débil"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:208
-msgid "acceptable"
-msgstr "aceptable"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:215
-msgid "strong"
-msgstr "fuerte"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:222
-msgid "very strong"
-msgstr "muy fuerte"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:230
-msgid "very low"
-msgstr "muy bajo"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:238
-msgid "medium"
-msgstr "medio"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:246
-msgid "high"
-msgstr "alto"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:254
-msgid "very high"
-msgstr "muy alto"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:262
-msgid "very bad"
-msgstr "muy malo"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:270
-msgid "bad"
-msgstr "malo"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:278
-msgid "good"
-msgstr "bueno"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:286
-msgid "very good"
-msgstr "muy bueno"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:294
-msgid "best"
-msgstr "el mejor"
-
-#: atspi/atspi-component.c:332 atspi/atspi-misc.c:1063 atspi/atspi-value.c:111
-msgid "The application no longer exists"
-msgstr "La aplicación ya no existe"
+#~ msgid "push button"
+#~ msgstr "botón de pulsación"
#~ msgid "Attempted synchronous call where prohibited"
#~ msgstr "Se ha prohibido el intento de llamada síncrona"
diff --git a/po/eu.po b/po/eu.po
index c764ff0..452137e 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -4,14 +4,14 @@
#
# Hizkuntza Politikarako Sailburuordetza , 2004.
# Iñaki Larrañaga Murgoitio , 2007, 2011, 2014.
-# Asier Sarasua Garmendia , 2022.
+# Asier Saratsua Garmendia , 2022, 2025.
#
msgid ""
msgstr "Project-Id-Version: atk master\n"
-"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/at-spi2-core/issues\n"
-"POT-Creation-Date: 2022-07-25 14:47+0000\n"
-"PO-Revision-Date: 2022-07-31 18:58+0100\n"
-"Last-Translator: Asier Sarasua Garmendia \n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/at-spi2-core/issues/\n"
+"POT-Creation-Date: 2025-02-11 18:33+0000\n"
+"PO-Revision-Date: 2025-03-01 18:58+0100\n"
+"Last-Translator: Asier Saratsua Garmendia \n"
"Language-Team: Basque \n"
"Language: eu\n"
"MIME-Version: 1.0\n"
@@ -19,785 +19,808 @@ msgstr "Project-Id-Version: atk master\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: atk/atkhyperlink.c:126
+#: atk/atkhyperlink.c:127
msgid "Selected Link"
msgstr "Hautatutako esteka"
-#: atk/atkhyperlink.c:127
+#: atk/atkhyperlink.c:128
msgid "Specifies whether the AtkHyperlink object is selected"
msgstr "AtkHyperlink objektua hautatuta dagoen den edo ez zehazten du"
-#: atk/atkhyperlink.c:133
+#: atk/atkhyperlink.c:134
msgid "Number of Anchors"
msgstr "Aingura kopurua"
-#: atk/atkhyperlink.c:134
+#: atk/atkhyperlink.c:135
msgid "The number of anchors associated with the AtkHyperlink object"
-msgstr "AtkHyperlink objektuarekin asoziatutako aingura kopurua"
+msgstr "AtkHyperlink objektuari lotutako aingura kopurua"
-#: atk/atkhyperlink.c:142
+#: atk/atkhyperlink.c:143
msgid "End index"
msgstr "Amaierako indizea"
-#: atk/atkhyperlink.c:143
+#: atk/atkhyperlink.c:144
msgid "The end index of the AtkHyperlink object"
msgstr "AtkHyperlink objektuaren amaierako indizea"
-#: atk/atkhyperlink.c:151
+#: atk/atkhyperlink.c:152
msgid "Start index"
msgstr "Hasierako indizea"
-#: atk/atkhyperlink.c:152
+#: atk/atkhyperlink.c:153
msgid "The start index of the AtkHyperlink object"
msgstr "AtkHyperlink objektuaren hasierako indizea"
-#: atk/atkobject.c:98
+#: atk/atkobject.c:273
+msgid "Accessible Name"
+msgstr "Izen irisgarria"
+
+#: atk/atkobject.c:274
+msgid "Object instance’s name formatted for assistive technology access"
+msgstr "Objektuaren instantziaren izena, irisgarritasun-teknologien atzipenerako formateatuta"
+
+#: atk/atkobject.c:280
+msgid "Accessible Description"
+msgstr "Azalpen irisgarria"
+
+#: atk/atkobject.c:281
+msgid "Description of an object, formatted for assistive technology access"
+msgstr "Objektu baten azalpena, irisgarritasun-teknologien atzipenerako formateatuta"
+
+#: atk/atkobject.c:287
+msgid "Accessible Parent"
+msgstr "Guraso irisgarria"
+
+#: atk/atkobject.c:288
+msgid "Parent of the current accessible as returned by atk_object_get_parent()"
+msgstr "Uneko elementu irisgarriaren gurasoa, 'atk_object_get_parent()'-ek itzultzen duen moduan"
+
+#: atk/atkobject.c:304
+msgid "Accessible Value"
+msgstr "Balio irisgarria"
+
+#: atk/atkobject.c:305
+msgid "Is used to notify that the value has changed"
+msgstr "Balioa aldatu dela adierazteko erabiltzen da"
+
+#: atk/atkobject.c:313
+msgid "Accessible Role"
+msgstr "Egiteko irisgarria"
+
+#: atk/atkobject.c:314
+msgid "The accessible role of this object"
+msgstr "Objektu honen egiteko irisgarria"
+
+#: atk/atkobject.c:321
+msgid "Accessible Layer"
+msgstr "Geruza irisgarria"
+
+#: atk/atkobject.c:322
+msgid "The accessible layer of this object"
+msgstr "Objektu honen geruza irisgarria"
+
+#: atk/atkobject.c:330
+msgid "Accessible MDI Value"
+msgstr "MDI balio irisgarria"
+
+#: atk/atkobject.c:331
+msgid "The accessible MDI value of this object"
+msgstr "Objektu honen MDI balio irisgarria"
+
+#: atk/atkobject.c:347
+msgid "Accessible Table Caption"
+msgstr "Taularen epigrafe irisgarria"
+
+#: atk/atkobject.c:348
+msgid ""
+"Is used to notify that the table caption has changed; this property should "
+"not be used. accessible-table-caption-object should be used instead"
+msgstr "Taularen epigrafea aldatu dela adierazteko erabiltzen da; propietate hau ez litzateke erabili behar. Honen ordez erabili 'accessible-table-caption-object'"
+
+#: atk/atkobject.c:362
+msgid "Accessible Table Column Header"
+msgstr "Taularen zutabe-goiburu irisgarria"
+
+#: atk/atkobject.c:363
+msgid "Is used to notify that the table column header has changed"
+msgstr "Taularen zutabe-goiburua aldatu dela adierazteko erabiltzen da"
+
+#: atk/atkobject.c:378
+msgid "Accessible Table Column Description"
+msgstr "Taularen zutabe-azalpen irisgarria"
+
+#: atk/atkobject.c:379
+msgid "Is used to notify that the table column description has changed"
+msgstr "Taularen zutabe-azalpena aldatu dela adierazteko erabiltzen da"
+
+#: atk/atkobject.c:394
+msgid "Accessible Table Row Header"
+msgstr "Taularen errenkada-goiburu irisgarria"
+
+#: atk/atkobject.c:395
+msgid "Is used to notify that the table row header has changed"
+msgstr "Taularen errenkada-goiburua aldatu dela adierazteko erabiltzen da"
+
+#: atk/atkobject.c:409
+msgid "Accessible Table Row Description"
+msgstr "Taularen errenkada-azalpen irisgarria"
+
+#: atk/atkobject.c:410
+msgid "Is used to notify that the table row description has changed"
+msgstr "Taularen errenkada-azalpena aldatu dela adierazteko erabiltzen da"
+
+#: atk/atkobject.c:416
+msgid "Accessible Table Summary"
+msgstr "Taularen laburpen irisgarria"
+
+#: atk/atkobject.c:417
+msgid "Is used to notify that the table summary has changed"
+msgstr "Taularen laburpena aldatu dela adierazteko erabiltzen da"
+
+#: atk/atkobject.c:423
+msgid "Accessible Table Caption Object"
+msgstr "Taularen epigrafe-objektu irisgarria"
+
+#: atk/atkobject.c:424
+msgid "Is used to notify that the table caption has changed"
+msgstr "Taularen epigrafea aldatu dela adierazteko erabiltzen da"
+
+#: atk/atkobject.c:430
+msgid "Number of Accessible Hypertext Links"
+msgstr "Hipertestu-esteka irisgarrien kopurua"
+
+#: atk/atkobject.c:431
+msgid "The number of links which the current AtkHypertext has"
+msgstr "Uneko AtkHypertext-ek duen esteka kopurua"
+
+#: atk/atkobject.c:440
+msgid "Accessible ID"
+msgstr "ID irisgarria"
+
+#: atk/atkobject.c:441
+msgid "ID for the accessible; useful for automated testing"
+msgstr "ID irisgarria; proba automatikoetan erabiltzen da"
+
+#: atk/atkobject.c:447
+msgid "Help text"
+msgstr "Laguntza-testua"
+
+#: atk/atkobject.c:448
+msgid "Help text associated with the accessible"
+msgstr "Irisgarriari lotutako laguntza-testua"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:193
+msgid "very weak"
+msgstr "oso ahula"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:200
+msgid "weak"
+msgstr "ahula"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:207
+msgid "acceptable"
+msgstr "onargarria"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:214
+msgid "strong"
+msgstr "sendoa"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:221
+msgid "very strong"
+msgstr "oso sendoa"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:229
+msgid "very low"
+msgstr "oso baxua"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:237
+msgid "medium"
+msgstr "ertaina"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:245
+msgid "high"
+msgstr "altua"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:253
+msgid "very high"
+msgstr "oso altua"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:261
+msgid "very bad"
+msgstr "oso txarra"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:269
+msgid "bad"
+msgstr "txarra"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:277
+msgid "good"
+msgstr "ona"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:285
+msgid "very good"
+msgstr "oso ona"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:293
+msgid "best"
+msgstr "onena"
+
+#: atspi/atspi-component.c:352 atspi/atspi-misc.c:1234 atspi/atspi-value.c:123
+msgid "The application no longer exists"
+msgstr "Aplikazioa ez da gehiago existitzen"
+
+#: atspi/atspi-misc.c:49
msgid "invalid"
msgstr "baliogabea"
-#: atk/atkobject.c:99
+#: atspi/atspi-misc.c:50
msgid "accelerator label"
msgstr "bizkortze-etiketa"
-#: atk/atkobject.c:100
+#: atspi/atspi-misc.c:51
msgid "alert"
msgstr "abisua"
-#: atk/atkobject.c:101
+#: atspi/atspi-misc.c:52
msgid "animation"
msgstr "animazioa"
-#: atk/atkobject.c:102
+#: atspi/atspi-misc.c:53
msgid "arrow"
msgstr "gezia"
-#: atk/atkobject.c:103
+#: atspi/atspi-misc.c:54
msgid "calendar"
msgstr "egutegia"
-#: atk/atkobject.c:104
+#: atspi/atspi-misc.c:55
msgid "canvas"
msgstr "oihala"
-#: atk/atkobject.c:105
+#: atspi/atspi-misc.c:56
msgid "check box"
msgstr "kontrol-laukia"
-#: atk/atkobject.c:106
+#: atspi/atspi-misc.c:57
msgid "check menu item"
msgstr "egiaztatu menu-elementua"
-#: atk/atkobject.c:107
+#: atspi/atspi-misc.c:58
msgid "color chooser"
msgstr "kolore-hautatzailea"
-#: atk/atkobject.c:108
+#: atspi/atspi-misc.c:59
msgid "column header"
msgstr "zutabe-goiburua"
-#: atk/atkobject.c:109
+#: atspi/atspi-misc.c:60
msgid "combo box"
msgstr "konbinazio-koadroa"
-#: atk/atkobject.c:110
+#: atspi/atspi-misc.c:61
msgid "dateeditor"
msgstr "data-editorea"
-#: atk/atkobject.c:111
+#: atspi/atspi-misc.c:62
msgid "desktop icon"
msgstr "mahaigaineko ikonoa"
-#: atk/atkobject.c:112
+#: atspi/atspi-misc.c:63
msgid "desktop frame"
msgstr "mahaigaineko markoa"
-#: atk/atkobject.c:113
+#: atspi/atspi-misc.c:64
msgid "dial"
msgstr "markatu"
-#: atk/atkobject.c:114
+#: atspi/atspi-misc.c:65
msgid "dialog"
msgstr "elkarrizketa"
-#: atk/atkobject.c:115
+#: atspi/atspi-misc.c:66
msgid "directory pane"
msgstr "direktorio-panela"
-#: atk/atkobject.c:116
+#: atspi/atspi-misc.c:67
msgid "drawing area"
msgstr "marrazte-area"
-#: atk/atkobject.c:117
+#: atspi/atspi-misc.c:68
msgid "file chooser"
msgstr "fitxategi-hautatzailea"
-#: atk/atkobject.c:118
+#: atspi/atspi-misc.c:69
msgid "filler"
msgstr "betegarria"
#. I know it looks wrong but that is what Java returns
-#: atk/atkobject.c:120
+#: atspi/atspi-misc.c:71
msgid "fontchooser"
msgstr "letra-tipoen hautatzailea"
-#: atk/atkobject.c:121
+#: atspi/atspi-misc.c:72
msgid "frame"
msgstr "markoa"
-#: atk/atkobject.c:122
+#: atspi/atspi-misc.c:73
msgid "glass pane"
msgstr "panel gardena"
-#: atk/atkobject.c:123
+#: atspi/atspi-misc.c:74
msgid "html container"
msgstr "html-edukiontzia"
-#: atk/atkobject.c:124
+#: atspi/atspi-misc.c:75
msgid "icon"
msgstr "ikonoa"
-#: atk/atkobject.c:125
+#: atspi/atspi-misc.c:76
msgid "image"
msgstr "irudia"
-#: atk/atkobject.c:126
+#: atspi/atspi-misc.c:77
msgid "internal frame"
msgstr "barneko markoa"
-#: atk/atkobject.c:127
+#: atspi/atspi-misc.c:78
msgid "label"
msgstr "etiketa"
-#: atk/atkobject.c:128
+#: atspi/atspi-misc.c:79
msgid "layered pane"
msgstr "geruzadun panela"
-#: atk/atkobject.c:129
+#: atspi/atspi-misc.c:80
msgid "list"
msgstr "zerrenda"
-#: atk/atkobject.c:130
+#: atspi/atspi-misc.c:81
msgid "list item"
msgstr "zerrenda-elementua"
-#: atk/atkobject.c:131
+#: atspi/atspi-misc.c:82
msgid "menu"
msgstr "menua"
-#: atk/atkobject.c:132
+#: atspi/atspi-misc.c:83
msgid "menu bar"
msgstr "menu-barra"
-#: atk/atkobject.c:133
+#: atspi/atspi-misc.c:84
msgid "menu button"
msgstr "menu-botoia"
-#: atk/atkobject.c:134
+#: atspi/atspi-misc.c:85
msgid "menu item"
msgstr "menu-elementua"
-#: atk/atkobject.c:135
+#: atspi/atspi-misc.c:86
msgid "option pane"
msgstr "aukera-panela"
-#: atk/atkobject.c:136
+#: atspi/atspi-misc.c:87
msgid "page tab"
-msgstr "orrialde-fitxa"
+msgstr "orri-fitxa"
-#: atk/atkobject.c:137
+#: atspi/atspi-misc.c:88
msgid "page tab list"
-msgstr "orrialde-fitxen zerrenda"
+msgstr "orri-fitxen zerrenda"
-#: atk/atkobject.c:138
+#: atspi/atspi-misc.c:89
msgid "panel"
msgstr "panela"
-#: atk/atkobject.c:139
+#: atspi/atspi-misc.c:90
msgid "password text"
msgstr "pasahitzaren testua"
-#: atk/atkobject.c:140
+#: atspi/atspi-misc.c:91
msgid "popup menu"
msgstr "laster-menua"
-#: atk/atkobject.c:141
+#: atspi/atspi-misc.c:92
msgid "progress bar"
msgstr "progresio-barra"
-#: atk/atkobject.c:142
-msgid "push button"
-msgstr "sakatze-botoia"
+#: atspi/atspi-misc.c:93
+msgid "button"
+msgstr "botoia"
-#: atk/atkobject.c:143
+#: atspi/atspi-misc.c:94
msgid "radio button"
-msgstr "irrati-botoia"
+msgstr "aukera-botoia"
-#: atk/atkobject.c:144
+#: atspi/atspi-misc.c:95
msgid "radio menu item"
-msgstr "irratiaren menu-elementua"
+msgstr "aukera-menuaren elementua"
-#: atk/atkobject.c:145
+#: atspi/atspi-misc.c:96
msgid "root pane"
msgstr "erro-panela"
-#: atk/atkobject.c:146
+#: atspi/atspi-misc.c:97
msgid "row header"
msgstr "errenkada-goiburua"
-#: atk/atkobject.c:147
+#: atspi/atspi-misc.c:98
msgid "scroll bar"
msgstr "korritze-barra"
-#: atk/atkobject.c:148
+#: atspi/atspi-misc.c:99
msgid "scroll pane"
msgstr "korritze-panela"
-#: atk/atkobject.c:149
+#: atspi/atspi-misc.c:100
msgid "separator"
msgstr "bereizlea"
-#: atk/atkobject.c:150
+#: atspi/atspi-misc.c:101
msgid "slider"
msgstr "graduatzailea"
-#: atk/atkobject.c:151
+#: atspi/atspi-misc.c:102
msgid "split pane"
msgstr "zatitze-panela"
-#: atk/atkobject.c:152
+#: atspi/atspi-misc.c:103
msgid "spin button"
msgstr "biratze-botoia"
-#: atk/atkobject.c:153
+#: atspi/atspi-misc.c:104
msgid "statusbar"
msgstr "egoera-barra"
-#: atk/atkobject.c:154
+#: atspi/atspi-misc.c:105
+msgid "switch"
+msgstr "txandakatzailea"
+
+#: atspi/atspi-misc.c:106
msgid "table"
msgstr "taula"
-#: atk/atkobject.c:155
+#: atspi/atspi-misc.c:107
msgid "table cell"
msgstr "taulako gelaxka"
-#: atk/atkobject.c:156
+#: atspi/atspi-misc.c:108
msgid "table column header"
msgstr "taulako zutabe-goiburua"
-#: atk/atkobject.c:157
+#: atspi/atspi-misc.c:109
msgid "table row header"
msgstr "taulako errenkada-goiburua"
-#: atk/atkobject.c:158
+#: atspi/atspi-misc.c:110
msgid "tear off menu item"
msgstr "menu askagarriko elementua"
-#: atk/atkobject.c:159
+#: atspi/atspi-misc.c:111
msgid "terminal"
msgstr "terminala"
-#: atk/atkobject.c:160
+#: atspi/atspi-misc.c:112
msgid "text"
msgstr "testua"
-#: atk/atkobject.c:161
+#: atspi/atspi-misc.c:113
msgid "toggle button"
msgstr "txandakatze-botoia"
-#: atk/atkobject.c:162
+#: atspi/atspi-misc.c:114
msgid "tool bar"
msgstr "tresna-barra"
-#: atk/atkobject.c:163
+#: atspi/atspi-misc.c:115
msgid "tool tip"
msgstr "aholkua"
-#: atk/atkobject.c:164
+#: atspi/atspi-misc.c:116
msgid "tree"
msgstr "zuhaitza"
-#: atk/atkobject.c:165
+#: atspi/atspi-misc.c:117
msgid "tree table"
msgstr "zuhaitz-taula"
-#: atk/atkobject.c:166
+#: atspi/atspi-misc.c:118
msgid "unknown"
msgstr "ezezaguna"
-#: atk/atkobject.c:167
+#: atspi/atspi-misc.c:119
msgid "viewport"
msgstr "leihatila"
-#: atk/atkobject.c:168
+#: atspi/atspi-misc.c:120
msgid "window"
msgstr "leihoa"
-#: atk/atkobject.c:169
+#: atspi/atspi-misc.c:121
msgid "header"
msgstr "goiburua"
-#: atk/atkobject.c:170
+#: atspi/atspi-misc.c:122
msgid "footer"
msgstr "orri-oina"
-#: atk/atkobject.c:171
+#: atspi/atspi-misc.c:123
msgid "paragraph"
msgstr "paragrafoa"
-#: atk/atkobject.c:172
+#: atspi/atspi-misc.c:124
msgid "ruler"
msgstr "erregela"
-#: atk/atkobject.c:173
+#: atspi/atspi-misc.c:125
msgid "application"
msgstr "aplikazioa"
-#: atk/atkobject.c:174
+#: atspi/atspi-misc.c:126
msgid "autocomplete"
msgstr "auto-osatzea"
-#: atk/atkobject.c:175
+#: atspi/atspi-misc.c:127
msgid "edit bar"
msgstr "edizio-barra"
-#: atk/atkobject.c:176
+#: atspi/atspi-misc.c:128
msgid "embedded component"
msgstr "kapsulatutako osagaia"
-#: atk/atkobject.c:177
+#: atspi/atspi-misc.c:129
msgid "entry"
msgstr "sarrera"
-#: atk/atkobject.c:178
+#: atspi/atspi-misc.c:130
msgid "chart"
msgstr "diagrama"
-#: atk/atkobject.c:179
+#: atspi/atspi-misc.c:131
msgid "caption"
msgstr "epigrafea"
-#: atk/atkobject.c:180
+#: atspi/atspi-misc.c:132
msgid "document frame"
msgstr "dokumentuaren markoa"
-#: atk/atkobject.c:181
+#: atspi/atspi-misc.c:133
msgid "heading"
msgstr "izenburua"
-#: atk/atkobject.c:182
+#: atspi/atspi-misc.c:134
msgid "page"
msgstr "orria"
-#: atk/atkobject.c:183
+#: atspi/atspi-misc.c:135
msgid "section"
msgstr "atala"
-#: atk/atkobject.c:184
+#: atspi/atspi-misc.c:136
msgid "redundant object"
-msgstr "objektu erredundanteak"
+msgstr "objektu erredundantea"
-#: atk/atkobject.c:185
+#: atspi/atspi-misc.c:137
msgid "form"
msgstr "inprimakia"
-#: atk/atkobject.c:186
+#: atspi/atspi-misc.c:138
msgid "link"
msgstr "esteka"
-#: atk/atkobject.c:187
+#: atspi/atspi-misc.c:139
msgid "input method window"
msgstr "sarrerako metodoaren leihoa"
-#: atk/atkobject.c:188
+#: atspi/atspi-misc.c:140
msgid "table row"
msgstr "taulako errenkada"
-#: atk/atkobject.c:189
+#: atspi/atspi-misc.c:141
msgid "tree item"
msgstr "zuhaitzeko elementua"
-#: atk/atkobject.c:190
+#: atspi/atspi-misc.c:142
msgid "document spreadsheet"
msgstr "kalkulu-orriaren dokumentua"
-#: atk/atkobject.c:191
+#: atspi/atspi-misc.c:143
msgid "document presentation"
msgstr "aurkezpenaren dokumentua"
-#: atk/atkobject.c:192
+#: atspi/atspi-misc.c:144
msgid "document text"
msgstr "testu-dokumentua"
-#: atk/atkobject.c:193
+#: atspi/atspi-misc.c:145
msgid "document web"
msgstr "web dokumentua"
-#: atk/atkobject.c:194
+#: atspi/atspi-misc.c:146
msgid "document email"
msgstr "posta elektronikoaren dokumentua"
-#: atk/atkobject.c:195
+#: atspi/atspi-misc.c:147
msgid "comment"
msgstr "iruzkina"
-#: atk/atkobject.c:196
+#: atspi/atspi-misc.c:148
msgid "list box"
msgstr "zerrenda-koadroa"
-#: atk/atkobject.c:197
+#: atspi/atspi-misc.c:149
msgid "grouping"
-msgstr "elkartzea"
+msgstr "taldekatzea"
-#: atk/atkobject.c:198
+#: atspi/atspi-misc.c:150
msgid "image map"
msgstr "irudi-mapa"
-#: atk/atkobject.c:199
+#: atspi/atspi-misc.c:151
msgid "notification"
msgstr "jakinarazpena"
-#: atk/atkobject.c:200
+#: atspi/atspi-misc.c:152
msgid "info bar"
msgstr "informazio-barra"
-#: atk/atkobject.c:201
+#: atspi/atspi-misc.c:153
msgid "level bar"
msgstr "maila-barra"
-#: atk/atkobject.c:202
+#: atspi/atspi-misc.c:154
msgid "title bar"
msgstr "titulu-barra"
-#: atk/atkobject.c:203
+#: atspi/atspi-misc.c:155
msgid "block quote"
msgstr "aipuaren blokea"
-#: atk/atkobject.c:204
+#: atspi/atspi-misc.c:156
msgid "audio"
msgstr "audioa"
-#: atk/atkobject.c:205
+#: atspi/atspi-misc.c:157
msgid "video"
msgstr "bideoa"
-#: atk/atkobject.c:206
+#: atspi/atspi-misc.c:158
msgid "definition"
msgstr "definizioa"
-#: atk/atkobject.c:207
+#: atspi/atspi-misc.c:159
msgid "article"
msgstr "artikulua"
-#: atk/atkobject.c:208
+#: atspi/atspi-misc.c:160
msgid "landmark"
msgstr "erreferentzia puntua"
-#: atk/atkobject.c:209
+#: atspi/atspi-misc.c:161
msgid "log"
msgstr "erregistroa"
-#: atk/atkobject.c:210
+#: atspi/atspi-misc.c:162
msgid "marquee"
msgstr "markesina"
-#: atk/atkobject.c:211
+#: atspi/atspi-misc.c:163
msgid "math"
msgstr "matematikak"
-#: atk/atkobject.c:212
+#: atspi/atspi-misc.c:164
msgid "rating"
msgstr "puntuazioa"
-#: atk/atkobject.c:213
+#: atspi/atspi-misc.c:165
msgid "timer"
msgstr "kronometroa"
-#: atk/atkobject.c:214
+#: atspi/atspi-misc.c:166
msgid "description list"
msgstr "azalpenen zerrenda"
-#: atk/atkobject.c:215
+#: atspi/atspi-misc.c:167
msgid "description term"
msgstr "azalpenaren terminoa"
-#: atk/atkobject.c:216
+#: atspi/atspi-misc.c:168
msgid "description value"
msgstr "azalpenaren balioa"
-#: atk/atkobject.c:392
-msgid "Accessible Name"
-msgstr "Izen erabilgarria"
-
-#: atk/atkobject.c:393
-msgid "Object instance’s name formatted for assistive technology access"
-msgstr "Objektuaren instatziaren izena, erabilgarritasunaren laguntza-euskarriarentzako formateatuta"
-
-#: atk/atkobject.c:399
-msgid "Accessible Description"
-msgstr "Azalpen erabilgarria"
-
-#: atk/atkobject.c:400
-msgid "Description of an object, formatted for assistive technology access"
-msgstr "Objektu baten azalpena, erabilgarritasunaren laguntza-euskarriarentzako formateatuta"
-
-#: atk/atkobject.c:406
-msgid "Accessible Parent"
-msgstr "Guraso erabilgarria"
-
-#: atk/atkobject.c:407
-msgid "Parent of the current accessible as returned by atk_object_get_parent()"
-msgstr "Uneko elementu atzigarriaren gurasoa 'atk_object_get_parent()'-ek itzulita"
-
-#: atk/atkobject.c:423
-msgid "Accessible Value"
-msgstr "Balio erabilgarria"
-
-#: atk/atkobject.c:424
-msgid "Is used to notify that the value has changed"
-msgstr "Balioa aldatu dela adierazteko erabiltzen da"
-
-#: atk/atkobject.c:432
-msgid "Accessible Role"
-msgstr "Egiteko erabilgarria"
-
-#: atk/atkobject.c:433
-msgid "The accessible role of this object"
-msgstr "Objektu honen egiteko erabilgarria"
-
-#: atk/atkobject.c:440
-msgid "Accessible Layer"
-msgstr "Geruza erabilgarria"
-
-#: atk/atkobject.c:441
-msgid "The accessible layer of this object"
-msgstr "Objektu honentzako geruza erabilgarria"
-
-#: atk/atkobject.c:449
-msgid "Accessible MDI Value"
-msgstr "MDI balio erabilgarria"
-
-#: atk/atkobject.c:450
-msgid "The accessible MDI value of this object"
-msgstr "Objektu honentzako MDI balio erabilgarria"
-
-#: atk/atkobject.c:466
-msgid "Accessible Table Caption"
-msgstr "Taularen epigrafe erabilgarria"
-
-#: atk/atkobject.c:467
-msgid ""
-"Is used to notify that the table caption has changed; this property should "
-"not be used. accessible-table-caption-object should be used instead"
-msgstr "Taularen epigrafea aldatu dela adierazteko erabiltzen da; propietate hau ez litzateke erabili behar. Honen ordez erabili accessible-table-caption-object behar da"
-
-#: atk/atkobject.c:481
-msgid "Accessible Table Column Header"
-msgstr "Taularen zutabe-goiburu erabilgarria"
-
-#: atk/atkobject.c:482
-msgid "Is used to notify that the table column header has changed"
-msgstr "Taularen zutabe-goiburua aldatu dela adierazteko erabiltzen da"
-
-#: atk/atkobject.c:497
-msgid "Accessible Table Column Description"
-msgstr "Taularen zutabe-azalpen erabilgarria"
-
-#: atk/atkobject.c:498
-msgid "Is used to notify that the table column description has changed"
-msgstr "Taularen zutabe-azalpena aldatu dela adierazteko erabiltzen da"
-
-#: atk/atkobject.c:513
-msgid "Accessible Table Row Header"
-msgstr "Taularen errenkada-goiburu erabilgarria"
-
-#: atk/atkobject.c:514
-msgid "Is used to notify that the table row header has changed"
-msgstr "Taularen errenkada-goiburua aldatu dela adierazteko erabiltzen da"
-
-#: atk/atkobject.c:528
-msgid "Accessible Table Row Description"
-msgstr "Taularen errenkada-azalpen erabilgarria"
-
-#: atk/atkobject.c:529
-msgid "Is used to notify that the table row description has changed"
-msgstr "Taularen errenkada-azalpena aldatu dela adierazteko erabiltzen da"
-
-#: atk/atkobject.c:535
-msgid "Accessible Table Summary"
-msgstr "Taularen laburpen erabilgarria"
-
-#: atk/atkobject.c:536
-msgid "Is used to notify that the table summary has changed"
-msgstr "Taularen laburpena aldatu dela adierazteko erabiltzen da"
-
-#: atk/atkobject.c:542
-msgid "Accessible Table Caption Object"
-msgstr "Taularen epigrafe-objektu erabilgarria"
-
-#: atk/atkobject.c:543
-msgid "Is used to notify that the table caption has changed"
-msgstr "Taularen epigrafea aldatu dela adierazteko erabiltzen da"
-
-#: atk/atkobject.c:549
-msgid "Number of Accessible Hypertext Links"
-msgstr "Hipertestu-esteka erabilgarrien kopurua"
-
-#: atk/atkobject.c:550
-msgid "The number of links which the current AtkHypertext has"
-msgstr "Uneko AtkHypertext-ek duen esteka kopurua"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:194
-msgid "very weak"
-msgstr "oso ahula"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:201
-msgid "weak"
-msgstr "ahula"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:208
-msgid "acceptable"
-msgstr "onargarria"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:215
-msgid "strong"
-msgstr "sendoa"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:222
-msgid "very strong"
-msgstr "oso sendoa"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:230
-msgid "very low"
-msgstr "oso baxua"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:238
-msgid "medium"
-msgstr "ertaina"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:246
-msgid "high"
-msgstr "altua"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:254
-msgid "very high"
-msgstr "oso altua"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:262
-msgid "very bad"
-msgstr "oso txarra"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:270
-msgid "bad"
-msgstr "txarra"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:278
-msgid "good"
-msgstr "ona"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:286
-msgid "very good"
-msgstr "oso ona"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:294
-msgid "best"
-msgstr "onena"
-
-#: atspi/atspi-component.c:332 atspi/atspi-misc.c:1063 atspi/atspi-value.c:111
-msgid "The application no longer exists"
-msgstr "Aplikazioa ez da gehiago existitzen"
+#~ msgid "push button"
+#~ msgstr "sakatze-botoia"
#~ msgid "Attempted synchronous call where prohibited"
#~ msgstr "Dei sinkronizatuen saiakera debekatuta dago"
diff --git a/po/fa.po b/po/fa.po
index e21156c..299cc97 100644
--- a/po/fa.po
+++ b/po/fa.po
@@ -7,14 +7,14 @@
# Meelad Zakaria , 2005.
# Mahyar Moghimi , 2010.
# Arash Mousavi , 2011.
-# Danial Behzadi , 2021-2022.
+# Danial Behzadi , 2021-2025.
#
msgid ""
msgstr ""
"Project-Id-Version: atk\n"
-"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/at-spi2-core/issues\n"
-"POT-Creation-Date: 2022-07-25 14:47+0000\n"
-"PO-Revision-Date: 2022-07-26 13:04+0430\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/at-spi2-core/issues/\n"
+"POT-Creation-Date: 2025-02-11 18:33+0000\n"
+"PO-Revision-Date: 2025-02-24 19:56+0330\n"
"Last-Translator: Danial Behzadi \n"
"Language-Team: Persian \n"
"Language: fa\n"
@@ -23,790 +23,813 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Poedit-SourceCharset: utf-8\n"
-"X-Generator: Poedit 3.1\n"
+"X-Generator: Poedit 3.5\n"
-#: atk/atkhyperlink.c:126
+#: atk/atkhyperlink.c:127
msgid "Selected Link"
msgstr "پیوند گزیده"
-#: atk/atkhyperlink.c:127
+#: atk/atkhyperlink.c:128
msgid "Specifies whether the AtkHyperlink object is selected"
msgstr "مشخص میکند شی AtkHyperlink گزیده شده یا نه"
-#: atk/atkhyperlink.c:133
+#: atk/atkhyperlink.c:134
msgid "Number of Anchors"
msgstr "تعداد لنگرها"
-#: atk/atkhyperlink.c:134
+#: atk/atkhyperlink.c:135
msgid "The number of anchors associated with the AtkHyperlink object"
msgstr "تعداد لنگرهای وابسته به شی AtkHyperlink"
-#: atk/atkhyperlink.c:142
+#: atk/atkhyperlink.c:143
msgid "End index"
msgstr "نمایهٔ پایان"
-#: atk/atkhyperlink.c:143
+#: atk/atkhyperlink.c:144
msgid "The end index of the AtkHyperlink object"
msgstr "نمایهٔ پایان شی AtkHyperlink"
-#: atk/atkhyperlink.c:151
+#: atk/atkhyperlink.c:152
msgid "Start index"
msgstr "نمایهٔ آغاز"
-#: atk/atkhyperlink.c:152
+#: atk/atkhyperlink.c:153
msgid "The start index of the AtkHyperlink object"
msgstr "نمایهٔ آغاز شی AtkHyperlink"
-#: atk/atkobject.c:98
+#: atk/atkobject.c:273
+msgid "Accessible Name"
+msgstr "نام دسترسیپذیری"
+
+#: atk/atkobject.c:274
+msgid "Object instance’s name formatted for assistive technology access"
+msgstr "نام نمونهٔ شی که برای دسترسی به فناوری یاریدهنده قالببندی شده"
+
+#: atk/atkobject.c:280
+msgid "Accessible Description"
+msgstr "شرح دسترسیپذیری"
+
+#: atk/atkobject.c:281
+msgid "Description of an object, formatted for assistive technology access"
+msgstr "شرح یک شی، که برای دسترسی به فناوری یاریدهنده قالببندی شده"
+
+#: atk/atkobject.c:287
+msgid "Accessible Parent"
+msgstr "والد دسترسیپذیری"
+
+#: atk/atkobject.c:288
+msgid "Parent of the current accessible as returned by atk_object_get_parent()"
+msgstr ""
+"والد دسترسیپذیری کنونی، آنگونه که به دست atk_object_get_parent() بازگشته"
+
+#: atk/atkobject.c:304
+msgid "Accessible Value"
+msgstr "مقدار برای دسترسیپذیری"
+
+#: atk/atkobject.c:305
+msgid "Is used to notify that the value has changed"
+msgstr "برای اطلاع دادن از تغییر مقدار استفاده میشود"
+
+#: atk/atkobject.c:313
+msgid "Accessible Role"
+msgstr "نقش دسترسیپذیری"
+
+#: atk/atkobject.c:314
+msgid "The accessible role of this object"
+msgstr "نقش دسترسیپذیری این شی"
+
+#: atk/atkobject.c:321
+msgid "Accessible Layer"
+msgstr "لایهٔ دسترسیپذیری"
+
+#: atk/atkobject.c:322
+msgid "The accessible layer of this object"
+msgstr "لایهٔ دسترسیپذیری این شی"
+
+#: atk/atkobject.c:330
+msgid "Accessible MDI Value"
+msgstr "مقدار MDI دسترسیپذیری"
+
+#: atk/atkobject.c:331
+msgid "The accessible MDI value of this object"
+msgstr "مقدار MDI دسترسیپذیری این شی"
+
+#: atk/atkobject.c:347
+msgid "Accessible Table Caption"
+msgstr "عنوان جدول دسترسیپذیری"
+
+#: atk/atkobject.c:348
+msgid ""
+"Is used to notify that the table caption has changed; this property should "
+"not be used. accessible-table-caption-object should be used instead"
+msgstr ""
+"برای آگاهی از تغییر عنوان جدول استفاده میشود. این ویژگی نباید استفاده شود. "
+"به جایش باید از accessible-table-caption-object استفاده شود"
+
+#: atk/atkobject.c:362
+msgid "Accessible Table Column Header"
+msgstr "سرستون جدول دسترسیپذیری"
+
+#: atk/atkobject.c:363
+msgid "Is used to notify that the table column header has changed"
+msgstr "برای اطلاع دادن از تغیر سرستون جدول استفاده میشود"
+
+#: atk/atkobject.c:378
+msgid "Accessible Table Column Description"
+msgstr "شرح ستون جدول برای دسترسیپذیری"
+
+#: atk/atkobject.c:379
+msgid "Is used to notify that the table column description has changed"
+msgstr "برای اطلاع دادن از تغییر شرح ستون جدول استفاده میشود"
+
+#: atk/atkobject.c:394
+msgid "Accessible Table Row Header"
+msgstr "سرسطر جدول دسترسیپذیری"
+
+#: atk/atkobject.c:395
+msgid "Is used to notify that the table row header has changed"
+msgstr "برای اطلاع دادن از تغییر سرسطر جدول استفاده میشود"
+
+#: atk/atkobject.c:409
+msgid "Accessible Table Row Description"
+msgstr "شرح سطر جدول دسترسیپذیری"
+
+#: atk/atkobject.c:410
+msgid "Is used to notify that the table row description has changed"
+msgstr "برای اطلاع دادن از تغییر شرح سطر جدول استفاده میشود"
+
+#: atk/atkobject.c:416
+msgid "Accessible Table Summary"
+msgstr "خلاصهٔ جدول دسترسیپذیری"
+
+#: atk/atkobject.c:417
+msgid "Is used to notify that the table summary has changed"
+msgstr "برای اطلاع دادن از تغییر خلاصه جدول استفاده میشود"
+
+#: atk/atkobject.c:423
+msgid "Accessible Table Caption Object"
+msgstr "شی عنوان جدول برای دسترسیپذیری"
+
+#: atk/atkobject.c:424
+msgid "Is used to notify that the table caption has changed"
+msgstr "برای اطلاع دادن از تغییر عنوان جدول استفاده میشود"
+
+#: atk/atkobject.c:430
+msgid "Number of Accessible Hypertext Links"
+msgstr "تعداد پیوندهای Hypertext دسترسیپذیری"
+
+#: atk/atkobject.c:431
+msgid "The number of links which the current AtkHypertext has"
+msgstr "تعداد پیوندهایی که AtkHypertext فعلی دارد"
+
+#: atk/atkobject.c:440
+msgid "Accessible ID"
+msgstr "شناسهٔ دسترسیپذیری"
+
+#: atk/atkobject.c:441
+msgid "ID for the accessible; useful for automated testing"
+msgstr "شناسه برای دسترسیپذیری. مفید برای آزمون خودکار"
+
+#: atk/atkobject.c:447
+msgid "Help text"
+msgstr "متن راهنما"
+
+#: atk/atkobject.c:448
+msgid "Help text associated with the accessible"
+msgstr "متن راهنمای همراه با دسترسیپذیری"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:193
+msgid "very weak"
+msgstr "خیلی ضعیف"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:200
+msgid "weak"
+msgstr "ضعیف"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:207
+msgid "acceptable"
+msgstr "پذیرفتنی"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:214
+msgid "strong"
+msgstr "قوی"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:221
+msgid "very strong"
+msgstr "خیلی قوی"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:229
+msgid "very low"
+msgstr "خیلی پایین"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:237
+msgid "medium"
+msgstr "متوسّط"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:245
+msgid "high"
+msgstr "بالا"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:253
+msgid "very high"
+msgstr "خیلی بالا"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:261
+msgid "very bad"
+msgstr "خیلی بد"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:269
+msgid "bad"
+msgstr "بد"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:277
+msgid "good"
+msgstr "خوب"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:285
+msgid "very good"
+msgstr "خیلی خوب"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:293
+msgid "best"
+msgstr "بهترین"
+
+#: atspi/atspi-component.c:352 atspi/atspi-misc.c:1234 atspi/atspi-value.c:123
+msgid "The application no longer exists"
+msgstr "برنامه دیگر وجود ندارد"
+
+#: atspi/atspi-misc.c:49
msgid "invalid"
msgstr "نامعتبر"
-#: atk/atkobject.c:99
+#: atspi/atspi-misc.c:50
msgid "accelerator label"
msgstr "برچسب شتابده"
-#: atk/atkobject.c:100
+#: atspi/atspi-misc.c:51
msgid "alert"
msgstr "آژیر"
-#: atk/atkobject.c:101
+#: atspi/atspi-misc.c:52
msgid "animation"
msgstr "پویانمایی"
-#: atk/atkobject.c:102
+#: atspi/atspi-misc.c:53
msgid "arrow"
msgstr "پیکان"
-#: atk/atkobject.c:103
+#: atspi/atspi-misc.c:54
msgid "calendar"
msgstr "تقویم"
-#: atk/atkobject.c:104
+#: atspi/atspi-misc.c:55
msgid "canvas"
msgstr "بوم"
-#: atk/atkobject.c:105
+#: atspi/atspi-misc.c:56
msgid "check box"
msgstr "جعبهٔ تیکدار"
-#: atk/atkobject.c:106
+#: atspi/atspi-misc.c:57
msgid "check menu item"
msgstr "مورد فهرست تیکدار"
-#: atk/atkobject.c:107
+#: atspi/atspi-misc.c:58
msgid "color chooser"
msgstr "گزینشگر رنگ"
-#: atk/atkobject.c:108
+#: atspi/atspi-misc.c:59
msgid "column header"
msgstr "سرستون"
-#: atk/atkobject.c:109
+#: atspi/atspi-misc.c:60
msgid "combo box"
msgstr "جعبه ترکیب"
-#: atk/atkobject.c:110
+#: atspi/atspi-misc.c:61
msgid "dateeditor"
msgstr "ویرایشگر تاریخ"
-#: atk/atkobject.c:111
+#: atspi/atspi-misc.c:62
msgid "desktop icon"
msgstr "شمایل رومیزی"
-#: atk/atkobject.c:112
+#: atspi/atspi-misc.c:63
msgid "desktop frame"
msgstr "قاب رومیزی"
-#: atk/atkobject.c:113
+#: atspi/atspi-misc.c:64
msgid "dial"
msgstr "شمارهگیری"
-#: atk/atkobject.c:114
+#: atspi/atspi-misc.c:65
msgid "dialog"
msgstr "گفتوگو"
-#: atk/atkobject.c:115
+#: atspi/atspi-misc.c:66
msgid "directory pane"
msgstr "قاب شاخه"
-#: atk/atkobject.c:116
+#: atspi/atspi-misc.c:67
msgid "drawing area"
msgstr "ناحیهٔ رسم"
-#: atk/atkobject.c:117
+#: atspi/atspi-misc.c:68
msgid "file chooser"
msgstr "گزینشگر پرونده"
-#: atk/atkobject.c:118
+#: atspi/atspi-misc.c:69
msgid "filler"
msgstr "پرکننده"
#. I know it looks wrong but that is what Java returns
-#: atk/atkobject.c:120
+#: atspi/atspi-misc.c:71
msgid "fontchooser"
msgstr "گزینشگر قلم"
-#: atk/atkobject.c:121
+#: atspi/atspi-misc.c:72
msgid "frame"
msgstr "قاب"
-#: atk/atkobject.c:122
+#: atspi/atspi-misc.c:73
msgid "glass pane"
msgstr "قاب شیشهای"
-#: atk/atkobject.c:123
+#: atspi/atspi-misc.c:74
msgid "html container"
msgstr "بارگنج html"
-#: atk/atkobject.c:124
+#: atspi/atspi-misc.c:75
msgid "icon"
msgstr "نقشک"
-#: atk/atkobject.c:125
+#: atspi/atspi-misc.c:76
msgid "image"
msgstr "تصویر"
-#: atk/atkobject.c:126
+#: atspi/atspi-misc.c:77
msgid "internal frame"
msgstr "قاب داخلی"
-#: atk/atkobject.c:127
+#: atspi/atspi-misc.c:78
msgid "label"
msgstr "برچسب"
-#: atk/atkobject.c:128
+#: atspi/atspi-misc.c:79
msgid "layered pane"
msgstr "قاب لایهدار"
-#: atk/atkobject.c:129
+#: atspi/atspi-misc.c:80
msgid "list"
msgstr "سیاهه"
-#: atk/atkobject.c:130
+#: atspi/atspi-misc.c:81
msgid "list item"
msgstr "مورد سیاهه"
-#: atk/atkobject.c:131
+#: atspi/atspi-misc.c:82
msgid "menu"
msgstr "فهرست"
-#: atk/atkobject.c:132
+#: atspi/atspi-misc.c:83
msgid "menu bar"
msgstr "نوار فهرست"
-#: atk/atkobject.c:133
+#: atspi/atspi-misc.c:84
msgid "menu button"
msgstr "دکمهٔ فهرست"
-#: atk/atkobject.c:134
+#: atspi/atspi-misc.c:85
msgid "menu item"
msgstr "مورد فهرست"
-#: atk/atkobject.c:135
+#: atspi/atspi-misc.c:86
msgid "option pane"
msgstr "قاب گزینه"
-#: atk/atkobject.c:136
+#: atspi/atspi-misc.c:87
msgid "page tab"
msgstr "زبانهٔ صفحه"
-#: atk/atkobject.c:137
+#: atspi/atspi-misc.c:88
msgid "page tab list"
msgstr "سیاههٔ زبانههای صفحه"
-#: atk/atkobject.c:138
+#: atspi/atspi-misc.c:89
msgid "panel"
msgstr "تابلو"
-#: atk/atkobject.c:139
+#: atspi/atspi-misc.c:90
msgid "password text"
msgstr "متن گذرواژه"
-#: atk/atkobject.c:140
+#: atspi/atspi-misc.c:91
msgid "popup menu"
msgstr "فهرست واشو"
-#: atk/atkobject.c:141
+#: atspi/atspi-misc.c:92
msgid "progress bar"
msgstr "نوار پیشرفت"
-#: atk/atkobject.c:142
-msgid "push button"
-msgstr "دکمهٔ فشاری"
+#: atspi/atspi-misc.c:93
+msgid "button"
+msgstr "دکمه"
-#: atk/atkobject.c:143
+#: atspi/atspi-misc.c:94
msgid "radio button"
msgstr "دکمهٔ رادیویی"
-#: atk/atkobject.c:144
+#: atspi/atspi-misc.c:95
msgid "radio menu item"
msgstr "مورد فهرست رادیویی"
-#: atk/atkobject.c:145
+#: atspi/atspi-misc.c:96
msgid "root pane"
msgstr "قاب ریشه"
-#: atk/atkobject.c:146
+#: atspi/atspi-misc.c:97
msgid "row header"
msgstr "سرسطر"
-#: atk/atkobject.c:147
+#: atspi/atspi-misc.c:98
msgid "scroll bar"
msgstr "نوار لغزش"
-#: atk/atkobject.c:148
+#: atspi/atspi-misc.c:99
msgid "scroll pane"
msgstr "قاب لغزش"
-#: atk/atkobject.c:149
+#: atspi/atspi-misc.c:100
msgid "separator"
msgstr "جداساز"
-#: atk/atkobject.c:150
+#: atspi/atspi-misc.c:101
msgid "slider"
msgstr "لغزنده"
-#: atk/atkobject.c:151
+#: atspi/atspi-misc.c:102
msgid "split pane"
msgstr "قاب تقسیم کننده"
-#: atk/atkobject.c:152
+#: atspi/atspi-misc.c:103
msgid "spin button"
msgstr "دگمه دوار"
-#: atk/atkobject.c:153
+#: atspi/atspi-misc.c:104
msgid "statusbar"
msgstr "نوار وضعیت"
-#: atk/atkobject.c:154
+#: atspi/atspi-misc.c:105
+msgid "switch"
+msgstr "کلید"
+
+#: atspi/atspi-misc.c:106
msgid "table"
msgstr "جدول"
-#: atk/atkobject.c:155
+#: atspi/atspi-misc.c:107
msgid "table cell"
msgstr "خانهٔ جدول"
-#: atk/atkobject.c:156
+#: atspi/atspi-misc.c:108
msgid "table column header"
msgstr "سرستون جدول"
-#: atk/atkobject.c:157
+#: atspi/atspi-misc.c:109
msgid "table row header"
msgstr "سرسطر جدول"
-#: atk/atkobject.c:158
+#: atspi/atspi-misc.c:110
msgid "tear off menu item"
msgstr "مورد فهرست جداشدنی"
-#: atk/atkobject.c:159
+#: atspi/atspi-misc.c:111
msgid "terminal"
msgstr "پایانه"
-#: atk/atkobject.c:160
+#: atspi/atspi-misc.c:112
msgid "text"
msgstr "متن"
-#: atk/atkobject.c:161
+#: atspi/atspi-misc.c:113
msgid "toggle button"
msgstr "دکمهٔ ضامن"
-#: atk/atkobject.c:162
+#: atspi/atspi-misc.c:114
msgid "tool bar"
msgstr "نوار ابزار"
-#: atk/atkobject.c:163
+#: atspi/atspi-misc.c:115
msgid "tool tip"
msgstr "راهنمای آنی"
-#: atk/atkobject.c:164
+#: atspi/atspi-misc.c:116
msgid "tree"
msgstr "درخت"
-#: atk/atkobject.c:165
+#: atspi/atspi-misc.c:117
msgid "tree table"
msgstr "جدول درخت"
-#: atk/atkobject.c:166
+#: atspi/atspi-misc.c:118
msgid "unknown"
msgstr "نامعلوم"
-#: atk/atkobject.c:167
+#: atspi/atspi-misc.c:119
msgid "viewport"
msgstr "دیدگاه"
-#: atk/atkobject.c:168
+#: atspi/atspi-misc.c:120
msgid "window"
msgstr "پنجره"
-#: atk/atkobject.c:169
+#: atspi/atspi-misc.c:121
msgid "header"
msgstr "سرصفحه"
-#: atk/atkobject.c:170
+#: atspi/atspi-misc.c:122
msgid "footer"
msgstr "پاصفحه"
-#: atk/atkobject.c:171
+#: atspi/atspi-misc.c:123
msgid "paragraph"
msgstr "پاراگراف"
-#: atk/atkobject.c:172
+#: atspi/atspi-misc.c:124
msgid "ruler"
msgstr "خطکش"
-#: atk/atkobject.c:173
+#: atspi/atspi-misc.c:125
msgid "application"
msgstr "برنامه"
-#: atk/atkobject.c:174
+#: atspi/atspi-misc.c:126
msgid "autocomplete"
msgstr "تکمیل خودکار"
-#: atk/atkobject.c:175
+#: atspi/atspi-misc.c:127
msgid "edit bar"
msgstr "نوار ویرایش"
-#: atk/atkobject.c:176
+#: atspi/atspi-misc.c:128
msgid "embedded component"
msgstr "مؤلفهٔ تعبیهشده"
-#: atk/atkobject.c:177
+#: atspi/atspi-misc.c:129
msgid "entry"
msgstr "مدخل"
-#: atk/atkobject.c:178
+#: atspi/atspi-misc.c:130
msgid "chart"
msgstr "نمودار"
-#: atk/atkobject.c:179
+#: atspi/atspi-misc.c:131
msgid "caption"
msgstr "عنوان"
-#: atk/atkobject.c:180
+#: atspi/atspi-misc.c:132
msgid "document frame"
msgstr "قاب سند"
-#: atk/atkobject.c:181
+#: atspi/atspi-misc.c:133
msgid "heading"
msgstr "سرفصل"
-#: atk/atkobject.c:182
+#: atspi/atspi-misc.c:134
msgid "page"
msgstr "صفحه"
-#: atk/atkobject.c:183
+#: atspi/atspi-misc.c:135
msgid "section"
msgstr "بخش"
-#: atk/atkobject.c:184
+#: atspi/atspi-misc.c:136
msgid "redundant object"
msgstr "شئ زیادی"
-#: atk/atkobject.c:185
+#: atspi/atspi-misc.c:137
msgid "form"
msgstr "فرم"
-#: atk/atkobject.c:186
+#: atspi/atspi-misc.c:138
msgid "link"
msgstr "پیوند"
-#: atk/atkobject.c:187
+#: atspi/atspi-misc.c:139
msgid "input method window"
msgstr "پنجرهٔ روش ورودی"
-#: atk/atkobject.c:188
+#: atspi/atspi-misc.c:140
msgid "table row"
msgstr "سطر جدول"
-#: atk/atkobject.c:189
+#: atspi/atspi-misc.c:141
msgid "tree item"
msgstr "مورد درخت"
-#: atk/atkobject.c:190
+#: atspi/atspi-misc.c:142
msgid "document spreadsheet"
msgstr "سند صفحهگسترده"
-#: atk/atkobject.c:191
+#: atspi/atspi-misc.c:143
msgid "document presentation"
msgstr "سند ارئه"
-#: atk/atkobject.c:192
+#: atspi/atspi-misc.c:144
msgid "document text"
msgstr "سند متنی"
-#: atk/atkobject.c:193
+#: atspi/atspi-misc.c:145
msgid "document web"
msgstr "سند وب"
-#: atk/atkobject.c:194
+#: atspi/atspi-misc.c:146
msgid "document email"
msgstr "سند پستالکترونیکی"
-#: atk/atkobject.c:195
+#: atspi/atspi-misc.c:147
msgid "comment"
msgstr "توضیح"
-#: atk/atkobject.c:196
+#: atspi/atspi-misc.c:148
msgid "list box"
msgstr "جعبهٔ سیاهه"
-#: atk/atkobject.c:197
+#: atspi/atspi-misc.c:149
msgid "grouping"
msgstr "درحال گروه کردن"
-#: atk/atkobject.c:198
+#: atspi/atspi-misc.c:150
msgid "image map"
msgstr "نقشه تصویر"
-#: atk/atkobject.c:199
+#: atspi/atspi-misc.c:151
msgid "notification"
msgstr "اعلان"
-#: atk/atkobject.c:200
+#: atspi/atspi-misc.c:152
msgid "info bar"
msgstr "نوار اطلاعات"
-#: atk/atkobject.c:201
+#: atspi/atspi-misc.c:153
msgid "level bar"
msgstr "نوار سطح"
-#: atk/atkobject.c:202
+#: atspi/atspi-misc.c:154
msgid "title bar"
msgstr "نوار عنوان"
-#: atk/atkobject.c:203
+#: atspi/atspi-misc.c:155
msgid "block quote"
msgstr "نقل قول بلوکی"
-#: atk/atkobject.c:204
+#: atspi/atspi-misc.c:156
msgid "audio"
msgstr "صدا"
-#: atk/atkobject.c:205
+#: atspi/atspi-misc.c:157
msgid "video"
msgstr "ویدیو"
-#: atk/atkobject.c:206
+#: atspi/atspi-misc.c:158
msgid "definition"
msgstr "تعریف"
-#: atk/atkobject.c:207
+#: atspi/atspi-misc.c:159
msgid "article"
msgstr "مقاله"
-#: atk/atkobject.c:208
+#: atspi/atspi-misc.c:160
msgid "landmark"
msgstr "نشانه"
-#: atk/atkobject.c:209
+#: atspi/atspi-misc.c:161
msgid "log"
msgstr "گزارش"
-#: atk/atkobject.c:210
+#: atspi/atspi-misc.c:162
msgid "marquee"
msgstr "چادر"
-#: atk/atkobject.c:211
+#: atspi/atspi-misc.c:163
msgid "math"
msgstr "ریاضی"
-#: atk/atkobject.c:212
+#: atspi/atspi-misc.c:164
msgid "rating"
msgstr "رتبهبندی"
-#: atk/atkobject.c:213
+#: atspi/atspi-misc.c:165
msgid "timer"
msgstr "زمانسنج"
-#: atk/atkobject.c:214
+#: atspi/atspi-misc.c:166
msgid "description list"
msgstr "سیاههٔ شرح"
-#: atk/atkobject.c:215
+#: atspi/atspi-misc.c:167
msgid "description term"
msgstr "عبارت شرح"
-#: atk/atkobject.c:216
+#: atspi/atspi-misc.c:168
msgid "description value"
msgstr "مقدار شرح"
-#: atk/atkobject.c:392
-msgid "Accessible Name"
-msgstr "نام دسترسیپذیری"
-
-#: atk/atkobject.c:393
-msgid "Object instance’s name formatted for assistive technology access"
-msgstr "نام نمونهٔ شی که برای دسترسی به فناوری یاریدهنده قالببندی شده"
-
-#: atk/atkobject.c:399
-msgid "Accessible Description"
-msgstr "شرح دسترسیپذیری"
-
-#: atk/atkobject.c:400
-msgid "Description of an object, formatted for assistive technology access"
-msgstr "شرح یک شی، که برای دسترسی به فناوری یاریدهنده قالببندی شده"
-
-#: atk/atkobject.c:406
-msgid "Accessible Parent"
-msgstr "والد دسترسیپذیری"
-
-#: atk/atkobject.c:407
-msgid "Parent of the current accessible as returned by atk_object_get_parent()"
-msgstr ""
-"والد دسترسیپذیری کنونی، آنگونه که به دست atk_object_get_parent() بازگشته"
-
-#: atk/atkobject.c:423
-msgid "Accessible Value"
-msgstr "مقدار برای دسترسیپذیری"
-
-#: atk/atkobject.c:424
-msgid "Is used to notify that the value has changed"
-msgstr "برای اطلاع دادن از تغییر مقدار استفاده میشود"
-
-#: atk/atkobject.c:432
-msgid "Accessible Role"
-msgstr "نقش دسترسیپذیری"
-
-#: atk/atkobject.c:433
-msgid "The accessible role of this object"
-msgstr "نقش دسترسیپذیری این شی"
-
-#: atk/atkobject.c:440
-msgid "Accessible Layer"
-msgstr "لایهٔ دسترسیپذیری"
-
-#: atk/atkobject.c:441
-msgid "The accessible layer of this object"
-msgstr "لایهٔ دسترسیپذیری این شی"
-
-#: atk/atkobject.c:449
-msgid "Accessible MDI Value"
-msgstr "مقدار MDI دسترسیپذیری"
-
-#: atk/atkobject.c:450
-msgid "The accessible MDI value of this object"
-msgstr "مقدار MDI دسترسیپذیری این شی"
-
-#: atk/atkobject.c:466
-msgid "Accessible Table Caption"
-msgstr "عنوان جدول دسترسیپذیری"
-
-#: atk/atkobject.c:467
-msgid ""
-"Is used to notify that the table caption has changed; this property should "
-"not be used. accessible-table-caption-object should be used instead"
-msgstr ""
-"برای آگاهی از تغییر عنوان جدول استفاده میشود. این ویژگی نباید استفاده شود. "
-"به جایش باید از accessible-table-caption-object استفاده شود"
-
-#: atk/atkobject.c:481
-msgid "Accessible Table Column Header"
-msgstr "سرستون جدول دسترسیپذیری"
-
-#: atk/atkobject.c:482
-msgid "Is used to notify that the table column header has changed"
-msgstr "برای اطلاع دادن از تغیر سرستون جدول استفاده میشود"
-
-#: atk/atkobject.c:497
-msgid "Accessible Table Column Description"
-msgstr "شرح ستون جدول برای دسترسیپذیری"
-
-#: atk/atkobject.c:498
-msgid "Is used to notify that the table column description has changed"
-msgstr "برای اطلاع دادن از تغییر شرح ستون جدول استفاده میشود"
-
-#: atk/atkobject.c:513
-msgid "Accessible Table Row Header"
-msgstr "سرسطر جدول دسترسیپذیری"
-
-#: atk/atkobject.c:514
-msgid "Is used to notify that the table row header has changed"
-msgstr "برای اطلاع دادن از تغییر سرسطر جدول استفاده میشود"
-
-#: atk/atkobject.c:528
-msgid "Accessible Table Row Description"
-msgstr "شرح سطر جدول دسترسیپذیری"
-
-#: atk/atkobject.c:529
-msgid "Is used to notify that the table row description has changed"
-msgstr "برای اطلاع دادن از تغییر شرح سطر جدول استفاده میشود"
-
-#: atk/atkobject.c:535
-msgid "Accessible Table Summary"
-msgstr "خلاصهٔ جدول دسترسیپذیری"
-
-#: atk/atkobject.c:536
-msgid "Is used to notify that the table summary has changed"
-msgstr "برای اطلاع دادن از تغییر خلاصه جدول استفاده میشود"
-
-#: atk/atkobject.c:542
-msgid "Accessible Table Caption Object"
-msgstr "شی عنوان جدول برای دسترسیپذیری"
-
-#: atk/atkobject.c:543
-msgid "Is used to notify that the table caption has changed"
-msgstr "برای اطلاع دادن از تغییر عنوان جدول استفاده میشود"
-
-#: atk/atkobject.c:549
-msgid "Number of Accessible Hypertext Links"
-msgstr "تعداد پیوندهای Hypertext دسترسیپذیری"
-
-#: atk/atkobject.c:550
-msgid "The number of links which the current AtkHypertext has"
-msgstr "تعداد پیوندهایی که AtkHypertext فعلی دارد"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:194
-msgid "very weak"
-msgstr "خیلی ضعیف"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:201
-msgid "weak"
-msgstr "ضعیف"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:208
-msgid "acceptable"
-msgstr "پذیرفتنی"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:215
-msgid "strong"
-msgstr "قوی"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:222
-msgid "very strong"
-msgstr "خیلی قوی"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:230
-msgid "very low"
-msgstr "خیلی پایین"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:238
-msgid "medium"
-msgstr "متوسّط"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:246
-msgid "high"
-msgstr "بالا"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:254
-msgid "very high"
-msgstr "خیلی بالا"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:262
-msgid "very bad"
-msgstr "خیلی بد"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:270
-msgid "bad"
-msgstr "بد"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:278
-msgid "good"
-msgstr "خوب"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:286
-msgid "very good"
-msgstr "خیلی خوب"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:294
-msgid "best"
-msgstr "بهترین"
-
-#: atspi/atspi-component.c:332 atspi/atspi-misc.c:1063 atspi/atspi-value.c:111
-msgid "The application no longer exists"
-msgstr "برنامه دیگر وجود ندارد"
+#~ msgid "push button"
+#~ msgstr "دکمهٔ فشاری"
#~ msgid "Attempted synchronous call where prohibited"
#~ msgstr "تلاش برای تماس همزمان ممنوع است"
diff --git a/po/fr.po b/po/fr.po
index bf57fe8..bb4dcbc 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -15,815 +15,841 @@
# Robert-André Mauchin , 2007.
# Claude Paroz , 2011-2014
# Charles Monzat , 2018-2019.
+# Irénée THIRION , 2024.
#
msgid ""
msgstr ""
"Project-Id-Version: atk HEAD\n"
-"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/at-spi2-core/issues\n"
-"POT-Creation-Date: 2022-09-12 16:02+0000\n"
-"PO-Revision-Date: 2022-09-16 08:11+0200\n"
-"Last-Translator: Guillaume Bernard \n"
-"Language-Team: GNOME French Team \n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/at-spi2-core/issues/\n"
+"POT-Creation-Date: 2025-03-01 12:43+0000\n"
+"PO-Revision-Date: 2025-03-01 15:55+0100\n"
+"Last-Translator: Vincent Chatelain \n"
+"Language-Team: French \n"
"Language: fr\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"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Poedit 3.1.1\n"
+"X-Generator: Poedit 3.4.4\n"
"X-Generator: Gtranslator 3.32.1\n"
+"X-DL-Lang: fr\n"
+"X-DL-Module: at-spi2-core\n"
+"X-DL-Branch: main\n"
+"X-DL-Domain: po\n"
+"X-DL-State: Translating\n"
-#: atk/atkhyperlink.c:126
+#: atk/atkhyperlink.c:127
msgid "Selected Link"
msgstr "Lien sélectionné"
-#: atk/atkhyperlink.c:127
+#: atk/atkhyperlink.c:128
msgid "Specifies whether the AtkHyperlink object is selected"
msgstr "Indique si l’objet AtkHyperlink est sélectionné"
-#: atk/atkhyperlink.c:133
+#: atk/atkhyperlink.c:134
msgid "Number of Anchors"
msgstr "Nombre d’ancres"
-#: atk/atkhyperlink.c:134
+#: atk/atkhyperlink.c:135
msgid "The number of anchors associated with the AtkHyperlink object"
msgstr "Le nombre d’ancres associés avec l’objet AtkHyperlink"
-#: atk/atkhyperlink.c:142
+#: atk/atkhyperlink.c:143
msgid "End index"
msgstr "Fin d’index"
-#: atk/atkhyperlink.c:143
+#: atk/atkhyperlink.c:144
msgid "The end index of the AtkHyperlink object"
msgstr "La fin de l’index de l’objet AtkHyperlink"
-#: atk/atkhyperlink.c:151
+#: atk/atkhyperlink.c:152
msgid "Start index"
msgstr "Début d’index"
-#: atk/atkhyperlink.c:152
+#: atk/atkhyperlink.c:153
msgid "The start index of the AtkHyperlink object"
msgstr "Le début de l’index de l’objet AtkHyperlink"
-#: atk/atkobject.c:99
+#: atk/atkobject.c:273
+msgid "Accessible Name"
+msgstr "Nom accessible"
+
+#: atk/atkobject.c:274
+msgid "Object instance’s name formatted for assistive technology access"
+msgstr ""
+"Nom d’une instance d’objet formaté pour être accessible par les aides "
+"techniques"
+
+#: atk/atkobject.c:280
+msgid "Accessible Description"
+msgstr "Description accessible"
+
+#: atk/atkobject.c:281
+msgid "Description of an object, formatted for assistive technology access"
+msgstr ""
+"Description d’un objet, formaté pour être accessible par les aides techniques"
+
+#: atk/atkobject.c:287
+msgid "Accessible Parent"
+msgstr "Parent accessible"
+
+#: atk/atkobject.c:288
+msgid "Parent of the current accessible as returned by atk_object_get_parent()"
+msgstr ""
+"Parent de l’élément accessible actuel renvoyé par atk_object_get_parent()"
+
+#: atk/atkobject.c:304
+msgid "Accessible Value"
+msgstr "Valeur accessible"
+
+#: atk/atkobject.c:305
+msgid "Is used to notify that the value has changed"
+msgstr "Est utilisé pour notifier que la valeur a changé"
+
+#: atk/atkobject.c:313
+msgid "Accessible Role"
+msgstr "Rôle accessible"
+
+#: atk/atkobject.c:314
+msgid "The accessible role of this object"
+msgstr "Le rôle accessible de cet objet"
+
+#: atk/atkobject.c:321
+msgid "Accessible Layer"
+msgstr "Couche accessible"
+
+#: atk/atkobject.c:322
+msgid "The accessible layer of this object"
+msgstr "La couche accessible de cet objet"
+
+#: atk/atkobject.c:330
+msgid "Accessible MDI Value"
+msgstr "Valeur MDI accessible"
+
+#: atk/atkobject.c:331
+msgid "The accessible MDI value of this object"
+msgstr "La valeur MDI accessible de cet objet"
+
+#: atk/atkobject.c:347
+msgid "Accessible Table Caption"
+msgstr "Légende de tableau accessible"
+
+#: atk/atkobject.c:348
+msgid ""
+"Is used to notify that the table caption has changed; this property should "
+"not be used. accessible-table-caption-object should be used instead"
+msgstr ""
+"Est utilisé pour notifier que la légende du tableau a changé ; cette "
+"propriété ne devrait pas être utilisée. La propriété accessible-table-"
+"caption-object devrait être utilisée à la place"
+
+#: atk/atkobject.c:362
+msgid "Accessible Table Column Header"
+msgstr "En-tête de colonne de tableau accessible"
+
+#: atk/atkobject.c:363
+msgid "Is used to notify that the table column header has changed"
+msgstr ""
+"Est utilisé pour notifier que l’en-tête de la colonne du tableau a changé"
+
+#: atk/atkobject.c:378
+msgid "Accessible Table Column Description"
+msgstr "Description de colonne de tableau accessible"
+
+#: atk/atkobject.c:379
+msgid "Is used to notify that the table column description has changed"
+msgstr ""
+"Est utilisé pour notifier que la description de la colonne du tableau a "
+"changé"
+
+#: atk/atkobject.c:394
+msgid "Accessible Table Row Header"
+msgstr "En-tête de rangée de tableau accessible"
+
+#: atk/atkobject.c:395
+msgid "Is used to notify that the table row header has changed"
+msgstr ""
+"Est utilisé pour notifier que l’en-tête de la rangée du tableau a changé"
+
+#: atk/atkobject.c:409
+msgid "Accessible Table Row Description"
+msgstr "Description de rangée de tableau accessible"
+
+#: atk/atkobject.c:410
+msgid "Is used to notify that the table row description has changed"
+msgstr ""
+"Est utilisé pour notifier que la description de la rangée du tableau a changé"
+
+#: atk/atkobject.c:416
+msgid "Accessible Table Summary"
+msgstr "Résumé de tableau accessible"
+
+#: atk/atkobject.c:417
+msgid "Is used to notify that the table summary has changed"
+msgstr "Est utilisé pour notifier que le résumé du tableau a changé"
+
+#: atk/atkobject.c:423
+msgid "Accessible Table Caption Object"
+msgstr "Objet légende de tableau accessible"
+
+#: atk/atkobject.c:424
+msgid "Is used to notify that the table caption has changed"
+msgstr "Est utilisé pour notifier que la légende du tableau a changé"
+
+#: atk/atkobject.c:430
+msgid "Number of Accessible Hypertext Links"
+msgstr "Nombre de liens hypertextes accessibles"
+
+#: atk/atkobject.c:431
+msgid "The number of links which the current AtkHypertext has"
+msgstr "Le nombre de liens contenus par le AtkHypertext"
+
+#: atk/atkobject.c:440
+msgid "Accessible ID"
+msgstr "Identifiant accessible"
+
+#: atk/atkobject.c:441
+msgid "ID for the accessible; useful for automated testing"
+msgstr "Identifiant de l’élément accessible ; utile pour les tests automatisés"
+
+#: atk/atkobject.c:447
+msgid "Help text"
+msgstr "Texte d’aide"
+
+#: atk/atkobject.c:448
+msgid "Help text associated with the accessible"
+msgstr "Texte d’aide associé à l’élément accessible"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:193
+msgid "very weak"
+msgstr "très faible"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:200
+msgid "weak"
+msgstr "faible"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:207
+msgid "acceptable"
+msgstr "acceptable"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:214
+msgid "strong"
+msgstr "fort"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:221
+msgid "very strong"
+msgstr "très fort"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:229
+msgid "very low"
+msgstr "très bas"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:237
+msgid "medium"
+msgstr "moyen"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:245
+msgid "high"
+msgstr "élevé"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:253
+msgid "very high"
+msgstr "très élevé"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:261
+msgid "very bad"
+msgstr "très mauvais"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:269
+msgid "bad"
+msgstr "mauvais"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:277
+msgid "good"
+msgstr "bon"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:285
+msgid "very good"
+msgstr "très bon"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:293
+msgid "best"
+msgstr "optimal"
+
+#: atspi/atspi-component.c:352 atspi/atspi-misc.c:1234 atspi/atspi-value.c:123
+msgid "The application no longer exists"
+msgstr "L’application n’existe plus"
+
+#: atspi/atspi-misc.c:49
msgid "invalid"
msgstr "non valide"
-#: atk/atkobject.c:100
+#: atspi/atspi-misc.c:50
msgid "accelerator label"
msgstr "étiquette du raccourci"
-#: atk/atkobject.c:101
+#: atspi/atspi-misc.c:51
msgid "alert"
msgstr "alerte"
-#: atk/atkobject.c:102
+#: atspi/atspi-misc.c:52
msgid "animation"
msgstr "animation"
-#: atk/atkobject.c:103
+#: atspi/atspi-misc.c:53
msgid "arrow"
msgstr "pointeur"
-#: atk/atkobject.c:104
+#: atspi/atspi-misc.c:54
msgid "calendar"
msgstr "calendrier"
-#: atk/atkobject.c:105
+#: atspi/atspi-misc.c:55
msgid "canvas"
msgstr "canevas"
-#: atk/atkobject.c:106
+#: atspi/atspi-misc.c:56
msgid "check box"
msgstr "case à cocher"
-#: atk/atkobject.c:107
+#: atspi/atspi-misc.c:57
msgid "check menu item"
msgstr "élément de menu avec case à cocher"
-#: atk/atkobject.c:108
+#: atspi/atspi-misc.c:58
msgid "color chooser"
msgstr "sélecteur de couleurs"
-#: atk/atkobject.c:109
+#: atspi/atspi-misc.c:59
msgid "column header"
msgstr "en-tête de colonne"
-#: atk/atkobject.c:110
+#: atspi/atspi-misc.c:60
msgid "combo box"
msgstr "liste déroulante"
-#: atk/atkobject.c:111
+#: atspi/atspi-misc.c:61
msgid "dateeditor"
msgstr "éditeur de dates"
-#: atk/atkobject.c:112
+#: atspi/atspi-misc.c:62
msgid "desktop icon"
msgstr "icône du bureau"
-#: atk/atkobject.c:113
+#: atspi/atspi-misc.c:63
msgid "desktop frame"
msgstr "cadre du bureau"
-#: atk/atkobject.c:114
+#: atspi/atspi-misc.c:64
msgid "dial"
msgstr "afficheur circulaire"
-#: atk/atkobject.c:115
+#: atspi/atspi-misc.c:65
msgid "dialog"
msgstr "boîte de dialogue"
-#: atk/atkobject.c:116
+#: atspi/atspi-misc.c:66
msgid "directory pane"
msgstr "panneau des répertoires"
-#: atk/atkobject.c:117
+#: atspi/atspi-misc.c:67
msgid "drawing area"
msgstr "zone de dessin"
-#: atk/atkobject.c:118
+#: atspi/atspi-misc.c:68
msgid "file chooser"
msgstr "sélecteur de fichiers"
-#: atk/atkobject.c:119
+#: atspi/atspi-misc.c:69
msgid "filler"
msgstr "objet de remplissage"
#. I know it looks wrong but that is what Java returns
-#: atk/atkobject.c:121
+#: atspi/atspi-misc.c:71
msgid "fontchooser"
msgstr "sélecteur de polices"
-#: atk/atkobject.c:122
+#: atspi/atspi-misc.c:72
msgid "frame"
msgstr "cadre"
-#: atk/atkobject.c:123
+#: atspi/atspi-misc.c:73
msgid "glass pane"
msgstr "panneau de verre"
-#: atk/atkobject.c:124
+#: atspi/atspi-misc.c:74
msgid "html container"
msgstr "conteneur html"
-#: atk/atkobject.c:125
+#: atspi/atspi-misc.c:75
msgid "icon"
msgstr "icône"
-#: atk/atkobject.c:126
+#: atspi/atspi-misc.c:76
msgid "image"
msgstr "image"
-#: atk/atkobject.c:127
+#: atspi/atspi-misc.c:77
msgid "internal frame"
msgstr "cadre interne"
-#: atk/atkobject.c:128
+#: atspi/atspi-misc.c:78
msgid "label"
msgstr "étiquette"
-#: atk/atkobject.c:129
+#: atspi/atspi-misc.c:79
msgid "layered pane"
msgstr "panneau superposé"
-#: atk/atkobject.c:130
+#: atspi/atspi-misc.c:80
msgid "list"
msgstr "liste"
-#: atk/atkobject.c:131
+#: atspi/atspi-misc.c:81
msgid "list item"
msgstr "élément de liste"
-#: atk/atkobject.c:132
+#: atspi/atspi-misc.c:82
msgid "menu"
msgstr "menu"
-#: atk/atkobject.c:133
+#: atspi/atspi-misc.c:83
msgid "menu bar"
msgstr "barre de menus"
-#: atk/atkobject.c:134
+#: atspi/atspi-misc.c:84
msgid "menu button"
msgstr "bouton de menu"
-#: atk/atkobject.c:135
+#: atspi/atspi-misc.c:85
msgid "menu item"
msgstr "élément de menu"
-#: atk/atkobject.c:136
+#: atspi/atspi-misc.c:86
msgid "option pane"
msgstr "panneau d’options"
-#: atk/atkobject.c:137
+#: atspi/atspi-misc.c:87
msgid "page tab"
msgstr "onglet de page"
-#: atk/atkobject.c:138
+#: atspi/atspi-misc.c:88
msgid "page tab list"
msgstr "liste d’onglets de page"
-#: atk/atkobject.c:139
+#: atspi/atspi-misc.c:89
msgid "panel"
msgstr "tableau de bord"
-#: atk/atkobject.c:140
+#: atspi/atspi-misc.c:90
msgid "password text"
msgstr "champ de mot de passe"
-#: atk/atkobject.c:141
+#: atspi/atspi-misc.c:91
msgid "popup menu"
msgstr "menu contextuel"
-#: atk/atkobject.c:142
+#: atspi/atspi-misc.c:92
msgid "progress bar"
msgstr "barre de progression"
-#: atk/atkobject.c:143
-msgid "push button"
+#: atspi/atspi-misc.c:93
+msgid "button"
msgstr "bouton"
-#: atk/atkobject.c:144
+#: atspi/atspi-misc.c:94
msgid "radio button"
msgstr "bouton radio"
-#: atk/atkobject.c:145
+#: atspi/atspi-misc.c:95
msgid "radio menu item"
msgstr "élément de menu avec bouton radio"
-#: atk/atkobject.c:146
+#: atspi/atspi-misc.c:96
msgid "root pane"
msgstr "panneau racine"
-#: atk/atkobject.c:147
+#: atspi/atspi-misc.c:97
msgid "row header"
msgstr "en-tête de ligne"
-#: atk/atkobject.c:148
+#: atspi/atspi-misc.c:98
msgid "scroll bar"
msgstr "barre de défilement"
-#: atk/atkobject.c:149
+#: atspi/atspi-misc.c:99
msgid "scroll pane"
msgstr "panneau de défilement"
-#: atk/atkobject.c:150
+#: atspi/atspi-misc.c:100
msgid "separator"
msgstr "séparateur"
-#: atk/atkobject.c:151
+#: atspi/atspi-misc.c:101
msgid "slider"
msgstr "glissière"
-#: atk/atkobject.c:152
+#: atspi/atspi-misc.c:102
msgid "split pane"
msgstr "panneau divisible"
-#: atk/atkobject.c:153
+#: atspi/atspi-misc.c:103
msgid "spin button"
msgstr "bouton de réglage"
-#: atk/atkobject.c:154
+#: atspi/atspi-misc.c:104
msgid "statusbar"
msgstr "barre d’état"
-#: atk/atkobject.c:155
+#: atspi/atspi-misc.c:105
+msgid "switch"
+msgstr "bouton bascule"
+
+#: atspi/atspi-misc.c:106
msgid "table"
msgstr "tableau"
-#: atk/atkobject.c:156
+#: atspi/atspi-misc.c:107
msgid "table cell"
msgstr "cellule de tableau"
-#: atk/atkobject.c:157
+#: atspi/atspi-misc.c:108
msgid "table column header"
msgstr "en-tête de colonne de tableau"
-#: atk/atkobject.c:158
+#: atspi/atspi-misc.c:109
msgid "table row header"
msgstr "en-tête de ligne de tableau"
-#: atk/atkobject.c:159
+#: atspi/atspi-misc.c:110
msgid "tear off menu item"
msgstr "élément de menu détachable"
-#: atk/atkobject.c:160
+#: atspi/atspi-misc.c:111
msgid "terminal"
msgstr "console"
-#: atk/atkobject.c:161
+#: atspi/atspi-misc.c:112
msgid "text"
msgstr "texte"
-#: atk/atkobject.c:162
+#: atspi/atspi-misc.c:113
msgid "toggle button"
msgstr "bouton à deux états"
-#: atk/atkobject.c:163
+#: atspi/atspi-misc.c:114
msgid "tool bar"
msgstr "barre d’outils"
-#: atk/atkobject.c:164
+#: atspi/atspi-misc.c:115
msgid "tool tip"
msgstr "infobulle"
-#: atk/atkobject.c:165
+#: atspi/atspi-misc.c:116
msgid "tree"
msgstr "arbre"
-#: atk/atkobject.c:166
+#: atspi/atspi-misc.c:117
msgid "tree table"
msgstr "tableau arborescent"
-#: atk/atkobject.c:167
+#: atspi/atspi-misc.c:118
msgid "unknown"
msgstr "inconnu"
-#: atk/atkobject.c:168
+#: atspi/atspi-misc.c:119
msgid "viewport"
msgstr "fenêtre de travail"
-#: atk/atkobject.c:169
+#: atspi/atspi-misc.c:120
msgid "window"
msgstr "fenêtre"
-#: atk/atkobject.c:170
+#: atspi/atspi-misc.c:121
msgid "header"
msgstr "en-tête de page"
-#: atk/atkobject.c:171
+#: atspi/atspi-misc.c:122
msgid "footer"
msgstr "bas de page"
-#: atk/atkobject.c:172
+#: atspi/atspi-misc.c:123
msgid "paragraph"
msgstr "paragraphe"
-#: atk/atkobject.c:173
+#: atspi/atspi-misc.c:124
msgid "ruler"
msgstr "ligne"
-#: atk/atkobject.c:174
+#: atspi/atspi-misc.c:125
msgid "application"
msgstr "application"
-#: atk/atkobject.c:175
+#: atspi/atspi-misc.c:126
msgid "autocomplete"
msgstr "autocomplétion"
-#: atk/atkobject.c:176
+#: atspi/atspi-misc.c:127
msgid "edit bar"
msgstr "barre d’édition"
-#: atk/atkobject.c:177
+#: atspi/atspi-misc.c:128
msgid "embedded component"
msgstr "composant incorporé"
-#: atk/atkobject.c:178
+#: atspi/atspi-misc.c:129
msgid "entry"
msgstr "zone de saisie"
-#: atk/atkobject.c:179
+#: atspi/atspi-misc.c:130
msgid "chart"
msgstr "graphique"
-#: atk/atkobject.c:180
+#: atspi/atspi-misc.c:131
msgid "caption"
msgstr "légende"
-#: atk/atkobject.c:181
+#: atspi/atspi-misc.c:132
msgid "document frame"
msgstr "cadre du document"
-#: atk/atkobject.c:182
+#: atspi/atspi-misc.c:133
msgid "heading"
msgstr "en-tête"
-#: atk/atkobject.c:183
+#: atspi/atspi-misc.c:134
msgid "page"
msgstr "page"
-#: atk/atkobject.c:184
+#: atspi/atspi-misc.c:135
msgid "section"
msgstr "section"
-#: atk/atkobject.c:185
+#: atspi/atspi-misc.c:136
msgid "redundant object"
msgstr "objet redondant"
-#: atk/atkobject.c:186
+#: atspi/atspi-misc.c:137
msgid "form"
msgstr "formulaire"
-#: atk/atkobject.c:187
+#: atspi/atspi-misc.c:138
msgid "link"
msgstr "lien"
-#: atk/atkobject.c:188
+#: atspi/atspi-misc.c:139
msgid "input method window"
msgstr "fenêtre de méthode de saisie"
-#: atk/atkobject.c:189
+#: atspi/atspi-misc.c:140
msgid "table row"
msgstr "ligne de tableau"
-#: atk/atkobject.c:190
+#: atspi/atspi-misc.c:141
msgid "tree item"
msgstr "élément arborescent"
-#: atk/atkobject.c:191
+#: atspi/atspi-misc.c:142
msgid "document spreadsheet"
msgstr "document tableur"
-#: atk/atkobject.c:192
+#: atspi/atspi-misc.c:143
msgid "document presentation"
msgstr "document présentation"
-#: atk/atkobject.c:193
+#: atspi/atspi-misc.c:144
msgid "document text"
msgstr "document texte"
-#: atk/atkobject.c:194
+#: atspi/atspi-misc.c:145
msgid "document web"
msgstr "document web"
-#: atk/atkobject.c:195
+#: atspi/atspi-misc.c:146
msgid "document email"
msgstr "document courriel"
-#: atk/atkobject.c:196
+#: atspi/atspi-misc.c:147
msgid "comment"
msgstr "commentaire"
-#: atk/atkobject.c:197
+#: atspi/atspi-misc.c:148
msgid "list box"
msgstr "liste déroulante"
-#: atk/atkobject.c:198
+#: atspi/atspi-misc.c:149
msgid "grouping"
msgstr "groupement"
-#: atk/atkobject.c:199
+#: atspi/atspi-misc.c:150
msgid "image map"
msgstr "carte image"
-#: atk/atkobject.c:200
+#: atspi/atspi-misc.c:151
msgid "notification"
msgstr "notification"
-#: atk/atkobject.c:201
+#: atspi/atspi-misc.c:152
msgid "info bar"
msgstr "barre d’informations"
-#: atk/atkobject.c:202
+#: atspi/atspi-misc.c:153
msgid "level bar"
msgstr "barre de niveau"
-#: atk/atkobject.c:203
+#: atspi/atspi-misc.c:154
msgid "title bar"
msgstr "barre de titre"
-#: atk/atkobject.c:204
+#: atspi/atspi-misc.c:155
msgid "block quote"
msgstr "bloc de citation"
-#: atk/atkobject.c:205
+#: atspi/atspi-misc.c:156
msgid "audio"
msgstr "audio"
-#: atk/atkobject.c:206
+#: atspi/atspi-misc.c:157
msgid "video"
msgstr "vidéo"
-#: atk/atkobject.c:207
+#: atspi/atspi-misc.c:158
msgid "definition"
msgstr "définition"
-#: atk/atkobject.c:208
+#: atspi/atspi-misc.c:159
msgid "article"
msgstr "article"
-#: atk/atkobject.c:209
+#: atspi/atspi-misc.c:160
msgid "landmark"
msgstr "point de repère"
-#: atk/atkobject.c:210
+#: atspi/atspi-misc.c:161
msgid "log"
msgstr "journal"
-#: atk/atkobject.c:211
+#: atspi/atspi-misc.c:162
msgid "marquee"
msgstr "zone défilante"
-#: atk/atkobject.c:212
+#: atspi/atspi-misc.c:163
msgid "math"
msgstr "math"
-#: atk/atkobject.c:213
+#: atspi/atspi-misc.c:164
msgid "rating"
msgstr "notation"
-#: atk/atkobject.c:214
+#: atspi/atspi-misc.c:165
msgid "timer"
msgstr "chronomètre"
-#: atk/atkobject.c:215
+#: atspi/atspi-misc.c:166
msgid "description list"
msgstr "liste descriptive"
-#: atk/atkobject.c:216
+#: atspi/atspi-misc.c:167
msgid "description term"
msgstr "terme décrit"
-#: atk/atkobject.c:217
+#: atspi/atspi-misc.c:168
msgid "description value"
msgstr "valeur de description"
-#: atk/atkobject.c:393
-msgid "Accessible Name"
-msgstr "Nom accessible"
-
-#: atk/atkobject.c:394
-msgid "Object instance’s name formatted for assistive technology access"
-msgstr ""
-"Nom d’une instance d’objet formaté pour être accessible par les aides "
-"techniques"
-
-#: atk/atkobject.c:400
-msgid "Accessible Description"
-msgstr "Description accessible"
-
-#: atk/atkobject.c:401
-msgid "Description of an object, formatted for assistive technology access"
-msgstr ""
-"Description d’un objet, formaté pour être accessible par les aides techniques"
-
-#: atk/atkobject.c:407
-msgid "Accessible Parent"
-msgstr "Parent accessible"
-
-#: atk/atkobject.c:408
-msgid "Parent of the current accessible as returned by atk_object_get_parent()"
-msgstr ""
-"Parent de l’élément accessible actuel renvoyé par atk_object_get_parent()"
-
-#: atk/atkobject.c:424
-msgid "Accessible Value"
-msgstr "Valeur accessible"
-
-#: atk/atkobject.c:425
-msgid "Is used to notify that the value has changed"
-msgstr "Est utilisé pour notifier que la valeur a changé"
-
-#: atk/atkobject.c:433
-msgid "Accessible Role"
-msgstr "Rôle accessible"
-
-#: atk/atkobject.c:434
-msgid "The accessible role of this object"
-msgstr "Le rôle accessible de cet objet"
-
-#: atk/atkobject.c:441
-msgid "Accessible Layer"
-msgstr "Couche accessible"
-
-#: atk/atkobject.c:442
-msgid "The accessible layer of this object"
-msgstr "La couche accessible de cet objet"
-
-#: atk/atkobject.c:450
-msgid "Accessible MDI Value"
-msgstr "Valeur MDI accessible"
-
-#: atk/atkobject.c:451
-msgid "The accessible MDI value of this object"
-msgstr "La valeur MDI accessible de cet objet"
-
-#: atk/atkobject.c:467
-msgid "Accessible Table Caption"
-msgstr "Légende de tableau accessible"
-
-#: atk/atkobject.c:468
-msgid ""
-"Is used to notify that the table caption has changed; this property should "
-"not be used. accessible-table-caption-object should be used instead"
-msgstr ""
-"Est utilisé pour notifier que la légende du tableau a changé ; cette "
-"propriété ne devrait pas être utilisée. La propriété accessible-table-"
-"caption-object devrait être utilisée à la place"
-
-#: atk/atkobject.c:482
-msgid "Accessible Table Column Header"
-msgstr "En-tête de colonne de tableau accessible"
-
-#: atk/atkobject.c:483
-msgid "Is used to notify that the table column header has changed"
-msgstr ""
-"Est utilisé pour notifier que l’en-tête de la colonne du tableau a changé"
-
-#: atk/atkobject.c:498
-msgid "Accessible Table Column Description"
-msgstr "Description de colonne de tableau accessible"
-
-#: atk/atkobject.c:499
-msgid "Is used to notify that the table column description has changed"
-msgstr ""
-"Est utilisé pour notifier que la description de la colonne du tableau a "
-"changé"
-
-#: atk/atkobject.c:514
-msgid "Accessible Table Row Header"
-msgstr "En-tête de rangée de tableau accessible"
-
-#: atk/atkobject.c:515
-msgid "Is used to notify that the table row header has changed"
-msgstr ""
-"Est utilisé pour notifier que l’en-tête de la rangée du tableau a changé"
-
-#: atk/atkobject.c:529
-msgid "Accessible Table Row Description"
-msgstr "Description de rangée de tableau accessible"
-
-#: atk/atkobject.c:530
-msgid "Is used to notify that the table row description has changed"
-msgstr ""
-"Est utilisé pour notifier que la description de la rangée du tableau a changé"
-
-#: atk/atkobject.c:536
-msgid "Accessible Table Summary"
-msgstr "Résumé de tableau accessible"
-
-#: atk/atkobject.c:537
-msgid "Is used to notify that the table summary has changed"
-msgstr "Est utilisé pour notifier que le résumé du tableau a changé"
-
-#: atk/atkobject.c:543
-msgid "Accessible Table Caption Object"
-msgstr "Objet légende de tableau accessible"
-
-#: atk/atkobject.c:544
-msgid "Is used to notify that the table caption has changed"
-msgstr "Est utilisé pour notifier que la légende du tableau a changé"
-
-#: atk/atkobject.c:550
-msgid "Number of Accessible Hypertext Links"
-msgstr "Nombre de liens hypertextes accessibles"
-
-#: atk/atkobject.c:551
-msgid "The number of links which the current AtkHypertext has"
-msgstr "Le nombre de liens contenus par le AtkHypertext"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:194
-msgid "very weak"
-msgstr "très faible"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:201
-msgid "weak"
-msgstr "faible"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:208
-msgid "acceptable"
-msgstr "acceptable"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:215
-msgid "strong"
-msgstr "fort"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:222
-msgid "very strong"
-msgstr "très fort"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:230
-msgid "very low"
-msgstr "très bas"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:238
-msgid "medium"
-msgstr "moyen"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:246
-msgid "high"
-msgstr "élevé"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:254
-msgid "very high"
-msgstr "très élevé"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:262
-msgid "very bad"
-msgstr "très mauvais"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:270
-msgid "bad"
-msgstr "mauvais"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:278
-msgid "good"
-msgstr "bon"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:286
-msgid "very good"
-msgstr "très bon"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:294
-msgid "best"
-msgstr "optimal"
-
-#: atspi/atspi-component.c:332 atspi/atspi-misc.c:1068 atspi/atspi-value.c:111
-msgid "The application no longer exists"
-msgstr "L’application n’existe plus"
-
-#~ msgid "Attempted synchronous call where prohibited"
-#~ msgstr "La tentative d’appel synchrone est interdite"
+#~ msgid "push button"
+#~ msgstr "bouton"
diff --git a/po/fur.po b/po/fur.po
index 5fa4a3e..28b4eb7 100644
--- a/po/fur.po
+++ b/po/fur.po
@@ -13,803 +13,819 @@
msgid ""
msgstr ""
"Project-Id-Version: atk master\n"
-"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/at-spi2-core/issues\n"
-"POT-Creation-Date: 2022-09-17 14:43+0000\n"
-"PO-Revision-Date: 2022-09-28 07:22+0200\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/at-spi2-core/issues/\n"
+"POT-Creation-Date: 2024-04-02 01:52+0000\n"
+"PO-Revision-Date: 2024-04-16 21:04+0200\n"
"Last-Translator: Fabio Tomat \n"
"Language-Team: Friulian \n"
"Language: fur\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 3.1.1\n"
+"X-Generator: Poedit 3.4.2\n"
"X-Generator: Poedit 1.8.12\n"
-#: atk/atkhyperlink.c:126
+#: atk/atkhyperlink.c:127
msgid "Selected Link"
msgstr "Colegament selezionât"
-#: atk/atkhyperlink.c:127
+#: atk/atkhyperlink.c:128
msgid "Specifies whether the AtkHyperlink object is selected"
msgstr "Specifiche se l'ogjet AtkHyperlink al è selezionât"
-#: atk/atkhyperlink.c:133
+#: atk/atkhyperlink.c:134
msgid "Number of Anchors"
msgstr "Numar di Ancuris"
-#: atk/atkhyperlink.c:134
+#: atk/atkhyperlink.c:135
msgid "The number of anchors associated with the AtkHyperlink object"
msgstr "Il numar di ancuris associadis cun l'ogjet AtkHyperlink"
-#: atk/atkhyperlink.c:142
+#: atk/atkhyperlink.c:143
msgid "End index"
msgstr "Indiç finâl"
-#: atk/atkhyperlink.c:143
+#: atk/atkhyperlink.c:144
msgid "The end index of the AtkHyperlink object"
msgstr "L'indiç finâl dal ogjet AtkHyperlink"
-#: atk/atkhyperlink.c:151
+#: atk/atkhyperlink.c:152
msgid "Start index"
msgstr "Indiç iniziâl"
-#: atk/atkhyperlink.c:152
+#: atk/atkhyperlink.c:153
msgid "The start index of the AtkHyperlink object"
msgstr "L'indiç iniziâl dal ogjet AtkHyperlink"
-#: atk/atkobject.c:99
+#: atk/atkobject.c:273
+msgid "Accessible Name"
+msgstr "Non acessibil"
+
+#: atk/atkobject.c:274
+msgid "Object instance’s name formatted for assistive technology access"
+msgstr ""
+"Il non de istance dal ogjet formatât pal acès cun la tecnologjie di jutori"
+
+#: atk/atkobject.c:280
+msgid "Accessible Description"
+msgstr "Descrizion acessibil"
+
+#: atk/atkobject.c:281
+msgid "Description of an object, formatted for assistive technology access"
+msgstr ""
+"Descrizion di un ogjet, formatade pal acès cun la tecnologjie di jutori"
+
+#: atk/atkobject.c:287
+msgid "Accessible Parent"
+msgstr "Gjenitôr acessibil"
+
+#: atk/atkobject.c:288
+msgid "Parent of the current accessible as returned by atk_object_get_parent()"
+msgstr "Il gjenitôr dal atuâl acessibil come tornât di atk_object_get_parent()"
+
+#: atk/atkobject.c:304
+msgid "Accessible Value"
+msgstr "Valôr acessibil"
+
+#: atk/atkobject.c:305
+msgid "Is used to notify that the value has changed"
+msgstr "Doprât par notificâ che il valôr al è cambiât"
+
+#: atk/atkobject.c:313
+msgid "Accessible Role"
+msgstr "Rûl acessibil"
+
+#: atk/atkobject.c:314
+msgid "The accessible role of this object"
+msgstr "Il rûl acessibil di chest ogjet"
+
+#: atk/atkobject.c:321
+msgid "Accessible Layer"
+msgstr "Strât acessibil"
+
+#: atk/atkobject.c:322
+msgid "The accessible layer of this object"
+msgstr "Il strât acessibil di chest ogjet"
+
+#: atk/atkobject.c:330
+msgid "Accessible MDI Value"
+msgstr "Valôr MDI acessibil"
+
+#: atk/atkobject.c:331
+msgid "The accessible MDI value of this object"
+msgstr "Il valôr MDI acessibil di chest ogjet"
+
+#: atk/atkobject.c:347
+msgid "Accessible Table Caption"
+msgstr "Didascalie acessibil de tabele"
+
+#: atk/atkobject.c:348
+msgid ""
+"Is used to notify that the table caption has changed; this property should "
+"not be used. accessible-table-caption-object should be used instead"
+msgstr ""
+"Doprât par notificâ che la descrizion de tabele e je cambiade; no si varès "
+"di doprâ cheste proprietât. Si varès di doprâ invezit accessible-table-"
+"caption-object"
+
+#: atk/atkobject.c:362
+msgid "Accessible Table Column Header"
+msgstr "Intestazion acessibil de colone de tabele"
+
+#: atk/atkobject.c:363
+msgid "Is used to notify that the table column header has changed"
+msgstr "Doprade par notificâ che la intestazion de colone de tabele"
+
+#: atk/atkobject.c:378
+msgid "Accessible Table Column Description"
+msgstr "Descrizion acessibil de colone de tabele"
+
+#: atk/atkobject.c:379
+msgid "Is used to notify that the table column description has changed"
+msgstr ""
+"Doprade par notificâ che la descrizion de colone de tabele e je cambiade"
+
+#: atk/atkobject.c:394
+msgid "Accessible Table Row Header"
+msgstr "Intestazion acessibil de rie de tabel"
+
+#: atk/atkobject.c:395
+msgid "Is used to notify that the table row header has changed"
+msgstr "Doprade par notificâ che la intestazion de rie de tabele e je cambiade"
+
+#: atk/atkobject.c:409
+msgid "Accessible Table Row Description"
+msgstr "Descrizion acessibil de rie de tabele"
+
+#: atk/atkobject.c:410
+msgid "Is used to notify that the table row description has changed"
+msgstr "Doprade par notificâ che la descrizion de rie de tabele e je cambiade"
+
+#: atk/atkobject.c:416
+msgid "Accessible Table Summary"
+msgstr "Sintesi acessibil de tabele"
+
+#: atk/atkobject.c:417
+msgid "Is used to notify that the table summary has changed"
+msgstr "Doprade par notificâ che la sintesi de tabele e je cambiade"
+
+#: atk/atkobject.c:423
+msgid "Accessible Table Caption Object"
+msgstr "Ogjet didascalie acessibil de tabele"
+
+#: atk/atkobject.c:424
+msgid "Is used to notify that the table caption has changed"
+msgstr "Doprade par notificâ che la didascalie de tabele e je cambiade"
+
+#: atk/atkobject.c:430
+msgid "Number of Accessible Hypertext Links"
+msgstr "Numar di colegaments acessibii tal ipertest"
+
+#: atk/atkobject.c:431
+msgid "The number of links which the current AtkHypertext has"
+msgstr "Il numar di colegaments presints tal AtkHypertext atuâl"
+
+#: atk/atkobject.c:440
+msgid "Accessible ID"
+msgstr "ID acessibil"
+
+#: atk/atkobject.c:441
+msgid "ID for the accessible; useful for automated testing"
+msgstr "ID pal acessibil; util pes provis automatizadis"
+
+#: atk/atkobject.c:447
+msgid "Help text"
+msgstr "Test di jutori"
+
+#: atk/atkobject.c:448
+msgid "Help text associated with the accessible"
+msgstr "Test di jutori associât cul acessibil"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:193
+msgid "very weak"
+msgstr "une vore debule"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:200
+msgid "weak"
+msgstr "debule"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:207
+msgid "acceptable"
+msgstr "passabile"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:214
+msgid "strong"
+msgstr "fuarte"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:221
+msgid "very strong"
+msgstr "une vore fuarte"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:229
+msgid "very low"
+msgstr "une vore bas"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:237
+msgid "medium"
+msgstr "medi"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:245
+msgid "high"
+msgstr "alt"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:253
+msgid "very high"
+msgstr "une vore alt"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:261
+msgid "very bad"
+msgstr "mâl"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:269
+msgid "bad"
+msgstr "no bon"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:277
+msgid "good"
+msgstr "bon"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:285
+msgid "very good"
+msgstr "une vore bon"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:293
+msgid "best"
+msgstr "il miôr"
+
+#: atspi/atspi-component.c:352 atspi/atspi-misc.c:1230 atspi/atspi-value.c:123
+msgid "The application no longer exists"
+msgstr "Le aplicazion no esist plui"
+
+#: atspi/atspi-misc.c:49
msgid "invalid"
msgstr "no valit"
-#: atk/atkobject.c:100
+#: atspi/atspi-misc.c:50
msgid "accelerator label"
msgstr "etichete aceleradôr"
-#: atk/atkobject.c:101
+#: atspi/atspi-misc.c:51
msgid "alert"
msgstr "alerte"
-#: atk/atkobject.c:102
+#: atspi/atspi-misc.c:52
msgid "animation"
msgstr "animazion"
-#: atk/atkobject.c:103
+#: atspi/atspi-misc.c:53
msgid "arrow"
msgstr "frece"
-#: atk/atkobject.c:104
+#: atspi/atspi-misc.c:54
msgid "calendar"
msgstr "calendari"
-#: atk/atkobject.c:105
+#: atspi/atspi-misc.c:55
msgid "canvas"
msgstr "tele"
-#: atk/atkobject.c:106
+#: atspi/atspi-misc.c:56
msgid "check box"
msgstr "casele di discrosâ"
-#: atk/atkobject.c:107
+#: atspi/atspi-misc.c:57
msgid "check menu item"
msgstr "vôs di menù di discrosâ"
-#: atk/atkobject.c:108
+#: atspi/atspi-misc.c:58
msgid "color chooser"
msgstr "seletôr colôr"
-#: atk/atkobject.c:109
+#: atspi/atspi-misc.c:59
msgid "column header"
msgstr "intestazion colone"
-#: atk/atkobject.c:110
+#: atspi/atspi-misc.c:60
msgid "combo box"
msgstr "casele cumbinade"
-#: atk/atkobject.c:111
+#: atspi/atspi-misc.c:61
msgid "dateeditor"
msgstr "editôr di date"
-#: atk/atkobject.c:112
+#: atspi/atspi-misc.c:62
msgid "desktop icon"
msgstr "icone dal scritori"
-#: atk/atkobject.c:113
+#: atspi/atspi-misc.c:63
msgid "desktop frame"
msgstr "curnîs de scrivanie"
-#: atk/atkobject.c:114
+#: atspi/atspi-misc.c:64
msgid "dial"
msgstr "cuadrant circolâr"
-#: atk/atkobject.c:115
+#: atspi/atspi-misc.c:65
msgid "dialog"
msgstr "dialic"
-#: atk/atkobject.c:116
+#: atspi/atspi-misc.c:66
msgid "directory pane"
msgstr "ricuadri cartele"
-#: atk/atkobject.c:117
+#: atspi/atspi-misc.c:67
msgid "drawing area"
msgstr "aree di disen"
-#: atk/atkobject.c:118
+#: atspi/atspi-misc.c:68
msgid "file chooser"
msgstr "seletôr file"
-#: atk/atkobject.c:119
+#: atspi/atspi-misc.c:69
msgid "filler"
msgstr "jempladôr"
#. I know it looks wrong but that is what Java returns
-#: atk/atkobject.c:121
+#: atspi/atspi-misc.c:71
msgid "fontchooser"
msgstr "seletôr gjenar di caratar"
-#: atk/atkobject.c:122
+#: atspi/atspi-misc.c:72
msgid "frame"
msgstr "curnîs"
-#: atk/atkobject.c:123
+#: atspi/atspi-misc.c:73
msgid "glass pane"
msgstr "ricuadri trasparent"
-#: atk/atkobject.c:124
+#: atspi/atspi-misc.c:74
msgid "html container"
msgstr "contignidôr html"
-#: atk/atkobject.c:125
+#: atspi/atspi-misc.c:75
msgid "icon"
msgstr "icone"
-#: atk/atkobject.c:126
+#: atspi/atspi-misc.c:76
msgid "image"
msgstr "imagjin"
-#: atk/atkobject.c:127
+#: atspi/atspi-misc.c:77
msgid "internal frame"
msgstr "curnîs interne"
-#: atk/atkobject.c:128
+#: atspi/atspi-misc.c:78
msgid "label"
msgstr "etichete"
-#: atk/atkobject.c:129
+#: atspi/atspi-misc.c:79
msgid "layered pane"
msgstr "ricuadri a nivei"
-#: atk/atkobject.c:130
+#: atspi/atspi-misc.c:80
msgid "list"
msgstr "liste"
-#: atk/atkobject.c:131
+#: atspi/atspi-misc.c:81
msgid "list item"
msgstr "vôs di liste"
-#: atk/atkobject.c:132
+#: atspi/atspi-misc.c:82
msgid "menu"
msgstr "menù"
-#: atk/atkobject.c:133
+#: atspi/atspi-misc.c:83
msgid "menu bar"
msgstr "sbare menù"
-#: atk/atkobject.c:134
+#: atspi/atspi-misc.c:84
msgid "menu button"
msgstr "boton menù"
-#: atk/atkobject.c:135
+#: atspi/atspi-misc.c:85
msgid "menu item"
msgstr "vôs di menù"
-#: atk/atkobject.c:136
+#: atspi/atspi-misc.c:86
msgid "option pane"
msgstr "ricuadri opzion"
-#: atk/atkobject.c:137
+#: atspi/atspi-misc.c:87
msgid "page tab"
msgstr "schede"
-#: atk/atkobject.c:138
+#: atspi/atspi-misc.c:88
msgid "page tab list"
msgstr "liste di schedis"
-#: atk/atkobject.c:139
+#: atspi/atspi-misc.c:89
msgid "panel"
msgstr "panel"
-#: atk/atkobject.c:140
+#: atspi/atspi-misc.c:90
msgid "password text"
msgstr "test password"
-#: atk/atkobject.c:141
+#: atspi/atspi-misc.c:91
msgid "popup menu"
msgstr "menù a comparî"
-#: atk/atkobject.c:142
+#: atspi/atspi-misc.c:92
msgid "progress bar"
msgstr "sbare di avanzament"
-#: atk/atkobject.c:143
+#: atspi/atspi-misc.c:93
msgid "push button"
msgstr "boton di fracâ"
-#: atk/atkobject.c:144
+#: atspi/atspi-misc.c:94
msgid "radio button"
msgstr "boton radio"
-#: atk/atkobject.c:145
+#: atspi/atspi-misc.c:95
msgid "radio menu item"
msgstr "vôs di menù radio"
-#: atk/atkobject.c:146
+#: atspi/atspi-misc.c:96
msgid "root pane"
msgstr "ricuadri lidrîs"
-#: atk/atkobject.c:147
+#: atspi/atspi-misc.c:97
msgid "row header"
msgstr "intestazion rie"
-#: atk/atkobject.c:148
+#: atspi/atspi-misc.c:98
msgid "scroll bar"
msgstr "sbare di scoriment"
-#: atk/atkobject.c:149
+#: atspi/atspi-misc.c:99
msgid "scroll pane"
msgstr "ricuadri di scoriment"
-#: atk/atkobject.c:150
+#: atspi/atspi-misc.c:100
msgid "separator"
msgstr "separadôr"
-#: atk/atkobject.c:151
+#: atspi/atspi-misc.c:101
msgid "slider"
msgstr "control dal scori"
-#: atk/atkobject.c:152
+#: atspi/atspi-misc.c:102
msgid "split pane"
msgstr "ricuadri dividût"
-#: atk/atkobject.c:153
+#: atspi/atspi-misc.c:103
msgid "spin button"
msgstr "boton che al zire"
-#: atk/atkobject.c:154
+#: atspi/atspi-misc.c:104
msgid "statusbar"
msgstr "sbare di stât"
-#: atk/atkobject.c:155
+#: atspi/atspi-misc.c:105
msgid "table"
msgstr "tabele"
-#: atk/atkobject.c:156
+#: atspi/atspi-misc.c:106
msgid "table cell"
msgstr "cele tabele"
-#: atk/atkobject.c:157
+#: atspi/atspi-misc.c:107
msgid "table column header"
msgstr "intestazion colone tabele"
-#: atk/atkobject.c:158
+#: atspi/atspi-misc.c:108
msgid "table row header"
msgstr "intestazion rie tabele"
-#: atk/atkobject.c:159
+#: atspi/atspi-misc.c:109
msgid "tear off menu item"
msgstr "vôs di menù distacabil"
-#: atk/atkobject.c:160
+#: atspi/atspi-misc.c:110
msgid "terminal"
msgstr "terminâl"
-#: atk/atkobject.c:161
+#: atspi/atspi-misc.c:111
msgid "text"
msgstr "test"
-#: atk/atkobject.c:162
+#: atspi/atspi-misc.c:112
msgid "toggle button"
msgstr "boton di comutazion"
-#: atk/atkobject.c:163
+#: atspi/atspi-misc.c:113
msgid "tool bar"
msgstr "sbare dai struments"
-#: atk/atkobject.c:164
+#: atspi/atspi-misc.c:114
msgid "tool tip"
msgstr "sugjeriment"
-#: atk/atkobject.c:165
+#: atspi/atspi-misc.c:115
msgid "tree"
msgstr "arbul"
-#: atk/atkobject.c:166
+#: atspi/atspi-misc.c:116
msgid "tree table"
msgstr "tabele a arbul"
-#: atk/atkobject.c:167
+#: atspi/atspi-misc.c:117
msgid "unknown"
msgstr "no cognossût"
-#: atk/atkobject.c:168
+#: atspi/atspi-misc.c:118
msgid "viewport"
msgstr "aree de viodude"
-#: atk/atkobject.c:169
+#: atspi/atspi-misc.c:119
msgid "window"
msgstr "barcon"
-#: atk/atkobject.c:170
+#: atspi/atspi-misc.c:120
msgid "header"
msgstr "intestazion"
-#: atk/atkobject.c:171
+#: atspi/atspi-misc.c:121
msgid "footer"
msgstr "da pît de pagjine"
-#: atk/atkobject.c:172
+#: atspi/atspi-misc.c:122
msgid "paragraph"
msgstr "paragraf"
-#: atk/atkobject.c:173
+#: atspi/atspi-misc.c:123
msgid "ruler"
msgstr "rie"
-#: atk/atkobject.c:174
+#: atspi/atspi-misc.c:124
msgid "application"
msgstr "aplicazion"
-#: atk/atkobject.c:175
+#: atspi/atspi-misc.c:125
msgid "autocomplete"
msgstr "completament automatic"
-#: atk/atkobject.c:176
+#: atspi/atspi-misc.c:126
msgid "edit bar"
msgstr "sbare di modifiche"
-#: atk/atkobject.c:177
+#: atspi/atspi-misc.c:127
msgid "embedded component"
msgstr "component incorporât"
-#: atk/atkobject.c:178
+#: atspi/atspi-misc.c:128
msgid "entry"
msgstr "cjamp inseriment"
-#: atk/atkobject.c:179
+#: atspi/atspi-misc.c:129
msgid "chart"
msgstr "diagram"
-#: atk/atkobject.c:180
+#: atspi/atspi-misc.c:130
msgid "caption"
msgstr "didascalie"
-#: atk/atkobject.c:181
+#: atspi/atspi-misc.c:131
msgid "document frame"
msgstr "curnîs document"
-#: atk/atkobject.c:182
+#: atspi/atspi-misc.c:132
msgid "heading"
msgstr "intestazion"
-#: atk/atkobject.c:183
+#: atspi/atspi-misc.c:133
msgid "page"
msgstr "pagjine"
-#: atk/atkobject.c:184
+#: atspi/atspi-misc.c:134
msgid "section"
msgstr "sezion"
-#: atk/atkobject.c:185
+#: atspi/atspi-misc.c:135
msgid "redundant object"
msgstr "ogjet ridondant"
-#: atk/atkobject.c:186
+#: atspi/atspi-misc.c:136
msgid "form"
msgstr "modul"
-#: atk/atkobject.c:187
+#: atspi/atspi-misc.c:137
msgid "link"
msgstr "colegament"
-#: atk/atkobject.c:188
+#: atspi/atspi-misc.c:138
msgid "input method window"
msgstr "barcon metodi di input"
-#: atk/atkobject.c:189
+#: atspi/atspi-misc.c:139
msgid "table row"
msgstr "rie di tabele"
-#: atk/atkobject.c:190
+#: atspi/atspi-misc.c:140
msgid "tree item"
msgstr "element arbul"
-#: atk/atkobject.c:191
+#: atspi/atspi-misc.c:141
msgid "document spreadsheet"
msgstr "document sfuei di calcul"
-#: atk/atkobject.c:192
+#: atspi/atspi-misc.c:142
msgid "document presentation"
msgstr "document presentazion"
-#: atk/atkobject.c:193
+#: atspi/atspi-misc.c:143
msgid "document text"
msgstr "document test"
-#: atk/atkobject.c:194
+#: atspi/atspi-misc.c:144
msgid "document web"
msgstr "document web"
-#: atk/atkobject.c:195
+#: atspi/atspi-misc.c:145
msgid "document email"
msgstr "document e-mail"
-#: atk/atkobject.c:196
+#: atspi/atspi-misc.c:146
msgid "comment"
msgstr "coment"
-#: atk/atkobject.c:197
+#: atspi/atspi-misc.c:147
msgid "list box"
msgstr "casele liste"
-#: atk/atkobject.c:198
+#: atspi/atspi-misc.c:148
msgid "grouping"
msgstr "intropament"
-#: atk/atkobject.c:199
+#: atspi/atspi-misc.c:149
msgid "image map"
msgstr "mape imagjin"
-#: atk/atkobject.c:200
+#: atspi/atspi-misc.c:150
msgid "notification"
msgstr "notifiche"
-#: atk/atkobject.c:201
+#: atspi/atspi-misc.c:151
msgid "info bar"
msgstr "sbare informazions"
-#: atk/atkobject.c:202
+#: atspi/atspi-misc.c:152
msgid "level bar"
msgstr "sbare nivel"
-#: atk/atkobject.c:203
+#: atspi/atspi-misc.c:153
msgid "title bar"
msgstr "sbare dal titul"
-#: atk/atkobject.c:204
+#: atspi/atspi-misc.c:154
msgid "block quote"
msgstr "bloc di citazion"
-#: atk/atkobject.c:205
+#: atspi/atspi-misc.c:155
msgid "audio"
msgstr "audio"
-#: atk/atkobject.c:206
+#: atspi/atspi-misc.c:156
msgid "video"
msgstr "video"
-#: atk/atkobject.c:207
+#: atspi/atspi-misc.c:157
msgid "definition"
msgstr "definizion"
-#: atk/atkobject.c:208
+#: atspi/atspi-misc.c:158
msgid "article"
msgstr "articul"
-#: atk/atkobject.c:209
+#: atspi/atspi-misc.c:159
msgid "landmark"
msgstr "pont di riferiment"
-#: atk/atkobject.c:210
+#: atspi/atspi-misc.c:160
msgid "log"
msgstr "regjistri"
-#: atk/atkobject.c:211
+#: atspi/atspi-misc.c:161
msgid "marquee"
msgstr "tendon"
-#: atk/atkobject.c:212
+#: atspi/atspi-misc.c:162
msgid "math"
msgstr "matematiche"
-#: atk/atkobject.c:213
+#: atspi/atspi-misc.c:163
msgid "rating"
msgstr "valutazion"
-#: atk/atkobject.c:214
+#: atspi/atspi-misc.c:164
msgid "timer"
msgstr "timer"
-#: atk/atkobject.c:215
+#: atspi/atspi-misc.c:165
msgid "description list"
msgstr "liste descrizion"
-#: atk/atkobject.c:216
+#: atspi/atspi-misc.c:166
msgid "description term"
msgstr "tiermin descrizion"
-#: atk/atkobject.c:217
+#: atspi/atspi-misc.c:167
msgid "description value"
msgstr "valôr descrizion"
-#: atk/atkobject.c:393
-msgid "Accessible Name"
-msgstr "Non acessibil"
-
-#: atk/atkobject.c:394
-msgid "Object instance’s name formatted for assistive technology access"
-msgstr ""
-"Il non de istance dal ogjet formatât pal acès cun la tecnologjie di jutori"
-
-#: atk/atkobject.c:400
-msgid "Accessible Description"
-msgstr "Descrizion acessibil"
-
-#: atk/atkobject.c:401
-msgid "Description of an object, formatted for assistive technology access"
-msgstr ""
-"Descrizion di un ogjet, formatade pal acès cun la tecnologjie di jutori"
-
-#: atk/atkobject.c:407
-msgid "Accessible Parent"
-msgstr "Gjenitôr acessibil"
-
-#: atk/atkobject.c:408
-msgid "Parent of the current accessible as returned by atk_object_get_parent()"
-msgstr "Il gjenitôr dal atuâl acessibil come tornât di atk_object_get_parent()"
-
-#: atk/atkobject.c:424
-msgid "Accessible Value"
-msgstr "Valôr acessibil"
-
-#: atk/atkobject.c:425
-msgid "Is used to notify that the value has changed"
-msgstr "Doprât par notificâ che il valôr al è cambiât"
-
-#: atk/atkobject.c:433
-msgid "Accessible Role"
-msgstr "Rûl acessibil"
-
-#: atk/atkobject.c:434
-msgid "The accessible role of this object"
-msgstr "Il rûl acessibil di chest ogjet"
-
-#: atk/atkobject.c:441
-msgid "Accessible Layer"
-msgstr "Strât acessibil"
-
-#: atk/atkobject.c:442
-msgid "The accessible layer of this object"
-msgstr "Il strât acessibil di chest ogjet"
-
-#: atk/atkobject.c:450
-msgid "Accessible MDI Value"
-msgstr "Valôr MDI acessibil"
-
-#: atk/atkobject.c:451
-msgid "The accessible MDI value of this object"
-msgstr "Il valôr MDI acessibil di chest ogjet"
-
-#: atk/atkobject.c:467
-msgid "Accessible Table Caption"
-msgstr "Didascalie acessibil de tabele"
-
-#: atk/atkobject.c:468
-msgid ""
-"Is used to notify that the table caption has changed; this property should "
-"not be used. accessible-table-caption-object should be used instead"
-msgstr ""
-"Doprât par notificâ che la descrizion de tabele e je cambiade; no si varès "
-"di doprâ cheste proprietât. Si varès di doprâ invezit accessible-table-"
-"caption-object"
-
-#: atk/atkobject.c:482
-msgid "Accessible Table Column Header"
-msgstr "Intestazion acessibil de colone de tabele"
-
-#: atk/atkobject.c:483
-msgid "Is used to notify that the table column header has changed"
-msgstr "Doprade par notificâ che la intestazion de colone de tabele"
-
-#: atk/atkobject.c:498
-msgid "Accessible Table Column Description"
-msgstr "Descrizion acessibil de colone de tabele"
-
-#: atk/atkobject.c:499
-msgid "Is used to notify that the table column description has changed"
-msgstr ""
-"Doprade par notificâ che la descrizion de colone de tabele e je cambiade"
-
-#: atk/atkobject.c:514
-msgid "Accessible Table Row Header"
-msgstr "Intestazion acessibil de rie de tabel"
-
-#: atk/atkobject.c:515
-msgid "Is used to notify that the table row header has changed"
-msgstr "Doprade par notificâ che la intestazion de rie de tabele e je cambiade"
-
-#: atk/atkobject.c:529
-msgid "Accessible Table Row Description"
-msgstr "Descrizion acessibil de rie de tabele"
-
-#: atk/atkobject.c:530
-msgid "Is used to notify that the table row description has changed"
-msgstr "Doprade par notificâ che la descrizion de rie de tabele e je cambiade"
-
-#: atk/atkobject.c:536
-msgid "Accessible Table Summary"
-msgstr "Sintesi acessibil de tabele"
-
-#: atk/atkobject.c:537
-msgid "Is used to notify that the table summary has changed"
-msgstr "Doprade par notificâ che la sintesi de tabele e je cambiade"
-
-#: atk/atkobject.c:543
-msgid "Accessible Table Caption Object"
-msgstr "Ogjet didascalie acessibil de tabele"
-
-#: atk/atkobject.c:544
-msgid "Is used to notify that the table caption has changed"
-msgstr "Doprade par notificâ che la didascalie de tabele e je cambiade"
-
-#: atk/atkobject.c:550
-msgid "Number of Accessible Hypertext Links"
-msgstr "Numar di colegaments acessibii tal ipertest"
-
-#: atk/atkobject.c:551
-msgid "The number of links which the current AtkHypertext has"
-msgstr "Il numar di colegaments presints tal AtkHypertext atuâl"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:194
-msgid "very weak"
-msgstr "une vore debule"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:201
-msgid "weak"
-msgstr "debule"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:208
-msgid "acceptable"
-msgstr "passabile"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:215
-msgid "strong"
-msgstr "fuarte"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:222
-msgid "very strong"
-msgstr "une vore fuarte"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:230
-msgid "very low"
-msgstr "une vore bas"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:238
-msgid "medium"
-msgstr "medi"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:246
-msgid "high"
-msgstr "alt"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:254
-msgid "very high"
-msgstr "une vore alt"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:262
-msgid "very bad"
-msgstr "mâl"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:270
-msgid "bad"
-msgstr "no bon"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:278
-msgid "good"
-msgstr "bon"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:286
-msgid "very good"
-msgstr "une vore bon"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:294
-msgid "best"
-msgstr "il miôr"
-
-#: atspi/atspi-component.c:332 atspi/atspi-misc.c:1068 atspi/atspi-value.c:111
-msgid "The application no longer exists"
-msgstr "Le aplicazion no esist plui"
-
#~ msgid "Attempted synchronous call where prohibited"
#~ msgstr "Proibît tentatîf di clamade sincrone"
diff --git a/po/gl.po b/po/gl.po
index 1485222..7891cc5 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -18,812 +18,817 @@
msgid ""
msgstr ""
"Project-Id-Version: gl\n"
-"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/at-spi2-core/issues\n"
-"POT-Creation-Date: 2022-07-25 14:47+0000\n"
-"PO-Revision-Date: 2022-08-21 17:15+0200\n"
-"Last-Translator: Fran Dieguez \n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/at-spi2-core/issues/\n"
+"POT-Creation-Date: 2025-02-11 18:33+0000\n"
+"PO-Revision-Date: 2025-02-27 22:11+0100\n"
+"Last-Translator: Fran Dieguez \n"
"Language-Team: Galician \n"
"Language: gl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"#-#-#-#-# gl.po (at-spi 2-core) #-#-#-#-#\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
-"X-Generator: Gtranslator 40.0\n"
-"#-#-#-#-# gl.po (gl) #-#-#-#-#\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 2.2.4\n"
-"X-DL-Team: gl\n"
-"X-DL-Module: at-spi2-core\n"
"X-DL-Branch: main\n"
"X-DL-Domain: po\n"
+"X-DL-Module: at-spi2-core\n"
"X-DL-State: Translating\n"
+"X-DL-Team: gl\n"
+"X-Generator: Poedit 3.5\n"
-#: atk/atkhyperlink.c:126
+#: atk/atkhyperlink.c:127
msgid "Selected Link"
msgstr "Ligazón seleccionada"
-#: atk/atkhyperlink.c:127
+#: atk/atkhyperlink.c:128
msgid "Specifies whether the AtkHyperlink object is selected"
msgstr "Especifica se o obxecto AtkHyperlink está seleccionado"
-#: atk/atkhyperlink.c:133
+#: atk/atkhyperlink.c:134
msgid "Number of Anchors"
msgstr "Número de áncoras"
-#: atk/atkhyperlink.c:134
+#: atk/atkhyperlink.c:135
msgid "The number of anchors associated with the AtkHyperlink object"
msgstr "O número de áncoras asociadas ao obxecto AtkHyperlink"
-#: atk/atkhyperlink.c:142
+#: atk/atkhyperlink.c:143
msgid "End index"
msgstr "Índice final"
-#: atk/atkhyperlink.c:143
+#: atk/atkhyperlink.c:144
msgid "The end index of the AtkHyperlink object"
msgstr "O índice final do obxecto AtkHyperlink"
-#: atk/atkhyperlink.c:151
+#: atk/atkhyperlink.c:152
msgid "Start index"
msgstr "Índice inicial"
-#: atk/atkhyperlink.c:152
+#: atk/atkhyperlink.c:153
msgid "The start index of the AtkHyperlink object"
msgstr "O índice inicial do obxecto AtkHyperlink"
-#: atk/atkobject.c:98
+#: atk/atkobject.c:273
+msgid "Accessible Name"
+msgstr "Nome accesíbel"
+
+#: atk/atkobject.c:274
+msgid "Object instance’s name formatted for assistive technology access"
+msgstr ""
+"O nome da instancia do obxecto formatado para o acceso a tecnoloxías "
+"adaptadas"
+
+#: atk/atkobject.c:280
+msgid "Accessible Description"
+msgstr "Descrición accesíbel"
+
+#: atk/atkobject.c:281
+msgid "Description of an object, formatted for assistive technology access"
+msgstr ""
+"A descrición dun obxecto formatado para o acceso a tecnoloxías adaptadas"
+
+#: atk/atkobject.c:287
+msgid "Accessible Parent"
+msgstr "Pai accesíbel"
+
+#: atk/atkobject.c:288
+msgid ""
+"Parent of the current accessible as returned by atk_object_get_parent()"
+msgstr "O pai do accesíbel actual como o devolve atk_object_get_parent()"
+
+#: atk/atkobject.c:304
+msgid "Accessible Value"
+msgstr "Valor accesíbel"
+
+#: atk/atkobject.c:305
+msgid "Is used to notify that the value has changed"
+msgstr "Úsase para notificar que o valor cambiou"
+
+#: atk/atkobject.c:313
+msgid "Accessible Role"
+msgstr "Rol accesíbel"
+
+#: atk/atkobject.c:314
+msgid "The accessible role of this object"
+msgstr "O rol accesíbel deste obxecto"
+
+#: atk/atkobject.c:321
+msgid "Accessible Layer"
+msgstr "Capa accesíbel"
+
+#: atk/atkobject.c:322
+msgid "The accessible layer of this object"
+msgstr "A capa accesíbel deste obxecto"
+
+#: atk/atkobject.c:330
+msgid "Accessible MDI Value"
+msgstr "Valor MDI accesíbel"
+
+#: atk/atkobject.c:331
+msgid "The accessible MDI value of this object"
+msgstr "O valor MDI accesíbel deste obxecto"
+
+#: atk/atkobject.c:347
+msgid "Accessible Table Caption"
+msgstr "Título da táboa accesíbel"
+
+#: atk/atkobject.c:348
+msgid ""
+"Is used to notify that the table caption has changed; this property should "
+"not be used. accessible-table-caption-object should be used instead"
+msgstr ""
+"Úsase para notificar que o título da táboa cambiou. Esta propiedade non se "
+"debe usar. En troques, debe usarse accessible-table-caption-object"
+
+#: atk/atkobject.c:362
+msgid "Accessible Table Column Header"
+msgstr "Cabeceira de columna da táboa accesíbel"
+
+#: atk/atkobject.c:363
+msgid "Is used to notify that the table column header has changed"
+msgstr "Úsase para notificar que a cabeceira de columna da táboa cambiou"
+
+#: atk/atkobject.c:378
+msgid "Accessible Table Column Description"
+msgstr "Descrición de columna da táboa accesíbel"
+
+#: atk/atkobject.c:379
+msgid "Is used to notify that the table column description has changed"
+msgstr "Úsase para notificar que a descrición de columna da táboa cambiou"
+
+#: atk/atkobject.c:394
+msgid "Accessible Table Row Header"
+msgstr "Cabeceira de fila de táboa accesíbel"
+
+#: atk/atkobject.c:395
+msgid "Is used to notify that the table row header has changed"
+msgstr "Úsase para notificar que a cabeceira de fila da táboa cambiou"
+
+#: atk/atkobject.c:409
+msgid "Accessible Table Row Description"
+msgstr "Descrición de fila da táboa accesíbel"
+
+#: atk/atkobject.c:410
+msgid "Is used to notify that the table row description has changed"
+msgstr "Úsase para notificar que a descrición de fila da táboa cambiou"
+
+#: atk/atkobject.c:416
+msgid "Accessible Table Summary"
+msgstr "Resumo de táboa accesíbel"
+
+#: atk/atkobject.c:417
+msgid "Is used to notify that the table summary has changed"
+msgstr "Úsase para notificar que o resumo da táboa cambiou"
+
+#: atk/atkobject.c:423
+msgid "Accessible Table Caption Object"
+msgstr "Obxecto de título de táboa accesíbel"
+
+#: atk/atkobject.c:424
+msgid "Is used to notify that the table caption has changed"
+msgstr "Úsase para notificar que o título da táboa cambiou"
+
+#: atk/atkobject.c:430
+msgid "Number of Accessible Hypertext Links"
+msgstr "Número de ligazóns de hipertexto accesíbeis"
+
+#: atk/atkobject.c:431
+msgid "The number of links which the current AtkHypertext has"
+msgstr "O número de ligazóns que ten o AtkHypertext actual"
+
+#: atk/atkobject.c:440
+msgid "Accessible ID"
+msgstr "ID do accesíbel"
+
+#: atk/atkobject.c:441
+msgid "ID for the accessible; useful for automated testing"
+msgstr "ID para o accesíbel, útil para probas automatizadas"
+
+#: atk/atkobject.c:447
+msgid "Help text"
+msgstr "Texto de axuda"
+
+#: atk/atkobject.c:448
+msgid "Help text associated with the accessible"
+msgstr "Texto de axuda asociado ao accesíbel"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#: atk/atkvalue.c:193
+msgid "very weak"
+msgstr "moi débil"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#: atk/atkvalue.c:200
+msgid "weak"
+msgstr "débil"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#: atk/atkvalue.c:207
+msgid "acceptable"
+msgstr "aceptábel"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#: atk/atkvalue.c:214
+msgid "strong"
+msgstr "forte"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#: atk/atkvalue.c:221
+msgid "very strong"
+msgstr "moi forte"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#: atk/atkvalue.c:229
+msgid "very low"
+msgstr "moi baixa"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#: atk/atkvalue.c:237
+msgid "medium"
+msgstr "media"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#: atk/atkvalue.c:245
+msgid "high"
+msgstr "alta"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#: atk/atkvalue.c:253
+msgid "very high"
+msgstr "moi alta"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#: atk/atkvalue.c:261
+msgid "very bad"
+msgstr "moi mala"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#: atk/atkvalue.c:269
+msgid "bad"
+msgstr "mala"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#: atk/atkvalue.c:277
+msgid "good"
+msgstr "boa"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#: atk/atkvalue.c:285
+msgid "very good"
+msgstr "moi mala"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#: atk/atkvalue.c:293
+msgid "best"
+msgstr "a mellor"
+
+#: atspi/atspi-component.c:352 atspi/atspi-misc.c:1234 atspi/atspi-value.c:123
+msgid "The application no longer exists"
+msgstr "A aplicación xa non existe"
+
+#: atspi/atspi-misc.c:49
msgid "invalid"
msgstr "non válido"
-#: atk/atkobject.c:99
+#: atspi/atspi-misc.c:50
msgid "accelerator label"
msgstr "etiqueta de tecla rápida"
-#: atk/atkobject.c:100
+#: atspi/atspi-misc.c:51
msgid "alert"
msgstr "alerta"
-#: atk/atkobject.c:101
+#: atspi/atspi-misc.c:52
msgid "animation"
msgstr "animación"
-#: atk/atkobject.c:102
+#: atspi/atspi-misc.c:53
msgid "arrow"
msgstr "frecha"
-#: atk/atkobject.c:103
+#: atspi/atspi-misc.c:54
msgid "calendar"
msgstr "calendario"
-#: atk/atkobject.c:104
+#: atspi/atspi-misc.c:55
msgid "canvas"
msgstr "lenzo"
-#: atk/atkobject.c:105
+#: atspi/atspi-misc.c:56
msgid "check box"
msgstr "caixa de verificación"
-#: atk/atkobject.c:106
+#: atspi/atspi-misc.c:57
msgid "check menu item"
msgstr "elemento de menú de verificación"
-#: atk/atkobject.c:107
+#: atspi/atspi-misc.c:58
msgid "color chooser"
msgstr "selector de cor"
-#: atk/atkobject.c:108
+#: atspi/atspi-misc.c:59
msgid "column header"
msgstr "cabeceira de columna"
-#: atk/atkobject.c:109
+#: atspi/atspi-misc.c:60
msgid "combo box"
msgstr "caixa de combinación"
-#: atk/atkobject.c:110
+#: atspi/atspi-misc.c:61
msgid "dateeditor"
msgstr "editor de data"
-#: atk/atkobject.c:111
+#: atspi/atspi-misc.c:62
msgid "desktop icon"
msgstr "icona de escritorio"
-#: atk/atkobject.c:112
+#: atspi/atspi-misc.c:63
msgid "desktop frame"
msgstr "marco de escritorio"
-#: atk/atkobject.c:113
+#: atspi/atspi-misc.c:64
msgid "dial"
msgstr "marcador"
-#: atk/atkobject.c:114
+#: atspi/atspi-misc.c:65
msgid "dialog"
msgstr "diálogo"
-#: atk/atkobject.c:115
+#: atspi/atspi-misc.c:66
msgid "directory pane"
msgstr "panel de directorio"
-#: atk/atkobject.c:116
+#: atspi/atspi-misc.c:67
msgid "drawing area"
msgstr "área de debuxo"
-#: atk/atkobject.c:117
+#: atspi/atspi-misc.c:68
msgid "file chooser"
msgstr "selector de ficheiros"
-#: atk/atkobject.c:118
+#: atspi/atspi-misc.c:69
msgid "filler"
msgstr "recheo"
#. I know it looks wrong but that is what Java returns
-#: atk/atkobject.c:120
+#: atspi/atspi-misc.c:71
msgid "fontchooser"
msgstr "selector de tipo de letra"
-#: atk/atkobject.c:121
+#: atspi/atspi-misc.c:72
msgid "frame"
msgstr "marco"
-#: atk/atkobject.c:122
+#: atspi/atspi-misc.c:73
msgid "glass pane"
msgstr "panel transparente"
-#: atk/atkobject.c:123
+#: atspi/atspi-misc.c:74
msgid "html container"
msgstr "contedor html"
-#: atk/atkobject.c:124
+#: atspi/atspi-misc.c:75
msgid "icon"
msgstr "icona"
-#: atk/atkobject.c:125
+#: atspi/atspi-misc.c:76
msgid "image"
msgstr "imaxe"
-#: atk/atkobject.c:126
+#: atspi/atspi-misc.c:77
msgid "internal frame"
msgstr "marco interno"
-#: atk/atkobject.c:127
+#: atspi/atspi-misc.c:78
msgid "label"
msgstr "etiqueta"
-#: atk/atkobject.c:128
+#: atspi/atspi-misc.c:79
msgid "layered pane"
msgstr "panel en capas"
-#: atk/atkobject.c:129
+#: atspi/atspi-misc.c:80
msgid "list"
msgstr "lista"
-#: atk/atkobject.c:130
+#: atspi/atspi-misc.c:81
msgid "list item"
msgstr "elemento de lista"
-#: atk/atkobject.c:131
+#: atspi/atspi-misc.c:82
msgid "menu"
msgstr "menú"
-#: atk/atkobject.c:132
+#: atspi/atspi-misc.c:83
msgid "menu bar"
msgstr "barra de menú"
-#: atk/atkobject.c:133
-#| msgid "push button"
+#: atspi/atspi-misc.c:84
msgid "menu button"
msgstr "botón de menú"
-#: atk/atkobject.c:134
+#: atspi/atspi-misc.c:85
msgid "menu item"
msgstr "elemento de menú"
-#: atk/atkobject.c:135
+#: atspi/atspi-misc.c:86
msgid "option pane"
msgstr "panel de opcións"
-#: atk/atkobject.c:136
+#: atspi/atspi-misc.c:87
msgid "page tab"
msgstr "lapela de páxina"
-#: atk/atkobject.c:137
+#: atspi/atspi-misc.c:88
msgid "page tab list"
msgstr "lista de lapelas de páxina"
-#: atk/atkobject.c:138
+#: atspi/atspi-misc.c:89
msgid "panel"
msgstr "panel"
-#: atk/atkobject.c:139
+#: atspi/atspi-misc.c:90
msgid "password text"
msgstr "texto de contrasinal"
-#: atk/atkobject.c:140
+#: atspi/atspi-misc.c:91
msgid "popup menu"
msgstr "menú emerxente"
-#: atk/atkobject.c:141
+#: atspi/atspi-misc.c:92
msgid "progress bar"
msgstr "barra de progreso"
-#: atk/atkobject.c:142
-msgid "push button"
-msgstr "botón de premer"
+#: atspi/atspi-misc.c:93
+msgid "button"
+msgstr "botón"
-#: atk/atkobject.c:143
+#: atspi/atspi-misc.c:94
msgid "radio button"
msgstr "botón de opción"
-#: atk/atkobject.c:144
+#: atspi/atspi-misc.c:95
msgid "radio menu item"
msgstr "elemento de menú de opción"
-#: atk/atkobject.c:145
+#: atspi/atspi-misc.c:96
msgid "root pane"
msgstr "panel raíz"
-#: atk/atkobject.c:146
+#: atspi/atspi-misc.c:97
msgid "row header"
msgstr "cabeceira de fila"
-#: atk/atkobject.c:147
+#: atspi/atspi-misc.c:98
msgid "scroll bar"
msgstr "barra de desprazamento"
-#: atk/atkobject.c:148
+#: atspi/atspi-misc.c:99
msgid "scroll pane"
msgstr "panel de desprazamento"
-#: atk/atkobject.c:149
+#: atspi/atspi-misc.c:100
msgid "separator"
msgstr "separador"
-#: atk/atkobject.c:150
+#: atspi/atspi-misc.c:101
msgid "slider"
msgstr "control desprazábel"
-#: atk/atkobject.c:151
+#: atspi/atspi-misc.c:102
msgid "split pane"
msgstr "panel dividido"
-#: atk/atkobject.c:152
+#: atspi/atspi-misc.c:103
msgid "spin button"
msgstr "botón de axuste"
-#: atk/atkobject.c:153
+#: atspi/atspi-misc.c:104
msgid "statusbar"
msgstr "barra de estado"
-#: atk/atkobject.c:154
+#: atspi/atspi-misc.c:105
+msgid "switch"
+msgstr "cambiar"
+
+#: atspi/atspi-misc.c:106
msgid "table"
msgstr "táboa"
-#: atk/atkobject.c:155
+#: atspi/atspi-misc.c:107
msgid "table cell"
msgstr "cela de táboa"
-#: atk/atkobject.c:156
+#: atspi/atspi-misc.c:108
msgid "table column header"
msgstr "cabeceira de columna de táboa"
-#: atk/atkobject.c:157
+#: atspi/atspi-misc.c:109
msgid "table row header"
msgstr "cabeceira de fila de táboa"
-#: atk/atkobject.c:158
+#: atspi/atspi-misc.c:110
msgid "tear off menu item"
msgstr "elemento de menú desprazábel"
-#: atk/atkobject.c:159
+#: atspi/atspi-misc.c:111
msgid "terminal"
msgstr "terminal"
-#: atk/atkobject.c:160
+#: atspi/atspi-misc.c:112
msgid "text"
msgstr "texto"
-#: atk/atkobject.c:161
+#: atspi/atspi-misc.c:113
msgid "toggle button"
msgstr "botón de estado"
-#: atk/atkobject.c:162
+#: atspi/atspi-misc.c:114
msgid "tool bar"
msgstr "barra de ferramentas"
-#: atk/atkobject.c:163
+#: atspi/atspi-misc.c:115
msgid "tool tip"
msgstr "ferramenta de suxestións"
-#: atk/atkobject.c:164
+#: atspi/atspi-misc.c:116
msgid "tree"
msgstr "árbore"
-#: atk/atkobject.c:165
+#: atspi/atspi-misc.c:117
msgid "tree table"
msgstr "táboa en árbore"
-#: atk/atkobject.c:166
+#: atspi/atspi-misc.c:118
msgid "unknown"
msgstr "descoñecido"
-#: atk/atkobject.c:167
+#: atspi/atspi-misc.c:119
msgid "viewport"
msgstr "área de visualización"
-#: atk/atkobject.c:168
+#: atspi/atspi-misc.c:120
msgid "window"
msgstr "xanela"
-#: atk/atkobject.c:169
+#: atspi/atspi-misc.c:121
msgid "header"
msgstr "cabeceira"
-#: atk/atkobject.c:170
+#: atspi/atspi-misc.c:122
msgid "footer"
msgstr "pé de páxina"
-#: atk/atkobject.c:171
+#: atspi/atspi-misc.c:123
msgid "paragraph"
msgstr "parágrafo"
-#: atk/atkobject.c:172
+#: atspi/atspi-misc.c:124
msgid "ruler"
msgstr "regra"
-#: atk/atkobject.c:173
+#: atspi/atspi-misc.c:125
msgid "application"
msgstr "aplicación"
-#: atk/atkobject.c:174
+#: atspi/atspi-misc.c:126
msgid "autocomplete"
msgstr "completar automaticamente"
-#: atk/atkobject.c:175
+#: atspi/atspi-misc.c:127
msgid "edit bar"
msgstr "barra de edición"
-#: atk/atkobject.c:176
+#: atspi/atspi-misc.c:128
msgid "embedded component"
msgstr "compoñente incorporado"
-#: atk/atkobject.c:177
+#: atspi/atspi-misc.c:129
msgid "entry"
msgstr "entrada"
-#: atk/atkobject.c:178
+#: atspi/atspi-misc.c:130
msgid "chart"
msgstr "gráfica"
-#: atk/atkobject.c:179
+#: atspi/atspi-misc.c:131
msgid "caption"
msgstr "lenda"
-#: atk/atkobject.c:180
+#: atspi/atspi-misc.c:132
msgid "document frame"
msgstr "marco de documento"
-#: atk/atkobject.c:181
+#: atspi/atspi-misc.c:133
msgid "heading"
msgstr "título"
-#: atk/atkobject.c:182
+#: atspi/atspi-misc.c:134
msgid "page"
msgstr "páxina"
-#: atk/atkobject.c:183
+#: atspi/atspi-misc.c:135
msgid "section"
msgstr "sección"
-#: atk/atkobject.c:184
+#: atspi/atspi-misc.c:136
msgid "redundant object"
msgstr "obxecto redundante"
-#: atk/atkobject.c:185
+#: atspi/atspi-misc.c:137
msgid "form"
msgstr "formulario"
-#: atk/atkobject.c:186
+#: atspi/atspi-misc.c:138
msgid "link"
msgstr "ligazón"
-#: atk/atkobject.c:187
+#: atspi/atspi-misc.c:139
msgid "input method window"
msgstr "xanela de método de entrada"
-#: atk/atkobject.c:188
+#: atspi/atspi-misc.c:140
msgid "table row"
msgstr "fila de táboa"
-#: atk/atkobject.c:189
+#: atspi/atspi-misc.c:141
msgid "tree item"
msgstr "elemento de árbore"
-#: atk/atkobject.c:190
+#: atspi/atspi-misc.c:142
msgid "document spreadsheet"
msgstr "documento da folla de cálculo"
-#: atk/atkobject.c:191
+#: atspi/atspi-misc.c:143
msgid "document presentation"
msgstr "documento de presentación"
-#: atk/atkobject.c:192
+#: atspi/atspi-misc.c:144
msgid "document text"
msgstr "documento de texto"
-#: atk/atkobject.c:193
+#: atspi/atspi-misc.c:145
msgid "document web"
msgstr "documento web"
-#: atk/atkobject.c:194
+#: atspi/atspi-misc.c:146
msgid "document email"
msgstr "documento de correo electrónico"
-#: atk/atkobject.c:195
+#: atspi/atspi-misc.c:147
msgid "comment"
msgstr "comentario"
-#: atk/atkobject.c:196
+#: atspi/atspi-misc.c:148
msgid "list box"
msgstr "caixa de lista"
-#: atk/atkobject.c:197
+#: atspi/atspi-misc.c:149
msgid "grouping"
msgstr "agrupación"
-#: atk/atkobject.c:198
+#: atspi/atspi-misc.c:150
msgid "image map"
msgstr "mapa de imaxe"
-#: atk/atkobject.c:199
+#: atspi/atspi-misc.c:151
msgid "notification"
msgstr "notificación"
-#: atk/atkobject.c:200
+#: atspi/atspi-misc.c:152
msgid "info bar"
msgstr "barra de información"
-#: atk/atkobject.c:201
+#: atspi/atspi-misc.c:153
msgid "level bar"
msgstr "barra de nivel"
-#: atk/atkobject.c:202
+#: atspi/atspi-misc.c:154
msgid "title bar"
msgstr "barra de título"
-#: atk/atkobject.c:203
+#: atspi/atspi-misc.c:155
msgid "block quote"
msgstr "bloque de cita"
-#: atk/atkobject.c:204
+#: atspi/atspi-misc.c:156
msgid "audio"
msgstr "son"
-#: atk/atkobject.c:205
+#: atspi/atspi-misc.c:157
msgid "video"
msgstr "vídeo"
-#: atk/atkobject.c:206
+#: atspi/atspi-misc.c:158
msgid "definition"
msgstr "definición"
-#: atk/atkobject.c:207
+#: atspi/atspi-misc.c:159
msgid "article"
msgstr "artigo"
-#: atk/atkobject.c:208
+#: atspi/atspi-misc.c:160
msgid "landmark"
msgstr "punto de referencia"
-#: atk/atkobject.c:209
+#: atspi/atspi-misc.c:161
msgid "log"
msgstr "rexistro"
-#: atk/atkobject.c:210
+#: atspi/atspi-misc.c:162
msgid "marquee"
msgstr "marquesiña"
-#: atk/atkobject.c:211
+#: atspi/atspi-misc.c:163
msgid "math"
msgstr "matemáticas"
-#: atk/atkobject.c:212
+#: atspi/atspi-misc.c:164
msgid "rating"
msgstr "puntuación"
-#: atk/atkobject.c:213
+#: atspi/atspi-misc.c:165
msgid "timer"
msgstr "temporizador"
-#: atk/atkobject.c:214
+#: atspi/atspi-misc.c:166
msgid "description list"
msgstr "lista de descricións"
-#: atk/atkobject.c:215
+#: atspi/atspi-misc.c:167
msgid "description term"
msgstr "termo de descrición"
-#: atk/atkobject.c:216
+#: atspi/atspi-misc.c:168
msgid "description value"
msgstr "valor de descrición"
-#: atk/atkobject.c:392
-msgid "Accessible Name"
-msgstr "Nome accesíbel"
-
-#: atk/atkobject.c:393
-msgid "Object instance’s name formatted for assistive technology access"
-msgstr ""
-"O nome da instancia do obxecto formatado para o acceso a tecnoloxías "
-"adaptadas"
-
-#: atk/atkobject.c:399
-msgid "Accessible Description"
-msgstr "Descrición accesíbel"
-
-#: atk/atkobject.c:400
-msgid "Description of an object, formatted for assistive technology access"
-msgstr ""
-"A descrición dun obxecto formatado para o acceso a tecnoloxías adaptadas"
-
-#: atk/atkobject.c:406
-msgid "Accessible Parent"
-msgstr "Pai accesíbel"
-
-#: atk/atkobject.c:407
-msgid "Parent of the current accessible as returned by atk_object_get_parent()"
-msgstr "O pai do accesíbel actual como o devolve atk_object_get_parent()"
-
-#: atk/atkobject.c:423
-msgid "Accessible Value"
-msgstr "Valor accesíbel"
-
-#: atk/atkobject.c:424
-msgid "Is used to notify that the value has changed"
-msgstr "Úsase para notificar que o valor cambiou"
-
-#: atk/atkobject.c:432
-msgid "Accessible Role"
-msgstr "Rol accesíbel"
-
-#: atk/atkobject.c:433
-msgid "The accessible role of this object"
-msgstr "O rol accesíbel deste obxecto"
-
-#: atk/atkobject.c:440
-msgid "Accessible Layer"
-msgstr "Capa accesíbel"
-
-#: atk/atkobject.c:441
-msgid "The accessible layer of this object"
-msgstr "A capa accesíbel deste obxecto"
-
-#: atk/atkobject.c:449
-msgid "Accessible MDI Value"
-msgstr "Valor MDI accesíbel"
-
-#: atk/atkobject.c:450
-msgid "The accessible MDI value of this object"
-msgstr "O valor MDI accesíbel deste obxecto"
-
-#: atk/atkobject.c:466
-msgid "Accessible Table Caption"
-msgstr "Título da táboa accesíbel"
-
-#: atk/atkobject.c:467
-msgid ""
-"Is used to notify that the table caption has changed; this property should "
-"not be used. accessible-table-caption-object should be used instead"
-msgstr ""
-"Úsase para notificar que o título da táboa cambiou. Esta propiedade non se "
-"debe usar. En troques, debe usarse accessible-table-caption-object"
-
-#: atk/atkobject.c:481
-msgid "Accessible Table Column Header"
-msgstr "Cabeceira de columna da táboa accesíbel"
-
-#: atk/atkobject.c:482
-msgid "Is used to notify that the table column header has changed"
-msgstr "Úsase para notificar que a cabeceira de columna da táboa cambiou"
-
-#: atk/atkobject.c:497
-msgid "Accessible Table Column Description"
-msgstr "Descrición de columna da táboa accesíbel"
-
-#: atk/atkobject.c:498
-msgid "Is used to notify that the table column description has changed"
-msgstr "Úsase para notificar que a descrición de columna da táboa cambiou"
-
-#: atk/atkobject.c:513
-msgid "Accessible Table Row Header"
-msgstr "Cabeceira de fila de táboa accesíbel"
-
-#: atk/atkobject.c:514
-msgid "Is used to notify that the table row header has changed"
-msgstr "Úsase para notificar que a cabeceira de fila da táboa cambiou"
-
-#: atk/atkobject.c:528
-msgid "Accessible Table Row Description"
-msgstr "Descrición de fila da táboa accesíbel"
-
-#: atk/atkobject.c:529
-msgid "Is used to notify that the table row description has changed"
-msgstr "Úsase para notificar que a descrición de fila da táboa cambiou"
-
-#: atk/atkobject.c:535
-msgid "Accessible Table Summary"
-msgstr "Resumo de táboa accesíbel"
-
-#: atk/atkobject.c:536
-msgid "Is used to notify that the table summary has changed"
-msgstr "Úsase para notificar que o resumo da táboa cambiou"
-
-#: atk/atkobject.c:542
-msgid "Accessible Table Caption Object"
-msgstr "Obxecto de título de táboa accesíbel"
-
-#: atk/atkobject.c:543
-msgid "Is used to notify that the table caption has changed"
-msgstr "Úsase para notificar que o título da táboa cambiou"
-
-#: atk/atkobject.c:549
-msgid "Number of Accessible Hypertext Links"
-msgstr "Número de ligazóns de hipertexto accesíbeis"
-
-#: atk/atkobject.c:550
-msgid "The number of links which the current AtkHypertext has"
-msgstr "O número de ligazóns que ten o AtkHypertext actual"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:194
-msgid "very weak"
-msgstr "moi débil"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:201
-msgid "weak"
-msgstr "débil"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:208
-msgid "acceptable"
-msgstr "aceptábel"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:215
-msgid "strong"
-msgstr "forte"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:222
-msgid "very strong"
-msgstr "moi forte"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:230
-msgid "very low"
-msgstr "moi baixa"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:238
-msgid "medium"
-msgstr "media"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:246
-msgid "high"
-msgstr "alta"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:254
-msgid "very high"
-msgstr "moi alta"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:262
-msgid "very bad"
-msgstr "moi mala"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:270
-msgid "bad"
-msgstr "mala"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:278
-msgid "good"
-msgstr "boa"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:286
-msgid "very good"
-msgstr "moi mala"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:294
-msgid "best"
-msgstr "a mellor"
-
-#: atspi/atspi-component.c:332 atspi/atspi-misc.c:1063 atspi/atspi-value.c:111
-msgid "The application no longer exists"
-msgstr "A aplicación xa non existe"
+#~ msgid "push button"
+#~ msgstr "botón de premer"
#~ msgid "Attempted synchronous call where prohibited"
#~ msgstr "Tentouse unha chamada síncrona onde estaba prohibida"
diff --git a/po/he.po b/po/he.po
index 8e95d4c..bcb729c 100644
--- a/po/he.po
+++ b/po/he.po
@@ -8,814 +8,832 @@
# This file is distributed under the same license as the PACKAGE package.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# Gil 'Dolfin' Osher , 2002
-# Yosef Or Boczko , 2014-2022.
+# Yosef Or Boczko , 2014-2024.
#
msgid ""
msgstr ""
"Project-Id-Version: atk.HEAD.he\n"
-"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/at-spi2-core/issues\n"
-"POT-Creation-Date: 2022-07-25 14:47+0000\n"
-"PO-Revision-Date: 2022-08-05 09:53+0300\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/at-spi2-core/issues/\n"
+"POT-Creation-Date: 2025-02-11 18:33+0000\n"
+"PO-Revision-Date: 2025-02-27 09:15+0200\n"
"Last-Translator: Yosef Or Boczko \n"
"Language-Team: Hebrew \n"
"Language: he\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"#-#-#-#-# he.po (at-spi2-core) #-#-#-#-#\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
-"X-Generator: Gtranslator 40.0\n"
-"X-Poedit-Language: Hebrew\n"
-"X-Poedit-Country: ISRAEL\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Poedit 3.5\n"
"X-Poedit-SourceCharset: UTF-8\n"
"X-Project-Style: default\n"
-"#-#-#-#-# he.po (atk.HEAD.he) #-#-#-#-#\n"
"X-Generator: Gtranslator 2.91.6\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: atk/atkhyperlink.c:126
+#: atk/atkhyperlink.c:127
msgid "Selected Link"
msgstr "Selected Link"
-#: atk/atkhyperlink.c:127
+#: atk/atkhyperlink.c:128
msgid "Specifies whether the AtkHyperlink object is selected"
msgstr "Specifies whether the AtkHyperlink object is selected"
-#: atk/atkhyperlink.c:133
+#: atk/atkhyperlink.c:134
msgid "Number of Anchors"
msgstr "Number of Anchors"
-#: atk/atkhyperlink.c:134
+#: atk/atkhyperlink.c:135
msgid "The number of anchors associated with the AtkHyperlink object"
msgstr "The number of anchors associated with the AtkHyperlink object"
-#: atk/atkhyperlink.c:142
+#: atk/atkhyperlink.c:143
msgid "End index"
msgstr "End index"
-#: atk/atkhyperlink.c:143
+#: atk/atkhyperlink.c:144
msgid "The end index of the AtkHyperlink object"
msgstr "The end index of the AtkHyperlink object"
-#: atk/atkhyperlink.c:151
+#: atk/atkhyperlink.c:152
msgid "Start index"
msgstr "Start index"
-#: atk/atkhyperlink.c:152
+#: atk/atkhyperlink.c:153
msgid "The start index of the AtkHyperlink object"
msgstr "The start index of the AtkHyperlink object"
-#: atk/atkobject.c:98
+#: atk/atkobject.c:273
+msgid "Accessible Name"
+msgstr "Accessible Name"
+
+#: atk/atkobject.c:274
+msgid "Object instance’s name formatted for assistive technology access"
+msgstr "Object instance’s name formatted for assistive technology access"
+
+#: atk/atkobject.c:280
+msgid "Accessible Description"
+msgstr "Accessible Description"
+
+#: atk/atkobject.c:281
+msgid "Description of an object, formatted for assistive technology access"
+msgstr "Description of an object, formatted for assistive technology access"
+
+#: atk/atkobject.c:287
+msgid "Accessible Parent"
+msgstr "Accessible Parent"
+
+#: atk/atkobject.c:288
+msgid "Parent of the current accessible as returned by atk_object_get_parent()"
+msgstr ""
+"Parent of the current accessible as returned by atk_object_get_parent()"
+
+#: atk/atkobject.c:304
+msgid "Accessible Value"
+msgstr "Accessible Value"
+
+#: atk/atkobject.c:305
+msgid "Is used to notify that the value has changed"
+msgstr "Is used to notify that the value has changed"
+
+#: atk/atkobject.c:313
+msgid "Accessible Role"
+msgstr "Accessible Role"
+
+#: atk/atkobject.c:314
+msgid "The accessible role of this object"
+msgstr "The accessible role of this object"
+
+#: atk/atkobject.c:321
+msgid "Accessible Layer"
+msgstr "Accessible Layer"
+
+#: atk/atkobject.c:322
+msgid "The accessible layer of this object"
+msgstr "The accessible layer of this object"
+
+#: atk/atkobject.c:330
+msgid "Accessible MDI Value"
+msgstr "Accessible MDI Value"
+
+#: atk/atkobject.c:331
+msgid "The accessible MDI value of this object"
+msgstr "The accessible MDI value of this object"
+
+#: atk/atkobject.c:347
+msgid "Accessible Table Caption"
+msgstr "Accessible Table Caption"
+
+#: atk/atkobject.c:348
+msgid ""
+"Is used to notify that the table caption has changed; this property should "
+"not be used. accessible-table-caption-object should be used instead"
+msgstr ""
+"Is used to notify that the table caption has changed; this property should "
+"not be used. accessible-table-caption-object should be used instead"
+
+#: atk/atkobject.c:362
+msgid "Accessible Table Column Header"
+msgstr "Accessible Table Column Header"
+
+#: atk/atkobject.c:363
+msgid "Is used to notify that the table column header has changed"
+msgstr "Is used to notify that the table column header has changed"
+
+#: atk/atkobject.c:378
+msgid "Accessible Table Column Description"
+msgstr "Accessible Table Column Description"
+
+#: atk/atkobject.c:379
+msgid "Is used to notify that the table column description has changed"
+msgstr "Is used to notify that the table column description has changed"
+
+#: atk/atkobject.c:394
+msgid "Accessible Table Row Header"
+msgstr "Accessible Table Row Header"
+
+#: atk/atkobject.c:395
+msgid "Is used to notify that the table row header has changed"
+msgstr "Is used to notify that the table row header has changed"
+
+#: atk/atkobject.c:409
+msgid "Accessible Table Row Description"
+msgstr "Accessible Table Row Description"
+
+#: atk/atkobject.c:410
+msgid "Is used to notify that the table row description has changed"
+msgstr "Is used to notify that the table row description has changed"
+
+#: atk/atkobject.c:416
+msgid "Accessible Table Summary"
+msgstr "Accessible Table Summary"
+
+#: atk/atkobject.c:417
+msgid "Is used to notify that the table summary has changed"
+msgstr "Is used to notify that the table summary has changed"
+
+#: atk/atkobject.c:423
+msgid "Accessible Table Caption Object"
+msgstr "Accessible Table Caption Object"
+
+#: atk/atkobject.c:424
+msgid "Is used to notify that the table caption has changed"
+msgstr "Is used to notify that the table caption has changed"
+
+#: atk/atkobject.c:430
+msgid "Number of Accessible Hypertext Links"
+msgstr "Number of Accessible Hypertext Links"
+
+#: atk/atkobject.c:431
+msgid "The number of links which the current AtkHypertext has"
+msgstr "The number of links which the current AtkHypertext has"
+
+#: atk/atkobject.c:440
+msgid "Accessible ID"
+msgstr "Accessible ID"
+
+#: atk/atkobject.c:441
+msgid "ID for the accessible; useful for automated testing"
+msgstr "ID for the accessible; useful for automated testing"
+
+#: atk/atkobject.c:447
+msgid "Help text"
+msgstr "Help text"
+
+#: atk/atkobject.c:448
+msgid "Help text associated with the accessible"
+msgstr "Help text associated with the accessible"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:193
+msgid "very weak"
+msgstr "חלש מאוד"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:200
+msgid "weak"
+msgstr "חלש"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:207
+msgid "acceptable"
+msgstr "קביל"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:214
+msgid "strong"
+msgstr "חזק"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:221
+msgid "very strong"
+msgstr "חזק מאוד"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:229
+msgid "very low"
+msgstr "נמוך מאוד"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:237
+msgid "medium"
+msgstr "בינוני"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:245
+msgid "high"
+msgstr "גבוה"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:253
+msgid "very high"
+msgstr "גבוה מאוד"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:261
+msgid "very bad"
+msgstr "רע מאוד"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:269
+msgid "bad"
+msgstr "רע"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:277
+msgid "good"
+msgstr "טוב"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:285
+msgid "very good"
+msgstr "טוב מאוד"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:293
+msgid "best"
+msgstr "הטוב ביותר"
+
+#: atspi/atspi-component.c:352 atspi/atspi-misc.c:1234 atspi/atspi-value.c:123
+msgid "The application no longer exists"
+msgstr "היישום לא קיים יותר"
+
+#: atspi/atspi-misc.c:49
msgid "invalid"
msgstr "invalid"
-#: atk/atkobject.c:99
+#: atspi/atspi-misc.c:50
msgid "accelerator label"
msgstr "accelerator label"
-#: atk/atkobject.c:100
+#: atspi/atspi-misc.c:51
msgid "alert"
msgstr "alert"
-#: atk/atkobject.c:101
+#: atspi/atspi-misc.c:52
msgid "animation"
-msgstr "animation"
+msgstr "הנפשה"
-#: atk/atkobject.c:102
+#: atspi/atspi-misc.c:53
msgid "arrow"
-msgstr "arrow"
+msgstr "חץ"
-#: atk/atkobject.c:103
+#: atspi/atspi-misc.c:54
msgid "calendar"
-msgstr "calendar"
+msgstr "לוח שנה"
-#: atk/atkobject.c:104
+#: atspi/atspi-misc.c:55
msgid "canvas"
-msgstr "canvas"
+msgstr "לוח ציור"
-#: atk/atkobject.c:105
+#: atspi/atspi-misc.c:56
msgid "check box"
-msgstr "check box"
+msgstr "תיבת סימון"
-#: atk/atkobject.c:106
+#: atspi/atspi-misc.c:57
msgid "check menu item"
-msgstr "check menu item"
+msgstr "פריט תפריט סימון"
-#: atk/atkobject.c:107
+#: atspi/atspi-misc.c:58
msgid "color chooser"
-msgstr "color chooser"
+msgstr "בורר צבעים"
-#: atk/atkobject.c:108
+#: atspi/atspi-misc.c:59
msgid "column header"
-msgstr "column header"
+msgstr "כותרת עמודה"
-#: atk/atkobject.c:109
+#: atspi/atspi-misc.c:60
msgid "combo box"
msgstr "combo box"
-#: atk/atkobject.c:110
+#: atspi/atspi-misc.c:61
msgid "dateeditor"
-msgstr "dateeditor"
+msgstr "עורך תאריכים"
-#: atk/atkobject.c:111
+#: atspi/atspi-misc.c:62
msgid "desktop icon"
-msgstr "desktop icon"
+msgstr "סמל שולחן עבודה"
-#: atk/atkobject.c:112
+#: atspi/atspi-misc.c:63
msgid "desktop frame"
msgstr "desktop frame"
-#: atk/atkobject.c:113
+#: atspi/atspi-misc.c:64
msgid "dial"
-msgstr "dial"
+msgstr "חוגה"
-#: atk/atkobject.c:114
+#: atspi/atspi-misc.c:65
msgid "dialog"
-msgstr "dialog"
+msgstr "חלונית"
-#: atk/atkobject.c:115
+#: atspi/atspi-misc.c:66
msgid "directory pane"
-msgstr "directory pane"
+msgstr "לוח תיקיות"
-#: atk/atkobject.c:116
+#: atspi/atspi-misc.c:67
msgid "drawing area"
-msgstr "drawing area"
+msgstr "אזור ציור"
-#: atk/atkobject.c:117
+#: atspi/atspi-misc.c:68
msgid "file chooser"
-msgstr "file chooser"
+msgstr "בורר קבצים"
-#: atk/atkobject.c:118
+#: atspi/atspi-misc.c:69
msgid "filler"
-msgstr "filler"
+msgstr "ממלא"
#. I know it looks wrong but that is what Java returns
-#: atk/atkobject.c:120
+#: atspi/atspi-misc.c:71
msgid "fontchooser"
-msgstr "fontchooser"
+msgstr "בורר גופנים"
-#: atk/atkobject.c:121
+#: atspi/atspi-misc.c:72
msgid "frame"
msgstr "frame"
-#: atk/atkobject.c:122
+#: atspi/atspi-misc.c:73
msgid "glass pane"
-msgstr "glass pane"
+msgstr "חלונית זכוכית"
-#: atk/atkobject.c:123
+#: atspi/atspi-misc.c:74
msgid "html container"
msgstr "html container"
-#: atk/atkobject.c:124
+#: atspi/atspi-misc.c:75
msgid "icon"
-msgstr "icon"
+msgstr "סמל"
-#: atk/atkobject.c:125
+#: atspi/atspi-misc.c:76
msgid "image"
-msgstr "image"
+msgstr "תמונה"
-#: atk/atkobject.c:126
+#: atspi/atspi-misc.c:77
msgid "internal frame"
-msgstr "internal frame"
+msgstr "מסגרת פנימית"
-#: atk/atkobject.c:127
+#: atspi/atspi-misc.c:78
msgid "label"
-msgstr "label"
+msgstr "תווית"
-#: atk/atkobject.c:128
+#: atspi/atspi-misc.c:79
msgid "layered pane"
-msgstr "layered pane"
+msgstr "לוח בשכבות"
-#: atk/atkobject.c:129
+#: atspi/atspi-misc.c:80
msgid "list"
-msgstr "list"
+msgstr "רשימה"
-#: atk/atkobject.c:130
+#: atspi/atspi-misc.c:81
msgid "list item"
-msgstr "list item"
+msgstr "פריט ברשימה"
-#: atk/atkobject.c:131
+#: atspi/atspi-misc.c:82
msgid "menu"
-msgstr "menu"
+msgstr "תפריט"
-#: atk/atkobject.c:132
+#: atspi/atspi-misc.c:83
msgid "menu bar"
-msgstr "menu bar"
+msgstr "סרגל תפריטים"
-#: atk/atkobject.c:133
-#| msgid "push button"
+#: atspi/atspi-misc.c:84
msgid "menu button"
-msgstr "menu button"
+msgstr "כפתור בתפריט"
-#: atk/atkobject.c:134
+#: atspi/atspi-misc.c:85
msgid "menu item"
-msgstr "menu item"
+msgstr "פריט בתפריט"
-#: atk/atkobject.c:135
+#: atspi/atspi-misc.c:86
msgid "option pane"
-msgstr "option pane"
+msgstr "חלונית אפשרויות"
-#: atk/atkobject.c:136
+#: atspi/atspi-misc.c:87
msgid "page tab"
-msgstr "page tab"
+msgstr "לשונית עמוד"
-#: atk/atkobject.c:137
+#: atspi/atspi-misc.c:88
msgid "page tab list"
-msgstr "page tab list"
+msgstr "רשימת לשוניות עמודים"
-#: atk/atkobject.c:138
+#: atspi/atspi-misc.c:89
msgid "panel"
-msgstr "panel"
+msgstr "לוח"
-#: atk/atkobject.c:139
+#: atspi/atspi-misc.c:90
msgid "password text"
-msgstr "password text"
+msgstr "טקסט סיסמה"
-#: atk/atkobject.c:140
+#: atspi/atspi-misc.c:91
msgid "popup menu"
-msgstr "popup menu"
+msgstr "חלונית צצה"
-#: atk/atkobject.c:141
+#: atspi/atspi-misc.c:92
msgid "progress bar"
-msgstr "progress bar"
+msgstr "פס התקדמות"
-#: atk/atkobject.c:142
-msgid "push button"
-msgstr "push button"
+#: atspi/atspi-misc.c:93
+msgid "button"
+msgstr "כפתור"
-#: atk/atkobject.c:143
+#: atspi/atspi-misc.c:94
msgid "radio button"
-msgstr "radio button"
+msgstr "כפתור ברירה"
-#: atk/atkobject.c:144
+#: atspi/atspi-misc.c:95
msgid "radio menu item"
-msgstr "radio menu item"
+msgstr "פריט כפתורי ברירה"
-#: atk/atkobject.c:145
+#: atspi/atspi-misc.c:96
msgid "root pane"
-msgstr "root pane"
+msgstr "לוח על"
-#: atk/atkobject.c:146
+#: atspi/atspi-misc.c:97
msgid "row header"
-msgstr "row header"
+msgstr "כותרת שורה"
-#: atk/atkobject.c:147
+#: atspi/atspi-misc.c:98
msgid "scroll bar"
-msgstr "scroll bar"
+msgstr "פס גלילה"
-#: atk/atkobject.c:148
+#: atspi/atspi-misc.c:99
msgid "scroll pane"
-msgstr "scroll pane"
+msgstr "לוח גלילה"
-#: atk/atkobject.c:149
+#: atspi/atspi-misc.c:100
msgid "separator"
-msgstr "separator"
+msgstr "מפריד"
-#: atk/atkobject.c:150
+#: atspi/atspi-misc.c:101
msgid "slider"
-msgstr "slider"
+msgstr "מחוון"
-#: atk/atkobject.c:151
+#: atspi/atspi-misc.c:102
msgid "split pane"
msgstr "split pane"
-#: atk/atkobject.c:152
+#: atspi/atspi-misc.c:103
msgid "spin button"
msgstr "spin button"
-#: atk/atkobject.c:153
+#: atspi/atspi-misc.c:104
msgid "statusbar"
msgstr "statusbar"
-#: atk/atkobject.c:154
+#: atspi/atspi-misc.c:105
+msgid "switch"
+msgstr "בורר"
+
+#: atspi/atspi-misc.c:106
msgid "table"
-msgstr "table"
+msgstr "טבלה"
-#: atk/atkobject.c:155
+#: atspi/atspi-misc.c:107
msgid "table cell"
-msgstr "table cell"
+msgstr "תא בטבלה"
-#: atk/atkobject.c:156
+#: atspi/atspi-misc.c:108
msgid "table column header"
msgstr "table column header"
-#: atk/atkobject.c:157
+#: atspi/atspi-misc.c:109
msgid "table row header"
msgstr "table row header"
-#: atk/atkobject.c:158
+#: atspi/atspi-misc.c:110
msgid "tear off menu item"
msgstr "tear off menu item"
-#: atk/atkobject.c:159
+#: atspi/atspi-misc.c:111
msgid "terminal"
-msgstr "terminal"
+msgstr "מסוף"
-#: atk/atkobject.c:160
+#: atspi/atspi-misc.c:112
msgid "text"
-msgstr "text"
+msgstr "טקסט"
-#: atk/atkobject.c:161
+#: atspi/atspi-misc.c:113
msgid "toggle button"
-msgstr "toggle button"
+msgstr "כפתור ברירה"
-#: atk/atkobject.c:162
+#: atspi/atspi-misc.c:114
msgid "tool bar"
-msgstr "tool bar"
+msgstr "סרגל כלים"
-#: atk/atkobject.c:163
+#: atspi/atspi-misc.c:115
msgid "tool tip"
-msgstr "tool tip"
+msgstr "חלונית עצה"
-#: atk/atkobject.c:164
+#: atspi/atspi-misc.c:116
msgid "tree"
-msgstr "tree"
+msgstr "עץ"
-#: atk/atkobject.c:165
+#: atspi/atspi-misc.c:117
msgid "tree table"
-msgstr "tree table"
+msgstr "טבלת עץ"
-#: atk/atkobject.c:166
+#: atspi/atspi-misc.c:118
msgid "unknown"
-msgstr "unknown"
+msgstr "לא ידוע"
-#: atk/atkobject.c:167
+#: atspi/atspi-misc.c:119
msgid "viewport"
-msgstr "viewport"
+msgstr "אשנב"
-#: atk/atkobject.c:168
+#: atspi/atspi-misc.c:120
msgid "window"
-msgstr "window"
+msgstr "חלון"
-#: atk/atkobject.c:169
+#: atspi/atspi-misc.c:121
msgid "header"
-msgstr "header"
+msgstr "כותרת עליונה"
-#: atk/atkobject.c:170
+#: atspi/atspi-misc.c:122
msgid "footer"
-msgstr "footer"
+msgstr "כותרת תחתונה"
-#: atk/atkobject.c:171
+#: atspi/atspi-misc.c:123
msgid "paragraph"
-msgstr "paragraph"
+msgstr "פסקה"
-#: atk/atkobject.c:172
+#: atspi/atspi-misc.c:124
msgid "ruler"
-msgstr "ruler"
+msgstr "סרגל"
-#: atk/atkobject.c:173
+#: atspi/atspi-misc.c:125
msgid "application"
-msgstr "application"
+msgstr "יישום"
-#: atk/atkobject.c:174
+#: atspi/atspi-misc.c:126
msgid "autocomplete"
-msgstr "autocomplete"
+msgstr "השלמה אוטומטית"
-#: atk/atkobject.c:175
+#: atspi/atspi-misc.c:127
msgid "edit bar"
-msgstr "edit bar"
+msgstr "סרגל עריכה"
-#: atk/atkobject.c:176
+#: atspi/atspi-misc.c:128
msgid "embedded component"
-msgstr "embedded component"
+msgstr "רכיב משובץ"
-#: atk/atkobject.c:177
+#: atspi/atspi-misc.c:129
msgid "entry"
-msgstr "entry"
+msgstr "רשומה"
-#: atk/atkobject.c:178
+#: atspi/atspi-misc.c:130
msgid "chart"
-msgstr "chart"
+msgstr "תרשים"
-#: atk/atkobject.c:179
+#: atspi/atspi-misc.c:131
msgid "caption"
msgstr "caption"
-#: atk/atkobject.c:180
+#: atspi/atspi-misc.c:132
msgid "document frame"
msgstr "document frame"
-#: atk/atkobject.c:181
+#: atspi/atspi-misc.c:133
msgid "heading"
msgstr "heading"
-#: atk/atkobject.c:182
+#: atspi/atspi-misc.c:134
msgid "page"
msgstr "page"
-#: atk/atkobject.c:183
+#: atspi/atspi-misc.c:135
msgid "section"
-msgstr "section"
+msgstr "סעיף"
-#: atk/atkobject.c:184
+#: atspi/atspi-misc.c:136
msgid "redundant object"
msgstr "redundant object"
-#: atk/atkobject.c:185
+#: atspi/atspi-misc.c:137
msgid "form"
-msgstr "form"
+msgstr "טופס"
-#: atk/atkobject.c:186
+#: atspi/atspi-misc.c:138
msgid "link"
msgstr "link"
-#: atk/atkobject.c:187
+#: atspi/atspi-misc.c:139
msgid "input method window"
-msgstr "input method window"
+msgstr "חלון שיטת קלט"
-#: atk/atkobject.c:188
+#: atspi/atspi-misc.c:140
msgid "table row"
-msgstr "table row"
+msgstr "שורה בטבלה"
-#: atk/atkobject.c:189
+#: atspi/atspi-misc.c:141
msgid "tree item"
-msgstr "tree item"
+msgstr "פריט בעץ"
-#: atk/atkobject.c:190
+#: atspi/atspi-misc.c:142
msgid "document spreadsheet"
msgstr "document spreadsheet"
-#: atk/atkobject.c:191
+#: atspi/atspi-misc.c:143
msgid "document presentation"
msgstr "document presentation"
-#: atk/atkobject.c:192
+#: atspi/atspi-misc.c:144
msgid "document text"
msgstr "document text"
-#: atk/atkobject.c:193
+#: atspi/atspi-misc.c:145
msgid "document web"
msgstr "document web"
-#: atk/atkobject.c:194
+#: atspi/atspi-misc.c:146
msgid "document email"
msgstr "document email"
-#: atk/atkobject.c:195
+#: atspi/atspi-misc.c:147
msgid "comment"
-msgstr "comment"
+msgstr "הערה"
-#: atk/atkobject.c:196
+#: atspi/atspi-misc.c:148
msgid "list box"
msgstr "list box"
-#: atk/atkobject.c:197
+#: atspi/atspi-misc.c:149
msgid "grouping"
msgstr "grouping"
-#: atk/atkobject.c:198
+#: atspi/atspi-misc.c:150
msgid "image map"
-msgstr "image map"
+msgstr "מפת תמונה"
-#: atk/atkobject.c:199
+#: atspi/atspi-misc.c:151
msgid "notification"
msgstr "notification"
-#: atk/atkobject.c:200
+#: atspi/atspi-misc.c:152
msgid "info bar"
msgstr "info bar"
-#: atk/atkobject.c:201
+#: atspi/atspi-misc.c:153
msgid "level bar"
msgstr "level bar"
-#: atk/atkobject.c:202
+#: atspi/atspi-misc.c:154
msgid "title bar"
-msgstr "title bar"
+msgstr "שורת כותרת"
-#: atk/atkobject.c:203
+#: atspi/atspi-misc.c:155
msgid "block quote"
-msgstr "block quote"
+msgstr "מקטע ציטוט"
-#: atk/atkobject.c:204
+#: atspi/atspi-misc.c:156
msgid "audio"
-msgstr "audio"
+msgstr "שמע"
-#: atk/atkobject.c:205
+#: atspi/atspi-misc.c:157
msgid "video"
-msgstr "video"
+msgstr "וידאו"
-#: atk/atkobject.c:206
+#: atspi/atspi-misc.c:158
msgid "definition"
-msgstr "definition"
+msgstr "הגדרה"
-#: atk/atkobject.c:207
+#: atspi/atspi-misc.c:159
msgid "article"
-msgstr "article"
+msgstr "ערך"
-#: atk/atkobject.c:208
+#: atspi/atspi-misc.c:160
msgid "landmark"
msgstr "landmark"
-#: atk/atkobject.c:209
+#: atspi/atspi-misc.c:161
msgid "log"
-msgstr "log"
+msgstr "יומן"
-#: atk/atkobject.c:210
+#: atspi/atspi-misc.c:162
msgid "marquee"
-msgstr "marquee"
+msgstr "טקסט נגלל"
-#: atk/atkobject.c:211
+#: atspi/atspi-misc.c:163
msgid "math"
-msgstr "math"
+msgstr "מתמטיקה"
-#: atk/atkobject.c:212
+#: atspi/atspi-misc.c:164
msgid "rating"
-msgstr "rating"
+msgstr "דירוג"
-#: atk/atkobject.c:213
+#: atspi/atspi-misc.c:165
msgid "timer"
-msgstr "timer"
+msgstr "מתזמן"
-#: atk/atkobject.c:214
+#: atspi/atspi-misc.c:166
msgid "description list"
-msgstr "description list"
+msgstr "רשימת תיאורים"
-#: atk/atkobject.c:215
+#: atspi/atspi-misc.c:167
msgid "description term"
-msgstr "description term"
+msgstr "ביטוי תיאור"
-#: atk/atkobject.c:216
+#: atspi/atspi-misc.c:168
msgid "description value"
-msgstr "description value"
-
-#: atk/atkobject.c:392
-msgid "Accessible Name"
-msgstr "Accessible Name"
-
-#: atk/atkobject.c:393
-msgid "Object instance’s name formatted for assistive technology access"
-msgstr "Object instance’s name formatted for assistive technology access"
-
-#: atk/atkobject.c:399
-msgid "Accessible Description"
-msgstr "Accessible Description"
-
-#: atk/atkobject.c:400
-msgid "Description of an object, formatted for assistive technology access"
-msgstr "Description of an object, formatted for assistive technology access"
-
-#: atk/atkobject.c:406
-msgid "Accessible Parent"
-msgstr "Accessible Parent"
-
-#: atk/atkobject.c:407
-msgid "Parent of the current accessible as returned by atk_object_get_parent()"
-msgstr ""
-"Parent of the current accessible as returned by atk_object_get_parent()"
-
-#: atk/atkobject.c:423
-msgid "Accessible Value"
-msgstr "Accessible Value"
-
-#: atk/atkobject.c:424
-msgid "Is used to notify that the value has changed"
-msgstr "Is used to notify that the value has changed"
-
-#: atk/atkobject.c:432
-msgid "Accessible Role"
-msgstr "Accessible Role"
-
-#: atk/atkobject.c:433
-msgid "The accessible role of this object"
-msgstr "The accessible role of this object"
-
-#: atk/atkobject.c:440
-msgid "Accessible Layer"
-msgstr "Accessible Layer"
-
-#: atk/atkobject.c:441
-msgid "The accessible layer of this object"
-msgstr "The accessible layer of this object"
-
-#: atk/atkobject.c:449
-msgid "Accessible MDI Value"
-msgstr "Accessible MDI Value"
-
-#: atk/atkobject.c:450
-msgid "The accessible MDI value of this object"
-msgstr "The accessible MDI value of this object"
-
-#: atk/atkobject.c:466
-msgid "Accessible Table Caption"
-msgstr "Accessible Table Caption"
-
-#: atk/atkobject.c:467
-msgid ""
-"Is used to notify that the table caption has changed; this property should "
-"not be used. accessible-table-caption-object should be used instead"
-msgstr ""
-"Is used to notify that the table caption has changed; this property should "
-"not be used. accessible-table-caption-object should be used instead"
-
-#: atk/atkobject.c:481
-msgid "Accessible Table Column Header"
-msgstr "Accessible Table Column Header"
-
-#: atk/atkobject.c:482
-msgid "Is used to notify that the table column header has changed"
-msgstr "Is used to notify that the table column header has changed"
-
-#: atk/atkobject.c:497
-msgid "Accessible Table Column Description"
-msgstr "Accessible Table Column Description"
-
-#: atk/atkobject.c:498
-msgid "Is used to notify that the table column description has changed"
-msgstr "Is used to notify that the table column description has changed"
-
-#: atk/atkobject.c:513
-msgid "Accessible Table Row Header"
-msgstr "Accessible Table Row Header"
-
-#: atk/atkobject.c:514
-msgid "Is used to notify that the table row header has changed"
-msgstr "Is used to notify that the table row header has changed"
-
-#: atk/atkobject.c:528
-msgid "Accessible Table Row Description"
-msgstr "Accessible Table Row Description"
-
-#: atk/atkobject.c:529
-msgid "Is used to notify that the table row description has changed"
-msgstr "Is used to notify that the table row description has changed"
-
-#: atk/atkobject.c:535
-msgid "Accessible Table Summary"
-msgstr "Accessible Table Summary"
+msgstr "ערך תיאור"
-#: atk/atkobject.c:536
-msgid "Is used to notify that the table summary has changed"
-msgstr "Is used to notify that the table summary has changed"
-
-#: atk/atkobject.c:542
-msgid "Accessible Table Caption Object"
-msgstr "Accessible Table Caption Object"
-
-#: atk/atkobject.c:543
-msgid "Is used to notify that the table caption has changed"
-msgstr "Is used to notify that the table caption has changed"
-
-#: atk/atkobject.c:549
-msgid "Number of Accessible Hypertext Links"
-msgstr "Number of Accessible Hypertext Links"
-
-#: atk/atkobject.c:550
-msgid "The number of links which the current AtkHypertext has"
-msgstr "The number of links which the current AtkHypertext has"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:194
-msgid "very weak"
-msgstr "חלש מאוד"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:201
-msgid "weak"
-msgstr "חלש"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:208
-msgid "acceptable"
-msgstr "קביל"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:215
-msgid "strong"
-msgstr "חזק"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:222
-msgid "very strong"
-msgstr "חזק מאוד"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:230
-msgid "very low"
-msgstr "נמוך מאוד"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:238
-msgid "medium"
-msgstr "בינוני"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:246
-msgid "high"
-msgstr "גבוה"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:254
-msgid "very high"
-msgstr "גבוה מאוד"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:262
-msgid "very bad"
-msgstr "רע מאוד"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:270
-msgid "bad"
-msgstr "רע"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:278
-msgid "good"
-msgstr "טוב"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:286
-msgid "very good"
-msgstr "טוב מאוד"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:294
-msgid "best"
-msgstr "הטוב ביותר"
-
-#: atspi/atspi-component.c:332 atspi/atspi-misc.c:1063 atspi/atspi-value.c:111
-msgid "The application no longer exists"
-msgstr "The application no longer exists"
+#~ msgid "push button"
+#~ msgstr "push button"
#~ msgid "Attempted synchronous call where prohibited"
#~ msgstr "Attempted synchronous call where prohibited"
diff --git a/po/hi.po b/po/hi.po
index c06ae19..ed906df 100644
--- a/po/hi.po
+++ b/po/hi.po
@@ -14,618 +14,820 @@
# Ravishankar Shrivastava , 2004.
# Rajesh Ranjan , 2005, 2006, 2009.
# chandankumar(ciypro) , 2012.
-#, fuzzy
+# Scrambled777 , 2024.
+#
msgid ""
msgstr ""
-"#-#-#-#-# hi.po (at-spi2-core.po.master.hi) #-#-#-#-#\n"
-"Project-Id-Version: at-spi2-core.po.master.hi\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=at-"
-"spi&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2011-05-06 16:03+0000\n"
-"PO-Revision-Date: 2012-03-26 15:34+0530\n"
-"Last-Translator: chandankumar(ciypro) \n"
-"Language-Team: Hindi \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Lokalize 1.2\n"
-"Language: hi\n"
-"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"#-#-#-#-# hi.po (hi) #-#-#-#-#\n"
"Project-Id-Version: hi\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
-"product=atk&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2011-09-11 11:03+0000\n"
-"PO-Revision-Date: 2012-03-26 15:41+0530\n"
-"Last-Translator: chandankumar(ciypro) \n"
-"Language-Team: Hindi \n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/at-spi2-core/issues/\n"
+"POT-Creation-Date: 2024-08-06 21:05+0000\n"
+"PO-Revision-Date: 2024-08-15 13:51+0530\n"
+"Last-Translator: Scrambled777 \n"
+"Language-Team: Hindi \n"
+"Language: hi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Lokalize 1.2\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
-"\n"
-"\n"
-"\n"
-"\n"
-"\n"
-"\n"
-"Language: hi\n"
-
-#: ../atspi/atspi-misc.c:937 ../atspi/atspi-misc.c:988
-#: ../atspi/atspi-misc.c:1029
-msgid "The application no longer exists"
-msgstr "अनुप्रयोग अब मौजूद नहीं है"
+"X-Generator: Gtranslator 46.1\n"
+"X-Generator: Lokalize 1.2\n"
-#: ../atk/atkhyperlink.c:103
+#: atk/atkhyperlink.c:127
msgid "Selected Link"
msgstr "चयनित लिंक"
-#: ../atk/atkhyperlink.c:104
+#: atk/atkhyperlink.c:128
msgid "Specifies whether the AtkHyperlink object is selected"
-msgstr "उल्लेखित करता है कि क्या एटीके-हायपरलिंक वस्तु चयनित है"
+msgstr "उल्लेखित करता है कि क्या AtkHyperlink वस्तु चयनित है"
-#: ../atk/atkhyperlink.c:110
+#: atk/atkhyperlink.c:134
msgid "Number of Anchors"
msgstr "लंगर की संख्या"
-#: ../atk/atkhyperlink.c:111
+#: atk/atkhyperlink.c:135
msgid "The number of anchors associated with the AtkHyperlink object"
-msgstr "एटीके-हायपरलिंक वस्तु के साथ सम्बद्ध लंगर की संख्या"
+msgstr "AtkHyperlink वस्तु के साथ सम्बद्ध लंगर की संख्या"
-#: ../atk/atkhyperlink.c:119
+#: atk/atkhyperlink.c:143
msgid "End index"
-msgstr "अंतिम सूची"
+msgstr "अंतिम सूचकांक"
-#: ../atk/atkhyperlink.c:120
+#: atk/atkhyperlink.c:144
msgid "The end index of the AtkHyperlink object"
-msgstr "एटीके-हायपरलिंक वस्तु की अंतिम सूची"
+msgstr "AtkHyperlink वस्तु का अंतिम सूचकांक"
-#: ../atk/atkhyperlink.c:128
+#: atk/atkhyperlink.c:152
msgid "Start index"
-msgstr "प्रारंभ सूची"
+msgstr "प्रारंभ सूचकांक"
-#: ../atk/atkhyperlink.c:129
+#: atk/atkhyperlink.c:153
msgid "The start index of the AtkHyperlink object"
-msgstr "एटीके-हायपरलिंक वस्तु का प्रारंभ सूची"
+msgstr "AtkHyperlink वस्तु का प्रारंभ सूचकांक"
+
+#: atk/atkobject.c:273
+msgid "Accessible Name"
+msgstr "पंहुचयोग्य नाम"
+
+#: atk/atkobject.c:274
+msgid "Object instance’s name formatted for assistive technology access"
+msgstr "मददगार तकनीक पहुंच हेतु प्रारूपित वस्तु उदाहरण नाम"
+
+#: atk/atkobject.c:280
+msgid "Accessible Description"
+msgstr "पहुंच योग्य वर्णन"
+
+#: atk/atkobject.c:281
+msgid "Description of an object, formatted for assistive technology access"
+msgstr "मददगार तकनीक पहुंच हेतु प्रारूपित वस्तु का वर्णन"
+
+#: atk/atkobject.c:287
+msgid "Accessible Parent"
+msgstr "पहुंच योग्य जनक"
+
+#: atk/atkobject.c:288
+msgid "Parent of the current accessible as returned by atk_object_get_parent()"
+msgstr "atk_object_get_parent() द्वारा लौटाए गए वर्तमान पहुंच योग्य का पैरेंट"
+
+#: atk/atkobject.c:304
+msgid "Accessible Value"
+msgstr "पहुंच योग्य मूल्य"
+
+#: atk/atkobject.c:305
+msgid "Is used to notify that the value has changed"
+msgstr "मान बदल चुका है यह बताने हेतु उपयोग में आता है"
+
+#: atk/atkobject.c:313
+msgid "Accessible Role"
+msgstr "पहुंच योग्य भूमिका"
+
+#: atk/atkobject.c:314
+msgid "The accessible role of this object"
+msgstr "इस वस्तु की पहुंच योग्य भूमिका"
+
+#: atk/atkobject.c:321
+msgid "Accessible Layer"
+msgstr "पहुंच योग्य परत"
+
+#: atk/atkobject.c:322
+msgid "The accessible layer of this object"
+msgstr "इस वस्तु की पहुंच योग्य परत"
+
+#: atk/atkobject.c:330
+msgid "Accessible MDI Value"
+msgstr "पहुंच योग्य MDI मान"
+
+#: atk/atkobject.c:331
+msgid "The accessible MDI value of this object"
+msgstr "इस वस्तु का पहुंच योग्य MDI मूल्य"
+
+#: atk/atkobject.c:347
+msgid "Accessible Table Caption"
+msgstr "पहुंच योग्य सारणी शीर्षक"
+
+#: atk/atkobject.c:348
+msgid ""
+"Is used to notify that the table caption has changed; this property should "
+"not be used. accessible-table-caption-object should be used instead"
+msgstr ""
+"सारणी शीर्षक बदल चुका है यह बताने हेतु उपयोग में आता है, यह गुण उपयोग में नहीं लेना चाहिए। "
+"बदले में पहुंच योग्य-सारणी-शीर्षक-वस्तु उपयोग में लेना चाहिए"
+
+#: atk/atkobject.c:362
+msgid "Accessible Table Column Header"
+msgstr "पहुंच योग्य सारणी स्तंभ शीर्षिका"
+
+#: atk/atkobject.c:363
+msgid "Is used to notify that the table column header has changed"
+msgstr "सारणी स्तंभ शीर्षिका बदल चुका है यह बताने हेतु उपयोग में आता है"
+
+#: atk/atkobject.c:378
+msgid "Accessible Table Column Description"
+msgstr "पहुंच योग्य सारणी स्तंभ वर्णन"
+
+#: atk/atkobject.c:379
+msgid "Is used to notify that the table column description has changed"
+msgstr "पहुंच योग्य सारणी स्तंभ वर्णन बदल चुका है यह बताने हेतु उपयोग में आता है"
+
+#: atk/atkobject.c:394
+msgid "Accessible Table Row Header"
+msgstr "पहुंच योग्य सारणी पंक्ति शीर्षिका"
+
+#: atk/atkobject.c:395
+msgid "Is used to notify that the table row header has changed"
+msgstr "सारणी पंक्ति शीर्षिका बदल चुका है यह बताने हेतु उपयोग में आता है"
+
+#: atk/atkobject.c:409
+msgid "Accessible Table Row Description"
+msgstr "पहुंच योग्य सारणी पंक्ति वर्णन"
+
+#: atk/atkobject.c:410
+msgid "Is used to notify that the table row description has changed"
+msgstr "पहुंच योग्य सारणी पंक्ति वर्णन बदल चुका है यह बताने हेतु उपयोग में आता है"
+
+#: atk/atkobject.c:416
+msgid "Accessible Table Summary"
+msgstr "पहुंच योग्य सारणी सारांश"
+
+#: atk/atkobject.c:417
+msgid "Is used to notify that the table summary has changed"
+msgstr "सारणी स्तंभ सारांश बदल चुका है यह बताने हेतु उपयोग में आता है"
+
+#: atk/atkobject.c:423
+msgid "Accessible Table Caption Object"
+msgstr "पहुंच योग्य सारणी शीर्षक वस्तु"
+
+#: atk/atkobject.c:424
+msgid "Is used to notify that the table caption has changed"
+msgstr "सारणी शीर्षक बदल चुका है यह बताने हेतु उपयोग में आता है"
-#: ../atk/atkobject.c:74
+#: atk/atkobject.c:430
+msgid "Number of Accessible Hypertext Links"
+msgstr "पहुंच योग्य हायपरटेक्स्ट कड़ी की संख्या"
+
+#: atk/atkobject.c:431
+msgid "The number of links which the current AtkHypertext has"
+msgstr "कड़ी की संख्या जो कि वर्तमान AtkHypertext में हैं"
+
+#: atk/atkobject.c:440
+msgid "Accessible ID"
+msgstr "पंहुचयोग्य ID"
+
+#: atk/atkobject.c:441
+msgid "ID for the accessible; useful for automated testing"
+msgstr "सुलभ के लिए ID; स्वचालित परीक्षण के लिए उपयोगी"
+
+#: atk/atkobject.c:447
+msgid "Help text"
+msgstr "सहायता पाठ"
+
+#: atk/atkobject.c:448
+msgid "Help text associated with the accessible"
+msgstr "सहायता पाठ सुलभ से संबद्ध"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:193
+msgid "very weak"
+msgstr "बहुत कमजोर"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:200
+msgid "weak"
+msgstr "कमजोर"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:207
+msgid "acceptable"
+msgstr "स्वीकार्य"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:214
+msgid "strong"
+msgstr "मजबूत"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:221
+msgid "very strong"
+msgstr "बहुत मजबूत"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:229
+msgid "very low"
+msgstr "बहुत कम"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:237
+msgid "medium"
+msgstr "मध्यम"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:245
+msgid "high"
+msgstr "ऊंचा"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:253
+msgid "very high"
+msgstr "बहुत ऊंचा"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:261
+msgid "very bad"
+msgstr "बहुत खराब"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:269
+msgid "bad"
+msgstr "खराब"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:277
+msgid "good"
+msgstr "अच्छा"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:285
+msgid "very good"
+msgstr "बहुत अच्छा"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:293
+msgid "best"
+msgstr "श्रेष्ठ"
+
+#: atspi/atspi-component.c:352 atspi/atspi-misc.c:1232 atspi/atspi-value.c:123
+msgid "The application no longer exists"
+msgstr "अनुप्रयोग अब मौजूद नहीं है"
+
+#: atspi/atspi-misc.c:49
msgid "invalid"
msgstr "अवैध"
-#: ../atk/atkobject.c:75
+#: atspi/atspi-misc.c:50
msgid "accelerator label"
msgstr "त्वरक लेबल"
-#: ../atk/atkobject.c:76
+#: atspi/atspi-misc.c:51
msgid "alert"
msgstr "सावधान"
-#: ../atk/atkobject.c:77
+#: atspi/atspi-misc.c:52
msgid "animation"
msgstr "चल छवि"
-#: ../atk/atkobject.c:78
+#: atspi/atspi-misc.c:53
msgid "arrow"
msgstr "तीर"
-#: ../atk/atkobject.c:79
+#: atspi/atspi-misc.c:54
msgid "calendar"
msgstr "पंचांग"
-#: ../atk/atkobject.c:80
+#: atspi/atspi-misc.c:55
msgid "canvas"
msgstr "कैनवास"
-#: ../atk/atkobject.c:81
+#: atspi/atspi-misc.c:56
msgid "check box"
-msgstr "जाँच पेटी"
+msgstr "जांच पेटी"
-#: ../atk/atkobject.c:82
+#: atspi/atspi-misc.c:57
msgid "check menu item"
msgstr "चेक मेन्यू मद"
-#: ../atk/atkobject.c:83
+#: atspi/atspi-misc.c:58
msgid "color chooser"
msgstr "रंग चयनक"
-#: ../atk/atkobject.c:84
+#: atspi/atspi-misc.c:59
msgid "column header"
msgstr "स्तंभ शीर्षिका"
-#: ../atk/atkobject.c:85
+#: atspi/atspi-misc.c:60
msgid "combo box"
msgstr "कॉम्बो पेटी"
-#: ../atk/atkobject.c:86
+#: atspi/atspi-misc.c:61
msgid "dateeditor"
msgstr "तिथि-सम्पादक"
-#: ../atk/atkobject.c:87
+#: atspi/atspi-misc.c:62
msgid "desktop icon"
msgstr "डेस्कटॉप प्रतीक"
-#: ../atk/atkobject.c:88
+#: atspi/atspi-misc.c:63
msgid "desktop frame"
msgstr "डेस्कटॉप फ्रेम"
-#: ../atk/atkobject.c:89
+#: atspi/atspi-misc.c:64
msgid "dial"
msgstr "डायल"
-#: ../atk/atkobject.c:90
+#: atspi/atspi-misc.c:65
msgid "dialog"
msgstr "संवाद"
-#: ../atk/atkobject.c:91
+#: atspi/atspi-misc.c:66
msgid "directory pane"
msgstr "निर्देशिका फलक"
-#: ../atk/atkobject.c:92
+#: atspi/atspi-misc.c:67
msgid "drawing area"
msgstr "आरेखण-क्षेत्र"
-#: ../atk/atkobject.c:93
+#: atspi/atspi-misc.c:68
msgid "file chooser"
-msgstr "फ़ाइल-चयनक"
+msgstr "फाइल-चयनक"
-#: ../atk/atkobject.c:94
+#: atspi/atspi-misc.c:69
msgid "filler"
msgstr "भरनेवाला"
# I know it looks wrong but that is what Java returns
#. I know it looks wrong but that is what Java returns
-#: ../atk/atkobject.c:96
+#: atspi/atspi-misc.c:71
msgid "fontchooser"
-msgstr "फ़ॉन्ट-चयनक"
+msgstr "फॉन्टचयनकर्ता"
-#: ../atk/atkobject.c:97
+#: atspi/atspi-misc.c:72
msgid "frame"
msgstr "फ्रेम"
-#: ../atk/atkobject.c:98
+#: atspi/atspi-misc.c:73
msgid "glass pane"
msgstr "काँच-फलक"
-#: ../atk/atkobject.c:99
+#: atspi/atspi-misc.c:74
msgid "html container"
-msgstr "एचटीएमएल-धारक"
+msgstr "html-धारक"
-#: ../atk/atkobject.c:100
+#: atspi/atspi-misc.c:75
msgid "icon"
msgstr "प्रतीक"
-#: ../atk/atkobject.c:101
+#: atspi/atspi-misc.c:76
msgid "image"
msgstr "छवि"
-#: ../atk/atkobject.c:102
+#: atspi/atspi-misc.c:77
msgid "internal frame"
msgstr "आन्तरिक फ्रेम"
-#: ../atk/atkobject.c:103
+#: atspi/atspi-misc.c:78
msgid "label"
msgstr "लेबल"
-#: ../atk/atkobject.c:104
+#: atspi/atspi-misc.c:79
msgid "layered pane"
msgstr "स्तरित फलक"
-#: ../atk/atkobject.c:105
+#: atspi/atspi-misc.c:80
msgid "list"
msgstr "सूची"
-#: ../atk/atkobject.c:106
+#: atspi/atspi-misc.c:81
msgid "list item"
msgstr "सूची मद"
-#: ../atk/atkobject.c:107
+#: atspi/atspi-misc.c:82
msgid "menu"
-msgstr "मेन्यू"
+msgstr "मेनू"
-#: ../atk/atkobject.c:108
+#: atspi/atspi-misc.c:83
msgid "menu bar"
-msgstr "मेन्यू पट्टी"
+msgstr "मेनू पट्टी"
-#: ../atk/atkobject.c:109
+#: atspi/atspi-misc.c:84
+msgid "menu button"
+msgstr "मेनू बटन"
+
+#: atspi/atspi-misc.c:85
msgid "menu item"
-msgstr "मेन्यू मद"
+msgstr "मेनू मद"
-#: ../atk/atkobject.c:110
+#: atspi/atspi-misc.c:86
msgid "option pane"
msgstr "विकल्प फलक"
-#: ../atk/atkobject.c:111
+#: atspi/atspi-misc.c:87
msgid "page tab"
msgstr "पृष्ठ टैब"
-#: ../atk/atkobject.c:112
+#: atspi/atspi-misc.c:88
msgid "page tab list"
msgstr "पृष्ठ टैब सूची"
-#: ../atk/atkobject.c:113
+#: atspi/atspi-misc.c:89
msgid "panel"
msgstr "पटल"
-#: ../atk/atkobject.c:114
+#: atspi/atspi-misc.c:90
msgid "password text"
msgstr "पासवर्ड पाठ"
-#: ../atk/atkobject.c:115
+#: atspi/atspi-misc.c:91
msgid "popup menu"
-msgstr "पॉपअप मेन्यू"
+msgstr "पॉपअप मेनू"
-#: ../atk/atkobject.c:116
+#: atspi/atspi-misc.c:92
msgid "progress bar"
msgstr "प्रगति पट्टी"
-#: ../atk/atkobject.c:117
-msgid "push button"
-msgstr "पुश बटन"
+#: atspi/atspi-misc.c:93
+msgid "button"
+msgstr "बटन"
-#: ../atk/atkobject.c:118
+#: atspi/atspi-misc.c:94
msgid "radio button"
msgstr "रेडियो बटन"
-#: ../atk/atkobject.c:119
+#: atspi/atspi-misc.c:95
msgid "radio menu item"
-msgstr "रेडियो मेन्यू मद"
+msgstr "रेडियो मेनू मद"
-#: ../atk/atkobject.c:120
+#: atspi/atspi-misc.c:96
msgid "root pane"
msgstr "रूट फलक"
-#: ../atk/atkobject.c:121
+#: atspi/atspi-misc.c:97
msgid "row header"
msgstr "पंक्ति शीर्षिका"
-#: ../atk/atkobject.c:122
+#: atspi/atspi-misc.c:98
msgid "scroll bar"
msgstr "स्क्रॉल पट्टी"
-#: ../atk/atkobject.c:123
+#: atspi/atspi-misc.c:99
msgid "scroll pane"
msgstr "स्क्रॉल फलक"
-#: ../atk/atkobject.c:124
+#: atspi/atspi-misc.c:100
msgid "separator"
msgstr "विभाजक"
-#: ../atk/atkobject.c:125
+#: atspi/atspi-misc.c:101
msgid "slider"
msgstr "स्लाइडर"
-#: ../atk/atkobject.c:126
+#: atspi/atspi-misc.c:102
msgid "split pane"
-msgstr "कटा फलक"
+msgstr "विभाजित फलक"
-#: ../atk/atkobject.c:127
+#: atspi/atspi-misc.c:103
msgid "spin button"
msgstr "स्पिन बटन"
-#: ../atk/atkobject.c:128
+#: atspi/atspi-misc.c:104
msgid "statusbar"
msgstr "स्थिति-पट्टी"
-#: ../atk/atkobject.c:129
+#: atspi/atspi-misc.c:105
msgid "table"
msgstr "सारणी"
-#: ../atk/atkobject.c:130
+#: atspi/atspi-misc.c:106
msgid "table cell"
msgstr "सारणी कोष्ठ"
-#: ../atk/atkobject.c:131
+#: atspi/atspi-misc.c:107
msgid "table column header"
msgstr "सारणी स्तंभ शीर्षिका"
-#: ../atk/atkobject.c:132
+#: atspi/atspi-misc.c:108
msgid "table row header"
msgstr "सारणी पंक्ति शीर्षिका"
-#: ../atk/atkobject.c:133
+#: atspi/atspi-misc.c:109
msgid "tear off menu item"
msgstr "टीयर ऑफ मेन्यू मद"
-#: ../atk/atkobject.c:134
+#: atspi/atspi-misc.c:110
msgid "terminal"
msgstr "टर्मिनल"
-#: ../atk/atkobject.c:135
+#: atspi/atspi-misc.c:111
msgid "text"
msgstr "पाठ"
-#: ../atk/atkobject.c:136
+#: atspi/atspi-misc.c:112
msgid "toggle button"
msgstr "टॉगल बटन"
-#: ../atk/atkobject.c:137
+#: atspi/atspi-misc.c:113
msgid "tool bar"
msgstr "औज़ार पट्टी"
-#: ../atk/atkobject.c:138
+#: atspi/atspi-misc.c:114
msgid "tool tip"
msgstr "औज़ार युक्ति"
-#: ../atk/atkobject.c:139
+#: atspi/atspi-misc.c:115
msgid "tree"
msgstr "ट्री"
-#: ../atk/atkobject.c:140
+#: atspi/atspi-misc.c:116
msgid "tree table"
msgstr "तरू-सारणी"
-#: ../atk/atkobject.c:141
+#: atspi/atspi-misc.c:117
msgid "unknown"
msgstr "अज्ञात"
-#: ../atk/atkobject.c:142
+#: atspi/atspi-misc.c:118
msgid "viewport"
msgstr "व्यूपोर्ट"
-#: ../atk/atkobject.c:143
+#: atspi/atspi-misc.c:119
msgid "window"
msgstr "विंडो"
-#: ../atk/atkobject.c:144
+#: atspi/atspi-misc.c:120
msgid "header"
msgstr "शीर्षिका"
-#: ../atk/atkobject.c:145
+#: atspi/atspi-misc.c:121
msgid "footer"
-msgstr "फुटर"
+msgstr "पादलेख"
-#: ../atk/atkobject.c:146
+#: atspi/atspi-misc.c:122
msgid "paragraph"
msgstr "अनुच्छेद"
-#: ../atk/atkobject.c:147
+#: atspi/atspi-misc.c:123
msgid "ruler"
msgstr "रूलर"
-#: ../atk/atkobject.c:148
+#: atspi/atspi-misc.c:124
msgid "application"
msgstr "अनुप्रयोग"
-#: ../atk/atkobject.c:149
+#: atspi/atspi-misc.c:125
msgid "autocomplete"
msgstr "स्वतः समाप्त"
-#: ../atk/atkobject.c:150
+#: atspi/atspi-misc.c:126
msgid "edit bar"
msgstr "संपादन पट्टी"
-#: ../atk/atkobject.c:151
+#: atspi/atspi-misc.c:127
msgid "embedded component"
-msgstr "एंबेडेड घटक"
+msgstr "सन्निहित घटक"
-#: ../atk/atkobject.c:152
+#: atspi/atspi-misc.c:128
msgid "entry"
msgstr "प्रविष्टि"
-#: ../atk/atkobject.c:153
+#: atspi/atspi-misc.c:129
msgid "chart"
msgstr "चार्ट"
-#: ../atk/atkobject.c:154
+#: atspi/atspi-misc.c:130
msgid "caption"
msgstr "शीर्षक"
-#: ../atk/atkobject.c:155
+#: atspi/atspi-misc.c:131
msgid "document frame"
msgstr "दस्तावेज़ ढांचा"
-#: ../atk/atkobject.c:156
+#: atspi/atspi-misc.c:132
msgid "heading"
msgstr "शीर्षक"
-#: ../atk/atkobject.c:157
+#: atspi/atspi-misc.c:133
msgid "page"
msgstr "पृष्ठ"
-#: ../atk/atkobject.c:158
+#: atspi/atspi-misc.c:134
msgid "section"
msgstr "खंड"
-#: ../atk/atkobject.c:159
+#: atspi/atspi-misc.c:135
msgid "redundant object"
msgstr "वैकल्पिक वस्तु"
-#: ../atk/atkobject.c:160
+#: atspi/atspi-misc.c:136
msgid "form"
msgstr "प्रपत्र"
-#: ../atk/atkobject.c:161
+#: atspi/atspi-misc.c:137
msgid "link"
msgstr "कड़ी"
-#: ../atk/atkobject.c:162
+#: atspi/atspi-misc.c:138
msgid "input method window"
msgstr "इनपुट विधि विंडो"
-#: ../atk/atkobject.c:163
-#| msgid "table row header"
+#: atspi/atspi-misc.c:139
msgid "table row"
msgstr "सारणी पंक्ति"
-#: ../atk/atkobject.c:164
-#| msgid "tree table"
+#: atspi/atspi-misc.c:140
msgid "tree item"
msgstr "ट्री मद"
-#: ../atk/atkobject.c:165
-#| msgid "document frame"
+#: atspi/atspi-misc.c:141
msgid "document spreadsheet"
msgstr "दस्तावेज़ स्प्रेडशीट"
-#: ../atk/atkobject.c:166
-#| msgid "document frame"
+#: atspi/atspi-misc.c:142
msgid "document presentation"
msgstr "दस्तावेज़ प्रस्तुतीकरण"
-#: ../atk/atkobject.c:167
-#| msgid "document frame"
+#: atspi/atspi-misc.c:143
msgid "document text"
msgstr "दस्तावेज़ पाठ"
-#: ../atk/atkobject.c:168
-#| msgid "document frame"
+#: atspi/atspi-misc.c:144
msgid "document web"
msgstr "दस्तावेज़ वेब"
-#: ../atk/atkobject.c:169
-#| msgid "document frame"
+#: atspi/atspi-misc.c:145
msgid "document email"
msgstr "दस्तावेज़ ईमेल"
-#: ../atk/atkobject.c:170
+#: atspi/atspi-misc.c:146
msgid "comment"
msgstr "टिप्पणी"
-#: ../atk/atkobject.c:171
-#| msgid "list"
+#: atspi/atspi-misc.c:147
msgid "list box"
msgstr "सूची बॉक्स"
-#: ../atk/atkobject.c:172
+#: atspi/atspi-misc.c:148
msgid "grouping"
msgstr "समूहबद्धता"
-#: ../atk/atkobject.c:173
-#| msgid "image"
+#: atspi/atspi-misc.c:149
msgid "image map"
msgstr "छवि नक़्शा"
-#: ../atk/atkobject.c:174
-#| msgid "animation"
+#: atspi/atspi-misc.c:150
msgid "notification"
msgstr "अधिसूचना"
-#: ../atk/atkobject.c:175
-#| msgid "menu bar"
+#: atspi/atspi-misc.c:151
msgid "info bar"
msgstr "जानकारी पट्टी"
-#: ../atk/atkobject.c:514
-msgid "Accessible Name"
-msgstr "पंहुचयोग्य नाम"
-
-#: ../atk/atkobject.c:515
-msgid "Object instance’s name formatted for assistive technology access"
-msgstr "मददगार तकनीक पँहुच हेतु प्रारूपित वस्तु उदाहरण नाम"
-
-#: ../atk/atkobject.c:521
-msgid "Accessible Description"
-msgstr "पहुँच योग्य वर्णन"
-
-#: ../atk/atkobject.c:522
-msgid "Description of an object, formatted for assistive technology access"
-msgstr "मददगार तकनीक पँहुच हेतु प्रारूपित वस्तु का वर्णन"
-
-#: ../atk/atkobject.c:528
-msgid "Accessible Parent"
-msgstr "पहुँच योग्य जनक"
-
-#: ../atk/atkobject.c:529
-msgid "Is used to notify that the parent has changed"
-msgstr "जनक बदल चुका है यह बताने हेतु उपयोग में आता है"
-
-#: ../atk/atkobject.c:535
-msgid "Accessible Value"
-msgstr "पहुँच योग्य मूल्य"
-
-#: ../atk/atkobject.c:536
-msgid "Is used to notify that the value has changed"
-msgstr "मान बदल चुका है यह बताने हेतु उपयोग में आता है"
-
-#: ../atk/atkobject.c:544
-msgid "Accessible Role"
-msgstr "पहुँच योग्य भूमिका"
-
-#: ../atk/atkobject.c:545
-msgid "The accessible role of this object"
-msgstr "इस वस्तु की पहुँच योग्य भूमिका"
+#: atspi/atspi-misc.c:152
+msgid "level bar"
+msgstr "स्तर पट्टी"
-#: ../atk/atkobject.c:553
-msgid "Accessible Layer"
-msgstr "पहुँच योग्य परत"
-
-#: ../atk/atkobject.c:554
-msgid "The accessible layer of this object"
-msgstr "इस वस्तु की पहुँच योग्य परत"
-
-#: ../atk/atkobject.c:562
-msgid "Accessible MDI Value"
-msgstr "पहुँच योग्य एमडीआई मूल्य"
-
-#: ../atk/atkobject.c:563
-msgid "The accessible MDI value of this object"
-msgstr "इस वस्तु का पहुँच योग्य एमडीआई मूल्य"
+#: atspi/atspi-misc.c:153
+msgid "title bar"
+msgstr "शीर्षक पट्टी"
-#: ../atk/atkobject.c:571
-msgid "Accessible Table Caption"
-msgstr "पहुँच योग्य सारणी शीर्षक"
-
-#: ../atk/atkobject.c:572
-msgid ""
-"Is used to notify that the table caption has changed; this property should "
-"not be used. accessible-table-caption-object should be used instead"
-msgstr ""
-"सारणी शीर्षक बदल चुका है यह बताने हेतु उपयोग में आता है, यह गुण उपयोग में नहीं लेना चाहिए. "
-"बदले में पहुँच योग्य-सारणी-शीर्षक-वस्तु उपयोग में लेना चाहिए"
-
-#: ../atk/atkobject.c:578
-msgid "Accessible Table Column Header"
-msgstr "पहुँच योग्य सारणी स्तंभ शीर्षिका"
+#: atspi/atspi-misc.c:154
+msgid "block quote"
+msgstr "ब्लॉक उद्धरण"
-#: ../atk/atkobject.c:579
-msgid "Is used to notify that the table column header has changed"
-msgstr "सारणी स्तंभ शीर्षिका बदल चुका है यह बताने हेतु उपयोग में आता है"
+#: atspi/atspi-misc.c:155
+msgid "audio"
+msgstr "ऑडियो"
-#: ../atk/atkobject.c:585
-msgid "Accessible Table Column Description"
-msgstr "पहुँच योग्य सारणी स्तंभ वर्णन"
+#: atspi/atspi-misc.c:156
+msgid "video"
+msgstr "वीडियो"
-#: ../atk/atkobject.c:586
-msgid "Is used to notify that the table column description has changed"
-msgstr "पहुँच योग्य सारणी स्तंभ वर्णन बदल चुका है यह बताने हेतु उपयोग में आता है"
+#: atspi/atspi-misc.c:157
+msgid "definition"
+msgstr "परिभाषा"
-#: ../atk/atkobject.c:592
-msgid "Accessible Table Row Header"
-msgstr "पहुँच योग्य सारणी पंक्ति शीर्षिका"
+#: atspi/atspi-misc.c:158
+msgid "article"
+msgstr "लेख"
-#: ../atk/atkobject.c:593
-msgid "Is used to notify that the table row header has changed"
-msgstr "सारणी पंक्ति शीर्षिका बदल चुका है यह बताने हेतु उपयोग में आता है"
+#: atspi/atspi-misc.c:159
+msgid "landmark"
+msgstr "सीमाचिह्न"
-#: ../atk/atkobject.c:599
-msgid "Accessible Table Row Description"
-msgstr "पहुँच योग्य सारणी पंक्ति वर्णन"
+#: atspi/atspi-misc.c:160
+msgid "log"
+msgstr "लॉग"
-#: ../atk/atkobject.c:600
-msgid "Is used to notify that the table row description has changed"
-msgstr "पहुँच योग्य सारणी पंक्ति वर्णन बदल चुका है यह बताने हेतु उपयोग में आता है"
+#: atspi/atspi-misc.c:161
+msgid "marquee"
+msgstr "मार्की"
-#: ../atk/atkobject.c:606
-msgid "Accessible Table Summary"
-msgstr "पहुँच योग्य सारणी सारांश"
+#: atspi/atspi-misc.c:162
+msgid "math"
+msgstr "गणित"
-#: ../atk/atkobject.c:607
-msgid "Is used to notify that the table summary has changed"
-msgstr "सारणी स्तंभ सारांश बदल चुका है यह बताने हेतु उपयोग में आता है"
+#: atspi/atspi-misc.c:163
+msgid "rating"
+msgstr "रेटिंग"
-#: ../atk/atkobject.c:613
-msgid "Accessible Table Caption Object"
-msgstr "पहुँच योग्य सारणी शीर्षक वस्तु"
+#: atspi/atspi-misc.c:164
+msgid "timer"
+msgstr "टाइमर"
-#: ../atk/atkobject.c:614
-msgid "Is used to notify that the table caption has changed"
-msgstr "सारणी शीर्षक बदल चुका है यह बताने हेतु उपयोग में आता है"
+#: atspi/atspi-misc.c:165
+msgid "description list"
+msgstr "विवरण सूची"
-#: ../atk/atkobject.c:620
-msgid "Number of Accessible Hypertext Links"
-msgstr "पहुँच योग्य हायपरटेक्स्ट कड़ी की संख्या"
+#: atspi/atspi-misc.c:166
+msgid "description term"
+msgstr "विवरण शब्द"
-#: ../atk/atkobject.c:621
-msgid "The number of links which the current AtkHypertext has"
-msgstr "कड़ी की संख्या जो कि वर्तमान एटीके-हायपरटेक्स्ट में हैं"
+#: atspi/atspi-misc.c:167
+msgid "description value"
+msgstr "विवरण मान"
diff --git a/po/hu.po b/po/hu.po
index e1f152e..c278b82 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -1,911 +1,847 @@
-# hu.po (at-spi2-core master)
-# Hungarian translation of at-spi2-core
-# Copyright (C) 2011. Free Software Foundation, Inc.
+# Hungarian translation for at-spi2-core.
+# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2008, 2009, 2011, 2012, 2014, 2022, 2024 Free Software Foundation, Inc.
# This file is distributed under the same license as the at-spi2-core package
#
-# Gabor Kelemen , 2011.
-# Balázs Úr , 2014.
-# hu.po (atk master)
-# Hungarian translation of atk.
-# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2008, 2009, 2011, 2012 Free Software Foundation, Inc.
-# This file is distributed under the same license as the atk package.
-#
-#
-#
# Andras Timar , 2002, 2003.
# Laszlo Dvornik , 2004.
# Szabolcs Varga , 2005.
# Gabor Kelemen , 2005, 2006, 2008, 2009, 2011, 2014.
# Balázs Meskó , 2011.
# Attila Hammer , 2012, 2014, 2022.
+# Balázs Úr , 2014, 2024.
msgid ""
msgstr ""
"Project-Id-Version: atk master\n"
-"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/at-spi2-core/issues\n"
-"POT-Creation-Date: 2022-07-25 14:47+0000\n"
-"PO-Revision-Date: 2022-08-04 11:58+0200\n"
-"Last-Translator: Attila Hammer \n"
-"Language-Team: Hungarian \n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/at-spi2-core/issues/\n"
+"POT-Creation-Date: 2025-02-10 16:05+0000\n"
+"PO-Revision-Date: 2024-08-17 22:03+0200\n"
+"Last-Translator: Balázs Úr \n"
+"Language-Team: Hungarian \n"
"Language: hu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 2.0.6\n"
+"X-Generator: Lokalize 23.08.4\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: atk/atkhyperlink.c:126
+#: atk/atkhyperlink.c:127
msgid "Selected Link"
msgstr "Kijelölt hivatkozás"
-#: atk/atkhyperlink.c:127
+#: atk/atkhyperlink.c:128
msgid "Specifies whether the AtkHyperlink object is selected"
msgstr "Megadja, hogy ki van-e jelölve az AtkHyperlink objektum"
-#: atk/atkhyperlink.c:133
+#: atk/atkhyperlink.c:134
msgid "Number of Anchors"
msgstr "Horgonyok száma"
-#: atk/atkhyperlink.c:134
+#: atk/atkhyperlink.c:135
msgid "The number of anchors associated with the AtkHyperlink object"
msgstr "Az AtkHyperlink objektumhoz rendelt horgonyok száma"
-#: atk/atkhyperlink.c:142
+#: atk/atkhyperlink.c:143
msgid "End index"
msgstr "Befejező index"
-#: atk/atkhyperlink.c:143
+#: atk/atkhyperlink.c:144
msgid "The end index of the AtkHyperlink object"
msgstr "Az AtkHyperlink objektum befejező indexe"
-#: atk/atkhyperlink.c:151
+#: atk/atkhyperlink.c:152
msgid "Start index"
msgstr "Kezdő index"
-#: atk/atkhyperlink.c:152
+#: atk/atkhyperlink.c:153
msgid "The start index of the AtkHyperlink object"
msgstr "Az AtkHyperlink objektum kezdő indexe"
-#: atk/atkobject.c:98
-msgid "invalid"
-msgstr "érvénytelen"
-
-#: atk/atkobject.c:99
-msgid "accelerator label"
-msgstr "gyorsítócímke"
-
-# Megjegyzés: ez a szöveg nem jelenik meg a képernyőn, viszont ez inkább nem értesítést jelent?
-#: atk/atkobject.c:100
-msgid "alert"
-msgstr "értesítés"
-
-#: atk/atkobject.c:101
-msgid "animation"
-msgstr "animáció"
+#: atk/atkobject.c:273
+msgid "Accessible Name"
+msgstr "Akadálymentes név"
-#: atk/atkobject.c:102
-msgid "arrow"
-msgstr "nyíl"
+#: atk/atkobject.c:274
+msgid "Object instance’s name formatted for assistive technology access"
+msgstr ""
+"Az objektumpéldány neve az akadálymentesítési technológiás hozzáféréshez "
+"formázva"
-#: atk/atkobject.c:103
-msgid "calendar"
-msgstr "naptár"
+#: atk/atkobject.c:280
+msgid "Accessible Description"
+msgstr "Akadálymentes leírás"
-#: atk/atkobject.c:104
-msgid "canvas"
-msgstr "rajzvászon"
+#: atk/atkobject.c:281
+msgid "Description of an object, formatted for assistive technology access"
+msgstr ""
+"Az objektumpéldány leírása, a akadálymentesítési technológiás hozzáféréshez "
+"formázva"
-#: atk/atkobject.c:105
-msgid "check box"
-msgstr "jelölőnégyzet"
+#: atk/atkobject.c:287
+msgid "Accessible Parent"
+msgstr "Akadálymentes szülő"
-# Megjegyzés: korábban az Orkában ezt jelölőelemnek fordítottuk, megváltoztathatjuk itt? Ez a szöveg nem jelenik meg a képernyőn. Használhatnánk esetleg a
-# jelölőmenü vezérlőelem megnevezést, ez rövidebb.
-#: atk/atkobject.c:106
-msgid "check menu item"
-msgstr "jelölőelem"
+#: atk/atkobject.c:288
+msgid "Parent of the current accessible as returned by atk_object_get_parent()"
+msgstr ""
+"A pillanatnyi akadálymentes objektumról visszaadott szülőobjektum az "
+"atk_object_get_parent() függvény használatával"
-#: atk/atkobject.c:107
-msgid "color chooser"
-msgstr "színválasztó"
+#: atk/atkobject.c:304
+msgid "Accessible Value"
+msgstr "Akadálymentes érték"
-#: atk/atkobject.c:108
-msgid "column header"
-msgstr "oszlopfejléc"
+#: atk/atkobject.c:305
+msgid "Is used to notify that the value has changed"
+msgstr "Értesítésre szolgál, ha az érték módosult"
-# Megjegyzés: Korábban okrában ezt kombinált listamezőnek fordítottuk, igazodva a többi képernyőolvasóhoz (JAWS, NVDA). Ez a szöveg nem jelenik meg a képernyőn.
-#: atk/atkobject.c:109
-msgid "combo box"
-msgstr "kombinált listamező"
+#: atk/atkobject.c:313
+msgid "Accessible Role"
+msgstr "Akadálymentes szerep"
-#: atk/atkobject.c:110
-msgid "dateeditor"
-msgstr "dátumszerkesztő"
+#: atk/atkobject.c:314
+msgid "The accessible role of this object"
+msgstr "Az objektum akadálymentes szerepe"
-#: atk/atkobject.c:111
-msgid "desktop icon"
-msgstr "asztali ikon"
+#: atk/atkobject.c:321
+msgid "Accessible Layer"
+msgstr "Akadálymentes réteg"
-#: atk/atkobject.c:112
-msgid "desktop frame"
-msgstr "asztali keret"
+#: atk/atkobject.c:322
+msgid "The accessible layer of this object"
+msgstr "Az objektum akadálymentes rétege"
-#: atk/atkobject.c:113
-msgid "dial"
-msgstr "tárcsa"
+#: atk/atkobject.c:330
+msgid "Accessible MDI Value"
+msgstr "Akadálymentes MDI-érték"
-#: atk/atkobject.c:114
-msgid "dialog"
-msgstr "párbeszédablak"
+#: atk/atkobject.c:331
+msgid "The accessible MDI value of this object"
+msgstr "Az objektum akadálymentes MDI-értéke"
-#: atk/atkobject.c:115
-msgid "directory pane"
-msgstr "könyvtár-ablaktábla"
+#: atk/atkobject.c:347
+msgid "Accessible Table Caption"
+msgstr "Akadálymentes táblázatcím"
-#: atk/atkobject.c:116
-msgid "drawing area"
-msgstr "rajzterület"
+#: atk/atkobject.c:348
+msgid ""
+"Is used to notify that the table caption has changed; this property should "
+"not be used. accessible-table-caption-object should be used instead"
+msgstr ""
+"Értesítésre szolgál, ha a táblázat címe módosult. Ezt a tulajdonságot nem "
+"szabad használni, helyette az accessible-table-caption-object tulajdonság "
+"használandó"
-#: atk/atkobject.c:117
-msgid "file chooser"
-msgstr "fájlválasztó"
+#: atk/atkobject.c:362
+msgid "Accessible Table Column Header"
+msgstr "Akadálymentes táblázat-oszlopfejléc"
-#: atk/atkobject.c:118
-msgid "filler"
-msgstr "kitöltő"
+#: atk/atkobject.c:363
+msgid "Is used to notify that the table column header has changed"
+msgstr "Értesítésre szolgál, ha a táblázat oszlopfejléc módosult"
-#. I know it looks wrong but that is what Java returns
-#: atk/atkobject.c:120
-msgid "fontchooser"
-msgstr "betűkészlet-választó"
+#: atk/atkobject.c:378
+msgid "Accessible Table Column Description"
+msgstr "Akadálymentes táblázat-oszlopleírás"
-#: atk/atkobject.c:121
-msgid "frame"
-msgstr "keret"
+#: atk/atkobject.c:379
+msgid "Is used to notify that the table column description has changed"
+msgstr "Értesítésre szolgál, ha a táblázat oszlopleírás módosult"
-#: atk/atkobject.c:122
-msgid "glass pane"
-msgstr "üveg-ablaktábla"
+#: atk/atkobject.c:394
+msgid "Accessible Table Row Header"
+msgstr "Akadálymentes táblázat-sorfejléc"
-#: atk/atkobject.c:123
-msgid "html container"
-msgstr "html-konténer"
+#: atk/atkobject.c:395
+msgid "Is used to notify that the table row header has changed"
+msgstr "Értesítésre szolgál, ha a táblázat sorfejléc módosult"
-#: atk/atkobject.c:124
-msgid "icon"
-msgstr "ikon"
+#: atk/atkobject.c:409
+msgid "Accessible Table Row Description"
+msgstr "Akadálymentes táblázat-sorleírás"
-#: atk/atkobject.c:125
-msgid "image"
-msgstr "kép"
+#: atk/atkobject.c:410
+msgid "Is used to notify that the table row description has changed"
+msgstr "Értesítésre szolgál, ha a táblázat sorleírás módosult"
-#: atk/atkobject.c:126
-msgid "internal frame"
-msgstr "belső keret"
+#: atk/atkobject.c:416
+msgid "Accessible Table Summary"
+msgstr "Akadálymentes táblázat-összefoglalás"
-#: atk/atkobject.c:127
-msgid "label"
-msgstr "címke"
+#: atk/atkobject.c:417
+msgid "Is used to notify that the table summary has changed"
+msgstr "Értesítésre szolgál, ha a táblázat-összefoglalás módosult"
-#: atk/atkobject.c:128
-msgid "layered pane"
-msgstr "réteges ablaktábla"
+#: atk/atkobject.c:423
+msgid "Accessible Table Caption Object"
+msgstr "Akadálymentes táblázatcím objektum"
-#: atk/atkobject.c:129
-msgid "list"
-msgstr "lista"
+#: atk/atkobject.c:424
+msgid "Is used to notify that the table caption has changed"
+msgstr "Értesítésre szolgál, ha a táblázatcím módosult"
-#: atk/atkobject.c:130
-msgid "list item"
-msgstr "listaelem"
+#: atk/atkobject.c:430
+msgid "Number of Accessible Hypertext Links"
+msgstr "Az akadálymentes hiperszöveg-hivatkozások száma"
-#: atk/atkobject.c:131
-msgid "menu"
-msgstr "menü"
+#: atk/atkobject.c:431
+msgid "The number of links which the current AtkHypertext has"
+msgstr "Az aktuális AtkHypertext hivatkozásainak száma"
-#: atk/atkobject.c:132
-msgid "menu bar"
-msgstr "menüsor"
+#: atk/atkobject.c:440
+msgid "Accessible ID"
+msgstr "Akadálymentes azonosító"
-# Korábban erre a vezérlőelemre Orkában a gomb fordítást használtuk, igazodva más képernyőolvasókhoz (JAWS, NVDA). Ez a szöveg nem jelenik meg a képernyőn.
-#: atk/atkobject.c:133
-#| msgid "push button"
-msgid "menu button"
-msgstr "menügomb"
+#: atk/atkobject.c:441
+msgid "ID for the accessible; useful for automated testing"
+msgstr "Azonosító az akadálymentességhez, automatikus tesztelésnél hasznos"
-#: atk/atkobject.c:134
-msgid "menu item"
-msgstr "menüelem"
+# Korábban erre a vezérlőelemre Orkában a szerkesztőmező fordítást használtuk, igazodva más képernyőolvasókhoz (JAWS, NVDA). Ez a szöveg nem jelenik meg a képernyőn.
+#: atk/atkobject.c:447
+msgid "Help text"
+msgstr "Súgószöveg"
-#: atk/atkobject.c:135
-msgid "option pane"
-msgstr "beállítás-ablaktábla"
+#: atk/atkobject.c:448
+msgid "Help text associated with the accessible"
+msgstr "Az akadálymentességhez kapcsolódó súgószöveg"
-# Megjegyzés: korábban Orkában ezt a vezérlőelemet lapfülre fordítottuk, igazodva más képernyőolvasókhoz (JAWS, NVDA). Ez a szöveg nem jelenik meg a képernyőn.
-#: atk/atkobject.c:136
-msgid "page tab"
-msgstr "lapfül"
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:193
+msgid "very weak"
+msgstr "nagyon gyenge"
-# Ezt inkább érdemesebb laplistára fordítani, mivel más ernyőolvasók is ezt használják, korábban az Orkában is ezt a fordítást használtuk. Ez a szöveg nem jelenik meg a képernyőn.
-#: atk/atkobject.c:137
-msgid "page tab list"
-msgstr "laplista"
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:200
+msgid "weak"
+msgstr "gyenge"
-#: atk/atkobject.c:138
-msgid "panel"
-msgstr "panel"
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:207
+msgid "acceptable"
+msgstr "elfogadható"
-# A jelszó beviteli mező mindig egy szerkesztőmezőként jelenik meg, más ernyőolvasók ezt a fordítást használják. Ez a szöveg nem jelenik meg a képernyőn.
-#: atk/atkobject.c:139
-msgid "password text"
-msgstr "jelszó szerkesztőmező"
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:214
+msgid "strong"
+msgstr "erős"
-#: atk/atkobject.c:140
-msgid "popup menu"
-msgstr "helyi menü"
+#. Translators: This string describes a range within value-related
+#. * widgets such as a password-strength meter. Note that what such a
+#. * widget presents is controlled by application developers. Thus
+#. * assistive technologies such as screen readers are expected to
+#. * present this string alone or as a token in a list.
+#.
+#: atk/atkvalue.c:221
+msgid "very strong"
+msgstr "nagyon erős"
-#: atk/atkobject.c:141
-msgid "progress bar"
-msgstr "folyamatjelző"
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:229
+msgid "very low"
+msgstr "nagyon alacsony"
-# Korábban erre a vezérlőelemre Orkában a gomb fordítást használtuk, igazodva más képernyőolvasókhoz (JAWS, NVDA). Ez a szöveg nem jelenik meg a képernyőn.
-#: atk/atkobject.c:142
-msgid "push button"
-msgstr "gomb"
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:237
+msgid "medium"
+msgstr "közepes"
-#: atk/atkobject.c:143
-msgid "radio button"
-msgstr "választógomb"
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:245
+msgid "high"
+msgstr "magas"
-#: atk/atkobject.c:144
+#. Translators: This string describes a range within value-related
+#. * widgets such as a volume slider. Note that what such a widget
+#. * presents (e.g. temperature, volume, price) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:253
+msgid "very high"
+msgstr "nagyon magas"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:261
+msgid "very bad"
+msgstr "nagyon rossz"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:269
+msgid "bad"
+msgstr "rossz"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:277
+msgid "good"
+msgstr "jó"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:285
+msgid "very good"
+msgstr "nagyon jó"
+
+#. Translators: This string describes a range within value-related
+#. * widgets such as a hard drive usage. Note that what such a widget
+#. * presents (e.g. hard drive usage, network traffic) is controlled by
+#. * application developers. Thus assistive technologies such as screen
+#. * readers are expected to present this string alone or as a token in
+#. * a list.
+#.
+#: atk/atkvalue.c:293
+msgid "best"
+msgstr "legjobb"
+
+#: atspi/atspi-component.c:352 atspi/atspi-misc.c:1234 atspi/atspi-value.c:123
+msgid "The application no longer exists"
+msgstr "Az alkalmazás már nem létezik"
+
+#: atspi/atspi-misc.c:49
+msgid "invalid"
+msgstr "érvénytelen"
+
+#: atspi/atspi-misc.c:50
+msgid "accelerator label"
+msgstr "gyorsítócímke"
+
+# Megjegyzés: ez a szöveg nem jelenik meg a képernyőn, viszont ez inkább nem értesítést jelent?
+#: atspi/atspi-misc.c:51
+msgid "alert"
+msgstr "értesítés"
+
+#: atspi/atspi-misc.c:52
+msgid "animation"
+msgstr "animáció"
+
+#: atspi/atspi-misc.c:53
+msgid "arrow"
+msgstr "nyíl"
+
+#: atspi/atspi-misc.c:54
+msgid "calendar"
+msgstr "naptár"
+
+#: atspi/atspi-misc.c:55
+msgid "canvas"
+msgstr "rajzvászon"
+
+#: atspi/atspi-misc.c:56
+msgid "check box"
+msgstr "jelölőnégyzet"
+
+# Megjegyzés: korábban az Orkában ezt jelölőelemnek fordítottuk, megváltoztathatjuk itt? Ez a szöveg nem jelenik meg a képernyőn. Használhatnánk esetleg a
+# jelölőmenü vezérlőelem megnevezést, ez rövidebb.
+#: atspi/atspi-misc.c:57
+msgid "check menu item"
+msgstr "jelölőelem"
+
+#: atspi/atspi-misc.c:58
+msgid "color chooser"
+msgstr "színválasztó"
+
+#: atspi/atspi-misc.c:59
+msgid "column header"
+msgstr "oszlopfejléc"
+
+# Megjegyzés: Korábban okrában ezt kombinált listamezőnek fordítottuk, igazodva a többi képernyőolvasóhoz (JAWS, NVDA). Ez a szöveg nem jelenik meg a képernyőn.
+#: atspi/atspi-misc.c:60
+msgid "combo box"
+msgstr "kombinált listamező"
+
+#: atspi/atspi-misc.c:61
+msgid "dateeditor"
+msgstr "dátumszerkesztő"
+
+#: atspi/atspi-misc.c:62
+msgid "desktop icon"
+msgstr "asztali ikon"
+
+#: atspi/atspi-misc.c:63
+msgid "desktop frame"
+msgstr "asztali keret"
+
+#: atspi/atspi-misc.c:64
+msgid "dial"
+msgstr "tárcsa"
+
+#: atspi/atspi-misc.c:65
+msgid "dialog"
+msgstr "párbeszédablak"
+
+#: atspi/atspi-misc.c:66
+msgid "directory pane"
+msgstr "könyvtár-ablaktábla"
+
+#: atspi/atspi-misc.c:67
+msgid "drawing area"
+msgstr "rajzterület"
+
+#: atspi/atspi-misc.c:68
+msgid "file chooser"
+msgstr "fájlválasztó"
+
+#: atspi/atspi-misc.c:69
+msgid "filler"
+msgstr "kitöltő"
+
+#. I know it looks wrong but that is what Java returns
+#: atspi/atspi-misc.c:71
+msgid "fontchooser"
+msgstr "betűkészlet-választó"
+
+#: atspi/atspi-misc.c:72
+msgid "frame"
+msgstr "keret"
+
+#: atspi/atspi-misc.c:73
+msgid "glass pane"
+msgstr "üveg-ablaktábla"
+
+#: atspi/atspi-misc.c:74
+msgid "html container"
+msgstr "html-konténer"
+
+#: atspi/atspi-misc.c:75
+msgid "icon"
+msgstr "ikon"
+
+#: atspi/atspi-misc.c:76
+msgid "image"
+msgstr "kép"
+
+#: atspi/atspi-misc.c:77
+msgid "internal frame"
+msgstr "belső keret"
+
+#: atspi/atspi-misc.c:78
+msgid "label"
+msgstr "címke"
+
+#: atspi/atspi-misc.c:79
+msgid "layered pane"
+msgstr "réteges ablaktábla"
+
+#: atspi/atspi-misc.c:80
+msgid "list"
+msgstr "lista"
+
+#: atspi/atspi-misc.c:81
+msgid "list item"
+msgstr "listaelem"
+
+#: atspi/atspi-misc.c:82
+msgid "menu"
+msgstr "menü"
+
+#: atspi/atspi-misc.c:83
+msgid "menu bar"
+msgstr "menüsor"
+
+# Korábban erre a vezérlőelemre Orkában a gomb fordítást használtuk, igazodva más képernyőolvasókhoz (JAWS, NVDA). Ez a szöveg nem jelenik meg a képernyőn.
+#: atspi/atspi-misc.c:84
+msgid "menu button"
+msgstr "menügomb"
+
+#: atspi/atspi-misc.c:85
+msgid "menu item"
+msgstr "menüelem"
+
+#: atspi/atspi-misc.c:86
+msgid "option pane"
+msgstr "beállítás-ablaktábla"
+
+# Megjegyzés: korábban Orkában ezt a vezérlőelemet lapfülre fordítottuk, igazodva más képernyőolvasókhoz (JAWS, NVDA). Ez a szöveg nem jelenik meg a képernyőn.
+#: atspi/atspi-misc.c:87
+msgid "page tab"
+msgstr "lapfül"
+
+# Ezt inkább érdemesebb laplistára fordítani, mivel más ernyőolvasók is ezt használják, korábban az Orkában is ezt a fordítást használtuk. Ez a szöveg nem jelenik meg a képernyőn.
+#: atspi/atspi-misc.c:88
+msgid "page tab list"
+msgstr "laplista"
+
+#: atspi/atspi-misc.c:89
+msgid "panel"
+msgstr "panel"
+
+# A jelszó beviteli mező mindig egy szerkesztőmezőként jelenik meg, más ernyőolvasók ezt a fordítást használják. Ez a szöveg nem jelenik meg a képernyőn.
+#: atspi/atspi-misc.c:90
+msgid "password text"
+msgstr "jelszó szerkesztőmező"
+
+#: atspi/atspi-misc.c:91
+msgid "popup menu"
+msgstr "helyi menü"
+
+#: atspi/atspi-misc.c:92
+msgid "progress bar"
+msgstr "folyamatjelző"
+
+# Korábban erre a vezérlőelemre Orkában a gomb fordítást használtuk, igazodva más képernyőolvasókhoz (JAWS, NVDA). Ez a szöveg nem jelenik meg a képernyőn.
+#: atspi/atspi-misc.c:93
+msgid "button"
+msgstr "gomb"
+
+#: atspi/atspi-misc.c:94
+msgid "radio button"
+msgstr "választógomb"
+
+#: atspi/atspi-misc.c:95
msgid "radio menu item"
msgstr "választógomb-elem"
-#: atk/atkobject.c:145
+#: atspi/atspi-misc.c:96
msgid "root pane"
msgstr "gyökér-ablaktábla"
-#: atk/atkobject.c:146
+#: atspi/atspi-misc.c:97
msgid "row header"
msgstr "sorfejléc"
-#: atk/atkobject.c:147
+#: atspi/atspi-misc.c:98
msgid "scroll bar"
msgstr "gördítősáv"
-#: atk/atkobject.c:148
+#: atspi/atspi-misc.c:99
msgid "scroll pane"
msgstr "gördíthető ablaktábla"
-#: atk/atkobject.c:149
+#: atspi/atspi-misc.c:100
msgid "separator"
msgstr "elválasztó"
-#: atk/atkobject.c:150
+#: atspi/atspi-misc.c:101
msgid "slider"
msgstr "csúszka"
-#: atk/atkobject.c:151
+#: atspi/atspi-misc.c:102
msgid "split pane"
msgstr "felosztott ablaktábla"
# Megjegyzés: korábban Orkában a léptetőgomb fordítást használtuk, igazodva más képernyőolvasókhoz (JAWS, NVDA). Ez a szöveg nem jelenik meg a képernyőn.
-#: atk/atkobject.c:152
+#: atspi/atspi-misc.c:103
msgid "spin button"
msgstr "léptetőgomb"
-#: atk/atkobject.c:153
+#: atspi/atspi-misc.c:104
msgid "statusbar"
msgstr "állapotsor"
-#: atk/atkobject.c:154
+#: atspi/atspi-misc.c:105
+msgid "switch"
+msgstr "kapcsoló"
+
+#: atspi/atspi-misc.c:106
msgid "table"
msgstr "táblázat"
-#: atk/atkobject.c:155
+#: atspi/atspi-misc.c:107
msgid "table cell"
msgstr "táblázatcella"
-#: atk/atkobject.c:156
+#: atspi/atspi-misc.c:108
msgid "table column header"
msgstr "táblázat-oszlopfejléc"
-#: atk/atkobject.c:157
+#: atspi/atspi-misc.c:109
msgid "table row header"
msgstr "táblázat-sorfejléc"
-#: atk/atkobject.c:158
+#: atspi/atspi-misc.c:110
msgid "tear off menu item"
msgstr "leválasztható menüelem"
-#: atk/atkobject.c:159
+#: atspi/atspi-misc.c:111
msgid "terminal"
msgstr "terminál"
# Korábban erre a vezérlőelemre Orkában a szerkesztőmező fordítást használtuk, igazodva más képernyőolvasókhoz (JAWS, NVDA). Ez a szöveg nem jelenik meg a képernyőn.
-#: atk/atkobject.c:160
+#: atspi/atspi-misc.c:112
msgid "text"
msgstr "szerkesztőmező"
-#: atk/atkobject.c:161
+#: atspi/atspi-misc.c:113
msgid "toggle button"
msgstr "kapcsológomb"
-#: atk/atkobject.c:162
+#: atspi/atspi-misc.c:114
msgid "tool bar"
msgstr "eszköztár"
-#: atk/atkobject.c:163
+#: atspi/atspi-misc.c:115
msgid "tool tip"
msgstr "buboréksúgó"
-#: atk/atkobject.c:164
+#: atspi/atspi-misc.c:116
msgid "tree"
msgstr "fa"
-#: atk/atkobject.c:165
+#: atspi/atspi-misc.c:117
msgid "tree table"
msgstr "fatáblázat"
-#: atk/atkobject.c:166
+#: atspi/atspi-misc.c:118
msgid "unknown"
msgstr "ismeretlen"
-#: atk/atkobject.c:167
+#: atspi/atspi-misc.c:119
msgid "viewport"
msgstr "munkalap"
-#: atk/atkobject.c:168
+#: atspi/atspi-misc.c:120
msgid "window"
msgstr "ablak"
-#: atk/atkobject.c:169
+#: atspi/atspi-misc.c:121
msgid "header"
msgstr "élőfej"
-#: atk/atkobject.c:170
+#: atspi/atspi-misc.c:122
msgid "footer"
msgstr "élőláb"
-#: atk/atkobject.c:171
+#: atspi/atspi-misc.c:123
msgid "paragraph"
msgstr "bekezdés"
-#: atk/atkobject.c:172
+#: atspi/atspi-misc.c:124
msgid "ruler"
msgstr "vonalzó"
-#: atk/atkobject.c:173
+#: atspi/atspi-misc.c:125
msgid "application"
msgstr "alkalmazás"
-#: atk/atkobject.c:174
+#: atspi/atspi-misc.c:126
msgid "autocomplete"
msgstr "automatikus kiegészítés"
-#: atk/atkobject.c:175
+#: atspi/atspi-misc.c:127
msgid "edit bar"
msgstr "szerkesztősáv"
-#: atk/atkobject.c:176
+#: atspi/atspi-misc.c:128
msgid "embedded component"
msgstr "beágyazott komponens"
# Megjegyzés: Itt a gtk.entry vezérlőelemet jelölik, ezt korábban szerkesztőmezőként fordítottuk. Ez a szöveg nem fog megjelenni a képernyőn.
-#: atk/atkobject.c:177
+#: atspi/atspi-misc.c:129
msgid "entry"
msgstr "szerkesztőmező"
-#: atk/atkobject.c:178
+#: atspi/atspi-misc.c:130
msgid "chart"
msgstr "diagram"
-#: atk/atkobject.c:179
+#: atspi/atspi-misc.c:131
msgid "caption"
msgstr "felirat"
-#: atk/atkobject.c:180
+#: atspi/atspi-misc.c:132
msgid "document frame"
msgstr "dokumentumkeret"
-#: atk/atkobject.c:181
+#: atspi/atspi-misc.c:133
msgid "heading"
msgstr "címsor"
-#: atk/atkobject.c:182
+#: atspi/atspi-misc.c:134
msgid "page"
msgstr "oldal"
-#: atk/atkobject.c:183
+#: atspi/atspi-misc.c:135
msgid "section"
msgstr "szakasz"
-#: atk/atkobject.c:184
+#: atspi/atspi-misc.c:136
msgid "redundant object"
msgstr "redundáns objektum"
-#: atk/atkobject.c:185
+#: atspi/atspi-misc.c:137
msgid "form"
msgstr "űrlap"
-#: atk/atkobject.c:186
+#: atspi/atspi-misc.c:138
msgid "link"
msgstr "hivatkozás"
-#: atk/atkobject.c:187
+#: atspi/atspi-misc.c:139
msgid "input method window"
msgstr "bemeneti módszer ablak"
-#: atk/atkobject.c:188
+#: atspi/atspi-misc.c:140
msgid "table row"
msgstr "táblázatsor"
-#: atk/atkobject.c:189
+#: atspi/atspi-misc.c:141
msgid "tree item"
msgstr "faelem"
-#: atk/atkobject.c:190
+#: atspi/atspi-misc.c:142
msgid "document spreadsheet"
msgstr "táblázat dokumentum"
-#: atk/atkobject.c:191
+#: atspi/atspi-misc.c:143
msgid "document presentation"
msgstr "bemutató dokumentum"
-#: atk/atkobject.c:192
+#: atspi/atspi-misc.c:144
msgid "document text"
msgstr "szöveges dokumentum"
-#: atk/atkobject.c:193
+#: atspi/atspi-misc.c:145
msgid "document web"
msgstr "webes dokumentum"
-#: atk/atkobject.c:194
+#: atspi/atspi-misc.c:146
msgid "document email"
msgstr "e-mail dokumentum"
-#: atk/atkobject.c:195
+#: atspi/atspi-misc.c:147
msgid "comment"
msgstr "megjegyzés"
-#: atk/atkobject.c:196
+#: atspi/atspi-misc.c:148
msgid "list box"
msgstr "listadoboz"
-#: atk/atkobject.c:197
+#: atspi/atspi-misc.c:149
msgid "grouping"
msgstr "csoportosítás"
-#: atk/atkobject.c:198
+#: atspi/atspi-misc.c:150
msgid "image map"
msgstr "kép"
-#: atk/atkobject.c:199
+#: atspi/atspi-misc.c:151
msgid "notification"
msgstr "értesítés"
-#: atk/atkobject.c:200
+#: atspi/atspi-misc.c:152
msgid "info bar"
msgstr "információs sor"
-#: atk/atkobject.c:201
+#: atspi/atspi-misc.c:153
msgid "level bar"
msgstr "szintsáv"
-#: atk/atkobject.c:202
+#: atspi/atspi-misc.c:154
msgid "title bar"
msgstr "címsor"
-#: atk/atkobject.c:203
+#: atspi/atspi-misc.c:155
msgid "block quote"
msgstr "idézetblokk"
-#: atk/atkobject.c:204
+#: atspi/atspi-misc.c:156
msgid "audio"
msgstr "hang"
-#: atk/atkobject.c:205
+#: atspi/atspi-misc.c:157
msgid "video"
msgstr "videó"
-#: atk/atkobject.c:206
+#: atspi/atspi-misc.c:158
msgid "definition"
msgstr "definíció"
-#: atk/atkobject.c:207
+#: atspi/atspi-misc.c:159
msgid "article"
msgstr "cikk"
-#: atk/atkobject.c:208
+#: atspi/atspi-misc.c:160
msgid "landmark"
msgstr "jelölő"
-#: atk/atkobject.c:209
+#: atspi/atspi-misc.c:161
msgid "log"
msgstr "napló"
-#: atk/atkobject.c:210
+#: atspi/atspi-misc.c:162
msgid "marquee"
msgstr "futó szöveg"
-#: atk/atkobject.c:211
+#: atspi/atspi-misc.c:163
msgid "math"
msgstr "matematikai kifejezés"
-#: atk/atkobject.c:212
+#: atspi/atspi-misc.c:164
msgid "rating"
msgstr "értékelés"
-#: atk/atkobject.c:213
+#: atspi/atspi-misc.c:165
msgid "timer"
msgstr "időzítő"
-#: atk/atkobject.c:214
+#: atspi/atspi-misc.c:166
msgid "description list"
msgstr "leíráslista"
-#: atk/atkobject.c:215
+#: atspi/atspi-misc.c:167
msgid "description term"
msgstr "leírt kifejezés"
-#: atk/atkobject.c:216
+#: atspi/atspi-misc.c:168
msgid "description value"
msgstr "leíró érték"
-
-#: atk/atkobject.c:392
-msgid "Accessible Name"
-msgstr "Akadálymentes név"
-
-#: atk/atkobject.c:393
-msgid "Object instance’s name formatted for assistive technology access"
-msgstr ""
-"Az objektumpéldány neve az akadálymentesítési technológiás hozzáféréshez "
-"formázva"
-
-#: atk/atkobject.c:399
-msgid "Accessible Description"
-msgstr "Akadálymentes leírás"
-
-#: atk/atkobject.c:400
-msgid "Description of an object, formatted for assistive technology access"
-msgstr ""
-"Az objektumpéldány leírása, a akadálymentesítési technológiás hozzáféréshez "
-"formázva"
-
-#: atk/atkobject.c:406
-msgid "Accessible Parent"
-msgstr "Akadálymentes szülő"
-
-#: atk/atkobject.c:407
-msgid "Parent of the current accessible as returned by atk_object_get_parent()"
-msgstr ""
-"A pillanatnyi akadálymentes objektumról visszaadott szülőobjektum az "
-"atk_object_get_parent() függvény használatával"
-
-#: atk/atkobject.c:423
-msgid "Accessible Value"
-msgstr "Akadálymentes érték"
-
-#: atk/atkobject.c:424
-msgid "Is used to notify that the value has changed"
-msgstr "Értesítésre szolgál, ha az érték módosult"
-
-#: atk/atkobject.c:432
-msgid "Accessible Role"
-msgstr "Akadálymentes szerep"
-
-#: atk/atkobject.c:433
-msgid "The accessible role of this object"
-msgstr "Az objektum akadálymentes szerepe"
-
-#: atk/atkobject.c:440
-msgid "Accessible Layer"
-msgstr "Akadálymentes réteg"
-
-#: atk/atkobject.c:441
-msgid "The accessible layer of this object"
-msgstr "Az objektum akadálymentes rétege"
-
-#: atk/atkobject.c:449
-msgid "Accessible MDI Value"
-msgstr "Akadálymentes MDI-érték"
-
-#: atk/atkobject.c:450
-msgid "The accessible MDI value of this object"
-msgstr "Az objektum akadálymentes MDI-értéke"
-
-#: atk/atkobject.c:466
-msgid "Accessible Table Caption"
-msgstr "Akadálymentes táblázatcím"
-
-#: atk/atkobject.c:467
-msgid ""
-"Is used to notify that the table caption has changed; this property should "
-"not be used. accessible-table-caption-object should be used instead"
-msgstr ""
-"Értesítésre szolgál, ha a táblázat címe módosult. Ezt a tulajdonságot nem "
-"szabad használni, helyette az accessible-table-caption-object tulajdonság "
-"használandó"
-
-#: atk/atkobject.c:481
-msgid "Accessible Table Column Header"
-msgstr "Akadálymentes táblázat-oszlopfejléc"
-
-#: atk/atkobject.c:482
-msgid "Is used to notify that the table column header has changed"
-msgstr "Értesítésre szolgál, ha a táblázat oszlopfejléc módosult"
-
-#: atk/atkobject.c:497
-msgid "Accessible Table Column Description"
-msgstr "Akadálymentes táblázat-oszlopleírás"
-
-#: atk/atkobject.c:498
-msgid "Is used to notify that the table column description has changed"
-msgstr "Értesítésre szolgál, ha a táblázat oszlopleírás módosult"
-
-#: atk/atkobject.c:513
-msgid "Accessible Table Row Header"
-msgstr "Akadálymentes táblázat-sorfejléc"
-
-#: atk/atkobject.c:514
-msgid "Is used to notify that the table row header has changed"
-msgstr "Értesítésre szolgál, ha a táblázat sorfejléc módosult"
-
-#: atk/atkobject.c:528
-msgid "Accessible Table Row Description"
-msgstr "Akadálymentes táblázat-sorleírás"
-
-#: atk/atkobject.c:529
-msgid "Is used to notify that the table row description has changed"
-msgstr "Értesítésre szolgál, ha a táblázat sorleírás módosult"
-
-#: atk/atkobject.c:535
-msgid "Accessible Table Summary"
-msgstr "Akadálymentes táblázat-összefoglalás"
-
-#: atk/atkobject.c:536
-msgid "Is used to notify that the table summary has changed"
-msgstr "Értesítésre szolgál, ha a táblázat-összefoglalás módosult"
-
-#: atk/atkobject.c:542
-msgid "Accessible Table Caption Object"
-msgstr "Akadálymentes táblázatcím objektum"
-
-#: atk/atkobject.c:543
-msgid "Is used to notify that the table caption has changed"
-msgstr "Értesítésre szolgál, ha a táblázatcím módosult"
-
-#: atk/atkobject.c:549
-msgid "Number of Accessible Hypertext Links"
-msgstr "Az akadálymentes hiperszöveg-hivatkozások száma"
-
-#: atk/atkobject.c:550
-msgid "The number of links which the current AtkHypertext has"
-msgstr "Az aktuális AtkHypertext hivatkozásainak száma"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:194
-msgid "very weak"
-msgstr "nagyon gyenge"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:201
-msgid "weak"
-msgstr "gyenge"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:208
-msgid "acceptable"
-msgstr "elfogadható"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:215
-msgid "strong"
-msgstr "erős"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a password-strength meter. Note that what such a
-#. * widget presents is controlled by application developers. Thus
-#. * assistive technologies such as screen readers are expected to
-#. * present this string alone or as a token in a list.
-#.
-#: atk/atkvalue.c:222
-msgid "very strong"
-msgstr "nagyon erős"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:230
-msgid "very low"
-msgstr "nagyon alacsony"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:238
-msgid "medium"
-msgstr "közepes"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:246
-msgid "high"
-msgstr "magas"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a volume slider. Note that what such a widget
-#. * presents (e.g. temperature, volume, price) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:254
-msgid "very high"
-msgstr "nagyon magas"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:262
-msgid "very bad"
-msgstr "nagyon rossz"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:270
-msgid "bad"
-msgstr "rossz"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:278
-msgid "good"
-msgstr "jó"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:286
-msgid "very good"
-msgstr "nagyon jó"
-
-#. Translators: This string describes a range within value-related
-#. * widgets such as a hard drive usage. Note that what such a widget
-#. * presents (e.g. hard drive usage, network traffic) is controlled by
-#. * application developers. Thus assistive technologies such as screen
-#. * readers are expected to present this string alone or as a token in
-#. * a list.
-#.
-#: atk/atkvalue.c:294
-msgid "best"
-msgstr "legjobb"
-
-#: atspi/atspi-component.c:332 atspi/atspi-misc.c:1063 atspi/atspi-value.c:111
-msgid "The application no longer exists"
-msgstr "Az alkalmazás már nem létezik"
-
-#~ msgid "Attempted synchronous call where prohibited"
-#~ msgstr "Szinkronizációs hívást próbáltak, ahol tilos"
-
-#~ msgid "AT-SPI: Unknown signature %s for RemoveAccessible"
-#~ msgstr "AT-SPI: Ismeretlen aláírás (%s) a RemoveAccessible elemhez"
-
-#~ msgid "AT-SPI: Error calling getRoot for %s: %s"
-#~ msgstr "AT-SPI: Hiba a getRoot hívásakor ehhez: %s: %s"
-
-#~ msgid "AT-SPI: Error in GetItems, sender=%s, error=%s"
-#~ msgstr "AT-SPI: Hiba a GetItems hívásban, küldő=%s, hiba=%s"
-
-#~ msgid ""
-#~ "AT-SPI: Called _atspi_dbus_return_accessible_from_message with strange "
-#~ "signature %s"
-#~ msgstr ""
-#~ "AT-SPI: az _atspi_dbus_return_accessible_from_message furcsa aláírással "
-#~ "lett meghívva: %s"
-
-#~ msgid ""
-#~ "AT-SPI: Called _atspi_dbus_return_hyperlink_from_message with strange "
-#~ "signature %s"
-#~ msgstr ""
-#~ "AT-SPI: az _atspi_dbus_return_hyperlink_from_message furcsa aláírással "
-#~ "lett meghívva: %s"
-
-#~ msgid "AT-SPI: AddAccessible with unknown signature %s\n"
-#~ msgstr "AT-SPI: Az AddAccessible aláírása (%s) ismeretlen\n"
-
-#~ msgid "AT-SPI: Could not get the display\n"
-#~ msgstr "AT-SPI: A kijelző nem kérhető le\n"
-
-#~ msgid "AT-SPI: Accessibility bus not found - Using session bus.\n"
-#~ msgstr ""
-#~ "AT-SPI: Az akadálymentesítési busz nem található – a munkamenetbusz "
-#~ "használata.\n"
-
-#~ msgid "AT-SPI: Couldn't connect to bus: %s\n"
-#~ msgstr "AT-SPI: Nem lehet csatlakozni a buszhoz: %s\n"
-
-#~ msgid "AT-SPI: Couldn't register with bus: %s\n"
-#~ msgstr "AT-SPI: Nem lehet regisztrálni a buszon: %s\n"
-
-#~ msgid ""
-#~ "AT-SPI: expected a variant when fetching %s from interface %s; got %s\n"
-#~ msgstr ""
-#~ "AT-SPI: %s lekérésekor a(z) %s felületről a várt változat helyett %s "
-#~ "érkezett\n"
-
-#~ msgid "atspi_dbus_get_property: Wrong type: expected %s, got %c\n"
-#~ msgstr ""
-#~ "atspi_dbus_get_property: Hibás típus: a várt %s helyett %c érkezett\n"
-
-#~ msgid "AT-SPI: Unknown interface %s"
-#~ msgstr "AT-SPI: Ismeretlen felület: %s"
-
-#~ msgid "AT-SPI: expected 2 values in states array; got %d\n"
-#~ msgstr "AT-SPI: az állapottömbben a várt 2 érték helyett %d volt\n"
-
-#~ msgid "Streamable content not implemented"
-#~ msgstr "A szórható tartalom nincs megvalósítva"
-
-#~ msgid ""
-#~ "called atspi_event_listener_register_from_callback with a NULL event_type"
-#~ msgstr ""
-#~ "az atspi_event_listener_register_from_callback NULL értékű event_type-pal "
-#~ "hívva"
-
-#~ msgid "Got invalid signature %s for signal %s from interface %s\n"
-#~ msgstr ""
-#~ "Érvénytelen aláírás (%s) érkezett a(z) %s szignálhoz a(z) %s felületről\n"
-
-#~ msgid "Is used to notify that the parent has changed"
-#~ msgstr "Értesítésre szolgál, ha a szülő módosult"
diff --git a/po/id.po b/po/id.po
index 14c97d2..65b6ccc 100644
--- a/po/id.po
+++ b/po/id.po
@@ -2,819 +2,829 @@
# Indonesian translation of at-spi2-core
# Copyright (C) 2011 THE at-spi2-core'S COPYRIGHT HOLDER
# This file is distributed under the same license as the at-spi2-core package.
-#
-# Andika Triwidada , 2011.
-# Dirgita , 2011.
-# #-#-#-#-# id.po (atk master) #-#-#-#-#
-# Indonesia translation of atk HEAD.
# Copyright (C) 2005 THE atk's COPYRIGHT HOLDER
# This file is distributed under the same license as the atk package.
#
# Mohammad DAMT , 2005.
# Ahmad Riza H Nst , 2006.
-# Andika Triwidada , 2010, 2011, 2014.
-# Dirgita