# Central Kurdish translation for accerciser. # Copyright (C) 2025 accerciser's COPYRIGHT HOLDER # This file is distributed under the same license as the accerciser package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: accerciser master\n" "POT-Creation-Date: 2025-07-04 15:15+0000\n" "PO-Revision-Date: 2025-07-04 15:15+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Central Kurdish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ckb\n" #. Put one translator per line, in the form NAME , YEAR1, YEAR2 msgctxt "_" msgid "translator-credits" msgstr "" #. (itstool) path: info/title #: C/api_browser_plugin.page:4 msgctxt "sort" msgid "1. API Browser Plugin" msgstr "" #. (itstool) path: info/desc #: C/api_browser_plugin.page:6 msgid "Verifying interfaces, methods, and properties" msgstr "" #. (itstool) path: credit/name #: C/api_browser_plugin.page:10 C/desktop_tree_view.page:10 #: C/event_monitor_plugin.page:10 C/howto_setting_up_accerciser.page:11 #: C/howto_write_a_plugin.page:10 C/index.page:9 #: C/interface_viewer_plugin.page:10 C/introduction.page:10 #: C/ipython_plugin.page:10 C/preferences.page:10 C/quick_select_plugin.page:10 #: C/validator_plugin.page:10 msgid "Eitan Isaacson" msgstr "" #. (itstool) path: credit/name #: C/api_browser_plugin.page:14 C/desktop_tree_view.page:14 #: C/event_monitor_plugin.page:14 C/howto_setting_up_accerciser.page:15 #: C/howto_write_a_plugin.page:14 C/index.page:13 #: C/interface_viewer_plugin.page:14 C/introduction.page:14 #: C/ipython_plugin.page:14 C/preferences.page:14 C/quick_select_plugin.page:14 #: C/validator_plugin.page:14 msgid "Peter Parente" msgstr "" #. (itstool) path: credit/name #: C/api_browser_plugin.page:18 C/desktop_tree_view.page:18 #: C/event_monitor_plugin.page:18 C/howto_setting_up_accerciser.page:19 #: C/howto_write_a_plugin.page:18 C/index.page:17 #: C/interface_viewer_plugin.page:18 C/introduction.page:18 #: C/ipython_plugin.page:18 C/preferences.page:18 C/quick_select_plugin.page:18 #: C/validator_plugin.page:18 msgid "Aline Bessa" msgstr "" #. (itstool) path: license/p #: C/api_browser_plugin.page:22 C/desktop_tree_view.page:22 #: C/event_monitor_plugin.page:22 C/howto_setting_up_accerciser.page:23 #: C/howto_write_a_plugin.page:22 C/index.page:21 #: C/interface_viewer_plugin.page:22 C/introduction.page:22 #: C/ipython_plugin.page:22 C/preferences.page:22 C/quick_select_plugin.page:22 #: C/validator_plugin.page:22 msgid "Creative Commons Share Alike 3.0" msgstr "" #. (itstool) path: page/title #. (itstool) path: figure/title #: C/api_browser_plugin.page:25 C/api_browser_plugin.page:32 msgid "API Browser Plugin" msgstr "" #. (itstool) path: page/p #: C/api_browser_plugin.page:26 msgid "" "Given an accessible widget selected in the Application Tree View, the API Browser " "Plugin shows its implemented AT-SPI interfaces along with its methods and " "properties." msgstr "" #. (itstool) path: figure/desc #. (itstool) path: media/p #: C/api_browser_plugin.page:33 C/api_browser_plugin.page:38 msgid "" "The API Browser Plugin allows you to verify interfaces, methods, and " "properties of a target accessible widget in an application." msgstr "" #. (itstool) path: figure/media #. This is a reference to an external file such as an image or video. When #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. #: C/api_browser_plugin.page:37 msgctxt "_" msgid "" "external ref='figures/api_browser.png' md5='4f668e4a15d1c308e984d0801b9ecd95'" msgstr "" #. (itstool) path: section/title #: C/api_browser_plugin.page:46 msgid "Running the API Browser Plugin" msgstr "" #. (itstool) path: section/p #: C/api_browser_plugin.page:47 msgid "" "To run the API Browser Plugin, select an accessible widget in the " "Application Tree View. Double-clicking a widget highlights it in the " "application's interface, so you can be sure whether a certain widget were " "the one you were looking for." msgstr "" #. (itstool) path: section/p #: C/api_browser_plugin.page:53 msgid "" "After that, select one of the widget's interfaces in the combobox. All " "public methods of the selected interface will be listed in the plugin's " "leftmost column. All public properties, with their corresponding values, " "will be listed in the plugin's rightmost column." msgstr "" #. (itstool) path: section/p #: C/api_browser_plugin.page:59 msgid "" "By default, the API Browser Plugin hides private methods and properties. To " "see them listed, unselect the checkbox Hide Private Attributes. " "To hide them again, re-select this checkbox." msgstr "" #. (itstool) path: info/title #: C/desktop_tree_view.page:4 msgctxt "sort" msgid "1. Application Tree View" msgstr "" #. (itstool) path: info/desc #: C/desktop_tree_view.page:6 msgid "Exploring the accessible hierarchy of the desktop" msgstr "" #. (itstool) path: page/title #. (itstool) path: figure/title #: C/desktop_tree_view.page:25 C/desktop_tree_view.page:37 msgid "Application Tree View" msgstr "" #. (itstool) path: page/p #: C/desktop_tree_view.page:27 msgid "" "Accerciser's interface contains a tree view, namely Application " "Tree View, that covers all accessible applications currently running on the " "desktop. To create this tree view, Accerciser uses the AT-SPI's " "registry daemon. This daemon is responsible for keeping track of all the " "accessible applications on the desktop and forwarding X events over the AT-" "SPI D-Bus. After getting all accessible applications, Accerciser " "represents each one of them as a hierarchical structure with expanding nodes." msgstr "" #. (itstool) path: figure/desc #. (itstool) path: media/p #: C/desktop_tree_view.page:38 C/desktop_tree_view.page:43 msgid "" "Accerciser's Application Tree View represents the interface of " "each accessible application running on the desktop as a widget hierarchical " "structure." msgstr "" #. (itstool) path: figure/media #. This is a reference to an external file such as an image or video. When #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. #: C/desktop_tree_view.page:42 msgctxt "_" msgid "" "external ref='figures/tree_view_accerciser.png' " "md5='594e06b7889eff705ac194656939e146'" msgstr "" #. (itstool) path: page/p #: C/desktop_tree_view.page:49 msgid "" "The first node of each application represented in this tree view is the " "application itself. When you expand a node, you can see all of its child " "widgets, which allows a hierarchical view of the application's interface. " "For each node, Accerciser provides some basic information, such " "as its name, role and number of children." msgstr "" #. (itstool) path: note/p #: C/desktop_tree_view.page:56 msgid "Be aware that nodes with many children take a long time to expand." msgstr "" #. (itstool) path: section/title #: C/desktop_tree_view.page:62 msgid "Bookmarking items in the Application Tree View" msgstr "" #. (itstool) path: section/p #: C/desktop_tree_view.page:63 msgid "" "Accerciser allows bookmarking items in the Application Tree View " "for later examining. This is helpful when the target application must be " "restarted - after rebuilding it, for example. To bookmark an item, select it " "and do BookmarksAdd Bookmark or press " "Ctrld." msgstr "" #. (itstool) path: section/p #: C/desktop_tree_view.page:68 msgid "" "Bookmarks to accessible items in Accerciser are defined by an " "application name and a \"path\" in the application's internal accessible " "hierarchy to the bookmarked accessible. When the target application is in a " "different state - i.e. multiple top level frames -, the path might not be " "correct. Bookmarks could be managed by accessing the bookmark editing dialog " "through BookmarksEdit Bookmarks." msgstr "" #. (itstool) path: info/title #: C/event_monitor_plugin.page:4 msgctxt "sort" msgid "4. Event Monitor Plugin" msgstr "" #. (itstool) path: info/desc #: C/event_monitor_plugin.page:6 msgid "Monitoring accessible events as they occur" msgstr "" #. (itstool) path: page/title #. (itstool) path: figure/title #: C/event_monitor_plugin.page:25 C/event_monitor_plugin.page:35 msgid "Event Monitor Plugin" msgstr "" #. (itstool) path: page/p #: C/event_monitor_plugin.page:26 msgid "" "The Event Monitor Plugin allows you to view AT-SPI events as they occur on the applications exposed " "in Accerciser's Application Tree " "View. The plugin is useful to explore the dynamics of an " "application's interface and verify which accessible widgets are related to " "which AT-SPI events." msgstr "" #. (itstool) path: figure/desc #. (itstool) path: media/p #: C/event_monitor_plugin.page:36 C/event_monitor_plugin.page:41 msgid "" "The Event Monitor Plugin allows you to view AT-SPI events and match them " "with accessible widgets." msgstr "" #. (itstool) path: figure/media #. This is a reference to an external file such as an image or video. When #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. #: C/event_monitor_plugin.page:40 msgctxt "_" msgid "" "external ref='figures/event_monitor_plugin.png' " "md5='d4433124f4833aa7322c7a6ec0b21104'" msgstr "" #. (itstool) path: section/title #: C/event_monitor_plugin.page:49 msgid "Running the Event Monitor Plugin" msgstr "" #. (itstool) path: section/p #: C/event_monitor_plugin.page:50 msgid "" "When you open the Event Monitor Plugin, you see a list of checkboxes " "representing all the different AT-SPI event classes covered by the plugin:" msgstr "" #. (itstool) path: item/p #: C/event_monitor_plugin.page:58 msgid "document" msgstr "" #. (itstool) path: item/p #: C/event_monitor_plugin.page:63 msgid "focus" msgstr "" #. (itstool) path: item/p #: C/event_monitor_plugin.page:68 msgid "mouse" msgstr "" #. (itstool) path: item/p #: C/event_monitor_plugin.page:73 msgid "object" msgstr "" #. (itstool) path: item/p #: C/event_monitor_plugin.page:78 msgid "terminal" msgstr "" #. (itstool) path: item/p #: C/event_monitor_plugin.page:83 msgid "window" msgstr "" #. (itstool) path: section/p #: C/event_monitor_plugin.page:89 msgid "" "If you check a class, all of its event types will be monitored by the " "plugin. The classes are exposed as tree structures; therefore, you can " "refine your selection by expanding them and checking only the event types " "you really care about." msgstr "" #. (itstool) path: section/p #: C/event_monitor_plugin.page:95 msgid "" "If you want to monitor all possible types of AT-SPI events, press the " "Select All button. Similarly, if you want to clear all currently " "selected event types, press the Clear Selection button." msgstr "" #. (itstool) path: note/p #: C/event_monitor_plugin.page:102 msgid "" "Selecting only a few event types per monitoring gives you a clearer output." msgstr "" #. (itstool) path: section/p #: C/event_monitor_plugin.page:107 msgid "" "Another way to refine event monitoring is by the event source. By default, " "the Source option Everything is selected, indicating that AT-SPI " "events of all applications will be monitored. If you want to investigate a " "single application, select it in the Application Tree View and click the " "Source radio button Selected application. Likewise, if you want " "to monitor a single accessible widget and its corresponding descendants, " "select it in the Application Tree View and click the Source radio button " "Selected accessible." msgstr "" #. (itstool) path: section/p #: C/event_monitor_plugin.page:116 msgid "" "After selecting event types and specifying a Source option, the Event " "Monitor Plugin starts monitoring AT-SPI events automatically, because the " "Monitor Events button is pressed by default. Whenever you want to " "stop monitoring, click the Monitor Events button. To restart " "monitoring, press this button again." msgstr "" #. (itstool) path: section/p #: C/event_monitor_plugin.page:123 msgid "" "For each incoming event, the Event Monitor Plugin indicates the source and " "the application. Activating the link for either of these items will cause it " "to become selected in the Application Tree View." msgstr "" #. (itstool) path: section/p #: C/event_monitor_plugin.page:128 msgid "" "If you want to save the output generated by the Event Monitor Plugin, just " "press the Save button. To clear the output screen, you just need " "to click the Clear button." msgstr "" #. (itstool) path: info/title #: C/howto_setting_up_accerciser.page:5 msgctxt "sort" msgid "2. How to install and run Accerciser" msgstr "" #. (itstool) path: info/title #: C/howto_setting_up_accerciser.page:6 msgctxt "link" msgid "Setting up Accerciser" msgstr "" #. (itstool) path: info/desc #: C/howto_setting_up_accerciser.page:7 msgid "Installing and running Accerciser on your system" msgstr "" #. (itstool) path: page/title #: C/howto_setting_up_accerciser.page:26 msgid "Setting up Accerciser" msgstr "" #. (itstool) path: page/p #: C/howto_setting_up_accerciser.page:28 msgid "" "Check if your distribution has Accerciser already packaged. If " "this is the case, you can install it via its package manager. Otherwise, you " "can follow the section below to install Accerciser manually." msgstr "" #. (itstool) path: section/title #: C/howto_setting_up_accerciser.page:35 msgid "Installing Accerciser manually" msgstr "" #. (itstool) path: section/p #: C/howto_setting_up_accerciser.page:36 msgid "" "To install Accerciser manually, you will need to download it " "first. Accerciser's source code can either be downloaded from " "the " "gnome.org FTP site or cloned from the gnome.org GIT repository." msgstr "" #. (itstool) path: note/p #: C/howto_setting_up_accerciser.page:43 msgid "" "If you are not using GNOME 3, you may find that Accerciser " "version 3 or later is not compatible with your environment." msgstr "" #. (itstool) path: section/p #: C/howto_setting_up_accerciser.page:50 msgid "" "After getting Accerciser, install it using the following commands:" msgstr "" #. (itstool) path: item/p #: C/howto_setting_up_accerciser.page:54 msgid "cd accerciser" msgstr "" #. (itstool) path: item/p #: C/howto_setting_up_accerciser.page:55 msgid "meson setup _build ." msgstr "" #. (itstool) path: item/p #: C/howto_setting_up_accerciser.page:56 msgid "meson compile -C _build" msgstr "" #. (itstool) path: item/p #: C/howto_setting_up_accerciser.page:57 msgid "" "sudo meson install -C _build # or meson install -C _build as root" msgstr "" #. (itstool) path: section/p #: C/howto_setting_up_accerciser.page:59 msgid "" "If you find any problems installing Accerciser on your system, it " "is likely that some of its dependencies are missing. Check Accerciser's wiki to make sure you have all dependencies properly installed." msgstr "" #. (itstool) path: section/title #: C/howto_setting_up_accerciser.page:67 msgid "Running Accerciser" msgstr "" #. (itstool) path: section/p #: C/howto_setting_up_accerciser.page:68 msgid "" "To start Accerciser, type accerciser in a terminal " "window or within the Run dialog and then press Return." msgstr "" #. (itstool) path: section/p #: C/howto_setting_up_accerciser.page:72 msgid "" "After that, you can use Accerciser to inspect any accessible item " "shown in the Application Tree View's " "hierarchy. Select an item and investigate it using one of Accerciser's plugins." msgstr "" #. (itstool) path: info/title #: C/howto_write_a_plugin.page:4 msgctxt "sort" msgid "3. Writing New Plugins" msgstr "" #. (itstool) path: info/desc #: C/howto_write_a_plugin.page:6 msgid "Extending Accerciser with your desired functionalities" msgstr "" #. (itstool) path: page/title #: C/howto_write_a_plugin.page:25 msgid "Writing Plugins for Accerciser" msgstr "" #. (itstool) path: page/p #: C/howto_write_a_plugin.page:26 msgid "" "Extending Accerciser with new plugins became much simpler since " "this " "tutorial was written. Given that it provides a very detailed " "explanation about the topic, this section consists basically of its original " "content - only simple editions and updates were done." msgstr "" #. (itstool) path: page/p #: C/howto_write_a_plugin.page:33 msgid "Accerciser supports three basic types of plugins:" msgstr "" #. (itstool) path: item/p #: C/howto_write_a_plugin.page:38 msgid "" "Base plugins - These plugins are derived from the Plugin base class. They do " "not provide a visible interface, but could provide additional functionality " "to Accerciser." msgstr "" #. (itstool) path: item/p #: C/howto_write_a_plugin.page:44 msgid "" "Console plugins - These plugins provide simple console output into a text " "area in a plugin tab. Not to be confused with the packaged IPython Console Plugin." msgstr "" #. (itstool) path: item/p #: C/howto_write_a_plugin.page:50 msgid "" "Viewport plugins - The majority of Accerciser default plugins. " "They provide a custom graphical interface in a tab." msgstr "" #. (itstool) path: section/title #: C/howto_write_a_plugin.page:58 msgid "Creating a Base Plugin" msgstr "" #. (itstool) path: section/p #: C/howto_write_a_plugin.page:59 msgid "" "We will create a simplified version of the Quick Select Plugin. This plugin will " "select the last focused accessible when pressing ctrlalte." msgstr "" #. (itstool) path: section/p #: C/howto_write_a_plugin.page:63 msgid "First off, the import lines we will use are:" msgstr "" #. (itstool) path: section/code #: C/howto_write_a_plugin.page:66 #, no-wrap msgid "" "\n" " from accerciser.plugin import Plugin\n" " import gtk\n" " import pyatspi\n" " " msgstr "" #. (itstool) path: section/p #: C/howto_write_a_plugin.page:71 msgid "" "Next we will derive a new class from the Plugin base class, and assign some " "mandatory class attributes:" msgstr "" #. (itstool) path: section/code #: C/howto_write_a_plugin.page:75 #, no-wrap msgid "" "\n" " class FocusSelect(Plugin):\n" " plugin_name = 'Focus Select'\n" " plugin_description = 'Allows selecting last focused accessible.'\n" " " msgstr "" #. (itstool) path: section/p #: C/howto_write_a_plugin.page:80 msgid "" "We will now override the init method, in which we will set a global key " "action for selecting the last focused accessible item, register an event " "listener for the \"focus\" event, and set the last_focused " "instance variable to None." msgstr "" #. (itstool) path: section/code #: C/howto_write_a_plugin.page:86 #, no-wrap msgid "" "\n" " def init(self):\n" " pyatspi.Registry.registerEventListener(self.accEventFocusChanged, 'focus')\n" " self.global_hotkeys = [('Inspect last focused accessible',\n" " self.inspectLastFocused,\n" " gtk.keysyms.e,\n" " gtk.gdk.CONTROL_MASK | gtk.gdk.MOD1_MASK)]\n" " self.last_focused = None\n" " " msgstr "" #. (itstool) path: section/p #: C/howto_write_a_plugin.page:95 msgid "" "Notice that the global_hotkeys instance variable is a list of " "tuples. Each tuple is a global hotkey action, composed by an action " "description, a desired method to call, a key symbol of keypress, and a key " "modifier mask." msgstr "" #. (itstool) path: section/p #: C/howto_write_a_plugin.page:100 msgid "" "In the \"focus\" event callback, we assign the last_focused " "instance variable with the accessible item that has just emitted the " "\"focus\" event." msgstr "" #. (itstool) path: section/code #: C/howto_write_a_plugin.page:104 #, no-wrap msgid "" "\n" " def accEventFocusChanged(self, event):\n" " if not self.isMyApp(event.source):\n" " self.last_focused = event.source\n" " " msgstr "" #. (itstool) path: section/p #: C/howto_write_a_plugin.page:109 msgid "" "In the hotkey action callback, we update the application wide node with the " "last focused accessible item, if we have recorded it:" msgstr "" #. (itstool) path: section/code #: C/howto_write_a_plugin.page:113 #, no-wrap msgid "" "\n" " def inspectLastFocused(self):\n" " if self.last_focused:\n" " self.node.update(self.last_focused)\n" " " msgstr "" #. (itstool) path: section/title #: C/howto_write_a_plugin.page:120 msgid "Creating a Console Plugin" msgstr "" #. (itstool) path: section/p #: C/howto_write_a_plugin.page:121 msgid "" "We will create a console plugin to display focus changes emitted by an " "accessible item with a \"push button\" role - remember that it is easy to " "check what is the role of any item with Accerciser; you can " "verify it in the Application Tree View, for example." msgstr "" #. (itstool) path: section/p #: C/howto_write_a_plugin.page:127 msgid "The needed import lines are:" msgstr "" #. (itstool) path: section/code #: C/howto_write_a_plugin.page:130 #, no-wrap msgid "" "\n" " from accerciser.plugin import ConsolePlugin\n" " import pyatspi\n" " " msgstr "" #. (itstool) path: section/p #: C/howto_write_a_plugin.page:134 msgid "Then we add a class definition, with a plugin name and description:" msgstr "" #. (itstool) path: section/code #: C/howto_write_a_plugin.page:137 #, no-wrap msgid "" "\n" " class PushButtonFocus(ConsolePlugin):\n" " plugin_name = 'Push Button Focus'\n" " plugin_description = 'Print event when pushbutton get\\'s focus.'\n" " " msgstr "" #. (itstool) path: section/p #: C/howto_write_a_plugin.page:142 msgid "We override the init method adding a register listener:" msgstr "" #. (itstool) path: section/code #: C/howto_write_a_plugin.page:145 #, no-wrap msgid "" "\n" " def init(self):\n" " pyatspi.Registry.registerEventListener(self.accEventFocusChanged, 'focus')\n" " " msgstr "" #. (itstool) path: section/p #: C/howto_write_a_plugin.page:149 msgid "In the callback method, all push button events are printed." msgstr "" #. (itstool) path: section/code #: C/howto_write_a_plugin.page:152 #, no-wrap msgid "" "\n" " def accEventFocusChanged(self, event):\n" " if event.source.getRole() == pyatspi.ROLE_PUSH_BUTTON:\n" " self.appendText(str(event)+'\\n')\n" " " msgstr "" #. (itstool) path: section/title #: C/howto_write_a_plugin.page:159 msgid "Creating a Viewport Plugin" msgstr "" #. (itstool) path: section/p #: C/howto_write_a_plugin.page:160 msgid "" "We will create a viewport plugin that allows quick testing of the \"click\" " "action in accessible items that support the AT-SPI Action interface and have " "an action named \"click\". It will be a simple button that, once clicked, " "does the \"click\" action in the accessible." msgstr "" #. (itstool) path: section/p #: C/howto_write_a_plugin.page:166 msgid "First off, some mandatory import lines:" msgstr "" #. (itstool) path: section/code #: C/howto_write_a_plugin.page:169 #, no-wrap msgid "" "\n" " import gtk\n" " from accerciser.plugin import ViewportPlugin\n" " " msgstr "" #. (itstool) path: section/p #: C/howto_write_a_plugin.page:173 msgid "Next, a class definition, with a name and description:" msgstr "" #. (itstool) path: section/code #: C/howto_write_a_plugin.page:176 #, no-wrap msgid "" "\n" " class Clicker(ViewportPlugin):\n" " plugin_name = 'Clicker'\n" " plugin_description = 'Test the \"click\" action in relevant accessibles.'\n" " " msgstr "" #. (itstool) path: section/p #: C/howto_write_a_plugin.page:181 msgid "" "We override the init method with some UI building, and connecting a callback " "to a signal for the button. We set the alignment to allow the button to be " "centered in the plugin tab, and not monstrously take up the entire plugin " "space. Notice that the plugin_area instance variable contains a " "gtk.Frame that could be populated with all the plugin's widgets." msgstr "" #. (itstool) path: section/code #: C/howto_write_a_plugin.page:188 #, no-wrap msgid "" "\n" " def init(self):\n" " self.click_button = gtk.Button('Click me!')\n" " self.click_button.set_halign(gtk.Align.CENTER)\n" " self.click_button.set_valign(gtk.Align.CENTER)\n" " self.plugin_area.add(self.click_button)\n" "\n" " self.click_button.connect('clicked', self.onClick)\n" "\n" " self.show_all()\n" " " msgstr "" #. (itstool) path: section/p #: C/howto_write_a_plugin.page:199 msgid "" "We also created a convenience method that returns a list of supported " "actions of the currently selected accessible item - if it does not support " "the Action interface, it returns an empty list:" msgstr "" #. (itstool) path: section/code #: C/howto_write_a_plugin.page:204 #, no-wrap msgid "" "\n" " def accSupportedActions(self):\n" " try:\n" " ai = self.node.acc.queryAction()\n" " except NotImplementedError:\n" " action_names = []\n" " else:\n" " action_names = [ai.getName(i) for i in xrange(ai.nActions)]\n" " return action_names\n" " " msgstr "" #. (itstool) path: section/p #: C/howto_write_a_plugin.page:214 msgid "" "The base plugin class has a method call onAccChanged that is called " "everytime the target application's selected accessible item changes. We will " "override it setting the button to be sensitive only when the current " "accessible item has the \"click\" action:" msgstr "" #. (itstool) path: section/code #: C/howto_write_a_plugin.page:219 #, no-wrap msgid "" "\n" " def onAccChanged(self, acc):\n" " has_click = 'click' in self.accSupportedActions()\n" " self.click_button.set_sensitive(has_click)\n" " " msgstr "" #. (itstool) path: section/p #: C/howto_write_a_plugin.page:224 msgid "" "The callback method for button \"clicked\" performs the \"click\" action on " "the accessible item. Since this callback could only be called when the " "button is sensitive, we don't need to worry about checking if the current " "accessible has the \"click\" action?" msgstr "" #. (itstool) path: section/code #: C/howto_write_a_plugin.page:229 #, no-wrap msgid "" "\n" " def onClick(self, button):\n" " ai = self.node.acc.queryAction()\n" " action_names = [ai.getName(i) for i in xrange(ai.nActions)]\n" " ai.doAction(action_names.index('click'))\n" " " msgstr "" #. (itstool) path: info/title #: C/index.page:6 msgctxt "text" msgid "Accerciser" msgstr "" #. (itstool) path: info/title #: C/index.page:7 msgctxt "link" msgid "Introduction to Accerciser" msgstr "" #. (itstool) path: media/span #: C/index.page:26 msgid "Accerciser's logo" msgstr "" #. (itstool) path: page/title #: C/index.page:24 msgid "<_:media-1/> Accerciser" msgstr "" #. (itstool) path: note/title #: C/index.page:31 msgid "Before You Begin" msgstr "" #. (itstool) path: note/p #: C/index.page:32 msgid "" "Read the Universal Access Help" msgstr "" #. (itstool) path: section/title #: C/index.page:37 msgid "Getting Started" msgstr "" #. (itstool) path: section/title #: C/index.page:40 msgid "Examining the Accessibility of an Application" msgstr "" #. (itstool) path: section/title #: C/index.page:43 msgid "Advanced Topics" msgstr "" #. (itstool) path: info/title #: C/interface_viewer_plugin.page:4 msgctxt "sort" msgid "2. Interface Viewer Plugin" msgstr "" #. (itstool) path: info/desc #: C/interface_viewer_plugin.page:6 msgid "Examining your accessibility implementation" msgstr "" #. (itstool) path: page/title #: C/interface_viewer_plugin.page:25 msgid "Interface Viewer Plugin" msgstr "" #. (itstool) path: page/p #: C/interface_viewer_plugin.page:27 msgid "" "The Interface Viewer Plugin shows the information and controls provided by " "the AT-SPI interfaces present in each accessible item from the Application Tree View. After selecting an " "item, you can use this plugin to quickly review its supported interfaces, to " "retrieve each interface's information, and to manipulate the item through " "all the interface’s methods." msgstr "" #. (itstool) path: figure/title #: C/interface_viewer_plugin.page:35 msgid "Examining a Menu with the Interface Viewer Plugin" msgstr "" #. (itstool) path: figure/desc #. (itstool) path: media/p #: C/interface_viewer_plugin.page:36 C/interface_viewer_plugin.page:42 msgid "" "Given a selected item in the Application Tree View, all of its AT-SPI " "interfaces will be shown as sensitive in the Interface Viewer Plugin. Those " "unsupported will appear grayed out, such as the Application and Collection " "interfaces in the figure above." msgstr "" #. (itstool) path: figure/media #. This is a reference to an external file such as an image or video. When #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. #: C/interface_viewer_plugin.page:41 msgctxt "_" msgid "" "external ref='figures/interface_viewer_plugin.png' " "md5='aed7e1cd60d381f408e087ab0ba28b4f'" msgstr "" #. (itstool) path: section/title #: C/interface_viewer_plugin.page:49 msgid "Running the Interface Viewer Plugin" msgstr "" #. (itstool) path: section/p #: C/interface_viewer_plugin.page:50 msgid "" "The first step to run the Interface Viewer Plugin is to select an item in " "the Application Tree View. After " "that, all AT-SPI interfaces covered by the plugin will be listed in the " "plugin's panel. The interfaces implemented by the selected item will be " "sensitive, so you can click each one of them to either retrieve their " "provided information or to interact with available methods. The following " "interfaces can be explored in Accerciser, assuming the selected " "item implements them:" msgstr "" #. (itstool) path: item/p #: C/interface_viewer_plugin.page:59 msgid "" "Accessible - This interface shows the selected item's child count (number of " "child widgets), description, states, relations, and attributes." msgstr "" #. (itstool) path: item/p #: C/interface_viewer_plugin.page:65 msgid "" "Action - This interface shows all the actions that can be performed by the " "selected item. For each interface, you will see its name, such as \"press\" " "or \"click\", followed by a description and a key binding, if there are any. " "If you select an action, a \"Perform action\" button will become sensitive. " "Press this button to see the item performing the selected action." msgstr "" #. (itstool) path: item/p #: C/interface_viewer_plugin.page:73 msgid "" "Application - This interface can be implemented by items with role " "\"application\". It is worth to point out that items with role " "\"application\" not necessarily implement this interface. If the selected " "item implements it, the interface will show its ID and, if there are any, " "its toolkit and version." msgstr "" #. (itstool) path: item/p #: C/interface_viewer_plugin.page:80 msgid "" "Component - This interface shows the selected item's absolute position (with " "respect to the desktop coordinate system), relative position (with respect " "to the window coordinate system), size, layer type, MDI-Z-order (a short " "integer indicating the stacking order of the component in the MDI layer), " "and alpha (if alpha blending is used)." msgstr "" #. (itstool) path: item/p #: C/interface_viewer_plugin.page:86 msgid "" "Document - This interface shows the selected item's document attributes and " "locale description, if there is one." msgstr "" #. (itstool) path: item/p #: C/interface_viewer_plugin.page:91 msgid "" "Hypertext - This interface shows a list with all the selected item's " "hypertext hyperlinks. For each hyperlink, the interface provides its name, " "URI, start (the index in the hypertext at which the hyperlink begins) and " "end (the index in the hypertext at which this hyperlink ends)." msgstr "" #. (itstool) path: item/p #: C/interface_viewer_plugin.page:98 msgid "" "Image - This interface shows the selected item's description (or \"no " "description\" if unspecified), size, position (with respect to the desktop " "coordinate system), and locale, if there is one." msgstr "" #. (itstool) path: item/p #: C/interface_viewer_plugin.page:104 msgid "" "Selection - This interface shows all selectable child items of the selected " "item. If the selected item is a menu bar with options \"File\", \"Edit\", " "\"View\", and \"Help\", and all of them are selectable, then they will be " "listed in this interface. If you click a listed option - \"File\", for " "example - and want to clear it, just press the \"Clear\" button below the " "list." msgstr "" #. (itstool) path: item/p #: C/interface_viewer_plugin.page:112 msgid "" "Streamable Content - This interface shows the selected item's content types " "and their corresponding URIs." msgstr "" #. (itstool) path: item/p #: C/interface_viewer_plugin.page:117 msgid "" "Table - This interface shows the selected item's caption and summary, rows " "(number of rows), columns (number of columns), selected rows (number of " "selected rows), and selected columns (number of selected columns). For a " "selected cell, the interface shows its row's and column's header and extents." msgstr "" #. (itstool) path: item/p #: C/interface_viewer_plugin.page:124 msgid "" "TableCell - This interface shows the selected item's row and column index, " "row and column span, a list of the row and column header cells and the " "cell's table. By selecting a header cell in the list of row or column " "headers and pressing the \"Show\" button, it's possible to select that " "header cell object in Accerciser instead. Pressing the table button causes " "the table object to be selected." msgstr "" #. (itstool) path: item/p #: C/interface_viewer_plugin.page:132 msgid "" "Text - This interface shows the selected item's text content, that can be " "editable, and its attributes. The basic attributes are offset (the number of " "characters the text has) and justification. To see possible CSS attributes, " "click the \"Include defaults\" check box." msgstr "" #. (itstool) path: item/p #: C/interface_viewer_plugin.page:139 msgid "" "Value - This interface shows the selected item's current value, minimum " "allowed value, maximum allowed value, and the minimum increment by which the " "value may be changed (or zero if this value cannot be determined). The " "current value can be manually changed via a spin button." msgstr "" #. (itstool) path: info/title #: C/introduction.page:5 msgctxt "sort" msgid "1. What is Accerciser?" msgstr "" #. (itstool) path: info/desc #: C/introduction.page:6 msgid "An interactive accessibility explorer" msgstr "" #. (itstool) path: page/title #: C/introduction.page:25 msgid "What is Accerciser?" msgstr "" #. (itstool) path: page/p #: C/introduction.page:26 msgid "" "Accerciser is an interactive Python accessibility explorer. It " "uses the AT-SPI library to inspect, examine, and interact with widgets, " "allowing you to check if an application is providing correct information to " "assistive technologies and automated testing frameworks. Accerciser comes with a set of plugins that you can use to create custom views of " "accessibility information." msgstr "" #. (itstool) path: page/p #: C/introduction.page:35 msgid "" "By default, Accerciser's main interface is comprised of three " "sections: a tree view of the entire desktop accessible hierarchy, namely " " Application Tree View, and two " "plugin areas. If you prefer to see all plugins in a single area, dividing " "Accerciser's interface in two sections instead of three, press " "ctrl t. To re-divide it in three " "sections, press ctrlt again." msgstr "" #. (itstool) path: note/p #: C/introduction.page:44 msgid "" "Make sure that accessibility support is enabled in your desktop - otherwise, " "Accerciser will not work as expected." msgstr "" #. (itstool) path: figure/title #: C/introduction.page:51 msgid "Accerciser" msgstr "" #. (itstool) path: figure/desc #. (itstool) path: media/p #: C/introduction.page:52 C/introduction.page:56 msgid "Accerciser's default interface." msgstr "" #. (itstool) path: figure/media #. This is a reference to an external file such as an image or video. When #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. #: C/introduction.page:55 msgctxt "_" msgid "" "external ref='figures/accerciser-view.png' " "md5='87ef1d7587097a04dd784e14840f3115'" msgstr "" #. (itstool) path: section/title #: C/introduction.page:63 msgid "Accerciser's intended audience" msgstr "" #. (itstool) path: section/p #: C/introduction.page:64 msgid "" "Accerciser fits the needs of many different audiences. User " "interface developers use it to ensure that their applications are providing " "all of their features through AT-SPI. Assistive technology developers are " "able to see what AT-SPI is providing to their applications. Automated UI " "test developers find Accerciser beneficial since it exposes " "different events that could be expected from their target application." msgstr "" #. (itstool) path: section/title #: C/introduction.page:74 msgid "Accerciser's plugin architecture" msgstr "" #. (itstool) path: section/p #: C/introduction.page:75 msgid "" "Accerciser has an extensible, plugin-based architecture. Its core " "code is fairly small and most of its features are part of default plugins:" msgstr "" #. (itstool) path: item/p #: C/introduction.page:82 msgid "" "Interface Viewer - A plugin " "that lets you explore the AT-SPI interfaces provided by each accessible " "widget of a target application." msgstr "" #. (itstool) path: item/p #: C/introduction.page:88 msgid "" "AT-SPI Validator - A plugin that " "applies tests to verify the accessibility of a target application." msgstr "" #. (itstool) path: item/p #: C/introduction.page:94 msgid "" "Event Monitor - A plugin that " "displays AT-SPI events emitted by a target application as they occur." msgstr "" #. (itstool) path: item/p #: C/introduction.page:100 msgid "" "Quick Select - A plugin that " "provides global hotkeys for quickly selecting accessible widgets in " "Accerciser's Application Tree View." msgstr "" #. (itstool) path: item/p #: C/introduction.page:106 msgid "" "API Browser - A plugin that shows " "the interfaces, methods, and attributes available on each accessible widget " "of a target application." msgstr "" #. (itstool) path: item/p #: C/introduction.page:112 msgid "" "IPython Console - A plugin that " "provides a full, interactive Python shell with access to selected accessible " "widgets of a target application." msgstr "" #. (itstool) path: section/title #: C/introduction.page:122 msgid "More about Accessibility" msgstr "" #. (itstool) path: section/p #: C/introduction.page:123 msgid "" "Accessibility is a core value that should touch all aspects of a Desktop " "Environment. To help achieve it in GNOME, some libraries were developed, " "such as ATK and AT-SPI. Though originated in GNOME, these libraries are now " "also used in other Desktop Environments. To learn more about Accessibility " "Libraries for GNU/UNIX systems, you can consult:" msgstr "" #. (itstool) path: item/p #: C/introduction.page:132 msgid "" "ATK Accessibility Toolkit - ATK provides the set of accessibility interfaces that are " "implemented by other toolkits and applications. Using the ATK interfaces, " "accessibility tools have full access to view and control running " "applications." msgstr "" #. (itstool) path: item/p #: C/introduction.page:139 msgid "" "AT-SPI " "- AT-SPI is the primary service interface by which assistive technologies " "query and receive notifications from running applications. Additional " "material is available from the KDE Accessibility Development Community." msgstr "" #. (itstool) path: item/p #: C/introduction.page:147 msgid "" "GNOME Desktop Accessibility Guide - A guide for anyone " "interested in how the GNOME Desktop supports the needs of users with " "disabilities." msgstr "" #. (itstool) path: item/p #: C/introduction.page:153 msgid "" "GNOME Accessibility Developer's Guide - A guide for developers who " "want to ensure their applications are accessible to the widest audience of " "users." msgstr "" #. (itstool) path: item/p #: C/introduction.page:159 msgid "" "GNOME Accessibility " "Project - The GNOME Accessibility Project includes the guides listed " "above along with many other useful links for users, developers and system " "administrators." msgstr "" #. (itstool) path: info/title #: C/ipython_plugin.page:4 msgctxt "sort" msgid "2. IPython Plugin" msgstr "" #. (itstool) path: info/desc #: C/ipython_plugin.page:6 msgid "When all else fails" msgstr "" #. (itstool) path: page/title #: C/ipython_plugin.page:25 msgid "IPython Console Plugin" msgstr "" #. (itstool) path: page/p #: C/ipython_plugin.page:26 msgid "" "The IPython Console Plugin allows real-time interaction with a selected item " "in the Application Tree View. Since " "the IPython Console Plugin is an interactive Python shell, you can import " "any Python modules you want." msgstr "" #. (itstool) path: note/p #: C/ipython_plugin.page:33 msgid "" "Make sure you have the standalone package IPython installed in your system. " "Otherwise, the IPython Console Plugin will not work properly." msgstr "" #. (itstool) path: section/title #: C/ipython_plugin.page:40 msgid "Running the IPython Console Plugin" msgstr "" #. (itstool) path: section/p #: C/ipython_plugin.page:41 msgid "" "To run the IPython Console Plugin, select one of the accessible items listed " "in the Application Tree View - either an application or a widget. In the " "plugin, the selected item will correspond to the variable 'acc'." msgstr "" #. (itstool) path: section/p #: C/ipython_plugin.page:46 msgid "" "Pressing Tab shows completions for the current command in the " "console, what can be useful for discovering pyatspi methods." msgstr "" #. (itstool) path: figure/title #: C/ipython_plugin.page:52 msgid "Investigating selected items with the IPython Console Plugin" msgstr "" #. (itstool) path: figure/desc #. (itstool) path: media/p #: C/ipython_plugin.page:53 C/ipython_plugin.page:58 msgid "" "The IPython Console Plugin lets you investigate methods, constants, and " "properties related to a selected item in the Application Tree View." msgstr "" #. (itstool) path: figure/media #. This is a reference to an external file such as an image or video. When #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. #: C/ipython_plugin.page:57 msgctxt "_" msgid "" "external ref='figures/IPython_plugin.png' " "md5='1daff78264babd667a8527b3e2b5cace'" msgstr "" #. (itstool) path: note/p #: C/ipython_plugin.page:66 msgid "" "Typing help(acc) in the IPython Console Plugin shows some useful " "documentation about the corresponding selected accessible item." msgstr "" #. (itstool) path: info/title #: C/preferences.page:4 msgctxt "sort" msgid "4. Preferences" msgstr "" #. (itstool) path: info/desc #: C/preferences.page:6 msgid "Customizing Accerciser's preferences" msgstr "" #. (itstool) path: page/title #: C/preferences.page:25 msgid "Configuring Accerciser" msgstr "" #. (itstool) path: page/p #: C/preferences.page:26 msgid "" "To configure plugins, hotkeys, and highlighting, do either " "ctrlp or Edit " "Preferences to open a dialog." msgstr "" #. (itstool) path: section/title #: C/preferences.page:32 msgid "Configuring plugins" msgstr "" #. (itstool) path: section/p #: C/preferences.page:33 msgid "" "After opening the Preferences Dialog, you will find a list of all available " "plugins, with corresponding checkboxes, under the \"Plugins\" tab. To enable " "or disable a plugin, toggle its checkbox. Only active plugins can be " "accessed via Accerciser's interface." msgstr "" #. (itstool) path: section/p #: C/preferences.page:38 msgid "" "Right-clicking on any given plugin allows you to choose its location: \"Top " "Panel\", \"Bottom Panel\", and \"New View\". Selecting \"New View\" creates " "a new window for the plugin." msgstr "" #. (itstool) path: note/p #: C/preferences.page:44 msgid "" "You may bypass the Preferences dialog by using drag and drop to move a " "plugin from a location to another." msgstr "" #. (itstool) path: section/title #: C/preferences.page:51 msgid "Configuring global hotkeys" msgstr "" #. (itstool) path: section/p #: C/preferences.page:52 msgid "" "Some elements in Accerciser may enable certain functionalities " "via hotkeys. An example is the Quick " "Select Plugin. The hotkey combination for each functionality can be " "changed via the Preferences dialog, under the \"Global Hotkeys\" tab. Under " "this tab, you will find a list of all features for which hotkeys can be " "configured. Use the ctrl, alt, and shift " "checkboxes to enable or disable these modifiers." msgstr "" #. (itstool) path: section/title #: C/preferences.page:63 msgid "Configuring widget's highlighting" msgstr "" #. (itstool) path: section/p #: C/preferences.page:64 msgid "" "Some of Accerciser's elements, such as the global hotkey " "ctrlalt/, highlight a " "specific widget in a target application. The highlighting duration, border " "color, and fill color can be customized via the Preferences dialog, under " "the \"Highlighting\" tab." msgstr "" #. (itstool) path: info/title #: C/quick_select_plugin.page:4 msgctxt "sort" msgid "5. Quick Select Plugin" msgstr "" #. (itstool) path: info/desc #: C/quick_select_plugin.page:6 msgid "Locating the object you need" msgstr "" #. (itstool) path: page/title #: C/quick_select_plugin.page:25 msgid "Quick Select Plugin" msgstr "" #. (itstool) path: page/p #: C/quick_select_plugin.page:26 msgid "" "The Quick Select Plugin does not provide a visible interface like the other " "default Accerciser plugins - instead, it adds facilities for " "quickly selecting items in the Application " "Tree View via global hotkeys. Originally, these hotkeys were part of " "Accerciser's core code, turning into the Quick Select Plugin " "later." msgstr "" #. (itstool) path: page/p #: C/quick_select_plugin.page:32 msgid "" "The Quick Select Plugin provides two global hotkeys. Pressing " "ctrlalta selects the last " "focused accessible widget in the Application Tree View. Pressing " "ctrlalt/ selects the " "accessible widget under the pointer in the Application Tree View and " "highlights it in the target application." msgstr "" #. (itstool) path: info/title #: C/validator_plugin.page:4 msgctxt "sort" msgid "3. Validator Default Plugin" msgstr "" #. (itstool) path: info/desc #: C/validator_plugin.page:6 msgid "Testing an application for accessibility" msgstr "" #. (itstool) path: page/title #. (itstool) path: figure/title #: C/validator_plugin.page:25 C/validator_plugin.page:32 msgid "AT-SPI Validator Plugin" msgstr "" #. (itstool) path: page/p #: C/validator_plugin.page:26 msgid "" "The AT-SPI Validator Plugin generates a report with accessibility issues " "related to a target application. For each error, the report includes the " "severity level and a brief description." msgstr "" #. (itstool) path: figure/desc #. (itstool) path: media/p #: C/validator_plugin.page:33 C/validator_plugin.page:38 msgid "" "The AT-SPI Validator Plugin generates useful reports for verifying the " "accessibility of a target application." msgstr "" #. (itstool) path: figure/media #. This is a reference to an external file such as an image or video. When #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. #: C/validator_plugin.page:37 msgctxt "_" msgid "" "external ref='figures/validator_report.png' " "md5='0275b1c51e9f01c953cba87aee7b8764'" msgstr "" #. (itstool) path: section/title #: C/validator_plugin.page:46 msgid "Running the AT-SPI Validator Plugin" msgstr "" #. (itstool) path: section/p #: C/validator_plugin.page:47 msgid "" "To run the AT-SPI Validator Plugin, select an item in the Application Tree " "View. The validator will generate the report with respect to the selected " "item and all of its descendant widgets in the tree hierarchy." msgstr "" #. (itstool) path: section/p #: C/validator_plugin.page:53 msgid "" "After selecting an item, choose a validation schema in the combobox and " "press the Validate button to start generating the report. If you " "want to cancel the execution, just press the Validate button " "again." msgstr "" #. (itstool) path: section/p #: C/validator_plugin.page:59 msgid "" "The generated report is interactive. Therefore, you can double-click any " "error found to check which of the target application widgets is causing it. " "The corresponding widget will then appear selected in the Application Tree View and highlighted in " "the target application." msgstr "" #. (itstool) path: section/p #: C/validator_plugin.page:64 msgid "" "If you want to save the generated report in your system, just click the " "Save button. To clear the validation screen, press the " "Clear button." msgstr "" #. (itstool) path: section/p #: C/validator_plugin.page:68 msgid "" "To get more information about an error in the generated report, make sure " "the corresponding item is selected and press the Help button. It " "will open a Help Page in your default browser." msgstr ""