[orca] More work on profile-based language switching.
- From: Joanmarie Diggs <joanied src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [orca] More work on profile-based language switching.
- Date: Tue, 19 Feb 2013 06:25:13 +0000 (UTC)
commit 98f439210005cf64e29359bb49f57ff051548bf8
Author: Joanmarie Diggs <jdiggs igalia com>
Date: Mon Feb 18 17:17:29 2013 -0500
More work on profile-based language switching.
po/POTFILES.in | 1 +
src/orca/Makefile.am | 1 +
src/orca/messages.py | 875 ++++++++++++++++++++
src/orca/orca.py | 67 +--
src/orca/orca_i18n.py.in | 9 +-
src/orca/scripts/apps/soffice/script.py | 65 +--
.../scripts/apps/soffice/structural_navigation.py | 6 +-
src/orca/scripts/default.py | 807 +++----------------
src/orca/speechdispatcherfactory.py | 16 +-
src/orca/structural_navigation.py | 477 ++----------
10 files changed, 1071 insertions(+), 1253 deletions(-)
---
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 1abd26f..d6b1cbf 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -18,6 +18,7 @@ src/orca/input_event.py
src/orca/keybindings.py
src/orca/keynames.py
src/orca/liveregions.py
+src/orca/messages.py
src/orca/notification_messages.py
src/orca/orca_bin.py.in
src/orca/orca_console_prefs.py
diff --git a/src/orca/Makefile.am b/src/orca/Makefile.am
index 6eae0d1..9533d9c 100644
--- a/src/orca/Makefile.am
+++ b/src/orca/Makefile.am
@@ -35,6 +35,7 @@ orca_python_PYTHON = \
laptop_keyboardmap.py \
liveregions.py \
logger.py \
+ messages.py \
mouse_review.py \
notification_messages.py \
orca.py \
diff --git a/src/orca/messages.py b/src/orca/messages.py
new file mode 100644
index 0000000..ed340fa
--- /dev/null
+++ b/src/orca/messages.py
@@ -0,0 +1,875 @@
+# Orca
+#
+# Copyright 2004-2009 Sun Microsystems Inc.
+# Copyright 2010-2013 The Orca Team
+#
+# 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., Franklin Street, Fifth Floor,
+# Boston MA 02110-1301 USA.
+
+"""Messages which Orca presents in speech and/or braille. These
+have been put in their own module so that we can present them in
+the correct language when users change the synthesizer language
+on the fly without having to reload a bunch of modules."""
+
+__id__ = "$Id$"
+__version__ = "$Revision$"
+__date__ = "$Date$"
+__copyright__ = "Copyright (c) 2004-2009 Sun Microsystems Inc." \
+ "Copyright (c) 2010-2013 The Orca Team"
+__license__ = "LGPL"
+
+from .orca_i18n import _, C_, ngettext
+from .orca_platform import version
+
+# Translators: This is presented when the user has navigated to an empty line.
+BLANK = _("blank")
+
+# Translators: This refers to font weight.
+BOLD = _("bold")
+
+# Translators: Orca normally intercepts all keyboard commands and only passes
+# them along to the current application when they are not Orca commands. This
+# command causes the next command issued to be passed along to the current
+# application, bypassing Orca's interception of it.
+BYPASS_MODE_ENABLED = _("Bypass mode enabled.")
+
+# Translators: Orca uses Speech Dispatcher to present content to users via
+# text-to-speech. Speech Dispatcher has a feature to control how capital
+# letters are presented: Do nothing at all, say the word 'capital' prior to
+# presenting a capital letter, or play a tone which Speech Dispatcher refers
+# to as a sound 'icon'. This string to be translated refers to the brief/
+# non-verbose output presented in response to the use of an Orca command which
+# makes it possible for users to quickly cycle amongst these alternatives
+# without having to get into a GUI.
+CAPITALIZATION_ICON_BRIEF = C_("capitalization style", "icon")
+
+# Translators: Orca uses Speech Dispatcher to present content to users via
+# text-to-speech. Speech Dispatcher has a feature to control how capital
+# letters are presented: Do nothing at all, say the word 'capital' prior to
+# presenting a capital letter, or play a tone which Speech Dispatcher refers
+# to as a sound 'icon'. This string to be translated refers to the full/verbose
+# output presented in response to the use of an Orca command which makes it
+# possible for users to quickly cycle amongst these alternatives without having
+# to get into a GUI.
+CAPITALIZATION_ICON_FULL = _("Capitalization style set to icon.")
+
+# Translators: Orca uses Speech Dispatcher to present content to users via
+# text-to-speech. Speech Dispatcher has a feature to control how capital
+# letters are presented: Do nothing at all, say the word 'capital' prior to
+# presenting a capital letter, or play a tone which Speech Dispatcher refers
+# to as a sound 'icon'. This string to be translated refers to the brief/
+# non-verbose output presented in response to the use of an Orca command which
+# makes it possible for users to quickly cycle amongst these alternatives
+# without having to get into a GUI.
+CAPITALIZATION_NONE_BRIEF = C_("capitalization style", "none")
+
+# Translators: Orca uses Speech Dispatcher to present content to users via
+# text-to-speech. Speech Dispatcher has a feature to control how capital
+# letters are presented: Do nothing at all, say the word 'capital' prior to
+# presenting a capital letter, or play a tone which Speech Dispatcher refers
+# to as a sound 'icon'. This string to be translated refers to the full/verbose
+# output presented in response to the use of an Orca command which makes it
+# possible for users to quickly cycle amongst these alternatives without having
+# to get into a GUI.
+CAPITALIZATION_NONE_FULL = _("Capitalization style set to none.")
+
+# Translators: Orca uses Speech Dispatcher to present content to users via
+# text-to-speech. Speech Dispatcher has a feature to control how capital
+# letters are presented: Do nothing at all, say the word 'capital' prior to
+# presenting a capital letter, or play a tone which Speech Dispatcher refers
+# to as a sound 'icon'. This string to be translated refers to the brief/
+# non-verbose output presented in response to the use of an Orca command which
+# makes it possible for users to quickly cycle amongst these alternatives
+# without having to get into a GUI.
+CAPITALIZATION_SPELL_BRIEF = C_("capitalization style", "spell")
+
+# Translators: Orca uses Speech Dispatcher to present content to users via
+# text-to-speech. Speech Dispatcher has a feature to control how capital
+# letters are presented: Do nothing at all, say the word 'capital' prior to
+# presenting a capital letter, or play a tone which Speech Dispatcher refers
+# to as a sound 'icon'. This string to be translated refers to the full/verbose
+# output presented in response to the use of an Orca command which makes it
+# possible for users to quickly cycle amongst these alternatives without having
+# to get into a GUI.
+CAPITALIZATION_SPELL_FULL = _("Capitalization style set to spell.")
+
+# Translators: this is the name of a cell in a spreadsheet.
+CELL = _("Cell %s")
+
+# Translators: when the user selects (highlights) or unselects text in a
+# document, Orca will speak information about what they have selected or
+# unselected. This message is presented when the user selects the entire
+# document by pressing Ctrl+A.
+DOCUMENT_SELECTED_ALL = _("entire document selected")
+
+# Translators: when the user selects (highlights) or unselects text in a
+# document, Orca will speak information about what they have selected or
+# unselected. This message is presented when the user selects from the
+# current location to the end of the document by pressing Ctrl+Shift+End.
+DOCUMENT_SELECTED_DOWN = _("document selected from cursor position")
+
+# Translators: when the user selects (highlights) or unselects text in a
+# document, Orca will speak information about what they have selected or
+# unselected. This message is presented when the user unselects previously
+# selected text by pressing Ctrl+Shift+End.
+DOCUMENT_UNSELECTED_DOWN = _("document unselected from cursor position")
+
+# Translators: when the user selects (highlights) or unselects text in a
+# document, Orca will speak information about what they have selected or
+# unselected. This message is presented when the user selects from the
+# current location to the start of the document by pressing Ctrl+Shift+Home.
+DOCUMENT_SELECTED_UP = _("document selected to cursor position")
+
+# Translators: when the user selects (highlights) or unselects text in a
+# document, Orca will speak information about what they have selected or
+# unselected. This message is presented when the user unselects previously
+# selected text by pressing Ctrl+Shift+Home.
+DOCUMENT_UNSELECTED_UP = _("document unselected to cursor position")
+
+# Translators: Orca allows you to dynamically define which row of a spreadsheet
+# or table should be treated as containing column headers. This message is
+# presented when the user sets the row to a particular row number.
+DYNAMIC_COLUMN_HEADER_SET = _("Dynamic column header set for row %d")
+
+# Translators: Orca allows you to dynamically define which row of a spreadsheet
+# or table should be treated as containing column headers. This message is
+# presented when the user unsets the row so it is no longer treated as if it
+# contained column headers.
+DYNAMIC_COLUMN_HEADER_CLEARED = _("Dynamic column header cleared.")
+
+# Translators: Orca allows you to dynamically define which column of a
+# spreadsheet or table should be treated as containing column headers. This
+# message is presented when the user sets the column to a particular column
+# number.
+DYNAMIC_ROW_HEADER_SET = _("Dynamic row header set for column %s")
+
+# Translators: Orca allows you to dynamically define which column of a
+# spreadsheet or table should be treated as containing column headers. This
+# message is presented when the user unsets the column so it is no longer
+# treated as if it contained row headers.
+DYNAMIC_ROW_HEADER_CLEARED = _("Dynamic row header cleared.")
+
+# Translators: this is used to announce that the current input line in a
+# spreadsheet is blank/empty.
+EMPTY = _("empty")
+
+# Translators: the 'flat review' feature of Orca allows the blind user to
+# explore the text in a window in a 2D fashion. That is, Orca treats all
+# the text from all objects in a window (e.g., buttons, labels, etc.) as a
+# sequence of words in a sequence of lines. This message is presented to
+# let the user know that he/she successfully appended the contents under
+# flat review onto the existing contents of the clipboard.
+FLAT_REVIEW_APPENDED = _("Appended contents to clipboard.")
+
+# Translators: the 'flat review' feature of Orca allows the blind user to
+# explore the text in a window in a 2D fashion. That is, Orca treats all
+# the text from all objects in a window (e.g., buttons, labels, etc.) as a
+# sequence of words in a sequence of lines. This message is presented to
+# let the user know that he/she successfully copied the contents under flat
+# review to the clipboard.
+FLAT_REVIEW_COPIED = _("Copied contents to clipboard.")
+
+# Translators: the 'flat review' feature of Orca allows the blind user to
+# explore the text in a window in a 2D fashion. That is, Orca treats all
+# the text from all objects in a window (e.g., buttons, labels, etc.) as a
+# sequence of words in a sequence of lines. This message is presented to
+# let the user know that he/she attempted to use a flat review command when
+# not using flat review.
+FLAT_REVIEW_NOT_IN = _("Not using flat review.")
+
+# Translators: the 'flat review' feature of Orca allows the blind user to
+# explore the text in a window in a 2D fashion. That is, Orca treats all
+# the text from all objects in a window (e.g., buttons, labels, etc.) as a
+# sequence of words in a sequence of lines. This message is presented to
+# let the user know he/she just entered flat review.
+FLAT_REVIEW_START = _("Entering flat review.")
+
+# Translators: the 'flat review' feature of Orca allows the blind user to
+# explore the text in a window in a 2D fashion. That is, Orca treats all
+# the text from all objects in a window (e.g., buttons, labels, etc.) as a
+# sequence of words in a sequence of lines. This message is presented to
+# let the user know he/she just entered flat review.
+FLAT_REVIEW_STOP = _("Leaving flat review.")
+
+# Translators: this means a particular cell in a spreadsheet has a formula
+# (e.g., "=sum(a1:d1)")
+HAS_FORMULA = _("has formula")
+
+# Translators: Orca has an "echo" setting which allows the user to configure
+# what is spoken in response to a key press. Given a user who typed "Hello
+# world.":
+# - key echo: "H e l l o space w o r l d period"
+# - word echo: "Hello" spoken when the space is pressed;
+# "world" spoken when the period is pressed.
+# - sentence echo: "Hello world" spoken when the period
+# is pressed.
+# A user can choose to have no echo, one type of echo, or multiple types of
+# echo and can cycle through the various levels quickly via a command. The
+# following string is a brief message which will be presented to the user who
+# is cycling amongst the various echo options.
+KEY_ECHO_KEY_BRIEF = C_("key echo", "key")
+
+# Translators: Orca has an "echo" setting which allows the user to configure
+# what is spoken in response to a key press. Given a user who typed "Hello
+# world.":
+# - key echo: "H e l l o space w o r l d period"
+# - word echo: "Hello" spoken when the space is pressed;
+# "world" spoken when the period is pressed.
+# - sentence echo: "Hello world" spoken when the period
+# is pressed.
+# A user can choose to have no echo, one type of echo, or multiple types of
+# echo and can cycle through the various levels quickly via a command.
+KEY_ECHO_KEY_FULL = _("Key echo set to key.")
+
+# Translators: Orca has an "echo" setting which allows the user to configure
+# what is spoken in response to a key press. Given a user who typed "Hello
+# world.":
+# - key echo: "H e l l o space w o r l d period"
+# - word echo: "Hello" spoken when the space is pressed;
+# "world" spoken when the period is pressed.
+# - sentence echo: "Hello world" spoken when the period
+# is pressed.
+# A user can choose to have no echo, one type of echo, or multiple types of
+# echo and can cycle through the various levels quickly via a command. The
+# following string is a brief message which will be presented to the user who
+# is cycling amongst the various echo options.
+KEY_ECHO_NONE_BRIEF = C_("key echo", "None")
+
+# Translators: Orca has an "echo" setting which allows the user to configure
+# what is spoken in response to a key press. Given a user who typed "Hello
+# world.":
+# - key echo: "H e l l o space w o r l d period"
+# - word echo: "Hello" spoken when the space is pressed;
+# "world" spoken when the period is pressed.
+# - sentence echo: "Hello world" spoken when the period
+# is pressed.
+# A user can choose to have no echo, one type of echo, or multiple types of
+# echo and can cycle through the various levels quickly via a command.
+KEY_ECHO_NONE_FULL = _("Key echo set to None.")
+
+# Translators: Orca has an "echo" setting which allows the user to configure
+# what is spoken in response to a key press. Given a user who typed "Hello
+# world.":
+# - key echo: "H e l l o space w o r l d period"
+# - word echo: "Hello" spoken when the space is pressed;
+# "world" spoken when the period is pressed.
+# - sentence echo: "Hello world" spoken when the period
+# is pressed.
+# A user can choose to have no echo, one type of echo, or multiple types of
+# echo and can cycle through the various levels quickly via a command. The
+# following string is a brief message which will be presented to the user who
+# is cycling amongst the various echo options.
+KEY_ECHO_KEY_AND_WORD_BRIEF = C_("key echo", "key and word")
+
+# Translators: Orca has an "echo" setting which allows the user to configure
+# what is spoken in response to a key press. Given a user who typed "Hello
+# world.":
+# - key echo: "H e l l o space w o r l d period"
+# - word echo: "Hello" spoken when the space is pressed;
+# "world" spoken when the period is pressed.
+# - sentence echo: "Hello world" spoken when the period
+# is pressed.
+# A user can choose to have no echo, one type of echo, or multiple types of
+# echo and can cycle through the various levels quickly via a command.
+KEY_ECHO_KEY_AND_WORD_FULL = _("Key echo set to key and word.")
+
+# Translators: Orca has an "echo" setting which allows the user to configure
+# what is spoken in response to a key press. Given a user who typed "Hello
+# world.":
+# - key echo: "H e l l o space w o r l d period"
+# - word echo: "Hello" spoken when the space is pressed;
+# "world" spoken when the period is pressed.
+# - sentence echo: "Hello world" spoken when the period
+# is pressed.
+# A user can choose to have no echo, one type of echo, or multiple types of
+# echo and can cycle through the various levels quickly via a command. The
+# following string is a brief message which will be presented to the user who
+# is cycling amongst the various echo options.
+KEY_ECHO_SENTENCE_BRIEF = C_("key echo", "sentence")
+
+# Translators: Orca has an "echo" setting which allows the user to configure
+# what is spoken in response to a key press. Given a user who typed "Hello
+# world.":
+# - key echo: "H e l l o space w o r l d period"
+# - word echo: "Hello" spoken when the space is pressed;
+# "world" spoken when the period is pressed.
+# - sentence echo: "Hello world" spoken when the period
+# is pressed.
+# A user can choose to have no echo, one type of echo, or multiple types of
+# echo and can cycle through the various levels quickly via a command.
+KEY_ECHO_SENTENCE_FULL = _("Key echo set to sentence.")
+
+# Translators: Orca has an "echo" setting which allows the user to configure
+# what is spoken in response to a key press. Given a user who typed "Hello
+# world.":
+# - key echo: "H e l l o space w o r l d period"
+# - word echo: "Hello" spoken when the space is pressed;
+# "world" spoken when the period is pressed.
+# - sentence echo: "Hello world" spoken when the period
+# is pressed.
+# A user can choose to have no echo, one type of echo, or multiple types of
+# echo and can cycle through the various levels quickly via a command. The
+# following string is a brief message which will be presented to the user who
+# is cycling amongst the various echo options.
+KEY_ECHO_WORD_BRIEF = C_("key echo", "word")
+
+# Translators: Orca has an "echo" setting which allows the user to configure
+# what is spoken in response to a key press. Given a user who typed "Hello
+# world.":
+# - key echo: "H e l l o space w o r l d period"
+# - word echo: "Hello" spoken when the space is pressed;
+# "world" spoken when the period is pressed.
+# - sentence echo: "Hello world" spoken when the period
+# is pressed.
+# A user can choose to have no echo, one type of echo, or multiple types of
+# echo and can cycle through the various levels quickly via a command.
+KEY_ECHO_WORD_FULL = _("Key echo set to word.")
+
+# Translators: Orca has an "echo" setting which allows the user to configure
+# what is spoken in response to a key press. Given a user who typed "Hello
+# world.":
+# - key echo: "H e l l o space w o r l d period"
+# - word echo: "Hello" spoken when the space is pressed;
+# "world" spoken when the period is pressed.
+# - sentence echo: "Hello world" spoken when the period
+# is pressed.
+# A user can choose to have no echo, one type of echo, or multiple types of
+# echo and can cycle through the various levels quickly via a command. The
+# following string is a brief message which will be presented to the user who
+# is cycling amongst the various echo options.
+KEY_ECHO_WORD_AND_SENTENCE_BRIEF = C_("key echo", "word and sentence")
+
+# Translators: Orca has an "echo" setting which allows the user to configure
+# what is spoken in response to a key press. Given a user who typed "Hello
+# world.":
+# - key echo: "H e l l o space w o r l d period"
+# - word echo: "Hello" spoken when the space is pressed;
+# "world" spoken when the period is pressed.
+# - sentence echo: "Hello world" spoken when the period
+# is pressed.
+# A user can choose to have no echo, one type of echo, or multiple types of
+# echo and can cycle through the various levels quickly via a command.
+KEY_ECHO_WORD_AND_SENTENCE_FULL = _("Key echo set to word and sentence.")
+
+# Translators: This brief message indicates that indentation and
+# justification will be spoken.
+INDENTATION_JUSTIFICATION_OFF_BRIEF = \
+ C_("indentation and justification", "Disabled")
+
+# Translators: This detailed message indicates that indentation and
+# justification will not be spoken.
+INDENTATION_JUSTIFICATION_OFF_FULL = \
+ _("Speaking of indentation and justification disabled.")
+
+# Translators: This brief message indicates that indentation and
+# justification will be spoken.
+INDENTATION_JUSTIFICATION_ON_BRIEF = \
+ C_("indentation and justification", "Enabled")
+
+# Translators: This detailed message indicates that indentation and
+# justification will be spoken.
+INDENTATION_JUSTIFICATION_ON_FULL = \
+ _("Speaking of indentation and justification enabled.")
+
+# Translators: Orca has a "Learn Mode" that will allow the user to type any key
+# on the keyboard and hear what the effects of that key would be. The effects
+# might be what Orca would do if it had a handler for the particular key
+# combination, or they might just be to echo the name of the key if Orca doesn't
+# have a handler. This message is what is presented on the braille display when
+# entering Learn Mode.
+LEARN_MODE_START_BRAILLE = _("Learn mode. Press escape to exit.")
+
+# Translators: Orca has a "Learn Mode" that will allow the user to type any key
+# on the keyboard and hear what the effects of that key would be. The effects
+# might be what Orca would do if it had a handler for the particular key
+# combination, or they might just be to echo the name of the key if Orca doesn't
+# have a handler. This message is what is spoken to the user when entering Learn
+# Mode.
+LEARN_MODE_START_SPEECH = \
+ _("Entering learn mode. Press any key to hear its function. " \
+ "To get a list of Orca shortcuts, press the Orca modifier " \
+ "plus H twice quickly. To view the documentation, press F1. " \
+ "To exit learn mode, press the escape key.")
+
+# Translators: Orca has a "Learn Mode" that will allow the user to type any key
+# on the keyboard and hear what the effects of that key would be. The effects
+# might be what Orca would do if it had a handler for the particular key
+# combination, or they might just be to echo the name of the key if Orca doesn't
+# have a handler. This message is what is presented in speech and braille when
+# exiting Learn Mode.
+LEARN_MODE_STOP = _("Exiting learn mode.")
+
+# Translators: when the user selects (highlights) or unselects text in a
+# document, Orca will speak information about what they have selected or
+# unselected. This message is presented when the user selects from the
+# current location to the start of the line by pressing Ctrl+Shift+Page_Up.
+LINE_SELECTED_LEFT = _("line selected from start to previous cursor position")
+
+# Translators: when the user selects (highlights) or unselects text in a
+# document, Orca will speak information about what they have selected or
+# unselected. This message is presented when the user selects from the
+# current location to the end of the line by pressing Ctrl+Shift+Page_Down.
+LINE_SELECTED_RIGHT = _("line selected to end from previous cursor position")
+
+# Translators: this indicates that this piece of text is a hypertext link.
+LINK = _("link")
+
+# Translators: The following string instructs the user how to navigate amongst
+# the list of commands presented in 'list shortcuts' mode as well as how to exit
+# the list when finished.
+LIST_SHORTCUTS_MODE_NAVIGATION = \
+ _("Use Up and Down Arrow to navigate the list. Press Escape to exit.")
+
+# Translators: This message is presented when the user is in 'list shortcuts'
+# mode. This is the message we present when the user requested a list of
+# application-specific shortcuts, but none could be found for that application.
+LIST_SHORTCUTS_MODE_NO_RESULTS = _("No Orca shortcuts for %s found.")
+
+# Translators: Orca has a 'List Shortcuts' mode by which a user can navigate
+# through a list of the bound commands in Orca. This is the message that is
+# presented to the user as confirmation that this mode has been entered.
+LIST_SHORTCUTS_MODE_START = _("List shortcuts mode.")
+
+# Translators: Orca has a 'List Shortcuts' mode by which a user can navigate
+# through a list of the bound commands in Orca. This is the message that is
+# presented to the user as confirmation that this mode has been exited.
+LIST_SHORTCUTS_MODE_STOP = _("Exiting list shortcuts mode.")
+
+# Translators: Orca has a 'List Shortcuts' mode by which a user can navigate
+# through a list of the bound commands in Orca. Pressing 1 presents the
+# commands/shortcuts available for all applications. These are the "default"
+# commands/shortcuts. Pressing 2 presents commands/shortcuts Orca provides for
+# the application with focus. The following message is presented to the user
+# upon entering this mode.
+LIST_SHORTCUTS_MODE_TUTORIAL = \
+ _("Press 1 for Orca's default shortcuts. Press 2 for " \
+ "Orca's shortcuts for the current application. " \
+ "Press escape to exit.")
+
+# Translators: A live region is an area of a web page that is periodically
+# updated, e.g. stock ticker. http://www.w3.org/TR/wai-aria/terms#def_liveregion
+# Orca has several features to facilitate accessing live regions. This message
+# is presented to inform the user that Orca's live region features have been
+# turned off.
+LIVE_REGIONS_OFF = _("Live region support is off")
+
+# Translators: Orca has a command that allows the user to move the mouse pointer
+# to the current object. This is a brief message which will be presented if for
+# some reason Orca cannot identify/find the current location.
+LOCATION_NOT_FOUND_BRIEF = C_("location", "Not found")
+
+# Translators: Orca has a command that allows the user to move the mouse pointer
+# to the current object. This is a detailed message which will be presented if
+# for some reason Orca cannot identify/find the current location.
+LOCATION_NOT_FOUND_FULL = _("Could not find current location.")
+
+# Translators: This is to inform the user of the presence of the red squiggly
+# line which indicates that a given word is not spelled correctly.
+MISSPELLED = _("misspelled")
+
+# Translators: Orca tries to provide more compelling output of the spell check
+# dialog in some applications. The first thing it does is let the user know
+# what the misspelled word is.
+MISSPELLED_WORD = _("Misspelled word: %s")
+
+# Translators: Orca tries to provide more compelling output of the spell check
+# dialog in some applications. The second thing it does is give the phrase
+# containing the misspelled word in the document. This is known as the context.
+MISSPELLED_WORD_CONTEXT = _("Context is %s")
+
+# Translators: Orca has a command that presents a list of structural navigation
+# objects in a dialog box so that users can navigate more quickly than they
+# could with native keyboard navigation. This is a message that will be
+# presented to the user when an error (such as the operation timing out) kept us
+# from getting these objects.
+NAVIGATION_DIALOG_ERROR = _("Error: Could not create list of objects.")
+
+# Translators: This is for navigating document content by moving from anchor to
+# anchor. (An anchor is a named spot that one can jump to.) This is a detailed
+# message which will be presented to the user if no more anchors can be found.
+NO_MORE_ANCHORS = _("No more anchors.")
+
+# Translators: This is for navigating document content by moving from blockquote
+# to blockquote. This is a detailed message which will be presented to the user
+# if no more blockquotes can be found.
+NO_MORE_BLOCKQUOTES = _("No more blockquotes.")
+
+# Translators: This is for navigating document content by moving from button
+# to button. This is a detailed message which will be presented to the user
+# if no more buttons can be found.
+NO_MORE_BUTTONS = _("No more buttons.")
+
+# Translators: This is for navigating document content by moving from check
+# box to check box. This is a detailed message which will be presented to the
+# user if no more check boxes can be found.
+NO_MORE_CHECK_BOXES = _("No more check boxes.")
+
+# Translators: This is for navigating document content by moving from 'large
+# object' to 'large object'. A 'large object' is a logical chunk of text,
+# such as a paragraph, a list, a table, etc. This is a detailed message which
+# will be presented to the user if no more check boxes can be found.
+NO_MORE_CHUNKS = _("No more large objects.")
+
+# Translators: This is for navigating document content by moving from combo
+# box to combo box. This is a detailed message which will be presented to the
+# user if no more combo boxes can be found.
+NO_MORE_COMBO_BOXES = _("No more combo boxes.")
+
+# Translators: This is for navigating document content by moving from entry
+# to entry. This is a detailed message which will be presented to the user
+# if no more entries can be found.
+NO_MORE_ENTRIES = _("No more entries.")
+
+# Translators: This is for navigating document content by moving from form
+# field to form field. This is a detailed message which will be presented to
+# the user if no more form fields can be found.
+NO_MORE_FORM_FIELDS = _("No more form fields.")
+
+# Translators: This is for navigating document content by moving from heading
+# to heading. This is a detailed message which will be presented to the user
+# if no more headings can be found.
+NO_MORE_HEADINGS = _("No more headings.")
+
+# Translators: This is for navigating document content by moving from heading
+# to heading at a particular level (i.e. only <h1> or only <h2>, etc.). This
+# is a detailed message which will be presented to the user if no more headings
+# at the desired level can be found.
+NO_MORE_HEADINGS_AT_LEVEL = _("No more headings at level %d.")
+
+# Translators: this is for navigating to the previous ARIA role landmark.
+# ARIA role landmarks are the W3C defined HTML tag attribute 'role' used to
+# identify important part of webpage like banners, main context, search etc.
+# This is an indication that one was not found.
+NO_LANDMARK_FOUND = _("No landmark found.")
+
+# Translators: This is for navigating document content by moving from link to
+# link (regardless of visited state). This is a detailed message which will be
+# presented to the user if no more links can be found.
+NO_MORE_LINKS = _("No more links.")
+
+# Translators: This is for navigating document content by moving from bulleted/
+# numbered list to bulleted/numbered list. This is a detailed message which will
+# be presented to the user if no more lists can be found.
+NO_MORE_LISTS = _("No more lists.")
+
+# Translators: This is for navigating document content by moving from bulleted/
+# numbered list item to bulleted/numbered list item. This is a detailed message
+# which will be presented to the user if no more list items can be found.
+NO_MORE_LIST_ITEMS = _("No more list items.")
+
+# Translators: This is for navigating document content by moving from live
+# region to live region. A live region is an area of a web page that is
+# periodically updated, e.g. stock ticker. This is a detailed message which
+# will be presented to the user if no more live regions can be found. For
+# more info, see http://www.w3.org/TR/wai-aria/terms#def_liveregion
+NO_MORE_LIVE_REGIONS = _("No more live regions.")
+
+# Translators: This is for navigating document content by moving from paragraph
+# to paragraph. This is a detailed message which will be presented to the user
+# if no more paragraphs can be found.
+NO_MORE_PARAGRAPHS = _("No more paragraphs.")
+
+# Translators: This is for navigating document content by moving from radio
+# button to radio button. This is a detailed message which will be presented to
+# the user if no more radio buttons can be found.
+NO_MORE_RADIO_BUTTONS = _("No more radio buttons.")
+
+# Translators: This is for navigating document content by moving from separator
+# to separator (e.g. <hr> tags). This is a detailed message which will be
+# presented to the user if no more separators can be found.
+NO_MORE_SEPARATORS = _("No more separators.")
+
+# Translators: This is for navigating document content by moving from table to
+# to table. This is a detailed message which will be presented to the user if
+# no more tables can be found.
+NO_MORE_TABLES = _("No more tables.")
+
+# Translators: This is for navigating document content by moving from unvisited
+# link to unvisited link. This is a detailed message which will be presented to
+# the user if no more unvisited links can be found.
+NO_MORE_UNVISITED_LINKS = _("No more unvisited links.")
+
+# Translators: This is for navigating document content by moving from visited
+# link to visited link. This is a detailed message which will be presented to
+# the user if no more visited links can be found.
+NO_MORE_VISITED_LINKS = _("No more visited links.")
+
+# Translators: when the user selects (highlights) or unselects text in a
+# document, Orca will speak information about what they have selected or
+# unselected. This message is presented when the user selects from the
+# current location to the end of the page by pressing Shift+Page_Down.
+PAGE_SELECTED_DOWN = _("page selected from cursor position")
+
+# Translators: when the user selects (highlights) or unselects text in a
+# document, Orca will speak information about what they have selected or
+# unselected. This message is presented when the user selects from the
+# current location to the start of the page by pressing Shift+Page_Up.
+PAGE_SELECTED_UP = _("page selected to cursor position")
+
+# Translators: when the user selects (highlights) or unselects text in a
+# document, Orca will speak information about what they have selected or
+# unselected. This message is presented when the user unselects a previously
+# selected page by pressing Shift+Page_Down.
+PAGE_UNSELECTED_DOWN = _("page unselected from cursor position")
+
+# Translators: when the user selects (highlights) or unselects text in a
+# document, Orca will speak information about what they have selected or
+# unselected. This message is presented when the user unselects a previously
+# selected page by pressing Shift+Page_Up.
+PAGE_UNSELECTED_UP = _("page unselected to cursor position")
+
+# Translators: when the user selects (highlights) or unselects text in a
+# document, Orca will speak information about what they have selected or
+# unselected. This message is presented when the user selects from the
+# current location to the end of the paragraph by pressing Ctrl+Shift+Down.
+PARAGRAPH_SELECTED_DOWN = _("paragraph selected down from cursor position")
+
+# Translators: when the user selects (highlights) or unselects text in a
+# document, Orca will speak information about what they have selected or
+# unselected. This message is presented when the user selects from the
+# current location to the start of the paragraph by pressing Ctrl+Shift+UP.
+PARAGRAPH_SELECTED_UP = _("paragraph selected up from cursor position")
+
+# Translators: when the user selects (highlights) or unselects text in a
+# document, Orca will speak information about what they have selected or
+# unselected. This message is presented when the user unselects previously
+# selected text from the current location to the end of the paragraph by
+# pressing Ctrl+Shift+Down.
+PARAGRAPH_UNSELECTED_DOWN = _("paragraph unselected down from cursor position")
+
+# Translators: when the user selects (highlights) or unselects text in a
+# document, Orca will speak information about what they have selected or
+# unselected. This message is presented when the user unselects previously
+# selected text from the current location to the start of the paragraph by
+# pressing Ctrl+Shift+UP.
+PARAGRAPH_UNSELECTED_UP = _("paragraph unselected up from cursor position")
+
+# Translators: This is a detailed message which will be presented as the user
+# cycles amongst his/her saved profiles. A "profile" is a collection of settings
+# which apply to a given task, such as a "Spanish" profile which would use
+# Spanish text-to-speech and Spanish braille and selected when reading Spanish
+# content. The string representing the profile name is created by the user.
+PROFILE_CHANGED = _("Profile set to %s.")
+
+# Translators: This is an error message presented when the user attempts to
+# cycle among his/her saved profiles, but no profiles can be found. A profile
+# is a collection of settings which apply to a given task, such as a "Spanish"
+# profile which would use Spanish text-to-speech and Spanish braille and
+# selected when reading Spanish content.
+PROFILE_NOT_FOUND = _("No profiles found.")
+
+# Translators: this is an index value so that we can present value changes
+# regarding a specific progress bar in environments where there are multiple
+# progress bars (e.g. in the Firefox downloads dialog).
+PROGRESS_BAR_NUMBER = _("Progress bar %d.")
+
+# Translators: This brief message will be presented as the user cycles
+# through the different levels of spoken punctuation. The options are:
+# All puntuation marks will be spoken, None will be spoken, Most will be
+# spoken, or Some will be spoken.
+PUNCTUATION_ALL_BRIEF = C_("spoken punctuation", "All")
+
+# Translators: This detailed message will be presented as the user cycles
+# through the different levels of spoken punctuation. The options are:
+# All puntuation marks will be spoken, None will be spoken, Most will be
+# spoken, or Some will be spoken.
+PUNCTUATION_ALL_FULL = _("Punctuation level set to all.")
+
+# Translators: This brief message will be presented as the user cycles
+# through the different levels of spoken punctuation. The options are:
+# All puntuation marks will be spoken, None will be spoken, Most will be
+# spoken, or Some will be spoken.
+PUNCTUATION_MOST_BRIEF = C_("spoken punctuation", "Most")
+
+# Translators: This detailed message will be presented as the user cycles
+# through the different levels of spoken punctuation. The options are:
+# All puntuation marks will be spoken, None will be spoken, Most will be
+# spoken, or Some will be spoken.
+PUNCTUATION_MOST_FULL = _("Punctuation level set to most.")
+
+# Translators: This brief message will be presented as the user cycles
+# through the different levels of spoken punctuation. The options are:
+# All puntuation marks will be spoken, None will be spoken, Most will be
+# spoken, or Some will be spoken.
+PUNCTUATION_NONE_BRIEF = C_("spoken punctuation", "None")
+
+# Translators: This detailed message will be presented as the user cycles
+# through the different levels of spoken punctuation. The options are:
+# All puntuation marks will be spoken, None will be spoken, Most will be
+# spoken, or Some will be spoken.
+PUNCTUATION_NONE_FULL = _("Punctuation level set to none.")
+
+# Translators: This brief message will be presented as the user cycles
+# through the different levels of spoken punctuation. The options are:
+# All puntuation marks will be spoken, None will be spoken, Most will be
+# spoken, or Some will be spoken.
+PUNCTUATION_SOME_BRIEF = C_("spoken punctuation", "Some")
+
+# Translators: This detailed message will be presented as the user cycles
+# through the different levels of spoken punctuation. The options are:
+# All puntuation marks will be spoken, None will be spoken, Most will be
+# spoken, or Some will be spoken.
+PUNCTUATION_SOME_FULL = _("Punctuation level set to some.")
+
+# Translators: This message is presented to the user when Orca's preferences
+# have been reloaded.
+SETTINGS_RELOADED = _("Orca user settings reloaded.")
+
+# Translators: This message is presented to the user when speech synthesis
+# has been temporarily turned off.
+SPEECH_DISABLED = _("Speech disabled.")
+
+# Translators: This message is presented to the user when speech synthesis
+# has been turned back on.
+SPEECH_ENABLED = _("Speech enabled.")
+
+# Translators: This string announces speech rate change.
+SPEECH_FASTER = _("faster.")
+
+# Translators: This string announces speech rate change.
+SPEECH_SLOWER = _("slower.")
+
+# Translators: This string announces speech pitch change.
+SPEECH_HIGHER = _("higher.")
+
+# Translators: This string announces speech pitch change.
+SPEECH_LOWER = _("lower.")
+
+# Translators: This message is presented to the user when Orca is launched.
+START_ORCA = _("Welcome to Orca.")
+
+# Translators: This message is presented to the user when Orca is quit.
+STOP_ORCA = _("Goodbye.")
+
+# Translators: the Orca "Find" dialog allows a user to search for text in a
+# window and then move focus to that text. For example, they may want to find
+# the "OK" button. This message lets them know a string they were searching
+# for was not found.
+STRING_NOT_FOUND = _("string not found")
+
+# Translators: The structural navigation keys are designed to move the caret
+# around document content by object type. H moves you to the next heading,
+# Shift H to the previous heading, T to the next table, and so on. Some users
+# prefer to turn this off to use Firefox's search when typing feature. This
+# message is presented when the user toggles the structural navigation feature
+# of Orca. It should be a brief informative message.
+STRUCTURAL_NAVIGATION_KEYS_OFF = _("Structural navigation keys off.")
+
+# Translators: The structural navigation keys are designed to move the caret
+# around document content by object type. H moves you to the next heading,
+# Shift H to the previous heading, T to the next table, and so on. Some users
+# prefer to turn this off to use Firefox's search when typing feature. This
+# message is presented when the user toggles the structural navigation feature
+# of Orca. It should be a brief informative message.
+STRUCTURAL_NAVIGATION_KEYS_ON = _("Structural navigation keys on.")
+
+# Translators: Orca has a command that allows the user to move to the next
+# structural navigation object. In Orca, "structural navigation" refers to
+# quickly moving through a document by jumping amongst objects of a given
+# type, such as from link to link, or from heading to heading, or from form
+# field to form field. This is a brief message which will be presented to the
+# user if the desired structural navigation object could not be found.
+STRUCTURAL_NAVIGATION_NOT_FOUND = C_("structural navigation", "Not found")
+
+# Translators: When users are navigating a table, they sometimes want the entire
+# row of a table read; other times they want just the current cell presented.
+# This string is a message presented to the user when this setting is toggled.
+TABLE_MODE_CELL = _("Speak cell")
+
+# Translators: When users are navigating a table, they sometimes want the entire
+# row of a table read; other times they want just the current cell presented.
+# This string is a message presented to the user when this setting is toggled.
+TABLE_MODE_ROW = _("Speak row")
+
+# Translators: This is for navigating document content by moving from table cell
+# to table cell. If the user gives a table navigation command but is not in a
+# table, presents this message.
+TABLE_NOT_IN_A = _("Not in a table.")
+
+# Translators: This is a message presented to users when the columns in a table
+# have been reordered.
+TABLE_REORDERED_COLUMNS = _("Columns reordered")
+
+# Translators: This is a message presented to users when the rows in a table
+# have been reordered.
+TABLE_REORDERED_ROWS = _("Rows reordered")
+
+# Translators: This is for navigating document content by moving from table cell
+# to table cell. This is the message presented when the user attempts to move to
+# the cell below the current cell and is already in the last row.
+TABLE_COLUMN_BOTTOM = _("Bottom of column.")
+
+# Translators: This is for navigating document content by moving from table cell
+# to table cell. This is the message presented when the user attempts to move to
+# the cell above the current cell and is already in the first row.
+TABLE_COLUMN_TOP = _("Top of column.")
+
+# Translators: This is for navigating document content by moving from table cell
+# to table cell. This is the message presented when the user attempts to move to
+# the left of the current cell and is already in the first column.
+TABLE_ROW_BEGINNING = _("Beginning of row.")
+
+# Translators: This is for navigating document content by moving from table cell
+# to table cell. This is the message presented when the user attempts to move to
+# the right of the current cell and is already in the last column.
+TABLE_ROW_END = _("End of row.")
+
+# Translators: This message is presented to the user to confirm that he/she just
+# deleted a table row.
+TABLE_ROW_DELETED = _("Row deleted.")
+
+# Translators: This message is presented to the user to confirm that he/she just
+# deleted the last row of a table.
+TABLE_ROW_DELETED_FROM_END = _("Last row deleted.")
+
+# Translators: This message is presented to the user to confirm that he/she just
+# inserted a table row.
+TABLE_ROW_INSERTED = _("Row inserted.")
+
+# Translators: This message is presented to the user to confirm that he/she just
+# inserted a table row at the end of the table. This typically happens when the
+# user presses Tab from within the last cell of the table.
+TABLE_ROW_INSERTED_AT_END = _("Row inserted at the end of the table.")
+
+# Translators: when the user selects (highlights) text in a document, Orca lets
+# them know.
+TEXT_SELECTED = C_("text", "selected")
+
+# Translators: when the user unselects (un-highlights) text in a document, Orca
+# lets them know.
+TEXT_UNSELECTED = C_("text", "unselected")
+
+# Translators: this is information about a unicode character reported to the
+# user. The value is the unicode number value of this character in hex.
+UNICODE = _("Unicode %s")
+
+# Translators: This message presents the Orca version number.
+VERSION = _("Orca version %s.") % version
+
+# Translators: This is presented when the user has navigated to a line with only
+# whitespace characters (space, tab, etc.) on it.
+WHITE_SPACE = _("white space")
+
+# Translators: when the user is attempting to locate a particular object and the
+# top of a page or list is reached without that object being found, we "wrap" to
+# the bottom and continue looking upwards. We need to inform the user when this
+# is taking place.
+WRAPPING_TO_BOTTOM = _("Wrapping to bottom.")
+
+# Translators: when the user is attempting to locate a particular object and the
+# bottom of a page or list is reached without that object being found, we "wrap"
+# to the top and continue looking downwards. We need to inform the user when
+# this is taking place.
+WRAPPING_TO_TOP = _("Wrapping to top.")
diff --git a/src/orca/orca.py b/src/orca/orca.py
index 3b210df..cbd1da6 100644
--- a/src/orca/orca.py
+++ b/src/orca/orca.py
@@ -60,6 +60,7 @@ except:
from . import braille
from . import debug
from . import event_manager
+from . import messages
from . import notification_messages
from . import orca_state
from . import script_manager
@@ -68,7 +69,6 @@ from . import settings_manager
from . import speech
from .input_event import BrailleEvent
from .input_event import KeyboardEvent
-from .orca_i18n import _
from .orca_i18n import ngettext
_eventManager = event_manager.getManager()
@@ -430,12 +430,8 @@ def loadUserSettings(script=None, inputEvent=None, skipReloadMessage=False):
try:
speech.init()
if reloaded and not skipReloadMessage:
- # Translators: there is a keystroke to reload the user
- # preferences. This is a spoken prompt to let the user
- # know when the preferences has been reloaded.
- #
- msg = _("Orca user settings reloaded.")
- speech.speak(msg, settings.voices.get(settings.SYSTEM_VOICE))
+ speech.speak(messages.SETTINGS_RELOADED,
+ settings.voices.get(settings.SYSTEM_VOICE))
debug.println(debug.LEVEL_CONFIGURATION,
"Speech module has been initialized.")
except:
@@ -541,13 +537,7 @@ def listShortcuts(event):
consumed = False
message = ""
- # Translators: The following string instructs the user how to navigate
- # amongst the list of commands presented in 'list shortcuts' mode as
- # well as how to exit the list when finished.
- #
- navigation = \
- _("Use Up and Down Arrow to navigate the list. Press Escape to exit.")
-
+ navigation = messages.LIST_SHORTCUTS_MODE_NAVIGATION
if event.type == pyatspi.KEY_PRESSED_EVENT:
if (event.event_string == "1"):
if not numShortcuts or orca_state.typeOfShortcuts != "default":
@@ -594,13 +584,8 @@ def listShortcuts(event):
orca_state.activeScript.speakMessage(message)
orca_state.activeScript.displayBrailleMessage(message, -1, -1)
else:
- # Translators: This message is presented when the user is in
- # 'list of shortcuts mode'. This is the message we present
- # when the user requested a list of application-specific
- # shortcuts, but none could be found for that application.
- #
- message = _("No Orca shortcuts for %s found.") % \
- (orca_state.activeScript.app.name)
+ message = messages.LIST_SHORTCUTS_MODE_NO_RESULTS % \
+ orca_state.activeScript.app.name
orca_state.activeScript.speakMessage(message)
orca_state.activeScript.displayBrailleMessage(message, -1, -1)
consumed = True
@@ -609,16 +594,9 @@ def listShortcuts(event):
if orca_state.ptrToShortcut > 0:
orca_state.ptrToShortcut = orca_state.ptrToShortcut-1
else:
- orca_state.ptrToShortcut = numShortcuts-1
- # Translators: when the user is attempting to locate a
- # particular object and the top of a page or list is
- # reached without that object being found, we "wrap" to
- # the bottom and continue looking upwards. We need to
- # inform the user when this is taking place.
- #
- orca_state.activeScript.\
- presentMessage(_("Wrapping to bottom."))
-
+ orca_state.ptrToShortcut = numShortcuts-1
+ orca_state.activeScript.presentMessage(
+ messages.WRAPPING_TO_BOTTOM)
message = \
orca_state.listOfShortcuts[orca_state.ptrToShortcut][0] + \
" " + orca_state.listOfShortcuts[orca_state.ptrToShortcut][1]
@@ -631,14 +609,7 @@ def listShortcuts(event):
orca_state.ptrToShortcut = orca_state.ptrToShortcut+1
else:
orca_state.ptrToShortcut = 0
- # Translators: when the user is attempting to locate a
- # particular object and the bottom of a page or list is
- # reached without that object being found, we "wrap" to the
- # top and continue looking downwards. We need to inform the
- # user when this is taking place.
- #
- orca_state.activeScript.\
- presentMessage(_("Wrapping to top."))
+ orca_state.activeScript.presentMessage(messages.WRAPPING_TO_TOP)
message = \
orca_state.listOfShortcuts[orca_state.ptrToShortcut][0] + \
" " + orca_state.listOfShortcuts[orca_state.ptrToShortcut][1]
@@ -649,17 +620,7 @@ def listShortcuts(event):
orca_state.activeScript.exitListShortcutsMode(event)
consumed = True
else:
- # Translators: Orca has a 'List Shortcuts' mode by which a user can
- # navigate through a list of the bound commands in Orca. Pressing 1
- # presents the commands/shortcuts available for all applications.
- # These are the "default" commands/shortcuts. Pressing 2 presents
- # commands/shortcuts Orca provides for the application with focus.
- # The following message is presented to the user upon entering this
- # mode.
- #
- message = _("Press 1 for Orca's default shortcuts. Press 2 for " \
- "Orca's shortcuts for the current application. " \
- "Press escape to exit.")
+ message = messages.LIST_SHORTCUTS_MODE_TUTORIAL
orca_state.activeScript.speakMessage(message)
orca_state.activeScript.displayBrailleMessage(message, -1, -1)
consumed = True
@@ -820,9 +781,7 @@ def shutdown(script=None, inputEvent=None):
signal.signal(signal.SIGALRM, settings.timeoutCallback)
signal.alarm(settings.timeoutTime)
- # Translators: this is what Orca speaks and brailles when it quits.
- #
- orca_state.activeScript.presentMessage(_("Goodbye."))
+ orca_state.activeScript.presentMessage(messages.STOP_ORCA)
_eventManager.deactivate()
_scriptManager.deactivate()
@@ -950,7 +909,7 @@ def main():
init(pyatspi.Registry)
try:
- message = _("Welcome to Orca.")
+ message = messages.START_ORCA
if not _settingsManager.getSetting('onlySpeakDisplayedText'):
speech.speak(message, settings.voices.get(settings.SYSTEM_VOICE))
braille.displayMessage(message)
diff --git a/src/orca/orca_i18n.py.in b/src/orca/orca_i18n.py.in
index 3c54e77..b71787e 100644
--- a/src/orca/orca_i18n.py.in
+++ b/src/orca/orca_i18n.py.in
@@ -32,6 +32,7 @@ import sys
#
_ = gettext.gettext
ngettext = gettext.ngettext
+cgettext = gettext.gettext
# Tell gettext where to find localized strings.
#
@@ -47,22 +48,24 @@ gettext.textdomain("orca")
def C_(ctx, s):
"""Provide qualified translatable strings via context."""
- translated = gettext.gettext('%s\x04%s' % (ctx, s))
+ translated = cgettext('%s\x04%s' % (ctx, s))
if '\x04' in translated:
# no translation found, return input string
return s
return translated
def setModuleLocale(moduleName, newLocale=None):
- global _, ngettext
+ global _, ngettext, cgettext
if not newLocale:
_ = gettext.gettext
ngettext = gettext.ngettext
+ cgettext = gettext.gettext
else:
- translation = gettext.translation('orca', languages=[newLocale])
+ translation = gettext.translation('orca', localedir, languages=[newLocale])
_ = translation.gettext
ngettext = translation.ngettext
+ cgettext = translation.gettext
module = sys.modules.get(moduleName)
if module:
diff --git a/src/orca/scripts/apps/soffice/script.py b/src/orca/scripts/apps/soffice/script.py
index 142c9a1..9421e34 100644
--- a/src/orca/scripts/apps/soffice/script.py
+++ b/src/orca/scripts/apps/soffice/script.py
@@ -44,6 +44,7 @@ import orca.debug as debug
import orca.scripts.default as default
import orca.keybindings as keybindings
import orca.input_event as input_event
+import orca.messages as messages
import orca.orca as orca
import orca.orca_state as orca_state
import orca.speech as speech
@@ -875,10 +876,7 @@ class Script(default.Script):
inputLine = \
self.utilities.substring(self.inputLineForCell, 0, -1)
if not inputLine:
- # Translators: this is used to announce that the
- # current input line in a spreadsheet is blank/empty.
- #
- inputLine = _("empty")
+ inputLine = messages.EMPTY
debug.println(self.debugLevel,
"StarOffice.speakInputLine: contents: %s" % inputLine)
self.displayBrailleMessage(inputLine, \
@@ -955,10 +953,7 @@ class Script(default.Script):
if table:
row = self.getTableRow(orca_state.locusOfFocus)
self.dynamicColumnHeaders[hash(table)] = row
- # Translators: Orca allows you to dynamically define which
- # row of a spreadsheet or table counts as column headers.
- #
- line = _("Dynamic column header set for row %d") % (row+1)
+ line = messages.DYNAMIC_COLUMN_HEADER_SET % (row+1)
self.presentMessage(line)
return True
@@ -977,10 +972,7 @@ class Script(default.Script):
row = self.getTableRow(orca_state.locusOfFocus)
try:
del self.dynamicColumnHeaders[hash(table)]
- # Translators: Orca allows you to dynamically define which
- # row of a spreadsheet or table counts as column headers.
- #
- line = _("Dynamic column header cleared.")
+ line = messages.DYNAMIC_COLUMN_HEADER_CLEARED
speech.stop()
self.presentMessage(line)
except:
@@ -1029,11 +1021,7 @@ class Script(default.Script):
if table:
column = self.getTableColumn(orca_state.locusOfFocus)
self.dynamicRowHeaders[hash(table)] = column
- # Translators: Orca allows you to dynamically define which
- # column of a spreadsheet or table counts as row headers.
- #
- line = _("Dynamic row header set for column %s") \
- % self.columnConvert(column+1)
+ line = messages.DYNAMIC_ROW_HEADER_SET % self.columnConvert(column+1)
self.presentMessage(line)
return True
@@ -1052,10 +1040,7 @@ class Script(default.Script):
column = self.getTableColumn(orca_state.locusOfFocus)
try:
del self.dynamicRowHeaders[hash(table)]
- # Translators: Orca allows you to dynamically define which
- # column of a spreadsheet or table counts as row headers.
- #
- line = _("Dynamic row header cleared.")
+ line = messages.DYNAMIC_ROW_HEADER_CLEARED
speech.stop()
self.presentMessage(line)
except:
@@ -1333,10 +1318,7 @@ class Script(default.Script):
"""
if not textToSpeak and event and self.speakBlankLine(event.source):
- # Translators: "blank" is a short word to mean the
- # user has navigated to an empty line.
- #
- speech.speak(_("blank"), None, False)
+ speech.speak(messages.BLANK, None, False)
# Check to see if there are any hypertext links in this paragraph.
# If no, then just speak the whole line. Otherwise, split the text
@@ -1938,25 +1920,11 @@ class Script(default.Script):
fullMessage = briefMessage = ""
voice = self.voices.get(settings.SYSTEM_VOICE)
if activeRow == itable.nRows:
- # Translators: This message is to inform the user that
- # the last row of a table in a document was just deleted.
- #
- fullMessage = _("Last row deleted.")
- # Translators: This message is to inform the user that
- # a row in a table was just deleted.
- #
- briefMessage = _("Row deleted.")
+ fullMessage = messages.TABLE_ROW_DELETED_FROM_END
+ briefMessage = messages.TABLE_ROW_DELETED
else:
- # Translators: This message is to inform the user that a
- # new table row was inserted at the end of the existing
- # table. This typically happens when the user presses Tab
- # from within the last cell of the table.
- #
- fullMessage = _("Row inserted at the end of the table.")
- # Translators: This message is to inform the user that
- # a row in a table was just inserted.
- #
- briefMessage = _("Row inserted.")
+ fullMessage = messages.TABLE_ROW_INSERTED_AT_END
+ briefMessage = messages.TABLE_ROW_INSERTED
if fullMessage:
self.presentMessage(fullMessage, briefMessage, voice)
@@ -2128,12 +2096,7 @@ class Script(default.Script):
self.inputLineForCell, 0, -1)
if inputLine and (len(inputLine) > 1) \
and (inputLine[0] == "="):
- # Translators: this means a
- # particular cell in a spreadsheet
- # has a formula
- # (e.g., "=sum(a1:d1)")
- #
- hf = _("has formula")
+ hf = messages.HAS_FORMULA
speech.speak(" %s" % hf,
None, False)
self.presentItemsInBraille([hf])
@@ -2154,9 +2117,7 @@ class Script(default.Script):
- name: the name of the cell
"""
- # Translators: this is the name of a cell in a spreadsheet.
- #
- line = _("Cell %s") % name
+ line = messages.CELL % name
speech.speak(line)
def onCaretMoved(self, event):
diff --git a/src/orca/scripts/apps/soffice/structural_navigation.py
b/src/orca/scripts/apps/soffice/structural_navigation.py
index 48b0297..b7dc80f 100644
--- a/src/orca/scripts/apps/soffice/structural_navigation.py
+++ b/src/orca/scripts/apps/soffice/structural_navigation.py
@@ -27,6 +27,7 @@ __license__ = "LGPL"
import pyatspi
+import orca.messages as messages
import orca.structural_navigation as structural_navigation
import orca.settings as settings
import orca.speech as speech
@@ -110,10 +111,7 @@ class StructuralNavigation(structural_navigation.StructuralNavigation):
for child in cell:
speech.speak(self._script.utilities.displayedText(child))
else:
- # Translators: "blank" is a short word to mean the
- # user has navigated to an empty line.
- #
- speech.speak(_("blank"))
+ speech.speak(messages.BLANK)
if settings.speakCellCoordinates:
[row, col] = self.getCellCoordinates(cell)
diff --git a/src/orca/scripts/default.py b/src/orca/scripts/default.py
index 8154ef0..7afb6a0 100644
--- a/src/orca/scripts/default.py
+++ b/src/orca/scripts/default.py
@@ -43,6 +43,7 @@ import orca.find as find
import orca.flat_review as flat_review
import orca.input_event as input_event
import orca.keybindings as keybindings
+import orca.messages as messages
import orca.outline as outline
import orca.orca as orca
import orca.orca_i18n as orca_i18n
@@ -60,7 +61,6 @@ import orca.notification_messages as notification_messages
from orca.orca_i18n import _
from orca.orca_i18n import ngettext
from orca.orca_i18n import C_
-from orca.orca_platform import version
_settingsManager = settings_manager.getManager()
@@ -1524,14 +1524,7 @@ class Script(script.Script):
Returns True to indicate the input event has been consumed.
"""
- # Translators: Orca normally intercepts all keyboard
- # commands and only passes them along to the current
- # application when they are not Orca commands. This
- # command causes the next command issued to be passed
- # along to the current application, bypassing Orca's
- # interception of it.
- #
- self.presentMessage(_("Bypass mode enabled."))
+ self.presentMessage(messages.BYPASS_MODE_ENABLED)
orca_state.bypassNextCommand = True
return True
@@ -1545,33 +1538,9 @@ class Script(script.Script):
if orca_state.learnModeEnabled:
return True
- # Translators: This message presents the Orca version number.
- self.presentMessage(_("Orca version %s.") % version)
-
- self.speakMessage(
- # Translators: Orca has a "Learn Mode" that will allow
- # the user to type any key on the keyboard and hear what
- # the effects of that key would be. The effects might
- # be what Orca would do if it had a handler for the
- # particular key combination, or they might just be to
- # echo the name of the key if Orca doesn't have a handler.
- # This text here is what is spoken to the user.
- #
- _("Entering learn mode. Press any key to hear its function. " \
- "To get a list of Orca shortcuts, press the Orca modifier " \
- "plus H twice quickly. To view the documentation, press F1. " \
- "To exit learn mode, press the escape key."))
-
- # Translators: Orca has a "Learn Mode" that will allow
- # the user to type any key on the keyboard and hear what
- # the effects of that key would be. The effects might
- # be what Orca would do if it had a handler for the
- # particular key combination, or they might just be to
- # echo the name of the key if Orca doesn't have a handler.
- # This text here is what is to be presented on the braille
- # display.
- #
- self.displayBrailleMessage(_("Learn mode. Press escape to exit."))
+ self.presentMessage(messages.VERSION)
+ self.speakMessage(messages.LEARN_MODE_START_SPEECH)
+ self.displayBrailleMessage(messages.LEARN_MODE_START_BRAILLE)
orca_state.learnModeEnabled = True
return True
@@ -1588,16 +1557,7 @@ class Script(script.Script):
and not inputEvent.event_string == 'Escape':
return False
- # Translators: Orca has a "Learn Mode" that will allow
- # the user to type any key on the keyboard and hear what
- # the effects of that key would be. The effects might
- # be what Orca would do if it had a handler for the
- # particular key combination, or they might just be to
- # echo the name of the key if Orca doesn't have a handler.
- # Exiting learn mode puts the user back in normal operating
- # mode.
- #
- self.presentMessage(_("Exiting learn mode."))
+ self.presentMessage(messages.LEARN_MODE_STOP)
orca_state.learnModeEnabled = False
def enterListShortcutsMode(self, inputEvent):
@@ -1613,26 +1573,8 @@ class Script(script.Script):
if orca_state.listShortcutsModeEnabled:
return True
- # Translators: Orca has a 'List Shortcuts' mode by which a user can
- # navigate through a list of the bound commands in Orca. This is the
- # message that is presented to the user as confirmation that this
- # mode has been entered.
- #
- mode = _("List shortcuts mode.")
-
- # Translators: Orca has a 'List Shortcuts' mode by which a user can
- # navigate through a list of the bound commands in Orca. Pressing 1
- # presents the commands/shortcuts available for all applications.
- # These are the "default" commands/shortcuts. Pressing 2 presents
- # commands/shortcuts Orca provides for the application with focus.
- # The following message is presented to the user upon entering this
- # mode.
- #
- message = _("Press 1 for Orca's default shortcuts. Press 2 for " \
- "Orca's shortcuts for the current application. " \
- "Press escape to exit.")
-
- message = mode + " " + message
+ message = "%s %s" % (messages.LIST_SHORTCUTS_MODE_START,
+ messages.LIST_SHORTCUTS_MODE_TUTORIAL)
self.speakMessage(message)
self.displayBrailleMessage(message, -1, -1)
orca_state.listShortcutsModeEnabled = True
@@ -1648,17 +1590,7 @@ class Script(script.Script):
orca_state.typeOfShortcuts = ""
orca_state.ptrToShortcut = -1
orca_state.listShortcutsModeEnabled = False
-
- # Translators: Orca has a "List Shortcuts Mode" that allows the user to
- # list a group of keyboard shortcuts. Pressing 1 makes it possible for
- # the user to navigate amongst a list of global ("default") commands.
- # Pressing 2 allows the user to navigate amongst Orca commands specific
- # to the application with focus. Escape exists this mode. This string
- # is the prompt which will be presented to the user in both speech and
- # braille upon exiting this mode.
- #
- message = _("Exiting list shortcuts mode.")
- self.presentMessage(message)
+ self.presentMessage(messages.LIST_SHORTCUTS_MODE_STOP)
return True
def findNext(self, inputEvent):
@@ -1933,18 +1865,8 @@ class Script(script.Script):
try:
eventsynthesizer.routeToObject(orca_state.locusOfFocus)
except:
- # Translators: Orca has a command that allows the user to
- # move the mouse pointer to the current object. This is a
- # detailed message which will be presented if for some
- # reason Orca cannot identify/find the current location.
- #
- full = _("Could not find current location.")
- # Translators: Orca has a command that allows the user to
- # move the mouse pointer to the current object. This is a
- # brief message which will be presented if for some reason
- # Orca cannot identify/find the current location.
- #
- brief = C_("location", "Not found")
+ full = messages.LOCATION_NOT_FOUND_FULL
+ brief = messages.LOCATION_NOT_FOUND_BRIEF
self.presentMessage(full, brief)
return True
@@ -2046,14 +1968,9 @@ class Script(script.Script):
self.outputCharAttributes(userAttrList, attributes)
- # If this is a hypertext link, then let the user know:
- #
if self.utilities.linkIndex(
orca_state.locusOfFocus, caretOffset) >= 0:
- # Translators: this indicates that this piece of
- # text is a hypertext link.
- #
- speech.speak(_("link"))
+ speech.speak(messages.LINK)
return True
@@ -2069,12 +1986,7 @@ class Script(script.Script):
try:
eventsynthesizer.clickObject(orca_state.locusOfFocus, 1)
except:
- # Translators: Orca has a command that allows the user
- # to move the mouse pointer to the current object. If
- # for some reason Orca cannot identify the current
- # location, it will speak this message.
- #
- self.speakMessage(_("Could not find current location."))
+ self.speakMessage(messages.LOCATION_NOT_FOUND_FULL)
return True
def rightClickReviewItem(self, inputEvent=None):
@@ -2089,18 +2001,8 @@ class Script(script.Script):
try:
eventsynthesizer.clickObject(orca_state.locusOfFocus, 3)
except:
- # Translators: Orca has a command that allows the user to
- # move the mouse pointer to the current object. This is a
- # detailed message which will be presented if for some
- # reason Orca cannot identify/find the current location.
- #
- full = _("Could not find current location.")
- # Translators: Orca has a command that allows the user to
- # move the mouse pointer to the current object. This is a
- # brief message which will be presented if for some reason
- # Orca cannot identify/find the current location.
- #
- brief = C_("location", "Not found")
+ full = messages.LOCATION_NOT_FOUND_FULL
+ brief = messages.LOCATION_NOT_FOUND_BRIEF
self.presentMessage(full, brief)
return True
@@ -2142,23 +2044,14 @@ class Script(script.Script):
if (not wordString) \
or (not len(wordString)) \
or (wordString == "\n"):
- # Translators: "blank" is a short word to mean the
- # user has navigated to an empty line.
- #
- speech.speak(_("blank"))
+ speech.speak(messages.BLANK)
else:
[lineString, x, y, width, height] = \
context.getCurrent(flat_review.Context.LINE)
if lineString == "\n":
- # Translators: "blank" is a short word to mean the
- # user has navigated to an empty line.
- #
- speech.speak(_("blank"))
+ speech.speak(messages.BLANK)
elif wordString.isspace():
- # Translators: "white space" is a short phrase to mean the
- # user has navigated to a line with only whitespace on it.
- #
- speech.speak(_("white space"))
+ speech.speak(messages.WHITE_SPACE)
elif wordString.isupper() and speechType == 1:
speech.speak(wordString,
self.voices[settings.UPPERCASE_VOICE])
@@ -2269,18 +2162,12 @@ class Script(script.Script):
#
if not isinstance(inputEvent, input_event.BrailleEvent):
if (not charString) or (not len(charString)):
- # Translators: "blank" is a short word to mean the
- # user has navigated to an empty line.
- #
- speech.speak(_("blank"))
+ speech.speak(messages.BLANK)
else:
[lineString, x, y, width, height] = \
context.getCurrent(flat_review.Context.LINE)
if lineString == "\n" and speechType != 3:
- # Translators: "blank" is a short word to mean the
- # user has navigated to an empty line.
- #
- speech.speak(_("blank"))
+ speech.speak(messages.BLANK)
elif speechType == 3:
self.speakUnicodeCharacter(charString)
elif speechType == 2:
@@ -2411,15 +2298,9 @@ class Script(script.Script):
if (not lineString) \
or (not len(lineString)) \
or (lineString == "\n"):
- # Translators: "blank" is a short word to mean the
- # user has navigated to an empty line.
- #
- speech.speak(_("blank"))
+ speech.speak(messages.BLANK)
elif lineString.isspace():
- # Translators: "white space" is a short phrase to mean the
- # user has navigated to a line with only whitespace on it.
- #
- speech.speak(_("white space"))
+ speech.speak(messages.WHITE_SPACE)
elif lineString.isupper() \
and (speechType < 2 or speechType > 3):
speech.speak(lineString, self.voices[settings.UPPERCASE_VOICE])
@@ -2536,27 +2417,9 @@ class Script(script.Script):
clipboard = Gtk.Clipboard.get(Gdk.Atom.intern("CLIPBOARD", False))
clipboard.set_text(
self.currentReviewContents, len(self.currentReviewContents))
- # Translators: the 'flat review' feature of Orca
- # allows the blind user to explore the text in a
- # window in a 2D fashion. That is, Orca treats all
- # the text from all objects in a window (e.g.,
- # buttons, labels, etc.) as a sequence of words in a
- # sequence of lines. This message is spoken to let
- # the user to know that they have successfully copied
- # the contents under flat review to the clipboard.
- #
- self.presentMessage(_("Copied contents to clipboard."))
+ self.presentMessage(messages.FLAT_REVIEW_COPIED)
else:
- # Translators: the 'flat review' feature of Orca
- # allows the blind user to explore the text in a
- # window in a 2D fashion. That is, Orca treats all
- # the text from all objects in a window (e.g.,
- # buttons, labels, etc.) as a sequence of words in a
- # sequence of lines. If this error message is spoken,
- # it means that the user attempted to use a flat review
- # command when not using flat review.
- #
- self.presentMessage(_("Not using flat review."))
+ self.presentMessage(messages.FLAT_REVIEW_NOT_IN)
return True
@@ -2579,28 +2442,9 @@ class Script(script.Script):
clipboard = Gtk.Clipboard.get(Gdk.Atom.intern("CLIPBOARD", False))
clipboard.request_text(
self._appendToClipboard, self.currentReviewContents)
- # Translators: the 'flat review' feature of Orca
- # allows the blind user to explore the text in a
- # window in a 2D fashion. That is, Orca treats all
- # the text from all objects in a window (e.g.,
- # buttons, labels, etc.) as a sequence of words in a
- # sequence of lines. This message is spoken to let
- # the user to know that they have successfully appended
- # the contents under flat review onto the existing contents
- # of the clipboard.
- #
- self.presentMessage(_("Appended contents to clipboard."))
+ self.presentMessage(messages.FLAT_REVIEW_APPENDED)
else:
- # Translators: the 'flat review' feature of Orca
- # allows the blind user to explore the text in a
- # window in a 2D fashion. That is, Orca treats all
- # the text from all objects in a window (e.g.,
- # buttons, labels, etc.) as a sequence of words in a
- # sequence of lines. If this error message is spoken,
- # it means that the user attempted to use a flat review
- # command when not using flat review.
- #
- self.presentMessage(_("Not using flat review."))
+ self.presentMessage(messages.FLAT_REVIEW_NOT_IN)
return True
@@ -2656,33 +2500,13 @@ class Script(script.Script):
verbosity = _settingsManager.getSetting('speechVerbosityLevel')
if self.flatReviewContext:
if inputEvent and verbosity != settings.VERBOSITY_LEVEL_BRIEF:
- # Translators: the 'flat review' feature of Orca
- # allows the blind user to explore the text in a
- # window in a 2D fashion. That is, Orca treats all
- # the text from all objects in a window (e.g.,
- # buttons, labels, etc.) as a sequence of words in a
- # sequence of lines. The flat review feature allows
- # the user to explore this text by the {previous,next}
- # {line,word,character}. This message lets the user know
- # they have left the flat review feature.
- #
- self.presentMessage(_("Leaving flat review."))
+ self.presentMessage(messages.FLAT_REVIEW_STOP)
self.drawOutline(-1, 0, 0, 0)
self.flatReviewContext = None
self.updateBraille(orca_state.locusOfFocus)
else:
if inputEvent and verbosity != settings.VERBOSITY_LEVEL_BRIEF:
- # Translators: the 'flat review' feature of Orca
- # allows the blind user to explore the text in a
- # window in a 2D fashion. That is, Orca treats all
- # the text from all objects in a window (e.g.,
- # buttons, labels, etc.) as a sequence of words in a
- # sequence of lines. The flat review feature allows
- # the user to explore this text by the {previous,next}
- # {line,word,character}. This message lets the user know
- # they have entered the flat review feature.
- #
- self.presentMessage(_("Entering flat review."))
+ self.presentMessage(messages.FLAT_REVIEW_START)
context = self.getFlatReviewContext()
[wordString, x, y, width, height] = \
context.getCurrent(flat_review.Context.WORD)
@@ -2699,15 +2523,9 @@ class Script(script.Script):
speech.stop()
if _settingsManager.getSetting('silenceSpeech'):
_settingsManager.setSetting('silenceSpeech', False)
- # Translators: this is a spoken prompt letting the user know
- # that speech synthesis has been turned back on.
- #
- self.presentMessage(_("Speech enabled."))
+ self.presentMessage(messages.SPEECH_ENABLED)
else:
- # Translators: this is a spoken prompt letting the user know
- # that speech synthesis has been temporarily turned off.
- #
- self.presentMessage(_("Speech disabled."))
+ self.presentMessage(messages.SPEECH_DISABLED)
_settingsManager.setSetting('silenceSpeech', True)
return True
@@ -2717,26 +2535,11 @@ class Script(script.Script):
value = _settingsManager.getSetting('enableSpeechIndentation')
_settingsManager.setSetting('enableSpeechIndentation', not value)
if _settingsManager.getSetting('enableSpeechIndentation'):
- # Translators: This is a detailed message indicating that
- # indentation and justification will be spoken.
- #
- full = _("Speaking of indentation and justification enabled.")
- # Translators: This is a brief message that will be presented
- # to the user who has just enabled/disabled the speaking of
- # indentation and justification information.
- #
- brief = C_("indentation and justification", "Enabled")
+ full = messages.INDENTATION_JUSTIFICATION_ON_FULL
+ brief = messages.INDENTATION_JUSTIFICATION_ON_BRIEF
else:
- # Translators: This is a detailed message indicating that
- # indentation and justification will not be spoken.
- #
- full = _("Speaking of indentation and justification disabled.")
- # Translators: This is a brief message that will be presented
- # to the user who has just enabled/disabled the speaking of
- # indentation and justification information.
- #
- brief = C_("indentation and justification", "Disabled")
-
+ full = messages.INDENTATION_JUSTIFICATION_OFF_FULL
+ brief = messages.INDENTATION_JUSTIFICATION_OFF_BRIEF
self.presentMessage(full, brief)
return True
@@ -2747,61 +2550,20 @@ class Script(script.Script):
currentLevel = _settingsManager.getSetting('verbalizePunctuationStyle')
if currentLevel == settings.PUNCTUATION_STYLE_NONE:
newLevel = settings.PUNCTUATION_STYLE_SOME
- # Translators: This detailed message will be presented as the
- # user cycles through the different levels of spoken punctuation.
- # The options are: All puntuation marks will be spoken, None
- # will be spoken, Most will be spoken, or Some will be spoken.
- #
- full = _("Punctuation level set to some.")
- # Translators: This brief message will be presented as the user
- # cycles through the different levels of spoken punctuation.
- # The options are: All puntuation marks will be spoken, None
- # will be spoken, Most will be spoken, or Some will be spoken.
- #
- brief = C_("spoken punctuation", "Some")
+ full = messages.PUNCTUATION_SOME_FULL
+ brief = messages.PUNCTUATION_SOME_BRIEF
elif currentLevel == settings.PUNCTUATION_STYLE_SOME:
newLevel = settings.PUNCTUATION_STYLE_MOST
- # Translators: This detailed message will be presented as the
- # user cycles through the different levels of spoken punctuation.
- # The options are: All puntuation marks will be spoken, None
- # will be spoken, Most will be spoken, or Some will be spoken.
- #
- full = _("Punctuation level set to most.")
- # Translators: This brief message will be presented as the user
- # cycles through the different levels of spoken punctuation.
- # The options are: All puntuation marks will be spoken, None
- # will be spoken, Most will be spoken, or Some will be spoken.
- #
- brief = C_("spoken punctuation", "Most")
+ full = messages.PUNCTUATION_MOST_FULL
+ brief = messages.PUNCTUATION_MOST_BRIEF
elif currentLevel == settings.PUNCTUATION_STYLE_MOST:
newLevel = settings.PUNCTUATION_STYLE_ALL
- # Translators: This detailed message will be presented as the
- # user cycles through the different levels of spoken punctuation.
- # The options are: All puntuation marks will be spoken, None
- # will be spoken, Most will be spoken, or Some will be spoken.
- #
- full = _("Punctuation level set to all.")
- # Translators: This brief message will be presented as the user
- # cycles through the different levels of spoken punctuation.
- # The options are: All puntuation marks will be spoken, None
- # will be spoken, Most will be spoken, or Some will be spoken.
- #
- brief = C_("spoken punctuation", "All")
+ full = messages.PUNCTUATION_ALL_FULL
+ brief = messages.PUNCTUATION_ALL_BRIEF
else:
- # the all case, so cycle to none.
newLevel = settings.PUNCTUATION_STYLE_NONE
- # Translators: This detailed message will be presented as the
- # user cycles through the different levels of spoken punctuation.
- # The options are: All puntuation marks will be spoken, None
- # will be spoken, Most will be spoken, or Some will be spoken.
- #
- full = _("Punctuation level set to none.")
- # Translators: This brief message will be presented as the user
- # cycles through the different levels of spoken punctuation.
- # The options are: All puntuation marks will be spoken, None
- # will be spoken, Most will be spoken, or Some will be spoken.
- #
- brief = C_("spoken punctuation", "None")
+ full = messages.PUNCTUATION_NONE_FULL
+ brief = messages.PUNCTUATION_NONE_BRIEF
_settingsManager.setSetting('verbalizePunctuationStyle', newLevel)
self.presentMessage(full, brief)
@@ -2813,14 +2575,7 @@ class Script(script.Script):
profiles = _settingsManager.availableProfiles()
if not (profiles and profiles[0]):
- # Translators: This is an error message presented when the user
- # attempts to cycle among his/her saved profiles, but no profiles
- # can be found. A profile is a collection of settings which apply
- # to a given task, such as a "Spanish" profile which would use
- # Spanish text-to-speech and Spanish braille and selected when
- # reading Spanish content.
- #
- self.presentMessage(_("No profiles found."))
+ self.presentMessage(messages.PROFILE_NOT_FOUND)
return True
isMatch = lambda x: x[1] == _settingsManager.getProfile()
@@ -2837,18 +2592,12 @@ class Script(script.Script):
# Once we sort out all of the language changing details, this
# code probably should go somewhere else.
if oldVoiceLocale != newVoiceLocale:
- modules = ['orca.chnames']
+ modules = ['orca.chnames', 'orca.keynames', 'orca.phonnames',
+ 'orca.text_attribute_names.py', 'orca.messages']
for module in modules:
orca_i18n.setModuleLocale(module, newVoiceLocale)
- # Translators: This is a detailed message which will be presented
- # as the user cycles amongst his/her saved profiles. A "profile"
- # is a collection of settings which apply to a given task, such
- # as a "Spanish" profile which would use Spanish text-to-speech
- # and Spanish braille and selected when reading Spanish content.
- # The string representing the profile name is something created
- # by the user.
- self.presentMessage(_("Profile set to %s.") % name, name)
+ self.presentMessage(messages.PROFILE_CHANGED % name, name)
return True
def cycleCapitalizationStyle(self, inputEvent=None):
@@ -2857,82 +2606,16 @@ class Script(script.Script):
currentStyle = _settingsManager.getSetting('capitalizationStyle')
if currentStyle == settings.CAPITALIZATION_STYLE_NONE:
newStyle = settings.CAPITALIZATION_STYLE_SPELL
- # Translators: Orca uses Speech Dispatcher to present content
- # to users via text-to-speech. Speech Dispatcher has a feature
- # to control how capital letters are presented: Do nothing at
- # all, say the word 'capital' prior to presenting a capital
- # letter, or play a tone which Speech Dispatcher refers to as
- # a sound 'icon'. This string to be translated refers to the
- # full/verbose output presented in response to the use of an
- # Orca command which makes it possible for users to quickly
- # cycle amongst these alternatives without having to get into
- # a GUI.
- #
- full = _("Capitalization style set to spell.")
- # Translators: Orca uses Speech Dispatcher to present content
- # to users via text-to-speech. Speech Dispatcher has a feature
- # to control how capital letters are presented: Do nothing at
- # all, say the word 'capital' prior to presenting a capital
- # letter, or play a tone which Speech Dispatcher refers to as
- # a sound 'icon'. This string to be translated refers to the
- # brief/non-verbose output presented in response to the use of
- # an Orca command which makes it possible for users to quickly
- # cycle amongst these alternatives without having to get into
- # a GUI.
- #
- brief = C_("capitalization style", "spell")
+ full = messages.CAPITALIZATION_SPELL_FULL
+ brief = messages.CAPITALIZATION_SPELL_BRIEF
elif currentStyle == settings.CAPITALIZATION_STYLE_SPELL:
newStyle = settings.CAPITALIZATION_STYLE_ICON
- # Translators: Orca uses Speech Dispatcher to present content
- # to users via text-to-speech. Speech Dispatcher has a feature
- # to control how capital letters are presented: Do nothing at
- # all, say the word 'capital' prior to presenting a capital
- # letter, or play a tone which Speech Dispatcher refers to as
- # a sound 'icon'. This string to be translated refers to the
- # full/verbose output presented in response to the use of an
- # Orca command which makes it possible for users to quickly
- # cycle amongst these alternatives without having to get into
- # a GUI.
- #
- full = _("Capitalization style set to icon.")
- # Translators: Orca uses Speech Dispatcher to present content
- # to users via text-to-speech. Speech Dispatcher has a feature
- # to control how capital letters are presented: Do nothing at
- # all, say the word 'capital' prior to presenting a capital
- # letter, or play a tone which Speech Dispatcher refers to as
- # a sound 'icon'. This string to be translated refers to the
- # brief/non-verbose output presented in response to the use of
- # an Orca command which makes it possible for users to quickly
- # cycle amongst these alternatives without having to get into
- # a GUI.
- #
- brief = C_("capitalization style", "icon")
+ full = messages.CAPITALIZATION_ICON_FULL
+ brief = messages.CAPITALIZATION_ICON_BRIEF
else:
newStyle = settings.CAPITALIZATION_STYLE_NONE
- # Translators: Orca uses Speech Dispatcher to present content
- # to users via text-to-speech. Speech Dispatcher has a feature
- # to control how capital letters are presented: Do nothing at
- # all, say the word 'capital' prior to presenting a capital
- # letter, or play a tone which Speech Dispatcher refers to as
- # a sound 'icon'. This string to be translated refers to the
- # full/verbose output presented in response to the use of an
- # Orca command which makes it possible for users to quickly
- # cycle amongst these alternatives without having to get into
- # a GUI.
- #
- full = _("Capitalization style set to none.")
- # Translators: Orca uses Speech Dispatcher to present content
- # to users via text-to-speech. Speech Dispatcher has a feature
- # to control how capital letters are presented: Do nothing at
- # all, say the word 'capital' prior to presenting a capital
- # letter, or play a tone which Speech Dispatcher refers to as
- # a sound 'icon'. This string to be translated refers to the
- # brief/non-verbose output presented in response to the use of
- # an Orca command which makes it possible for users to quickly
- # cycle amongst these alternatives without having to get into
- # a GUI.
- #
- brief = C_("capitalization style", "none")
+ full = messages.CAPITALIZATION_NONE_FULL
+ brief = messages.CAPITALIZATION_NONE_BRIEF
_settingsManager.setSetting('capitalizationStyle', newStyle)
self.presentMessage(full, brief)
@@ -2945,203 +2628,30 @@ class Script(script.Script):
word = _settingsManager.getSetting('enableEchoByWord')
sentence = _settingsManager.getSetting('enableEchoBySentence')
- # check if we are in the none case.
if (key, word, sentence) == (False, False, False):
- # cycle to key echo
(newKey, newWord, newSentence) = (True, False, False)
- # Translators: Orca has an "echo" setting which allows
- # the user to configure what is spoken in response to a
- # key press. Given a user who typed "Hello world.":
- # - key echo: "H e l l o space w o r l d period"
- # - word echo: "Hello" spoken when the space is pressed;
- # "world" spoken when the period is pressed.
- # - sentence echo: "Hello world" spoken when the period
- # is pressed.
- # A user can choose to have no echo, one type of echo, or
- # multiple types of echo and can cycle through the various
- # levels quickly via a command.
- #
- full = _("Key echo set to key.")
- # Translators: Orca has an "echo" setting which allows
- # the user to configure what is spoken in response to a
- # key press. Given a user who typed "Hello world.":
- # - key echo: "H e l l o space w o r l d period"
- # - word echo: "Hello" spoken when the space is pressed;
- # "world" spoken when the period is pressed.
- # - sentence echo: "Hello world" spoken when the period
- # is pressed.
- # A user can choose to have no echo, one type of echo, or
- # multiple types of echo and can cycle through the various
- # levels quickly via a command. The following string is a
- # brief message which will be presented to the user who is
- # cycling amongst the various echo options.
- #
- brief = C_("key echo", "key")
-
- # The key echo only case
+ full = messages.KEY_ECHO_KEY_FULL
+ brief = messages.KEY_ECHO_KEY_BRIEF
elif (key, word, sentence) == (True, False, False):
- # cycle to word echo
(newKey, newWord, newSentence) = (False, True, False)
- # Translators: Orca has an "echo" setting which allows
- # the user to configure what is spoken in response to a
- # key press. Given a user who typed "Hello world.":
- # - key echo: "H e l l o space w o r l d period"
- # - word echo: "Hello" spoken when the space is pressed;
- # "world" spoken when the period is pressed.
- # - sentence echo: "Hello world" spoken when the period
- # is pressed.
- # A user can choose to have no echo, one type of echo, or
- # multiple types of echo and can cycle through the various
- # levels quickly via a command.
- #
- full = _("Key echo set to word.")
- # Translators: Orca has an "echo" setting which allows
- # the user to configure what is spoken in response to a
- # key press. Given a user who typed "Hello world.":
- # - key echo: "H e l l o space w o r l d period"
- # - word echo: "Hello" spoken when the space is pressed;
- # "world" spoken when the period is pressed.
- # - sentence echo: "Hello world" spoken when the period
- # is pressed.
- # A user can choose to have no echo, one type of echo, or
- # multiple types of echo and can cycle through the various
- # levels quickly via a command. The following string is a
- # brief message which will be presented to the user who is
- # cycling amongst the various echo options.
- #
- brief = C_("key echo", "word")
-
- # the word only case
+ full = messages.KEY_ECHO_WORD_FULL
+ brief = messages.KEY_ECHO_WORD_BRIEF
elif (key, word, sentence) == (False, True, False):
- # cycle to sentence echo
(newKey, newWord, newSentence) = (False, False, True)
- # Translators: Orca has an "echo" setting which allows
- # the user to configure what is spoken in response to a
- # key press. Given a user who typed "Hello world.":
- # - key echo: "H e l l o space w o r l d period"
- # - word echo: "Hello" spoken when the space is pressed;
- # "world" spoken when the period is pressed.
- # - sentence echo: "Hello world" spoken when the period
- # is pressed.
- # A user can choose to have no echo, one type of echo, or
- # multiple types of echo and can cycle through the various
- # levels quickly via a command.
- #
- full = _("Key echo set to sentence.")
- # Translators: Orca has an "echo" setting which allows
- # the user to configure what is spoken in response to a
- # key press. Given a user who typed "Hello world.":
- # - key echo: "H e l l o space w o r l d period"
- # - word echo: "Hello" spoken when the space is pressed;
- # "world" spoken when the period is pressed.
- # - sentence echo: "Hello world" spoken when the period
- # is pressed.
- # A user can choose to have no echo, one type of echo, or
- # multiple types of echo and can cycle through the various
- # levels quickly via a command. The following string is a
- # brief message which will be presented to the user who is
- # cycling amongst the various echo options.
- #
- brief = C_("key echo", "sentence")
-
- # the sentence only case
+ full = messages.KEY_ECHO_SENTENCE_FULL
+ brief = messages.KEY_ECHO_SENTENCE_BRIEF
elif (key, word, sentence) == (False, False, True):
- # cycle to word and key echo
(newKey, newWord, newSentence) = (True, True, False)
- # Translators: Orca has an "echo" setting which allows
- # the user to configure what is spoken in response to a
- # key press. Given a user who typed "Hello world.":
- # - key echo: "H e l l o space w o r l d period"
- # - word echo: "Hello" spoken when the space is pressed;
- # "world" spoken when the period is pressed.
- # - sentence echo: "Hello world" spoken when the period
- # is pressed.
- # A user can choose to have no echo, one type of echo, or
- # multiple types of echo and can cycle through the various
- # levels quickly via a command.
- #
- full = _("Key echo set to key and word.")
- # Translators: Orca has an "echo" setting which allows
- # the user to configure what is spoken in response to a
- # key press. Given a user who typed "Hello world.":
- # - key echo: "H e l l o space w o r l d period"
- # - word echo: "Hello" spoken when the space is pressed;
- # "world" spoken when the period is pressed.
- # - sentence echo: "Hello world" spoken when the period
- # is pressed.
- # A user can choose to have no echo, one type of echo, or
- # multiple types of echo and can cycle through the various
- # levels quickly via a command. The following string is a
- # brief message which will be presented to the user who is
- # cycling amongst the various echo options.
- #
- brief = C_("key echo", "key and word")
-
- # the key and word case
+ full = messages.KEY_ECHO_KEY_AND_WORD_FULL
+ brief = messages.KEY_ECHO_KEY_AND_WORD_BRIEF
elif (key, word, sentence) == (True, True, False):
- # cycle to word and sentence echo
(newKey, newWord, newSentence) = (False, True, True)
- # Translators: Orca has an "echo" setting which allows
- # the user to configure what is spoken in response to a
- # key press. Given a user who typed "Hello world.":
- # - key echo: "H e l l o space w o r l d period"
- # - word echo: "Hello" spoken when the space is pressed;
- # "world" spoken when the period is pressed.
- # - sentence echo: "Hello world" spoken when the period
- # is pressed.
- # A user can choose to have no echo, one type of echo, or
- # multiple types of echo and can cycle through the various
- # levels quickly via a command.
- #
- full = _("Key echo set to word and sentence.")
- # Translators: Orca has an "echo" setting which allows
- # the user to configure what is spoken in response to a
- # key press. Given a user who typed "Hello world.":
- # - key echo: "H e l l o space w o r l d period"
- # - word echo: "Hello" spoken when the space is pressed;
- # "world" spoken when the period is pressed.
- # - sentence echo: "Hello world" spoken when the period
- # is pressed.
- # A user can choose to have no echo, one type of echo, or
- # multiple types of echo and can cycle through the various
- # levels quickly via a command. The following string is a
- # brief message which will be presented to the user who is
- # cycling amongst the various echo options.
- #
- brief = C_("key echo", "word and sentence")
-
- # cycle round
+ full = messages.KEY_ECHO_WORD_AND_SENTENCE_FULL
+ brief = messages.KEY_ECHO_WORD_AND_SENTENCE_BRIEF
else:
- # cycle to none
(newKey, newWord, newSentence) = (False, False, False)
- # Translators: Orca has an "echo" setting which allows
- # the user to configure what is spoken in response to a
- # key press. Given a user who typed "Hello world.":
- # - key echo: "H e l l o space w o r l d period"
- # - word echo: "Hello" spoken when the space is pressed;
- # "world" spoken when the period is pressed.
- # - sentence echo: "Hello world" spoken when the period
- # is pressed.
- # A user can choose to have no echo, one type of echo, or
- # multiple types of echo and can cycle through the various
- # levels quickly via a command.
- #
- full = _("Key echo set to None.")
- # Translators: Orca has an "echo" setting which allows
- # the user to configure what is spoken in response to a
- # key press. Given a user who typed "Hello world.":
- # - key echo: "H e l l o space w o r l d period"
- # - word echo: "Hello" spoken when the space is pressed;
- # "world" spoken when the period is pressed.
- # - sentence echo: "Hello world" spoken when the period
- # is pressed.
- # A user can choose to have no echo, one type of echo, or
- # multiple types of echo and can cycle through the various
- # levels quickly via a command. The following string is a
- # brief message which will be presented to the user who is
- # cycling amongst the various echo options.
- #
- brief = C_("key echo", "None")
+ full = messages.KEY_ECHO_NONE_FULL
+ brief = messages.KEY_ECHO_NONE_BRIEF
_settingsManager.setSetting('enableKeyEcho', newKey)
_settingsManager.setSetting('enableEchoByWord', newWord)
@@ -3149,7 +2659,6 @@ class Script(script.Script):
self.presentMessage(full, brief)
return True
-
def toggleTableCellReadMode(self, inputEvent=None):
"""Toggles an indicator for whether we should just read the current
table cell or read the whole row."""
@@ -3157,17 +2666,9 @@ class Script(script.Script):
speakRow = _settingsManager.getSetting('readTableCellRow')
_settingsManager.setSetting('readTableCellRow', not speakRow)
if not speakRow:
- # Translators: when users are navigating a table, they
- # sometimes want the entire row of a table read, or
- # they just want the current cell to be presented to them.
- #
- line = _("Speak row")
+ line = messages.TABLE_MODE_ROW
else:
- # Translators: when users are navigating a table, they
- # sometimes want the entire row of a table read, or
- # they just want the current cell to be presented to them.
- #
- line = _("Speak cell")
+ line = messages.TABLE_MODE_CELL
self.presentMessage(line)
@@ -3446,11 +2947,7 @@ class Script(script.Script):
utterances = []
utterances.append(textContents)
-
- # Translators: when the user selects (highlights) text in
- # a document, Orca lets them know this.
- #
- utterances.append(C_("text", "selected"))
+ utterances.append(messages.TEXT_SELECTED)
speech.speak(utterances)
def onNameChanged(self, event):
@@ -3581,17 +3078,9 @@ class Script(script.Script):
if announceState:
voice = self.voices.get(settings.SYSTEM_VOICE)
if event.detail1:
- # Translators: this object is now selected.
- # Let the user know this.
- #
- #
- speech.speak(C_("text", "selected"), voice, False)
+ speech.speak(messages.TEXT_SELECTED, voice, False)
else:
- # Translators: this object is now unselected.
- # Let the user know this.
- #
- #
- speech.speak(C_("text", "unselected"), voice, False)
+ speech.speak(messages.TEXT_UNSELECTED, voice, False)
return
if event.type.startswith("object:state-changed:focused"):
@@ -3685,11 +3174,7 @@ class Script(script.Script):
event.source, prevWordAndOffsets[1] ) \
or self.utilities.isWordMisspelled(
event.source, nextWordAndOffsets[1]):
- # Translators: this is to inform the user of the presence
- # of the red squiggly line which indicates that a given
- # word is not spelled correctly.
- #
- self.speakMessage(_("misspelled"))
+ self.speakMessage(messages.MISSPELLED)
def onTextDeleted(self, event):
"""Called whenever text is deleted from an object.
@@ -4000,9 +3485,7 @@ class Script(script.Script):
if event.source != parentTable:
return
- # Translators: This is a message presented to users when the
- # columns in a table have been reordered.
- self.presentMessage(_("Columns reordered"))
+ self.presentMessage(messages.TABLE_REORDERED_COLUMNS)
def onRowReordered(self, event):
"""Called whenever the rows in a table are reordered.
@@ -4016,10 +3499,7 @@ class Script(script.Script):
if event.source != parentTable:
return
- # Translators: This is a message presented to users when the
- # rows in a table have been reordered, as would happen when
- # re-sorting the table by clicking on its header.
- self.presentMessage(_("Rows reordered"))
+ self.presentMessage(messages.TABLE_REORDERED_ROWS)
def onValueChanged(self, event):
"""Called whenever an object's value changes. Currently, the
@@ -4646,11 +4126,7 @@ class Script(script.Script):
index = 0
for key in list(self.lastProgressBarTime.keys()):
if key == obj and key != mostRecentUpdate[0]:
- # Translators: this is an index value
- # so that we can tell which progress bar
- # we are referring to.
- #
- label = _("Progress bar %d.") % (index + 1)
+ label = messages.PROGRESS_BAR_NUMBER % (index + 1)
utterances.append(label)
else:
index += 1
@@ -4684,9 +4160,7 @@ class Script(script.Script):
#
if key == "weight" \
and (attribute == "bold" or int(attribute) > 400):
- # Translators: bold as in the font sense.
- #
- line = _("bold")
+ line = messages.BOLD
elif key in ["left-margin", "right-margin"]:
# We need to test if we are getting a margin value
# that includes unit information (OOo now provides
@@ -4802,20 +4276,14 @@ class Script(script.Script):
# This is a blank line. Announce it if the user requested
# that blank lines be spoken.
if speakBlankLines:
- # Translators: "blank" is a short word to mean the
- # user has navigated to an empty line.
- #
- self.speakMessage(_("blank"), interrupt=False)
+ self.speakMessage(messages.BLANK, interrupt=False)
return
if character in ["\n", "\r\n"]:
# This is a blank line. Announce it if the user requested
# that blank lines be spoken.
if speakBlankLines:
- # Translators: "blank" is a short word to mean the
- # user has navigated to an empty line.
- #
- self.speakMessage(_("blank"), interrupt=False)
+ self.speakMessage(messages.BLANK, interrupt=False)
return
else:
self.speakMisspelledIndicator(obj, offset)
@@ -5109,14 +4577,8 @@ class Script(script.Script):
context = self.getFlatReviewContext()
location = query.findQuery(context, self.justEnteredFlatReviewMode)
if not location:
- # Translators: the Orca "Find" dialog allows a user to
- # search for text in a window and then move focus to
- # that text. For example, they may want to find the
- # "OK" button. This message lets them know a string
- # they were searching for was not found.
- #
message = _("string not found")
- self.presentMessage(message)
+ self.presentMessage(messages.STRING_NOT_FOUND)
else:
context.setCurrent(location.lineIndex, location.zoneIndex, \
location.wordIndex, location.charIndex)
@@ -5182,20 +4644,9 @@ class Script(script.Script):
if maxIndex > (len(allTokens) - 1):
maxIndex = len(allTokens) - 1
- # Translators: Orca will provide more compelling output of
- # the spell checking dialog in some applications. The first
- # thing it does is let them know what the misspelled word
- # is.
- #
- utterances = [_("Misspelled word: %s") % badWord]
-
- # Translators: Orca will provide more compelling output of
- # the spell checking dialog in some applications. The second
- # thing it does is give the phrase containing the misspelled
- # word in the document. This is known as the context.
- #
+ utterances = [messages.MISSPELLED_WORD % badWord]
contextPhrase = " ".join(allTokens[minIndex:maxIndex+1])
- utterances.append(_("Context is %s") % contextPhrase)
+ utterances.append(messages.MISSPELLED_WORD_CONTEXT % contextPhrase)
# Turn the list of utterances into a string.
text = " ".join(utterances)
@@ -5442,16 +4893,10 @@ class Script(script.Script):
text.getSelection(i))
def _getCtrlShiftSelectionsStrings(self):
- return [
- # Translators: when the user selects (highlights) text in
- # a document, Orca will speak information about what they
- # have selected.
- #
- _("paragraph selected down from cursor position"),
- _("paragraph unselected down from cursor position"),
- _("paragraph selected up from cursor position"),
- _("paragraph unselected up from cursor position"),
- ]
+ return [messages.PARAGRAPH_SELECTED_DOWN,
+ messages.PARAGRAPH_UNSELECTED_DOWN,
+ messages.PARAGRAPH_SELECTED_UP,
+ messages.PARAGRAPH_UNSELECTED_UP]
def speakTextSelectionState(self, obj, startOffset, endOffset):
"""Speak "selected" if the text was just selected, "unselected" if
@@ -5500,47 +4945,24 @@ class Script(script.Script):
specialCaseFound = False
if (eventStr == "Page_Down") and isShiftKey and isControlKey:
specialCaseFound = True
- # Translators: when the user selects (highlights) text in
- # a document, Orca will speak information about what they
- # have selected.
- #
- line = _("line selected to end from previous cursor position")
-
+ line = messages.LINE_SELECTED_RIGHT
elif (eventStr == "Page_Up") and isShiftKey and isControlKey:
specialCaseFound = True
- # Translators: when the user selects (highlights) text in
- # a document, Orca will speak information about what they
- # have selected.
- #
- line = _("line selected from start to previous cursor position")
+ line = messages.LINE_SELECTED_LEFT
elif (eventStr == "Page_Down") and isShiftKey and not isControlKey:
specialCaseFound = True
if selectedText:
- # Translators: when the user selects (highlights) text in
- # a document, Orca will speak information about what they
- # have selected.
- #
- line = _("page selected from cursor position")
+ line = messages.PAGE_SELECTED_DOWN
else:
- # Translators: when the user unselects text in a document,
- # Orca will speak information about what they have unselected.
- #
- line = _("page unselected from cursor position")
+ line = messages.PAGE_UNSELECTED_DOWN
elif (eventStr == "Page_Up") and isShiftKey and not isControlKey:
specialCaseFound = True
if selectedText:
- # Translators: when the user selects (highlights) text in
- # a document, Orca will speak information about what they
- # have selected.
- #
- line = _("page selected to cursor position")
+ line = messages.PAGE_SELECTED_UP
else:
- # Translators: when the user unselects text in a document,
- # Orca will speak information about what they have unselected.
- #
- line = _("page unselected to cursor position")
+ line = messages.PAGE_UNSELECTED_UP
elif (eventStr == "Down") and isShiftKey and isControlKey:
specialCaseFound = True
@@ -5561,30 +4983,16 @@ class Script(script.Script):
elif (eventStr == "Home") and isShiftKey and isControlKey:
specialCaseFound = True
if selectedText:
- # Translators: when the user selects (highlights) text in
- # a document, Orca will speak information about what they
- # have selected.
- #
- line = _("document selected to cursor position")
+ line = messages.DOCUMENT_SELECTED_UP
else:
- # Translators: when the user unselects text in a document,
- # Orca will speak information about what they have unselected.
- #
- line = _("document unselected to cursor position")
+ line = messages.DOCUMENT_UNSELECTED_UP
elif (eventStr == "End") and isShiftKey and isControlKey:
specialCaseFound = True
if selectedText:
- # Translators: when the user selects (highlights) text in
- # a document, Orca will speak information about what they
- # have selected.
- #
- line = _("document selected from cursor position")
+ line = messages.DOCUMENT_SELECTED_DOWN
else:
- # Translators: when the user unselects text in a document,
- # Orca will speak information about what they have unselected.
- #
- line = _("document unselected from cursor position")
+ line = messages.DOCUMENT_SELECTED_UP
elif (eventStr == "A") and isControlKey:
# The user has typed Control-A. Check to see if the entire
@@ -5597,11 +5005,7 @@ class Script(script.Script):
startOffset == 0 and endOffset == charCount:
specialCaseFound = True
self.updateBraille(obj)
-
- # Translators: this means the user has selected
- # all the text in a document (e.g., Ctrl+a in gedit).
- #
- line = _("entire document selected")
+ line = messages.DOCUMENT_SELECTED_ALL
if specialCaseFound:
speech.speak(line, None, False)
@@ -5644,16 +5048,9 @@ class Script(script.Script):
if not _settingsManager.getSetting('onlySpeakDisplayedText'):
voice = self.voices.get(settings.SYSTEM_VOICE)
if self.utilities.isTextSelected(obj, startOffset, endOffset):
- # Translators: when the user selects (highlights) text in
- # a document, Orca lets them know this.
- #
- speech.speak(C_("text", "selected"), voice, False)
+ speech.speak(messages.TEXT_SELECTED, voice, False)
elif len(text.getText(startOffset, endOffset)):
- # Translators: when the user unselects
- # (unhighlights) text in a document, Orca lets
- # them know this.
- #
- speech.speak(C_("text", "unselected"), voice, False)
+ speech.speak(messages.TEXT_UNSELECTED, voice, False)
self._saveLastTextSelections(text)
@@ -5704,11 +5101,7 @@ class Script(script.Script):
text.getTextAtOffset(offset, pyatspi.TEXT_BOUNDARY_WORD_START)
if self.utilities.isWordMisspelled(obj, offset) \
and wordAndOffsets[0] != orca_state.lastWordCheckedForSpelling:
- # Translators: this is to inform the user of the presence
- # of the red squiggly line which indicates that a given
- # word is not spelled correctly.
- #
- self.speakMessage(_("misspelled"))
+ self.speakMessage(messages.MISSPELLED)
# Store this word so that we do not continue to present the
# presence of the red squiggly as the user arrows amongst
# the characters.
@@ -6167,11 +5560,7 @@ class Script(script.Script):
Arguments:
- character: the character to speak information of
"""
- # Translators: this is information about a unicode character
- # reported to the user. The value is the unicode number value
- # of this character in hex.
- #
- speech.speak(_("Unicode %s") % \
+ speech.speak(messages.UNICODE % \
self.utilities.unicodeValueString(character))
def presentTime(self, inputEvent):
diff --git a/src/orca/speechdispatcherfactory.py b/src/orca/speechdispatcherfactory.py
index 060eab5..9d992b6 100644
--- a/src/orca/speechdispatcherfactory.py
+++ b/src/orca/speechdispatcherfactory.py
@@ -26,10 +26,7 @@
#
# pylint: disable-msg=W0142
-"""Provides an Orca speech server for Speech Dispatcher backend.
-
-NOTE: THIS IS EXPERIMENTAL ONLY AND IS NOT A SUPPORTED COMPONENT OF ORCA.
-"""
+"""Provides an Orca speech server for Speech Dispatcher backend."""
__id__ = "$Id$"
__version__ = "$Revision$"
@@ -43,6 +40,7 @@ import re
from . import chnames
from . import debug
+from . import messages
from . import speechserver
from . import settings
from . import orca_state
@@ -379,8 +377,9 @@ class SpeechServer(speechserver.SpeechServer):
acss[ACSS.RATE] = max(0, min(99, rate + delta))
debug.println(debug.LEVEL_CONFIGURATION,
"Speech rate is now %d" % rate)
- # Translators: This string announces speech rate change.
- self.speak(decrease and _("slower.") or _("faster."), acss=acss)
+
+ self.speak(decrease and messages.SPEECH_SLOWER \
+ or messages.SPEECH_FASTER, acss=acss)
def _change_default_speech_pitch(self, decrease=False):
acss = settings.voices[settings.DEFAULT_VOICE]
@@ -392,8 +391,9 @@ class SpeechServer(speechserver.SpeechServer):
acss[ACSS.AVERAGE_PITCH] = max(0, min(9, pitch + delta))
debug.println(debug.LEVEL_CONFIGURATION,
"Speech pitch is now %d" % pitch)
- # Translators: This string announces speech pitch change.
- self.speak(decrease and _("lower.") or _("higher."), acss=acss)
+
+ self.speak(decrease and messages.SPEECH_LOWER \
+ or messages.SPEECH_HIGHER, acss=acss)
def getInfo(self):
return [self._SERVER_NAMES.get(self._id, self._id), self._id]
diff --git a/src/orca/structural_navigation.py b/src/orca/structural_navigation.py
index f665862..078c4bd 100644
--- a/src/orca/structural_navigation.py
+++ b/src/orca/structural_navigation.py
@@ -32,6 +32,7 @@ import pyatspi
from . import debug
from . import input_event
from . import keybindings
+from . import messages
from . import orca
from . import orca_gui_navlist
from . import orca_state
@@ -353,13 +354,7 @@ class StructuralNavigationObject:
try:
objects = self.structuralNavigation._getAll(self)
except:
- # Translators: Orca has a command that presents a list of
- # structural navigation objects in a dialog box so that users
- # can navigate more quickly than they could with native keyboard
- # navigation. This is a message that will be presented to the
- # user when an error (such as the operation timing out) kept us
- # from getting these objects.
- script.presentMessage(_("Error: Could not create list of objects."))
+ script.presentMessage(messages.NAVIGATION_DIALOG_ERROR)
return
title, columnHeaders, rowData = self._dialogData()
@@ -427,13 +422,7 @@ class StructuralNavigationObject:
try:
objects = self.structuralNavigation._getAll(self, arg=level)
except:
- # Translators: Orca has a command that presents a list of
- # structural navigation objects in a dialog box so that users
- # can navigate more quickly than they could with native keyboard
- # navigation. This is a message that will be presented to the
- # user when an error (such as the operation timing out) kept us
- # from getting these objects.
- script.presentMessage(_("Error: Could not create list of objects."))
+ script.presentMessage(messages.NAVIGATION_DIALOG_ERROR)
return
title, columnHeaders, rowData = self._dialogData(arg=level)
@@ -509,10 +498,7 @@ class StructuralNavigationObject:
if settings.inferLiveRegions:
script.liveMngr.goLastLiveRegion()
else:
- # Translators: this announces to the user that live region
- # support has been turned off.
- #
- script.presentMessage(_("Live region support is off"))
+ script.presentMessage(messages.LIVE_REGIONS_OFF)
if self.objType == StructuralNavigation.TABLE_CELL:
return goCell
@@ -740,29 +726,9 @@ class StructuralNavigation:
self.enabled = not self.enabled
if self.enabled:
- # Translators: the structural navigation keys are designed
- # to move the caret around document content by object type.
- # Thus H moves you to the next heading, Shift H to the
- # previous heading, T to the next table, and so on. Some
- # users prefer to turn this off to use Firefox's search
- # when typing feature. This message is sent to both the
- # braille display and the speech synthesizer when the user
- # toggles the structural navigation feature of Orca.
- # It should be a brief informative message.
- #
- string = _("Structural navigation keys on.")
+ string = messages.STRUCTURAL_NAVIGATION_KEYS_ON
else:
- # Translators: the structural navigation keys are designed
- # to move the caret around document content by object type.
- # Thus H moves you to the next heading, Shift H to the
- # previous heading, T to the next table, and so on. Some
- # users prefer to turn this off to use Firefox's search
- # when typing feature. This message is sent to both the
- # braille display and the speech synthesizer when the user
- # toggles the structural navigation feature of Orca.
- # It should be a brief informative message.
- #
- string = _("Structural navigation keys off.")
+ string = messages.STRUCTURAL_NAVIGATION_KEYS_OFF
debug.println(debug.LEVEL_CONFIGURATION, string)
self._script.presentMessage(string)
@@ -796,12 +762,7 @@ class StructuralNavigation:
try:
iTable = table.queryTable()
except:
- # Translators: this is for navigating document content by
- # moving from table cell to table cell. If the user gives a
- # table navigation command but is not in a table, Orca speaks
- # this message.
- #
- self._script.presentMessage(_("Not in a table."))
+ self._script.presentMessage(messages.TABLE_NOT_IN_A)
return None
currentRow, currentCol = currentCoordinates
@@ -815,40 +776,16 @@ class StructuralNavigation:
cell = iTable.getAccessibleAt(desiredRow, desiredCol)
if not cell:
if desiredCol < 0:
- # Translators: this is for navigating document
- # content by moving from table cell to table cell.
- # This is the message spoken when the user attempts
- # to move to the left of the current cell and is
- # already in the first column.
- #
- self._script.presentMessage(_("Beginning of row."))
+ self._script.presentMessage(messages.TABLE_ROW_BEGINNING)
desiredCol = 0
elif desiredCol > iTable.nColumns - 1:
- # Translators: this is for navigating document
- # content by moving from table cell to table cell.
- # This is the message spoken when the user attempts
- # to move to the right of the current cell and is
- # already in the last column.
- #
- self._script.presentMessage(_("End of row."))
+ self._script.presentMessage(messages.TABLE_ROW_END)
desiredCol = iTable.nColumns - 1
if desiredRow < 0:
- # Translators: this is for navigating document
- # content by moving from table cell to table cell.
- # This is the message spoken when the user attempts
- # to move to the cell above the current cell and is
- # already in the first row.
- #
- self._script.presentMessage(_("Top of column."))
+ self._script.presentMessage(messages.TABLE_COLUMN_TOP)
desiredRow = 0
elif desiredRow > iTable.nRows - 1:
- # Translators: this is for navigating document
- # content by moving from table cell to table cell.
- # This is the message spoken when the user attempts
- # to move to the cell below the current cell and is
- # already in the last row.
- #
- self._script.presentMessage(_("Bottom of column."))
+ self._script.presentMessage(messages.TABLE_COLUMN_BOTTOM)
desiredRow = iTable.nRows - 1
elif self._script.utilities.isSameObject(thisCell, cell) \
or settings.skipBlankCells and self._isBlankCell(cell):
@@ -967,21 +904,9 @@ class StructuralNavigation:
if wrapped:
if not isNext:
- # Translators: when the user is attempting to locate a
- # particular object and the top of a page or list is
- # reached without that object being found, we "wrap" to
- # the bottom and continue looking upwards. We need to
- # inform the user when this is taking place.
- #
- self._script.presentMessage(_("Wrapping to bottom."))
+ self._script.presentMessage(messages.WRAPPING_TO_BOTTOM)
else:
- # Translators: when the user is attempting to locate a
- # particular object and the bottom of a page or list is
- # reached without that object being found, we "wrap" to the
- # top and continue looking downwards. We need to inform the
- # user when this is taking place.
- #
- self._script.presentMessage(_("Wrapping to top."))
+ self._script.presentMessage(messages.WRAPPING_TO_TOP)
structuralNavigationObject.present(obj, arg)
@@ -1999,21 +1924,7 @@ class StructuralNavigation:
self._setCaretPosition(obj, characterOffset)
self._presentObject(obj, characterOffset)
else:
- # Translators: this is for navigating document content by
- # moving from anchor to anchor. (An anchor is a named spot
- # that one can jump to.) This is a detailed message which
- # will be presented to the user if no more anchors can be found.
- #
- full = _("No more anchors.")
- # Translators: Orca has a command that allows the user to move
- # to the next structural navigation object. In Orca, "structural
- # navigation" refers to quickly moving through a document by
- # jumping amongst objects of a given type, such as from link to
- # link, or from heading to heading, or from form field to form
- # field. This is a brief message which will be presented to the
- # user if the desired structural navigation object could not be
- # found.
- #
+ full = messages.NO_MORE_ANCHORS
brief = C_("structural navigation", "Not found")
self._script.presentMessage(full, brief)
@@ -2098,22 +2009,8 @@ class StructuralNavigation:
#
self._presentLine(obj, characterOffset)
else:
- # Translators: this is for navigating document content by
- # moving from blockquote to blockquote. This is a detailed
- # message which will be presented to the user if no more
- # blockquotes can be found.
- #
- full = _("No more blockquotes.")
- # Translators: Orca has a command that allows the user to move
- # to the next structural navigation object. In Orca, "structural
- # navigation" refers to quickly moving through a document by
- # jumping amongst objects of a given type, such as from link to
- # link, or from heading to heading, or from form field to form
- # field. This is a brief message which will be presented to the
- # user if the desired structural navigation object could not be
- # found.
- #
- brief = C_("structural navigation", "Not found")
+ full = messages.NO_MORE_BLOCKQUOTES
+ brief = messages.STRUCTURAL_NAVIGATION_NOT_FOUND
self._script.presentMessage(full, brief)
def _blockquoteDialogData(self):
@@ -2211,22 +2108,8 @@ class StructuralNavigation:
if obj:
obj.queryComponent().grabFocus()
else:
- # Translators: this is for navigating document content by
- # moving from push button to push button in a form. This is
- # a detailed message which will be presented to the user if
- # no more push buttons can be found.
- #
- full = _("No more buttons.")
- # Translators: Orca has a command that allows the user to move
- # to the next structural navigation object. In Orca, "structural
- # navigation" refers to quickly moving through a document by
- # jumping amongst objects of a given type, such as from link to
- # link, or from heading to heading, or from form field to form
- # field. This is a brief message which will be presented to the
- # user if the desired structural navigation object could not be
- # found.
- #
- brief = C_("structural navigation", "Not found")
+ full = messages.NO_MORE_BUTTONS
+ brief = messages.STRUCTURAL_NAVIGATION_NOT_FOUND
self._script.presentMessage(full, brief)
def _buttonDialogData(self):
@@ -2324,22 +2207,8 @@ class StructuralNavigation:
if obj:
obj.queryComponent().grabFocus()
else:
- # Translators: this is for navigating document content by
- # moving from checkbox to checkbox in a form. This is a
- # detailed message which will be presented to the user if
- # no more checkboxes can be found.
- #
- full = _("No more check boxes.")
- # Translators: Orca has a command that allows the user to move
- # to the next structural navigation object. In Orca, "structural
- # navigation" refers to quickly moving through a document by
- # jumping amongst objects of a given type, such as from link to
- # link, or from heading to heading, or from form field to form
- # field. This is a brief message which will be presented to the
- # user if the desired structural navigation object could not be
- # found.
- #
- brief = C_("structural navigation", "Not found")
+ full = messages.NO_MORE_CHECK_BOXES
+ brief = messages.STRUCTURAL_NAVIGATION_NOT_FOUND
self._script.presentMessage(full, brief)
def _checkBoxDialogData(self):
@@ -2455,24 +2324,8 @@ class StructuralNavigation:
self._setCaretPosition(newObj, characterOffset)
self._presentObject(obj, 0)
else:
- # Translators: this is for navigating document content by
- # moving from 'large object' to 'large object'. A 'large
- # object' is a logical chunk of text, such as a paragraph,
- # a list, a table, etc. This is a detailed message which
- # will be presented to the user if no more large objects
- # can be found.
- #
- full = _("No more large objects.")
- # Translators: Orca has a command that allows the user to move
- # to the next structural navigation object. In Orca, "structural
- # navigation" refers to quickly moving through a document by
- # jumping amongst objects of a given type, such as from link to
- # link, or from heading to heading, or from form field to form
- # field. This is a brief message which will be presented to the
- # user if the desired structural navigation object could not be
- # found.
- #
- brief = C_("structural navigation", "Not found")
+ full = messages.NO_MORE_CHUNKS
+ brief = messages.STRUCTURAL_NAVIGATION_NOT_FOUND
self._script.presentMessage(full, brief)
def _chunkDialogData(self):
@@ -2577,22 +2430,8 @@ class StructuralNavigation:
if obj:
obj.queryComponent().grabFocus()
else:
- # Translators: this is for navigating document content by
- # moving from combo box to combo box in a form. This is a
- # detailed message which will be presented to the user if
- # no more checkboxes can be found.
- #
- full = _("No more combo boxes.")
- # Translators: Orca has a command that allows the user to move
- # to the next structural navigation object. In Orca, "structural
- # navigation" refers to quickly moving through a document by
- # jumping amongst objects of a given type, such as from link to
- # link, or from heading to heading, or from form field to form
- # field. This is a brief message which will be presented to the
- # user if the desired structural navigation object could not be
- # found.
- #
- brief = C_("structural navigation", "Not found")
+ full = messages.NO_MORE_COMBO_BOXES
+ brief = messages.STRUCTURAL_NAVIGATION_NOT_FOUND
self._script.presentMessage(full, brief)
def _comboBoxDialogData(self):
@@ -2708,22 +2547,8 @@ class StructuralNavigation:
if obj:
obj.queryComponent().grabFocus()
else:
- # Translators: this is for navigating document content by
- # moving from text entry to text entry in a form. This is
- # a detailed message which will be presented to the user if
- # no more text entries can be found.
- #
- full = _("No more entries.")
- # Translators: Orca has a command that allows the user to move
- # to the next structural navigation object. In Orca, "structural
- # navigation" refers to quickly moving through a document by
- # jumping amongst objects of a given type, such as from link to
- # link, or from heading to heading, or from form field to form
- # field. This is a brief message which will be presented to the
- # user if the desired structural navigation object could not be
- # found.
- #
- brief = C_("structural navigation", "Not found")
+ full = messages.NO_MORE_ENTRIES
+ brief = messages.STRUCTURAL_NAVIGATION_NOT_FOUND
self._script.presentMessage(full, brief)
def _entryDialogData(self):
@@ -2832,22 +2657,8 @@ class StructuralNavigation:
obj = obj[0]
obj.queryComponent().grabFocus()
else:
- # Translators: this is for navigating document content by
- # moving from form field to form filed. This is a detailed
- # message which will be presented to the user if no more form
- # field can be found.
- #
- full = _("No more form fields.")
- # Translators: Orca has a command that allows the user to move
- # to the next structural navigation object. In Orca, "structural
- # navigation" refers to quickly moving through a document by
- # jumping amongst objects of a given type, such as from link to
- # link, or from heading to heading, or from form field to form
- # field. This is a brief message which will be presented to the
- # user if the desired structural navigation object could not be
- # found.
- #
- brief = C_("structural navigation", "Not found")
+ full = messages.NO_MORE_FORM_FIELDS
+ brief = messages.STRUCTURAL_NAVIGATION_NOT_FOUND
self._script.presentMessage(full, brief)
def _formFieldDialogData(self):
@@ -3004,40 +2815,12 @@ class StructuralNavigation:
self._setCaretPosition(obj, characterOffset)
self._presentObject(obj, characterOffset)
elif not arg:
- # Translators: this is for navigating HTML content by moving from
- # heading to heading (e.g. <h1>, <h2>, etc). This string is the
- # detailed message which Orca will present if there are no more
- # headings found.
- #
- full = _("No more headings.")
- # Translators: Orca has a command that allows the user to move
- # to the next structural navigation object. In Orca, "structural
- # navigation" refers to quickly moving through a document by
- # jumping amongst objects of a given type, such as from link to
- # link, or from heading to heading, or from form field to form
- # field. This is a brief message which will be presented to the
- # user if the desired structural navigation object could not be
- # found.
- #
- brief = C_("structural navigation", "Not found")
+ full = messages.NO_MORE_HEADINGS
+ brief = messages.STRUCTURAL_NAVIGATION_NOT_FOUND
self._script.presentMessage(full, brief)
else:
- # Translators: this is for navigating HTML content by moving from
- # heading to heading at a particular level (i.e. only <h1> or only
- # <h2>, etc.) This string is the detailed message which Orca will
- # present if there are no more headings found at the desired level.
- #
- full = _("No more headings at level %d.") % arg
- # Translators: Orca has a command that allows the user to move
- # to the next structural navigation object. In Orca, "structural
- # navigation" refers to quickly moving through a document by
- # jumping amongst objects of a given type, such as from link to
- # link, or from heading to heading, or from form field to form
- # field. This is a brief message which will be presented to the
- # user if the desired structural navigation object could not be
- # found.
- #
- brief = C_("structural navigation", "Not found")
+ full = messages.NO_MORE_HEADINGS_AT_LEVEL % arg
+ brief = messages.STRUCTURAL_NAVIGATION_NOT_FOUND
self._script.presentMessage(full, brief)
def _headingDialogData(self, arg=None):
@@ -3168,23 +2951,8 @@ class StructuralNavigation:
self._setCaretPosition(obj, characterOffset)
self._presentObject(obj, characterOffset)
else:
- # Translators: this is for navigating to the previous ARIA
- # role landmark. ARIA role landmarks are the W3C defined
- # HTML tag attribute 'role' used to identify important part
- # of webpage like banners, main context, search etc. This
- # is an indication that one was not found.
- #
- full = _("No landmark found.")
- # Translators: Orca has a command that allows the user to move
- # to the next structural navigation object. In Orca, "structural
- # navigation" refers to quickly moving through a document by
- # jumping amongst objects of a given type, such as from link to
- # link, or from heading to heading, or from form field to form
- # field. This is a brief message which will be presented to the
- # user if the desired structural navigation object could not be
- # found.
- #
- brief = C_("structural navigation", "Not found")
+ full = messages.NO_LANDMARK_FOUND
+ brief = messages.STRUCTURAL_NAVIGATION_NOT_FOUND
self._script.presentMessage(full, brief)
########################
@@ -3292,22 +3060,8 @@ class StructuralNavigation:
self._setCaretPosition(obj, characterOffset)
self._presentLine(obj, characterOffset)
else:
- # Translators: this is for navigating document content by moving
- # from bulleted/numbered list to bulleted/numbered list. This
- # string is the detailed message which Orca will present if there
- # are no more lists found.
- #
- full = _("No more lists.")
- # Translators: Orca has a command that allows the user to move
- # to the next structural navigation object. In Orca, "structural
- # navigation" refers to quickly moving through a document by
- # jumping amongst objects of a given type, such as from link to
- # link, or from heading to heading, or from form field to form
- # field. This is a brief message which will be presented to the
- # user if the desired structural navigation object could not be
- # found.
- #
- brief = C_("structural navigation", "Not found")
+ full = messages.NO_MORE_LISTS
+ brief = messages.STRUCTURAL_NAVIGATION_NOT_FOUND
self._script.presentMessage(full, brief)
def _listDialogData(self):
@@ -3412,22 +3166,8 @@ class StructuralNavigation:
#
self._presentLine(obj, characterOffset)
else:
- # Translators: this is for navigating document content by
- # moving from bulleted/numbered list item to bulleted/
- # numbered list item. This string is the detailed message
- # which Orca will present if there are no more list items found.
- #
- full = _("No more list items.")
- # Translators: Orca has a command that allows the user to move
- # to the next structural navigation object. In Orca, "structural
- # navigation" refers to quickly moving through a document by
- # jumping amongst objects of a given type, such as from link to
- # link, or from heading to heading, or from form field to form
- # field. This is a brief message which will be presented to the
- # user if the desired structural navigation object could not be
- # found.
- #
- brief = C_("structural navigation", "Not found")
+ full = messages.NO_MORE_LIST_ITEMS
+ brief = messages.STRUCTURAL_NAVIGATION_NOT_FOUND
self._script.presentMessage(full, brief)
def _listItemDialogData(self):
@@ -3532,21 +3272,8 @@ class StructuralNavigation:
#
self._script.outlineAccessible(obj)
else:
- # Translators: this is for navigating HTML in a structural
- # manner, where a 'live region' is a location in a web page
- # that are updated without having to refresh the entire page.
- #
- full = _("No more live regions.")
- # Translators: Orca has a command that allows the user to move
- # to the next structural navigation object. In Orca, "structural
- # navigation" refers to quickly moving through a document by
- # jumping amongst objects of a given type, such as from link to
- # link, or from heading to heading, or from form field to form
- # field. This is a brief message which will be presented to the
- # user if the desired structural navigation object could not be
- # found.
- #
- brief = C_("structural navigation", "Not found")
+ full = messages.NO_MORE_LIVE_REGIONS
+ brief = messages.STRUCTURAL_NAVIGATION_NOT_FOUND
self._script.presentMessage(full, brief)
########################
@@ -3627,21 +3354,8 @@ class StructuralNavigation:
self._setCaretPosition(newObj, characterOffset)
self._presentObject(obj, 0)
else:
- # Translators: this is for navigating document content by moving
- # from paragraph to paragraph. This string is the detailed message
- # which Orca will present if there are no more paragraphs found.
- #
- full = _("No more paragraphs.")
- # Translators: Orca has a command that allows the user to move
- # to the next structural navigation object. In Orca, "structural
- # navigation" refers to quickly moving through a document by
- # jumping amongst objects of a given type, such as from link to
- # link, or from heading to heading, or from form field to form
- # field. This is a brief message which will be presented to the
- # user if the desired structural navigation object could not be
- # found.
- #
- brief = C_("structural navigation", "Not found")
+ full = messages.NO_MORE_PARAGRAPHS
+ brief = messages.STRUCTURAL_NAVIGATION_NOT_FOUND
self._script.presentMessage(full, brief)
def _paragraphDialogData(self):
@@ -3739,22 +3453,8 @@ class StructuralNavigation:
if obj:
obj.queryComponent().grabFocus()
else:
- # Translators: this is for navigating in document content by moving
- # from radio button to radio button in a form. This string is the
- # detailed message which Orca will present if there are no more
- # radio buttons found.
- #
- full = _("No more radio buttons.")
- # Translators: Orca has a command that allows the user to move
- # to the next structural navigation object. In Orca, "structural
- # navigation" refers to quickly moving through a document by
- # jumping amongst objects of a given type, such as from link to
- # link, or from heading to heading, or from form field to form
- # field. This is a brief message which will be presented to the
- # user if the desired structural navigation object could not be
- # found.
- #
- brief = C_("structural navigation", "Not found")
+ full = messages.NO_MORE_RADIO_BUTTONS
+ brief = messages.STRUCTURAL_NAVIGATION_NOT_FOUND
self._script.presentMessage(full, brief)
def _radioButtonDialogData(self):
@@ -3845,22 +3545,8 @@ class StructuralNavigation:
self._setCaretPosition(newObj, characterOffset)
self._presentObject(obj, 0)
else:
- # Translators: this is for navigating document content by moving
- # amongst separators (e.g. <hr> tags). This string is the detailed
- # message which Orca will present if there are no more separators
- # found.
- #
- full = _("No more separators.")
- # Translators: Orca has a command that allows the user to move
- # to the next structural navigation object. In Orca, "structural
- # navigation" refers to quickly moving through a document by
- # jumping amongst objects of a given type, such as from link to
- # link, or from heading to heading, or from form field to form
- # field. This is a brief message which will be presented to the
- # user if the desired structural navigation object could not be
- # found.
- #
- brief = C_("structural navigation", "Not found")
+ full = messages.NO_MORE_SEPARATORS
+ brief = messages.STRUCTURAL_NAVIGATION_NOT_FOUND
self._script.presentMessage(full, brief)
########################
@@ -3940,21 +3626,8 @@ class StructuralNavigation:
self._setCaretPosition(cell, characterOffset)
self._presentObject(cell, characterOffset)
else:
- # Translators: this is for navigating document content by moving
- # from table to table. This string is the detailed message which
- # Orca will present if there are no more tables found.
- #
- full = _("No more tables.")
- # Translators: Orca has a command that allows the user to move
- # to the next structural navigation object. In Orca, "structural
- # navigation" refers to quickly moving through a document by
- # jumping amongst objects of a given type, such as from link to
- # link, or from heading to heading, or from form field to form
- # field. This is a brief message which will be presented to the
- # user if the desired structural navigation object could not be
- # found.
- #
- brief = C_("structural navigation", "Not found")
+ full = messages.NO_MORE_TABLES
+ brief = messages.STRUCTURAL_NAVIGATION_NOT_FOUND
self._script.presentMessage(full, brief)
def _tableDialogData(self):
@@ -4174,22 +3847,8 @@ class StructuralNavigation:
#
obj.queryComponent().grabFocus()
else:
- # Translators: this is for navigating document content by moving
- # from unvisited link to unvisited link. This string is the
- # detailed message which Orca will present if there are no more
- # unvisited links found.
- #
- full = _("No more unvisited links.")
- # Translators: Orca has a command that allows the user to move
- # to the next structural navigation object. In Orca, "structural
- # navigation" refers to quickly moving through a document by
- # jumping amongst objects of a given type, such as from link to
- # link, or from heading to heading, or from form field to form
- # field. This is a brief message which will be presented to the
- # user if the desired structural navigation object could not be
- # found.
- #
- brief = C_("structural navigation", "Not found")
+ full = messages.NO_MORE_UNVISITED_LINKS
+ brief = messages.STRUCTURAL_NAVIGATION_NOT_FOUND
self._script.presentMessage(full, brief)
def _unvisitedLinkDialogData(self):
@@ -4295,22 +3954,8 @@ class StructuralNavigation:
if obj:
obj.queryComponent().grabFocus()
else:
- # Translators: this is for navigating document content by moving
- # from visited link to visited link. This string is the detailed
- # message which Orca will present if there are no more visited
- # links found.
- #
- full = _("No more visited links.")
- # Translators: Orca has a command that allows the user to move
- # to the next structural navigation object. In Orca, "structural
- # navigation" refers to quickly moving through a document by
- # jumping amongst objects of a given type, such as from link to
- # link, or from heading to heading, or from form field to form
- # field. This is a brief message which will be presented to the
- # user if the desired structural navigation object could not be
- # found.
- #
- brief = C_("structural navigation", "Not found")
+ full = messages.NO_MORE_VISITED_LINKS
+ brief = messages.STRUCTURAL_NAVIGATION_NOT_FOUND
self._script.presentMessage(full, brief)
def _visitedLinkDialogData(self):
@@ -4406,22 +4051,8 @@ class StructuralNavigation:
#
obj.queryComponent().grabFocus()
else:
- # Translators: this is for navigating document content by moving
- # from unvisited link to unvisited link. This string is the
- # detailed message which Orca will present if there are no more
- # links found.
- #
- full = _("No more links.")
- # Translators: Orca has a command that allows the user to move
- # to the next structural navigation object. In Orca, "structural
- # navigation" refers to quickly moving through a document by
- # jumping amongst objects of a given type, such as from link to
- # link, or from heading to heading, or from form field to form
- # field. This is a brief message which will be presented to the
- # user if the desired structural navigation object could not be
- # found.
- #
- brief = C_("structural navigation", "Not found")
+ full = messages.NO_MORE_LINKS
+ brief = messages.STRUCTURAL_NAVIGATION_NOT_FOUND
self._script.presentMessage(full, brief)
def _linkDialogData(self):
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]