[orca] Updated Traditional Chinese translation(Hong Kong and Taiwan)



commit 754b9a077e0a8e3083c61dacac068b88f815b8dd
Author: Chao-Hsiung Liao <j_h_liau yahoo com tw>
Date:   Tue Aug 24 19:49:52 2010 +0800

    Updated Traditional Chinese translation(Hong Kong and Taiwan)

 po/zh_HK.po | 3051 +++++++++++++++++++++++++++++++++++++----------------------
 po/zh_TW.po | 3051 +++++++++++++++++++++++++++++++++++++----------------------
 2 files changed, 3861 insertions(+), 2241 deletions(-)
---
diff --git a/po/zh_HK.po b/po/zh_HK.po
index e732fee..5e4fd2d 100644
--- a/po/zh_HK.po
+++ b/po/zh_HK.po
@@ -5,10 +5,10 @@
 # Chao-Hsiung Liao <j_h_liau yahoo com tw>, 2009.
 msgid ""
 msgstr ""
-"Project-Id-Version: Orca 2.30.pre\n"
+"Project-Id-Version: Orca 2.31.91pre\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-03-27 21:11+0800\n"
-"PO-Revision-Date: 2010-03-27 21:12+0800\n"
+"POT-Creation-Date: 2010-08-24 19:48+0800\n"
+"PO-Revision-Date: 2010-08-24 19:49+0800\n"
 "Last-Translator: Chao-Hsiung Liao <j_h_liau yahoo com tw>\n"
 "Language-Team: Chinese (Hong Kong) <community linuxhall org>\n"
 "MIME-Version: 1.0\n"
@@ -16,11 +16,11 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Language: zh_TW\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Virtaal 0.5.0\n"
 
 #: ../orca.desktop.in.h:1 ../src/orca/app_gui_prefs.py:210
 #: ../src/orca/keybindings.py:157 ../src/orca/orca_gui_main.py:141
-#: ../src/orca/orca_gui_prefs.py:2281 ../src/orca/orca_gui_prefs.py:2386
+#: ../src/orca/orca_gui_prefs.py:2410 ../src/orca/orca_gui_prefs.py:2515
+#: ../src/orca/orca-splash.ui.h:1
 msgid "Orca"
 msgstr "Orca"
 
@@ -45,7 +45,7 @@ msgstr "Orca ç?? %s å??好設å®?"
 #. Translators: this refers to commands that do not currently have
 #. an associated key binding.
 #.
-#: ../src/orca/app_gui_prefs.py:215 ../src/orca/orca_gui_prefs.py:2392
+#: ../src/orca/app_gui_prefs.py:215 ../src/orca/orca_gui_prefs.py:2521
 msgid "Unbound"
 msgstr "�繫�"
 
@@ -79,44 +79,41 @@ msgstr "輸å?¥ç??æ?¸ç±¤"
 msgid "bookmark is current object"
 msgstr "æ?¸ç±¤æ?¯ç?®å??ç??ç?©ä»¶"
 
-#. Translators: this announces that the current object's parent and
-#. the parent of the object pointed to by the bookmark are the same.
-#.
-#: ../src/orca/bookmarks.py:110
-#: ../src/orca/scripts/toolkits/Gecko/bookmarks.py:114
+#: ../src/orca/bookmarks.py:111
+#: ../src/orca/scripts/toolkits/Gecko/bookmarks.py:115
 msgid "bookmark and current object have same parent"
 msgstr "æ?¸ç±¤å??ç?®å??ç??ç?©ä»¶æ??ç?¸å??ç??ç?¶é ?"
 
 #. Translators: this announces that the bookmark and the current
 #. object share a common ancestor
 #.
-#: ../src/orca/bookmarks.py:127
-#: ../src/orca/scripts/toolkits/Gecko/bookmarks.py:131
+#: ../src/orca/bookmarks.py:128
+#: ../src/orca/scripts/toolkits/Gecko/bookmarks.py:133
 #, fuzzy, python-format
 msgid "shared ancestor %s"
-msgstr "<b>å?±äº«è³?æ??夾</b>"
+msgstr "�享��庫"
 
 #. Translators: This announces that a comparison between the bookmark
 #. and the current object can not be determined.
 #.
-#: ../src/orca/bookmarks.py:134
-#: ../src/orca/scripts/toolkits/Gecko/bookmarks.py:138
+#: ../src/orca/bookmarks.py:135
+#: ../src/orca/scripts/toolkits/Gecko/bookmarks.py:140
 msgid "comparison unknown"
 msgstr "æ¯?è¼?çµ?æ??ä¸?æ??"
 
 #. Translators: this announces that a bookmark has been saved to
 #. disk
 #.
-#: ../src/orca/bookmarks.py:143
-#: ../src/orca/scripts/toolkits/Gecko/bookmarks.py:153
+#: ../src/orca/bookmarks.py:144
+#: ../src/orca/scripts/toolkits/Gecko/bookmarks.py:155
 msgid "bookmarks saved"
 msgstr "�籤已��"
 
 #. Translators: this announces that a bookmark could not be saved to
 #. disk
 #.
-#: ../src/orca/bookmarks.py:148
-#: ../src/orca/scripts/toolkits/Gecko/bookmarks.py:158
+#: ../src/orca/bookmarks.py:149
+#: ../src/orca/scripts/toolkits/Gecko/bookmarks.py:160
 msgid "bookmarks could not be saved"
 msgstr "�籤��被��"
 
@@ -124,7 +121,7 @@ msgstr "�籤��被��"
 #. alert and dialog windows plus the total number of
 #. windows that this application has.
 #.
-#: ../src/orca/braille_generator.py:166
+#: ../src/orca/braille_generator.py:167
 #, python-format
 msgid "(%d dialog)"
 msgid_plural "(%d dialogs)"
@@ -358,10 +355,107 @@ msgstr "æ??大å?©æ??(第ä¸?ç´?)"
 msgid "Belgium Dutch Grade 1"
 msgstr "æ¯?å?©æ??è?·è?­æ??(第ä¸?ç´?)"
 
+#: ../src/orca/chat.py:334
+msgid ""
+"Toggle whether we prefix chat room messages with the name of the chat room."
+msgstr "å??æ??æ?¯å?¦å°?è??天室ç??å??稱å? å?¥è??天室ç??è¨?æ?¯å??ã??"
+
+#: ../src/orca/chat.py:340
+msgid "Toggle whether we announce when our buddies are typing."
+msgstr "å??æ??ç?¶æ??å??ç??æ??å??å?¨è¼¸å?¥æ??æ?¯å?¦å??ç?¥æ??å??ã??"
+
+#: ../src/orca/chat.py:345
+msgid "Toggle whether we provide chat room specific message histories."
+msgstr "å??æ??æ?¯å?¦æ??ä¾?æ??å®?è??天室ç??ç??è¨?æ?¯æ­·å?²ç´?é??ã??"
+
+#: ../src/orca/chat.py:353
+msgid "Speak and braille a previous chat room message."
+msgstr "è®?å?ºå??é»?å?ºä¸?ä¸?å??è??天室ç??è¨?æ?¯ã??"
+
+#. Translators: If this checkbox is checked, then Orca will speak
+#. the name of the chat room.
+#.
+#: ../src/orca/chat.py:411
+msgid "_Speak Chat Room name"
+msgstr "è®?å?ºè??天室å??稱(_S)"
+
+#. Translators: If this checkbox is checked, then Orca will tell
+#. you when one of your buddies is typing a message.
+#.
+#: ../src/orca/chat.py:421
+msgid "Announce when your _buddies are typing"
+msgstr "ç?¶ä½ ç??æ??å??å?¨è¼¸å?¥æ??å??ç?¥(_B)"
+
+#. Translators: If this checkbox is checked, then Orca will provide
+#. the user with chat room specific message histories rather than just
+#. a single history which contains the latest messages from all the
+#. chat rooms that they are currently in.
+#.
+#: ../src/orca/chat.py:433
+msgid "Provide chat room specific _message histories"
+msgstr "æ??ä¾?æ??å®?è??天室ç??è¨?æ?¯æ­·å?²ç´?é??(_M)"
+
+#. Translators: Orca will speak all new chat messages as they appear
+#. irrespective of whether the chat application currently has focus.
+#. This is the default behaviour.
+#.
+#: ../src/orca/chat.py:460
+msgid "All cha_nnels"
+msgstr "æ??æ??é »é??(_N)"
+
+#. Translators: Orca will speak only new chat messages for the channel
+#. that currently has focus, irrespective of whether the chat
+#. application has focus.
+#.
+#: ../src/orca/chat.py:473
+msgid "A channel only if its _window is active"
+msgstr "å?ªæ??使ç?¨ä¸­è¦?çª?ç??é »é??(_W)"
+
+#: ../src/orca/chat.py:486
+#, python-format
+msgid "All channels when an_y %s window is active"
+msgstr "ç?¶ä»»ä½? %s è¦?çª?å?¨ä½¿ç?¨ä¸­ç??æ??æ??é »é??(_Y)"
+
+#. Translators: this is the title of a panel holding options for
+#. how messages in this application's chat rooms should be spoken.
+#.
+#: ../src/orca/chat.py:498
+msgid "Speak messages from"
+msgstr "�����"
+
+#: ../src/orca/chat.py:560
+msgid "speak chat room name."
+msgstr "è®?å?ºè??天室å??稱ã??"
+
+#: ../src/orca/chat.py:563
+msgid "Do not speak chat room name."
+msgstr "ä¸?è¦?è®?å?ºè??天室å??稱ã??"
+
+#: ../src/orca/chat.py:576
+msgid "announce when your buddies are typing."
+msgstr "ç?¶ä½ ç??æ??å??å?¨è¼¸å?¥æ??å??ç?¥ã??"
+
+#: ../src/orca/chat.py:579
+msgid "Do not announce when your buddies are typing."
+msgstr "ç?¶ä½ ç??æ??å??å?¨è¼¸å?¥æ??ä¸?è¦?å??ç?¥ã??"
+
+#: ../src/orca/chat.py:592
+msgid "Provide chat room specific message histories."
+msgstr "æ??ä¾?æ??å®?è??天室ç??è¨?æ?¯æ­·å?²ç´?é??ã??"
+
+#: ../src/orca/chat.py:595
+msgid "Do not provide chat room specific message histories."
+msgstr "ä¸?è¦?æ??ä¾?æ??å®?è??天室ç??è¨?æ?¯æ­·å?²ç´?é??ã??"
+
+#: ../src/orca/chat.py:655
+#, python-format
+msgid "Message from chat room %s"
+msgstr "ä¾?è?ªè??天室 %s ç??è¨?æ?¯ "
+
 #. Translators: this is the spoken word for the space character
 #.
-#: ../src/orca/chnames.py:39 ../src/orca/default.py:7463
-#: ../src/orca/default.py:7470 ../src/orca/keynames.py:133
+#: ../src/orca/chnames.py:39 ../src/orca/keynames.py:133
+#: ../src/orca/script_utilities.py:2709 ../src/orca/script_utilities.py:2716
 msgid "space"
 msgstr "空�"
 
@@ -1194,9 +1288,8 @@ msgstr "å?³å?®å¼?è??"
 #. Translators: this is the spoken word for the character 'â??' (U+201a)
 #.
 #: ../src/orca/chnames.py:586
-#, fuzzy
 msgid "single low quote"
-msgstr "å·¦å?®å¼?è??"
+msgstr "ä¸?å?®å¼?è??"
 
 #. Translators: this is the spoken word for the character 'â??' (U+201c)
 #.
@@ -1213,9 +1306,8 @@ msgstr "å?³é??å¼?è??"
 #. Translators: this is the spoken word for the character 'â??' (U+201e)
 #.
 #: ../src/orca/chnames.py:598
-#, fuzzy
 msgid "double low quote"
-msgstr "å·¦é??å¼?è??"
+msgstr "ä¸?é??å¼?è??"
 
 #. Translators: this is the spoken word for the character 'â? ' (U+2020)
 #.
@@ -1338,7 +1430,7 @@ msgstr "ç?¡é??大"
 #. as a bullet which looks like the black square: â?  (U+25A0).  Therefore,
 #. please use the same translation for this character.
 #.
-#: ../src/orca/chnames.py:679 ../src/orca/chnames.py:742
+#: ../src/orca/chnames.py:679 ../src/orca/chnames.py:854
 msgid "black square"
 msgstr "實���"
 
@@ -1356,7 +1448,7 @@ msgstr "空���"
 #. as a bullet which looks like the black diamond: â?? (U+25C6).  Therefore,
 #. please use the same translation for this character.
 #.
-#: ../src/orca/chnames.py:689 ../src/orca/chnames.py:748
+#: ../src/orca/chnames.py:689 ../src/orca/chnames.py:860
 msgid "black diamond"
 msgstr "實��形"
 
@@ -1414,19 +1506,191 @@ msgstr "xå??é ?ç?®ç¬¦è??"
 msgid "right-pointing arrow"
 msgstr "�箭頭"
 
+#. Translators: this is the spoken word for the character 'â?°' (U+2070)
+#.
+#: ../src/orca/chnames.py:733
+msgid "superscript 0"
+msgstr "�� 0"
+
+#. Translators: this is the spoken word for the character 'â?´' (U+2074)
+#.
+#: ../src/orca/chnames.py:737
+msgid "superscript 4"
+msgstr "�� 4"
+
+#. Translators: this is the spoken word for the character 'â?µ' (U+2075)
+#.
+#: ../src/orca/chnames.py:741
+msgid "superscript 5"
+msgstr "�� 5"
+
+#. Translators: this is the spoken word for the character 'â?¶' (U+2076)
+#.
+#: ../src/orca/chnames.py:745
+msgid "superscript 6"
+msgstr "�� 6"
+
+#. Translators: this is the spoken word for the character 'â?·' (U+2077)
+#.
+#: ../src/orca/chnames.py:749
+msgid "superscript 7"
+msgstr "�� 7"
+
+#. Translators: this is the spoken word for the character 'â?¸' (U+2078)
+#.
+#: ../src/orca/chnames.py:753
+msgid "superscript 8"
+msgstr "�� 8"
+
+#. Translators: this is the spoken word for the character 'â?¹' (U+2079)
+#.
+#: ../src/orca/chnames.py:757
+msgid "superscript 9"
+msgstr "�� 9"
+
+#. Translators: this is the spoken word for the character 'â?º' (U+207a)
+#.
+#: ../src/orca/chnames.py:761
+msgid "superscript plus"
+msgstr "ä¸?æ¨?å? è??"
+
+#. Translators: this is the spoken word for the character 'â?»' (U+207b)
+#.
+#: ../src/orca/chnames.py:765
+msgid "superscript minus"
+msgstr "ä¸?æ¨?æ¸?è??"
+
+#. Translators: this is the spoken word for the character 'â?¼' (U+207c)
+#.
+#: ../src/orca/chnames.py:769
+msgid "superscript equals"
+msgstr "ä¸?æ¨?ç­?è??"
+
+#. Translators: this is the spoken word for the character 'â?½' (U+207d)
+#.
+#: ../src/orca/chnames.py:773
+#, fuzzy
+msgid "superscript left paren"
+msgstr "左��"
+
+#. Translators: this is the spoken word for the character 'â?¾' (U+207e)
+#.
+#: ../src/orca/chnames.py:777
+#, fuzzy
+msgid "superscript right paren"
+msgstr "顯示å?³é??ç??"
+
+#. Translators: this is the spoken word for the character 'â?¿' (U+207f)
+#.
+#: ../src/orca/chnames.py:781
+msgid "superscript n"
+msgstr "�� n"
+
+#. Translators: this is the spoken word for the character 'â??' (U+2080)
+#.
+#: ../src/orca/chnames.py:785
+msgid "subscript 0"
+msgstr "�� 0"
+
+#. Translators: this is the spoken word for the character 'â??' (U+2081)
+#.
+#: ../src/orca/chnames.py:789
+msgid "subscript 1"
+msgstr "�� 1"
+
+#. Translators: this is the spoken word for the character 'â??' (U+2082)
+#.
+#: ../src/orca/chnames.py:793
+msgid "subscript 2"
+msgstr "�� 2"
+
+#. Translators: this is the spoken word for the character 'â??' (U+2083)
+#.
+#: ../src/orca/chnames.py:797
+msgid "subscript 3"
+msgstr "�� 3"
+
+#. Translators: this is the spoken word for the character 'â??' (U+2084)
+#.
+#: ../src/orca/chnames.py:801
+msgid "subscript 4"
+msgstr "�� 4"
+
+#. Translators: this is the spoken word for the character 'â??' (U+2085)
+#.
+#: ../src/orca/chnames.py:805
+msgid "subscript 5"
+msgstr "�� 5"
+
+#. Translators: this is the spoken word for the character 'â??' (U+2086)
+#.
+#: ../src/orca/chnames.py:809
+msgid "subscript 6"
+msgstr "�� 6"
+
+#. Translators: this is the spoken word for the character 'â??' (U+2087)
+#.
+#: ../src/orca/chnames.py:813
+msgid "subscript 7"
+msgstr "�� 7"
+
+#. Translators: this is the spoken word for the character 'â??' (U+2088)
+#.
+#: ../src/orca/chnames.py:817
+msgid "subscript 8"
+msgstr "�� 8"
+
+#. Translators: this is the spoken word for the character 'â??' (U+2089)
+#.
+#: ../src/orca/chnames.py:821
+msgid "subscript 9"
+msgstr "�� 9"
+
+#. Translators: this is the spoken word for the character 'â??' (U+208a)
+#.
+#: ../src/orca/chnames.py:825
+msgid "subscript plus"
+msgstr "ä¸?æ¨?å? è??"
+
+#. Translators: this is the spoken word for the character 'â??' (U+208b)
+#.
+#: ../src/orca/chnames.py:829
+msgid "subscript minus"
+msgstr "ä¸?æ¨?æ¸?è??"
+
+#. Translators: this is the spoken word for the character 'â??' (U+208c)
+#.
+#: ../src/orca/chnames.py:833
+msgid "subscript equals"
+msgstr "ä¸?æ¨?ç­?è??"
+
+#. Translators: this is the spoken word for the character 'â??' (U+208d)
+#.
+#: ../src/orca/chnames.py:837
+#, fuzzy
+msgid "subscript left paren"
+msgstr "左��"
+
+#. Translators: this is the spoken word for the character 'â??' (U+208e)
+#.
+#: ../src/orca/chnames.py:841
+#, fuzzy
+msgid "subscript right paren"
+msgstr "顯示å?³é??ç??"
+
 #. Translators: this is the spoken word for the character 'â?¢' (U+27a2)
 #. This symbol is included here because it can be used as a bullet in an
 #. OOo list. The goal is to inform the user of the appearance of the bullet
 #. without too much verbiage, hence simply "right-pointing arrowhead".
 #.
-#: ../src/orca/chnames.py:736
+#: ../src/orca/chnames.py:848
 msgid "right-pointing arrowhead"
 msgstr "right-pointing arrowhead"
 
 #. Translators: this command will move the mouse pointer
 #. to the current item without clicking on it.
 #.
-#: ../src/orca/default.py:154
+#: ../src/orca/default.py:152
 msgid "Routes the pointer to the current item."
 msgstr "å°?æ??æ¨?è½?å??ç?®å??ç??é ?ç?®ã??"
 
@@ -1440,7 +1704,7 @@ msgstr "å°?æ??æ¨?è½?å??ç?®å??ç??é ?ç?®ã??"
 #. {line,word,character}.  A left click means to generate
 #. a left mouse button click on the current item.
 #.
-#: ../src/orca/default.py:169
+#: ../src/orca/default.py:167
 msgid "Performs left click on current flat review item."
 msgstr "å?¨ç?®å??ç?? flat review é ?ç?®ä¸­æ??ä¸?å·¦é?µ"
 
@@ -1454,7 +1718,7 @@ msgstr "å?¨ç?®å??ç?? flat review é ?ç?®ä¸­æ??ä¸?å·¦é?µ"
 #. {line,word,character}.  A right click means to generate
 #. a right mouse button click on the current item.
 #.
-#: ../src/orca/default.py:184
+#: ../src/orca/default.py:182
 msgid "Performs right click on current flat review item."
 msgstr "å?¨ç?®å??ç?? flat review é ?ç?®ä¸­æ??ä¸?å?³é?µ"
 
@@ -1466,9 +1730,9 @@ msgstr "å?¨ç?®å??ç?? flat review é ?ç?®ä¸­æ??ä¸?å?³é?µ"
 #. be positioned at the point where the speech was
 #. interrupted.
 #.
-#: ../src/orca/default.py:197 ../src/orca/scripts/apps/acroread.py:114
-#: ../src/orca/scripts/apps/evolution/script.py:153
-#: ../src/orca/scripts/toolkits/Gecko/script.py:536
+#: ../src/orca/default.py:195 ../src/orca/scripts/apps/acroread/script.py:114
+#: ../src/orca/scripts/apps/evolution/script.py:159
+#: ../src/orca/scripts/toolkits/Gecko/script.py:544
 msgid "Speaks entire document."
 msgstr "è®?å?ºæ?´å??æ??件ã??"
 
@@ -1479,7 +1743,7 @@ msgstr "è®?å?ºæ?´å??æ??件ã??"
 #. name of the current pushbutton with focus as well as
 #. its mnemonic.
 #.
-#: ../src/orca/default.py:209
+#: ../src/orca/default.py:207
 msgid "Performs the basic where am I operation."
 msgstr "é?²è¡?å?ºæ?¬ç??ã??æ??å?¨å?ªè£?ã??æ??ä½?ã??"
 
@@ -1490,21 +1754,21 @@ msgstr "é?²è¡?å?ºæ?¬ç??ã??æ??å?¨å?ªè£?ã??æ??ä½?ã??"
 #. name of the current pushbutton with focus as well as
 #. its mnemonic.
 #.
-#: ../src/orca/default.py:221
+#: ../src/orca/default.py:219
 msgid "Performs the detailed where am I operation."
 msgstr "é?²è¡?詳細ç??ã??æ??å?¨å?ªè£?ã??æ??ä½?ã??"
 
 #. Translators: This command will cause the window's
 #. title to be spoken.
 #.
-#: ../src/orca/default.py:234
+#: ../src/orca/default.py:232
 msgid "Speaks the title bar."
 msgstr "è®?å?ºæ¨?é¡?å??ã??"
 
 #. Translators: This command will cause the window's
 #. status bar contents to be spoken.
 #.
-#: ../src/orca/default.py:247
+#: ../src/orca/default.py:245
 msgid "Speaks the status bar."
 msgstr "è®?å?ºç??æ??å??ã??"
 
@@ -1513,7 +1777,7 @@ msgstr "è®?å?ºç??æ??å??ã??"
 #. that text.  For example, they may want to find the
 #. "OK" button.
 #.
-#: ../src/orca/default.py:257
+#: ../src/orca/default.py:255
 msgid "Opens the Orca Find dialog."
 msgstr "é??å?? Orca å°?æ?¾å°?話è¦?çª?ã??"
 
@@ -1523,7 +1787,7 @@ msgstr "é??å?? Orca å°?æ?¾å°?話è¦?çª?ã??"
 #. "OK" button.  This string is used for finding the
 #. next occurence of a string.
 #.
-#: ../src/orca/default.py:268
+#: ../src/orca/default.py:266
 msgid "Searches for the next instance of a string."
 msgstr "æ??å°?ä¸?ä¸?å??ç?¸å??ç??å­?串ã??"
 
@@ -1533,7 +1797,7 @@ msgstr "æ??å°?ä¸?ä¸?å??ç?¸å??ç??å­?串ã??"
 #. "OK" button.  This string is used for finding the
 #. previous occurence of a string.
 #.
-#: ../src/orca/default.py:279
+#: ../src/orca/default.py:277
 msgid "Searches for the previous instance of a string."
 msgstr "æ??å°?ä¸?ä¸?å??ç?¸å??ç??å­?串ã??"
 
@@ -1543,7 +1807,7 @@ msgstr "æ??å°?ä¸?ä¸?å??ç?¸å??ç??å­?串ã??"
 #. zones in the active window for the application that
 #. currently has focus.
 #.
-#: ../src/orca/default.py:290
+#: ../src/orca/default.py:288
 msgid "Paints and prints the visible zones in the active window."
 msgstr "å?¨ä½¿ç?¨ç??è¦?çª?中繪ç?«å??å?°å?ºå?¯è¦?å??å??ã??"
 
@@ -1556,7 +1820,7 @@ msgstr "å?¨ä½¿ç?¨ç??è¦?çª?中繪ç?«å??å?°å?ºå?¯è¦?å??å??ã??"
 #. the user to explore this text by the {previous,next}
 #. {line,word,character}.
 #.
-#: ../src/orca/default.py:304
+#: ../src/orca/default.py:302
 msgid "Enters and exits flat review mode."
 msgstr "é?²å?¥å??é?¢é?? flat review 模å¼?ã??"
 
@@ -1569,7 +1833,7 @@ msgstr "é?²å?¥å??é?¢é?? flat review 模å¼?ã??"
 #. the user to explore this text by the {previous,next}
 #. {line,word,character}.
 #.
-#: ../src/orca/default.py:318
+#: ../src/orca/default.py:316
 msgid "Moves flat review to the beginning of the previous line."
 msgstr "å°? flat review 移è?³ä¸?ä¸?è¡?ç??è¡?é¦?ã??"
 
@@ -1583,7 +1847,7 @@ msgstr "å°? flat review 移è?³ä¸?ä¸?è¡?ç??è¡?é¦?ã??"
 #. {line,word,character}.  The home position is the
 #. beginning of the content in the window.
 #.
-#: ../src/orca/default.py:333
+#: ../src/orca/default.py:331
 msgid "Moves flat review to the home position."
 msgstr "å°? flat review 移è?³å®¶ä½?ç½®ã??"
 
@@ -1597,7 +1861,7 @@ msgstr "å°? flat review 移è?³å®¶ä½?ç½®ã??"
 #. {line,word,character}.  This particular command will
 #. cause Orca to speak the current line.
 #.
-#: ../src/orca/default.py:348
+#: ../src/orca/default.py:346
 msgid "Speaks the current flat review line."
 msgstr "è®?å?ºç?®å??ç?? flat review è¡?ã??"
 
@@ -1611,7 +1875,7 @@ msgstr "è®?å?ºç?®å??ç?? flat review è¡?ã??"
 #. {line,word,character}. This particular command will
 #. cause Orca to spell the current line.
 #.
-#: ../src/orca/default.py:363
+#: ../src/orca/default.py:361
 msgid "Spells the current flat review line."
 msgstr "æ?¼å?ºç?®å??ç?? flat review è¡?ã??"
 
@@ -1626,7 +1890,7 @@ msgstr "æ?¼å?ºç?®å??ç?? flat review è¡?ã??"
 #. cause Orca to "phonetically spell" the current line,
 #. saying "Alpha" for "a", "Bravo" for "b" and so on.
 #.
-#: ../src/orca/default.py:379
+#: ../src/orca/default.py:377
 msgid "Phonetically spells the current flat review line."
 msgstr "æ?¼å?ºç?®å??ç?? flat review æ??å­?è¡?ã??"
 
@@ -1639,7 +1903,7 @@ msgstr "æ?¼å?ºç?®å??ç?? flat review æ??å­?è¡?ã??"
 #. the user to explore this text by the {previous,next}
 #. {line,word,character}.
 #.
-#: ../src/orca/default.py:393
+#: ../src/orca/default.py:391
 msgid "Moves flat review to the beginning of the next line."
 msgstr "å°? flat review 移è?³ä¸?ä¸?è¡?ç??è¡?é¦?ã??"
 
@@ -1653,7 +1917,7 @@ msgstr "å°? flat review 移è?³ä¸?ä¸?è¡?ç??è¡?é¦?ã??"
 #. {line,word,character}.  The end position is the last
 #. bit of information in the window.
 #.
-#: ../src/orca/default.py:408
+#: ../src/orca/default.py:406
 msgid "Moves flat review to the end position."
 msgstr "å°? flat review 移è?³æ??å°¾ä½?ç½®ã??"
 
@@ -1668,7 +1932,7 @@ msgstr "å°? flat review 移è?³æ??å°¾ä½?ç½®ã??"
 #. in the window until you reach the top (i.e., it will
 #. wrap across lines if necessary).
 #.
-#: ../src/orca/default.py:424
+#: ../src/orca/default.py:422
 msgid "Moves flat review to the previous item or word."
 msgstr "å°? flat review 移è?³ä¸?ä¸?å??å­?符æ??å­?è©?ã??"
 
@@ -1683,7 +1947,7 @@ msgstr "å°? flat review 移è?³ä¸?ä¸?å??å­?符æ??å­?è©?ã??"
 #. geographically above, as if you drew a vertical line
 #. in the window.
 #.
-#: ../src/orca/default.py:440
+#: ../src/orca/default.py:438
 msgid "Moves flat review to the word above the current word."
 msgstr "å°? flat review 移è?³ç?®å??å­?è©?ä¹?ä¸?ã??"
 
@@ -1697,7 +1961,7 @@ msgstr "å°? flat review 移è?³ç?®å??å­?è©?ä¹?ä¸?ã??"
 #. {line,word,character}.  This command will speak the
 #. current word or item.
 #.
-#: ../src/orca/default.py:455
+#: ../src/orca/default.py:453
 msgid "Speaks the current flat review item or word."
 msgstr "è®?å?ºç?®å??ç?? flat review é ?ç?®æ??å­?è©?ã??"
 
@@ -1711,7 +1975,7 @@ msgstr "è®?å?ºç?®å??ç?? flat review é ?ç?®æ??å­?è©?ã??"
 #. {line,word,character}.  This command will spell out
 #. the current word or item letter by letter.
 #.
-#: ../src/orca/default.py:470
+#: ../src/orca/default.py:468
 msgid "Spells the current flat review item or word."
 msgstr "æ?¼å?ºç?®å??ç?? flat review é ?ç?®æ??å­?è©?ã??"
 
@@ -1726,7 +1990,7 @@ msgstr "æ?¼å?ºç?®å??ç?? flat review é ?ç?®æ??å­?è©?ã??"
 #. the current word or item phonetically, saying "Alpha"
 #. for "a", "Bravo" for "b" and so on.
 #.
-#: ../src/orca/default.py:486
+#: ../src/orca/default.py:484
 msgid "Phonetically spells the current flat review item or word."
 msgstr "æ?¼å?ºç?®å??ç?? flat review é ?ç?®æ??å­?è©?ã??"
 
@@ -1742,7 +2006,7 @@ msgstr "æ?¼å?ºç?®å??ç?? flat review é ?ç?®æ??å­?è©?ã??"
 #. some other GUI widget.  The 'speaks' means it will
 #. speak the text associated with the object.
 #.
-#: ../src/orca/default.py:503
+#: ../src/orca/default.py:501
 msgid "Speaks the current flat review object."
 msgstr "è®?å?ºç?®å??ç?? flat review ç?©ä»¶ã??"
 
@@ -1757,7 +2021,7 @@ msgstr "è®?å?ºç?®å??ç?? flat review ç?©ä»¶ã??"
 #. in the window until you reach the end (i.e., it will
 #. wrap across lines if necessary).
 #.
-#: ../src/orca/default.py:519
+#: ../src/orca/default.py:517
 msgid "Moves flat review to the next item or word."
 msgstr "å°? flat review 移è?³ä¸?ä¸?å??é ?ç?®æ??å­?è©?ã??"
 
@@ -1772,7 +2036,7 @@ msgstr "å°? flat review 移è?³ä¸?ä¸?å??é ?ç?®æ??å­?è©?ã??"
 #. geographically below, as if you drew a vertical line
 #. downward on the screen.
 #.
-#: ../src/orca/default.py:535
+#: ../src/orca/default.py:533
 msgid "Moves flat review to the word below the current word."
 msgstr "å°? flat review 移è?³ç?®å??å­?è©?ä¹?ä¸?ã??"
 
@@ -1787,7 +2051,7 @@ msgstr "å°? flat review 移è?³ç?®å??å­?è©?ä¹?ä¸?ã??"
 #. in the window until you reach the top (i.e., it will
 #. wrap across lines if necessary).
 #.
-#: ../src/orca/default.py:551
+#: ../src/orca/default.py:549
 msgid "Moves flat review to the previous character."
 msgstr "å°? flat review 移è?³ä¸?ä¸?å??å­?符ã??"
 
@@ -1800,7 +2064,7 @@ msgstr "å°? flat review 移è?³ä¸?ä¸?å??å­?符ã??"
 #. the user to explore this text by the {previous,next}
 #. {line,word,character}.
 #.
-#: ../src/orca/default.py:565
+#: ../src/orca/default.py:563
 msgid "Moves flat review to the end of the line."
 msgstr "å°? flat review 移è?³è¡?å°¾ã??"
 
@@ -1817,7 +2081,7 @@ msgstr "å°? flat review 移è?³è¡?å°¾ã??"
 #. this case will be the spoken language form of the
 #. character currently being reviewed.
 #.
-#: ../src/orca/default.py:583
+#: ../src/orca/default.py:581
 msgid "Speaks the current flat review character."
 msgstr "è®?å?ºç?®å??ç?? flat review å­?符ã??"
 
@@ -1835,7 +2099,7 @@ msgstr "è®?å?ºç?®å??ç?? flat review å­?符ã??"
 #. character currently being reviewed, saying "Alpha"
 #. for "a", "Bravo" for "b" and so on.
 #.
-#: ../src/orca/default.py:602
+#: ../src/orca/default.py:600
 msgid "Phonetically speaks the current flat review character."
 msgstr "è®?å?ºç?®å??ç?? flat review å­?符ã??"
 
@@ -1852,11 +2116,9 @@ msgstr "è®?å?ºç?®å??ç?? flat review å­?符ã??"
 #. cause Orca to speak information about the current character
 #. Like its unicode value and other relevant information
 #.
-#: ../src/orca/default.py:620
-#, fuzzy
-#| msgid "Speaks the current flat review character."
+#: ../src/orca/default.py:618
 msgid "Speaks unicode value of the current flat review character."
-msgstr "è®?å?ºç?®å??ç?? flat review å­?符ã??"
+msgstr "è®?å?ºç?®å??ç?? flat review å­?符ç?? unicode æ?¸å?¼ã??"
 
 #. Translators: the 'flat review' feature of Orca
 #. allows the blind user to explore the text in a
@@ -1869,7 +2131,7 @@ msgstr "è®?å?ºç?®å??ç?? flat review å­?符ã??"
 #. in the window until you reach the end (i.e., it will
 #. wrap across lines if necessary).
 #.
-#: ../src/orca/default.py:637
+#: ../src/orca/default.py:635
 msgid "Moves flat review to the next character."
 msgstr "å°? flat review 移è?³ä¸?ä¸?å??å­?符ã??"
 
@@ -1877,7 +2139,7 @@ msgstr "å°? flat review 移è?³ä¸?ä¸?å??å­?符ã??"
 #. sometimes want the entire row of a table read, or
 #. they just want the current cell to be presented to them.
 #.
-#: ../src/orca/default.py:646
+#: ../src/orca/default.py:644
 msgid "Toggles whether to read just the current table cell or the whole row."
 msgstr "å??æ??æ??å?¦é?±è®?ç?®å??ç??表格æ??æ?´å??ã??"
 
@@ -1885,7 +2147,7 @@ msgstr "å??æ??æ??å?¦é?±è®?ç?®å??ç??表格æ??æ?´å??ã??"
 #. text attributes, such as bold, italic, font name,
 #. font size, etc.
 #.
-#: ../src/orca/default.py:656
+#: ../src/orca/default.py:654
 msgid "Reads the attributes associated with the current text character."
 msgstr "é?±è®?ç?®å??å­?符ç?¸é??ç??屬æ?§ã??"
 
@@ -1895,7 +2157,7 @@ msgstr "é?±è®?ç?®å??å­?符ç?¸é??ç??屬æ?§ã??"
 #. via speech and braille. This information will be
 #. helpful to script writers.
 #.
-#: ../src/orca/default.py:668
+#: ../src/orca/default.py:666
 msgid "Reports information on current script."
 msgstr "å ±å??ç?®å?? script ç??è³?è¨?ã??"
 
@@ -1908,7 +2170,7 @@ msgstr "å ±å??ç?®å?? script ç??è³?è¨?ã??"
 #. braille display so they can pan left and right over
 #. this line.
 #.
-#: ../src/orca/default.py:682 ../src/orca/scripts/toolkits/Gecko/script.py:550
+#: ../src/orca/default.py:680 ../src/orca/scripts/toolkits/Gecko/script.py:558
 msgid "Pans the braille display to the left."
 msgstr "é»?å­?顯示å??左移ã??"
 
@@ -1921,7 +2183,7 @@ msgstr "é»?å­?顯示å??左移ã??"
 #. braille display so they can pan left and right over
 #. this line.
 #.
-#: ../src/orca/default.py:697 ../src/orca/scripts/toolkits/Gecko/script.py:565
+#: ../src/orca/default.py:695 ../src/orca/scripts/toolkits/Gecko/script.py:573
 msgid "Pans the braille display to the right."
 msgstr "é»?å­?顯示å??å?³ç§»ã??"
 
@@ -1935,7 +2197,7 @@ msgstr "é»?å­?顯示å??å?³ç§»ã??"
 #. {line,word,character}.  The bottom left is the bottom
 #. left of the window currently being reviewed.
 #.
-#: ../src/orca/default.py:713
+#: ../src/orca/default.py:711
 msgid "Moves flat review to the bottom left."
 msgstr "å°? flat review 移è?³å·¦ä¸?ã??"
 
@@ -1952,7 +2214,7 @@ msgstr "å°? flat review 移è?³å·¦ä¸?ã??"
 #. feature used here will return the flat review to the
 #. object with focus.
 #.
-#: ../src/orca/default.py:731
+#: ../src/orca/default.py:729
 msgid "Returns to object with keyboard focus."
 msgstr "å??å?°æ??é?µç?¤ç?¦é»?ç??ç?©ä»¶"
 
@@ -1962,7 +2224,7 @@ msgstr "å??å?°æ??é?µç?¤ç?¦é»?ç??ç?©ä»¶"
 #. feature used here is an option to toggle between
 #. contracted and uncontracted.
 #.
-#: ../src/orca/default.py:742
+#: ../src/orca/default.py:740
 msgid "Turns contracted braille on and off."
 msgstr "é??å??å??é??é??縮ç?­å¼?é»?å­?ã??"
 
@@ -1972,21 +2234,21 @@ msgstr "é??å??å??é??é??縮ç?­å¼?é»?å­?ã??"
 #. tell the machine they are interested in a particular
 #. character on the display.
 #.
-#: ../src/orca/default.py:753
+#: ../src/orca/default.py:751
 msgid "Processes a cursor routing key."
 msgstr ""
 
 #. Translators: this is used to indicate the start point
 #. of a text selection.
 #.
-#: ../src/orca/default.py:761
+#: ../src/orca/default.py:759
 msgid "Marks the beginning of a text selection."
 msgstr "æ¨?è¨?æ??å­?é?¸æ??å??å??ç??é??é ­ã??"
 
 #. Translators: this is used to indicate the end point
 #. of a text selection.
 #.
-#: ../src/orca/default.py:769
+#: ../src/orca/default.py:767
 msgid "Marks the end of a text selection."
 msgstr "æ¨?è¨?æ??å­?é?¸æ??å??å??ç??çµ?å°¾ã??"
 
@@ -1997,21 +2259,33 @@ msgstr "æ¨?è¨?æ??å­?é?¸æ??å??å??ç??çµ?å°¾ã??"
 #. particular key combination, or they might just be to
 #. echo the name of the key if Orca doesn't have a handler.
 #.
-#: ../src/orca/default.py:781
+#: ../src/orca/default.py:779
 msgid "Enters learn mode.  Press escape to exit learn mode."
 msgstr "é?²å?¥å­¸ç¿?模å¼?ã??  æ??é?¢é??é?µé?¢é??å­¸ç¿?模å¼?ã??"
 
+#. Translators: Orca has a "List Shortcuts Mode" that will allow
+#. the user to list a group of keyboard shortcuts. The Orca
+#. default shortcuts can be listed by pressing 1, and Orca
+#. shortcuts for the application under focus can be listed by
+#. pressing 2. User can press Up/ Down to navigate and hear
+#. the list, changeover to another list by pressing 1/2,
+#. and exit the "List Shortcuts Mode" by pressing Escape.
+#.
+#: ../src/orca/default.py:792
+msgid "Enters list shortcuts mode.  Press escape to exit list shortcuts mode."
+msgstr "é?²å?¥å??å?ºæ?·å¾?é?µæ¨¡å¼?ã??  æ?? escape é?¢é??æ?·å¾?é?µæ¨¡å¼?ã??"
+
 #. Translators: the speech rate is how fast the speech
 #. synthesis engine will generate speech.
 #.
-#: ../src/orca/default.py:789
+#: ../src/orca/default.py:802
 msgid "Decreases the speech rate."
 msgstr "æ¸?æ?¢æ??è®?é??度ã??"
 
 #. Translators: the speech rate is how fast the speech
 #. synthesis engine will generate speech.
 #.
-#: ../src/orca/default.py:797
+#: ../src/orca/default.py:810
 msgid "Increases the speech rate."
 msgstr "å? å¿«æ??è®?é??度ã??"
 
@@ -2019,7 +2293,7 @@ msgstr "å? å¿«æ??è®?é??度ã??"
 #. pitch/frequency the speech synthesis engine will
 #. generate speech.
 #.
-#: ../src/orca/default.py:806
+#: ../src/orca/default.py:819
 msgid "Decreases the speech pitch."
 msgstr "æ¸?ä½?æ??è®?é?³èª¿ã??"
 
@@ -2027,11 +2301,11 @@ msgstr "æ¸?ä½?æ??è®?é?³èª¿ã??"
 #. pitch/frequency the speech synthesis engine will
 #. generate speech.
 #.
-#: ../src/orca/default.py:815
+#: ../src/orca/default.py:828
 msgid "Increases the speech pitch."
 msgstr "å? é«?æ??è®?é?³èª¿ã??"
 
-#: ../src/orca/default.py:820
+#: ../src/orca/default.py:833
 msgid "Quits Orca"
 msgstr "é?¢é?? Orca"
 
@@ -2039,7 +2313,7 @@ msgstr "é?¢é?? Orca"
 #. the dialog that allows users to set their preferences
 #. for Orca.
 #.
-#: ../src/orca/default.py:829
+#: ../src/orca/default.py:842
 msgid "Displays the preferences configuration dialog."
 msgstr "顯示å??好設å®?å°?話è¦?çª?ã??"
 
@@ -2047,34 +2321,66 @@ msgstr "顯示å??好設å®?å°?話è¦?çª?ã??"
 #. dialog is the dialog that allows users to set their
 #. preferences for a specific application within Orca.
 #.
-#: ../src/orca/default.py:838
+#: ../src/orca/default.py:851
 msgid "Displays the application preferences configuration dialog."
 msgstr "顯示å??好設å®?å°?話ç??ã??"
 
 #. Translators: Orca allows the user to turn speech synthesis
 #. on or off.  We call it 'silencing'.
 #.
-#: ../src/orca/default.py:846
+#: ../src/orca/default.py:859
 msgid "Toggles the silencing of speech."
 msgstr "å??æ??ç?ºé??é?³ã??"
 
+#. Translators: Orca allows the user to enable/disable
+#. the speaking of indentation and justification.
+#.
+#: ../src/orca/default.py:868
+msgid "Toggles the speaking of indentation and justification."
+msgstr "å??æ??æ?¯å?¦è®?å?ºç¸®æ??å??å°?é½?ã??"
+
+#. Translators: Orca allows users to cycle through
+#. punctuation levels.
+#. None, some, most, or all, punctuation will be spoken.
+#.
+#: ../src/orca/default.py:877
+msgid "Cycles to the next speaking of punctuation level."
+msgstr "循ç?°è?³ä¸?ä¸?å??æ¨?é?³ç¬¦è??ç­?ç´?ã??"
+
+#. 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.
+#. The following string refers to a command that allows the
+#. user to quickly choose which type of echo is being used.
+#.
+#: ../src/orca/default.py:895
+msgid "Cycles to the next key echo level."
+msgstr "循ç?°è?³ä¸?ä¸?å??æ??é?µå??é?¿ç­?ç´?ã??"
+
 #. Translators: this is a debug message that Orca users
 #. will not normally see. It describes a debug routine
 #. that prints a list of all known applications currently
 #. running on the desktop, to stdout.
 #.
-#: ../src/orca/default.py:856
+#: ../src/orca/default.py:905
 msgid ""
 "Prints a debug listing of all known applications to the console where Orca "
 "is running."
-msgstr "ç?¶ Orca æ­£å?¨é??è¡?æ??ï¼?顯示æ??æ??å·²ç?¥ç¨?å¼?ç??å?µé?¯è³?è¨?æ¸?å?®"
+msgstr "ç?¶ Orca æ­£å?¨é??è¡?æ??ï¼?æ??å?°æ??æ??å·²ç?¥ç¨?å¼?ç??å?µé?¯è³?è¨?æ¸?å?®"
 
 #. Translators: this is a debug message that Orca users
 #. will not normally see. It describes a debug routine
 #. that allows the user to adjust the level of debug
 #. information that Orca generates at run time.
 #.
-#: ../src/orca/default.py:867
+#: ../src/orca/default.py:916
 msgid "Cycles the debug level at run time."
 msgstr "å?¨å?·è¡?æ??å??å?ºå?µé?¯ç´?å?¥ã??"
 
@@ -2086,7 +2392,7 @@ msgstr "å?¨å?·è¡?æ??å??å?ºå?µé?¯ç´?å?¥ã??"
 #. the components that are its descendants in the component
 #. tree).
 #.
-#: ../src/orca/default.py:880
+#: ../src/orca/default.py:929
 msgid "Prints debug information about the ancestry of the object with focus."
 msgstr "顯示å??å¾?ç?¦é»?ç?©ä»¶ç??è??絡ç??å?µé?¯è³?è¨?ã??"
 
@@ -2097,7 +2403,7 @@ msgstr "顯示å??å¾?ç?¦é»?ç?©ä»¶ç??è??絡ç??å?µé?¯è³?è¨?ã??"
 #. component hierarchy (i.e. all the components and all
 #. their descendants in the component tree).
 #.
-#: ../src/orca/default.py:893
+#: ../src/orca/default.py:942
 msgid "Prints debug information about the application with focus."
 msgstr "顯示å??å¾?ç?¦é»?ç??ç¨?å¼?ç??å?µé?¯è³?è¨?ã??"
 
@@ -2105,7 +2411,7 @@ msgstr "顯示å??å¾?ç?¦é»?ç??ç¨?å¼?ç??å?µé?¯è³?è¨?ã??"
 #. will not normally see. It describes a debug routine
 #. that will print Orca memory usage information.
 #.
-#: ../src/orca/default.py:902
+#: ../src/orca/default.py:951
 msgid "Prints memory usage information."
 msgstr "顯示è¨?æ?¶é«?使ç?¨è³?è¨?ã??"
 
@@ -2113,35 +2419,35 @@ msgstr "顯示è¨?æ?¶é«?使ç?¨è³?è¨?ã??"
 #. the relationship of the given bookmark to the current
 #. position
 #.
-#: ../src/orca/default.py:911
+#: ../src/orca/default.py:960
 msgid "Bookmark where am I with respect to current position."
 msgstr "æ??å?ºæ??ç?®å??ä½?ç½®å?°æ?¸ç±¤ç??ç?¸å°?é??ä¿?"
 
 #. Translators: this command moves the current position to the
 #. location stored at the bookmark.
 #.
-#: ../src/orca/default.py:919
+#: ../src/orca/default.py:968
 msgid "Go to bookmark."
 msgstr "移è?³æ?¸ç±¤ã??"
 
 #. Translators: this event handler binds an in-page accessible
 #. object location to the given input key command.
 #.
-#: ../src/orca/default.py:927
+#: ../src/orca/default.py:976
 msgid "Add bookmark."
 msgstr "å? å?¥æ?¸ç±¤ã??"
 
 #. Translators: this event handler saves all bookmarks for the
 #. current application to disk.
 #.
-#: ../src/orca/default.py:935
+#: ../src/orca/default.py:984
 msgid "Save bookmarks."
 msgstr "å?²å­?æ?¸ç±¤ã??"
 
 #. Translators: this event handler cycles through the registered
 #. bookmarks and takes the user to the next bookmark location.
 #.
-#: ../src/orca/default.py:943
+#: ../src/orca/default.py:992
 msgid "Go to next bookmark location."
 msgstr "移è?³ä¸?ä¸?å??æ?¸ç±¤ä½?ç½®ã??"
 
@@ -2149,7 +2455,7 @@ msgstr "移è?³ä¸?ä¸?å??æ?¸ç±¤ä½?ç½®ã??"
 #. registered bookmarks and takes the user to the previous
 #. bookmark location.
 #.
-#: ../src/orca/default.py:952
+#: ../src/orca/default.py:1001
 msgid "Go to previous bookmark location."
 msgstr "移è?³ä¸?ä¸?å??æ?¸ç±¤ä½?ç½®ã??"
 
@@ -2158,7 +2464,7 @@ msgstr "移è?³ä¸?ä¸?å??æ?¸ç±¤ä½?ç½®ã??"
 #. to see, such as inverting the colors or applying a tint.
 #. This command toggles these enhancements on/off.
 #.
-#: ../src/orca/default.py:962
+#: ../src/orca/default.py:1011
 msgid "Toggles color enhancements."
 msgstr "å??æ??é¡?è?²å¼·å??ã??"
 
@@ -2168,21 +2474,21 @@ msgstr "å??æ??é¡?è?²å¼·å??ã??"
 #. color, and surrounding it with crosshairs.  This command
 #. toggles these enhancements on/off.
 #.
-#: ../src/orca/default.py:973
+#: ../src/orca/default.py:1022
 msgid "Toggles mouse enhancements."
 msgstr "å??æ??æ»?é¼ å¼·å??ã??"
 
 #. Translators: this command increases the magnification
 #. level.
 #.
-#: ../src/orca/default.py:981
+#: ../src/orca/default.py:1030
 msgid "Increases the magnification level."
 msgstr "å¢?å? æ?¾å¤§å??ç??ã??"
 
 #. Translators: this command decreases the magnification
 #. level.
 #.
-#: ../src/orca/default.py:989
+#: ../src/orca/default.py:1038
 msgid "Decreases the magnification level."
 msgstr "æ¸?å°?æ?¾å¤§å??ç??ã??"
 
@@ -2191,7 +2497,7 @@ msgstr "æ¸?å°?æ?¾å¤§å??ç??ã??"
 #. but also all of the color and pointer customizations
 #. made through the magnifier.
 #.
-#: ../src/orca/default.py:999
+#: ../src/orca/default.py:1048
 msgid "Toggles the magnifier."
 msgstr "å??æ??æ?¾å¤§é?¡ã??"
 
@@ -2200,17 +2506,33 @@ msgstr "å??æ??æ?¾å¤§é?¡ã??"
 #. screen.  The "position" here refers to location of the
 #. magnifier.
 #.
-#: ../src/orca/default.py:1009
+#: ../src/orca/default.py:1058
 msgid "Cycles to the next magnifier position."
 msgstr "循ç?°è?³ä¸?ä¸?å??æ?¾å¤§é?¡ä½?ç½®ã??"
 
 #. Translators: Orca allows the item under the pointer to
 #. be spoken. This toggles the feature.
 #.
-#: ../src/orca/default.py:1017
+#: ../src/orca/default.py:1066
 msgid "Toggle mouse review mode."
 msgstr "å??æ??æ»?é¼ é ?覽模å¼?ã??"
 
+#. Translators: Orca can present the current time to the
+#. user when the user presses
+#. a shortcut key.
+#.
+#: ../src/orca/default.py:1075
+msgid "Present current time."
+msgstr "表示ç?®å??ç??æ??å?»ã??"
+
+#. Translators: Orca can present the current date to the
+#. user when the user presses
+#. a shortcut key.
+#.
+#: ../src/orca/default.py:1084
+msgid "Present current date."
+msgstr "表示ç?®å??ç??æ?¥æ??ã??"
+
 #. Translators: Orca normally intercepts all keyboard
 #. commands and only passes them along to the current
 #. application when they are not Orca commands.  This
@@ -2218,27 +2540,115 @@ msgstr "å??æ??æ»?é¼ é ?覽模å¼?ã??"
 #. along to the current application, bypassing Orca's
 #. interception of it.
 #.
-#: ../src/orca/default.py:1029
+#: ../src/orca/default.py:1096
 msgid "Passes the next command on to the current application."
 msgstr "å?³é??ã??ä¸?ä¸?æ­¥ã??æ??令給ç?®å??ç??æ??ç?¨ç¨?å¼?"
 
-#. Translators: this is the number of space characters on a line
-#. of text.
+#. 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.
 #.
-#: ../src/orca/default.py:2344
-#, python-format
-msgid "%d space"
-msgid_plural "%d spaces"
-msgstr[0] "%d å??空格"
+#: ../src/orca/default.py:1552
+msgid "Bypass mode enabled."
+msgstr "å·²å??ç?¨ç?¥é??å??è?½ã??"
 
-#. Translators: this is the number of tab characters on a line
-#. of text.
+#. 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.
 #.
-#: ../src/orca/default.py:2355
-#, python-format
-msgid "%d tab"
-msgid_plural "%d tabs"
-msgstr[0] "%d å?? tab"
+#: ../src/orca/default.py:1575
+msgid ""
+"Entering learn mode.  Press any key to hear its function.  To exit learn "
+"mode, press the escape key."
+msgstr "é?²å?¥å­¸ç¿?模å¼?ã?? æ??ä»»ä½?é?µä¾?è?½å®?ç??å??è?½ã??è¦?é?¢é??å­¸ç¿?模å¼?ï¼?è«?æ?? escape é?µã??"
+
+#. 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.
+#.
+#: ../src/orca/default.py:1587
+msgid "Learn mode.  Press escape to exit."
+msgstr "å­¸ç¿?模å¼?ã?? æ??é?¢é??é?µé?¢é??ã??"
+
+#. 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.
+#.
+#: ../src/orca/default.py:1609
+msgid "List shortcuts mode."
+msgstr "å??å?ºæ?·å¾?é?µæ¨¡å¼?ã??"
+
+#. 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.
+#.
+#: ../src/orca/default.py:1619 ../src/orca/orca.py:1443
+msgid ""
+"Press 1 for Orca's default shortcuts. Press 2 for Orca's shortcuts for the "
+"current application. Press escape to exit."
+msgstr "æ??ä¸? 1 æ?¯ Orca ç??é ?設æ?·å¾?é?µã??æ??ä¸? 2 æ?¯ Orca å?¨ç?®å??æ??ç?¨ç¨?å¼?ç??æ?·å¾?é?µã??æ??ä¸? escape å??æ??çµ?æ??ã??"
+
+#. 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.
+#.
+#. 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.
+#.
+#. 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.
+#.
+#: ../src/orca/default.py:1906 ../src/orca/default.py:2049
+#: ../src/orca/default.py:2069
+msgid "Could not find current location."
+msgstr "æ?¾ä¸?å?°ç?®å??ç??ä½?ç½®ã??"
+
+#. 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.
+#.
+#: ../src/orca/default.py:1912 ../src/orca/default.py:2075
+msgctxt "location"
+msgid "Not found"
+msgstr "���"
+
+#. Translators: this indicates that this piece of
+#. text is a hypertext link.
+#.
+#. Translators: spoken words for the rolename of a link.
+#.
+#. Translators: this indicates that this piece of
+#. text is a hypertext link.
+#.
+#: ../src/orca/default.py:2021 ../src/orca/rolenames.py:600
+#: ../src/orca/script_utilities.py:2409
+#: ../src/orca/scripts/apps/soffice/script.py:1147
+#: ../src/orca/speech_generator.py:959
+msgid "link"
+msgstr "��"
 
 #. Translators: "blank" is a short word to mean the
 #. user has navigated to an empty line.
@@ -2257,30 +2667,394 @@ msgstr[0] "%d å?? tab"
 #. Translators: "blank" is a short word to mean the
 #. user has navigated to an empty line.
 #.
-#: ../src/orca/default.py:2574 ../src/orca/default.py:5379
-#: ../src/orca/default.py:5535 ../src/orca/default.py:5543
-#: ../src/orca/default.py:5664 ../src/orca/default.py:5672
-#: ../src/orca/scripts/apps/evolution/script.py:708
-#: ../src/orca/scripts/apps/soffice/script.py:1415
-#: ../src/orca/scripts/apps/soffice/speech_generator.py:360
-#: ../src/orca/scripts/apps/soffice/speech_generator.py:469
+#: ../src/orca/default.py:2120 ../src/orca/default.py:2128
+#: ../src/orca/default.py:2249 ../src/orca/default.py:2257
+#: ../src/orca/default.py:2393 ../src/orca/default.py:4467
+#: ../src/orca/default.py:4477
+#: ../src/orca/scripts/apps/evolution/script.py:1140
+#: ../src/orca/scripts/apps/soffice/script.py:1267
+#: ../src/orca/scripts/apps/soffice/speech_generator.py:429
+#: ../src/orca/scripts/apps/soffice/speech_generator.py:542
 #: ../src/orca/scripts/apps/soffice/structural_navigation.py:116
-#: ../src/orca/scripts/toolkits/Gecko/script.py:5882
-#: ../src/orca/settings.py:1296 ../src/orca/speech_generator.py:473
-#: ../src/orca/speech_generator.py:779
-#: ../src/orca/structural_navigation.py:3375
+#: ../src/orca/scripts/toolkits/Gecko/script.py:5352
+#: ../src/orca/settings.py:1372 ../src/orca/speech_generator.py:671
+#: ../src/orca/speech_generator.py:1023
+#: ../src/orca/structural_navigation.py:3618
 msgid "blank"
 msgstr "空�"
 
-#. Translators: this is an index value
-#. so that we can tell which progress bar
-#. we are referring to.
+#. Translators: "white space" is a short phrase to mean the
+#. user has navigated to a line with only whitespace on it.
 #.
-#: ../src/orca/default.py:2917
-#, python-format
-msgid "Progress bar %d."
-msgstr "é?²åº¦å??%dã??"
+#: ../src/orca/default.py:2133 ../src/orca/default.py:2398
+msgid "white space"
+msgstr "空ç?½ç©ºé??"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2585
+msgid "Leaving flat review."
+msgstr "é?¢é?? 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.  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.
+#.
+#: ../src/orca/default.py:2602
+msgid "Entering flat review."
+msgstr "é?²å?¥ flat reviewã??"
+
+#. Translators: This is a detailed message indicating that
+#. indentation and justification will be spoken.
+#.
+#: ../src/orca/default.py:2619
+msgid "Speaking of indentation and justification enabled."
+msgstr "å·²å??ç?¨è®?å?ºç¸®æ??å??å°?é½?ã??"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2624
+msgctxt "indentation and justification"
+msgid "Enabled"
+msgstr "å·²å??ç?¨"
+
+#. Translators: This is a detailed message indicating that
+#. indentation and justification will not be spoken.
+#.
+#: ../src/orca/default.py:2629
+msgid "Speaking of indentation and justification disabled."
+msgstr "å·²å??ç?¨è®?å?ºç¸®æ??å??å°?é½?ã??"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2634
+msgctxt "indentation and justification"
+msgid "Disabled"
+msgstr "å·²å??ç?¨"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2651
+msgid "Punctuation level set to some."
+msgstr "æ¨?é?³ç¬¦è??ç­?ç´?設ç?ºä¸?äº?ã??"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2657
+msgctxt "spoken punctuation"
+msgid "Some"
+msgstr "��"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2665
+msgid "Punctuation level set to most."
+msgstr "æ¨?é?³ç¬¦è??ç­?ç´?設ç?ºæ??å¤?ã??"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2671
+msgctxt "spoken punctuation"
+msgid "Most"
+msgstr "æ??å¤?"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2679
+msgid "Punctuation level set to all."
+msgstr "å°?æ¨?é?³ç¬¦è??ç­?ç´?ç?ºå?¨é?¨ã??"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2685
+msgctxt "spoken punctuation"
+msgid "All"
+msgstr "��"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2694
+msgid "Punctuation level set to none."
+msgstr "æ¨?é?³ç¬¦è??ç­?ç´?設ç?ºæ²?æ??ã??"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2700
+msgctxt "spoken punctuation"
+msgid "None"
+msgstr "æ²?æ??"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2729
+msgid "Key echo set to key."
+msgstr "æ??é?µå??é?¿è¨­å®?ç?ºæ??é?µã??"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2744
+msgctxt "key echo"
+msgid "key"
+msgstr "æ??é?µ"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2762
+msgid "Key echo set to word."
+msgstr "æ??é?µå??é?¿è¨­å®?ç?ºå­?è©?ã??"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2777
+msgctxt "key echo"
+msgid "word"
+msgstr "å­?è©?"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2795
+msgid "Key echo set to sentence."
+msgstr "æ??é?µå??é?¿è¨­å®?ç?ºæ®µè?½ã??"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2810
+msgctxt "key echo"
+msgid "sentence"
+msgstr "段�"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2828
+msgid "Key echo set to key and word."
+msgstr "æ??é?µå??é?¿è¨­å®?ç?ºæ??é?µå??å­?è©?ã??"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2843
+msgctxt "key echo"
+msgid "key and word"
+msgstr "æ??é?µå??å­?è©?"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2861
+msgid "Key echo set to word and sentence."
+msgstr "æ??é?µå??é?¿è¨­å®?ç?ºå­?è©?å??段è?½ã??"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2876
+msgctxt "key echo"
+msgid "word and sentence"
+msgstr "å­?è©?å??段è?½"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2894
+msgid "Key echo set to None."
+msgstr "æ??é?µå??é?¿è¨­å®?ç?ºæ²?æ??ã??"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2909
+msgctxt "key echo"
+msgid "None"
+msgstr "æ²?æ??"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2928
+msgid "Speak row"
+msgstr "è®?å?ºæ?´å??"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2934
+msgid "Speak cell"
+msgstr "����格"
 
+#. Translators: when the user selects (highlights) text in
+#. a document, Orca lets them know this.
+#.
 #. Translators: this object is now selected.
 #. Let the user know this.
 #.
@@ -2288,9 +3062,9 @@ msgstr "é?²åº¦å??%dã??"
 #. Translators: when the user selects (highlights) text in
 #. a document, Orca lets them know this.
 #.
-#: ../src/orca/default.py:3974 ../src/orca/default.py:4403
-#: ../src/orca/default.py:8124 ../src/orca/speech_generator.py:863
-#: ../src/orca/speech_generator.py:887
+#: ../src/orca/default.py:3187 ../src/orca/default.py:3320
+#: ../src/orca/default.py:5306 ../src/orca/speech_generator.py:1119
+#: ../src/orca/speech_generator.py:1148
 msgctxt "text"
 msgid "selected"
 msgstr "å·²é?¸å??"
@@ -2303,7 +3077,7 @@ msgstr "å·²é?¸å??"
 #. (unhighlights) text in a document, Orca lets
 #. them know this.
 #.
-#: ../src/orca/default.py:3980 ../src/orca/default.py:8130
+#: ../src/orca/default.py:3326 ../src/orca/default.py:5312
 msgctxt "text"
 msgid "unselected"
 msgstr "å??æ¶?é?¸å??"
@@ -2312,29 +3086,22 @@ msgstr "å??æ¶?é?¸å??"
 #. of the red squiggly line which indicates that a given
 #. word is not spelled correctly.
 #.
-#: ../src/orca/default.py:4148 ../src/orca/default.py:8451
+#: ../src/orca/default.py:3417 ../src/orca/default.py:5366
 msgid "misspelled"
 msgstr "��"
 
-#. 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.
-#.
-#: ../src/orca/default.py:4460
-msgid "Speak row"
-msgstr "è®?å?ºæ?´å??"
-
-#. 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.
+#. Translators: this is an index value
+#. so that we can tell which progress bar
+#. we are referring to.
 #.
-#: ../src/orca/default.py:4466
-msgid "Speak cell"
-msgstr "����格"
+#: ../src/orca/default.py:4315
+#, python-format
+msgid "Progress bar %d."
+msgstr "é?²åº¦å??%dã??"
 
 #. Translators: bold as in the font sense.
 #.
-#: ../src/orca/default.py:4554 ../src/orca/speech_generator.py:696
+#: ../src/orca/default.py:4351 ../src/orca/speech_generator.py:939
 msgid "bold"
 msgstr "ç²?é«?"
 
@@ -2345,106 +3112,19 @@ msgstr "ç²?é«?"
 #. application, so we leave things in plural form
 #. here.
 #.
-#: ../src/orca/default.py:4571 ../src/orca/default.py:4583
+#: ../src/orca/default.py:4368 ../src/orca/default.py:4380
 #, python-format
 msgid "%(key)s %(value)s pixel"
 msgid_plural "%(key)s %(value)s pixels"
 msgstr[0] "%(key)s %(value)s å??ç´ "
 
-#. Translators: this indicates that this piece of
-#. text is a hypertext link.
-#.
-#. Translators: spoken words for the rolename of a link.
-#.
-#. Translators: this indicates that this piece of
-#. text is a hypertext link.
-#.
-#: ../src/orca/default.py:4667 ../src/orca/default.py:6847
-#: ../src/orca/rolenames.py:600
-#: ../src/orca/scripts/apps/soffice/script.py:1296
-#: ../src/orca/speech_generator.py:716
-msgid "link"
-msgstr "��"
-
-#. 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.
-#.
-#: ../src/orca/default.py:4780
-msgid "Bypass mode enabled."
-msgstr "å·²å??ç?¨ç?¥é??å??è?½ã??"
-
-#. 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.
-#.
-#: ../src/orca/default.py:4803
-msgid ""
-"Entering learn mode.  Press any key to hear its function.  To exit learn "
-"mode, press the escape key."
-msgstr "é?²å?¥å­¸ç¿?模å¼?ã?? æ??ä»»ä½?é?µä¾?è?½å®?ç??å??è?½ã??è¦?é?¢é??å­¸ç¿?模å¼?ï¼?è«?æ?? escape é?µã??"
-
-#. 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.
-#.
-#: ../src/orca/default.py:4815
-msgid "Learn mode.  Press escape to exit."
-msgstr "å­¸ç¿?模å¼?ã?? æ??é?¢é??é?µé?¢é??ã??"
-
-#: ../src/orca/default.py:4986
-msgid "Leaving flat review."
-msgstr "é?¢é?? flat reviewã??"
-
-#: ../src/orca/default.py:5004
-msgid "Entering flat review."
-msgstr "é?²å?¥ flat reviewã??"
-
-#. 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.
-#.
-#: ../src/orca/default.py:5286 ../src/orca/default.py:5307
-#: ../src/orca/default.py:5327
-msgid "Could not find current location."
-msgstr "æ?¾ä¸?å?°ç?®å??ç??ä½?ç½®ã??"
-
-#. Translators: "white space" is a short phrase to mean the
-#. user has navigated to a line with only whitespace on it.
-#.
-#: ../src/orca/default.py:5384 ../src/orca/default.py:5548
-msgid "white space"
-msgstr "空ç?½ç©ºé??"
-
-#. Translators: this is information about a unicode character
-#. reported to the user.  The value is the unicode number value
-#. of this character in hex.
-#.
-#: ../src/orca/default.py:5699
-#, python-format
-msgid "Unicode %s"
-msgstr "è?¬å??碼 %s"
-
 #. 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.
 #.
-#: ../src/orca/default.py:5825
+#: ../src/orca/default.py:4758
 msgid "string not found"
 msgstr "����串"
 
@@ -2453,44 +3133,33 @@ msgstr "����串"
 #. thing it does is let them know what the misspelled word
 #. is.
 #.
-#: ../src/orca/default.py:6653
+#: ../src/orca/default.py:4830
 #, python-format
 msgid "Misspelled word: %s"
 msgstr "�����%s"
 
-#: ../src/orca/default.py:6661
+#: ../src/orca/default.py:4838
 #, python-format
 msgid "Context is %s"
 msgstr "å?§æ??æ?¯ %s"
 
-#. Translators: Orca will tell you how many characters
-#. are repeated on a line of text.  For example: "22
-#. space characters".  The %d is the number and the %s
-#. is the spoken word for the character.
-#.
-#: ../src/orca/default.py:6799
-#, python-format
-msgid "%(count)d %(repeatChar)s character"
-msgid_plural "%(count)d %(repeatChar)s characters"
-msgstr[0] "%(count)d å?? %(repeatChar)s å­?符"
-
 #. Translators: when the user selects (highlights) text in
 #. a document, Orca will speak information about what they
 #. have selected.
 #.
-#: ../src/orca/default.py:7921
+#: ../src/orca/default.py:5105
 msgid "paragraph selected down from cursor position"
 msgstr "å¾?游æ¨?ä½?ç½®é??å§?å??ä¸?é?¸å??段è?½"
 
-#: ../src/orca/default.py:7922
+#: ../src/orca/default.py:5106
 msgid "paragraph unselected down from cursor position"
 msgstr "å¾?游æ¨?ä½?ç½®é??å§?å??ä¸?å??æ¶?é?¸å??段è?½"
 
-#: ../src/orca/default.py:7923
+#: ../src/orca/default.py:5107
 msgid "paragraph selected up from cursor position"
 msgstr "å¾?游æ¨?ä½?ç½®é??å§?å??ä¸?é?¸å??段è?½"
 
-#: ../src/orca/default.py:7924
+#: ../src/orca/default.py:5108
 msgid "paragraph unselected up from cursor position"
 msgstr "å¾?游æ¨?ä½?ç½®é??å§?å??ä¸?å??æ¶?é?¸å??段è?½"
 
@@ -2498,7 +3167,7 @@ msgstr "å¾?游æ¨?ä½?ç½®é??å§?å??ä¸?å??æ¶?é?¸å??段è?½"
 #. a document, Orca will speak information about what they
 #. have selected.
 #.
-#: ../src/orca/default.py:7982
+#: ../src/orca/default.py:5162
 msgid "line selected to end from previous cursor position"
 msgstr "å¾?å??ä¸?å??游æ¨?ä½?ç½®é?¸å??è¡?è?³çµ?å°¾"
 
@@ -2506,7 +3175,7 @@ msgstr "å¾?å??ä¸?å??游æ¨?ä½?ç½®é?¸å??è¡?è?³çµ?å°¾"
 #. a document, Orca will speak information about what they
 #. have selected.
 #.
-#: ../src/orca/default.py:7990
+#: ../src/orca/default.py:5170
 msgid "line selected from start to previous cursor position"
 msgstr "å¾?é??å§?å?°å??ä¸?å??游æ¨?ä½?ç½®é?¸å??è¡?"
 
@@ -2514,14 +3183,14 @@ msgstr "å¾?é??å§?å?°å??ä¸?å??游æ¨?ä½?ç½®é?¸å??è¡?"
 #. a document, Orca will speak information about what they
 #. have selected.
 #.
-#: ../src/orca/default.py:7999
+#: ../src/orca/default.py:5179
 msgid "page selected from cursor position"
 msgstr "å¾?游æ¨?ä½?ç½®é??å§?é?¸å??é ?"
 
 #. Translators: when the user unselects text in a document,
 #. Orca will speak information about what they have unselected.
 #.
-#: ../src/orca/default.py:8004
+#: ../src/orca/default.py:5184
 msgid "page unselected from cursor position"
 msgstr "å¾?游æ¨?ä½?ç½®å??æ¶?é?¸å??é ?"
 
@@ -2529,14 +3198,14 @@ msgstr "å¾?游æ¨?ä½?ç½®å??æ¶?é?¸å??é ?"
 #. a document, Orca will speak information about what they
 #. have selected.
 #.
-#: ../src/orca/default.py:8013
+#: ../src/orca/default.py:5193
 msgid "page selected to cursor position"
 msgstr "é?¸å??è?³æ¸¸æ¨?ä½?ç½®ç??é ?"
 
 #. Translators: when the user unselects text in a document,
 #. Orca will speak information about what they have unselected.
 #.
-#: ../src/orca/default.py:8018
+#: ../src/orca/default.py:5198
 msgid "page unselected to cursor position"
 msgstr "å??æ¶?é?¸å??é ?è?³æ¸¸æ¨?ä½?ç½®"
 
@@ -2544,14 +3213,14 @@ msgstr "å??æ¶?é?¸å??é ?è?³æ¸¸æ¨?ä½?ç½®"
 #. a document, Orca will speak information about what they
 #. have selected.
 #.
-#: ../src/orca/default.py:8043
+#: ../src/orca/default.py:5223
 msgid "document selected to cursor position"
 msgstr "é?¸å??è?³æ¸¸æ¨?ä½?ç½®ç??æ??件"
 
 #. Translators: when the user unselects text in a document,
 #. Orca will speak information about what they have unselected.
 #.
-#: ../src/orca/default.py:8048
+#: ../src/orca/default.py:5228
 msgid "document unselected to cursor position"
 msgstr "å??æ¶?é?¸å??è?³æ¸¸æ¨?ä½?ç½®ç??æ??件"
 
@@ -2559,24 +3228,33 @@ msgstr "å??æ¶?é?¸å??è?³æ¸¸æ¨?ä½?ç½®ç??æ??件"
 #. a document, Orca will speak information about what they
 #. have selected.
 #.
-#: ../src/orca/default.py:8057
+#: ../src/orca/default.py:5237
 msgid "document selected from cursor position"
 msgstr "å¾?游æ¨?ä½?ç½®é??å§?é?¸å??æ??件"
 
 #. Translators: when the user unselects text in a document,
 #. Orca will speak information about what they have unselected.
 #.
-#: ../src/orca/default.py:8062
+#: ../src/orca/default.py:5242
 msgid "document unselected from cursor position"
 msgstr "å¾?游æ¨?ä½?ç½®é??å§?å??æ¶?é?¸å??æ??件"
 
 #. Translators: this means the user has selected
 #. all the text in a document (e.g., Ctrl+a in gedit).
 #.
-#: ../src/orca/default.py:8079
+#: ../src/orca/default.py:5259
 msgid "entire document selected"
 msgstr "å·²é?¸å??æ?´å??æ??件"
 
+#. Translators: this is information about a unicode character
+#. reported to the user.  The value is the unicode number value
+#. of this character in hex.
+#.
+#: ../src/orca/default.py:5797
+#, python-format
+msgid "Unicode %s"
+msgstr "è?¬å??碼 %s"
+
 #. Translators: this refers to the speech synthesis services
 #. provided by the separate emacspeak utility available at
 #. http://emacspeak.sourceforge.net/.
@@ -2613,13 +3291,13 @@ msgstr "å??å?°é??å§?"
 
 #. Translators: this represents the state of a checkbox.
 #.
-#: ../src/orca/flat_review.py:352 ../src/orca/settings.py:1321
+#: ../src/orca/flat_review.py:355 ../src/orca/settings.py:1397
 msgid "partially checked"
 msgstr "é?¨ä»½é?¸å??"
 
 #. Translators: this represents the state of a checkbox.
 #.
-#: ../src/orca/flat_review.py:356 ../src/orca/settings.py:1320
+#: ../src/orca/flat_review.py:359 ../src/orca/settings.py:1396
 msgid "checked"
 msgstr "已��"
 
@@ -2628,13 +3306,13 @@ msgstr "已��"
 #. Translators: this represents the state of a checkbox.  It is meant
 #. to be spoken to the user.
 #.
-#: ../src/orca/flat_review.py:360 ../src/orca/settings.py:1319
+#: ../src/orca/flat_review.py:363 ../src/orca/settings.py:1395
 msgid "not checked"
 msgstr "���"
 
 #. Translators: the state of a toggle button.
 #.
-#: ../src/orca/flat_review.py:367 ../src/orca/settings.py:1332
+#: ../src/orca/flat_review.py:370 ../src/orca/settings.py:1408
 msgid "pressed"
 msgstr "å·²æ??ä¸?"
 
@@ -2643,14 +3321,14 @@ msgstr "å·²æ??ä¸?"
 #. Translators: this represents the state of a toggle button.  It is
 #. meant to be spoken to the user.
 #.
-#: ../src/orca/flat_review.py:371 ../src/orca/settings.py:1332
+#: ../src/orca/flat_review.py:374 ../src/orca/settings.py:1408
 msgid "not pressed"
 msgstr "æ?ªæ??ä¸?"
 
 #. Translators: this is in reference to a radio button being
 #. selected or not.
 #.
-#: ../src/orca/flat_review.py:379 ../src/orca/settings.py:1327
+#: ../src/orca/flat_review.py:382 ../src/orca/settings.py:1403
 msgctxt "radiobutton"
 msgid "selected"
 msgstr "å·²é?¸å??"
@@ -2661,20 +3339,20 @@ msgstr "å·²é?¸å??"
 #. Translators: this represents the state of a radio button.  It is
 #. meant to be spoken to the user.
 #.
-#: ../src/orca/flat_review.py:384 ../src/orca/settings.py:1326
+#: ../src/orca/flat_review.py:387 ../src/orca/settings.py:1402
 msgctxt "radiobutton"
 msgid "not selected"
 msgstr "æ²?æ??é?¸å??"
 
 #. Translators: The component orientation is horizontal.
 #.
-#: ../src/orca/flat_review.py:422
+#: ../src/orca/flat_review.py:425
 msgid "horizontal"
 msgstr "æ°´å¹³"
 
 #. Translators: The component orientation is vertical.
 #.
-#: ../src/orca/flat_review.py:426
+#: ../src/orca/flat_review.py:429
 msgid "vertical"
 msgstr "å??ç?´ç??"
 
@@ -2682,21 +3360,22 @@ msgstr "å??ç?´ç??"
 #. progress bar or other component that displays a value as
 #. a percentage.
 #.
-#: ../src/orca/flat_review.py:444
+#: ../src/orca/flat_review.py:447
 #, python-format
 msgid "%d percent."
-msgstr "ç?¾å??ä¹? %dã??"
+msgid_plural "%d percent."
+msgstr[0] "ç?¾å??ä¹?%dã??"
 
 #. Translators: this is the action name for
 #. the 'toggle' action. It must be the same
 #. string used in the *.po file for gail.
 #.
-#: ../src/orca/flat_review.py:1071 ../src/orca/generator.py:437
-#: ../src/orca/generator.py:694 ../src/orca/generator.py:736
-#: ../src/orca/generator.py:782
-#: ../src/orca/scripts/apps/evolution/script.py:985
-#: ../src/orca/scripts/apps/evolution/speech_generator.py:115
-#: ../src/orca/scripts/apps/packagemanager/script.py:714
+#: ../src/orca/flat_review.py:1078 ../src/orca/generator.py:439
+#: ../src/orca/generator.py:696 ../src/orca/generator.py:738
+#: ../src/orca/generator.py:784
+#: ../src/orca/scripts/apps/evolution/script.py:496
+#: ../src/orca/scripts/apps/evolution/speech_generator.py:120
+#: ../src/orca/scripts/apps/packagemanager/script.py:643
 #: ../src/orca/tutorialgenerator.py:526 ../src/orca/tutorialgenerator.py:566
 msgid "toggle"
 msgstr "å??æ??"
@@ -2705,11 +3384,11 @@ msgstr "å??æ??"
 #. speak and braille to tell the user that no component
 #. has keyboard focus.
 #.
-#: ../src/orca/focus_tracking_presenter.py:958
+#: ../src/orca/focus_tracking_presenter.py:969
 msgid "No focus"
 msgstr "æ²?æ??ç?¦é»?"
 
-#: ../src/orca/gnomespeechfactory.py:235
+#: ../src/orca/gnomespeechfactory.py:245
 msgid "GNOME Speech Services"
 msgstr "GNOME æ??è®?æ??å??"
 
@@ -2719,7 +3398,9 @@ msgstr "GNOME æ??è®?æ??å??"
 #. new string well.  For example, "Open..." turns into
 #. "Open dot dot dot".
 #.
-#: ../src/orca/gnomespeechfactory.py:815 ../src/orca/gnomespeechfactory.py:816
+#: ../src/orca/gnomespeechfactory.py:831 ../src/orca/gnomespeechfactory.py:832
+#: ../src/orca/openttsfactory.py:287
+#: ../src/orca/speechdispatcherfactory.py:286
 msgid " dot dot dot"
 msgstr " é»?é»?é»?"
 
@@ -2730,15 +3411,15 @@ msgstr " é»?é»?é»?"
 #. odd characters, etc.), so we need to unfortunately
 #. build up the utterance in this manner.
 #.
-#: ../src/orca/gnomespeechfactory.py:887
+#: ../src/orca/gnomespeechfactory.py:903
 msgid "minus"
 msgstr "è² "
 
 #. Translators: this is a short string saying that the speech
 #. synthesis engine is now speaking in a higher pitch.
 #.
-#: ../src/orca/gnomespeechfactory.py:1047
-#: ../src/orca/speechdispatcherfactory.py:303
+#: ../src/orca/gnomespeechfactory.py:1071 ../src/orca/openttsfactory.py:379
+#: ../src/orca/speechdispatcherfactory.py:378
 msgid "higher."
 msgstr "è¼?é«?ã??"
 
@@ -2746,8 +3427,8 @@ msgstr "è¼?é«?ã??"
 #. synthesis engine is now speaking in a lower pitch.
 #.
 #. Translators: This string announces speech pitch change.
-#: ../src/orca/gnomespeechfactory.py:1078
-#: ../src/orca/speechdispatcherfactory.py:303
+#: ../src/orca/gnomespeechfactory.py:1102 ../src/orca/openttsfactory.py:379
+#: ../src/orca/speechdispatcherfactory.py:378
 msgid "lower."
 msgstr "è¼?ä½?ã??"
 
@@ -2755,8 +3436,8 @@ msgstr "è¼?ä½?ã??"
 #. synthesis engine is now speaking at a faster rate (words
 #. per minute).
 #.
-#: ../src/orca/gnomespeechfactory.py:1107
-#: ../src/orca/speechdispatcherfactory.py:293
+#: ../src/orca/gnomespeechfactory.py:1131 ../src/orca/openttsfactory.py:369
+#: ../src/orca/speechdispatcherfactory.py:368
 msgid "faster."
 msgstr "è¼?å¿«ã??"
 
@@ -2765,8 +3446,8 @@ msgstr "è¼?å¿«ã??"
 #. per minute).
 #.
 #. Translators: This string announces speech rate change.
-#: ../src/orca/gnomespeechfactory.py:1141
-#: ../src/orca/speechdispatcherfactory.py:293
+#: ../src/orca/gnomespeechfactory.py:1165 ../src/orca/openttsfactory.py:369
+#: ../src/orca/speechdispatcherfactory.py:368
 msgid "slower."
 msgstr "è¼?æ?¢ã??"
 
@@ -2774,7 +3455,7 @@ msgstr "è¼?æ?¢ã??"
 #. magnifier.  In addition to screen magnification, the user's
 #. preferred colors and mouse customizations are loaded.
 #.
-#: ../src/orca/gsmag.py:653 ../src/orca/mag.py:1684
+#: ../src/orca/gsmag.py:779 ../src/orca/mag.py:1685
 msgid "Magnifier enabled."
 msgstr "æ?¾å¤§é?¡å·²å??ç?¨ã??"
 
@@ -2782,7 +3463,7 @@ msgstr "æ?¾å¤§é?¡å·²å??ç?¨ã??"
 #. magnifier, restoring the screen contents to their normal colors
 #. and sizes.
 #.
-#: ../src/orca/gsmag.py:660 ../src/orca/mag.py:1691
+#: ../src/orca/gsmag.py:786 ../src/orca/mag.py:1692
 msgid "Magnifier disabled."
 msgstr "æ?¾å¤§é?¡å·²å??ç?¨ã??"
 
@@ -3094,19 +3775,19 @@ msgstr "stroke"
 #.
 #: ../src/orca/liveregions.py:265
 msgid "setting live region to polite"
-msgstr ""
+msgstr "å°?å?³æ??æ?­å ±å??設ç?ºç¦®è²?"
 
 #. Translators:  sets the live region politeness level to assertive
 #.
 #: ../src/orca/liveregions.py:270
 msgid "setting live region to assertive"
-msgstr ""
+msgstr "å°?å?³æ??æ?­å ±å??設ç?ºå ?決"
 
 #. Translators:  sets the live region politeness level to rude
 #.
 #: ../src/orca/liveregions.py:275
 msgid "setting live region to rude"
-msgstr ""
+msgstr "å°?å?³æ??æ?­å ±å??設ç?ºç²?é­¯"
 
 #. Translators:  sets the live region politeness level to off
 #.
@@ -3127,8 +3808,6 @@ msgstr "æ²?æ??å?²å­?å?³æ??è¨?æ?¯"
 msgid "All live regions set to off"
 msgstr "å°?æ??æ??ç??å?³æ??æ?­å ±å??設ç?ºé??é??"
 
-#. Translators: This lets the user know that all live regions
-#. have been restored to their original politeness level.
 #: ../src/orca/liveregions.py:344
 msgid "live regions politeness levels restored"
 msgstr "å?³æ??æ?­å ±å??禮è²?ç¨?度已é??å??"
@@ -3138,12 +3817,8 @@ msgstr "å?³æ??æ?­å ±å??禮è²?ç¨?度已é??å??"
 #: ../src/orca/liveregions.py:386
 #, python-format
 msgid "politeness level %s"
-msgstr "politeness level %s"
+msgstr "禮��度 %s"
 
-#. Translators: "color enhancements" are changes users can
-#. make to the appearance of the screen to make things easier
-#. to see, such as inverting the colors or applying a tint.
-#.
 #: ../src/orca/mag.py:1556
 msgid "Color enhancements disabled."
 msgstr "è?²å½©å¼·å??å·²é??é??ã??"
@@ -3156,12 +3831,7 @@ msgstr "è?²å½©å¼·å??å·²é??é??ã??"
 msgid "Color enhancements enabled."
 msgstr "è?²å½©å¼·å??å·²é??å??ã??"
 
-#. Translators: "mouse enhancements" are changes users can
-#. make to the appearance of the mouse pointer to make it
-#. easier to see, such as increasing its size, changing its
-#. color, and surrounding it with crosshairs.
-#.
-#: ../src/orca/mag.py:1586
+#: ../src/orca/mag.py:1587
 msgid "Mouse enhancements disabled."
 msgstr "æ»?é¼ å¢?å¼·å??è?½å·²å??ç?¨ã??"
 
@@ -3170,7 +3840,7 @@ msgstr "æ»?é¼ å¢?å¼·å??è?½å·²å??ç?¨ã??"
 #. easier to see, such as increasing its size, changing its
 #. color, and surrounding it with crosshairs.
 #.
-#: ../src/orca/mag.py:1619
+#: ../src/orca/mag.py:1620
 msgid "Mouse enhancements enabled."
 msgstr "æ»?é¼ å¢?å¼·å??è?½å·²å??ç?¨ã??"
 
@@ -3179,55 +3849,87 @@ msgstr "æ»?é¼ å¢?å¼·å??è?½å·²å??ç?¨ã??"
 #. Translators: this is an algorithm for magnifying pixels
 #. on the screen.
 #.
-#: ../src/orca/mag.py:1746 ../src/orca/orca_gui_prefs.py:1852
-#: ../src/orca/orca_gui_prefs.py:1878 ../src/orca/orca_gui_prefs.py:1881
-#: ../src/orca/orca-setup.ui.h:83
+#: ../src/orca/mag.py:1747 ../src/orca/orca_gui_prefs.py:1973
+#: ../src/orca/orca_gui_prefs.py:1999 ../src/orca/orca_gui_prefs.py:2002
+#: ../src/orca/orca-setup.ui.h:85
 msgid "Full Screen"
 msgstr "���"
 
 #. Translators: the user attempted to switch to full screen
 #. magnification, but his/her system doesn't support it.
 #.
-#: ../src/orca/mag.py:1751
+#: ../src/orca/mag.py:1752
 msgid "Full Screen mode unavailable"
 msgstr "��使����模�"
 
 #. Translators: magnification will use the top half of the screen.
 #.
-#: ../src/orca/mag.py:1755 ../src/orca/orca_gui_prefs.py:1856
-#: ../src/orca/orca_gui_prefs.py:1882 ../src/orca/orca-setup.ui.h:145
+#: ../src/orca/mag.py:1756 ../src/orca/orca_gui_prefs.py:1977
+#: ../src/orca/orca_gui_prefs.py:2003 ../src/orca/orca-setup.ui.h:149
 msgid "Top Half"
 msgstr "ä¸?å??é?¨"
 
 #. Translators: magnification will use the bottom half of the screen.
 #.
-#: ../src/orca/mag.py:1759 ../src/orca/orca_gui_prefs.py:1860
-#: ../src/orca/orca_gui_prefs.py:1883 ../src/orca/orca-setup.ui.h:36
+#: ../src/orca/mag.py:1760 ../src/orca/orca_gui_prefs.py:1981
+#: ../src/orca/orca_gui_prefs.py:2004 ../src/orca/orca-setup.ui.h:36
 msgid "Bottom Half"
 msgstr "ä¸?å??é?¨"
 
 #. Translators: magnification will use the left half of the screen.
 #.
-#: ../src/orca/mag.py:1763 ../src/orca/orca_gui_prefs.py:1864
-#: ../src/orca/orca_gui_prefs.py:1884 ../src/orca/orca-setup.ui.h:90
+#: ../src/orca/mag.py:1764 ../src/orca/orca_gui_prefs.py:1985
+#: ../src/orca/orca_gui_prefs.py:2005 ../src/orca/orca-setup.ui.h:92
 msgid "Left Half"
 msgstr "å·¦å??é?¨"
 
 #. Translators: magnification will use the right half of the screen.
 #.
-#: ../src/orca/mag.py:1767 ../src/orca/orca_gui_prefs.py:1868
-#: ../src/orca/orca_gui_prefs.py:1885 ../src/orca/orca-setup.ui.h:118
+#: ../src/orca/mag.py:1768 ../src/orca/orca_gui_prefs.py:1989
+#: ../src/orca/orca_gui_prefs.py:2006 ../src/orca/orca-setup.ui.h:121
 msgid "Right Half"
 msgstr "å?³å??é?¨"
 
 #. Translators: the user has selected a custom area of the screen
 #. to use for magnification.
 #.
-#: ../src/orca/mag.py:1772 ../src/orca/orca_gui_prefs.py:1873
-#: ../src/orca/orca_gui_prefs.py:1886 ../src/orca/orca-setup.ui.h:49
+#: ../src/orca/mag.py:1773 ../src/orca/orca_gui_prefs.py:1994
+#: ../src/orca/orca_gui_prefs.py:2007 ../src/orca/orca-setup.ui.h:49
 msgid "Custom"
 msgstr "��"
 
+#. Translators: "Default Synthesizer" will appear in the list of available
+#. speech engines as a special item.  It refers to the default engine
+#. configured within the speech subsystem.  Apart from this item, the user
+#. will have a chance to select a particular speech engine by its real
+#. name, such as Festival, IBMTTS, etc.
+#.
+#: ../src/orca/openttsfactory.py:84 ../src/orca/speechdispatcherfactory.py:83
+msgid "Default Synthesizer"
+msgstr "é ?設èª?é?³å??æ??å?¨"
+
+#. Translators: this is the name of a speech synthesis system
+#. called "Open TTS".
+#.
+#: ../src/orca/openttsfactory.py:97
+msgid "Open TTS"
+msgstr "Open TTS"
+
+#. Translators: This string will appear in the list of
+#. available voices for the current speech engine.  %s will be
+#. replaced by the name of the current speech engine, such as
+#. "Festival default voice" or "IBMTTS default voice".  It
+#. refers to the default voice configured for given speech
+#. engine within the speech subsystem.  Apart from this item,
+#. the list will contain the names of all available "real"
+#. voices provided by the speech engine.
+#.
+#: ../src/orca/openttsfactory.py:181
+#: ../src/orca/speechdispatcherfactory.py:180
+#, python-format
+msgid "%s default voice"
+msgstr "%s �設��"
+
 #: ../src/orca/orca-advanced-magnification.ui.h:1
 msgid "<b>Brightness</b>"
 msgstr "<b>亮度</b>"
@@ -3252,8 +3954,8 @@ msgstr "è??è?²(_L):"
 #. on the screen.
 #.
 #: ../src/orca/orca-advanced-magnification.ui.h:6
-#: ../src/orca/orca_gui_prefs.py:4491 ../src/orca/orca_gui_prefs.py:4502
-#: ../src/orca/orca_gui_prefs.py:4504 ../src/orca/orca_gui_prefs.py:4525
+#: ../src/orca/orca_gui_prefs.py:4463 ../src/orca/orca_gui_prefs.py:4474
+#: ../src/orca/orca_gui_prefs.py:4476 ../src/orca/orca_gui_prefs.py:4497
 msgid "Bilinear"
 msgstr "é??ç·?æ?§"
 
@@ -3263,8 +3965,8 @@ msgstr "é??ç·?æ?§"
 #. (75, 100, 125) would become (75, 100, 0).
 #.
 #: ../src/orca/orca-advanced-magnification.ui.h:7
-#: ../src/orca/orca_gui_prefs.py:4748 ../src/orca/orca_gui_prefs.py:4775
-#: ../src/orca/orca_gui_prefs.py:4846
+#: ../src/orca/orca_gui_prefs.py:4720 ../src/orca/orca_gui_prefs.py:4747
+#: ../src/orca/orca_gui_prefs.py:4818
 msgid "Desaturate blue"
 msgstr "å?»é?¤è??è?²"
 
@@ -3274,7 +3976,7 @@ msgstr "å?»é?¤è??è?²"
 #. (75, 100, 125) would become (75, 0, 125).
 #.
 #: ../src/orca/orca-advanced-magnification.ui.h:8
-#: ../src/orca/orca_gui_prefs.py:4740 ../src/orca/orca_gui_prefs.py:4838
+#: ../src/orca/orca_gui_prefs.py:4712 ../src/orca/orca_gui_prefs.py:4810
 msgid "Desaturate green"
 msgstr "��綠�"
 
@@ -3284,8 +3986,8 @@ msgstr "��綠�"
 #. (75, 100, 125) would be become (0, 100, 125).
 #.
 #: ../src/orca/orca-advanced-magnification.ui.h:9
-#: ../src/orca/orca_gui_prefs.py:4732 ../src/orca/orca_gui_prefs.py:4774
-#: ../src/orca/orca_gui_prefs.py:4830
+#: ../src/orca/orca_gui_prefs.py:4704 ../src/orca/orca_gui_prefs.py:4746
+#: ../src/orca/orca_gui_prefs.py:4802
 msgid "Desaturate red"
 msgstr "����"
 
@@ -3299,8 +4001,8 @@ msgstr "綠�(_N):"
 #. (100, 125, 75).
 #.
 #: ../src/orca/orca-advanced-magnification.ui.h:11
-#: ../src/orca/orca_gui_prefs.py:4764 ../src/orca/orca_gui_prefs.py:4777
-#: ../src/orca/orca_gui_prefs.py:4862
+#: ../src/orca/orca_gui_prefs.py:4736 ../src/orca/orca_gui_prefs.py:4749
+#: ../src/orca/orca_gui_prefs.py:4834
 msgid "Negative hue shift"
 msgstr "è² å??è?²èª¿å??移"
 
@@ -3313,12 +4015,12 @@ msgstr "è² å??è?²èª¿å??移"
 #. track the mouse.
 #.
 #: ../src/orca/orca-advanced-magnification.ui.h:12
-#: ../src/orca/orca_gui_prefs.py:92 ../src/orca/orca_gui_prefs.py:1929
-#: ../src/orca/orca_gui_prefs.py:1949 ../src/orca/orca_gui_prefs.py:4497
-#: ../src/orca/orca_gui_prefs.py:4504 ../src/orca/orca_gui_prefs.py:4527
-#: ../src/orca/orca_gui_prefs.py:4700 ../src/orca/orca_gui_prefs.py:4767
-#: ../src/orca/orca_gui_prefs.py:4770 ../src/orca/orca_gui_prefs.py:4798
-#: ../src/orca/orca-setup.ui.h:103
+#: ../src/orca/orca_gui_prefs.py:108 ../src/orca/orca_gui_prefs.py:2050
+#: ../src/orca/orca_gui_prefs.py:2070 ../src/orca/orca_gui_prefs.py:4469
+#: ../src/orca/orca_gui_prefs.py:4476 ../src/orca/orca_gui_prefs.py:4499
+#: ../src/orca/orca_gui_prefs.py:4672 ../src/orca/orca_gui_prefs.py:4739
+#: ../src/orca/orca_gui_prefs.py:4742 ../src/orca/orca_gui_prefs.py:4770
+#: ../src/orca/orca-setup.ui.h:105
 msgid "None"
 msgstr "æ²?æ??"
 
@@ -3328,8 +4030,8 @@ msgstr "æ²?æ??"
 #. (125, 75, 100).
 #.
 #: ../src/orca/orca-advanced-magnification.ui.h:13
-#: ../src/orca/orca_gui_prefs.py:4756 ../src/orca/orca_gui_prefs.py:4776
-#: ../src/orca/orca_gui_prefs.py:4854
+#: ../src/orca/orca_gui_prefs.py:4728 ../src/orca/orca_gui_prefs.py:4748
+#: ../src/orca/orca_gui_prefs.py:4826
 msgid "Positive hue shift"
 msgstr "æ­£å??è?²èª¿å??移"
 
@@ -3347,8 +4049,8 @@ msgstr "å??å§?顯示(_O):"
 #. (75, 100, 125) would become (75, 100, 255).
 #.
 #: ../src/orca/orca-advanced-magnification.ui.h:16
-#: ../src/orca/orca_gui_prefs.py:4724 ../src/orca/orca_gui_prefs.py:4773
-#: ../src/orca/orca_gui_prefs.py:4822
+#: ../src/orca/orca_gui_prefs.py:4696 ../src/orca/orca_gui_prefs.py:4745
+#: ../src/orca/orca_gui_prefs.py:4794
 msgid "Saturate blue"
 msgstr "è??è?²é£½å??"
 
@@ -3358,8 +4060,8 @@ msgstr "è??è?²é£½å??"
 #. (75, 100, 125) would become (75, 255, 125).
 #.
 #: ../src/orca/orca-advanced-magnification.ui.h:17
-#: ../src/orca/orca_gui_prefs.py:4716 ../src/orca/orca_gui_prefs.py:4772
-#: ../src/orca/orca_gui_prefs.py:4814
+#: ../src/orca/orca_gui_prefs.py:4688 ../src/orca/orca_gui_prefs.py:4744
+#: ../src/orca/orca_gui_prefs.py:4786
 msgid "Saturate green"
 msgstr "綠è?²é£½å??"
 
@@ -3369,8 +4071,8 @@ msgstr "綠è?²é£½å??"
 #. (75, 100, 125) would be become (255, 100, 125).
 #.
 #: ../src/orca/orca-advanced-magnification.ui.h:18
-#: ../src/orca/orca_gui_prefs.py:4708 ../src/orca/orca_gui_prefs.py:4771
-#: ../src/orca/orca_gui_prefs.py:4806
+#: ../src/orca/orca_gui_prefs.py:4680 ../src/orca/orca_gui_prefs.py:4743
+#: ../src/orca/orca_gui_prefs.py:4778
 msgid "Saturate red"
 msgstr "ç´?è?²é£½å??"
 
@@ -3447,7 +4149,7 @@ msgstr "é?¸æ??å??好ç??èª?é?³ç³»çµ±ï¼?"
 #. Translators: this is prompting for a numerical choice.
 #.
 #: ../src/orca/orca_console_prefs.py:189 ../src/orca/orca_console_prefs.py:230
-#: ../src/orca/orca_console_prefs.py:282 ../src/orca/orca_console_prefs.py:486
+#: ../src/orca/orca_console_prefs.py:282 ../src/orca/orca_console_prefs.py:488
 msgid "Enter choice: "
 msgstr "輸å?¥é?¸æ??ï¼?"
 
@@ -3456,8 +4158,8 @@ msgstr "輸å?¥é?¸æ??ï¼?"
 #. also requesting they enter a valid integer value.
 #.
 #: ../src/orca/orca_console_prefs.py:196 ../src/orca/orca_console_prefs.py:233
-#: ../src/orca/orca_console_prefs.py:288 ../src/orca/orca_console_prefs.py:501
-#: ../src/orca/orca_console_prefs.py:503
+#: ../src/orca/orca_console_prefs.py:288 ../src/orca/orca_console_prefs.py:503
+#: ../src/orca/orca_console_prefs.py:505
 msgid "Please enter a valid number."
 msgstr "è«?輸å?¥æ??æ??ç??æ?¸å­?ã??"
 
@@ -3503,16 +4205,16 @@ msgstr "é?¸æ??å??好ç??è?²é?³ï¼?"
 #. word prior to the caret when the user types a word
 #. delimiter.
 #.
-#: ../src/orca/orca_console_prefs.py:329
+#: ../src/orca/orca_console_prefs.py:331
 msgid "Enable echo by word?  Enter y or n: "
 msgstr "å??ç?¨å­?è©?å??é?¿ï¼? 輸å?¥ y æ?? nï¼?"
 
-#: ../src/orca/orca_console_prefs.py:339 ../src/orca/orca_console_prefs.py:358
-#: ../src/orca/orca_console_prefs.py:385 ../src/orca/orca_console_prefs.py:402
-#: ../src/orca/orca_console_prefs.py:419 ../src/orca/orca_console_prefs.py:436
-#: ../src/orca/orca_console_prefs.py:454 ../src/orca/orca_console_prefs.py:544
-#: ../src/orca/orca_console_prefs.py:563 ../src/orca/orca_console_prefs.py:581
-#: ../src/orca/orca_console_prefs.py:624
+#: ../src/orca/orca_console_prefs.py:341 ../src/orca/orca_console_prefs.py:360
+#: ../src/orca/orca_console_prefs.py:387 ../src/orca/orca_console_prefs.py:404
+#: ../src/orca/orca_console_prefs.py:421 ../src/orca/orca_console_prefs.py:438
+#: ../src/orca/orca_console_prefs.py:456 ../src/orca/orca_console_prefs.py:546
+#: ../src/orca/orca_console_prefs.py:565 ../src/orca/orca_console_prefs.py:583
+#: ../src/orca/orca_console_prefs.py:628
 msgid "Please enter y or n."
 msgstr "è«?輸å?¥ y æ?? nã??"
 
@@ -3521,35 +4223,35 @@ msgstr "è«?輸å?¥ y æ?? nã??"
 #. user wants key echo, they will then be prompted for which
 #. classes of keys they want echoed.
 #.
-#: ../src/orca/orca_console_prefs.py:348
+#: ../src/orca/orca_console_prefs.py:350
 msgid "Enable key echo?  Enter y or n: "
 msgstr "å??ç?¨æ??é?µå??é?¿ï¼? 輸å?¥ y æ?? nï¼?"
 
 #. Translators: this is in reference to key echo for
 #. normal text entry keys.
 #.
-#: ../src/orca/orca_console_prefs.py:375
+#: ../src/orca/orca_console_prefs.py:377
 msgid "Enable alphanumeric and punctuation keys?  Enter y or n: "
 msgstr "å??ç?¨æ??æ?¸å­?符å??æ¨?é»?符è??æ??é?µï¼? 輸å?¥ y æ?? nï¼?"
 
 #. Translators: this is in reference to key echo for
 #. CTRL, ALT, Shift, Insert, and "Fn" on laptops.
 #.
-#: ../src/orca/orca_console_prefs.py:392
+#: ../src/orca/orca_console_prefs.py:394
 msgid "Enable modifier keys?  Enter y or n: "
 msgstr "å??ç?¨ä¿®æ?¹é?µï¼? 輸å?¥ y æ?? nï¼?"
 
 #. Translators: this is in reference to key echo for
 #. Caps Lock, Num Lock, Scroll Lock, etc.
 #.
-#: ../src/orca/orca_console_prefs.py:409
+#: ../src/orca/orca_console_prefs.py:411
 msgid "Enable locking keys?  Enter y or n: "
 msgstr "å??ç?¨é??å®?é?µï¼? 輸å?¥ y æ?? nï¼?"
 
 #. Translators: this is in reference to key echo for
 #. the keys at the top of the keyboard.
 #.
-#: ../src/orca/orca_console_prefs.py:426
+#: ../src/orca/orca_console_prefs.py:428
 msgid "Enable function keys?  Enter y or n: "
 msgstr "å??ç?¨å??è?½é?µï¼? 輸å?¥ y æ?? nï¼?"
 
@@ -3557,7 +4259,7 @@ msgstr "å??ç?¨å??è?½é?µï¼? 輸å?¥ y æ?? nï¼?"
 #. space, enter, escape, tab, backspace, delete, arrow
 #. keys, page up, page down, etc.
 #.
-#: ../src/orca/orca_console_prefs.py:444
+#: ../src/orca/orca_console_prefs.py:446
 msgid "Enable action keys?  Enter y or n: "
 msgstr "å??ç?¨å??ä½?é?µï¼? 輸å?¥ y æ?? nï¼?"
 
@@ -3565,7 +4267,7 @@ msgstr "å??ç?¨å??ä½?é?µï¼? 輸å?¥ y æ?? nï¼?"
 #. has a numeric keypad) and laptop (i.e., small and compact) keyboard
 #. layouts for how they might control Orca.
 #.
-#: ../src/orca/orca_console_prefs.py:460
+#: ../src/orca/orca_console_prefs.py:462
 msgid "Select desired keyboard layout."
 msgstr "é?¸æ??å??好ç??é?µç?¤é??ç½®ã??"
 
@@ -3573,7 +4275,7 @@ msgstr "é?¸æ??å??好ç??é?µç?¤é??ç½®ã??"
 #. has a numeric keypad) and laptop (i.e., small and compact) keyboard
 #. layouts for how they might control Orca.
 #.
-#: ../src/orca/orca_console_prefs.py:472
+#: ../src/orca/orca_console_prefs.py:474
 msgid "1. Desktop"
 msgstr "1. æ¡?é?¢"
 
@@ -3581,7 +4283,7 @@ msgstr "1. æ¡?é?¢"
 #. has a numeric keypad) and laptop (i.e., small and compact) keyboard
 #. layouts for how they might control Orca.
 #.
-#: ../src/orca/orca_console_prefs.py:479
+#: ../src/orca/orca_console_prefs.py:481
 msgid "2. Laptop"
 msgstr "2. �����"
 
@@ -3589,7 +4291,7 @@ msgstr "2. �����"
 #. use a refreshable braille display (an external hardware
 #. device) or not.
 #.
-#: ../src/orca/orca_console_prefs.py:534
+#: ../src/orca/orca_console_prefs.py:536
 msgid "Enable Braille?  Enter y or n: "
 msgstr "å??ç?¨é»?å­?ï¼? 輸å?¥ y æ?? nï¼?"
 
@@ -3598,34 +4300,34 @@ msgstr "å??ç?¨é»?å­?ï¼? 輸å?¥ y æ?? nï¼?"
 #. It presents what would be (or is being) shown on the
 #. external refreshable braille display.
 #.
-#: ../src/orca/orca_console_prefs.py:553
+#: ../src/orca/orca_console_prefs.py:555
 msgid "Enable Braille Monitor?  Enter y or n: "
 msgstr "å??ç?¨é»?å­?ç?£å¯?å?¨ï¼?輸å?¥ y æ?? nï¼?"
 
 #. Translators: orca can be set up to automatically start when
 #. the user logs in.
 #.
-#: ../src/orca/orca_console_prefs.py:570
+#: ../src/orca/orca_console_prefs.py:572
 msgid "Automatically start orca when you log in?  Enter y or n: "
 msgstr "æ?¯å?¦å?¨ä½ ç?»å?¥æ??è?ªå??å??å?? orcaï¼?æ?? y æ?? nï¼?"
 
-#: ../src/orca/orca_console_prefs.py:585 ../src/orca/orca_gui_prefs.py:480
+#: ../src/orca/orca_console_prefs.py:587 ../src/orca/orca_gui_prefs.py:498
 msgid "Accessibility support for GNOME has just been enabled."
 msgstr "å·²ç¶?å??ç?¨ GNOME ç??ç?¡é??ç¤?ç?°å¢?ã??"
 
-#: ../src/orca/orca_console_prefs.py:591 ../src/orca/orca_gui_prefs.py:482
+#: ../src/orca/orca_console_prefs.py:593 ../src/orca/orca_gui_prefs.py:500
 msgid "You need to log out and log back in for the change to take effect."
 msgstr "é??è¦?ç?»å?ºå¾?å??ç?»å?¥ä¾?å¥?ç?¨æ?°è¨­å®?ã??"
 
-#: ../src/orca/orca_console_prefs.py:601
+#: ../src/orca/orca_console_prefs.py:603
 msgid "Do you want to logout now?  Enter y or n: "
 msgstr "你確å®?ç?¾å?¨è¦?ç?»å?ºå??ï¼?æ?? y æ?? nï¼?"
 
-#: ../src/orca/orca_console_prefs.py:608
+#: ../src/orca/orca_console_prefs.py:610
 msgid "Setup complete. Logging out now."
 msgstr "設å®?å®?æ??ã??ç?¾å?¨ç?»å?ºã??"
 
-#: ../src/orca/orca_console_prefs.py:626
+#: ../src/orca/orca_console_prefs.py:630
 msgid "Setup complete.  Press Return to continue."
 msgstr "設å®?å®?æ??ã??  æ?? Enter ç¹¼çº?ã??"
 
@@ -3653,7 +4355,7 @@ msgstr "é??é??"
 #.
 #: ../src/orca/orca-find.ui.h:4 ../src/orca/scripts/apps/gedit/script.py:320
 #: ../src/orca/scripts/apps/gedit/script.py:322
-#: ../src/orca/scripts/apps/gnome-search-tool.py:165
+#: ../src/orca/scripts/apps/gnome-search-tool/script.py:165
 msgid "Find"
 msgstr "å°?æ?¾"
 
@@ -3764,8 +4466,8 @@ msgstr ""
 #. magnifier.  Centered means that Orca attempts to keep
 #. the object of interest in the center of the magnified window.
 #.
-#: ../src/orca/orca_gui_prefs.py:86 ../src/orca/orca_gui_prefs.py:1929
-#: ../src/orca/orca_gui_prefs.py:1949 ../src/orca/orca-setup.ui.h:42
+#: ../src/orca/orca_gui_prefs.py:102 ../src/orca/orca_gui_prefs.py:2050
+#: ../src/orca/orca_gui_prefs.py:2070 ../src/orca/orca-setup.ui.h:42
 msgid "Centered"
 msgstr "置中"
 
@@ -3777,8 +4479,8 @@ msgstr "置中"
 #. the desktop, Orca positions the mouse 25% from the left edge
 #. of the magnified region.
 #.
-#: ../src/orca/orca_gui_prefs.py:102 ../src/orca/orca_gui_prefs.py:1929
-#: ../src/orca/orca-setup.ui.h:113
+#: ../src/orca/orca_gui_prefs.py:118 ../src/orca/orca_gui_prefs.py:2050
+#: ../src/orca/orca-setup.ui.h:116
 msgid "Proportional"
 msgstr "æ??æ¯?ä¾?ç??"
 
@@ -3787,8 +4489,8 @@ msgstr "æ??æ¯?ä¾?ç??"
 #. magnifier.  Push means that Orca will move the magnified
 #. region just enough to display the object of interest.
 #.
-#: ../src/orca/orca_gui_prefs.py:109 ../src/orca/orca_gui_prefs.py:1929
-#: ../src/orca/orca_gui_prefs.py:1949 ../src/orca/orca-setup.ui.h:114
+#: ../src/orca/orca_gui_prefs.py:125 ../src/orca/orca_gui_prefs.py:2050
+#: ../src/orca/orca_gui_prefs.py:2070 ../src/orca/orca-setup.ui.h:117
 msgid "Push"
 msgstr "æ?¨"
 
@@ -3799,7 +4501,7 @@ msgstr "æ?¨"
 #. what action Orca will take when the user invokes an Orca-specific
 #. keyboard command.
 #.
-#: ../src/orca/orca_gui_prefs.py:234
+#: ../src/orca/orca_gui_prefs.py:250
 msgid "Function"
 msgstr "å??è?½"
 
@@ -3807,7 +4509,7 @@ msgstr "å??è?½"
 #. the cells in the column represent keyboard combinations
 #. the user can press to invoke Orca commands.
 #.
-#: ../src/orca/orca_gui_prefs.py:312
+#: ../src/orca/orca_gui_prefs.py:328
 msgid "Key Binding"
 msgstr "æ??é?µçµ?å??"
 
@@ -3818,7 +4520,7 @@ msgstr "æ??é?µçµ?å??"
 #. addition to the key bindings in the "Key Bindings"
 #. column.
 #.
-#: ../src/orca/orca_gui_prefs.py:391
+#: ../src/orca/orca_gui_prefs.py:407
 msgid "Alternate"
 msgstr "Alternate"
 
@@ -3826,7 +4528,7 @@ msgstr "Alternate"
 #. cells represent whether a key binding has been modified
 #. from the default key binding.
 #.
-#: ../src/orca/orca_gui_prefs.py:411
+#: ../src/orca/orca_gui_prefs.py:427
 msgid "Modified"
 msgstr "已修�"
 
@@ -3834,7 +4536,7 @@ msgstr "已修�"
 #. by Orca when presenting the content of the screen and other
 #. messages.
 #.
-#: ../src/orca/orca_gui_prefs.py:730
+#: ../src/orca/orca_gui_prefs.py:754
 msgctxt "VoiceType"
 msgid "Default"
 msgstr "�設�"
@@ -3842,7 +4544,7 @@ msgstr "�設�"
 #. Translators: This refers to the voice used by Orca when
 #. presenting one or more characters which is in uppercase.
 #.
-#: ../src/orca/orca_gui_prefs.py:734
+#: ../src/orca/orca_gui_prefs.py:758
 msgctxt "VoiceType"
 msgid "Uppercase"
 msgstr "大寫��"
@@ -3851,17 +4553,31 @@ msgstr "大寫��"
 #. presenting one or more characters which is part of a
 #. hyperlink.
 #.
-#: ../src/orca/orca_gui_prefs.py:739
+#: ../src/orca/orca_gui_prefs.py:763
 msgctxt "VoiceType"
 msgid "Hyperlink"
 msgstr "���"
 
+#. Translators: This refers to the voice used by Orca when
+#. presenting information which is not displayed on the screen
+#. as text, but is still being communicated by the system in
+#. some visual fashion. For instance, Orca says "misspelled"
+#. to indicate the presence of the red squiggly line found
+#. under a spelling error; Orca might say "3 of 6" when a
+#. user Tabs into a list of six items and the third item is
+#. selected. And so on.
+#.
+#: ../src/orca/orca_gui_prefs.py:773
+msgctxt "VoiceType"
+msgid "System"
+msgstr "系統"
+
 #. Attribute Name column (NAME).
 #.
 #. Translators: Attribute here refers to text attributes such
 #. as bold, underline, family-name, etc.
 #.
-#: ../src/orca/orca_gui_prefs.py:1171
+#: ../src/orca/orca_gui_prefs.py:1206
 msgid "Attribute Name"
 msgstr "屬æ?§å??稱"
 
@@ -3872,7 +4588,7 @@ msgstr "屬æ?§å??稱"
 #. will speak that attribute, if it is present, when the user
 #. presses Orca_Modifier+F.
 #.
-#: ../src/orca/orca_gui_prefs.py:1186
+#: ../src/orca/orca_gui_prefs.py:1221
 msgid "Speak"
 msgstr "è®?å?º "
 
@@ -3883,7 +4599,7 @@ msgstr "è®?å?º "
 #. Orca will "underline" that attribute, if it is present, on
 #. the refreshable braille display.
 #.
-#: ../src/orca/orca_gui_prefs.py:1204
+#: ../src/orca/orca_gui_prefs.py:1239
 msgid "Mark in braille"
 msgstr "以���示"
 
@@ -3902,7 +4618,7 @@ msgstr "以���示"
 #. value of underline is none (i.e. when it's not underlined).
 #. "Present" here is being used as a verb.
 #.
-#: ../src/orca/orca_gui_prefs.py:1230
+#: ../src/orca/orca_gui_prefs.py:1265
 msgid "Present Unless"
 msgstr "顯示�"
 
@@ -3913,7 +4629,7 @@ msgstr "顯示�"
 #. or a particular word that is pronounced differently then the way
 #. that it looks.
 #.
-#: ../src/orca/orca_gui_prefs.py:1344
+#: ../src/orca/orca_gui_prefs.py:1379
 msgid "Actual String"
 msgstr "實é??å­?串"
 
@@ -3924,7 +4640,7 @@ msgstr "實é??å­?串"
 #. For example: if the actual string was "MHz", then the replacement
 #. (spoken) string would be "megahertz".
 #.
-#: ../src/orca/orca_gui_prefs.py:1361
+#: ../src/orca/orca_gui_prefs.py:1396
 msgid "Replacement String"
 msgstr "ç½®æ??å­?串"
 
@@ -3937,7 +4653,7 @@ msgstr "ç½®æ??å­?串"
 #. of utterances has been calculated.
 #.
 #. Translators: different speech systems and speech engines work differently when it comes to handling pauses (e.g., sentence boundaries).  This property allows the user to specify whether speech should be sent to the speech synthesis system immediately when a pause directive is enountered or if it should be queued up and sent to the speech synthesis system once the entire set of utterances has been calculated.
-#: ../src/orca/orca_gui_prefs.py:1547 ../src/orca/orca-setup.ui.h:39
+#: ../src/orca/orca_gui_prefs.py:1589 ../src/orca/orca-setup.ui.h:39
 msgid "Break speech into ch_unks between pauses"
 msgstr "å°?èª?é?³æ ¹æ??å??é ?ç??å?°æ?¹é??é??(_U)"
 
@@ -3945,8 +4661,8 @@ msgstr "å°?èª?é?³æ ¹æ??å??é ?ç??å?°æ?¹é??é??(_U)"
 #. over an entire document, Orca will pause at the end of each
 #. line.
 #.
-#: ../src/orca/orca_gui_prefs.py:1559 ../src/orca/orca_gui_prefs.py:3051
-#: ../src/orca/orca-setup.ui.h:91
+#: ../src/orca/orca_gui_prefs.py:1601 ../src/orca/orca_gui_prefs.py:2998
+#: ../src/orca/orca-setup.ui.h:93
 msgid "Line"
 msgstr "è¡?"
 
@@ -3954,8 +4670,8 @@ msgstr "è¡?"
 #. over an entire document, Orca will pause at the end of each
 #. sentence.
 #.
-#: ../src/orca/orca_gui_prefs.py:1559 ../src/orca/orca_gui_prefs.py:3057
-#: ../src/orca/orca-setup.ui.h:122
+#: ../src/orca/orca_gui_prefs.py:1601 ../src/orca/orca_gui_prefs.py:3004
+#: ../src/orca/orca-setup.ui.h:125
 msgid "Sentence"
 msgstr "��"
 
@@ -3964,7 +4680,7 @@ msgstr "��"
 #. will present progress bar updates regardless of what application
 #. and window they happen to be in.
 #.
-#: ../src/orca/orca_gui_prefs.py:1579 ../src/orca/orca_gui_prefs.py:3016
+#: ../src/orca/orca_gui_prefs.py:1700 ../src/orca/orca_gui_prefs.py:2963
 msgctxt "ProgressBar"
 msgid "All"
 msgstr "��"
@@ -3975,7 +4691,7 @@ msgstr "��"
 #. progress bar is in the active application (but not necessarily
 #. in the current window).
 #.
-#: ../src/orca/orca_gui_prefs.py:1586
+#: ../src/orca/orca_gui_prefs.py:1707
 msgctxt "ProgressBar"
 msgid "Application"
 msgstr "æ??ç?¨ç¨?å¼?"
@@ -3985,7 +4701,7 @@ msgstr "æ??ç?¨ç¨?å¼?"
 #. Orca will present progress bar updates as long as the progress
 #. bar is in the active window.
 #.
-#: ../src/orca/orca_gui_prefs.py:1592 ../src/orca/orca_gui_prefs.py:3024
+#: ../src/orca/orca_gui_prefs.py:1713 ../src/orca/orca_gui_prefs.py:2971
 msgctxt "ProgressBar"
 msgid "Window"
 msgstr "��"
@@ -3994,7 +4710,7 @@ msgstr "��"
 #. announced when pressed.
 #.
 #. Translators: When this option is enabled, dead keys will be announced when pressed.
-#: ../src/orca/orca_gui_prefs.py:1699 ../src/orca/orca-setup.ui.h:78
+#: ../src/orca/orca_gui_prefs.py:1820 ../src/orca/orca-setup.ui.h:80
 msgid "Enable non-spacing _diacritical keys"
 msgstr ""
 
@@ -4005,7 +4721,7 @@ msgstr ""
 #. 1 is spoken.
 #.
 #. Translators: When this option is enabled, inserted text of length 1 is spoken.
-#: ../src/orca/orca_gui_prefs.py:1707 ../src/orca/orca-setup.ui.h:75
+#: ../src/orca/orca_gui_prefs.py:1828 ../src/orca/orca-setup.ui.h:77
 msgid "Enable echo by cha_racter"
 msgstr "å??ç?¨å­?è©?å??é?¿(_R)"
 
@@ -4013,7 +4729,7 @@ msgstr "å??ç?¨å­?è©?å??é?¿(_R)"
 #. and triple "clicks" or key presses, similar to
 #. using a mouse.
 #.
-#: ../src/orca/orca_gui_prefs.py:2219
+#: ../src/orca/orca_gui_prefs.py:2348
 msgid "(double click)"
 msgstr "(é?£æ??å?©ä¸?)"
 
@@ -4021,7 +4737,7 @@ msgstr "(é?£æ??å?©ä¸?)"
 #. and triple "clicks" or key presses, similar to
 #. using a mouse.
 #.
-#: ../src/orca/orca_gui_prefs.py:2225
+#: ../src/orca/orca_gui_prefs.py:2354
 msgid "(triple click)"
 msgstr "(ä¸?æ??)"
 
@@ -4030,7 +4746,7 @@ msgstr "(ä¸?æ??)"
 #. The braille bindings are what determine the actions Orca will
 #. take when the user presses these buttons.
 #.
-#: ../src/orca/orca_gui_prefs.py:2329 ../src/orca/orca_gui_prefs.py:2427
+#: ../src/orca/orca_gui_prefs.py:2458 ../src/orca/orca_gui_prefs.py:2553
 msgid "Braille Bindings"
 msgstr "é»?å­?æ??é?µçµ?å??"
 
@@ -4039,8 +4755,8 @@ msgstr "é»?å­?æ??é?µçµ?å??"
 #. chooses this setting, the dot in the bottom left
 #. corner will be used to 'underline' text of interest.
 #.
-#: ../src/orca/orca_gui_prefs.py:2861 ../src/orca/orca_gui_prefs.py:2902
-#: ../src/orca/orca_gui_prefs.py:2942 ../src/orca/orca-setup.ui.h:54
+#: ../src/orca/orca_gui_prefs.py:2797 ../src/orca/orca_gui_prefs.py:2838
+#: ../src/orca/orca_gui_prefs.py:2878 ../src/orca/orca-setup.ui.h:56
 msgid "Dot _7"
 msgstr "_7 é»?"
 
@@ -4048,8 +4764,8 @@ msgstr "_7 é»?"
 #. dot in the bottom right corner of the braille cell
 #. will be used to 'underline' text of interest.
 #.
-#: ../src/orca/orca_gui_prefs.py:2868 ../src/orca/orca_gui_prefs.py:2909
-#: ../src/orca/orca_gui_prefs.py:2949 ../src/orca/orca-setup.ui.h:55
+#: ../src/orca/orca_gui_prefs.py:2804 ../src/orca/orca_gui_prefs.py:2845
+#: ../src/orca/orca_gui_prefs.py:2885 ../src/orca/orca-setup.ui.h:57
 msgid "Dot _8"
 msgstr "_8 é»?"
 
@@ -4057,15 +4773,15 @@ msgstr "_8 é»?"
 #. two dots at the bottom of the braille cell will be
 #. used to 'underline' text of interest.
 #.
-#: ../src/orca/orca_gui_prefs.py:2875 ../src/orca/orca_gui_prefs.py:2916
-#: ../src/orca/orca_gui_prefs.py:2956 ../src/orca/orca-setup.ui.h:56
+#: ../src/orca/orca_gui_prefs.py:2811 ../src/orca/orca_gui_prefs.py:2852
+#: ../src/orca/orca_gui_prefs.py:2892 ../src/orca/orca-setup.ui.h:58
 msgid "Dots 7 an_d 8"
 msgstr "7 å?? 8 é»?(_D)"
 
 #. Translators: If this setting is chosen, no punctuation
 #. symbols will be spoken as a user reads a document.
 #.
-#: ../src/orca/orca_gui_prefs.py:2979 ../src/orca/orca-setup.ui.h:161
+#: ../src/orca/orca_gui_prefs.py:2915 ../src/orca/orca-setup.ui.h:165
 msgid "_None"
 msgstr "æ²?æ??(_N)"
 
@@ -4074,7 +4790,7 @@ msgstr "æ²?æ??(_N)"
 #. spoken as a user reads a document, but less common symbols
 #. (such as #, @, $) will.
 #.
-#: ../src/orca/orca_gui_prefs.py:2987 ../src/orca/orca-setup.ui.h:124
+#: ../src/orca/orca_gui_prefs.py:2923 ../src/orca/orca-setup.ui.h:127
 msgid "So_me"
 msgstr "��(_M)"
 
@@ -4082,7 +4798,7 @@ msgstr "��(_M)"
 #. punctuation symbols will be spoken as a user reads a
 #. document.
 #.
-#: ../src/orca/orca_gui_prefs.py:2994 ../src/orca/orca-setup.ui.h:92
+#: ../src/orca/orca_gui_prefs.py:2930 ../src/orca/orca-setup.ui.h:94
 msgid "M_ost"
 msgstr "大�份(_O)"
 
@@ -4090,7 +4806,7 @@ msgstr "大�份(_O)"
 #. Orca provides about a particular object that receives
 #. focus.
 #.
-#: ../src/orca/orca_gui_prefs.py:3077 ../src/orca/orca_gui_prefs.py:3208
+#: ../src/orca/orca_gui_prefs.py:3090 ../src/orca/orca_gui_prefs.py:3194
 #: ../src/orca/orca-setup.ui.h:40
 msgid "Brie_f"
 msgstr "ç°¡ç?­(_F)"
@@ -4099,23 +4815,20 @@ msgstr "ç°¡ç?­(_F)"
 #. sometimes want the entire row of a table read, or
 #. they just want the current cell to be presented to them.
 #.
-#: ../src/orca/orca_gui_prefs.py:3101
-msgid "Speak current _cell"
-msgstr "è®?å?ºç?®å??ç??å?²å­?æ ¼(_C)"
+#. Translators: This is one of two options available in the Preferences dialog for the Table Rows setting. If chosen, Orca will speak just the new cell when the user arrows Up or Down in a table.
+#: ../src/orca/orca_gui_prefs.py:3114 ../src/orca/orca-setup.ui.h:130
+msgid "Speak _cell"
+msgstr "����格(_C)"
 
 #. Translators: this is a spoken prompt asking the user to press
 #. a new key combination (e.g., Alt+Ctrl+g) to create a new
 #. key bindings.
 #.
-#: ../src/orca/orca_gui_prefs.py:3855
+#: ../src/orca/orca_gui_prefs.py:3852
 msgid "enter new key"
 msgstr "輸å?¥æ?°ç??æ??é?µ"
 
-#. Translators: this is a spoken prompt letting the user know
-#. Orca has deleted an existing key combination based upon
-#. their input.
-#.
-#: ../src/orca/orca_gui_prefs.py:3884
+#: ../src/orca/orca_gui_prefs.py:3882
 msgid "Key binding deleted. Press enter to confirm."
 msgstr "æ??é?µçµ?å??å·²å?ªé?¤ã??æ?? enter 確èª?ã??"
 
@@ -4123,7 +4836,7 @@ msgstr "æ??é?µçµ?å??å·²å?ªé?¤ã??æ?? enter 確èª?ã??"
 #. that the key combination (e.g., Ctrl+Alt+f) they just
 #. entered has already been bound to another command.
 #.
-#: ../src/orca/orca_gui_prefs.py:3908
+#: ../src/orca/orca_gui_prefs.py:3906
 #, python-format
 msgid "The key entered is already bound to %s"
 msgstr "輸å?¥ç??æ??é?µå·²ç¹«çµ?æ?¼ %s"
@@ -4132,7 +4845,7 @@ msgstr "輸å?¥ç??æ??é?µå·²ç¹«çµ?æ?¼ %s"
 #. know Orca has recorded a new key combination (e.g., Alt+Ctrl+g)
 #. based upon their input.
 #.
-#: ../src/orca/orca_gui_prefs.py:3915
+#: ../src/orca/orca_gui_prefs.py:3912
 #, python-format
 msgid "Key captured: %s. Press enter to confirm."
 msgstr "æ??é?µæ?·å??ï¼?%sã??æ?? enter 確èª?ã??"
@@ -4141,7 +4854,7 @@ msgstr "æ??é?µæ?·å??ï¼?%sã??æ?? enter 確èª?ã??"
 #. combination (e.g., Ctrl+Alt+f) the user just typed when
 #. creating a new key binding.
 #.
-#: ../src/orca/orca_gui_prefs.py:3954
+#: ../src/orca/orca_gui_prefs.py:3951
 #, python-format
 msgid "The new key is: %s"
 msgstr "æ?°ç??æ??é?µæ?¯ï¼?%s"
@@ -4150,20 +4863,20 @@ msgstr "æ?°ç??æ??é?µæ?¯ï¼?%s"
 #. existing key combination (e.g., Ctrl+Alt+f) that was
 #. associated with a command has been deleted.
 #.
-#: ../src/orca/orca_gui_prefs.py:3962
+#: ../src/orca/orca_gui_prefs.py:3959
 msgid "The keybinding has been removed."
 msgstr "該æ??é?µçµ?å??å·²ç¶?被移é?¤ã??"
 
 #. Translators: this refers to the keyboard layout (desktop
 #. or laptop).
 #.
-#: ../src/orca/orca_gui_prefs.py:4040 ../src/orca/orca-setup.ui.h:155
+#: ../src/orca/orca_gui_prefs.py:4011 ../src/orca/orca-setup.ui.h:159
 msgid "_Desktop"
 msgstr "æ¡?é?¢(_D)"
 
 #. Translators: Orca Preferences is the configuration GUI for Orca.
 #.
-#: ../src/orca/orca_gui_prefs.py:5099
+#: ../src/orca/orca_gui_prefs.py:5071
 msgid "Starting Orca Preferences."
 msgstr "å??å?? Orca å??好設å®?ã??"
 
@@ -4173,7 +4886,7 @@ msgstr "Orca è?¢å¹?é?±è®?ç¨?å¼?å??æ?¾å¤§é?¡"
 
 #. Translators: this is what Orca speaks and brailles when it quits.
 #.
-#: ../src/orca/orca.py:298 ../src/orca/orca.py:1360 ../src/orca/orca.py:1361
+#: ../src/orca/orca.py:310 ../src/orca/orca.py:1709
 msgid "Goodbye."
 msgstr "å??è¦?ã??"
 
@@ -4186,18 +4899,30 @@ msgstr "å??è¦?ã??"
 #. Exiting learn mode puts the user back in normal operating
 #. mode.
 #.
-#: ../src/orca/orca.py:370
+#: ../src/orca/orca.py:384
 msgid "Exiting learn mode."
 msgstr "é?¢é??å­¸ç¿?模å¼?ã??"
 
+#. 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.
+#.
+#: ../src/orca/orca.py:408
+msgid "Exiting list shortcuts mode."
+msgstr "é?¢é??å??å?ºæ?·å¾?é?µæ¨¡å¼?ã??"
+
 #. Translators: this represents the state of a check box
 #.
 #. Translators: this represents the state of a locking modifier
 #. key (e.g., Caps Lock)
 #.
-#: ../src/orca/orca.py:619
-#: ../src/orca/scripts/apps/soffice/speech_generator.py:172
-#: ../src/orca/speech.py:275 ../src/orca/speechserver.py:218
+#: ../src/orca/orca.py:660
+#: ../src/orca/scripts/apps/soffice/speech_generator.py:220
+#: ../src/orca/speech.py:287 ../src/orca/speechserver.py:218
 msgid "off"
 msgstr " é??"
 
@@ -4206,23 +4931,23 @@ msgstr " é??"
 #. Translators: this represents the state of a locking modifier
 #. key (e.g., Caps Lock)
 #.
-#: ../src/orca/orca.py:623
-#: ../src/orca/scripts/apps/soffice/speech_generator.py:168
-#: ../src/orca/speech.py:270 ../src/orca/speechserver.py:213
+#: ../src/orca/orca.py:664
+#: ../src/orca/scripts/apps/soffice/speech_generator.py:216
+#: ../src/orca/speech.py:282 ../src/orca/speechserver.py:213
 msgid "on"
 msgstr " é??"
 
 #. Translators: this is a spoken prompt letting the user know
 #. that speech synthesis has been turned back on.
 #.
-#: ../src/orca/orca.py:961
+#: ../src/orca/orca.py:1021
 msgid "Speech enabled."
 msgstr "å·²å??ç?¨æ??è®?å??è?½ã??"
 
 #. Translators: this is a spoken prompt letting the user know
 #. that speech synthesis has been temporarily turned off.
 #.
-#: ../src/orca/orca.py:966
+#: ../src/orca/orca.py:1026
 msgid "Speech disabled."
 msgstr "å·²å??ç?¨æ??è®?å??è?½ã??"
 
@@ -4230,18 +4955,122 @@ msgstr "å·²å??ç?¨æ??è®?å??è?½ã??"
 #. preferences.  This is a spoken prompt to let the user
 #. know when the preferences has been reloaded.
 #.
-#: ../src/orca/orca.py:1033
+#: ../src/orca/orca.py:1156
 msgid "Orca user settings reloaded."
 msgstr "å·²é??æ?°è¼?å?¥ Orca 使ç?¨è??設å®?ã??"
 
-#: ../src/orca/orca.py:1442
+#. 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.
+#.
+#: ../src/orca/orca.py:1331
+msgid "Use Up and Down Arrow to navigate the list. Press Escape to exit."
+msgstr "使ç?¨ä¸?ã??ä¸?æ?¹å??é?µä¾?ç??覽æ¸?å?®ã??æ?? Escape çµ?æ??ã??"
+
+#. Translators: This message is presented when the user is in
+#. 'list of shortcuts mode'. In this messsage, we present the
+#. number of shortcuts found.
+#.
+#: ../src/orca/orca.py:1345
+#, python-format
+msgid "%d Orca default shortcut found."
+msgid_plural "%d Orca default shortcuts found."
+msgstr[0] "æ?¾å?° %d å?? Orca é ?設æ?·å¾?é?µã??"
+
+#. Translators: This message is presented when the user is in
+#. 'list of shortcuts mode'. In this message, we present the
+#. number of shortcuts found for the named application.
+#.
+#: ../src/orca/orca.py:1367
+#, python-format
+msgid "%(count)d Orca shortcut for %(application)s found."
+msgid_plural "%(count)d Orca shortcuts for %(application)s found."
+msgstr[0] "æ?¾å?° %(count)d å?? Orca %(application)s æ?·å¾?é?µã??"
+
+#. 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.
+#.
+#: ../src/orca/orca.py:1385
+#, python-format
+msgid "No Orca shortcuts for %s found."
+msgstr "æ?¾ä¸?å?° %s ç?? Orca æ?·å¾?é?µã??"
+
+#. 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.
+#.
+#. Translators: when the user is attempting to locate a
+#. particular object and the top of the 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.
+#.
+#. 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.
+#.
+#: ../src/orca/orca.py:1403 ../src/orca/scripts/toolkits/Gecko/script.py:6077
+#: ../src/orca/structural_navigation.py:885
+msgid "Wrapping to bottom."
+msgstr "è·³è?³åº?é?¨ã??"
+
+#. 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.
+#.
+#. Translators: when the user is attempting to locate a
+#. particular object and the bottom of the 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.
+#.
+#. 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.
+#.
+#: ../src/orca/orca.py:1424 ../src/orca/scripts/toolkits/Gecko/script.py:6145
+#: ../src/orca/structural_navigation.py:893
+msgid "Wrapping to top."
+msgstr "å??å?°é??å§?ã??"
+
+#: ../src/orca/orca.py:1495
+msgid "keypad "
+msgstr ""
+
+#. Translators: Orca keybindings support double
+#. and triple "clicks" or key presses, similar to
+#. using a mouse.
+#.
+#: ../src/orca/orca.py:1502
+msgid "double click"
+msgstr "é?£æ??å?©ä¸?"
+
+#. Translators: Orca keybindings support double
+#. and triple "clicks" or key presses, similar to
+#. using a mouse.
+#.
+#: ../src/orca/orca.py:1508
+msgid "triple click"
+msgstr "ä¸?æ??"
+
+#: ../src/orca/orca.py:1792
 msgid "Usage: orca [OPTION...]"
 msgstr "���orca [��...]"
 
 #. Translators: this is the description of the command line option
 #. '-?, --help' that is used to display usage information.
 #.
-#: ../src/orca/orca.py:1448
+#: ../src/orca/orca.py:1798
 msgid "Show this help message"
 msgstr "顯示此說æ??è¨?æ?¯"
 
@@ -4249,7 +5078,7 @@ msgstr "顯示此說æ??è¨?æ?¯"
 #. the names of the applications known to the accessibility infrastructure
 #. to stdout and then exits.
 #.
-#: ../src/orca/orca.py:1457
+#: ../src/orca/orca.py:1807
 msgid "Print the known running applications"
 msgstr "顯示已ç?¥å?·è¡?ç??æ??ç?¨ç¨?å¼?"
 
@@ -4261,7 +5090,7 @@ msgstr "顯示已ç?¥å?·è¡?ç??æ??ç?¨ç¨?å¼?"
 #. always start with 'debug' and end with '.out', regardless of the
 #. locale.).
 #.
-#: ../src/orca/orca.py:1468
+#: ../src/orca/orca.py:1818
 msgid "Send debug output to debug-YYYY-MM-DD-HH:MM:SS.out"
 msgstr "�����輸�� debug-YYYY-MM-DD-HH:MM:SS.out "
 
@@ -4269,7 +5098,7 @@ msgstr "�����輸�� debug-YYYY-MM-DD-HH:MM:SS.out "
 #. the name of the debug file Orca will use for debug output if the
 #. --debug option is used.
 #.
-#: ../src/orca/orca.py:1475
+#: ../src/orca/orca.py:1825
 msgid "Send debug output to the specified file"
 msgstr "å°?é?¤é?¯è¼¸å?ºè³?æ??å?³é??è?³æ??å®?ç??æª?æ¡?"
 
@@ -4277,7 +5106,7 @@ msgstr "å°?é?¤é?¯è¼¸å?ºè³?æ??å?³é??è?³æ??å®?ç??æª?æ¡?"
 #. '-s, --setup, --gui-setup' that will initially display a GUI dialog
 #. that would allow the user to set their Orca preferences.
 #.
-#: ../src/orca/orca.py:1481
+#: ../src/orca/orca.py:1831
 msgid "Set up user preferences"
 msgstr "設å®?使ç?¨è??å??好設å®?"
 
@@ -4287,7 +5116,7 @@ msgstr "設å®?使ç?¨è??å??好設å®?"
 #. startup. For this to happen properly, Orca will need to be run
 #. from a terminal window.
 #.
-#: ../src/orca/orca.py:1490
+#: ../src/orca/orca.py:1840
 msgid "Set up user preferences (text version)"
 msgstr "設å®?使ç?¨è??å??好設å®?ï¼?æ??å­?ç??æ?¬ï¼?"
 
@@ -4295,17 +5124,15 @@ msgstr "設å®?使ç?¨è??å??好設å®?ï¼?æ??å­?ç??æ?¬ï¼?"
 #. '-n, --no-setup' that means that Orca will startup without setting
 #. up any user preferences.
 #.
-#: ../src/orca/orca.py:1497
+#: ../src/orca/orca.py:1847
 msgid "Skip set up of user preferences"
 msgstr "ç?¥é??使ç?¨è??å??好設å®?"
 
-#. Translators: by default, Orca expects to find its user preferences
-#. in a directory called .orca under the user's home directory. This
-#. is the description of the command line option
+#. Translators: this is the description of the command line option
 #. '-u, --user-prefs-dir=dirname' that allows you to specify an alternate
-#. location for those user preferences.
+#. location for the user preferences.
 #.
-#: ../src/orca/orca.py:1506
+#: ../src/orca/orca.py:1854
 msgid "Use alternate directory for user preferences"
 msgstr "å?¶å®?使ç?¨è??å??好設å®?ç??è³?æ??夾å??稱"
 
@@ -4313,7 +5140,7 @@ msgstr "å?¶å®?使ç?¨è??å??好設å®?ç??è³?æ??夾å??稱"
 #. command line option, it will be automatically enabled as Orca is
 #. started.
 #.
-#: ../src/orca/orca.py:1519
+#: ../src/orca/orca.py:1868
 msgid "Force use of option"
 msgstr "å¼·å?¶ä½¿ç?¨ç??é?¸é ?"
 
@@ -4321,7 +5148,7 @@ msgstr "å¼·å?¶ä½¿ç?¨ç??é?¸é ?"
 #. command line option, it will be automatically disabled as Orca is
 #. started.
 #.
-#: ../src/orca/orca.py:1532
+#: ../src/orca/orca.py:1882
 msgid "Prevent use of option"
 msgstr "é?¿å??使ç?¨ç??é?¸é ?"
 
@@ -4330,18 +5157,28 @@ msgstr "é?¿å??使ç?¨ç??é?¸é ?"
 #. If this command line option is specified, the script will quit any
 #. instances of Orca that are already running.
 #.
-#: ../src/orca/orca.py:1540
+#: ../src/orca/orca.py:1890
 msgid "Quits Orca (if shell script used)"
 msgstr "é?¢é?? Orcaï¼?å¦?æ?? shell script æ??使ç?¨ï¼?"
 
+#. Translators: this is the Orca command line option that will force
+#. the termination of Orca.
+#. The user would run the Orca shell script again from a terminal window.
+#. If this command line option is specified, the script will quit any
+#. instances of Orca that are already running.
+#.
+#: ../src/orca/orca.py:1899
+msgid "Forces orca to be terminated immediately."
+msgstr "å¼·å?¶ orca ç«?å?³ä¸­æ­¢ã??"
+
 #. Translators: this is the Orca command line option to tell Orca to
 #. replace any existing Orca process(es) that might be running.
 #.
-#: ../src/orca/orca.py:1546
+#: ../src/orca/orca.py:1908
 msgid "Replace a currently running Orca"
 msgstr "æ?¿æ??ç?®å??å?·è¡?ç?? Orca"
 
-#: ../src/orca/orca.py:1552
+#: ../src/orca/orca.py:1914
 msgid ""
 "If Orca has not been previously set up by the user, Orca\n"
 "will automatically launch the preferences set up unless\n"
@@ -4351,7 +5188,7 @@ msgstr ""
 "Orca æ??è?ªå??å?·è¡?å??好設å®?ï¼?\n"
 "é?¤é??æ??å®?äº? -n æ?? --no-setup é??é ?ã??"
 
-#: ../src/orca/orca.py:1560
+#: ../src/orca/orca.py:1922
 msgid ""
 "WARNING: suspending Orca, e.g. by pressing Control-Z, from\n"
 "an AT-SPI enabled shell (such as gnome-terminal), can also\n"
@@ -4361,11 +5198,11 @@ msgstr ""
 "系統殼(gnome-terminal)中æ??ä¸? Control-Z ï¼?\n"
 "æ??å??æ??使æ¡?é?¢æ?«å??ï¼?ç?´å?° Orca 被中止ã??"
 
-#: ../src/orca/orca.py:1565
+#: ../src/orca/orca.py:1927
 msgid "Report bugs to orca-list gnome org "
 msgstr "�報�誤� orca-list gnome org"
 
-#: ../src/orca/orca.py:1750
+#: ../src/orca/orca.py:2134
 msgid "Welcome to Orca."
 msgstr "æ­¡è¿?使ç?¨ Orcaã??"
 
@@ -4540,364 +5377,374 @@ msgstr "游�大��"
 msgid "Custom siz_e"
 msgstr "��大�(_E)"
 
-#: ../src/orca/orca-setup.ui.h:51
+#. Translators: Orca can present the current date to the user, here they can choose how the date should be presented to them.
+#: ../src/orca/orca-setup.ui.h:52
+msgid "Dat_e format:"
+msgstr "æ?¥æ??æ ¼å¼?(_E):"
+
+#: ../src/orca/orca-setup.ui.h:53
 msgid "Default"
 msgstr "�設"
 
-#: ../src/orca/orca-setup.ui.h:52
+#: ../src/orca/orca-setup.ui.h:54
 msgid "Disable _end of line symbol"
 msgstr "å??ç?¨è¡?尾符è??(_E)"
 
-#: ../src/orca/orca-setup.ui.h:53
+#: ../src/orca/orca-setup.ui.h:55
 msgid "Disable gksu _keyboard grab"
 msgstr "å??æ­¢ gksu é?µç?¤æ?·å??(_K)"
 
 #. Translators: When a user chooses a tracking alignment of "push", Orca moves the magnified view just enough to fit the object of interest at the very edge of the screen.  The "edge margin" allows the user to specify a margin so that objects are not displayed too close to the edge.
-#: ../src/orca/orca-setup.ui.h:58
+#: ../src/orca/orca-setup.ui.h:60
 msgid "Edge mar_gin:"
 msgstr "é??ç·£å°?é½?(_G):"
 
-#: ../src/orca/orca-setup.ui.h:59
+#: ../src/orca/orca-setup.ui.h:61
 msgid "Enable Braille _monitor"
 msgstr "å??ç?¨é»?å­?ç?£å?¨(_M)"
 
-#: ../src/orca/orca-setup.ui.h:60
+#: ../src/orca/orca-setup.ui.h:62
 msgid "Enable Braille _support"
 msgstr "å??ç?¨é»?å­?æ?¯æ?´(_S)"
 
-#: ../src/orca/orca-setup.ui.h:61
+#: ../src/orca/orca-setup.ui.h:63
 msgid "Enable _alphanumeric and punctuation keys"
 msgstr "å??ç?¨æ??æ?¸å­?符å??æ¨?é»?符è??æ??é?µ(_A)"
 
-#: ../src/orca/orca-setup.ui.h:62
+#: ../src/orca/orca-setup.ui.h:64
 msgid "Enable _function keys"
 msgstr "å??ç?¨å??è?½é?µ(_F)"
 
-#: ../src/orca/orca-setup.ui.h:63
+#: ../src/orca/orca-setup.ui.h:65
 msgid "Enable _key echo"
 msgstr "å??ç?¨æ??é?µå??é?¿(_K)"
 
-#: ../src/orca/orca-setup.ui.h:64
+#: ../src/orca/orca-setup.ui.h:66
 msgid "Enable _magnifier"
 msgstr "å??ç?¨æ?¾å¤§é?¡(_M)"
 
-#: ../src/orca/orca-setup.ui.h:65
+#: ../src/orca/orca-setup.ui.h:67
 msgid "Enable _modifier keys"
 msgstr "å??ç?¨ä¿®æ?¹é?µ(_M)"
 
-#: ../src/orca/orca-setup.ui.h:66
+#: ../src/orca/orca-setup.ui.h:68
 msgid "Enable _navigation keys"
 msgstr "å??ç?¨å°?覽é?µ(_N)"
 
-#: ../src/orca/orca-setup.ui.h:67
+#: ../src/orca/orca-setup.ui.h:69
 msgid "Enable ac_tion keys"
 msgstr "å??ç?¨å??ä½?é?µ(_T)"
 
-#: ../src/orca/orca-setup.ui.h:68
+#: ../src/orca/orca-setup.ui.h:70
 msgid "Enable bor_der"
 msgstr "å??ç?¨æ¡?ç·?(_D)"
 
-#: ../src/orca/orca-setup.ui.h:69
+#: ../src/orca/orca-setup.ui.h:71
 msgid "Enable c_ursor"
 msgstr "å??ç?¨æ¸¸æ¨?(_U)"
 
-#: ../src/orca/orca-setup.ui.h:70
+#: ../src/orca/orca-setup.ui.h:72
 msgid "Enable cross-h_air"
 msgstr "å??ç?¨å??å­?æº?æ??(_A)"
 
-#: ../src/orca/orca-setup.ui.h:71
+#: ../src/orca/orca-setup.ui.h:73
 msgid "Enable cross-hair cl_ip"
 msgstr "å??ç?¨å??å­?æº?æ??(_I)"
 
-#: ../src/orca/orca-setup.ui.h:72
+#: ../src/orca/orca-setup.ui.h:74
 msgid "Enable echo by _sentence"
 msgstr "å??ç?¨å?¥å­?å??é?¿(_S)"
 
-#: ../src/orca/orca-setup.ui.h:73
+#: ../src/orca/orca-setup.ui.h:75
 msgid "Enable echo by _word"
 msgstr "å??ç?¨å­?è©?å??é?¿(_W)"
 
-#: ../src/orca/orca-setup.ui.h:76
+#: ../src/orca/orca-setup.ui.h:78
 msgid "Enable lockin_g keys"
 msgstr "å??ç?¨é??å®?é?µ(_G)"
 
 #. Translators: This is an option in the Preferences dialog box related to the speaking of progress bar information. If checked, Orca will speak progress bar information.
-#: ../src/orca/orca-setup.ui.h:80
+#: ../src/orca/orca-setup.ui.h:82
 msgid "Enable_d"
 msgstr "å·²å??ç?¨(_D)"
 
 #. Translators: Here this is a label for a spin button through which a user can customize the frequency in seconds an announcement should be made regarding the current value of a progress bar.
-#: ../src/orca/orca-setup.ui.h:82
+#: ../src/orca/orca-setup.ui.h:84
 msgid "Frequency (secs):"
 msgstr "é »ç?? (ç§?)ï¼?"
 
-#: ../src/orca/orca-setup.ui.h:84
+#: ../src/orca/orca-setup.ui.h:86
 msgid "General"
 msgstr "��"
 
-#: ../src/orca/orca-setup.ui.h:85
+#: ../src/orca/orca-setup.ui.h:87
 msgid "Hide s_ystem pointer"
 msgstr "é?±è??系統æ??æ¨?(_Y)"
 
-#: ../src/orca/orca-setup.ui.h:86
+#: ../src/orca/orca-setup.ui.h:88
 msgid "Hyperlink"
 msgstr "���"
 
-#: ../src/orca/orca-setup.ui.h:87
+#: ../src/orca/orca-setup.ui.h:89
 msgid "In_vert colors"
 msgstr "ç?¸å??é¡?è?²(_V)"
 
-#: ../src/orca/orca-setup.ui.h:88
+#: ../src/orca/orca-setup.ui.h:90
 msgid "Key Bindings"
 msgstr "æ??é?µçµ?å??"
 
-#: ../src/orca/orca-setup.ui.h:89
+#: ../src/orca/orca-setup.ui.h:91
 msgid "Key Echo"
 msgstr "æ??é?µå??é?¿"
 
-#: ../src/orca/orca-setup.ui.h:93
+#: ../src/orca/orca-setup.ui.h:95
 msgid "Magnifier"
 msgstr "�大�"
 
-#: ../src/orca/orca-setup.ui.h:94
+#: ../src/orca/orca-setup.ui.h:96
 msgid "Mouse poi_nter:"
 msgstr "鼠�(_N):"
 
 #. Translators: This label is on a button on the Text Attributes pane of the Orca Preferences dialog. On that pane there is a long list of possible text attributes. The user can select one and then, by using the Move _down one button, move that attribute down one line in the list. The ordering in the list is important as Orca will speak the selected text attributes in the given order.
-#: ../src/orca/orca-setup.ui.h:96
+#: ../src/orca/orca-setup.ui.h:98
 msgid "Move _down one"
 msgstr "�移��(_D)"
 
 #. Translators: This label is on a button on the Text Attributes pane of the Orca Preferences dialog. On that pane there is a long list of possible text attributes. The user can select one and then, by using the Move _up one button, move that attribute up one line in the list. The ordering in the list is important as Orca will speak the selected text attributes in the given order.
-#: ../src/orca/orca-setup.ui.h:98
+#: ../src/orca/orca-setup.ui.h:100
 msgid "Move _up one"
 msgstr "�移��(_U)"
 
 #. Translators: This label is on a button on the Text Attributes pane of the Orca Preferences dialog. On that pane there is a long list of possible text attributes. The user can select one and then, by using the Move to _bottom button, move that attribute to the bottom of the list. The ordering in the list is important as Orca will speak the selected text attributes in the given order.
-#: ../src/orca/orca-setup.ui.h:100
+#: ../src/orca/orca-setup.ui.h:102
 msgid "Move to _bottom"
 msgstr "移���(_B)"
 
 #. Translators:  This label is on a button on the Text Attributes pane of the Orca Preferences dialog. On that pane there is a long list of possible text attributes. The user can select one and then, by using the Move to _top button, move that attribute to the top of the list. The ordering in the list is important as Orca will speak the selected text attributes in the given order.
-#: ../src/orca/orca-setup.ui.h:102
+#: ../src/orca/orca-setup.ui.h:104
 msgid "Move to _top"
 msgstr "移��端(_T)"
 
-#: ../src/orca/orca-setup.ui.h:104
-msgid "Orca Modifier Keys"
-msgstr "Orca 修��"
+#. Translators: If this setting is enabled, Orca will only speak text which is actually displayed on the screen. It will NOT speak things like the role of an item (e.g. 'checkbox') or its state (e.g. 'not checked') or say 'mispelled' to indicate the presence of red squiggly spelling error lines -- things which Orca normally speaks. This setting is primarily intended for low vision users and sighted users with a learning disability.
+#: ../src/orca/orca-setup.ui.h:107
+msgid "Only speak displayed text"
+msgstr "å?ªè®?å?ºé¡¯ç¤ºç??æ??å­?"
 
-#: ../src/orca/orca-setup.ui.h:105
+#: ../src/orca/orca-setup.ui.h:108
 msgid "Orca Preferences"
 msgstr "Orca å??好設å®?"
 
-#: ../src/orca/orca-setup.ui.h:106
+#: ../src/orca/orca-setup.ui.h:109
 msgid "Orca _Modifier Key(s):"
 msgstr "Orca 修��(_M):"
 
-#: ../src/orca/orca-setup.ui.h:107
+#: ../src/orca/orca-setup.ui.h:110
 msgid "Pi_tch:"
 msgstr "�調(_T):"
 
 #. Translators:  if this setting is enabled, the mouse pointer will move to each menu item that the user has arrowed to and each dialog box control that the user has tabbed to.
-#: ../src/orca/orca-setup.ui.h:109
+#: ../src/orca/orca-setup.ui.h:112
 msgid "Pointer follows focus"
 msgstr "æ??æ¨?è·?é?¨ç?¦é»?"
 
 #. Translators: when using magnification software, it is possible for the mouse pointer to not be visible in the "zoomer," which is the magnified view of the screen.  If the "pointer follows zoomer" setting is enabled and the mouse is moved, the pointer will be moved so that it is visible in the zoomer.  If it is not enabled, the zoomer will be moved to display the location of the mouse pointer.
-#: ../src/orca/orca-setup.ui.h:111
+#: ../src/orca/orca-setup.ui.h:114
 msgid "Pointer follows zoomer"
 msgstr "æ??æ¨?è·?é?¨æ?¾å¤§é?¡"
 
-#: ../src/orca/orca-setup.ui.h:112
+#: ../src/orca/orca-setup.ui.h:115
 msgid "Pronunciation"
 msgstr "��"
 
-#: ../src/orca/orca-setup.ui.h:115
+#: ../src/orca/orca-setup.ui.h:118
 msgid "Quit Orca _without confirmation"
 msgstr "ä¸?確èª?è??é?¢é?? Orca(_W)"
 
 #. Translators: Orca has a setting which determines which progress bar updates should be announced. The options are all progress bars, only progress bars in the active application, or only progress bars in the current window.
-#: ../src/orca/orca-setup.ui.h:117
+#: ../src/orca/orca-setup.ui.h:120
 msgid "Restrict to:"
 msgstr "é??å?¶ç?ºï¼?"
 
 #. Translators: Say all by refers to the way that Orca will say (speak) an amount of text -- in particular, where Orca where insert pauses. There are currently two choices (supplied by a combo box to the right of this label): say all by sentence and  say all by line.  If Orca were speaking a work of fiction, it's probably best to do say all by sentence so it sound more natural. If Orca were speaking something like a page of computer commands, doing a say all by line would work better.
-#: ../src/orca/orca-setup.ui.h:120
+#: ../src/orca/orca-setup.ui.h:123
 msgid "Say All B_y:"
 msgstr "é?±è®?å??é ?æ?¼(_Y):"
 
-#: ../src/orca/orca-setup.ui.h:121
+#: ../src/orca/orca-setup.ui.h:124
 msgid "Scale _factor:"
 msgstr "æ?¾å¤§ç??(_F):"
 
-#: ../src/orca/orca-setup.ui.h:123
+#: ../src/orca/orca-setup.ui.h:126
 msgid "Show Orca _main window"
 msgstr "顯示 Orca 主��(_M)"
 
-#: ../src/orca/orca-setup.ui.h:125
+#: ../src/orca/orca-setup.ui.h:128
 msgid "Spea_k object mnemonics"
 msgstr "���件��符(_K)"
 
-#. Translators: This is one of two options available in the Preferences dialog for the Table Rows setting. If chosen, Orca will speak just the new cell when the user arrows Up or Down in a table.
-#: ../src/orca/orca-setup.ui.h:127
-msgid "Speak _cell"
-msgstr "����格(_C)"
-
-#: ../src/orca/orca-setup.ui.h:128
+#: ../src/orca/orca-setup.ui.h:131
 msgid "Speak _indentation and justification"
 msgstr "è®?å?ºç¸®æ??å??å°?é½?(_I)"
 
-#: ../src/orca/orca-setup.ui.h:129
+#: ../src/orca/orca-setup.ui.h:132
 msgid "Speak _none"
 msgstr "è®?å?ºã??æ²?æ??ã??(_N)"
 
-#: ../src/orca/orca-setup.ui.h:130
+#: ../src/orca/orca-setup.ui.h:133
 msgid "Speak blank lines"
 msgstr "è®?å?ºç©ºç?½ç??è¡?"
 
 #. Translators: This checkbox toggles whether or not Orca says the child position (e.g., 'item 6 of 7').
-#: ../src/orca/orca-setup.ui.h:132
+#: ../src/orca/orca-setup.ui.h:135
 msgid "Speak child p_osition"
 msgstr "�����置(_O)"
 
 #. Translators: multicase strings are StringsWithWordsMashedTogetherLikeThis.
-#: ../src/orca/orca-setup.ui.h:134
+#: ../src/orca/orca-setup.ui.h:137
 msgid "Speak multicase strings as wor_ds"
 msgstr "å°?æ··å??大å°?寫ç??å­?串è®?ç?ºä¸?å??å­?(_D)"
 
-#: ../src/orca/orca-setup.ui.h:135
+#: ../src/orca/orca-setup.ui.h:138
 msgid "Speak object under mo_use"
 msgstr "å?¸å?ºæ»?é¼ ä¸?æ?¹ç??ç?©ä»¶(_U)"
 
 #. Translators: This is one of two options available in the Preferences dialog for the Table Rows setting. If chosen, Orca will speak the entire row when the user arrows Up or Down in a table.
-#: ../src/orca/orca-setup.ui.h:137
+#: ../src/orca/orca-setup.ui.h:140
 msgid "Speak ro_w"
 msgstr "è®?å?ºå??(_W)"
 
-#: ../src/orca/orca-setup.ui.h:138
+#: ../src/orca/orca-setup.ui.h:141
 msgid "Speak tutorial messages"
 msgstr "è®?å?ºæ??å­¸è¨?æ?¯"
 
-#: ../src/orca/orca-setup.ui.h:139
+#: ../src/orca/orca-setup.ui.h:142
 msgid "Speech"
 msgstr "æ??è®?"
 
-#: ../src/orca/orca-setup.ui.h:140
+#: ../src/orca/orca-setup.ui.h:143
 msgid "Speech _system:"
 msgstr "æ??è®?系統(_S):"
 
-#: ../src/orca/orca-setup.ui.h:141
+#: ../src/orca/orca-setup.ui.h:144
 msgid "Speech synthesi_zer:"
 msgstr "æ??è®?å??æ??å?¨(_Z):"
 
-#: ../src/orca/orca-setup.ui.h:142
+#: ../src/orca/orca-setup.ui.h:145
 msgid "Start Orca when you lo_gin"
 msgstr "ç?¶ä½ ç?»å?¥æ??å??å?? Orca(_G)"
 
-#: ../src/orca/orca-setup.ui.h:143
+#: ../src/orca/orca-setup.ui.h:146
+msgid "System"
+msgstr "系統"
+
+#: ../src/orca/orca-setup.ui.h:147
 msgid "Te_xt cursor:"
 msgstr "æ??å­?游æ¨?(_X):"
 
-#: ../src/orca/orca-setup.ui.h:144
+#: ../src/orca/orca-setup.ui.h:148
 msgid "Text Attributes"
 msgstr "æ??å­?屬æ?§"
 
-#: ../src/orca/orca-setup.ui.h:146
+#: ../src/orca/orca-setup.ui.h:150
 msgid "Uppercase"
 msgstr "大寫��"
 
-#: ../src/orca/orca-setup.ui.h:147
+#: ../src/orca/orca-setup.ui.h:151
 msgid "Ver_bose"
 msgstr "詳細(_B)"
 
-#: ../src/orca/orca-setup.ui.h:148
+#: ../src/orca/orca-setup.ui.h:152
 msgid "Vo_lume:"
 msgstr "é?³é??(_L):"
 
 #. Translators: long braille for the rolename of a window.
 #.
-#: ../src/orca/orca-setup.ui.h:149 ../src/orca/rolenames.py:1079
+#: ../src/orca/orca-setup.ui.h:153 ../src/orca/rolenames.py:1079
 msgid "Window"
 msgstr "��"
 
-#: ../src/orca/orca-setup.ui.h:150
+#: ../src/orca/orca-setup.ui.h:154
 msgid "_Abbreviated role names"
 msgstr "縮寫任å??å??稱(_A)"
 
-#: ../src/orca/orca-setup.ui.h:151
+#: ../src/orca/orca-setup.ui.h:155
 msgid "_All"
 msgstr "��(_A)"
 
-#: ../src/orca/orca-setup.ui.h:152
+#: ../src/orca/orca-setup.ui.h:156
 msgid "_Bottom:"
 msgstr "�(_B):"
 
-#: ../src/orca/orca-setup.ui.h:153
+#: ../src/orca/orca-setup.ui.h:157
 msgid "_Control and menu item:"
 msgstr "æ?§å?¶è??é?¸å?®é ?ç?®(_C):"
 
-#: ../src/orca/orca-setup.ui.h:154
+#: ../src/orca/orca-setup.ui.h:158
 msgid "_Delete"
 msgstr "��(_D)"
 
-#: ../src/orca/orca-setup.ui.h:156
+#: ../src/orca/orca-setup.ui.h:160
 msgid "_Enable Contracted Braille"
 msgstr "å??ç?¨ç¸®ç?­å¼?é»?å­?(_E)"
 
-#: ../src/orca/orca-setup.ui.h:157
+#: ../src/orca/orca-setup.ui.h:161
 msgid "_Enable speech"
 msgstr "å??ç?¨æ??è®?(_E)"
 
-#: ../src/orca/orca-setup.ui.h:158
+#: ../src/orca/orca-setup.ui.h:162
 msgid "_Laptop"
 msgstr "�����(_L)"
 
-#: ../src/orca/orca-setup.ui.h:159
+#: ../src/orca/orca-setup.ui.h:163
 msgid "_Left:"
 msgstr "å·¦(_L):"
 
-#: ../src/orca/orca-setup.ui.h:160
+#: ../src/orca/orca-setup.ui.h:164
 msgid "_New entry"
 msgstr "æ?°é ?ç?®(_N)"
 
-#: ../src/orca/orca-setup.ui.h:162
+#: ../src/orca/orca-setup.ui.h:166
 msgid "_Person:"
 msgstr "æ??è®?è??(_P):"
 
-#: ../src/orca/orca-setup.ui.h:163
+#: ../src/orca/orca-setup.ui.h:167
 msgid "_Position:"
 msgstr "ä½?ç½®(_P):"
 
-#: ../src/orca/orca-setup.ui.h:164
+#: ../src/orca/orca-setup.ui.h:168
 msgid "_Present tooltips"
 msgstr "顯示工å?·æ??示(_P)"
 
-#: ../src/orca/orca-setup.ui.h:165
+#: ../src/orca/orca-setup.ui.h:169
 msgid "_Rate:"
 msgstr "é??度(_R):"
 
-#: ../src/orca/orca-setup.ui.h:166
+#: ../src/orca/orca-setup.ui.h:170
 msgid "_Reset"
 msgstr "é??設(_R)"
 
-#: ../src/orca/orca-setup.ui.h:167
+#: ../src/orca/orca-setup.ui.h:171
 msgid "_Right:"
 msgstr "å?³(_R):"
 
-#: ../src/orca/orca-setup.ui.h:168
+#: ../src/orca/orca-setup.ui.h:172
 msgid "_Speak all"
 msgstr "����(_S)"
 
-#: ../src/orca/orca-setup.ui.h:169
+#. Translators: Orca can present the current time to the user, here they can choose how the time should be presented to them.
+#: ../src/orca/orca-setup.ui.h:174
+msgid "_Time format:"
+msgstr "æ??å?»æ ¼å¼?(_T):"
+
+#: ../src/orca/orca-setup.ui.h:175
 msgid "_Top:"
 msgstr "�(_T):"
 
-#: ../src/orca/orca-setup.ui.h:170
+#: ../src/orca/orca-setup.ui.h:176
 msgid "_Voice settings:"
 msgstr "��設�(_V):"
 
-#: ../src/orca/orca-setup.ui.h:171
+#: ../src/orca/orca-setup.ui.h:177
 msgid "pixels"
 msgstr "å??ç´ "
 
@@ -6363,46 +7210,90 @@ msgstr "å?§åµ?çµ?æ??å??件"
 msgid "embedded component"
 msgstr "å?§åµ?çµ?æ??å??件"
 
+#. Translators: Orca will tell you how many characters
+#. are repeated on a line of text.  For example: "22
+#. space characters".  The %d is the number and the %s
+#. is the spoken word for the character.
+#.
+#: ../src/orca/script_utilities.py:2333
+#, python-format
+msgid "%(count)d %(repeatChar)s character"
+msgid_plural "%(count)d %(repeatChar)s characters"
+msgstr[0] "%(count)d å?? %(repeatChar)s å­?符"
+
+#. Translators: This string is part of the presentation of an
+#. item that includes one or several consequtive superscripted
+#. characters, e.g. 'X' followed by 'superscript 2' followed by
+#. 'superscript 3' should be presented as 'X superscript 23'.
+#.
+#: ../src/orca/script_utilities.py:2523
+#, python-format
+msgid " superscript %s"
+msgstr "�� %s"
+
+#. Translators: This string is part of the presentation of an
+#. item that includes one or several consequtive subscripted
+#. characters, e.g. 'X' followed by 'subscript 2' followed by
+#. 'subscript 3', should be presented as 'X subscript 23.'
+#.
+#: ../src/orca/script_utilities.py:2533
+#, python-format
+msgid " subscript %s"
+msgstr "�� %s"
+
 #. Translators: short braille for the
 #. rolename of a document.
 #.
-#: ../src/orca/scripts/apps/acroread.py:72
+#: ../src/orca/scripts/apps/acroread/script.py:72
 msgid "doc"
 msgstr "doc"
 
 #. Translators: long braille for the
 #. rolename of a document.
 #.
-#: ../src/orca/scripts/apps/acroread.py:76
+#: ../src/orca/scripts/apps/acroread/script.py:76
 msgid "Document"
 msgstr "æ??件"
 
 #. Translators: spoken words for the
 #. rolename of a document.
 #.
-#: ../src/orca/scripts/apps/acroread.py:80
+#: ../src/orca/scripts/apps/acroread/script.py:80
 msgid "document"
 msgstr "æ??件"
 
-#. We've entered a table.  Announce the dimensions.
+#. Translators: this represents the number of rows in a table.
+#.
+#: ../src/orca/scripts/apps/acroread/script.py:276
+#: ../src/orca/scripts/apps/soffice/script.py:733
+#: ../src/orca/structural_navigation.py:1338
+#, python-format
+msgid "table with %d row"
+msgid_plural "table with %d rows"
+msgstr[0] "æ?? %d å??ç??表格"
+
+#. Translators: this represents the number of columns in a table.
 #.
-#: ../src/orca/scripts/apps/acroread.py:276
-#: ../src/orca/scripts/apps/soffice/script.py:888
+#: ../src/orca/scripts/apps/acroread/script.py:281
+#: ../src/orca/scripts/apps/soffice/script.py:738
+#: ../src/orca/structural_navigation.py:1343
+#: ../src/orca/structural_navigation.py:1500
 #, python-format
-msgid "table with %(rows)d rows and %(columns)d columns."
-msgstr "表格æ?? %(rows)d å?? %(columns)d æ¬?ã??"
+msgid "%d column"
+msgid_plural "%d columns"
+msgstr[0] "%d �"
 
 #. We've left a table.  Announce this fact.
 #.
-#: ../src/orca/scripts/apps/acroread.py:283
-#: ../src/orca/scripts/apps/soffice/script.py:884
+#: ../src/orca/scripts/apps/acroread/script.py:291
+#: ../src/orca/scripts/apps/soffice/script.py:727
 msgid "leaving table."
 msgstr "é?¢é??å·¥ä½?表ã??"
 
 #. Translators: this represents the row and column we're
 #. on in a table.
 #.
-#: ../src/orca/scripts/apps/acroread.py:301
+#: ../src/orca/scripts/apps/acroread/script.py:309
 #, python-format
 msgid "row %(row)d, column %(column)d"
 msgstr "å?? %(row)dï¼?æ¬? %(column)d"
@@ -6412,45 +7303,45 @@ msgstr "å?? %(row)dï¼?æ¬? %(column)d"
 #.
 #. Translators: this is in references to a column in a
 #. table.
-#: ../src/orca/scripts/apps/acroread.py:308
-#: ../src/orca/speech_generator.py:545
+#: ../src/orca/scripts/apps/acroread/script.py:316
+#: ../src/orca/speech_generator.py:753
 #, python-format
 msgid "column %d"
 msgstr "� %d"
 
 #. Translators: short braille for the rolename of a calendar view.
 #.
-#: ../src/orca/scripts/apps/evolution/script.py:110
+#: ../src/orca/scripts/apps/evolution/script.py:111
 msgid "calv"
 msgstr "calv"
 
 #. Translators: long braille for the rolename of a calendar view.
 #.
-#: ../src/orca/scripts/apps/evolution/script.py:113
+#: ../src/orca/scripts/apps/evolution/script.py:114
 msgid "CalendarView"
 msgstr "æ??æ??顯示"
 
 #. Translators: spoken words for the rolename of a calendar view.
 #.
-#: ../src/orca/scripts/apps/evolution/script.py:116
+#: ../src/orca/scripts/apps/evolution/script.py:117
 msgid "calendar view"
 msgstr "æ??æ??顯示"
 
 #. Translators: short braille for the rolename of a calendar event.
 #.
-#: ../src/orca/scripts/apps/evolution/script.py:124
+#: ../src/orca/scripts/apps/evolution/script.py:125
 msgid "cale"
 msgstr "cale"
 
 #. Translators: long braille for the rolename of a calendar event.
 #.
-#: ../src/orca/scripts/apps/evolution/script.py:127
+#: ../src/orca/scripts/apps/evolution/script.py:128
 msgid "CalendarEvent"
 msgstr "æ??æ??äº?件"
 
 #. Translators: spoken words for the rolename of a calendar event.
 #.
-#: ../src/orca/scripts/apps/evolution/script.py:130
+#: ../src/orca/scripts/apps/evolution/script.py:131
 msgid "calendar event"
 msgstr "æ??æ??äº?件"
 
@@ -6458,7 +7349,7 @@ msgstr "æ??æ??äº?件"
 #. the user know when new mail has arrived, even if Evolution
 #. doesn't have focus.
 #.
-#: ../src/orca/scripts/apps/evolution/script.py:162
+#: ../src/orca/scripts/apps/evolution/script.py:168
 msgid "Toggle whether we present new mail if we are not the active script."
 msgstr "æ²?æ??æ??è®?æ??æ??å?¦å±?示æ?°é?µä»¶ã??"
 
@@ -6466,7 +7357,7 @@ msgstr "æ²?æ??æ??è®?æ??æ??å?¦å±?示æ?°é?µä»¶ã??"
 #. the user know when new mail has arrived, even if Evolution
 #. doesn't have focus.
 #.
-#: ../src/orca/scripts/apps/evolution/script.py:248
+#: ../src/orca/scripts/apps/evolution/script.py:230
 msgid "present new mail if this script is not active."
 msgstr "æ²?æ??æ??è®?æ??å±?示æ?°é?µä»¶ã??"
 
@@ -6474,7 +7365,7 @@ msgstr "æ²?æ??æ??è®?æ??å±?示æ?°é?µä»¶ã??"
 #. the user know when new mail has arrived, even if Evolution
 #. doesn't have focus.
 #.
-#: ../src/orca/scripts/apps/evolution/script.py:255
+#: ../src/orca/scripts/apps/evolution/script.py:237
 msgid "do not present new mail if this script is not active."
 msgstr "æ²?æ??æ??è®?æ??ä»?ä¸?è¦?å±?示æ?°é?µä»¶"
 
@@ -6483,8 +7374,8 @@ msgstr "æ²?æ??æ??è®?æ??ä»?ä¸?è¦?å±?示æ?°é?µä»¶"
 #. list in Evolution.  The name needs to
 #. match what Evolution is using.
 #.
-#: ../src/orca/scripts/apps/evolution/script.py:995
-#: ../src/orca/scripts/apps/evolution/script.py:1063
+#: ../src/orca/scripts/apps/evolution/script.py:506
+#: ../src/orca/scripts/apps/evolution/script.py:574
 msgid "Status"
 msgstr "ç??æ??"
 
@@ -6493,8 +7384,8 @@ msgstr "ç??æ??"
 #. list in Evolution.  The name needs to
 #. match what Evolution is using.
 #.
-#: ../src/orca/scripts/apps/evolution/script.py:1004
-#: ../src/orca/scripts/apps/evolution/script.py:1088
+#: ../src/orca/scripts/apps/evolution/script.py:515
+#: ../src/orca/scripts/apps/evolution/script.py:599
 msgid "Flagged"
 msgstr "æ??æ¨?å¹?ç??"
 
@@ -6502,7 +7393,7 @@ msgstr "æ??æ¨?å¹?ç??"
 #. indicate that an email message has not been
 #. marked as having been read.
 #.
-#: ../src/orca/scripts/apps/evolution/script.py:1068
+#: ../src/orca/scripts/apps/evolution/script.py:579
 msgid "unread"
 msgstr "��"
 
@@ -6511,14 +7402,14 @@ msgstr "��"
 #. list in Evolution.  The name needs to
 #. match what Evolution is using.
 #.
-#: ../src/orca/scripts/apps/evolution/script.py:1077
+#: ../src/orca/scripts/apps/evolution/script.py:588
 msgid "Attachment"
 msgstr "é??件"
 
 #. Translators: this means there are no scheduled entries
 #. in the calendar.
 #.
-#: ../src/orca/scripts/apps/evolution/script.py:1258
+#: ../src/orca/scripts/apps/evolution/script.py:772
 msgid "No appointments"
 msgstr "æ²?æ??ç´?æ??"
 
@@ -6526,21 +7417,21 @@ msgstr "æ²?æ??ç´?æ??"
 #. top of the mail view Insert Attachment dialog in Evolution.
 #. We give it a name.
 #.
-#: ../src/orca/scripts/apps/evolution/script.py:1335
+#: ../src/orca/scripts/apps/evolution/script.py:849
 msgid "Directories button"
 msgstr "ç?®é??æ??é??"
 
 #. Translators: this in reference to an e-mail message
 #. status of having been read or unread.
 #.
-#: ../src/orca/scripts/apps/evolution/speech_generator.py:128
+#: ../src/orca/scripts/apps/evolution/speech_generator.py:134
 msgid "Read"
 msgstr "已�"
 
 #. Translators: this is the name of a setup
 #. assistant window/screen in Evolution.
 #.
-#: ../src/orca/scripts/apps/evolution/speech_generator.py:164
+#: ../src/orca/scripts/apps/evolution/speech_generator.py:173
 #, python-format
 msgid "%s screen"
 msgstr "%s ç?«é?¢"
@@ -6558,11 +7449,11 @@ msgstr "ç?¡æ³?å??å¾?è¨?æ?¸æ©?ç??顯示"
 #. keying off stuff like this, but we're forced to do so in
 #. in this case.
 #.
-#: ../src/orca/scripts/apps/gedit/script.py:230
+#: ../src/orca/scripts/apps/gedit/script.py:229
 msgid "Change to:"
 msgstr "æ?´æ??ç?ºï¼?"
 
-#: ../src/orca/scripts/apps/gedit/script.py:231
+#: ../src/orca/scripts/apps/gedit/script.py:230
 msgid "Misspelled word:"
 msgstr "æ?¼é?¯ç??å­?è©?:"
 
@@ -6597,47 +7488,35 @@ msgstr "æ??ä¸? Tab å?? Enter ä¾?çµ?æ­¢ã??"
 #. off stuff like this, but we're forced to do so in this case.
 #.
 #: ../src/orca/scripts/apps/gedit/script.py:394
-#: ../src/orca/scripts/apps/gedit/script.py:477
-#: ../src/orca/scripts/apps/Thunderbird/script.py:163
-#: ../src/orca/scripts/apps/Thunderbird/script.py:314
-#: ../src/orca/scripts/apps/Thunderbird/script.py:540
-#: ../src/orca/scripts/apps/Thunderbird/speech_generator.py:88
+#: ../src/orca/scripts/apps/gedit/script.py:472
+#: ../src/orca/scripts/apps/Thunderbird/script.py:172
+#: ../src/orca/scripts/apps/Thunderbird/script.py:321
+#: ../src/orca/scripts/apps/Thunderbird/script.py:552
+#: ../src/orca/scripts/apps/Thunderbird/speech_generator.py:100
 msgid "Check Spelling"
 msgstr "��檢�"
 
-#. Fall-thru to process the event with the default handler.
-#. 2) find dialog - phrase not found.
-#.
-#. If we've received an "object:property-change:accessible-name" for
-#. the status bar and the current locus of focus is on the Find
-#. button on the Find dialog or the combo box in the Find dialog
-#. and the last input event was a Return and the name for the current
-#. event source is "Phrase not found", then speak it.
-#.
-#. [[[TODO: richb - "Phrase not found" is spoken twice because we
-#. apparently get two identical "object:property-change:accessible-name"
-#. events.]]]
 #. Translators: the "Phrase not found" is the result of a failed
 #. find command.  It must be the same as what gedit uses.  We hate
 #. keying off stuff like this, but we're forced to do so in this
 #. case.
 #.
-#: ../src/orca/scripts/apps/gedit/script.py:505
+#: ../src/orca/scripts/apps/gedit/script.py:501
 msgid "Phrase not found"
 msgstr "æ?¾ä¸?å?°ç??èª?"
 
 #. Translators: this indicates a find command succeeded in
 #. finding something.
 #.
-#: ../src/orca/scripts/apps/gedit/script.py:572
+#: ../src/orca/scripts/apps/gedit/script.py:566
 msgid "Phrase found."
 msgstr "æ?¾å?°ç??èª?ã??"
 
-#: ../src/orca/scripts/apps/gnome-mud.py:119
+#: ../src/orca/scripts/apps/gnome-mud/script.py:119
 msgid "Read the latest n messages in the incoming messages text area."
 msgstr "è®?å?ºå?¨å?§é??è¨?æ?¯æ??å­?å??å??ç??æ??æ?° n å??è¨?æ?¯ã??"
 
-#: ../src/orca/scripts/apps/gnome-search-tool.py:100
+#: ../src/orca/scripts/apps/gnome-search-tool/script.py:99
 msgid "Searching."
 msgstr "æ??å°?中ã??"
 
@@ -6651,21 +7530,21 @@ msgstr "æ??å°?中ã??"
 #. is using.  We hate keying off stuff like this, but we're forced
 #. to do so in this case.
 #.
-#: ../src/orca/scripts/apps/gnome-search-tool.py:137
+#: ../src/orca/scripts/apps/gnome-search-tool/script.py:136
 msgid "Stop"
 msgstr "å??æ­¢"
 
-#: ../src/orca/scripts/apps/gnome-search-tool.py:171
+#: ../src/orca/scripts/apps/gnome-search-tool/script.py:171
 msgid "Search complete."
 msgstr "æ??å°?å®?æ??ã??"
 
-#: ../src/orca/scripts/apps/gnome-search-tool.py:179
+#: ../src/orca/scripts/apps/gnome-search-tool/script.py:179
 #, python-format
 msgid "%d file found"
 msgid_plural "%d files found"
 msgstr[0] "æ?¾å?° %d å??æª?æ¡?"
 
-#: ../src/orca/scripts/apps/gnome-search-tool.py:184
+#: ../src/orca/scripts/apps/gnome-search-tool/script.py:184
 msgid "No files found."
 msgstr "æ?¾ä¸?å?°ä»»ä½?æª?æ¡?ã??"
 
@@ -6673,12 +7552,12 @@ msgstr "æ?¾ä¸?å?°ä»»ä½?æª?æ¡?ã??"
 #. be read by Orca.  This usually means the application is not
 #. friendly to the assistive technology infrastructure.
 #.
-#: ../src/orca/scripts/apps/gtk-window-decorator.py:90
-#: ../src/orca/scripts/apps/metacity.py:115
+#: ../src/orca/scripts/apps/gtk-window-decorator/script.py:89
+#: ../src/orca/scripts/apps/metacity/script.py:114
 msgid "inaccessible"
 msgstr "ä¸?è?½å­?å??"
 
-#: ../src/orca/scripts/apps/liferea.py:117
+#: ../src/orca/scripts/apps/liferea/script.py:123
 msgid "Work online / offline"
 msgstr "網�/��工�"
 
@@ -6688,19 +7567,19 @@ msgstr "網�/��工�"
 #. between workspaces.  The goal here is to find a match
 #. with that prefix.
 #.
-#: ../src/orca/scripts/apps/metacity.py:108
+#: ../src/orca/scripts/apps/metacity/script.py:107
 msgid "Workspace "
 msgstr "å·¥ä½?å??"
 
-#: ../src/orca/scripts/apps/metacity.py:108
+#: ../src/orca/scripts/apps/metacity/script.py:107
 msgid "Desk "
 msgstr "Desk "
 
 #. Translators: this is the number of items in a layered
 #. pane or table.
 #.
-#: ../src/orca/scripts/apps/nautilus.py:138
-#: ../src/orca/speech_generator.py:996
+#: ../src/orca/scripts/apps/nautilus/script.py:138
+#: ../src/orca/speech_generator.py:1342
 #, python-format
 msgid "%d item"
 msgid_plural "%d items"
@@ -6708,12 +7587,17 @@ msgstr[0] "%d å??é ?ç?®"
 
 #. Translators: This denotes a notification to the user of some sort.
 #.
-#: ../src/orca/scripts/apps/notification-daemon.py:64
-#: ../src/orca/scripts/apps/notify-osd.py:83
+#: ../src/orca/scripts/apps/notification-daemon/script.py:63
 #, python-format
 msgid "Notification %s"
 msgstr "é??ç?¥ %s"
 
+#. Translators: This denotes a notification to the user of some sort.
+#.
+#: ../src/orca/scripts/apps/notify-osd/script.py:84
+msgid "Notification"
+msgstr "é??ç?¥"
+
 #. Translators: The Package Manager application notifies the
 #. user of minor errors by displaying an icon in the status
 #. bar and adding them to an error log rather than displaying
@@ -6721,23 +7605,23 @@ msgstr "é??ç?¥ %s"
 #. checkbox. If it is checked, Orca will inform the user when
 #. the notification icon has appeared.
 #.
-#: ../src/orca/scripts/apps/packagemanager/script.py:109
+#: ../src/orca/scripts/apps/packagemanager/script.py:116
 msgid "Notify me when errors have been logged."
 msgstr "ç?¶æ??é?¯èª¤è¢«è¨?é??æ??é??ç?¥æ??ã??"
 
 #. Translators: this is in reference to loading a web page
 #. or some other content.
 #.
-#: ../src/orca/scripts/apps/packagemanager/script.py:221
-#: ../src/orca/scripts/toolkits/Gecko/script.py:1962
+#: ../src/orca/scripts/apps/packagemanager/script.py:226
+#: ../src/orca/scripts/toolkits/Gecko/script.py:1757
 msgid "Loading.  Please wait."
 msgstr "è¼?å?¥ä¸­ï¼?è«?ç¨?å??ã??"
 
 #. Translators: this is in reference to loading a web page
 #. or some other content.
 #.
-#: ../src/orca/scripts/apps/packagemanager/script.py:229
-#: ../src/orca/scripts/toolkits/Gecko/script.py:1975
+#: ../src/orca/scripts/apps/packagemanager/script.py:235
+#: ../src/orca/scripts/toolkits/Gecko/script.py:1770
 msgid "Finished loading."
 msgstr "è¼?å?¥å®?æ??ã??"
 
@@ -6747,7 +7631,7 @@ msgstr "è¼?å?¥å®?æ??ã??"
 #. the error in a dialog box. This is the message Orca will
 #. present to inform the user that this has occurred.
 #.
-#: ../src/orca/scripts/apps/packagemanager/script.py:250
+#: ../src/orca/scripts/apps/packagemanager/script.py:257
 msgid "An error occurred. View the error log for details."
 msgstr "æ??é?¯èª¤ç?¼ç??ã??è«?檢è¦?é?¯èª¤ç´?é??æª?以å??å¾?詳細è³?æ??ã??"
 
@@ -6760,103 +7644,7 @@ msgstr "æ??é?¯èª¤ç?¼ç??ã??è«?檢è¦?é?¯èª¤ç´?é??æª?以å??å¾?詳細è³?æ??ã??"
 msgid "Use Ctrl+L to move focus to the results."
 msgstr "使ç?¨ Ctrl+L å°?ç?¦é»?移è?³çµ?æ??ã??"
 
-#: ../src/orca/scripts/apps/pidgin/script.py:191
-msgid ""
-"Toggle whether we prefix chat room messages with the name of the chat room."
-msgstr "å??æ??æ?¯å?¦å°?è??天室ç??å??稱å? å?¥è??天室ç??è¨?æ?¯å??ã??"
-
-#: ../src/orca/scripts/apps/pidgin/script.py:197
-msgid "Toggle whether we announce when our buddies are typing."
-msgstr "å??æ??ç?¶æ??å??ç??æ??å??å?¨è¼¸å?¥æ??æ?¯å?¦å??ç?¥æ??å??ã??"
-
-#: ../src/orca/scripts/apps/pidgin/script.py:202
-msgid "Toggle whether we provide chat room specific message histories."
-msgstr "å??æ??æ?¯å?¦æ??ä¾?æ??å®?è??天室ç??ç??è¨?æ?¯æ­·å?²ç´?é??ã??"
-
-#: ../src/orca/scripts/apps/pidgin/script.py:210
-msgid "Speak and braille a previous chat room message."
-msgstr "è®?å?ºå??é»?å?ºä¸?ä¸?å??è??天室ç??è¨?æ?¯ã??"
-
-#. Translators: If this checkbox is checked, then Orca will speak
-#. the name of the chat room.
-#.
-#: ../src/orca/scripts/apps/pidgin/script.py:275
-msgid "_Speak Chat Room name"
-msgstr "è®?å?ºè??天室å??稱(_S)"
-
-#. Translators: If this checkbox is checked, then Orca will tell
-#. you when one of your buddies is typing a message.
-#.
-#: ../src/orca/scripts/apps/pidgin/script.py:285
-msgid "Announce when your _buddies are typing"
-msgstr "ç?¶ä½ ç??æ??å??å?¨è¼¸å?¥æ??å??ç?¥(_B)"
-
-#. Translators: If this checkbox is checked, then Orca will provide
-#. the user with chat room specific message histories rather than just
-#. a single history which contains the latest messages from all the
-#. chat rooms that they are currently in.
-#.
-#: ../src/orca/scripts/apps/pidgin/script.py:297
-msgid "Provide chat room specific _message histories"
-msgstr "æ??ä¾?æ??å®?è??天室ç??è¨?æ?¯æ­·å?²ç´?é??(_M)"
-
-#. Translators: Orca will speak all new chat messages as they appear
-#. irrespective of whether the pidgin application currently has focus.
-#. This is the default behaviour.
-#.
-#: ../src/orca/scripts/apps/pidgin/script.py:324
-msgid "All cha_nnels"
-msgstr "æ??æ??é »é??(_N)"
-
-#. Translators: Orca will speak only new chat messages for the channel
-#. that currently has focus, irrespective of whether the pidgin
-#. application has focus.
-#.
-#: ../src/orca/scripts/apps/pidgin/script.py:339
-msgid "A channel only if its _window is active"
-msgstr "å?ªæ??使ç?¨ä¸­è¦?çª?ç??é »é??(_W)"
-
-#: ../src/orca/scripts/apps/pidgin/script.py:352
-msgid "All channels when an_y Pidgin window is active"
-msgstr "ç?¶ä»»ä½? Pidgin è¦?çª?å?¨ä½¿ç?¨ä¸­ç??æ??æ??é »é??(_Y)"
-
-#. Translators: this is the title of a panel holding options for
-#. how messages in the pidgin chat rooms should be spoken.
-#.
-#: ../src/orca/scripts/apps/pidgin/script.py:363
-msgid "Speak messages from"
-msgstr "�����"
-
-#: ../src/orca/scripts/apps/pidgin/script.py:447
-msgid "speak chat room name."
-msgstr "è®?å?ºè??天室å??稱ã??"
-
-#: ../src/orca/scripts/apps/pidgin/script.py:451
-msgid "Do not speak chat room name."
-msgstr "ä¸?è¦?è®?å?ºè??天室å??稱ã??"
-
-#: ../src/orca/scripts/apps/pidgin/script.py:466
-msgid "announce when your buddies are typing."
-msgstr "ç?¶ä½ ç??æ??å??å?¨è¼¸å?¥æ??å??ç?¥ã??"
-
-#: ../src/orca/scripts/apps/pidgin/script.py:470
-msgid "Do not announce when your buddies are typing."
-msgstr "ç?¶ä½ ç??æ??å??å?¨è¼¸å?¥æ??ä¸?è¦?å??ç?¥ã??"
-
-#: ../src/orca/scripts/apps/pidgin/script.py:485
-msgid "Provide chat room specific message histories."
-msgstr "æ??ä¾?æ??å®?è??天室ç??è¨?æ?¯æ­·å?²ç´?é??ã??"
-
-#: ../src/orca/scripts/apps/pidgin/script.py:489
-msgid "Do not provide chat room specific message histories."
-msgstr "ä¸?è¦?æ??ä¾?æ??å®?è??天室ç??è¨?æ?¯æ­·å?²ç´?é??ã??"
-
-#: ../src/orca/scripts/apps/pidgin/script.py:518
-#, python-format
-msgid "Message from chat room %s"
-msgstr "ä¾?è?ªè??天室 %s ç??è¨?æ?¯ "
-
-#: ../src/orca/scripts/apps/pidgin/script.py:607
+#: ../src/orca/scripts/apps/pidgin/script.py:155
 #, python-format
 msgid "New chat tab %s"
 msgstr "æ?°è??天å??é ? %s"
@@ -6869,28 +7657,28 @@ msgstr "顯示����"
 #. Translators: this is the input line of a spreadsheet
 #. (i.e., the place where enter formulas)
 #.
-#: ../src/orca/scripts/apps/soffice/script.py:235
-msgid "Speaks the contents of the input line."
-msgstr "è®?å?ºè¼¸å?¥è¡?ç??å?§å®¹ã??"
+#: ../src/orca/scripts/apps/soffice/script.py:234
+msgid "Presents the contents of the input line."
+msgstr "表示輸å?¥è¡?ç??å?§å®¹ã??"
 
 #. Translators: Orca allows you to dynamically define which
 #. row of a spreadsheet or table counts as column headers.
 #.
-#: ../src/orca/scripts/apps/soffice/script.py:243
+#: ../src/orca/scripts/apps/soffice/script.py:242
 msgid "Set the row to use as dynamic column headers when speaking calc cells."
 msgstr "ç?¶æ??è®? calc å?²å­?æ ¼æ??å°?å??設å®?ç?ºä½¿ç?¨å??æ??æ¬?æ¨?é ­"
 
 #. Translators: Orca allows you to dynamically define which
 #. row of a spreadsheet or table counts as column headers.
 #.
-#: ../src/orca/scripts/apps/soffice/script.py:252
+#: ../src/orca/scripts/apps/soffice/script.py:251
 msgid "Clears the dynamic column headers."
 msgstr "æ¸?é?¤å??æ??æ¬?æ¨?é ­ã??"
 
 #. Translators: Orca allows you to dynamically define which
 #. column of a spreadsheet or table counts as row headers.
 #.
-#: ../src/orca/scripts/apps/soffice/script.py:260
+#: ../src/orca/scripts/apps/soffice/script.py:259
 msgid ""
 "Set the column to use as dynamic row headers to use when speaking calc cells."
 msgstr "ç?¶æ??è®? calc å?²å­?æ ¼æ??å°?æ¬?設å®?ç?ºä½¿ç?¨å??æ??å??æ¨?é ­"
@@ -6898,7 +7686,7 @@ msgstr "ç?¶æ??è®? calc å?²å­?æ ¼æ??å°?æ¬?設å®?ç?ºä½¿ç?¨å??æ??å??æ¨?é ­"
 #. Translators: Orca allows you to dynamically define which
 #. column of a spreadsheet or table counts as row headers.
 #.
-#: ../src/orca/scripts/apps/soffice/script.py:269
+#: ../src/orca/scripts/apps/soffice/script.py:268
 msgid "Clears the dynamic row headers"
 msgstr "æ¸?é?¤å??æ??å¼?å??æ¨?é¡?"
 
@@ -6908,15 +7696,15 @@ msgstr "æ¸?é?¤å??æ??å¼?å??æ¨?é¡?"
 #. of the current spread sheet cell. Coordinates are the row and
 #. column position within the spread sheet (i.e. A1, B1, C2 ...)
 #.
-#: ../src/orca/scripts/apps/soffice/script.py:340
+#: ../src/orca/scripts/apps/soffice/script.py:317
 msgid "Speak spread sheet cell coordinates"
 msgstr "è®?å?ºå·¥ä½?表ç??å?²å­?æ ¼å??æ¨?"
 
 #. Translators: this is an option to tell Orca whether or not it
 #. should speak table cell coordinates in document content.
 #.
-#: ../src/orca/scripts/apps/soffice/script.py:367
-#: ../src/orca/scripts/toolkits/Gecko/script.py:919
+#: ../src/orca/scripts/apps/soffice/script.py:344
+#: ../src/orca/scripts/toolkits/Gecko/script.py:784
 msgid "Speak _cell coordinates"
 msgstr "è®?å?ºå?²å­?æ ¼å??æ¨?(_C)"
 
@@ -6924,46 +7712,46 @@ msgstr "è®?å?ºå?²å­?æ ¼å??æ¨?(_C)"
 #. should speak the span size of a table cell (e.g., how many
 #. rows and columns a particular table cell spans in a table).
 #.
-#: ../src/orca/scripts/apps/soffice/script.py:379
-#: ../src/orca/scripts/toolkits/Gecko/script.py:931
+#: ../src/orca/scripts/apps/soffice/script.py:356
+#: ../src/orca/scripts/toolkits/Gecko/script.py:796
 msgid "Speak _multiple cell spans"
 msgstr "è®?å?ºå??ä½µå¤?å??ç??å?²å­?æ ¼(_M)"
 
 #. Translators: this is an option for whether or not to speak
 #. the header of a table cell in document content.
 #.
-#: ../src/orca/scripts/apps/soffice/script.py:390
-#: ../src/orca/scripts/toolkits/Gecko/script.py:942
+#: ../src/orca/scripts/apps/soffice/script.py:367
+#: ../src/orca/scripts/toolkits/Gecko/script.py:807
 msgid "Announce cell _header"
 msgstr "����格��(_H)"
 
 #. Translators: this is an option to allow users to skip over
 #. empty/blank cells when navigating tables in document content.
 #.
-#: ../src/orca/scripts/apps/soffice/script.py:401
-#: ../src/orca/scripts/toolkits/Gecko/script.py:953
+#: ../src/orca/scripts/apps/soffice/script.py:378
+#: ../src/orca/scripts/toolkits/Gecko/script.py:818
 msgid "Skip _blank cells"
 msgstr "ç?¥é??空ç?½å?²å­?æ ¼(_B)"
 
 #. Translators: this is the title of a panel containing options
 #. for specifying how to navigate tables in document content.
 #.
-#: ../src/orca/scripts/apps/soffice/script.py:412
-#: ../src/orca/scripts/toolkits/Gecko/script.py:964
+#: ../src/orca/scripts/apps/soffice/script.py:389
+#: ../src/orca/scripts/toolkits/Gecko/script.py:829
 msgid "Table Navigation"
 msgstr "表格�覽"
 
 #. Translators: this is used to announce that the
 #. current input line in a spreadsheet is blank/empty.
 #.
-#: ../src/orca/scripts/apps/soffice/script.py:957
+#: ../src/orca/scripts/apps/soffice/script.py:809
 msgid "empty"
 msgstr "空�"
 
 #. Translators: Orca allows you to dynamically define which
 #. row of a spreadsheet or table counts as column headers.
 #.
-#: ../src/orca/scripts/apps/soffice/script.py:1035
+#: ../src/orca/scripts/apps/soffice/script.py:889
 #, python-format
 msgid "Dynamic column header set for row %d"
 msgstr "å??æ??æ¬?æ¨?頭設å®?給第 %d å??"
@@ -6971,14 +7759,14 @@ msgstr "å??æ??æ¬?æ¨?頭設å®?給第 %d å??"
 #. Translators: Orca allows you to dynamically define which
 #. row of a spreadsheet or table counts as column headers.
 #.
-#: ../src/orca/scripts/apps/soffice/script.py:1058
+#: ../src/orca/scripts/apps/soffice/script.py:911
 msgid "Dynamic column header cleared."
 msgstr "å·²æ¸?é?¤å??æ??æ¬?æ¨?é ­ã??"
 
 #. Translators: Orca allows you to dynamically define which
 #. column of a spreadsheet or table counts as row headers.
 #.
-#: ../src/orca/scripts/apps/soffice/script.py:1111
+#: ../src/orca/scripts/apps/soffice/script.py:963
 #, python-format
 msgid "Dynamic row header set for column %s"
 msgstr "å??æ??å??æ¨?頭設å®?給æ¬? %s"
@@ -6986,7 +7774,7 @@ msgstr "å??æ??å??æ¨?頭設å®?給æ¬? %s"
 #. Translators: Orca allows you to dynamically define which
 #. column of a spreadsheet or table counts as row headers.
 #.
-#: ../src/orca/scripts/apps/soffice/script.py:1135
+#: ../src/orca/scripts/apps/soffice/script.py:986
 msgid "Dynamic row header cleared."
 msgstr "å·²æ¸?é?¤å??æ??å??æ¨?é ­ã??"
 
@@ -6996,7 +7784,7 @@ msgstr "å·²æ¸?é?¤å??æ??å??æ¨?é ­ã??"
 #. using.  We hate keying off stuff like this, but
 #. we're forced to do so in this case.
 #.
-#: ../src/orca/scripts/apps/soffice/script.py:1320
+#: ../src/orca/scripts/apps/soffice/script.py:1171
 msgid "Welcome to StarOffice"
 msgstr "歡�使� StarOffice"
 
@@ -7007,15 +7795,15 @@ msgstr "歡�使� StarOffice"
 #. We really try to avoid doing this kind of thing, but
 #. sometimes it is necessary and we apologize.
 #.
-#: ../src/orca/scripts/apps/soffice/script.py:1367
+#: ../src/orca/scripts/apps/soffice/script.py:1219
 msgid "Available fields"
 msgstr "å?¯ç?¨ç??æ¬?ä½?"
 
-#: ../src/orca/scripts/apps/soffice/script.py:1530
+#: ../src/orca/scripts/apps/soffice/script.py:1383
 msgid "Note that the Scroll Down button has to be pressed numerous times."
 msgstr "注æ??å??ä¸?æ?²å??æ??é??å·²æ??ä¸?äº?æ?¸æ¬¡ã??"
 
-#: ../src/orca/scripts/apps/soffice/script.py:1546
+#: ../src/orca/scripts/apps/soffice/script.py:1399
 msgid "License Agreement Accept button now has focus."
 msgstr "ç?¾å?¨å°?ç?¦ç??æ?¥å??æ??æ¬?æ¢?款ç??æ??é??ã??"
 
@@ -7025,7 +7813,7 @@ msgstr "ç?¾å?¨å°?ç?¦ç??æ?¥å??æ??æ¬?æ¢?款ç??æ??é??ã??"
 #. is using.  We hate keying off stuff like this, but we're
 #. forced to in this case.
 #.
-#: ../src/orca/scripts/apps/soffice/script.py:1575
+#: ../src/orca/scripts/apps/soffice/script.py:1428
 msgid "First name"
 msgstr "å??å­?"
 
@@ -7033,10 +7821,49 @@ msgstr "å??å­?"
 #. in StarOffice/OpenOffice calc that allows you to type in a
 #. cell coordinate (e.g., A4) and then move to it.
 #.
-#: ../src/orca/scripts/apps/soffice/script.py:1649
+#: ../src/orca/scripts/apps/soffice/script.py:1503
 msgid "Move to cell"
 msgstr "移���格"
 
+#. Translators: this is an indication of the position of the
+#. focused Impress slide and the total number of slides in the
+#. presentation.
+#.
+#: ../src/orca/scripts/apps/soffice/script.py:1697
+#, python-format
+msgid "slide %(position)d of %(count)d"
+msgstr "æ??å½±ç??å?¨é?¨%(count)då¼µç??第%(position)då¼µ"
+
+#. Translators: This message is to inform the user that
+#. the last row of a table in a document was just deleted.
+#.
+#: ../src/orca/scripts/apps/soffice/script.py:1872
+msgid "Last row deleted."
+msgstr "å·²å?ªé?¤æ??å¾?ä¸?å??ã??"
+
+#. Translators: This message is to inform the user that
+#. a row in a table was just deleted.
+#.
+#: ../src/orca/scripts/apps/soffice/script.py:1876
+msgid "Row deleted."
+msgstr "å·²å?ªé?¤å??ã??"
+
+#. 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.
+#.
+#: ../src/orca/scripts/apps/soffice/script.py:1883
+msgid "Row inserted at the end of the table."
+msgstr "å·²å?¨è¡¨æ ¼çµ?å°¾æ??å?¥å??ã??"
+
+#. Translators: This message is to inform the user that
+#. a row in a table was just inserted.
+#.
+#: ../src/orca/scripts/apps/soffice/script.py:1887
+msgid "Row inserted."
+msgstr "å·²æ??å?¥å??ã??"
+
 #. Translators: this is the title of the window that
 #. you get when using StarOffice Presentation Wizard. The
 #. translated form has to match what
@@ -7044,7 +7871,7 @@ msgstr "移���格"
 #. stuff like this, but we're forced to do so in this
 #. case.
 #.
-#: ../src/orca/scripts/apps/soffice/script.py:1982
+#: ../src/orca/scripts/apps/soffice/script.py:1923
 msgid "Presentation Wizard"
 msgstr "簡報精é??"
 
@@ -7053,13 +7880,13 @@ msgstr "簡報精é??"
 #. has a formula
 #. (e.g., "=sum(a1:d1)")
 #.
-#: ../src/orca/scripts/apps/soffice/script.py:2118
+#: ../src/orca/scripts/apps/soffice/script.py:2059
 msgid "has formula"
 msgstr "æ??å?¬å¼?"
 
 #. Translators: this is the name of a cell in a spreadsheet.
 #.
-#: ../src/orca/scripts/apps/soffice/script.py:2171
+#: ../src/orca/scripts/apps/soffice/script.py:2082
 #, python-format
 msgid "Cell %s"
 msgstr "��格 %s"
@@ -7068,7 +7895,7 @@ msgstr "��格 %s"
 #. too wide for a spreadsheet cell.  This string will be
 #. spoken if such a cell is encountered.
 #.
-#: ../src/orca/scripts/apps/soffice/speech_generator.py:341
+#: ../src/orca/scripts/apps/soffice/speech_generator.py:407
 #, python-format
 msgid "%d character too long"
 msgid_plural "%d characters too long"
@@ -7078,15 +7905,15 @@ msgstr[0] "%d å??å­?符太é?·"
 #. a cell in a table.
 #.
 #: ../src/orca/scripts/apps/soffice/structural_navigation.py:123
-#: ../src/orca/structural_navigation.py:3382
+#: ../src/orca/structural_navigation.py:3625
 #, python-format
 msgid "Row %(row)d, column %(column)d."
 msgstr "å?? %(row)dï¼?æ¬? %(column)dã??"
 
 #. Translators: this is the name of a panel in Thunderbird.
 #.
-#: ../src/orca/scripts/apps/Thunderbird/script.py:578
-#: ../src/orca/scripts/apps/Thunderbird/script.py:595
+#: ../src/orca/scripts/apps/Thunderbird/script.py:590
+#: ../src/orca/scripts/apps/Thunderbird/script.py:607
 #, python-format
 msgid "%s panel"
 msgstr "%s ��"
@@ -7104,127 +7931,127 @@ msgstr "輸å?¥ç??æ?¸ç±¤"
 #. Please see http://en.wikipedia.org/wiki/Imagemap for more
 #. information and examples.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/braille_generator.py:152
-#: ../src/orca/scripts/toolkits/Gecko/speech_generator.py:129
+#: ../src/orca/scripts/toolkits/Gecko/braille_generator.py:151
+#: ../src/orca/scripts/toolkits/Gecko/speech_generator.py:135
 msgid "image map link"
 msgstr "å??å??å?°å??é?£çµ?"
 
 #. Translators: this is for navigating HTML content one
 #. character at a time.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:383
+#: ../src/orca/scripts/toolkits/Gecko/script.py:391
 msgid "Goes to next character."
 msgstr "移è?³ä¸?ä¸?å??å­?符ã??"
 
 #. Translators: this is for navigating HTML content one
 #. character at a time.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:391
+#: ../src/orca/scripts/toolkits/Gecko/script.py:399
 msgid "Goes to previous character."
 msgstr "移è?³å??ä¸?å??å­?符ã??"
 
 #. Translators: this is for navigating HTML content one
 #. word at a time.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:399
+#: ../src/orca/scripts/toolkits/Gecko/script.py:407
 msgid "Goes to next word."
 msgstr "移è?³ä¸?ä¸?å??å?®å­?ã??"
 
 #. Translators: this is for navigating HTML content one
 #. word at a time.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:407
+#: ../src/orca/scripts/toolkits/Gecko/script.py:415
 msgid "Goes to previous word."
 msgstr "移è?³ä¸?ä¸?å??å?®å­?ã??"
 
 #. Translators: this is for navigating HTML content one
 #. line at a time.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:415
+#: ../src/orca/scripts/toolkits/Gecko/script.py:423
 msgid "Goes to next line."
 msgstr "移è?³ä¸?ä¸?è¡?ã??"
 
 #. Translators: this is for navigating HTML content one
 #. line at a time.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:423
+#: ../src/orca/scripts/toolkits/Gecko/script.py:431
 msgid "Goes to previous line."
 msgstr "移è?³ä¸?ä¸?è¡?ã??"
 
 #. Translators: this command will move the user to the
 #. beginning of an HTML document.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:431
+#: ../src/orca/scripts/toolkits/Gecko/script.py:439
 msgid "Goes to the top of the file."
 msgstr "移è?³æª?æ¡?ç??æ??ä¸?é?¢ã??"
 
 #. Translators: this command will move the user to the
 #. end of an HTML document.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:439
+#: ../src/orca/scripts/toolkits/Gecko/script.py:447
 msgid "Goes to the bottom of the file."
 msgstr "移è?³æª?æ¡?ç??æ??ä¸?é?¢ã??"
 
 #. Translators: this command will move the user to the
 #. beginning of the line in an HTML document.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:447
+#: ../src/orca/scripts/toolkits/Gecko/script.py:455
 msgid "Goes to the beginning of the line."
 msgstr "移è?³è¡?é¦?ã??"
 
 #. Translators: this command will move the user to the
 #. end of the line in an HTML document.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:455
+#: ../src/orca/scripts/toolkits/Gecko/script.py:463
 msgid "Goes to the end of the line."
 msgstr "移è?³è¡?å°¾ã??"
 
 #. Translators: this is for causing a collapsed combo box
 #. which was reached by Orca's caret navigation to be expanded.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:463
+#: ../src/orca/scripts/toolkits/Gecko/script.py:471
 msgid "Causes the current combo box to be expanded."
 msgstr "使ç?®å??ç??çµ?å??æ?¹å¡?å±?é??ã??"
 
 #. Translators: this is for advancing the live regions
 #. politeness setting
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:471
+#: ../src/orca/scripts/toolkits/Gecko/script.py:479
 msgid "Advance live region politeness setting."
 msgstr "é?²é??å?³æ??æ?­å ±å??禮è²?ç¨?度設å®?å?¼ã??"
 
 #. Translators: this is for setting all live regions
 #. to 'off' politeness.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:479
+#: ../src/orca/scripts/toolkits/Gecko/script.py:487
 msgid "Set default live region politeness level to off."
 msgstr "設å®?é ?設ç??å?³æ??æ?­å ±å??禮è²?ç¨?度ç?ºé??é??ã??"
 
 #. Translators: this is a toggle to monitor live regions
 #. or not.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:487
+#: ../src/orca/scripts/toolkits/Gecko/script.py:495
 msgid "Monitor live regions."
 msgstr "ç?£æ?§å?³æ??æ?­å ±å??ã??"
 
 #. Translators: this is for reviewing up to nine stored
 #. previous live messages.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:495
+#: ../src/orca/scripts/toolkits/Gecko/script.py:503
 msgid "Review live region announcement."
 msgstr "檢é?±å?³æ??æ?­å ±å??å?¬å??ã??"
 
 #. Translators: this is for navigating between objects
 #. (regardless of type) in HTML
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:503
+#: ../src/orca/scripts/toolkits/Gecko/script.py:511
 msgid "Goes to the previous object."
 msgstr "移è?³ä¸?ä¸?å??ç?©ä»¶ã??"
 
 #. Translators: this is for navigating between objects
 #. (regardless of type) in HTML
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:511
+#: ../src/orca/scripts/toolkits/Gecko/script.py:519
 msgid "Goes to the next object."
 msgstr "移è?³ä¸?ä¸?å??ç?©ä»¶ã??"
 
@@ -7235,7 +8062,7 @@ msgstr "移è?³ä¸?ä¸?å??ç?©ä»¶ã??"
 #. the ability to switch between the Firefox mode and the
 #. Orca mode.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:523
+#: ../src/orca/scripts/toolkits/Gecko/script.py:531
 msgid "Switches between Gecko native and Orca caret navigation."
 msgstr "å?¨ Gecko å??ç??ç??覽è?? Orca é?µç?¤ç??覽æ?¹å¼?é??å??æ??ã??"
 
@@ -7247,7 +8074,7 @@ msgstr "å?¨ Gecko å??ç??ç??覽è?? Orca é?µç?¤ç??覽æ?¹å¼?é??å??æ??ã??"
 #. mouse over object, this command will hide the mouse
 #. over and return the user to the object he/she was in.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:579
+#: ../src/orca/scripts/toolkits/Gecko/script.py:587
 msgid "Moves focus into and away from the current mouse over."
 msgstr "å°?ç?¦é»?移å?¥æ??移å?ºç?®å??æ»?é¼ å??é§?ç??ä½?ç½®ã??"
 
@@ -7258,7 +8085,7 @@ msgstr "å°?ç?¦é»?移å?¥æ??移å?ºç?®å??æ»?é¼ å??é§?ç??ä½?ç½®ã??"
 #. the ability to switch between the Firefox mode and the
 #. Orca mode.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:826
+#: ../src/orca/scripts/toolkits/Gecko/script.py:691
 msgid "Use _Orca Caret Navigation"
 msgstr "使ç?¨ _Orca é?µç?¤ç??覽"
 
@@ -7266,7 +8093,7 @@ msgstr "使ç?¨ _Orca é?µç?¤ç??覽"
 #. in a structural manner: go to previous/next header, list item,
 #. table, etc.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:839
+#: ../src/orca/scripts/toolkits/Gecko/script.py:704
 msgid "Use Orca _Structural Navigation"
 msgstr "使� Orca ���覽�(_S)"
 
@@ -7279,7 +8106,7 @@ msgstr "使� Orca ���覽�(_S)"
 #. situation the user is in, so we must provide this as an option
 #. within Orca.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:856
+#: ../src/orca/scripts/toolkits/Gecko/script.py:721
 msgid "_Grab focus on objects when navigating"
 msgstr "使ç?¨é?µç?¤ç??覽æ??æ??å??ç?©ä»¶ç?¦é»?(_G)"
 
@@ -7289,7 +8116,7 @@ msgstr "使ç?¨é?µç?¤ç??覽æ??æ??å??ç?©ä»¶ç?¦é»?(_G)"
 #. above the current cursor position.  This option allows the user
 #. to decide the behavior they want.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:871
+#: ../src/orca/scripts/toolkits/Gecko/script.py:736
 msgid "_Position cursor at start of line when navigating vertically"
 msgstr "å?¨å??ç?´å°?覽æ??å°?游æ¨?æ?¾ç½®æ?¼è¡?ç??é??é ­(_P)"
 
@@ -7297,7 +8124,7 @@ msgstr "å?¨å??ç?´å°?覽æ??å°?游æ¨?æ?¾ç½®æ?¼è¡?ç??é??é ­(_P)"
 #. can optionally tell Orca to automatically start reading a
 #. page from beginning to end.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:884
+#: ../src/orca/scripts/toolkits/Gecko/script.py:749
 msgid "Automatically start speaking a page when it is first _loaded"
 msgstr "ç?¶ç¬¬ä¸?次è¼?å?¥ä¸?å??é ?é?¢æ??è?ªå??é??å§?è®?å?ºå?§å®¹(_L)"
 
@@ -7305,7 +8132,7 @@ msgstr "ç?¶ç¬¬ä¸?次è¼?å?¥ä¸?å??é ?é?¢æ??è?ªå??é??å§?è®?å?ºå?§å®¹(_L)"
 #. how to navigate HTML content (e.g., Orca caret navigation,
 #. positioning of caret, etc.).
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:896
+#: ../src/orca/scripts/toolkits/Gecko/script.py:761
 msgid "Page Navigation"
 msgstr "���覽"
 
@@ -7313,7 +8140,7 @@ msgstr "���覽"
 #. automatically speak the line that contains the match while
 #. the user is still in Firefox's Find toolbar.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:988
+#: ../src/orca/scripts/toolkits/Gecko/script.py:853
 msgid "Speak results during _find"
 msgstr "å°?æ?¾æ??è®?å?ºçµ?æ??(_F)"
 
@@ -7322,7 +8149,7 @@ msgstr "å°?æ?¾æ??è®?å?ºçµ?æ??(_F)"
 #. be spoken, or only spoken if it is a different line than the
 #. line which contained the last match.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:1001
+#: ../src/orca/scripts/toolkits/Gecko/script.py:866
 msgid "Onl_y speak changed lines during find"
 msgstr "å°?æ?¾æ??å?ªè®?å?ºæ??æ?¹è®?ç??è¡?(_Y)"
 
@@ -7330,14 +8157,14 @@ msgstr "å°?æ?¾æ??å?ªè®?å?ºæ??æ?¹è®?ç??è¡?(_Y)"
 #. of matched characters that must be present before Orca speaks
 #. the line that contains the results from the Find toolbar.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:1018
+#: ../src/orca/scripts/toolkits/Gecko/script.py:883
 msgid "Minimum length of matched text:"
 msgstr "æ¯?å°?æ??å­?ç??æ??å°?é?·åº¦ï¼?"
 
 #. Translators: this is the title of a panel containing options
 #. for using Firefox's Find toolbar.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:1043
+#: ../src/orca/scripts/toolkits/Gecko/script.py:908
 msgid "Find Options"
 msgstr "ã??å°?æ?¾ã??é?¸é ?"
 
@@ -7345,19 +8172,19 @@ msgstr "ã??å°?æ?¾ã??é?¸é ?"
 #. a document, Orca will speak information about what they
 #. have selected.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:1632
+#: ../src/orca/scripts/toolkits/Gecko/script.py:1425
 msgid "line selected down from cursor position"
 msgstr "å¾?游æ¨?ä½?ç½®é??å§?å??ä¸?é?¸å??è¡?"
 
-#: ../src/orca/scripts/toolkits/Gecko/script.py:1633
+#: ../src/orca/scripts/toolkits/Gecko/script.py:1426
 msgid "line unselected down from cursor position"
 msgstr "å¾?游æ¨?ä½?ç½®é??å§?å??ä¸?å??æ¶?é?¸å??è¡?"
 
-#: ../src/orca/scripts/toolkits/Gecko/script.py:1634
+#: ../src/orca/scripts/toolkits/Gecko/script.py:1427
 msgid "line selected up from cursor position"
 msgstr "å¾?游æ¨?ä½?ç½®é??å§?å??ä¸?é?¸å??è¡?"
 
-#: ../src/orca/scripts/toolkits/Gecko/script.py:1635
+#: ../src/orca/scripts/toolkits/Gecko/script.py:1428
 msgid "line unselected up from cursor position"
 msgstr "å¾?游æ¨?ä½?ç½®é??å§?å??ä¸?å??æ¶?é?¸å??è¡?"
 
@@ -7366,14 +8193,14 @@ msgstr "å¾?游æ¨?ä½?ç½®é??å§?å??ä¸?å??æ¶?é?¸å??è¡?"
 #. moving the mouse pointer caused an item to appear
 #. such as a pop-up menu, we want to present that fact.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:1678
+#: ../src/orca/scripts/toolkits/Gecko/script.py:1471
 msgid "New item has been added"
 msgstr "å·²å? å?¥æ?°ç??é ?ç?®"
 
 #. Translators: this is in reference to loading a web page
 #. or some other content.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:1968
+#: ../src/orca/scripts/toolkits/Gecko/script.py:1763
 #, python-format
 msgid "Finished loading %s."
 msgstr "è¼?å?¥ %s å®?æ??ã??"
@@ -7385,7 +8212,7 @@ msgstr "è¼?å?¥ %s å®?æ??ã??"
 #. heading level, where the single character is to indicate
 #. 'heading'.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:2458
+#: ../src/orca/scripts/toolkits/Gecko/script.py:2258
 #, python-format
 msgid "h%d"
 msgstr "h%d"
@@ -7396,44 +8223,22 @@ msgstr "h%d"
 #. which just appeared as a result of the user hovering the
 #. mouse. If this command fails, Orca will present this message.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:6053
+#: ../src/orca/scripts/toolkits/Gecko/script.py:5520
 msgid "Mouse over object not found."
 msgstr "æ?¾ä¸?å?°æ»?é¼ å??é§?ç?©ä»¶ã??"
 
 #. Translators: this is the action name for the 'open' action.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:6539
+#: ../src/orca/scripts/toolkits/Gecko/script.py:6004
 msgid "open"
 msgstr "é??å??"
 
-#. Translators: when the user is attempting to locate a
-#. particular object and the top of the web page has been
-#. reached without that object being found, we "wrap" to
-#. the bottom of the page and continuing looking upwards.
-#. We need to inform the user when this is taking place.
-#.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:6612
-#: ../src/orca/structural_navigation.py:884
-msgid "Wrapping to bottom."
-msgstr "è·³è?³åº?é?¨ã??"
-
-#. Translators: when the user is attempting to locate a
-#. particular object and the bottom of the web page has been
-#. reached without that object being found, we "wrap" to the
-#. top of the page and continuing looking downwards. We need
-#. to inform the user when this is taking place.
-#.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:6680
-#: ../src/orca/structural_navigation.py:892
-msgid "Wrapping to top."
-msgstr "å??å?°é??å§?ã??"
-
 #. Translators: this announces to the user that live region
 #. support has been turned off.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:6706
-#: ../src/orca/scripts/toolkits/Gecko/script.py:6730
-#: ../src/orca/scripts/toolkits/Gecko/script.py:6740
+#: ../src/orca/scripts/toolkits/Gecko/script.py:6171
+#: ../src/orca/scripts/toolkits/Gecko/script.py:6195
+#: ../src/orca/scripts/toolkits/Gecko/script.py:6205
 #: ../src/orca/structural_navigation.py:396
 msgid "Live region support is off"
 msgstr "å?³æ??æ?­å ±å??æ?¯æ?´å·²é??é??"
@@ -7441,11 +8246,11 @@ msgstr "å?³æ??æ?­å ±å??æ?¯æ?´å·²é??é??"
 #. Translators: this announces to the user that live region
 #. are being monitored.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:6714
+#: ../src/orca/scripts/toolkits/Gecko/script.py:6179
 msgid "Live regions monitoring on"
 msgstr "å?³æ??æ?­å ±å??ç?£æ?§é??å??"
 
-#: ../src/orca/scripts/toolkits/Gecko/script.py:6721
+#: ../src/orca/scripts/toolkits/Gecko/script.py:6186
 msgid "Live regions monitoring off"
 msgstr "å?³æ??æ?­å ±å??ç?£æ?§é??é??"
 
@@ -7456,7 +8261,7 @@ msgstr "å?³æ??æ?­å ±å??ç?£æ?§é??é??"
 #. the ability to switch between the Firefox mode and the
 #. Orca mode.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:6756
+#: ../src/orca/scripts/toolkits/Gecko/script.py:6221
 msgid "Gecko is controlling the caret."
 msgstr "Gecko æ­£å?¨æ?§å?¶é?µç?¤ç??覽ã??"
 
@@ -7467,7 +8272,7 @@ msgstr "Gecko æ­£å?¨æ?§å?¶é?µç?¤ç??覽ã??"
 #. the ability to switch between the Firefox mode and the
 #. Orca mode.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:6768
+#: ../src/orca/scripts/toolkits/Gecko/script.py:6233
 msgid "Orca is controlling the caret."
 msgstr "Orca æ­£å?¨æ?§å?¶é?µç?¤ç??覽ã??"
 
@@ -7476,15 +8281,15 @@ msgstr "Orca æ­£å?¨æ?§å?¶é?µç?¤ç??覽ã??"
 #. and the %(role)s is in reference to a previously
 #. translated rolename for the heading.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/speech_generator.py:250
+#: ../src/orca/scripts/toolkits/Gecko/speech_generator.py:258
 #, python-format
 msgid "%(role)s level %(level)d"
 msgstr "%(role)s 第 %(level)d �"
 
 #. Translators: this represents a list in HTML.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/speech_generator.py:281
-#: ../src/orca/structural_navigation.py:2793
+#: ../src/orca/scripts/toolkits/Gecko/speech_generator.py:298
+#: ../src/orca/structural_navigation.py:2956
 #, python-format
 msgid "List with %d item"
 msgid_plural "List with %d items"
@@ -7493,7 +8298,7 @@ msgstr[0] "æ?? %d å??é ?ç?®ç??æ¸?å?®"
 #. Translators: Announces the number of headings in the
 #. web page that is currently being displayed.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/speech_generator.py:461
+#: ../src/orca/scripts/toolkits/Gecko/speech_generator.py:488
 #, python-format
 msgid "%d heading"
 msgid_plural "%d headings"
@@ -7502,7 +8307,7 @@ msgstr[0] "%d å??æ¨?é¡?"
 #. Translators: Announces the number of forms in the
 #. web page that is currently being displayed.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/speech_generator.py:466
+#: ../src/orca/scripts/toolkits/Gecko/speech_generator.py:493
 #, python-format
 msgid "%d form"
 msgid_plural "%d forms"
@@ -7511,7 +8316,7 @@ msgstr[0] "%d å??表å?®"
 #. Translators: Announces the number of non-layout tables in the
 #. web page that is currently being displayed.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/speech_generator.py:471
+#: ../src/orca/scripts/toolkits/Gecko/speech_generator.py:498
 #, python-format
 msgid "%d table"
 msgid_plural "%d tables"
@@ -7520,7 +8325,7 @@ msgstr[0] "%d å??表格"
 #. Translators: Announces the number of visited links in the
 #. web page that is currently being displayed.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/speech_generator.py:477
+#: ../src/orca/scripts/toolkits/Gecko/speech_generator.py:504
 #, python-format
 msgid "%d visited link"
 msgid_plural "%d visited links"
@@ -7529,7 +8334,7 @@ msgstr[0] "%d å??ç??覽é??ç??é?£çµ?"
 #. Translators: Announces the number of unvisited links in the
 #. web page that is currently being displayed.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/speech_generator.py:483
+#: ../src/orca/scripts/toolkits/Gecko/speech_generator.py:510
 #, python-format
 msgid "%d unvisited link"
 msgid_plural "%d unvisited links"
@@ -7540,10 +8345,11 @@ msgstr[0] "%d å??æ?ªç??覽ç??é?£çµ?"
 #. current position divided by the total number of objects on the
 #. page.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/speech_generator.py:490
+#: ../src/orca/scripts/toolkits/Gecko/speech_generator.py:518
 #, python-format
 msgid "%d percent of document read"
-msgstr "æ??件ç??ç?¾å??ä¹?%då·²è®?"
+msgid_plural "%d percent of document read"
+msgstr[0] "å·²è®?å??æ??件ç??ç?¾å??ä¹? %d"
 
 #. Translators: the regular expression here represents a string to
 #. match in the localized application name as seen by at-poke.  For
@@ -7554,28 +8360,28 @@ msgstr "æ??件ç??ç?¾å??ä¹?%då·²è®?"
 #. I wish the AT-SPI spec'd this out as machine readable (unlocalized)
 #. names, but it's what we're stuck with (unfortunately).
 #.
-#: ../src/orca/settings.py:1046
+#: ../src/orca/settings.py:1114
 msgid "[\\S\\s]*StarOffice[\\s\\S]*"
 msgstr "[\\S\\s]*StarOffice[\\s\\S]*"
 
 #. Translators: see the regular expression note above.  This is for
 #. OpenOffice and StarOffice.
 #.
-#: ../src/orca/settings.py:1051
+#: ../src/orca/settings.py:1119
 msgid "soffice.bin"
 msgstr "soffice.bin"
 
 #. Translators: see the regular expression note above.  This is for
 #. OpenOffice and StarOffice.
 #.
-#: ../src/orca/settings.py:1056
+#: ../src/orca/settings.py:1124
 msgid "soffice"
 msgstr "soffice"
 
 #. Translators: see the regular expression note above.  This is for the
 #. Evolution mail application.
 #.
-#: ../src/orca/settings.py:1061
+#: ../src/orca/settings.py:1129
 msgid "[Ee]volution"
 msgstr "[Ee]volution"
 
@@ -7583,7 +8389,7 @@ msgstr "[Ee]volution"
 #. version of Mozilla Firefox, which chooses to create strange names
 #. for itself at the drop of a hat.
 #.
-#: ../src/orca/settings.py:1067
+#: ../src/orca/settings.py:1135
 msgid "Deer Park"
 msgstr "Deer Park"
 
@@ -7591,7 +8397,7 @@ msgstr "Deer Park"
 #. version of Mozilla Firefox, which chooses to create strange names
 #. for itself at the drop of a hat.
 #.
-#: ../src/orca/settings.py:1073
+#: ../src/orca/settings.py:1141
 msgid "Bon Echo"
 msgstr "Bon Echo"
 
@@ -7599,35 +8405,35 @@ msgstr "Bon Echo"
 #. version of Mozilla Firefox, which chooses to create strange names
 #. for itself at the drop of a hat.
 #.
-#: ../src/orca/settings.py:1079
+#: ../src/orca/settings.py:1147
 msgid "Minefield"
 msgstr "æ??å?°é?·"
 
 #. Translators: see the regular expression note above.  This is for
 #. the Thunderbird e-mail application.
 #.
-#: ../src/orca/settings.py:1110
+#: ../src/orca/settings.py:1178
 msgid "Mail/News"
 msgstr "é?µä»¶/æ?°è??çµ?"
 
 #. Translators: see the regular expression note above.  This is for
 #. gnome_segv2, which calls itself bug-buddy in at-poke.
 #.
-#: ../src/orca/settings.py:1115
+#: ../src/orca/settings.py:1187
 msgid "bug-buddy"
 msgstr "bug-buddy"
 
 #. Translators: see the regular expression note above.  This is for
 #. the underlying terminal support in gnome-terminal.
 #.
-#: ../src/orca/settings.py:1120
+#: ../src/orca/settings.py:1192
 msgid "vte"
 msgstr "vte"
 
 #. Translators: see the regular expression note above.  This is for
 #. supporting gaim, which has recently be renamed to pidgin.
 #.
-#: ../src/orca/settings.py:1125
+#: ../src/orca/settings.py:1197
 msgid "gaim"
 msgstr "gaim"
 
@@ -7637,14 +8443,14 @@ msgstr "gaim"
 #. will be spoken and displayed in braille to indicate this state is
 #. present.
 #.
-#: ../src/orca/settings.py:1304 ../src/orca/settings.py:1381
+#: ../src/orca/settings.py:1380 ../src/orca/settings.py:1457
 msgid "required"
 msgstr "å¿?è¦?ç??"
 
 #. Translators: this is used to indicate the user is in a text
 #. area that is not editable.  It is meant to be spoken to the user.
 #.
-#: ../src/orca/settings.py:1309
+#: ../src/orca/settings.py:1385
 msgctxt "text"
 msgid "read only"
 msgstr "��"
@@ -7652,7 +8458,7 @@ msgstr "��"
 #. Translators: this represents an item on the screen that has
 #. been set insensitive (or grayed out).
 #.
-#: ../src/orca/settings.py:1314 ../src/orca/settings.py:1392
+#: ../src/orca/settings.py:1390 ../src/orca/settings.py:1468
 msgid "grayed"
 msgstr "grayed"
 
@@ -7660,18 +8466,18 @@ msgstr "grayed"
 #. 'expanded' means the children are showing.  'collapsed' means the
 #. children are not showing.
 #.
-#: ../src/orca/settings.py:1338 ../src/orca/settings.py:1404
+#: ../src/orca/settings.py:1414 ../src/orca/settings.py:1480
 msgid "collapsed"
 msgstr "已�起"
 
-#: ../src/orca/settings.py:1338 ../src/orca/settings.py:1404
+#: ../src/orca/settings.py:1414 ../src/orca/settings.py:1480
 msgid "expanded"
 msgstr "å·²å±?é??"
 
 #. Translators: "multi-select" refers to a web form list
 #. in which more than one item can be selected at a time.
 #.
-#: ../src/orca/settings.py:1343
+#: ../src/orca/settings.py:1419
 msgid "multi-select"
 msgstr "å¤?é??é?¸å??"
 
@@ -7679,7 +8485,7 @@ msgstr "å¤?é??é?¸å??"
 #. view (i.e., how many ancestors a node has).  It is meant to be
 #. spoken.
 #.
-#: ../src/orca/settings.py:1349
+#: ../src/orca/settings.py:1425
 #, python-format
 msgid "tree level %d"
 msgstr "tree level %d"
@@ -7694,7 +8500,7 @@ msgstr "tree level %d"
 #. level of 2 represents a list item inside a list that's
 #. inside another list).
 #.
-#: ../src/orca/settings.py:1356 ../src/orca/structural_navigation.py:2808
+#: ../src/orca/settings.py:1432 ../src/orca/structural_navigation.py:2971
 #, python-format
 msgid "Nesting level %d"
 msgstr "å·¢ç??æ¸?å?®ç¬¬ %d 層"
@@ -7703,7 +8509,7 @@ msgstr "å·¢ç??æ¸?å?®ç¬¬ %d 層"
 #. count of the total number of icons within an icon panel. An
 #. example of an icon panel is the Nautilus folder view.
 #.
-#: ../src/orca/settings.py:1362
+#: ../src/orca/settings.py:1438
 #, python-format
 msgid "on %(index)d of %(total)d"
 msgstr "æ?¼ %(total)d 中ç?? %(index)d"
@@ -7712,7 +8518,7 @@ msgstr "æ?¼ %(total)d 中ç?? %(index)d"
 #. or group of objects, such as menu items in a menu, radio buttons
 #. in a radio button group, combobox item in a combobox, etc.
 #.
-#: ../src/orca/settings.py:1368
+#: ../src/orca/settings.py:1444
 #, python-format
 msgid "%(index)d of %(total)d"
 msgstr "%(total)d 中ç?? %(index)d"
@@ -7721,7 +8527,7 @@ msgstr "%(total)d 中ç?? %(index)d"
 #. area that is not editable.  It is meant to be a short abbreviation
 #. to be presented on the braille display.
 #.
-#: ../src/orca/settings.py:1387
+#: ../src/orca/settings.py:1463
 msgctxt "text"
 msgid "rdonly"
 msgstr "��"
@@ -7730,7 +8536,7 @@ msgstr "��"
 #. view (i.e., how many ancestors a node has).  It is meant to
 #. be presented on a braille display.
 #.
-#: ../src/orca/settings.py:1410
+#: ../src/orca/settings.py:1486
 #, python-format
 msgid "TREE LEVEL %d"
 msgstr "TREE LEVEL %d"
@@ -7741,55 +8547,49 @@ msgstr "TREE LEVEL %d"
 #. inside another list).  It is meant to be presented on
 #. the braille display.
 #.
-#: ../src/orca/settings.py:1418
+#: ../src/orca/settings.py:1494
 #, python-format
 msgid "LEVEL %d"
 msgstr "第 %d 層"
 
-#. Translators: "Default Synthesizer" will appear in the list of available
-#. speech engines as a special item.  It refers to the default engine
-#. configured within the speech subsystem.  Apart from this item, the user
-#. will have a chance to select a particular speech engine by its real
-#. name, such as Festival, IBMTTS, etc.
+#. Translators: Orca has a feature to speak the time
+#. when the user presses a shortcut key.
+#. This is one of the alternative formats that the
+#. user may wish to be presented with.
 #.
-#: ../src/orca/speechdispatcherfactory.py:76
-msgid "Default Synthesizer"
-msgstr "é ?設èª?é?³å??æ??å?¨"
+#: ../src/orca/settings.py:1527
+msgid "%H hours, %M minutes and %S seconds."
+msgstr "%Hå°?æ??ï¼?%Må??%Sç§?ã??"
+
+#. Translators: Orca has a feature to speak the time
+#. when the user presses a shortcut key.
+#. This is one of the alternative formats that the
+#. user may wish to be presented with.
+#.
+#: ../src/orca/settings.py:1534
+msgid "%H hours and %M minutes."
+msgstr "%Hå°?æ??%Må??ã??"
 
 #. Translators: this is the name of a speech synthesis system
 #. called "Speech Dispatcher".
 #.
-#: ../src/orca/speechdispatcherfactory.py:89
+#: ../src/orca/speechdispatcherfactory.py:96
 msgid "Speech Dispatcher"
 msgstr "Speech Dispatcher"
 
-#. Translators: This string will appear in the list of
-#. available voices for the current speech engine.  %s will be
-#. replaced by the name of the current speech engine, such as
-#. "Festival default voice" or "IBMTTS default voice".  It
-#. refers to the default voice configured for given speech
-#. engine within the speech subsystem.  Apart from this item,
-#. the list will contain the names of all available "real"
-#. voices provided by the speech engine.
-#.
-#: ../src/orca/speechdispatcherfactory.py:173
-#, python-format
-msgid "%s default voice"
-msgstr "%s �設��"
-
 #. Translators: this refers to a link to a file, where
 #. the first item is the protocol (ftp, ftps, or file)
 #. and the second item the name of the file being linked
 #. to.
 #.
-#: ../src/orca/speech_generator.py:236
+#: ../src/orca/speech_generator.py:417
 #, python-format
 msgid "%(uri)s link to %(file)s"
 msgstr "%(uri)s ��� %(file)s"
 
 #. Translators: this is the protocol of a link eg. http, mailto.
 #.
-#: ../src/orca/speech_generator.py:242
+#: ../src/orca/speech_generator.py:423
 #, python-format
 msgid "%s link"
 msgstr "%s ��"
@@ -7797,7 +8597,7 @@ msgstr "%s ��"
 #. Translators: this is an indication that a given
 #. link points to an object that is on the same page.
 #.
-#: ../src/orca/speech_generator.py:275
+#: ../src/orca/speech_generator.py:459
 msgid "same page"
 msgstr "ç?¸å??é ?é?¢"
 
@@ -7809,7 +8609,7 @@ msgstr "ç?¸å??é ?é?¢"
 #. link points to an object that is at the same site
 #. (but not on the same page) as the link.
 #.
-#: ../src/orca/speech_generator.py:281 ../src/orca/speech_generator.py:294
+#: ../src/orca/speech_generator.py:465 ../src/orca/speech_generator.py:478
 msgid "same site"
 msgstr "ç?¸å??網ç«?"
 
@@ -7817,13 +8617,13 @@ msgstr "ç?¸å??網ç«?"
 #. link points to an object that is at a different
 #. site than that of the link.
 #.
-#: ../src/orca/speech_generator.py:300
+#: ../src/orca/speech_generator.py:484
 msgid "different site"
 msgstr "ä¸?å??網ç«?"
 
 #. Translators: This is the size of a file in bytes
 #.
-#: ../src/orca/speech_generator.py:327
+#: ../src/orca/speech_generator.py:514
 #, python-format
 msgid "%d byte"
 msgid_plural "%d bytes"
@@ -7831,14 +8631,14 @@ msgstr[0] "%d ä½?å??çµ?"
 
 #. Translators: This is the size of a file in kilobytes
 #.
-#: ../src/orca/speech_generator.py:331
+#: ../src/orca/speech_generator.py:518
 #, python-format
 msgid "%.2f kilobytes"
 msgstr "%.2f KB"
 
 #. Translators: This is the size of a file in megabytes
 #.
-#: ../src/orca/speech_generator.py:335
+#: ../src/orca/speech_generator.py:522
 #, python-format
 msgid "%.2f megabytes"
 msgstr "%.2f MB"
@@ -7846,28 +8646,28 @@ msgstr "%.2f MB"
 #. Translators: this is in reference to a table cell being
 #. selected or not.
 #.
-#: ../src/orca/speech_generator.py:521
+#: ../src/orca/speech_generator.py:724
 msgctxt "tablecell"
 msgid "not selected"
 msgstr "æ²?æ??é?¸å??"
 
 #. Translators: this is in references to a row in a table.
 #.
-#: ../src/orca/speech_generator.py:568
+#: ../src/orca/speech_generator.py:782
 #, python-format
 msgid "row %d"
 msgstr "å?? %d"
 
 #. Translators: this is in references to a column in a
 #. table.
-#: ../src/orca/speech_generator.py:591
+#: ../src/orca/speech_generator.py:811
 #, python-format
 msgid "column %(index)d of %(total)d"
 msgstr "å?¨é?¨ %(total)d æ¬?ç??第 %(index)d æ¬?"
 
 #. Translators: this is in reference to a row in a table.
 #.
-#: ../src/orca/speech_generator.py:596
+#: ../src/orca/speech_generator.py:816
 #, python-format
 msgid "row %(index)d of %(total)d"
 msgstr "å?¨é?¨ %(total)d å??ç??第 %(index)d å??"
@@ -7875,21 +8675,40 @@ msgstr "å?¨é?¨ %(total)d å??ç??第 %(index)d å??"
 #. Translators: This is to indicate to the user that
 #. he/she is in the last cell of a table in a document.
 #.
-#: ../src/orca/speech_generator.py:626
+#: ../src/orca/speech_generator.py:851
 msgid "End of table"
 msgstr "表格ç??çµ?å°¾"
 
+#. Translators: this is the number of space characters on a line
+#. of text.
+#.
+#: ../src/orca/speech_generator.py:1192
+#, python-format
+msgid "%d space"
+msgid_plural "%d spaces"
+msgstr[0] "%d å??空格"
+
+#. Translators: this is the number of tab characters on a line
+#. of text.
+#.
+#: ../src/orca/speech_generator.py:1203
+#, python-format
+msgid "%d tab"
+msgid_plural "%d tabs"
+msgstr[0] "%d å?? tab"
+
 #. Translators: this is the percentage value of a progress bar.
 #.
-#: ../src/orca/speech_generator.py:936
+#: ../src/orca/speech_generator.py:1271
 #, python-format
 msgid "%d percent"
-msgstr "%d ï¼?"
+msgid_plural "%d percent"
+msgstr[0] "ç?¾å??ä¹?%d"
 
 #. Translators: this is the number of items in a layered pane
 #. or table.
 #.
-#: ../src/orca/speech_generator.py:1019 ../src/orca/speech_generator.py:1035
+#: ../src/orca/speech_generator.py:1370 ../src/orca/speech_generator.py:1391
 msgid "0 items"
 msgstr "0 å??é ?ç?®"
 
@@ -7897,7 +8716,7 @@ msgstr "0 å??é ?ç?®"
 #. and the count of the total number of icons within an icon panel.
 #. An example of an icon panel is the Nautilus folder view.
 #.
-#: ../src/orca/speech_generator.py:1065
+#: ../src/orca/speech_generator.py:1426
 #, python-format
 msgid "%(index)d of %(total)d item selected"
 msgid_plural "%(index)d of %(total)d items selected"
@@ -7906,7 +8725,7 @@ msgstr[0] "%(total)d å??é ?ç?®ä¸­é?¸å??ç?? %(index)d å??é ?ç?®"
 #. Translators: this tells the user how many unfocused
 #. alert and dialog windows that this application has.
 #.
-#: ../src/orca/speech_generator.py:1114 ../src/orca/speech_generator.py:1383
+#: ../src/orca/speech_generator.py:1479 ../src/orca/speech_generator.py:1768
 #, python-format
 msgid "%d unfocused dialog"
 msgid_plural "%d unfocused dialogs"
@@ -7915,7 +8734,7 @@ msgstr[0] "%d å??æ?ªå??å¾?ç?¦é»?ç??å°?話ç??"
 #. Translators: this is an alternative name for the
 #. parent object of a series of icons.
 #.
-#: ../src/orca/speech_generator.py:1189
+#: ../src/orca/speech_generator.py:1561
 msgid "Icon panel"
 msgstr "å??示é?¢æ?¿"
 
@@ -7923,7 +8742,7 @@ msgstr "å??示é?¢æ?¿"
 #. button that gets activated when Enter is pressed anywhere
 #. within that dialog box.
 #.
-#: ../src/orca/speech_generator.py:1332
+#: ../src/orca/speech_generator.py:1715
 #, python-format
 msgid "Default button is %s"
 msgstr "é ?設æ??é??ç?º%s"
@@ -7935,7 +8754,7 @@ msgstr "é ?設æ??é??ç?º%s"
 #. This feature needs to be toggle-able so that it does not
 #. interfere with normal writing functions.
 #.
-#: ../src/orca/structural_navigation.py:590
+#: ../src/orca/structural_navigation.py:591
 msgid "Toggles structural navigation keys."
 msgstr "å??æ??çµ?æ§?å°?覽é?µã??"
 
@@ -7949,7 +8768,7 @@ msgstr "å??æ??çµ?æ§?å°?覽é?µã??"
 #. toggles the structural navigation feature of Orca.
 #. It should be a brief informative message.
 #.
-#: ../src/orca/structural_navigation.py:644
+#: ../src/orca/structural_navigation.py:645
 msgid "Structural navigation keys on."
 msgstr "çµ?æ§?å°?覽é?µé??å??ã??"
 
@@ -7963,7 +8782,7 @@ msgstr "çµ?æ§?å°?覽é?µé??å??ã??"
 #. toggles the structural navigation feature of Orca.
 #. It should be a brief informative message.
 #.
-#: ../src/orca/structural_navigation.py:656
+#: ../src/orca/structural_navigation.py:657
 msgid "Structural navigation keys off."
 msgstr "çµ?æ§?å°?覽é?µé??é??ã??"
 
@@ -8021,141 +8840,159 @@ msgstr "æ¬?ç??åº?é?¨ã??"
 #. In contrast, a non-uniform table is one in which at least
 #. one table cell occupies more than one row and/or column.
 #.
-#: ../src/orca/structural_navigation.py:1327
+#: ../src/orca/structural_navigation.py:1331
 msgid "Non-uniform"
 msgstr "é??å?¶å¼?"
 
 #. Translators: this represents the number of rows in a table.
 #.
-#: ../src/orca/structural_navigation.py:1334
-#, python-format
-msgid "Table with %d row"
-msgid_plural "Table with %d rows"
-msgstr[0] "æ?? %d å??ç??表格"
-
-#. Translators: this represents the number of cols in a table.
-#.
-#: ../src/orca/structural_navigation.py:1339
-#, python-format
-msgid "%d column"
-msgid_plural "%d columns"
-msgstr[0] "%d �"
-
-#. Translators: The cell here refers to a cell within a table
-#. within a document.  We need to announce when the cell occupies
-#. or "spans" more than a single row and/or column.
-#.
-#: ../src/orca/structural_navigation.py:1487
+#: ../src/orca/structural_navigation.py:1495
 #, python-format
-msgid "Cell spans %(rows)d rows and %(columns)d columns"
-msgstr "å?²å­?æ ¼å??ä½µäº? %(rows)d å??å?? %(columns)d æ¬?"
+msgid "%d row"
+msgid_plural "%d rows"
+msgstr[0] "%d å??"
 
 #. Translators: The cell here refers to a cell within a table
 #. within a document.  We need to announce when the cell occupies
 #. or "spans" more than a single row and/or column.
 #.
-#: ../src/orca/structural_navigation.py:1495
+#: ../src/orca/structural_navigation.py:1508
 #, python-format
-msgid "Cell spans %d columns"
-msgstr "å?²å­?æ ¼å??ä½µ%då??æ¬?ä½?"
+msgid "Cell spans %(rows)s and %(columns)s"
+msgstr "å?²å­?æ ¼å??ä½µäº? %(rows)s å??å?? %(columns)s æ¬?"
 
 #. Translators: The cell here refers to a cell within a table
 #. within a document.  We need to announce when the cell occupies
 #. or "spans" more than a single row and/or column.
 #.
-#: ../src/orca/structural_navigation.py:1501
+#: ../src/orca/structural_navigation.py:1516
+#: ../src/orca/structural_navigation.py:1522
 #, python-format
-msgid "Cell spans %d rows"
-msgstr "å?²å­?æ ¼å??ä½µ%då??å??"
+msgid "Cell spans %s"
+msgstr "å?²å­?æ ¼å??ä½µ%så??æ¬?ä½?"
 
 #. Translators: this is for navigating among anchors in a document.
 #. An anchor is a named spot that one can jump to.
 #.
-#: ../src/orca/structural_navigation.py:1838
+#: ../src/orca/structural_navigation.py:1874
 msgid "Goes to previous anchor."
 msgstr "移è?³å??ä¸?å??é?¨é»?ã??"
 
 #. Translators: this is for navigating among anchors in a document.
 #. An anchor is a named spot that one can jump to.
 #.
-#: ../src/orca/structural_navigation.py:1843
+#: ../src/orca/structural_navigation.py:1879
 msgid "Goes to next anchor."
 msgstr "移è?³ä¸?ä¸?å??é?¨é»?ã??"
 
 #. 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 stirng is what orca will say
-#. if there are no more anchors found.
+#. that one can jump to.) This is a detailed message which
+#. will be presented to the user if no more anchors can be found.
 #.
-#: ../src/orca/structural_navigation.py:1900
+#: ../src/orca/structural_navigation.py:1936
 msgid "No more anchors."
 msgstr "æ²?æ??å?¶ä»?é?¨é»?ã??"
 
+#. 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.
+#.
+#: ../src/orca/structural_navigation.py:1946
+#: ../src/orca/structural_navigation.py:2040
+#: ../src/orca/structural_navigation.py:2130
+#: ../src/orca/structural_navigation.py:2220
+#: ../src/orca/structural_navigation.py:2325
+#: ../src/orca/structural_navigation.py:2415
+#: ../src/orca/structural_navigation.py:2517
+#: ../src/orca/structural_navigation.py:2624
+#: ../src/orca/structural_navigation.py:2746
+#: ../src/orca/structural_navigation.py:2764
+#: ../src/orca/structural_navigation.py:2874
+#: ../src/orca/structural_navigation.py:2992
+#: ../src/orca/structural_navigation.py:3088
+#: ../src/orca/structural_navigation.py:3173
+#: ../src/orca/structural_navigation.py:3264
+#: ../src/orca/structural_navigation.py:3354
+#: ../src/orca/structural_navigation.py:3435
+#: ../src/orca/structural_navigation.py:3525
+#: ../src/orca/structural_navigation.py:3725
+#: ../src/orca/structural_navigation.py:3814
+msgctxt "structural navigation"
+msgid "Not found"
+msgstr "���"
+
 #. Translators: this is for navigating among blockquotes in a
 #. document.
 #.
-#: ../src/orca/structural_navigation.py:1917
+#: ../src/orca/structural_navigation.py:1964
 msgid "Goes to previous blockquote."
 msgstr "移è?³å??ä¸?å??å??å¡?æ?¬å¼§ã??"
 
 #. Translators: this is for navigating among blockquotes in a
 #. document.
 #.
-#: ../src/orca/structural_navigation.py:1922
+#: ../src/orca/structural_navigation.py:1969
 msgid "Goes to next blockquote."
 msgstr "移è?³ä¸?ä¸?å??å??å¡?æ?¬å¼§ã??"
 
 #. Translators: this is for navigating document content by
-#. moving from blockquote to blockquote. This string is what
-#. Orca will say if there are no more blockquotes found.
+#. moving from blockquote to blockquote. This is a detailed
+#. message which will be presented to the user if no more
+#. blockquotes can be found.
 #.
-#: ../src/orca/structural_navigation.py:1982
+#: ../src/orca/structural_navigation.py:2030
 msgid "No more blockquotes."
 msgstr "æ²?æ??å?¶ä»?å??å¡?æ?¬å¼§ã??"
 
 #. Translators: this is for navigating among buttons in a form
 #. within a document.
 #.
-#: ../src/orca/structural_navigation.py:1999
+#: ../src/orca/structural_navigation.py:2058
 msgid "Goes to previous button."
 msgstr "移è?³å??ä¸?å??æ??é??ã??"
 
 #. Translators: this is for navigating among buttons in a form
 #. within a document.
 #.
-#: ../src/orca/structural_navigation.py:2004
+#: ../src/orca/structural_navigation.py:2063
 msgid "Goes to next button."
 msgstr "移è?³ä¸?ä¸?å??æ??é??ã??"
 
-#. Translators: this is for navigating in document content
-#. by moving from push button to push button in a form. This
-#. string is what Orca will say if there are no more buttons
-#. found.
+#. 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.
 #.
-#: ../src/orca/structural_navigation.py:2061
+#: ../src/orca/structural_navigation.py:2120
 msgid "No more buttons."
 msgstr "æ²?æ??å?¶ä»?æ??é??ã??"
 
 #. Translators: this is for navigating among check boxes in a form
 #. within a document.
 #.
-#: ../src/orca/structural_navigation.py:2078
+#: ../src/orca/structural_navigation.py:2148
 msgid "Goes to previous check box."
 msgstr "移è?³å??ä¸?å??æ ¸å??æ?¹å¡?ã??"
 
 #. Translators: this is for navigating among check boxes in a form
 #. within a document.
 #.
-#: ../src/orca/structural_navigation.py:2083
+#: ../src/orca/structural_navigation.py:2153
 msgid "Goes to next check box."
 msgstr "移è?³ä¸?ä¸?å??æ ¸å??æ?¹å¡?ã??"
 
-#. Translators: this is for navigating in document content
-#. by moving from checkbox to checkbox in a form. This
-#. string is what Orca will say if there are no more check
-#. boxes found.
+#. 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.
 #.
-#: ../src/orca/structural_navigation.py:2140
+#: ../src/orca/structural_navigation.py:2210
 msgid "No more check boxes."
 msgstr "æ²?æ??å?¶ä»?æ ¸å??æ?¹å¡?ã??"
 
@@ -8163,7 +9000,7 @@ msgstr "æ²?æ??å?¶ä»?æ ¸å??æ?¹å¡?ã??"
 #. structural manner, where a 'large object' is a logical
 #. chunk of text, such as a paragraph, a list, a table, etc.
 #.
-#: ../src/orca/structural_navigation.py:2158
+#: ../src/orca/structural_navigation.py:2239
 msgid "Goes to previous large object."
 msgstr "移è?³å??ä¸?å??大å??ç?©ä»¶ã??"
 
@@ -8171,106 +9008,108 @@ msgstr "移è?³å??ä¸?å??大å??ç?©ä»¶ã??"
 #. structural manner, where a 'large object' is a logical
 #. chunk of text, such as a paragraph, a list, a table, etc.
 #.
-#: ../src/orca/structural_navigation.py:2164
+#: ../src/orca/structural_navigation.py:2245
 msgid "Goes to next large object."
 msgstr "移è?³ä¸?ä¸?å??大å??ç?©ä»¶ã??"
 
 #. 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 string is what Orca will say
-#. if there are no more large objects found.
+#. 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.
 #.
-#: ../src/orca/structural_navigation.py:2233
+#: ../src/orca/structural_navigation.py:2315
 msgid "No more large objects."
 msgstr "æ²?æ??å?¶ä»?大å??ç?©ä»¶ã??"
 
 #. Translators: this is for navigating among combo boxes in a form
 #. within a document.
 #.
-#: ../src/orca/structural_navigation.py:2250
+#: ../src/orca/structural_navigation.py:2343
 msgid "Goes to previous combo box."
 msgstr "移è?³å??ä¸?å??çµ?å??æ?¹å¡?ã??"
 
 #. Translators: this is for navigating among combo boxes in a form
 #. within a document.
 #.
-#: ../src/orca/structural_navigation.py:2255
+#: ../src/orca/structural_navigation.py:2348
 msgid "Goes to next combo box."
 msgstr "移è?³ä¸?ä¸?å??çµ?å??æ?¹å¡?ã??"
 
-#. Translators: this is for navigating in document content
-#. by moving from combo box to combo box in a form. This
-#. string is what Orca will say if there are no more combo
-#. boxes found.
+#. 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.
 #.
-#: ../src/orca/structural_navigation.py:2312
+#: ../src/orca/structural_navigation.py:2405
 msgid "No more combo boxes."
 msgstr "æ²?æ??å?¶ä»?çµ?å??æ?¹å¡?ã??"
 
 #. Translators: this is for navigating among text entries in a form
 #. within a document.
 #.
-#: ../src/orca/structural_navigation.py:2329
+#: ../src/orca/structural_navigation.py:2433
 msgid "Goes to previous entry."
 msgstr "移è?³å??ä¸?å??é ?ç?®ã??"
 
 #. Translators: this is for navigating among text entries
 #. in a form.
 #.
-#: ../src/orca/structural_navigation.py:2334
+#: ../src/orca/structural_navigation.py:2438
 msgid "Goes to next entry."
 msgstr "移è?³ä¸?ä¸?å??é ?ç?®ã??"
 
-#. Translators: this is for navigating in document content
-#. by moving from text entry to text entry in a form. This
-#. string is what Orca will say if there are no more entries
-#. found.
+#. 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.
 #.
-#: ../src/orca/structural_navigation.py:2400
+#: ../src/orca/structural_navigation.py:2507
 msgid "No more entries."
 msgstr "æ²?æ??å?¶ä»?é ?ç?®ã??"
 
 #. Translators: this is for navigating among fields in a form within
 #. a document.
 #.
-#: ../src/orca/structural_navigation.py:2417
+#: ../src/orca/structural_navigation.py:2535
 msgid "Goes to previous form field."
 msgstr "移è?³å??ä¸?å??表å?®æ¬?ä½?ã??"
 
 #. Translators: this is for navigating among fields in a form within
 #. a document.
 #.
-#: ../src/orca/structural_navigation.py:2424
+#: ../src/orca/structural_navigation.py:2542
 msgid "Goes to next form field."
 msgstr "移è?³ä¸?ä¸?å??表å?®æ¬?ä½?ã??"
 
-#. Translators: this is for navigating in document content
-#. by moving from form field to form field. This string is
-#. what Orca will say if there are no more form fields found.
+#. 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.
 #.
-#: ../src/orca/structural_navigation.py:2494
+#: ../src/orca/structural_navigation.py:2614
 msgid "No more form fields."
 msgstr "æ²?æ??å?¶ä»?表å?®æ¬?ä½?ã??"
 
 #. Translators: this is for navigating in a document by heading.
 #. (e.g. <h1>)
 #.
-#: ../src/orca/structural_navigation.py:2511
+#: ../src/orca/structural_navigation.py:2642
 msgid "Goes to previous heading."
 msgstr "移è?³å??ä¸?å??æ¨?é¡?ã??"
 
 #. Translators: this is for navigating in a document by heading.
 #. (e.g., <h1>)
 #.
-#: ../src/orca/structural_navigation.py:2516
+#: ../src/orca/structural_navigation.py:2647
 msgid "Goes to next heading."
 msgstr "移è?³ä¸?ä¸?å??æ¨?é¡?ã??"
 
 #. Translators: this is for navigating in a document by heading.
 #. (e.g. <h1> is a heading at level 1).
 #.
-#: ../src/orca/structural_navigation.py:2526
+#: ../src/orca/structural_navigation.py:2657
 #, python-format
 msgid "Goes to previous heading at level %d."
 msgstr "移è?³å??ä¸?å??第 %d ç´?æ¨?é¡?ã??"
@@ -8278,26 +9117,26 @@ msgstr "移è?³å??ä¸?å??第 %d ç´?æ¨?é¡?ã??"
 #. Translators: this is for navigating in a document by heading.
 #. (e.g. <h1> is a heading at level 1).
 #.
-#: ../src/orca/structural_navigation.py:2533
+#: ../src/orca/structural_navigation.py:2664
 #, python-format
 msgid "Goes to next heading at level %d."
 msgstr "移è?³ä¸?ä¸?å??第 %d ç´?æ¨?é¡?ã??"
 
-#. Translators: this is for navigating HTML content by
-#. moving from heading to heading (e.g. <h1>, <h2>, etc).
-#. This string is what Orca will say if there are no more
+#. 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.
 #.
-#: ../src/orca/structural_navigation.py:2605
+#: ../src/orca/structural_navigation.py:2736
 msgid "No more headings."
 msgstr "æ²?æ??å?¶ä»?æ¨?é¡?ã??"
 
-#. 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
-#. what Orca will say if there are no more headings found.
+#. 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.
 #.
-#: ../src/orca/structural_navigation.py:2612
+#: ../src/orca/structural_navigation.py:2754
 #, python-format
 msgid "No more headings at level %d."
 msgstr "æ²?æ??å?¶ä»?第 %d ç´?æ¨?é¡?ã??"
@@ -8307,7 +9146,7 @@ msgstr "æ²?æ??å?¶ä»?第 %d ç´?æ¨?é¡?ã??"
 #. HTML tag attribute 'role' used to identify important part
 #. of webpage like banners, main context, search etc.
 #.
-#: ../src/orca/structural_navigation.py:2631
+#: ../src/orca/structural_navigation.py:2784
 msgid "Goes to previous landmark."
 msgstr "移è?³å??ä¸?å??å?°æ¨?ã??"
 
@@ -8316,7 +9155,7 @@ msgstr "移è?³å??ä¸?å??å?°æ¨?ã??"
 #. HTML tag attribute 'role' used to identify important part
 #. of webpage like banners, main context, search etc.
 #.
-#: ../src/orca/structural_navigation.py:2638
+#: ../src/orca/structural_navigation.py:2791
 msgid "Goes to next landmark."
 msgstr "移è?³ä¸?ä¸?å??å?°æ¨?ã??"
 
@@ -8326,247 +9165,248 @@ msgstr "移è?³ä¸?ä¸?å??å?°æ¨?ã??"
 #. of webpage like banners, main context, search etc.  This
 #. is an indication that one was not found.
 #.
-#: ../src/orca/structural_navigation.py:2712
+#: ../src/orca/structural_navigation.py:2864
 msgid "No landmark found."
 msgstr "No landmark found."
 
 #. Translators: this is for navigating among bulleted/numbered
 #. lists in a document.
 #.
-#: ../src/orca/structural_navigation.py:2729
+#: ../src/orca/structural_navigation.py:2892
 msgid "Goes to previous list."
 msgstr "移è?³å??ä¸?å??æ¸?å?®ã??"
 
 #. Translators: this is for navigating among bulleted/numbered
 #. lists in a document.
 #.
-#: ../src/orca/structural_navigation.py:2734
+#: ../src/orca/structural_navigation.py:2897
 msgid "Goes to next list."
 msgstr "移è?³ä¸?ä¸?å??æ¸?å?®ã??"
 
 #. Translators: this is for navigating document content by moving
 #. from bulleted/numbered list to bulleted/numbered list. This
-#. string is what Orca will say if there are no more lists found.
+#. string is the detailed message which Orca will present if there
+#. are no more lists found.
 #.
-#: ../src/orca/structural_navigation.py:2817
+#: ../src/orca/structural_navigation.py:2982
 msgid "No more lists."
 msgstr "æ²?æ??å?¶ä»?æ¸?å?®ã??"
 
 #. Translators: this is for navigating among bulleted/numbered list
 #. items in a document.
 #.
-#: ../src/orca/structural_navigation.py:2834
+#: ../src/orca/structural_navigation.py:3010
 msgid "Goes to previous list item."
 msgstr "移è?³å??ä¸?å??æ¸?å?®é ?ç?®ã??"
 
 #. Translators: this is for navigating among bulleted/numbered list
 #. items in a document.
 #.
-#: ../src/orca/structural_navigation.py:2839
+#: ../src/orca/structural_navigation.py:3015
 msgid "Goes to next list item."
 msgstr "移è?³ä¸?ä¸?å??æ¸?å?®é ?ç?®ã??"
 
 #. Translators: this is for navigating document content by
 #. moving from bulleted/numbered list item to  bulleted/
-#. numbered list item.  This string is what Orca will say
-#. if there are no more list items found.
+#. numbered list item.  This string is the detailed message
+#. which Orca will present if there are no more list items found.
 #.
-#: ../src/orca/structural_navigation.py:2902
+#: ../src/orca/structural_navigation.py:3078
 msgid "No more list items."
 msgstr "æ²?æ??å?¶ä»?æ¸?å?®é ?ç?®ã??"
 
 #. Translators: this is for navigating between live regions
 #.
-#: ../src/orca/structural_navigation.py:2918
+#: ../src/orca/structural_navigation.py:3105
 msgid "Goes to previous live region."
 msgstr "移è?³å??ä¸?å??å?³æ??æ?­å ±å??ã??"
 
 #. Translators: this is for navigating between live regions
 #.
-#: ../src/orca/structural_navigation.py:2922
+#: ../src/orca/structural_navigation.py:3109
 msgid "Goes to next live region."
 msgstr "移è?³ä¸?ä¸?å??å?³æ??æ?­å ±å??ã??"
 
 #. Translators: this is for navigating to the last live region
-#. to make an announcement.
+#. which made an announcement.
 #.
-#: ../src/orca/structural_navigation.py:2927
-msgid "Goes to last live region."
-msgstr "移è?³æ??å¾?ä¸?å??å?³æ??æ?­å ±å??ã??"
+#: ../src/orca/structural_navigation.py:3114
+msgid "Goes to the last live region which made an announcement."
+msgstr "ç?¼ä½?å?¬å??æ??移è?³å?³æ??æ?­å ±å??ã??"
 
 #. 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.
 #.
-#: ../src/orca/structural_navigation.py:2976
+#: ../src/orca/structural_navigation.py:3163
 msgid "No more live regions."
 msgstr "No more live regions."
 
 #. Translators: this is for navigating among paragraphs in a document.
 #.
-#: ../src/orca/structural_navigation.py:2992
+#: ../src/orca/structural_navigation.py:3190
 msgid "Goes to previous paragraph."
 msgstr "移è?³å??ä¸?段ã??"
 
 #. Translators: this is for navigating among paragraphs in a document.
 #.
-#: ../src/orca/structural_navigation.py:2996
+#: ../src/orca/structural_navigation.py:3194
 msgid "Goes to next paragraph."
 msgstr "移è?³ä¸?ä¸?段ã??"
 
-#. Translators: this is for navigating document content by
-#. moving from paragraph to paragraph. This string is what
-#. Orca will say if there are no more large objects found.
+#. 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.
 #.
-#: ../src/orca/structural_navigation.py:3056
+#: ../src/orca/structural_navigation.py:3254
 msgid "No more paragraphs."
 msgstr "æ²?æ??å?¶ä»?段è?½ã??"
 
 #. Translators: this is for navigating among radio buttons in a
 #. form within a document.
 #.
-#: ../src/orca/structural_navigation.py:3073
+#: ../src/orca/structural_navigation.py:3282
 msgid "Goes to previous radio button."
 msgstr "移è?³å??ä¸?å??å?®é?¸æ??é??ã??"
 
 #. Translators: this is for navigating among radio buttons in a
 #. form within a document.
 #.
-#: ../src/orca/structural_navigation.py:3078
+#: ../src/orca/structural_navigation.py:3287
 msgid "Goes to next radio button."
 msgstr "移è?³ä¸?ä¸?å??å?®é?¸æ??é??ã??"
 
-#. Translators: this is for navigating in document content
-#. by moving from radio button to radio button in a form.
-#. This string is what Orca will say if there are no more
+#. 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.
 #.
-#: ../src/orca/structural_navigation.py:3135
+#: ../src/orca/structural_navigation.py:3344
 msgid "No more radio buttons."
 msgstr "æ²?æ??å?¶ä»?å?®é?¸æ??é??ã??"
 
 #. Translators: this is for navigating among separators, such as the
 #. <hr> tag, in a document.
 #.
-#: ../src/orca/structural_navigation.py:3152
+#: ../src/orca/structural_navigation.py:3372
 msgid "Goes to previous separator."
 msgstr "移è?³å??ä¸?å??å??é??符ã??"
 
 #. Translators: this is for navigating among separators, such as the
 #. <hr> tag, in a document.
 #.
-#: ../src/orca/structural_navigation.py:3157
+#: ../src/orca/structural_navigation.py:3377
 msgid "Goes to next separator."
 msgstr "移è?³ä¸?ä¸?å??å??é??符ã??"
 
-#. Translators: this is for navigating document content by
-#. moving amongst separators (e.g. <hr> tags). This string
-#. is what Orca will say if there are no more separators
+#. 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.
 #.
-#: ../src/orca/structural_navigation.py:3205
+#: ../src/orca/structural_navigation.py:3425
 msgid "No more separators."
 msgstr "æ²?æ??å?¶ä»?å??é??符ã??"
 
 #. Translators: this is for navigating among tables in a document.
 #.
-#: ../src/orca/structural_navigation.py:3221
+#: ../src/orca/structural_navigation.py:3452
 msgid "Goes to previous table."
 msgstr "移è?³å??ä¸?å??å·¥ä½?表ã??"
 
 #. Translators: this is for navigating among tables in a document.
 #.
-#: ../src/orca/structural_navigation.py:3225
+#: ../src/orca/structural_navigation.py:3456
 msgid "Goes to next table."
 msgstr "移è?³ä¸?ä¸?å??å·¥ä½?表ã??"
 
 #. Translators: this is for navigating document content by moving
-#. from table to table.  This string is what Orca will say if there
-#. are no more tables found.
+#. from table to table.  This string is the detailed message which
+#. Orca will present if there are no more tables found.
 #.
-#: ../src/orca/structural_navigation.py:3284
+#: ../src/orca/structural_navigation.py:3515
 msgid "No more tables."
 msgstr "æ²?æ??å?¶ä»?ç??表格ã??"
 
 #. Translators: this is for navigating among table cells in a document.
 #.
-#: ../src/orca/structural_navigation.py:3300
+#: ../src/orca/structural_navigation.py:3542
 msgid "Goes left one cell."
 msgstr "移è?³å·¦é??ä¸?å??å?²å­?æ ¼ã??"
 
 #. Translators: this is for navigating among table cells in a document.
 #.
-#: ../src/orca/structural_navigation.py:3304
+#: ../src/orca/structural_navigation.py:3546
 msgid "Goes right one cell."
 msgstr "移è?³å?³é??ä¸?å??å?²å­?æ ¼ã??"
 
 #. Translators: this is for navigating among table cells in a document.
 #.
-#: ../src/orca/structural_navigation.py:3308
+#: ../src/orca/structural_navigation.py:3550
 msgid "Goes up one cell."
 msgstr "移è?³ä¸?é?¢ä¸?å??å?²å­?æ ¼ã??"
 
 #. Translators: this is for navigating among table cells in a document.
 #.
-#: ../src/orca/structural_navigation.py:3312
+#: ../src/orca/structural_navigation.py:3554
 msgid "Goes down one cell."
 msgstr "移è?³ä¸?é?¢ä¸?å??å?²å­?æ ¼ã??"
 
 #. Translators: this is for navigating among table cells in a document.
 #.
-#: ../src/orca/structural_navigation.py:3316
+#: ../src/orca/structural_navigation.py:3558
 msgid "Goes to the first cell in a table."
 msgstr "移è?³è¡¨æ ¼ä¸­ç??第ä¸?å??å?²å­?æ ¼ã??"
 
 #. Translators: this is for navigating among table cells in a document.
 #.
-#: ../src/orca/structural_navigation.py:3320
+#: ../src/orca/structural_navigation.py:3562
 msgid "Goes to the last cell in a table."
 msgstr "移è?³è¡¨æ ¼ä¸­ç??æ??å¾?ä¸?å??å?²å­?æ ¼ã??"
 
 #. Translators: this is for navigating among unvisited links in a
 #. document.
 #.
-#: ../src/orca/structural_navigation.py:3404
+#: ../src/orca/structural_navigation.py:3647
 msgid "Goes to previous unvisited link."
 msgstr "移è?³å??ä¸?å??æ?ªç??覽ç??é?£çµ?ã??"
 
 #. Translators: this is for navigating among unvisited links in a
 #. document.
 #.
-#: ../src/orca/structural_navigation.py:3409
+#: ../src/orca/structural_navigation.py:3652
 msgid "Goes to next unvisited link."
 msgstr "移è?³ä¸?ä¸?å??æ?ªç??覽é?£çµ?ã??"
 
-#. Translators: this is for navigating document content by
-#. moving from unvisited link to unvisited link. This string
-#. is what Orca will say if there are no more unvisited links
-#. found.
+#. 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.
 #.
-#: ../src/orca/structural_navigation.py:3472
+#: ../src/orca/structural_navigation.py:3715
 msgid "No more unvisited links."
 msgstr "No more unvisited links."
 
 #. Translators: this is for navigating among visited links in a
 #. document.
 #.
-#: ../src/orca/structural_navigation.py:3489
+#: ../src/orca/structural_navigation.py:3743
 msgid "Goes to previous visited link."
 msgstr "移è?³å??ä¸?å??ç??覽é??ç??é?£çµ?ã??"
 
 #. Translators: this is for navigating among visited links in a
 #. document.
 #.
-#: ../src/orca/structural_navigation.py:3494
+#: ../src/orca/structural_navigation.py:3748
 msgid "Goes to next visited link."
 msgstr "移è?³ä¸?ä¸?å??ç??覽é??ç??é?£çµ?ã??"
 
-#. Translators: this is for navigating document content by
-#. moving from visited link to visited link. This string is
-#. what Orca will say if there are no more visited links
-#. found.
+#. 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.
 #.
-#: ../src/orca/structural_navigation.py:3550
+#: ../src/orca/structural_navigation.py:3804
 msgid "No more visited links."
 msgstr "æ²?æ??å?¶ä»?å??訪é??ç??é?£çµ?ã??"
 
@@ -9111,7 +9951,7 @@ msgstr "æ??å­?"
 #, fuzzy
 msgctxt "textattr"
 msgid "word char"
-msgstr "�����%s"
+msgstr "æ?¼é?¯ç??å­?"
 
 #. Translators: this is one of the text attribute values for the following
 #. text attributes: "direction".
@@ -9431,10 +10271,9 @@ msgstr "ç¹¼æ?¿æ??é??(_I)"
 #. http://www.w3.org/TR/2001/WD-css3-text-20010517/#PrimaryTextAdvanceDirection
 #.
 #: ../src/orca/text_attribute_names.py:668
-#, fuzzy
 msgctxt "textattr"
 msgid "lr-tb"
-msgstr "%.1f TB"
+msgstr "lr-tb"
 
 #. Translators: this is one of the text attribute values for the following
 #. text attributes: "writing-mode".
@@ -9442,10 +10281,9 @@ msgstr "%.1f TB"
 #. http://www.w3.org/TR/2001/WD-css3-text-20010517/#PrimaryTextAdvanceDirection
 #.
 #: ../src/orca/text_attribute_names.py:675
-#, fuzzy
 msgctxt "textattr"
 msgid "rl-tb"
-msgstr "%.1f TB"
+msgstr "rl-tb"
 
 #. Translators: this is one of the text attribute values for the following
 #. text attributes: "writing-mode".
@@ -9453,10 +10291,9 @@ msgstr "%.1f TB"
 #. http://www.w3.org/TR/2001/WD-css3-text-20010517/#PrimaryTextAdvanceDirection
 #.
 #: ../src/orca/text_attribute_names.py:682
-#, fuzzy
 msgctxt "textattr"
 msgid "tb-rl"
-msgstr "Ct_rl"
+msgstr "tb-rl"
 
 #. Translators: this is one of the text attribute values for the following
 #. text attributes: "writing-mode".
@@ -9464,10 +10301,9 @@ msgstr "Ct_rl"
 #. http://www.w3.org/TR/2001/WD-css3-text-20010517/#PrimaryTextAdvanceDirection
 #.
 #: ../src/orca/text_attribute_names.py:689
-#, fuzzy
 msgctxt "textattr"
 msgid "tb-lr"
-msgstr "%.1f TB"
+msgstr "tb-lr"
 
 #. Translators: this is one of the text attribute values for the following
 #. text attributes: "writing-mode".
@@ -9475,10 +10311,9 @@ msgstr "%.1f TB"
 #. http://www.w3.org/TR/2001/WD-css3-text-20010517/#PrimaryTextAdvanceDirection
 #.
 #: ../src/orca/text_attribute_names.py:696
-#, fuzzy
 msgctxt "textattr"
 msgid "bt-rl"
-msgstr "Ct_rl"
+msgstr "bt-rl"
 
 #. Translators: this is one of the text attribute values for the following
 #. text attributes: "writing-mode".
@@ -9488,7 +10323,7 @@ msgstr "Ct_rl"
 #: ../src/orca/text_attribute_names.py:703
 msgctxt "textattr"
 msgid "bt-lr"
-msgstr ""
+msgstr "bt-lr"
 
 #. Translators: this is one of the text attribute values for the following
 #. text attributes: "writing-mode".
@@ -9498,7 +10333,7 @@ msgstr ""
 #: ../src/orca/text_attribute_names.py:710
 msgctxt "textattr"
 msgid "lr"
-msgstr ""
+msgstr "lr"
 
 #. Translators: this is one of the text attribute values for the following
 #. text attributes: "writing-mode".
@@ -9506,10 +10341,9 @@ msgstr ""
 #. http://www.w3.org/TR/2001/WD-css3-text-20010517/#PrimaryTextAdvanceDirection
 #.
 #: ../src/orca/text_attribute_names.py:717
-#, fuzzy
 msgctxt "textattr"
 msgid "rl"
-msgstr "Ct_rl"
+msgstr "rl"
 
 #. Translators: this is one of the text attribute values for the following
 #. text attributes: "writing-mode".
@@ -9517,10 +10351,9 @@ msgstr "Ct_rl"
 #. http://www.w3.org/TR/2001/WD-css3-text-20010517/#PrimaryTextAdvanceDirection
 #.
 #: ../src/orca/text_attribute_names.py:724
-#, fuzzy
 msgctxt "textattr"
 msgid "tb"
-msgstr "TB"
+msgstr "tb"
 
 #. Translators: this is one of the text attribute values for the following
 #. text attributes: "strikethrough." It refers to the line style.
@@ -9640,27 +10473,3 @@ msgid ""
 "To decrease press left arrow, to increase press right arrow. To go to "
 "minimum press home, and for maximum press end."
 msgstr "è¦?æ¸?å°?æ??å·¦æ?¹å??é?µï¼?å¢?å? æ??å?³æ?¹å??é?µã??è¦?å°?æ?? home æ??é?µï¼?å¤?æ?? end æ??é?µã??"
-
-#~ msgid "Restrict progress bar updates to:"
-#~ msgstr "é??å?¶é?²åº¦å??ç??æ?´æ?°ç?ºï¼?"
-
-#~ msgid "<b>Color Settings</b>"
-#~ msgstr "<b>�彩設�</b>"
-
-#~ msgid "<b>Contracted Braille</b>"
-#~ msgstr "<b>縮����</b>"
-
-#~ msgid "Key Binding List"
-#~ msgstr "æ??é?µçµ?å??æ¸?å?®"
-
-#~ msgid "Speak current ro_w"
-#~ msgstr "è®?å?ºç?®å??ç??å??(_W)"
-
-#~ msgid "every"
-#~ msgstr "�"
-
-#~ msgid "seconds"
-#~ msgstr "�"
-
-#~ msgid "Invalid choice. Selecting desktop keyboard layout.\n"
-#~ msgstr "ç?¡æ??ç??é?¸æ??ã??æ­£é?¸æ??æ¡?é?¢é?µç?¤é??ç½®ã??\n"
diff --git a/po/zh_TW.po b/po/zh_TW.po
index b869333..e7efc54 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -5,10 +5,10 @@
 # Chao-Hsiung Liao <j_h_liau yahoo com tw>, 2009.
 msgid ""
 msgstr ""
-"Project-Id-Version: Orca 2.30.pre\n"
+"Project-Id-Version: Orca 2.31.91pre\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-03-27 21:11+0800\n"
-"PO-Revision-Date: 2010-03-27 17:38+0800\n"
+"POT-Creation-Date: 2010-08-24 19:48+0800\n"
+"PO-Revision-Date: 2010-08-24 16:36+0800\n"
 "Last-Translator: Chao-Hsiung Liao <j_h_liau yahoo com tw>\n"
 "Language-Team: Traditional Chinese\n"
 "MIME-Version: 1.0\n"
@@ -16,11 +16,11 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Language: zh_TW\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Virtaal 0.5.0\n"
 
 #: ../orca.desktop.in.h:1 ../src/orca/app_gui_prefs.py:210
 #: ../src/orca/keybindings.py:157 ../src/orca/orca_gui_main.py:141
-#: ../src/orca/orca_gui_prefs.py:2281 ../src/orca/orca_gui_prefs.py:2386
+#: ../src/orca/orca_gui_prefs.py:2410 ../src/orca/orca_gui_prefs.py:2515
+#: ../src/orca/orca-splash.ui.h:1
 msgid "Orca"
 msgstr "Orca"
 
@@ -45,7 +45,7 @@ msgstr "Orca ç?? %s å??好設å®?"
 #. Translators: this refers to commands that do not currently have
 #. an associated key binding.
 #.
-#: ../src/orca/app_gui_prefs.py:215 ../src/orca/orca_gui_prefs.py:2392
+#: ../src/orca/app_gui_prefs.py:215 ../src/orca/orca_gui_prefs.py:2521
 msgid "Unbound"
 msgstr "�繫�"
 
@@ -79,44 +79,41 @@ msgstr "輸å?¥ç??æ?¸ç±¤"
 msgid "bookmark is current object"
 msgstr "æ?¸ç±¤æ?¯ç?®å??ç??ç?©ä»¶"
 
-#. Translators: this announces that the current object's parent and
-#. the parent of the object pointed to by the bookmark are the same.
-#.
-#: ../src/orca/bookmarks.py:110
-#: ../src/orca/scripts/toolkits/Gecko/bookmarks.py:114
+#: ../src/orca/bookmarks.py:111
+#: ../src/orca/scripts/toolkits/Gecko/bookmarks.py:115
 msgid "bookmark and current object have same parent"
 msgstr "æ?¸ç±¤å??ç?®å??ç??ç?©ä»¶æ??ç?¸å??ç??ç?¶é ?"
 
 #. Translators: this announces that the bookmark and the current
 #. object share a common ancestor
 #.
-#: ../src/orca/bookmarks.py:127
-#: ../src/orca/scripts/toolkits/Gecko/bookmarks.py:131
+#: ../src/orca/bookmarks.py:128
+#: ../src/orca/scripts/toolkits/Gecko/bookmarks.py:133
 #, fuzzy, python-format
 msgid "shared ancestor %s"
-msgstr "<b>å?±äº«è³?æ??夾</b>"
+msgstr "�享��庫"
 
 #. Translators: This announces that a comparison between the bookmark
 #. and the current object can not be determined.
 #.
-#: ../src/orca/bookmarks.py:134
-#: ../src/orca/scripts/toolkits/Gecko/bookmarks.py:138
+#: ../src/orca/bookmarks.py:135
+#: ../src/orca/scripts/toolkits/Gecko/bookmarks.py:140
 msgid "comparison unknown"
 msgstr "æ¯?è¼?çµ?æ??ä¸?æ??"
 
 #. Translators: this announces that a bookmark has been saved to
 #. disk
 #.
-#: ../src/orca/bookmarks.py:143
-#: ../src/orca/scripts/toolkits/Gecko/bookmarks.py:153
+#: ../src/orca/bookmarks.py:144
+#: ../src/orca/scripts/toolkits/Gecko/bookmarks.py:155
 msgid "bookmarks saved"
 msgstr "�籤已��"
 
 #. Translators: this announces that a bookmark could not be saved to
 #. disk
 #.
-#: ../src/orca/bookmarks.py:148
-#: ../src/orca/scripts/toolkits/Gecko/bookmarks.py:158
+#: ../src/orca/bookmarks.py:149
+#: ../src/orca/scripts/toolkits/Gecko/bookmarks.py:160
 msgid "bookmarks could not be saved"
 msgstr "�籤��被��"
 
@@ -124,7 +121,7 @@ msgstr "�籤��被��"
 #. alert and dialog windows plus the total number of
 #. windows that this application has.
 #.
-#: ../src/orca/braille_generator.py:166
+#: ../src/orca/braille_generator.py:167
 #, python-format
 msgid "(%d dialog)"
 msgid_plural "(%d dialogs)"
@@ -358,10 +355,107 @@ msgstr "義大å?©æ??(第ä¸?ç´?)"
 msgid "Belgium Dutch Grade 1"
 msgstr "æ¯?å?©æ??è?·è?­æ??(第ä¸?ç´?)"
 
+#: ../src/orca/chat.py:334
+msgid ""
+"Toggle whether we prefix chat room messages with the name of the chat room."
+msgstr "å??æ??æ?¯å?¦å°?è??天室ç??å??稱å? å?¥è??天室ç??è¨?æ?¯å??ã??"
+
+#: ../src/orca/chat.py:340
+msgid "Toggle whether we announce when our buddies are typing."
+msgstr "å??æ??ç?¶æ??å??ç??æ??å??å?¨è¼¸å?¥æ??æ?¯å?¦å??ç?¥æ??å??ã??"
+
+#: ../src/orca/chat.py:345
+msgid "Toggle whether we provide chat room specific message histories."
+msgstr "å??æ??æ?¯å?¦æ??ä¾?æ??å®?è??天室ç??ç??è¨?æ?¯æ­·å?²ç´?é??ã??"
+
+#: ../src/orca/chat.py:353
+msgid "Speak and braille a previous chat room message."
+msgstr "è®?å?ºå??é»?å?ºä¸?ä¸?å??è??天室ç??è¨?æ?¯ã??"
+
+#. Translators: If this checkbox is checked, then Orca will speak
+#. the name of the chat room.
+#.
+#: ../src/orca/chat.py:411
+msgid "_Speak Chat Room name"
+msgstr "è®?å?ºè??天室å??稱(_S)"
+
+#. Translators: If this checkbox is checked, then Orca will tell
+#. you when one of your buddies is typing a message.
+#.
+#: ../src/orca/chat.py:421
+msgid "Announce when your _buddies are typing"
+msgstr "ç?¶æ?¨ç??æ??å??å?¨è¼¸å?¥æ??å??ç?¥(_B)"
+
+#. Translators: If this checkbox is checked, then Orca will provide
+#. the user with chat room specific message histories rather than just
+#. a single history which contains the latest messages from all the
+#. chat rooms that they are currently in.
+#.
+#: ../src/orca/chat.py:433
+msgid "Provide chat room specific _message histories"
+msgstr "æ??ä¾?æ??å®?è??天室ç??è¨?æ?¯æ­·å?²ç´?é??(_M)"
+
+#. Translators: Orca will speak all new chat messages as they appear
+#. irrespective of whether the chat application currently has focus.
+#. This is the default behaviour.
+#.
+#: ../src/orca/chat.py:460
+msgid "All cha_nnels"
+msgstr "æ??æ??é »é??(_N)"
+
+#. Translators: Orca will speak only new chat messages for the channel
+#. that currently has focus, irrespective of whether the chat
+#. application has focus.
+#.
+#: ../src/orca/chat.py:473
+msgid "A channel only if its _window is active"
+msgstr "å?ªæ??使ç?¨ä¸­è¦?çª?ç??é »é??(_W)"
+
+#: ../src/orca/chat.py:486
+#, python-format
+msgid "All channels when an_y %s window is active"
+msgstr "ç?¶ä»»ä½? %s è¦?çª?å?¨ä½¿ç?¨ä¸­ç??æ??æ??é »é??(_Y)"
+
+#. Translators: this is the title of a panel holding options for
+#. how messages in this application's chat rooms should be spoken.
+#.
+#: ../src/orca/chat.py:498
+msgid "Speak messages from"
+msgstr "�����"
+
+#: ../src/orca/chat.py:560
+msgid "speak chat room name."
+msgstr "è®?å?ºè??天室å??稱ã??"
+
+#: ../src/orca/chat.py:563
+msgid "Do not speak chat room name."
+msgstr "ä¸?è¦?è®?å?ºè??天室å??稱ã??"
+
+#: ../src/orca/chat.py:576
+msgid "announce when your buddies are typing."
+msgstr "ç?¶æ?¨ç??æ??å??å?¨è¼¸å?¥æ??å??ç?¥ã??"
+
+#: ../src/orca/chat.py:579
+msgid "Do not announce when your buddies are typing."
+msgstr "ç?¶æ?¨ç??æ??å??å?¨è¼¸å?¥æ??ä¸?è¦?å??ç?¥ã??"
+
+#: ../src/orca/chat.py:592
+msgid "Provide chat room specific message histories."
+msgstr "æ??ä¾?æ??å®?è??天室ç??è¨?æ?¯æ­·å?²ç´?é??ã??"
+
+#: ../src/orca/chat.py:595
+msgid "Do not provide chat room specific message histories."
+msgstr "ä¸?è¦?æ??ä¾?æ??å®?è??天室ç??è¨?æ?¯æ­·å?²ç´?é??ã??"
+
+#: ../src/orca/chat.py:655
+#, python-format
+msgid "Message from chat room %s"
+msgstr "ä¾?è?ªè??天室 %s ç??è¨?æ?¯ "
+
 #. Translators: this is the spoken word for the space character
 #.
-#: ../src/orca/chnames.py:39 ../src/orca/default.py:7463
-#: ../src/orca/default.py:7470 ../src/orca/keynames.py:133
+#: ../src/orca/chnames.py:39 ../src/orca/keynames.py:133
+#: ../src/orca/script_utilities.py:2709 ../src/orca/script_utilities.py:2716
 msgid "space"
 msgstr "空�"
 
@@ -1194,9 +1288,8 @@ msgstr "å?³å?®å¼?è??"
 #. Translators: this is the spoken word for the character 'â??' (U+201a)
 #.
 #: ../src/orca/chnames.py:586
-#, fuzzy
 msgid "single low quote"
-msgstr "å·¦å?®å¼?è??"
+msgstr "ä¸?å?®å¼?è??"
 
 #. Translators: this is the spoken word for the character 'â??' (U+201c)
 #.
@@ -1213,9 +1306,8 @@ msgstr "å?³é??å¼?è??"
 #. Translators: this is the spoken word for the character 'â??' (U+201e)
 #.
 #: ../src/orca/chnames.py:598
-#, fuzzy
 msgid "double low quote"
-msgstr "å·¦é??å¼?è??"
+msgstr "ä¸?é??å¼?è??"
 
 #. Translators: this is the spoken word for the character 'â? ' (U+2020)
 #.
@@ -1338,7 +1430,7 @@ msgstr "ç?¡é??大"
 #. as a bullet which looks like the black square: â?  (U+25A0).  Therefore,
 #. please use the same translation for this character.
 #.
-#: ../src/orca/chnames.py:679 ../src/orca/chnames.py:742
+#: ../src/orca/chnames.py:679 ../src/orca/chnames.py:854
 msgid "black square"
 msgstr "實���"
 
@@ -1356,7 +1448,7 @@ msgstr "空���"
 #. as a bullet which looks like the black diamond: â?? (U+25C6).  Therefore,
 #. please use the same translation for this character.
 #.
-#: ../src/orca/chnames.py:689 ../src/orca/chnames.py:748
+#: ../src/orca/chnames.py:689 ../src/orca/chnames.py:860
 msgid "black diamond"
 msgstr "實��形"
 
@@ -1414,19 +1506,191 @@ msgstr "xå??é ?ç?®ç¬¦è??"
 msgid "right-pointing arrow"
 msgstr "�箭頭"
 
+#. Translators: this is the spoken word for the character 'â?°' (U+2070)
+#.
+#: ../src/orca/chnames.py:733
+msgid "superscript 0"
+msgstr "�� 0"
+
+#. Translators: this is the spoken word for the character 'â?´' (U+2074)
+#.
+#: ../src/orca/chnames.py:737
+msgid "superscript 4"
+msgstr "�� 4"
+
+#. Translators: this is the spoken word for the character 'â?µ' (U+2075)
+#.
+#: ../src/orca/chnames.py:741
+msgid "superscript 5"
+msgstr "�� 5"
+
+#. Translators: this is the spoken word for the character 'â?¶' (U+2076)
+#.
+#: ../src/orca/chnames.py:745
+msgid "superscript 6"
+msgstr "�� 6"
+
+#. Translators: this is the spoken word for the character 'â?·' (U+2077)
+#.
+#: ../src/orca/chnames.py:749
+msgid "superscript 7"
+msgstr "�� 7"
+
+#. Translators: this is the spoken word for the character 'â?¸' (U+2078)
+#.
+#: ../src/orca/chnames.py:753
+msgid "superscript 8"
+msgstr "�� 8"
+
+#. Translators: this is the spoken word for the character 'â?¹' (U+2079)
+#.
+#: ../src/orca/chnames.py:757
+msgid "superscript 9"
+msgstr "�� 9"
+
+#. Translators: this is the spoken word for the character 'â?º' (U+207a)
+#.
+#: ../src/orca/chnames.py:761
+msgid "superscript plus"
+msgstr "ä¸?æ¨?å? è??"
+
+#. Translators: this is the spoken word for the character 'â?»' (U+207b)
+#.
+#: ../src/orca/chnames.py:765
+msgid "superscript minus"
+msgstr "ä¸?æ¨?æ¸?è??"
+
+#. Translators: this is the spoken word for the character 'â?¼' (U+207c)
+#.
+#: ../src/orca/chnames.py:769
+msgid "superscript equals"
+msgstr "ä¸?æ¨?ç­?è??"
+
+#. Translators: this is the spoken word for the character 'â?½' (U+207d)
+#.
+#: ../src/orca/chnames.py:773
+#, fuzzy
+msgid "superscript left paren"
+msgstr "左��"
+
+#. Translators: this is the spoken word for the character 'â?¾' (U+207e)
+#.
+#: ../src/orca/chnames.py:777
+#, fuzzy
+msgid "superscript right paren"
+msgstr "顯示å?³é??ç??"
+
+#. Translators: this is the spoken word for the character 'â?¿' (U+207f)
+#.
+#: ../src/orca/chnames.py:781
+msgid "superscript n"
+msgstr "�� n"
+
+#. Translators: this is the spoken word for the character 'â??' (U+2080)
+#.
+#: ../src/orca/chnames.py:785
+msgid "subscript 0"
+msgstr "�� 0"
+
+#. Translators: this is the spoken word for the character 'â??' (U+2081)
+#.
+#: ../src/orca/chnames.py:789
+msgid "subscript 1"
+msgstr "�� 1"
+
+#. Translators: this is the spoken word for the character 'â??' (U+2082)
+#.
+#: ../src/orca/chnames.py:793
+msgid "subscript 2"
+msgstr "�� 2"
+
+#. Translators: this is the spoken word for the character 'â??' (U+2083)
+#.
+#: ../src/orca/chnames.py:797
+msgid "subscript 3"
+msgstr "�� 3"
+
+#. Translators: this is the spoken word for the character 'â??' (U+2084)
+#.
+#: ../src/orca/chnames.py:801
+msgid "subscript 4"
+msgstr "�� 4"
+
+#. Translators: this is the spoken word for the character 'â??' (U+2085)
+#.
+#: ../src/orca/chnames.py:805
+msgid "subscript 5"
+msgstr "�� 5"
+
+#. Translators: this is the spoken word for the character 'â??' (U+2086)
+#.
+#: ../src/orca/chnames.py:809
+msgid "subscript 6"
+msgstr "�� 6"
+
+#. Translators: this is the spoken word for the character 'â??' (U+2087)
+#.
+#: ../src/orca/chnames.py:813
+msgid "subscript 7"
+msgstr "�� 7"
+
+#. Translators: this is the spoken word for the character 'â??' (U+2088)
+#.
+#: ../src/orca/chnames.py:817
+msgid "subscript 8"
+msgstr "�� 8"
+
+#. Translators: this is the spoken word for the character 'â??' (U+2089)
+#.
+#: ../src/orca/chnames.py:821
+msgid "subscript 9"
+msgstr "�� 9"
+
+#. Translators: this is the spoken word for the character 'â??' (U+208a)
+#.
+#: ../src/orca/chnames.py:825
+msgid "subscript plus"
+msgstr "ä¸?æ¨?å? è??"
+
+#. Translators: this is the spoken word for the character 'â??' (U+208b)
+#.
+#: ../src/orca/chnames.py:829
+msgid "subscript minus"
+msgstr "ä¸?æ¨?æ¸?è??"
+
+#. Translators: this is the spoken word for the character 'â??' (U+208c)
+#.
+#: ../src/orca/chnames.py:833
+msgid "subscript equals"
+msgstr "ä¸?æ¨?ç­?è??"
+
+#. Translators: this is the spoken word for the character 'â??' (U+208d)
+#.
+#: ../src/orca/chnames.py:837
+#, fuzzy
+msgid "subscript left paren"
+msgstr "左��"
+
+#. Translators: this is the spoken word for the character 'â??' (U+208e)
+#.
+#: ../src/orca/chnames.py:841
+#, fuzzy
+msgid "subscript right paren"
+msgstr "顯示å?³é??ç??"
+
 #. Translators: this is the spoken word for the character 'â?¢' (U+27a2)
 #. This symbol is included here because it can be used as a bullet in an
 #. OOo list. The goal is to inform the user of the appearance of the bullet
 #. without too much verbiage, hence simply "right-pointing arrowhead".
 #.
-#: ../src/orca/chnames.py:736
+#: ../src/orca/chnames.py:848
 msgid "right-pointing arrowhead"
 msgstr "right-pointing arrowhead"
 
 #. Translators: this command will move the mouse pointer
 #. to the current item without clicking on it.
 #.
-#: ../src/orca/default.py:154
+#: ../src/orca/default.py:152
 msgid "Routes the pointer to the current item."
 msgstr "å°?æ??æ¨?è½?å??ç?®å??ç??é ?ç?®ã??"
 
@@ -1440,7 +1704,7 @@ msgstr "å°?æ??æ¨?è½?å??ç?®å??ç??é ?ç?®ã??"
 #. {line,word,character}.  A left click means to generate
 #. a left mouse button click on the current item.
 #.
-#: ../src/orca/default.py:169
+#: ../src/orca/default.py:167
 msgid "Performs left click on current flat review item."
 msgstr "å?¨ç?®å??ç?? flat review é ?ç?®ä¸­æ??ä¸?å·¦é?µ"
 
@@ -1454,7 +1718,7 @@ msgstr "å?¨ç?®å??ç?? flat review é ?ç?®ä¸­æ??ä¸?å·¦é?µ"
 #. {line,word,character}.  A right click means to generate
 #. a right mouse button click on the current item.
 #.
-#: ../src/orca/default.py:184
+#: ../src/orca/default.py:182
 msgid "Performs right click on current flat review item."
 msgstr "å?¨ç?®å??ç?? flat review é ?ç?®ä¸­æ??ä¸?å?³é?µ"
 
@@ -1466,9 +1730,9 @@ msgstr "å?¨ç?®å??ç?? flat review é ?ç?®ä¸­æ??ä¸?å?³é?µ"
 #. be positioned at the point where the speech was
 #. interrupted.
 #.
-#: ../src/orca/default.py:197 ../src/orca/scripts/apps/acroread.py:114
-#: ../src/orca/scripts/apps/evolution/script.py:153
-#: ../src/orca/scripts/toolkits/Gecko/script.py:536
+#: ../src/orca/default.py:195 ../src/orca/scripts/apps/acroread/script.py:114
+#: ../src/orca/scripts/apps/evolution/script.py:159
+#: ../src/orca/scripts/toolkits/Gecko/script.py:544
 msgid "Speaks entire document."
 msgstr "è®?å?ºæ?´å??æ??件ã??"
 
@@ -1479,7 +1743,7 @@ msgstr "è®?å?ºæ?´å??æ??件ã??"
 #. name of the current pushbutton with focus as well as
 #. its mnemonic.
 #.
-#: ../src/orca/default.py:209
+#: ../src/orca/default.py:207
 msgid "Performs the basic where am I operation."
 msgstr "é?²è¡?å?ºæ?¬ç??ã??æ??å?¨å?ªè£¡ã??æ??ä½?ã??"
 
@@ -1490,21 +1754,21 @@ msgstr "é?²è¡?å?ºæ?¬ç??ã??æ??å?¨å?ªè£¡ã??æ??ä½?ã??"
 #. name of the current pushbutton with focus as well as
 #. its mnemonic.
 #.
-#: ../src/orca/default.py:221
+#: ../src/orca/default.py:219
 msgid "Performs the detailed where am I operation."
 msgstr "é?²è¡?詳細ç??ã??æ??å?¨å?ªè£¡ã??æ??ä½?ã??"
 
 #. Translators: This command will cause the window's
 #. title to be spoken.
 #.
-#: ../src/orca/default.py:234
+#: ../src/orca/default.py:232
 msgid "Speaks the title bar."
 msgstr "è®?å?ºæ¨?é¡?å??ã??"
 
 #. Translators: This command will cause the window's
 #. status bar contents to be spoken.
 #.
-#: ../src/orca/default.py:247
+#: ../src/orca/default.py:245
 msgid "Speaks the status bar."
 msgstr "è®?å?ºç??æ??å??ã??"
 
@@ -1513,7 +1777,7 @@ msgstr "è®?å?ºç??æ??å??ã??"
 #. that text.  For example, they may want to find the
 #. "OK" button.
 #.
-#: ../src/orca/default.py:257
+#: ../src/orca/default.py:255
 msgid "Opens the Orca Find dialog."
 msgstr "é??å?? Orca å°?æ?¾å°?話è¦?çª?ã??"
 
@@ -1523,7 +1787,7 @@ msgstr "é??å?? Orca å°?æ?¾å°?話è¦?çª?ã??"
 #. "OK" button.  This string is used for finding the
 #. next occurence of a string.
 #.
-#: ../src/orca/default.py:268
+#: ../src/orca/default.py:266
 msgid "Searches for the next instance of a string."
 msgstr "æ??å°?ä¸?ä¸?å??ç?¸å??ç??å­?串ã??"
 
@@ -1533,7 +1797,7 @@ msgstr "æ??å°?ä¸?ä¸?å??ç?¸å??ç??å­?串ã??"
 #. "OK" button.  This string is used for finding the
 #. previous occurence of a string.
 #.
-#: ../src/orca/default.py:279
+#: ../src/orca/default.py:277
 msgid "Searches for the previous instance of a string."
 msgstr "æ??å°?ä¸?ä¸?å??ç?¸å??ç??å­?串ã??"
 
@@ -1543,7 +1807,7 @@ msgstr "æ??å°?ä¸?ä¸?å??ç?¸å??ç??å­?串ã??"
 #. zones in the active window for the application that
 #. currently has focus.
 #.
-#: ../src/orca/default.py:290
+#: ../src/orca/default.py:288
 msgid "Paints and prints the visible zones in the active window."
 msgstr "å?¨ä½¿ç?¨ç??è¦?çª?中繪ç?«å??å?°å?ºå?¯è¦?å??å??ã??"
 
@@ -1556,7 +1820,7 @@ msgstr "å?¨ä½¿ç?¨ç??è¦?çª?中繪ç?«å??å?°å?ºå?¯è¦?å??å??ã??"
 #. the user to explore this text by the {previous,next}
 #. {line,word,character}.
 #.
-#: ../src/orca/default.py:304
+#: ../src/orca/default.py:302
 msgid "Enters and exits flat review mode."
 msgstr "é?²å?¥å??é?¢é?? flat review 模å¼?ã??"
 
@@ -1569,7 +1833,7 @@ msgstr "é?²å?¥å??é?¢é?? flat review 模å¼?ã??"
 #. the user to explore this text by the {previous,next}
 #. {line,word,character}.
 #.
-#: ../src/orca/default.py:318
+#: ../src/orca/default.py:316
 msgid "Moves flat review to the beginning of the previous line."
 msgstr "å°? flat review 移è?³ä¸?ä¸?è¡?ç??è¡?é¦?ã??"
 
@@ -1583,7 +1847,7 @@ msgstr "å°? flat review 移è?³ä¸?ä¸?è¡?ç??è¡?é¦?ã??"
 #. {line,word,character}.  The home position is the
 #. beginning of the content in the window.
 #.
-#: ../src/orca/default.py:333
+#: ../src/orca/default.py:331
 msgid "Moves flat review to the home position."
 msgstr "å°? flat review 移è?³å®¶ä½?ç½®ã??"
 
@@ -1597,7 +1861,7 @@ msgstr "å°? flat review 移è?³å®¶ä½?ç½®ã??"
 #. {line,word,character}.  This particular command will
 #. cause Orca to speak the current line.
 #.
-#: ../src/orca/default.py:348
+#: ../src/orca/default.py:346
 msgid "Speaks the current flat review line."
 msgstr "è®?å?ºç?®å??ç?? flat review è¡?ã??"
 
@@ -1611,7 +1875,7 @@ msgstr "è®?å?ºç?®å??ç?? flat review è¡?ã??"
 #. {line,word,character}. This particular command will
 #. cause Orca to spell the current line.
 #.
-#: ../src/orca/default.py:363
+#: ../src/orca/default.py:361
 msgid "Spells the current flat review line."
 msgstr "æ?¼å?ºç?®å??ç?? flat review è¡?ã??"
 
@@ -1626,7 +1890,7 @@ msgstr "æ?¼å?ºç?®å??ç?? flat review è¡?ã??"
 #. cause Orca to "phonetically spell" the current line,
 #. saying "Alpha" for "a", "Bravo" for "b" and so on.
 #.
-#: ../src/orca/default.py:379
+#: ../src/orca/default.py:377
 msgid "Phonetically spells the current flat review line."
 msgstr "æ?¼å?ºç?®å??ç?? flat review æ??å­?è¡?ã??"
 
@@ -1639,7 +1903,7 @@ msgstr "æ?¼å?ºç?®å??ç?? flat review æ??å­?è¡?ã??"
 #. the user to explore this text by the {previous,next}
 #. {line,word,character}.
 #.
-#: ../src/orca/default.py:393
+#: ../src/orca/default.py:391
 msgid "Moves flat review to the beginning of the next line."
 msgstr "å°? flat review 移è?³ä¸?ä¸?è¡?ç??è¡?é¦?ã??"
 
@@ -1653,7 +1917,7 @@ msgstr "å°? flat review 移è?³ä¸?ä¸?è¡?ç??è¡?é¦?ã??"
 #. {line,word,character}.  The end position is the last
 #. bit of information in the window.
 #.
-#: ../src/orca/default.py:408
+#: ../src/orca/default.py:406
 msgid "Moves flat review to the end position."
 msgstr "å°? flat review 移è?³æ??å°¾ä½?ç½®ã??"
 
@@ -1668,7 +1932,7 @@ msgstr "å°? flat review 移è?³æ??å°¾ä½?ç½®ã??"
 #. in the window until you reach the top (i.e., it will
 #. wrap across lines if necessary).
 #.
-#: ../src/orca/default.py:424
+#: ../src/orca/default.py:422
 msgid "Moves flat review to the previous item or word."
 msgstr "å°? flat review 移è?³ä¸?ä¸?å??å­?å??æ??å­?è©?ã??"
 
@@ -1683,7 +1947,7 @@ msgstr "å°? flat review 移è?³ä¸?ä¸?å??å­?å??æ??å­?è©?ã??"
 #. geographically above, as if you drew a vertical line
 #. in the window.
 #.
-#: ../src/orca/default.py:440
+#: ../src/orca/default.py:438
 msgid "Moves flat review to the word above the current word."
 msgstr "å°? flat review 移è?³ç?®å??å­?è©?ä¹?ä¸?ã??"
 
@@ -1697,7 +1961,7 @@ msgstr "å°? flat review 移è?³ç?®å??å­?è©?ä¹?ä¸?ã??"
 #. {line,word,character}.  This command will speak the
 #. current word or item.
 #.
-#: ../src/orca/default.py:455
+#: ../src/orca/default.py:453
 msgid "Speaks the current flat review item or word."
 msgstr "è®?å?ºç?®å??ç?? flat review é ?ç?®æ??å­?è©?ã??"
 
@@ -1711,7 +1975,7 @@ msgstr "è®?å?ºç?®å??ç?? flat review é ?ç?®æ??å­?è©?ã??"
 #. {line,word,character}.  This command will spell out
 #. the current word or item letter by letter.
 #.
-#: ../src/orca/default.py:470
+#: ../src/orca/default.py:468
 msgid "Spells the current flat review item or word."
 msgstr "æ?¼å?ºç?®å??ç?? flat review é ?ç?®æ??å­?è©?ã??"
 
@@ -1726,7 +1990,7 @@ msgstr "æ?¼å?ºç?®å??ç?? flat review é ?ç?®æ??å­?è©?ã??"
 #. the current word or item phonetically, saying "Alpha"
 #. for "a", "Bravo" for "b" and so on.
 #.
-#: ../src/orca/default.py:486
+#: ../src/orca/default.py:484
 msgid "Phonetically spells the current flat review item or word."
 msgstr "æ?¼å?ºç?®å??ç?? flat review é ?ç?®æ??å­?è©?ã??"
 
@@ -1742,7 +2006,7 @@ msgstr "æ?¼å?ºç?®å??ç?? flat review é ?ç?®æ??å­?è©?ã??"
 #. some other GUI widget.  The 'speaks' means it will
 #. speak the text associated with the object.
 #.
-#: ../src/orca/default.py:503
+#: ../src/orca/default.py:501
 msgid "Speaks the current flat review object."
 msgstr "è®?å?ºç?®å??ç?? flat review ç?©ä»¶ã??"
 
@@ -1757,7 +2021,7 @@ msgstr "è®?å?ºç?®å??ç?? flat review ç?©ä»¶ã??"
 #. in the window until you reach the end (i.e., it will
 #. wrap across lines if necessary).
 #.
-#: ../src/orca/default.py:519
+#: ../src/orca/default.py:517
 msgid "Moves flat review to the next item or word."
 msgstr "å°? flat review 移è?³ä¸?ä¸?å??é ?ç?®æ??å­?è©?ã??"
 
@@ -1772,7 +2036,7 @@ msgstr "å°? flat review 移è?³ä¸?ä¸?å??é ?ç?®æ??å­?è©?ã??"
 #. geographically below, as if you drew a vertical line
 #. downward on the screen.
 #.
-#: ../src/orca/default.py:535
+#: ../src/orca/default.py:533
 msgid "Moves flat review to the word below the current word."
 msgstr "å°? flat review 移è?³ç?®å??å­?è©?ä¹?ä¸?ã??"
 
@@ -1787,7 +2051,7 @@ msgstr "å°? flat review 移è?³ç?®å??å­?è©?ä¹?ä¸?ã??"
 #. in the window until you reach the top (i.e., it will
 #. wrap across lines if necessary).
 #.
-#: ../src/orca/default.py:551
+#: ../src/orca/default.py:549
 msgid "Moves flat review to the previous character."
 msgstr "å°? flat review 移è?³ä¸?ä¸?å??å­?å??ã??"
 
@@ -1800,7 +2064,7 @@ msgstr "å°? flat review 移è?³ä¸?ä¸?å??å­?å??ã??"
 #. the user to explore this text by the {previous,next}
 #. {line,word,character}.
 #.
-#: ../src/orca/default.py:565
+#: ../src/orca/default.py:563
 msgid "Moves flat review to the end of the line."
 msgstr "å°? flat review 移è?³è¡?å°¾ã??"
 
@@ -1817,7 +2081,7 @@ msgstr "å°? flat review 移è?³è¡?å°¾ã??"
 #. this case will be the spoken language form of the
 #. character currently being reviewed.
 #.
-#: ../src/orca/default.py:583
+#: ../src/orca/default.py:581
 msgid "Speaks the current flat review character."
 msgstr "è®?å?ºç?®å??ç?? flat review å­?å??ã??"
 
@@ -1835,7 +2099,7 @@ msgstr "è®?å?ºç?®å??ç?? flat review å­?å??ã??"
 #. character currently being reviewed, saying "Alpha"
 #. for "a", "Bravo" for "b" and so on.
 #.
-#: ../src/orca/default.py:602
+#: ../src/orca/default.py:600
 msgid "Phonetically speaks the current flat review character."
 msgstr "è®?å?ºç?®å??ç?? flat review å­?å??ã??"
 
@@ -1852,11 +2116,9 @@ msgstr "è®?å?ºç?®å??ç?? flat review å­?å??ã??"
 #. cause Orca to speak information about the current character
 #. Like its unicode value and other relevant information
 #.
-#: ../src/orca/default.py:620
-#, fuzzy
-#| msgid "Speaks the current flat review character."
+#: ../src/orca/default.py:618
 msgid "Speaks unicode value of the current flat review character."
-msgstr "è®?å?ºç?®å??ç?? flat review å­?å??ã??"
+msgstr "è®?å?ºç?®å??ç?? flat review å­?å??ç?? unicode æ?¸å?¼ã??"
 
 #. Translators: the 'flat review' feature of Orca
 #. allows the blind user to explore the text in a
@@ -1869,7 +2131,7 @@ msgstr "è®?å?ºç?®å??ç?? flat review å­?å??ã??"
 #. in the window until you reach the end (i.e., it will
 #. wrap across lines if necessary).
 #.
-#: ../src/orca/default.py:637
+#: ../src/orca/default.py:635
 msgid "Moves flat review to the next character."
 msgstr "å°? flat review 移è?³ä¸?ä¸?å??å­?å??ã??"
 
@@ -1877,7 +2139,7 @@ msgstr "å°? flat review 移è?³ä¸?ä¸?å??å­?å??ã??"
 #. sometimes want the entire row of a table read, or
 #. they just want the current cell to be presented to them.
 #.
-#: ../src/orca/default.py:646
+#: ../src/orca/default.py:644
 msgid "Toggles whether to read just the current table cell or the whole row."
 msgstr "å??æ??æ??å?¦é?±è®?ç?®å??ç??表格æ??æ?´å??ã??"
 
@@ -1885,7 +2147,7 @@ msgstr "å??æ??æ??å?¦é?±è®?ç?®å??ç??表格æ??æ?´å??ã??"
 #. text attributes, such as bold, italic, font name,
 #. font size, etc.
 #.
-#: ../src/orca/default.py:656
+#: ../src/orca/default.py:654
 msgid "Reads the attributes associated with the current text character."
 msgstr "é?±è®?ç?®å??å­?å??ç?¸é??ç??屬æ?§ã??"
 
@@ -1895,7 +2157,7 @@ msgstr "é?±è®?ç?®å??å­?å??ç?¸é??ç??屬æ?§ã??"
 #. via speech and braille. This information will be
 #. helpful to script writers.
 #.
-#: ../src/orca/default.py:668
+#: ../src/orca/default.py:666
 msgid "Reports information on current script."
 msgstr "å ±å??ç?®å?? script ç??è³?è¨?ã??"
 
@@ -1908,7 +2170,7 @@ msgstr "å ±å??ç?®å?? script ç??è³?è¨?ã??"
 #. braille display so they can pan left and right over
 #. this line.
 #.
-#: ../src/orca/default.py:682 ../src/orca/scripts/toolkits/Gecko/script.py:550
+#: ../src/orca/default.py:680 ../src/orca/scripts/toolkits/Gecko/script.py:558
 msgid "Pans the braille display to the left."
 msgstr "é»?å­?顯示å??左移ã??"
 
@@ -1921,7 +2183,7 @@ msgstr "é»?å­?顯示å??左移ã??"
 #. braille display so they can pan left and right over
 #. this line.
 #.
-#: ../src/orca/default.py:697 ../src/orca/scripts/toolkits/Gecko/script.py:565
+#: ../src/orca/default.py:695 ../src/orca/scripts/toolkits/Gecko/script.py:573
 msgid "Pans the braille display to the right."
 msgstr "é»?å­?顯示å??å?³ç§»ã??"
 
@@ -1935,7 +2197,7 @@ msgstr "é»?å­?顯示å??å?³ç§»ã??"
 #. {line,word,character}.  The bottom left is the bottom
 #. left of the window currently being reviewed.
 #.
-#: ../src/orca/default.py:713
+#: ../src/orca/default.py:711
 msgid "Moves flat review to the bottom left."
 msgstr "å°? flat review 移è?³å·¦ä¸?ã??"
 
@@ -1952,7 +2214,7 @@ msgstr "å°? flat review 移è?³å·¦ä¸?ã??"
 #. feature used here will return the flat review to the
 #. object with focus.
 #.
-#: ../src/orca/default.py:731
+#: ../src/orca/default.py:729
 msgid "Returns to object with keyboard focus."
 msgstr "å??å?°æ??é?µç?¤ç?¦é»?ç??ç?©ä»¶"
 
@@ -1962,7 +2224,7 @@ msgstr "å??å?°æ??é?µç?¤ç?¦é»?ç??ç?©ä»¶"
 #. feature used here is an option to toggle between
 #. contracted and uncontracted.
 #.
-#: ../src/orca/default.py:742
+#: ../src/orca/default.py:740
 msgid "Turns contracted braille on and off."
 msgstr "é??å??å??é??é??縮ç?­å¼?é»?å­?ã??"
 
@@ -1972,21 +2234,21 @@ msgstr "é??å??å??é??é??縮ç?­å¼?é»?å­?ã??"
 #. tell the machine they are interested in a particular
 #. character on the display.
 #.
-#: ../src/orca/default.py:753
+#: ../src/orca/default.py:751
 msgid "Processes a cursor routing key."
 msgstr ""
 
 #. Translators: this is used to indicate the start point
 #. of a text selection.
 #.
-#: ../src/orca/default.py:761
+#: ../src/orca/default.py:759
 msgid "Marks the beginning of a text selection."
 msgstr "æ¨?è¨?æ??å­?é?¸æ??å??å??ç??é??é ­ã??"
 
 #. Translators: this is used to indicate the end point
 #. of a text selection.
 #.
-#: ../src/orca/default.py:769
+#: ../src/orca/default.py:767
 msgid "Marks the end of a text selection."
 msgstr "æ¨?è¨?æ??å­?é?¸æ??å??å??ç??çµ?å°¾ã??"
 
@@ -1997,21 +2259,33 @@ msgstr "æ¨?è¨?æ??å­?é?¸æ??å??å??ç??çµ?å°¾ã??"
 #. particular key combination, or they might just be to
 #. echo the name of the key if Orca doesn't have a handler.
 #.
-#: ../src/orca/default.py:781
+#: ../src/orca/default.py:779
 msgid "Enters learn mode.  Press escape to exit learn mode."
 msgstr "é?²å?¥å­¸ç¿?模å¼?ã??  æ??é?¢é??é?µé?¢é??å­¸ç¿?模å¼?ã??"
 
+#. Translators: Orca has a "List Shortcuts Mode" that will allow
+#. the user to list a group of keyboard shortcuts. The Orca
+#. default shortcuts can be listed by pressing 1, and Orca
+#. shortcuts for the application under focus can be listed by
+#. pressing 2. User can press Up/ Down to navigate and hear
+#. the list, changeover to another list by pressing 1/2,
+#. and exit the "List Shortcuts Mode" by pressing Escape.
+#.
+#: ../src/orca/default.py:792
+msgid "Enters list shortcuts mode.  Press escape to exit list shortcuts mode."
+msgstr "é?²å?¥å??å?ºæ?·å¾?é?µæ¨¡å¼?ã??  æ?? escape é?¢é??æ?·å¾?é?µæ¨¡å¼?ã??"
+
 #. Translators: the speech rate is how fast the speech
 #. synthesis engine will generate speech.
 #.
-#: ../src/orca/default.py:789
+#: ../src/orca/default.py:802
 msgid "Decreases the speech rate."
 msgstr "æ¸?æ?¢æ??è®?é??度ã??"
 
 #. Translators: the speech rate is how fast the speech
 #. synthesis engine will generate speech.
 #.
-#: ../src/orca/default.py:797
+#: ../src/orca/default.py:810
 msgid "Increases the speech rate."
 msgstr "å? å¿«æ??è®?é??度ã??"
 
@@ -2019,7 +2293,7 @@ msgstr "å? å¿«æ??è®?é??度ã??"
 #. pitch/frequency the speech synthesis engine will
 #. generate speech.
 #.
-#: ../src/orca/default.py:806
+#: ../src/orca/default.py:819
 msgid "Decreases the speech pitch."
 msgstr "æ¸?ä½?æ??è®?é?³èª¿ã??"
 
@@ -2027,11 +2301,11 @@ msgstr "æ¸?ä½?æ??è®?é?³èª¿ã??"
 #. pitch/frequency the speech synthesis engine will
 #. generate speech.
 #.
-#: ../src/orca/default.py:815
+#: ../src/orca/default.py:828
 msgid "Increases the speech pitch."
 msgstr "å? é«?æ??è®?é?³èª¿ã??"
 
-#: ../src/orca/default.py:820
+#: ../src/orca/default.py:833
 msgid "Quits Orca"
 msgstr "é?¢é?? Orca"
 
@@ -2039,7 +2313,7 @@ msgstr "é?¢é?? Orca"
 #. the dialog that allows users to set their preferences
 #. for Orca.
 #.
-#: ../src/orca/default.py:829
+#: ../src/orca/default.py:842
 msgid "Displays the preferences configuration dialog."
 msgstr "顯示å??好設å®?å°?話è¦?çª?ã??"
 
@@ -2047,23 +2321,55 @@ msgstr "顯示å??好設å®?å°?話è¦?çª?ã??"
 #. dialog is the dialog that allows users to set their
 #. preferences for a specific application within Orca.
 #.
-#: ../src/orca/default.py:838
+#: ../src/orca/default.py:851
 msgid "Displays the application preferences configuration dialog."
 msgstr "顯示å??好設å®?å°?話ç??ã??"
 
 #. Translators: Orca allows the user to turn speech synthesis
 #. on or off.  We call it 'silencing'.
 #.
-#: ../src/orca/default.py:846
+#: ../src/orca/default.py:859
 msgid "Toggles the silencing of speech."
 msgstr "å??æ??ç?ºé??é?³ã??"
 
+#. Translators: Orca allows the user to enable/disable
+#. the speaking of indentation and justification.
+#.
+#: ../src/orca/default.py:868
+msgid "Toggles the speaking of indentation and justification."
+msgstr "å??æ??æ?¯å?¦è®?å?ºç¸®æ??å??å°?é½?ã??"
+
+#. Translators: Orca allows users to cycle through
+#. punctuation levels.
+#. None, some, most, or all, punctuation will be spoken.
+#.
+#: ../src/orca/default.py:877
+msgid "Cycles to the next speaking of punctuation level."
+msgstr "循ç?°è?³ä¸?ä¸?å??æ¨?é?³ç¬¦è??ç­?ç´?ã??"
+
+#. 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.
+#. The following string refers to a command that allows the
+#. user to quickly choose which type of echo is being used.
+#.
+#: ../src/orca/default.py:895
+msgid "Cycles to the next key echo level."
+msgstr "循ç?°è?³ä¸?ä¸?å??æ??é?µå??é?¿ç­?ç´?ã??"
+
 #. Translators: this is a debug message that Orca users
 #. will not normally see. It describes a debug routine
 #. that prints a list of all known applications currently
 #. running on the desktop, to stdout.
 #.
-#: ../src/orca/default.py:856
+#: ../src/orca/default.py:905
 msgid ""
 "Prints a debug listing of all known applications to the console where Orca "
 "is running."
@@ -2074,7 +2380,7 @@ msgstr "ç?¶ Orca æ­£å?¨é??è¡?æ??ï¼?å??å?°æ??æ??å·²ç?¥ç¨?å¼?ç??å?µé?¯è³?è¨?æ¸?å?®
 #. that allows the user to adjust the level of debug
 #. information that Orca generates at run time.
 #.
-#: ../src/orca/default.py:867
+#: ../src/orca/default.py:916
 msgid "Cycles the debug level at run time."
 msgstr "å?¨å?·è¡?æ??å??å?ºå?µé?¯ç´?å?¥ã??"
 
@@ -2086,7 +2392,7 @@ msgstr "å?¨å?·è¡?æ??å??å?ºå?µé?¯ç´?å?¥ã??"
 #. the components that are its descendants in the component
 #. tree).
 #.
-#: ../src/orca/default.py:880
+#: ../src/orca/default.py:929
 msgid "Prints debug information about the ancestry of the object with focus."
 msgstr "顯示å??å¾?ç?¦é»?ç?©ä»¶ç??è??絡ç??å?µé?¯è³?è¨?ã??"
 
@@ -2097,7 +2403,7 @@ msgstr "顯示å??å¾?ç?¦é»?ç?©ä»¶ç??è??絡ç??å?µé?¯è³?è¨?ã??"
 #. component hierarchy (i.e. all the components and all
 #. their descendants in the component tree).
 #.
-#: ../src/orca/default.py:893
+#: ../src/orca/default.py:942
 msgid "Prints debug information about the application with focus."
 msgstr "顯示å??å¾?ç?¦é»?ç??ç¨?å¼?ç??å?µé?¯è³?è¨?ã??"
 
@@ -2105,7 +2411,7 @@ msgstr "顯示å??å¾?ç?¦é»?ç??ç¨?å¼?ç??å?µé?¯è³?è¨?ã??"
 #. will not normally see. It describes a debug routine
 #. that will print Orca memory usage information.
 #.
-#: ../src/orca/default.py:902
+#: ../src/orca/default.py:951
 msgid "Prints memory usage information."
 msgstr "顯示è¨?æ?¶é«?使ç?¨è³?è¨?ã??"
 
@@ -2113,35 +2419,35 @@ msgstr "顯示è¨?æ?¶é«?使ç?¨è³?è¨?ã??"
 #. the relationship of the given bookmark to the current
 #. position
 #.
-#: ../src/orca/default.py:911
+#: ../src/orca/default.py:960
 msgid "Bookmark where am I with respect to current position."
 msgstr "æ??å?ºæ??ç?®å??ä½?ç½®å?°æ?¸ç±¤ç??ç?¸å°?é??ä¿?"
 
 #. Translators: this command moves the current position to the
 #. location stored at the bookmark.
 #.
-#: ../src/orca/default.py:919
+#: ../src/orca/default.py:968
 msgid "Go to bookmark."
 msgstr "移è?³æ?¸ç±¤ã??"
 
 #. Translators: this event handler binds an in-page accessible
 #. object location to the given input key command.
 #.
-#: ../src/orca/default.py:927
+#: ../src/orca/default.py:976
 msgid "Add bookmark."
 msgstr "å? å?¥æ?¸ç±¤ã??"
 
 #. Translators: this event handler saves all bookmarks for the
 #. current application to disk.
 #.
-#: ../src/orca/default.py:935
+#: ../src/orca/default.py:984
 msgid "Save bookmarks."
 msgstr "å?²å­?æ?¸ç±¤ã??"
 
 #. Translators: this event handler cycles through the registered
 #. bookmarks and takes the user to the next bookmark location.
 #.
-#: ../src/orca/default.py:943
+#: ../src/orca/default.py:992
 msgid "Go to next bookmark location."
 msgstr "移è?³ä¸?ä¸?å??æ?¸ç±¤ä½?ç½®ã??"
 
@@ -2149,7 +2455,7 @@ msgstr "移è?³ä¸?ä¸?å??æ?¸ç±¤ä½?ç½®ã??"
 #. registered bookmarks and takes the user to the previous
 #. bookmark location.
 #.
-#: ../src/orca/default.py:952
+#: ../src/orca/default.py:1001
 msgid "Go to previous bookmark location."
 msgstr "移è?³ä¸?ä¸?å??æ?¸ç±¤ä½?ç½®ã??"
 
@@ -2158,7 +2464,7 @@ msgstr "移è?³ä¸?ä¸?å??æ?¸ç±¤ä½?ç½®ã??"
 #. to see, such as inverting the colors or applying a tint.
 #. This command toggles these enhancements on/off.
 #.
-#: ../src/orca/default.py:962
+#: ../src/orca/default.py:1011
 msgid "Toggles color enhancements."
 msgstr "å??æ??é¡?è?²å¼·å??ã??"
 
@@ -2168,21 +2474,21 @@ msgstr "å??æ??é¡?è?²å¼·å??ã??"
 #. color, and surrounding it with crosshairs.  This command
 #. toggles these enhancements on/off.
 #.
-#: ../src/orca/default.py:973
+#: ../src/orca/default.py:1022
 msgid "Toggles mouse enhancements."
 msgstr "å??æ??æ»?é¼ å¼·å??ã??"
 
 #. Translators: this command increases the magnification
 #. level.
 #.
-#: ../src/orca/default.py:981
+#: ../src/orca/default.py:1030
 msgid "Increases the magnification level."
 msgstr "å¢?å? æ?¾å¤§å??ç??ã??"
 
 #. Translators: this command decreases the magnification
 #. level.
 #.
-#: ../src/orca/default.py:989
+#: ../src/orca/default.py:1038
 msgid "Decreases the magnification level."
 msgstr "æ¸?å°?æ?¾å¤§å??ç??ã??"
 
@@ -2191,7 +2497,7 @@ msgstr "æ¸?å°?æ?¾å¤§å??ç??ã??"
 #. but also all of the color and pointer customizations
 #. made through the magnifier.
 #.
-#: ../src/orca/default.py:999
+#: ../src/orca/default.py:1048
 msgid "Toggles the magnifier."
 msgstr "å??æ??æ?¾å¤§é?¡ã??"
 
@@ -2200,17 +2506,33 @@ msgstr "å??æ??æ?¾å¤§é?¡ã??"
 #. screen.  The "position" here refers to location of the
 #. magnifier.
 #.
-#: ../src/orca/default.py:1009
+#: ../src/orca/default.py:1058
 msgid "Cycles to the next magnifier position."
 msgstr "循ç?°è?³ä¸?ä¸?å??æ?¾å¤§é?¡ä½?ç½®ã??"
 
 #. Translators: Orca allows the item under the pointer to
 #. be spoken. This toggles the feature.
 #.
-#: ../src/orca/default.py:1017
+#: ../src/orca/default.py:1066
 msgid "Toggle mouse review mode."
 msgstr "å??æ??æ»?é¼ é ?覽模å¼?ã??"
 
+#. Translators: Orca can present the current time to the
+#. user when the user presses
+#. a shortcut key.
+#.
+#: ../src/orca/default.py:1075
+msgid "Present current time."
+msgstr "表示ç?®å??ç??æ??å?»ã??"
+
+#. Translators: Orca can present the current date to the
+#. user when the user presses
+#. a shortcut key.
+#.
+#: ../src/orca/default.py:1084
+msgid "Present current date."
+msgstr "表示ç?®å??ç??æ?¥æ??ã??"
+
 #. Translators: Orca normally intercepts all keyboard
 #. commands and only passes them along to the current
 #. application when they are not Orca commands.  This
@@ -2218,27 +2540,117 @@ msgstr "å??æ??æ»?é¼ é ?覽模å¼?ã??"
 #. along to the current application, bypassing Orca's
 #. interception of it.
 #.
-#: ../src/orca/default.py:1029
+#: ../src/orca/default.py:1096
 msgid "Passes the next command on to the current application."
 msgstr "å?³é??ã??ä¸?ä¸?æ­¥ã??æ??令給ç?®å??ç??æ??ç?¨ç¨?å¼?"
 
-#. Translators: this is the number of space characters on a line
-#. of text.
+#. 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.
 #.
-#: ../src/orca/default.py:2344
-#, python-format
-msgid "%d space"
-msgid_plural "%d spaces"
-msgstr[0] "%d å??空格"
+#: ../src/orca/default.py:1552
+msgid "Bypass mode enabled."
+msgstr "å·²å??ç?¨ç?¥é??å??è?½ã??"
 
-#. Translators: this is the number of tab characters on a line
-#. of text.
+#. 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.
 #.
-#: ../src/orca/default.py:2355
-#, python-format
-msgid "%d tab"
-msgid_plural "%d tabs"
-msgstr[0] "%d å?? tab"
+#: ../src/orca/default.py:1575
+msgid ""
+"Entering learn mode.  Press any key to hear its function.  To exit learn "
+"mode, press the escape key."
+msgstr "é?²å?¥å­¸ç¿?模å¼?ã?? æ??ä»»ä½?é?µä¾?è?½å®?ç??å??è?½ã??è¦?é?¢é??å­¸ç¿?模å¼?ï¼?è«?æ?? escape é?µã??"
+
+#. 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.
+#.
+#: ../src/orca/default.py:1587
+msgid "Learn mode.  Press escape to exit."
+msgstr "å­¸ç¿?模å¼?ã?? æ??é?¢é??é?µé?¢é??ã??"
+
+#. 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.
+#.
+#: ../src/orca/default.py:1609
+msgid "List shortcuts mode."
+msgstr "å??å?ºæ?·å¾?é?µæ¨¡å¼?ã??"
+
+#. 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.
+#.
+#: ../src/orca/default.py:1619 ../src/orca/orca.py:1443
+msgid ""
+"Press 1 for Orca's default shortcuts. Press 2 for Orca's shortcuts for the "
+"current application. Press escape to exit."
+msgstr ""
+"æ??ä¸? 1 æ?¯ Orca ç??é ?設æ?·å¾?é?µã??æ??ä¸? 2 æ?¯ Orca å?¨ç?®å??æ??ç?¨ç¨?å¼?ç??æ?·å¾?é?µã??æ??ä¸? "
+"escape å??æ??çµ?æ??ã??"
+
+#. 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.
+#.
+#. 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.
+#.
+#. 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.
+#.
+#: ../src/orca/default.py:1906 ../src/orca/default.py:2049
+#: ../src/orca/default.py:2069
+msgid "Could not find current location."
+msgstr "æ?¾ä¸?å?°ç?®å??ç??ä½?ç½®ã??"
+
+#. 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.
+#.
+#: ../src/orca/default.py:1912 ../src/orca/default.py:2075
+msgctxt "location"
+msgid "Not found"
+msgstr "���"
+
+#. Translators: this indicates that this piece of
+#. text is a hypertext link.
+#.
+#. Translators: spoken words for the rolename of a link.
+#.
+#. Translators: this indicates that this piece of
+#. text is a hypertext link.
+#.
+#: ../src/orca/default.py:2021 ../src/orca/rolenames.py:600
+#: ../src/orca/script_utilities.py:2409
+#: ../src/orca/scripts/apps/soffice/script.py:1147
+#: ../src/orca/speech_generator.py:959
+msgid "link"
+msgstr "��"
 
 #. Translators: "blank" is a short word to mean the
 #. user has navigated to an empty line.
@@ -2257,30 +2669,394 @@ msgstr[0] "%d å?? tab"
 #. Translators: "blank" is a short word to mean the
 #. user has navigated to an empty line.
 #.
-#: ../src/orca/default.py:2574 ../src/orca/default.py:5379
-#: ../src/orca/default.py:5535 ../src/orca/default.py:5543
-#: ../src/orca/default.py:5664 ../src/orca/default.py:5672
-#: ../src/orca/scripts/apps/evolution/script.py:708
-#: ../src/orca/scripts/apps/soffice/script.py:1415
-#: ../src/orca/scripts/apps/soffice/speech_generator.py:360
-#: ../src/orca/scripts/apps/soffice/speech_generator.py:469
+#: ../src/orca/default.py:2120 ../src/orca/default.py:2128
+#: ../src/orca/default.py:2249 ../src/orca/default.py:2257
+#: ../src/orca/default.py:2393 ../src/orca/default.py:4467
+#: ../src/orca/default.py:4477
+#: ../src/orca/scripts/apps/evolution/script.py:1140
+#: ../src/orca/scripts/apps/soffice/script.py:1267
+#: ../src/orca/scripts/apps/soffice/speech_generator.py:429
+#: ../src/orca/scripts/apps/soffice/speech_generator.py:542
 #: ../src/orca/scripts/apps/soffice/structural_navigation.py:116
-#: ../src/orca/scripts/toolkits/Gecko/script.py:5882
-#: ../src/orca/settings.py:1296 ../src/orca/speech_generator.py:473
-#: ../src/orca/speech_generator.py:779
-#: ../src/orca/structural_navigation.py:3375
+#: ../src/orca/scripts/toolkits/Gecko/script.py:5352
+#: ../src/orca/settings.py:1372 ../src/orca/speech_generator.py:671
+#: ../src/orca/speech_generator.py:1023
+#: ../src/orca/structural_navigation.py:3618
 msgid "blank"
 msgstr "空�"
 
-#. Translators: this is an index value
-#. so that we can tell which progress bar
-#. we are referring to.
+#. Translators: "white space" is a short phrase to mean the
+#. user has navigated to a line with only whitespace on it.
 #.
-#: ../src/orca/default.py:2917
-#, python-format
-msgid "Progress bar %d."
-msgstr "é?²åº¦å??%dã??"
+#: ../src/orca/default.py:2133 ../src/orca/default.py:2398
+msgid "white space"
+msgstr "空ç?½ç©ºé??"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2585
+msgid "Leaving flat review."
+msgstr "é?¢é?? 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.  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.
+#.
+#: ../src/orca/default.py:2602
+msgid "Entering flat review."
+msgstr "é?²å?¥ flat reviewã??"
+
+#. Translators: This is a detailed message indicating that
+#. indentation and justification will be spoken.
+#.
+#: ../src/orca/default.py:2619
+msgid "Speaking of indentation and justification enabled."
+msgstr "å·²å??ç?¨è®?å?ºç¸®æ??å??å°?é½?ã??"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2624
+msgctxt "indentation and justification"
+msgid "Enabled"
+msgstr "å·²å??ç?¨"
+
+#. Translators: This is a detailed message indicating that
+#. indentation and justification will not be spoken.
+#.
+#: ../src/orca/default.py:2629
+msgid "Speaking of indentation and justification disabled."
+msgstr "å·²å??ç?¨è®?å?ºç¸®æ??å??å°?é½?ã??"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2634
+msgctxt "indentation and justification"
+msgid "Disabled"
+msgstr "å·²å??ç?¨"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2651
+msgid "Punctuation level set to some."
+msgstr "æ¨?é?³ç¬¦è??ç­?ç´?設ç?ºä¸?äº?ã??"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2657
+msgctxt "spoken punctuation"
+msgid "Some"
+msgstr "��"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2665
+msgid "Punctuation level set to most."
+msgstr "æ¨?é?³ç¬¦è??ç­?ç´?設ç?ºæ??å¤?ã??"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2671
+msgctxt "spoken punctuation"
+msgid "Most"
+msgstr "æ??å¤?"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2679
+msgid "Punctuation level set to all."
+msgstr "å°?æ¨?é?³ç¬¦è??ç­?ç´?ç?ºå?¨é?¨ã??"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2685
+msgctxt "spoken punctuation"
+msgid "All"
+msgstr "��"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2694
+msgid "Punctuation level set to none."
+msgstr "æ¨?é?³ç¬¦è??ç­?ç´?設ç?ºæ²?æ??ã??"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2700
+msgctxt "spoken punctuation"
+msgid "None"
+msgstr "æ²?æ??"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2729
+msgid "Key echo set to key."
+msgstr "æ??é?µå??é?¿è¨­å®?ç?ºæ??é?µã??"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2744
+msgctxt "key echo"
+msgid "key"
+msgstr "æ??é?µ"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2762
+msgid "Key echo set to word."
+msgstr "æ??é?µå??é?¿è¨­å®?ç?ºå­?è©?ã??"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2777
+msgctxt "key echo"
+msgid "word"
+msgstr "å­?è©?"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2795
+msgid "Key echo set to sentence."
+msgstr "æ??é?µå??é?¿è¨­å®?ç?ºæ®µè?½ã??"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2810
+msgctxt "key echo"
+msgid "sentence"
+msgstr "段�"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2828
+msgid "Key echo set to key and word."
+msgstr "æ??é?µå??é?¿è¨­å®?ç?ºæ??é?µå??å­?è©?ã??"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2843
+msgctxt "key echo"
+msgid "key and word"
+msgstr "æ??é?µå??å­?è©?"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2861
+msgid "Key echo set to word and sentence."
+msgstr "æ??é?µå??é?¿è¨­å®?ç?ºå­?è©?å??段è?½ã??"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2876
+msgctxt "key echo"
+msgid "word and sentence"
+msgstr "å­?è©?å??段è?½"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2894
+msgid "Key echo set to None."
+msgstr "æ??é?µå??é?¿è¨­å®?ç?ºæ²?æ??ã??"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2909
+msgctxt "key echo"
+msgid "None"
+msgstr "æ²?æ??"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2928
+msgid "Speak row"
+msgstr "è®?å?ºæ?´å??"
+
+#. 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.
+#.
+#: ../src/orca/default.py:2934
+msgid "Speak cell"
+msgstr "����格"
 
+#. Translators: when the user selects (highlights) text in
+#. a document, Orca lets them know this.
+#.
 #. Translators: this object is now selected.
 #. Let the user know this.
 #.
@@ -2288,9 +3064,9 @@ msgstr "é?²åº¦å??%dã??"
 #. Translators: when the user selects (highlights) text in
 #. a document, Orca lets them know this.
 #.
-#: ../src/orca/default.py:3974 ../src/orca/default.py:4403
-#: ../src/orca/default.py:8124 ../src/orca/speech_generator.py:863
-#: ../src/orca/speech_generator.py:887
+#: ../src/orca/default.py:3187 ../src/orca/default.py:3320
+#: ../src/orca/default.py:5306 ../src/orca/speech_generator.py:1119
+#: ../src/orca/speech_generator.py:1148
 msgctxt "text"
 msgid "selected"
 msgstr "å·²é?¸å??"
@@ -2303,7 +3079,7 @@ msgstr "å·²é?¸å??"
 #. (unhighlights) text in a document, Orca lets
 #. them know this.
 #.
-#: ../src/orca/default.py:3980 ../src/orca/default.py:8130
+#: ../src/orca/default.py:3326 ../src/orca/default.py:5312
 msgctxt "text"
 msgid "unselected"
 msgstr "å??æ¶?é?¸å??"
@@ -2312,29 +3088,22 @@ msgstr "å??æ¶?é?¸å??"
 #. of the red squiggly line which indicates that a given
 #. word is not spelled correctly.
 #.
-#: ../src/orca/default.py:4148 ../src/orca/default.py:8451
+#: ../src/orca/default.py:3417 ../src/orca/default.py:5366
 msgid "misspelled"
 msgstr "��"
 
-#. 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.
-#.
-#: ../src/orca/default.py:4460
-msgid "Speak row"
-msgstr "è®?å?ºæ?´å??"
-
-#. 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.
+#. Translators: this is an index value
+#. so that we can tell which progress bar
+#. we are referring to.
 #.
-#: ../src/orca/default.py:4466
-msgid "Speak cell"
-msgstr "����格"
+#: ../src/orca/default.py:4315
+#, python-format
+msgid "Progress bar %d."
+msgstr "é?²åº¦å??%dã??"
 
 #. Translators: bold as in the font sense.
 #.
-#: ../src/orca/default.py:4554 ../src/orca/speech_generator.py:696
+#: ../src/orca/default.py:4351 ../src/orca/speech_generator.py:939
 msgid "bold"
 msgstr "ç²?é«?"
 
@@ -2345,106 +3114,19 @@ msgstr "ç²?é«?"
 #. application, so we leave things in plural form
 #. here.
 #.
-#: ../src/orca/default.py:4571 ../src/orca/default.py:4583
+#: ../src/orca/default.py:4368 ../src/orca/default.py:4380
 #, python-format
 msgid "%(key)s %(value)s pixel"
 msgid_plural "%(key)s %(value)s pixels"
 msgstr[0] "%(key)s %(value)s å??ç´ "
 
-#. Translators: this indicates that this piece of
-#. text is a hypertext link.
-#.
-#. Translators: spoken words for the rolename of a link.
-#.
-#. Translators: this indicates that this piece of
-#. text is a hypertext link.
-#.
-#: ../src/orca/default.py:4667 ../src/orca/default.py:6847
-#: ../src/orca/rolenames.py:600
-#: ../src/orca/scripts/apps/soffice/script.py:1296
-#: ../src/orca/speech_generator.py:716
-msgid "link"
-msgstr "��"
-
-#. 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.
-#.
-#: ../src/orca/default.py:4780
-msgid "Bypass mode enabled."
-msgstr "å·²å??ç?¨ç?¥é??å??è?½ã??"
-
-#. 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.
-#.
-#: ../src/orca/default.py:4803
-msgid ""
-"Entering learn mode.  Press any key to hear its function.  To exit learn "
-"mode, press the escape key."
-msgstr "é?²å?¥å­¸ç¿?模å¼?ã?? æ??ä»»ä½?é?µä¾?è?½å®?ç??å??è?½ã??è¦?é?¢é??å­¸ç¿?模å¼?ï¼?è«?æ?? escape é?µã??"
-
-#. 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.
-#.
-#: ../src/orca/default.py:4815
-msgid "Learn mode.  Press escape to exit."
-msgstr "å­¸ç¿?模å¼?ã?? æ??é?¢é??é?µé?¢é??ã??"
-
-#: ../src/orca/default.py:4986
-msgid "Leaving flat review."
-msgstr "é?¢é?? flat reviewã??"
-
-#: ../src/orca/default.py:5004
-msgid "Entering flat review."
-msgstr "é?²å?¥ flat reviewã??"
-
-#. 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.
-#.
-#: ../src/orca/default.py:5286 ../src/orca/default.py:5307
-#: ../src/orca/default.py:5327
-msgid "Could not find current location."
-msgstr "æ?¾ä¸?å?°ç?®å??ç??ä½?ç½®ã??"
-
-#. Translators: "white space" is a short phrase to mean the
-#. user has navigated to a line with only whitespace on it.
-#.
-#: ../src/orca/default.py:5384 ../src/orca/default.py:5548
-msgid "white space"
-msgstr "空ç?½ç©ºé??"
-
-#. Translators: this is information about a unicode character
-#. reported to the user.  The value is the unicode number value
-#. of this character in hex.
-#.
-#: ../src/orca/default.py:5699
-#, python-format
-msgid "Unicode %s"
-msgstr "è?¬å??碼 %s"
-
 #. 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.
 #.
-#: ../src/orca/default.py:5825
+#: ../src/orca/default.py:4758
 msgid "string not found"
 msgstr "����串"
 
@@ -2453,44 +3135,33 @@ msgstr "����串"
 #. thing it does is let them know what the misspelled word
 #. is.
 #.
-#: ../src/orca/default.py:6653
+#: ../src/orca/default.py:4830
 #, python-format
 msgid "Misspelled word: %s"
 msgstr "�����%s"
 
-#: ../src/orca/default.py:6661
+#: ../src/orca/default.py:4838
 #, python-format
 msgid "Context is %s"
 msgstr "å?§æ??æ?¯ %s"
 
-#. Translators: Orca will tell you how many characters
-#. are repeated on a line of text.  For example: "22
-#. space characters".  The %d is the number and the %s
-#. is the spoken word for the character.
-#.
-#: ../src/orca/default.py:6799
-#, python-format
-msgid "%(count)d %(repeatChar)s character"
-msgid_plural "%(count)d %(repeatChar)s characters"
-msgstr[0] "%(count)d å?? %(repeatChar)s å­?å??"
-
 #. Translators: when the user selects (highlights) text in
 #. a document, Orca will speak information about what they
 #. have selected.
 #.
-#: ../src/orca/default.py:7921
+#: ../src/orca/default.py:5105
 msgid "paragraph selected down from cursor position"
 msgstr "å¾?游æ¨?ä½?ç½®é??å§?å??ä¸?é?¸å??段è?½"
 
-#: ../src/orca/default.py:7922
+#: ../src/orca/default.py:5106
 msgid "paragraph unselected down from cursor position"
 msgstr "å¾?游æ¨?ä½?ç½®é??å§?å??ä¸?å??æ¶?é?¸å??段è?½"
 
-#: ../src/orca/default.py:7923
+#: ../src/orca/default.py:5107
 msgid "paragraph selected up from cursor position"
 msgstr "å¾?游æ¨?ä½?ç½®é??å§?å??ä¸?é?¸å??段è?½"
 
-#: ../src/orca/default.py:7924
+#: ../src/orca/default.py:5108
 msgid "paragraph unselected up from cursor position"
 msgstr "å¾?游æ¨?ä½?ç½®é??å§?å??ä¸?å??æ¶?é?¸å??段è?½"
 
@@ -2498,7 +3169,7 @@ msgstr "å¾?游æ¨?ä½?ç½®é??å§?å??ä¸?å??æ¶?é?¸å??段è?½"
 #. a document, Orca will speak information about what they
 #. have selected.
 #.
-#: ../src/orca/default.py:7982
+#: ../src/orca/default.py:5162
 msgid "line selected to end from previous cursor position"
 msgstr "å¾?å??ä¸?å??游æ¨?ä½?ç½®é?¸å??è¡?è?³çµ?å°¾"
 
@@ -2506,7 +3177,7 @@ msgstr "å¾?å??ä¸?å??游æ¨?ä½?ç½®é?¸å??è¡?è?³çµ?å°¾"
 #. a document, Orca will speak information about what they
 #. have selected.
 #.
-#: ../src/orca/default.py:7990
+#: ../src/orca/default.py:5170
 msgid "line selected from start to previous cursor position"
 msgstr "å¾?é??å§?å?°å??ä¸?å??游æ¨?ä½?ç½®é?¸å??è¡?"
 
@@ -2514,14 +3185,14 @@ msgstr "å¾?é??å§?å?°å??ä¸?å??游æ¨?ä½?ç½®é?¸å??è¡?"
 #. a document, Orca will speak information about what they
 #. have selected.
 #.
-#: ../src/orca/default.py:7999
+#: ../src/orca/default.py:5179
 msgid "page selected from cursor position"
 msgstr "å¾?游æ¨?ä½?ç½®é??å§?é?¸å??é ?"
 
 #. Translators: when the user unselects text in a document,
 #. Orca will speak information about what they have unselected.
 #.
-#: ../src/orca/default.py:8004
+#: ../src/orca/default.py:5184
 msgid "page unselected from cursor position"
 msgstr "å¾?游æ¨?ä½?ç½®å??æ¶?é?¸å??é ?"
 
@@ -2529,14 +3200,14 @@ msgstr "å¾?游æ¨?ä½?ç½®å??æ¶?é?¸å??é ?"
 #. a document, Orca will speak information about what they
 #. have selected.
 #.
-#: ../src/orca/default.py:8013
+#: ../src/orca/default.py:5193
 msgid "page selected to cursor position"
 msgstr "é?¸å??è?³æ¸¸æ¨?ä½?ç½®ç??é ?"
 
 #. Translators: when the user unselects text in a document,
 #. Orca will speak information about what they have unselected.
 #.
-#: ../src/orca/default.py:8018
+#: ../src/orca/default.py:5198
 msgid "page unselected to cursor position"
 msgstr "å??æ¶?é?¸å??é ?è?³æ¸¸æ¨?ä½?ç½®"
 
@@ -2544,14 +3215,14 @@ msgstr "å??æ¶?é?¸å??é ?è?³æ¸¸æ¨?ä½?ç½®"
 #. a document, Orca will speak information about what they
 #. have selected.
 #.
-#: ../src/orca/default.py:8043
+#: ../src/orca/default.py:5223
 msgid "document selected to cursor position"
 msgstr "é?¸å??è?³æ¸¸æ¨?ä½?ç½®ç??æ??件"
 
 #. Translators: when the user unselects text in a document,
 #. Orca will speak information about what they have unselected.
 #.
-#: ../src/orca/default.py:8048
+#: ../src/orca/default.py:5228
 msgid "document unselected to cursor position"
 msgstr "å??æ¶?é?¸å??è?³æ¸¸æ¨?ä½?ç½®ç??æ??件"
 
@@ -2559,24 +3230,33 @@ msgstr "å??æ¶?é?¸å??è?³æ¸¸æ¨?ä½?ç½®ç??æ??件"
 #. a document, Orca will speak information about what they
 #. have selected.
 #.
-#: ../src/orca/default.py:8057
+#: ../src/orca/default.py:5237
 msgid "document selected from cursor position"
 msgstr "å¾?游æ¨?ä½?ç½®é??å§?é?¸å??æ??件"
 
 #. Translators: when the user unselects text in a document,
 #. Orca will speak information about what they have unselected.
 #.
-#: ../src/orca/default.py:8062
+#: ../src/orca/default.py:5242
 msgid "document unselected from cursor position"
 msgstr "å¾?游æ¨?ä½?ç½®é??å§?å??æ¶?é?¸å??æ??件"
 
 #. Translators: this means the user has selected
 #. all the text in a document (e.g., Ctrl+a in gedit).
 #.
-#: ../src/orca/default.py:8079
+#: ../src/orca/default.py:5259
 msgid "entire document selected"
 msgstr "å·²é?¸å??æ?´å??æ??件"
 
+#. Translators: this is information about a unicode character
+#. reported to the user.  The value is the unicode number value
+#. of this character in hex.
+#.
+#: ../src/orca/default.py:5797
+#, python-format
+msgid "Unicode %s"
+msgstr "è?¬å??碼 %s"
+
 #. Translators: this refers to the speech synthesis services
 #. provided by the separate emacspeak utility available at
 #. http://emacspeak.sourceforge.net/.
@@ -2613,13 +3293,13 @@ msgstr "å??å?°é??å§?"
 
 #. Translators: this represents the state of a checkbox.
 #.
-#: ../src/orca/flat_review.py:352 ../src/orca/settings.py:1321
+#: ../src/orca/flat_review.py:355 ../src/orca/settings.py:1397
 msgid "partially checked"
 msgstr "é?¨ä»½é?¸å??"
 
 #. Translators: this represents the state of a checkbox.
 #.
-#: ../src/orca/flat_review.py:356 ../src/orca/settings.py:1320
+#: ../src/orca/flat_review.py:359 ../src/orca/settings.py:1396
 msgid "checked"
 msgstr "已��"
 
@@ -2628,13 +3308,13 @@ msgstr "已��"
 #. Translators: this represents the state of a checkbox.  It is meant
 #. to be spoken to the user.
 #.
-#: ../src/orca/flat_review.py:360 ../src/orca/settings.py:1319
+#: ../src/orca/flat_review.py:363 ../src/orca/settings.py:1395
 msgid "not checked"
 msgstr "���"
 
 #. Translators: the state of a toggle button.
 #.
-#: ../src/orca/flat_review.py:367 ../src/orca/settings.py:1332
+#: ../src/orca/flat_review.py:370 ../src/orca/settings.py:1408
 msgid "pressed"
 msgstr "å·²æ??ä¸?"
 
@@ -2643,14 +3323,14 @@ msgstr "å·²æ??ä¸?"
 #. Translators: this represents the state of a toggle button.  It is
 #. meant to be spoken to the user.
 #.
-#: ../src/orca/flat_review.py:371 ../src/orca/settings.py:1332
+#: ../src/orca/flat_review.py:374 ../src/orca/settings.py:1408
 msgid "not pressed"
 msgstr "æ?ªæ??ä¸?"
 
 #. Translators: this is in reference to a radio button being
 #. selected or not.
 #.
-#: ../src/orca/flat_review.py:379 ../src/orca/settings.py:1327
+#: ../src/orca/flat_review.py:382 ../src/orca/settings.py:1403
 msgctxt "radiobutton"
 msgid "selected"
 msgstr "å·²é?¸å??"
@@ -2661,20 +3341,20 @@ msgstr "å·²é?¸å??"
 #. Translators: this represents the state of a radio button.  It is
 #. meant to be spoken to the user.
 #.
-#: ../src/orca/flat_review.py:384 ../src/orca/settings.py:1326
+#: ../src/orca/flat_review.py:387 ../src/orca/settings.py:1402
 msgctxt "radiobutton"
 msgid "not selected"
 msgstr "æ²?æ??é?¸å??"
 
 #. Translators: The component orientation is horizontal.
 #.
-#: ../src/orca/flat_review.py:422
+#: ../src/orca/flat_review.py:425
 msgid "horizontal"
 msgstr "æ°´å¹³"
 
 #. Translators: The component orientation is vertical.
 #.
-#: ../src/orca/flat_review.py:426
+#: ../src/orca/flat_review.py:429
 msgid "vertical"
 msgstr "å??ç?´ç??"
 
@@ -2682,21 +3362,22 @@ msgstr "å??ç?´ç??"
 #. progress bar or other component that displays a value as
 #. a percentage.
 #.
-#: ../src/orca/flat_review.py:444
+#: ../src/orca/flat_review.py:447
 #, python-format
 msgid "%d percent."
-msgstr "ç?¾å??ä¹? %dã??"
+msgid_plural "%d percent."
+msgstr[0] "ç?¾å??ä¹?%dã??"
 
 #. Translators: this is the action name for
 #. the 'toggle' action. It must be the same
 #. string used in the *.po file for gail.
 #.
-#: ../src/orca/flat_review.py:1071 ../src/orca/generator.py:437
-#: ../src/orca/generator.py:694 ../src/orca/generator.py:736
-#: ../src/orca/generator.py:782
-#: ../src/orca/scripts/apps/evolution/script.py:985
-#: ../src/orca/scripts/apps/evolution/speech_generator.py:115
-#: ../src/orca/scripts/apps/packagemanager/script.py:714
+#: ../src/orca/flat_review.py:1078 ../src/orca/generator.py:439
+#: ../src/orca/generator.py:696 ../src/orca/generator.py:738
+#: ../src/orca/generator.py:784
+#: ../src/orca/scripts/apps/evolution/script.py:496
+#: ../src/orca/scripts/apps/evolution/speech_generator.py:120
+#: ../src/orca/scripts/apps/packagemanager/script.py:643
 #: ../src/orca/tutorialgenerator.py:526 ../src/orca/tutorialgenerator.py:566
 msgid "toggle"
 msgstr "å??æ??"
@@ -2705,11 +3386,11 @@ msgstr "å??æ??"
 #. speak and braille to tell the user that no component
 #. has keyboard focus.
 #.
-#: ../src/orca/focus_tracking_presenter.py:958
+#: ../src/orca/focus_tracking_presenter.py:969
 msgid "No focus"
 msgstr "æ²?æ??ç?¦é»?"
 
-#: ../src/orca/gnomespeechfactory.py:235
+#: ../src/orca/gnomespeechfactory.py:245
 msgid "GNOME Speech Services"
 msgstr "GNOME æ??è®?æ??å??"
 
@@ -2719,7 +3400,9 @@ msgstr "GNOME æ??è®?æ??å??"
 #. new string well.  For example, "Open..." turns into
 #. "Open dot dot dot".
 #.
-#: ../src/orca/gnomespeechfactory.py:815 ../src/orca/gnomespeechfactory.py:816
+#: ../src/orca/gnomespeechfactory.py:831 ../src/orca/gnomespeechfactory.py:832
+#: ../src/orca/openttsfactory.py:287
+#: ../src/orca/speechdispatcherfactory.py:286
 msgid " dot dot dot"
 msgstr " é»?é»?é»?"
 
@@ -2730,15 +3413,15 @@ msgstr " é»?é»?é»?"
 #. odd characters, etc.), so we need to unfortunately
 #. build up the utterance in this manner.
 #.
-#: ../src/orca/gnomespeechfactory.py:887
+#: ../src/orca/gnomespeechfactory.py:903
 msgid "minus"
 msgstr "è² "
 
 #. Translators: this is a short string saying that the speech
 #. synthesis engine is now speaking in a higher pitch.
 #.
-#: ../src/orca/gnomespeechfactory.py:1047
-#: ../src/orca/speechdispatcherfactory.py:303
+#: ../src/orca/gnomespeechfactory.py:1071 ../src/orca/openttsfactory.py:379
+#: ../src/orca/speechdispatcherfactory.py:378
 msgid "higher."
 msgstr "è¼?é«?ã??"
 
@@ -2746,8 +3429,8 @@ msgstr "è¼?é«?ã??"
 #. synthesis engine is now speaking in a lower pitch.
 #.
 #. Translators: This string announces speech pitch change.
-#: ../src/orca/gnomespeechfactory.py:1078
-#: ../src/orca/speechdispatcherfactory.py:303
+#: ../src/orca/gnomespeechfactory.py:1102 ../src/orca/openttsfactory.py:379
+#: ../src/orca/speechdispatcherfactory.py:378
 msgid "lower."
 msgstr "è¼?ä½?ã??"
 
@@ -2755,8 +3438,8 @@ msgstr "è¼?ä½?ã??"
 #. synthesis engine is now speaking at a faster rate (words
 #. per minute).
 #.
-#: ../src/orca/gnomespeechfactory.py:1107
-#: ../src/orca/speechdispatcherfactory.py:293
+#: ../src/orca/gnomespeechfactory.py:1131 ../src/orca/openttsfactory.py:369
+#: ../src/orca/speechdispatcherfactory.py:368
 msgid "faster."
 msgstr "è¼?å¿«ã??"
 
@@ -2765,8 +3448,8 @@ msgstr "è¼?å¿«ã??"
 #. per minute).
 #.
 #. Translators: This string announces speech rate change.
-#: ../src/orca/gnomespeechfactory.py:1141
-#: ../src/orca/speechdispatcherfactory.py:293
+#: ../src/orca/gnomespeechfactory.py:1165 ../src/orca/openttsfactory.py:369
+#: ../src/orca/speechdispatcherfactory.py:368
 msgid "slower."
 msgstr "è¼?æ?¢ã??"
 
@@ -2774,7 +3457,7 @@ msgstr "è¼?æ?¢ã??"
 #. magnifier.  In addition to screen magnification, the user's
 #. preferred colors and mouse customizations are loaded.
 #.
-#: ../src/orca/gsmag.py:653 ../src/orca/mag.py:1684
+#: ../src/orca/gsmag.py:779 ../src/orca/mag.py:1685
 msgid "Magnifier enabled."
 msgstr "æ?¾å¤§é?¡å·²å??ç?¨ã??"
 
@@ -2782,7 +3465,7 @@ msgstr "æ?¾å¤§é?¡å·²å??ç?¨ã??"
 #. magnifier, restoring the screen contents to their normal colors
 #. and sizes.
 #.
-#: ../src/orca/gsmag.py:660 ../src/orca/mag.py:1691
+#: ../src/orca/gsmag.py:786 ../src/orca/mag.py:1692
 msgid "Magnifier disabled."
 msgstr "æ?¾å¤§é?¡å·²å??ç?¨ã??"
 
@@ -3094,19 +3777,19 @@ msgstr "stroke"
 #.
 #: ../src/orca/liveregions.py:265
 msgid "setting live region to polite"
-msgstr ""
+msgstr "å°?å?³æ??æ?­å ±å??設ç?ºç¦®è²?"
 
 #. Translators:  sets the live region politeness level to assertive
 #.
 #: ../src/orca/liveregions.py:270
 msgid "setting live region to assertive"
-msgstr ""
+msgstr "å°?å?³æ??æ?­å ±å??設ç?ºå ?決"
 
 #. Translators:  sets the live region politeness level to rude
 #.
 #: ../src/orca/liveregions.py:275
 msgid "setting live region to rude"
-msgstr ""
+msgstr "å°?å?³æ??æ?­å ±å??設ç?ºç²?é­¯"
 
 #. Translators:  sets the live region politeness level to off
 #.
@@ -3127,8 +3810,6 @@ msgstr "æ²?æ??å?²å­?å?³æ??è¨?æ?¯"
 msgid "All live regions set to off"
 msgstr "å°?æ??æ??ç??å?³æ??æ?­å ±å??設ç?ºé??é??"
 
-#. Translators: This lets the user know that all live regions
-#. have been restored to their original politeness level.
 #: ../src/orca/liveregions.py:344
 msgid "live regions politeness levels restored"
 msgstr "å?³æ??æ?­å ±å??禮è²?ç¨?度已é??å??"
@@ -3138,12 +3819,8 @@ msgstr "å?³æ??æ?­å ±å??禮è²?ç¨?度已é??å??"
 #: ../src/orca/liveregions.py:386
 #, python-format
 msgid "politeness level %s"
-msgstr "politeness level %s"
+msgstr "禮��度 %s"
 
-#. Translators: "color enhancements" are changes users can
-#. make to the appearance of the screen to make things easier
-#. to see, such as inverting the colors or applying a tint.
-#.
 #: ../src/orca/mag.py:1556
 msgid "Color enhancements disabled."
 msgstr "è?²å½©å¼·å??å·²é??é??ã??"
@@ -3156,12 +3833,7 @@ msgstr "è?²å½©å¼·å??å·²é??é??ã??"
 msgid "Color enhancements enabled."
 msgstr "è?²å½©å¼·å??å·²é??å??ã??"
 
-#. Translators: "mouse enhancements" are changes users can
-#. make to the appearance of the mouse pointer to make it
-#. easier to see, such as increasing its size, changing its
-#. color, and surrounding it with crosshairs.
-#.
-#: ../src/orca/mag.py:1586
+#: ../src/orca/mag.py:1587
 msgid "Mouse enhancements disabled."
 msgstr "æ»?é¼ å¢?å¼·å??è?½å·²å??ç?¨ã??"
 
@@ -3170,7 +3842,7 @@ msgstr "æ»?é¼ å¢?å¼·å??è?½å·²å??ç?¨ã??"
 #. easier to see, such as increasing its size, changing its
 #. color, and surrounding it with crosshairs.
 #.
-#: ../src/orca/mag.py:1619
+#: ../src/orca/mag.py:1620
 msgid "Mouse enhancements enabled."
 msgstr "æ»?é¼ å¢?å¼·å??è?½å·²å??ç?¨ã??"
 
@@ -3179,55 +3851,87 @@ msgstr "æ»?é¼ å¢?å¼·å??è?½å·²å??ç?¨ã??"
 #. Translators: this is an algorithm for magnifying pixels
 #. on the screen.
 #.
-#: ../src/orca/mag.py:1746 ../src/orca/orca_gui_prefs.py:1852
-#: ../src/orca/orca_gui_prefs.py:1878 ../src/orca/orca_gui_prefs.py:1881
-#: ../src/orca/orca-setup.ui.h:83
+#: ../src/orca/mag.py:1747 ../src/orca/orca_gui_prefs.py:1973
+#: ../src/orca/orca_gui_prefs.py:1999 ../src/orca/orca_gui_prefs.py:2002
+#: ../src/orca/orca-setup.ui.h:85
 msgid "Full Screen"
 msgstr "���"
 
 #. Translators: the user attempted to switch to full screen
 #. magnification, but his/her system doesn't support it.
 #.
-#: ../src/orca/mag.py:1751
+#: ../src/orca/mag.py:1752
 msgid "Full Screen mode unavailable"
 msgstr "��使����模�"
 
 #. Translators: magnification will use the top half of the screen.
 #.
-#: ../src/orca/mag.py:1755 ../src/orca/orca_gui_prefs.py:1856
-#: ../src/orca/orca_gui_prefs.py:1882 ../src/orca/orca-setup.ui.h:145
+#: ../src/orca/mag.py:1756 ../src/orca/orca_gui_prefs.py:1977
+#: ../src/orca/orca_gui_prefs.py:2003 ../src/orca/orca-setup.ui.h:149
 msgid "Top Half"
 msgstr "ä¸?å??é?¨"
 
 #. Translators: magnification will use the bottom half of the screen.
 #.
-#: ../src/orca/mag.py:1759 ../src/orca/orca_gui_prefs.py:1860
-#: ../src/orca/orca_gui_prefs.py:1883 ../src/orca/orca-setup.ui.h:36
+#: ../src/orca/mag.py:1760 ../src/orca/orca_gui_prefs.py:1981
+#: ../src/orca/orca_gui_prefs.py:2004 ../src/orca/orca-setup.ui.h:36
 msgid "Bottom Half"
 msgstr "ä¸?å??é?¨"
 
 #. Translators: magnification will use the left half of the screen.
 #.
-#: ../src/orca/mag.py:1763 ../src/orca/orca_gui_prefs.py:1864
-#: ../src/orca/orca_gui_prefs.py:1884 ../src/orca/orca-setup.ui.h:90
+#: ../src/orca/mag.py:1764 ../src/orca/orca_gui_prefs.py:1985
+#: ../src/orca/orca_gui_prefs.py:2005 ../src/orca/orca-setup.ui.h:92
 msgid "Left Half"
 msgstr "å·¦å??é?¨"
 
 #. Translators: magnification will use the right half of the screen.
 #.
-#: ../src/orca/mag.py:1767 ../src/orca/orca_gui_prefs.py:1868
-#: ../src/orca/orca_gui_prefs.py:1885 ../src/orca/orca-setup.ui.h:118
+#: ../src/orca/mag.py:1768 ../src/orca/orca_gui_prefs.py:1989
+#: ../src/orca/orca_gui_prefs.py:2006 ../src/orca/orca-setup.ui.h:121
 msgid "Right Half"
 msgstr "å?³å??é?¨"
 
 #. Translators: the user has selected a custom area of the screen
 #. to use for magnification.
 #.
-#: ../src/orca/mag.py:1772 ../src/orca/orca_gui_prefs.py:1873
-#: ../src/orca/orca_gui_prefs.py:1886 ../src/orca/orca-setup.ui.h:49
+#: ../src/orca/mag.py:1773 ../src/orca/orca_gui_prefs.py:1994
+#: ../src/orca/orca_gui_prefs.py:2007 ../src/orca/orca-setup.ui.h:49
 msgid "Custom"
 msgstr "��"
 
+#. Translators: "Default Synthesizer" will appear in the list of available
+#. speech engines as a special item.  It refers to the default engine
+#. configured within the speech subsystem.  Apart from this item, the user
+#. will have a chance to select a particular speech engine by its real
+#. name, such as Festival, IBMTTS, etc.
+#.
+#: ../src/orca/openttsfactory.py:84 ../src/orca/speechdispatcherfactory.py:83
+msgid "Default Synthesizer"
+msgstr "é ?設èª?é?³å??æ??å?¨"
+
+#. Translators: this is the name of a speech synthesis system
+#. called "Open TTS".
+#.
+#: ../src/orca/openttsfactory.py:97
+msgid "Open TTS"
+msgstr "Open TTS"
+
+#. Translators: This string will appear in the list of
+#. available voices for the current speech engine.  %s will be
+#. replaced by the name of the current speech engine, such as
+#. "Festival default voice" or "IBMTTS default voice".  It
+#. refers to the default voice configured for given speech
+#. engine within the speech subsystem.  Apart from this item,
+#. the list will contain the names of all available "real"
+#. voices provided by the speech engine.
+#.
+#: ../src/orca/openttsfactory.py:181
+#: ../src/orca/speechdispatcherfactory.py:180
+#, python-format
+msgid "%s default voice"
+msgstr "%s �設��"
+
 #: ../src/orca/orca-advanced-magnification.ui.h:1
 msgid "<b>Brightness</b>"
 msgstr "<b>亮度</b>"
@@ -3252,8 +3956,8 @@ msgstr "è??è?²(_L):"
 #. on the screen.
 #.
 #: ../src/orca/orca-advanced-magnification.ui.h:6
-#: ../src/orca/orca_gui_prefs.py:4491 ../src/orca/orca_gui_prefs.py:4502
-#: ../src/orca/orca_gui_prefs.py:4504 ../src/orca/orca_gui_prefs.py:4525
+#: ../src/orca/orca_gui_prefs.py:4463 ../src/orca/orca_gui_prefs.py:4474
+#: ../src/orca/orca_gui_prefs.py:4476 ../src/orca/orca_gui_prefs.py:4497
 msgid "Bilinear"
 msgstr "é??ç·?æ?§"
 
@@ -3263,8 +3967,8 @@ msgstr "é??ç·?æ?§"
 #. (75, 100, 125) would become (75, 100, 0).
 #.
 #: ../src/orca/orca-advanced-magnification.ui.h:7
-#: ../src/orca/orca_gui_prefs.py:4748 ../src/orca/orca_gui_prefs.py:4775
-#: ../src/orca/orca_gui_prefs.py:4846
+#: ../src/orca/orca_gui_prefs.py:4720 ../src/orca/orca_gui_prefs.py:4747
+#: ../src/orca/orca_gui_prefs.py:4818
 msgid "Desaturate blue"
 msgstr "å?»é?¤è??è?²"
 
@@ -3274,7 +3978,7 @@ msgstr "å?»é?¤è??è?²"
 #. (75, 100, 125) would become (75, 0, 125).
 #.
 #: ../src/orca/orca-advanced-magnification.ui.h:8
-#: ../src/orca/orca_gui_prefs.py:4740 ../src/orca/orca_gui_prefs.py:4838
+#: ../src/orca/orca_gui_prefs.py:4712 ../src/orca/orca_gui_prefs.py:4810
 msgid "Desaturate green"
 msgstr "��綠�"
 
@@ -3284,8 +3988,8 @@ msgstr "��綠�"
 #. (75, 100, 125) would be become (0, 100, 125).
 #.
 #: ../src/orca/orca-advanced-magnification.ui.h:9
-#: ../src/orca/orca_gui_prefs.py:4732 ../src/orca/orca_gui_prefs.py:4774
-#: ../src/orca/orca_gui_prefs.py:4830
+#: ../src/orca/orca_gui_prefs.py:4704 ../src/orca/orca_gui_prefs.py:4746
+#: ../src/orca/orca_gui_prefs.py:4802
 msgid "Desaturate red"
 msgstr "����"
 
@@ -3299,8 +4003,8 @@ msgstr "綠�(_N):"
 #. (100, 125, 75).
 #.
 #: ../src/orca/orca-advanced-magnification.ui.h:11
-#: ../src/orca/orca_gui_prefs.py:4764 ../src/orca/orca_gui_prefs.py:4777
-#: ../src/orca/orca_gui_prefs.py:4862
+#: ../src/orca/orca_gui_prefs.py:4736 ../src/orca/orca_gui_prefs.py:4749
+#: ../src/orca/orca_gui_prefs.py:4834
 msgid "Negative hue shift"
 msgstr "è² å??è?²èª¿å??移"
 
@@ -3313,12 +4017,12 @@ msgstr "è² å??è?²èª¿å??移"
 #. track the mouse.
 #.
 #: ../src/orca/orca-advanced-magnification.ui.h:12
-#: ../src/orca/orca_gui_prefs.py:92 ../src/orca/orca_gui_prefs.py:1929
-#: ../src/orca/orca_gui_prefs.py:1949 ../src/orca/orca_gui_prefs.py:4497
-#: ../src/orca/orca_gui_prefs.py:4504 ../src/orca/orca_gui_prefs.py:4527
-#: ../src/orca/orca_gui_prefs.py:4700 ../src/orca/orca_gui_prefs.py:4767
-#: ../src/orca/orca_gui_prefs.py:4770 ../src/orca/orca_gui_prefs.py:4798
-#: ../src/orca/orca-setup.ui.h:103
+#: ../src/orca/orca_gui_prefs.py:108 ../src/orca/orca_gui_prefs.py:2050
+#: ../src/orca/orca_gui_prefs.py:2070 ../src/orca/orca_gui_prefs.py:4469
+#: ../src/orca/orca_gui_prefs.py:4476 ../src/orca/orca_gui_prefs.py:4499
+#: ../src/orca/orca_gui_prefs.py:4672 ../src/orca/orca_gui_prefs.py:4739
+#: ../src/orca/orca_gui_prefs.py:4742 ../src/orca/orca_gui_prefs.py:4770
+#: ../src/orca/orca-setup.ui.h:105
 msgid "None"
 msgstr "æ²?æ??"
 
@@ -3328,8 +4032,8 @@ msgstr "æ²?æ??"
 #. (125, 75, 100).
 #.
 #: ../src/orca/orca-advanced-magnification.ui.h:13
-#: ../src/orca/orca_gui_prefs.py:4756 ../src/orca/orca_gui_prefs.py:4776
-#: ../src/orca/orca_gui_prefs.py:4854
+#: ../src/orca/orca_gui_prefs.py:4728 ../src/orca/orca_gui_prefs.py:4748
+#: ../src/orca/orca_gui_prefs.py:4826
 msgid "Positive hue shift"
 msgstr "æ­£å??è?²èª¿å??移"
 
@@ -3347,8 +4051,8 @@ msgstr "å??å§?顯示(_O):"
 #. (75, 100, 125) would become (75, 100, 255).
 #.
 #: ../src/orca/orca-advanced-magnification.ui.h:16
-#: ../src/orca/orca_gui_prefs.py:4724 ../src/orca/orca_gui_prefs.py:4773
-#: ../src/orca/orca_gui_prefs.py:4822
+#: ../src/orca/orca_gui_prefs.py:4696 ../src/orca/orca_gui_prefs.py:4745
+#: ../src/orca/orca_gui_prefs.py:4794
 msgid "Saturate blue"
 msgstr "è??è?²é£½å??"
 
@@ -3358,8 +4062,8 @@ msgstr "è??è?²é£½å??"
 #. (75, 100, 125) would become (75, 255, 125).
 #.
 #: ../src/orca/orca-advanced-magnification.ui.h:17
-#: ../src/orca/orca_gui_prefs.py:4716 ../src/orca/orca_gui_prefs.py:4772
-#: ../src/orca/orca_gui_prefs.py:4814
+#: ../src/orca/orca_gui_prefs.py:4688 ../src/orca/orca_gui_prefs.py:4744
+#: ../src/orca/orca_gui_prefs.py:4786
 msgid "Saturate green"
 msgstr "綠è?²é£½å??"
 
@@ -3369,8 +4073,8 @@ msgstr "綠è?²é£½å??"
 #. (75, 100, 125) would be become (255, 100, 125).
 #.
 #: ../src/orca/orca-advanced-magnification.ui.h:18
-#: ../src/orca/orca_gui_prefs.py:4708 ../src/orca/orca_gui_prefs.py:4771
-#: ../src/orca/orca_gui_prefs.py:4806
+#: ../src/orca/orca_gui_prefs.py:4680 ../src/orca/orca_gui_prefs.py:4743
+#: ../src/orca/orca_gui_prefs.py:4778
 msgid "Saturate red"
 msgstr "ç´?è?²é£½å??"
 
@@ -3447,7 +4151,7 @@ msgstr "é?¸æ??å??好ç??èª?é?³ç³»çµ±ï¼?"
 #. Translators: this is prompting for a numerical choice.
 #.
 #: ../src/orca/orca_console_prefs.py:189 ../src/orca/orca_console_prefs.py:230
-#: ../src/orca/orca_console_prefs.py:282 ../src/orca/orca_console_prefs.py:486
+#: ../src/orca/orca_console_prefs.py:282 ../src/orca/orca_console_prefs.py:488
 msgid "Enter choice: "
 msgstr "輸å?¥é?¸æ??ï¼?"
 
@@ -3456,8 +4160,8 @@ msgstr "輸å?¥é?¸æ??ï¼?"
 #. also requesting they enter a valid integer value.
 #.
 #: ../src/orca/orca_console_prefs.py:196 ../src/orca/orca_console_prefs.py:233
-#: ../src/orca/orca_console_prefs.py:288 ../src/orca/orca_console_prefs.py:501
-#: ../src/orca/orca_console_prefs.py:503
+#: ../src/orca/orca_console_prefs.py:288 ../src/orca/orca_console_prefs.py:503
+#: ../src/orca/orca_console_prefs.py:505
 msgid "Please enter a valid number."
 msgstr "è«?輸å?¥æ??æ??ç??æ?¸å­?ã??"
 
@@ -3503,16 +4207,16 @@ msgstr "é?¸æ??å??好ç??è?²é?³ï¼?"
 #. word prior to the caret when the user types a word
 #. delimiter.
 #.
-#: ../src/orca/orca_console_prefs.py:329
+#: ../src/orca/orca_console_prefs.py:331
 msgid "Enable echo by word?  Enter y or n: "
 msgstr "å??ç?¨å­?è©?å??é?¿ï¼? 輸å?¥ y æ?? nï¼?"
 
-#: ../src/orca/orca_console_prefs.py:339 ../src/orca/orca_console_prefs.py:358
-#: ../src/orca/orca_console_prefs.py:385 ../src/orca/orca_console_prefs.py:402
-#: ../src/orca/orca_console_prefs.py:419 ../src/orca/orca_console_prefs.py:436
-#: ../src/orca/orca_console_prefs.py:454 ../src/orca/orca_console_prefs.py:544
-#: ../src/orca/orca_console_prefs.py:563 ../src/orca/orca_console_prefs.py:581
-#: ../src/orca/orca_console_prefs.py:624
+#: ../src/orca/orca_console_prefs.py:341 ../src/orca/orca_console_prefs.py:360
+#: ../src/orca/orca_console_prefs.py:387 ../src/orca/orca_console_prefs.py:404
+#: ../src/orca/orca_console_prefs.py:421 ../src/orca/orca_console_prefs.py:438
+#: ../src/orca/orca_console_prefs.py:456 ../src/orca/orca_console_prefs.py:546
+#: ../src/orca/orca_console_prefs.py:565 ../src/orca/orca_console_prefs.py:583
+#: ../src/orca/orca_console_prefs.py:628
 msgid "Please enter y or n."
 msgstr "è«?輸å?¥ y æ?? nã??"
 
@@ -3521,35 +4225,35 @@ msgstr "è«?輸å?¥ y æ?? nã??"
 #. user wants key echo, they will then be prompted for which
 #. classes of keys they want echoed.
 #.
-#: ../src/orca/orca_console_prefs.py:348
+#: ../src/orca/orca_console_prefs.py:350
 msgid "Enable key echo?  Enter y or n: "
 msgstr "å??ç?¨æ??é?µå??é?¿ï¼? 輸å?¥ y æ?? nï¼?"
 
 #. Translators: this is in reference to key echo for
 #. normal text entry keys.
 #.
-#: ../src/orca/orca_console_prefs.py:375
+#: ../src/orca/orca_console_prefs.py:377
 msgid "Enable alphanumeric and punctuation keys?  Enter y or n: "
 msgstr "å??ç?¨æ??æ?¸å­?å??å??æ¨?é»?符è??æ??é?µï¼? 輸å?¥ y æ?? nï¼?"
 
 #. Translators: this is in reference to key echo for
 #. CTRL, ALT, Shift, Insert, and "Fn" on laptops.
 #.
-#: ../src/orca/orca_console_prefs.py:392
+#: ../src/orca/orca_console_prefs.py:394
 msgid "Enable modifier keys?  Enter y or n: "
 msgstr "å??ç?¨ä¿®æ?¹é?µï¼? 輸å?¥ y æ?? nï¼?"
 
 #. Translators: this is in reference to key echo for
 #. Caps Lock, Num Lock, Scroll Lock, etc.
 #.
-#: ../src/orca/orca_console_prefs.py:409
+#: ../src/orca/orca_console_prefs.py:411
 msgid "Enable locking keys?  Enter y or n: "
 msgstr "å??ç?¨é??å®?é?µï¼? 輸å?¥ y æ?? nï¼?"
 
 #. Translators: this is in reference to key echo for
 #. the keys at the top of the keyboard.
 #.
-#: ../src/orca/orca_console_prefs.py:426
+#: ../src/orca/orca_console_prefs.py:428
 msgid "Enable function keys?  Enter y or n: "
 msgstr "å??ç?¨å??è?½é?µï¼? 輸å?¥ y æ?? nï¼?"
 
@@ -3557,7 +4261,7 @@ msgstr "å??ç?¨å??è?½é?µï¼? 輸å?¥ y æ?? nï¼?"
 #. space, enter, escape, tab, backspace, delete, arrow
 #. keys, page up, page down, etc.
 #.
-#: ../src/orca/orca_console_prefs.py:444
+#: ../src/orca/orca_console_prefs.py:446
 msgid "Enable action keys?  Enter y or n: "
 msgstr "å??ç?¨å??ä½?é?µï¼? 輸å?¥ y æ?? nï¼?"
 
@@ -3565,7 +4269,7 @@ msgstr "å??ç?¨å??ä½?é?µï¼? 輸å?¥ y æ?? nï¼?"
 #. has a numeric keypad) and laptop (i.e., small and compact) keyboard
 #. layouts for how they might control Orca.
 #.
-#: ../src/orca/orca_console_prefs.py:460
+#: ../src/orca/orca_console_prefs.py:462
 msgid "Select desired keyboard layout."
 msgstr "é?¸æ??å??好ç??é?µç?¤é??ç½®ã??"
 
@@ -3573,7 +4277,7 @@ msgstr "é?¸æ??å??好ç??é?µç?¤é??ç½®ã??"
 #. has a numeric keypad) and laptop (i.e., small and compact) keyboard
 #. layouts for how they might control Orca.
 #.
-#: ../src/orca/orca_console_prefs.py:472
+#: ../src/orca/orca_console_prefs.py:474
 msgid "1. Desktop"
 msgstr "1. æ¡?é?¢"
 
@@ -3581,7 +4285,7 @@ msgstr "1. æ¡?é?¢"
 #. has a numeric keypad) and laptop (i.e., small and compact) keyboard
 #. layouts for how they might control Orca.
 #.
-#: ../src/orca/orca_console_prefs.py:479
+#: ../src/orca/orca_console_prefs.py:481
 msgid "2. Laptop"
 msgstr "2. �����"
 
@@ -3589,7 +4293,7 @@ msgstr "2. �����"
 #. use a refreshable braille display (an external hardware
 #. device) or not.
 #.
-#: ../src/orca/orca_console_prefs.py:534
+#: ../src/orca/orca_console_prefs.py:536
 msgid "Enable Braille?  Enter y or n: "
 msgstr "å??ç?¨é»?å­?ï¼? 輸å?¥ y æ?? nï¼?"
 
@@ -3598,34 +4302,34 @@ msgstr "å??ç?¨é»?å­?ï¼? 輸å?¥ y æ?? nï¼?"
 #. It presents what would be (or is being) shown on the
 #. external refreshable braille display.
 #.
-#: ../src/orca/orca_console_prefs.py:553
+#: ../src/orca/orca_console_prefs.py:555
 msgid "Enable Braille Monitor?  Enter y or n: "
 msgstr "å??ç?¨é»?å­?ç?£å¯?å?¨ï¼?輸å?¥ y æ?? nï¼?"
 
 #. Translators: orca can be set up to automatically start when
 #. the user logs in.
 #.
-#: ../src/orca/orca_console_prefs.py:570
+#: ../src/orca/orca_console_prefs.py:572
 msgid "Automatically start orca when you log in?  Enter y or n: "
 msgstr "æ?¯å?¦å?¨æ?¨ç?»å?¥æ??è?ªå??å??å?? orcaï¼?æ?? y æ?? nï¼?"
 
-#: ../src/orca/orca_console_prefs.py:585 ../src/orca/orca_gui_prefs.py:480
+#: ../src/orca/orca_console_prefs.py:587 ../src/orca/orca_gui_prefs.py:498
 msgid "Accessibility support for GNOME has just been enabled."
 msgstr "å·²ç¶?å??ç?¨ GNOME ç??ç?¡é??ç¤?ç?°å¢?ã??"
 
-#: ../src/orca/orca_console_prefs.py:591 ../src/orca/orca_gui_prefs.py:482
+#: ../src/orca/orca_console_prefs.py:593 ../src/orca/orca_gui_prefs.py:500
 msgid "You need to log out and log back in for the change to take effect."
 msgstr "é??è¦?ç?»å?ºå¾?å??ç?»å?¥ä¾?å¥?ç?¨æ?°è¨­å®?ã??"
 
-#: ../src/orca/orca_console_prefs.py:601
+#: ../src/orca/orca_console_prefs.py:603
 msgid "Do you want to logout now?  Enter y or n: "
 msgstr "æ?¨ç¢ºå®?ç?¾å?¨è¦?ç?»å?ºå??ï¼?æ?? y æ?? nï¼?"
 
-#: ../src/orca/orca_console_prefs.py:608
+#: ../src/orca/orca_console_prefs.py:610
 msgid "Setup complete. Logging out now."
 msgstr "設å®?å®?æ??ã??ç?¾å?¨ç?»å?ºã??"
 
-#: ../src/orca/orca_console_prefs.py:626
+#: ../src/orca/orca_console_prefs.py:630
 msgid "Setup complete.  Press Return to continue."
 msgstr "設å®?å®?æ??ã??  æ?? Enter ç¹¼çº?ã??"
 
@@ -3653,7 +4357,7 @@ msgstr "é??é??"
 #.
 #: ../src/orca/orca-find.ui.h:4 ../src/orca/scripts/apps/gedit/script.py:320
 #: ../src/orca/scripts/apps/gedit/script.py:322
-#: ../src/orca/scripts/apps/gnome-search-tool.py:165
+#: ../src/orca/scripts/apps/gnome-search-tool/script.py:165
 msgid "Find"
 msgstr "å°?æ?¾"
 
@@ -3766,8 +4470,8 @@ msgstr ""
 #. magnifier.  Centered means that Orca attempts to keep
 #. the object of interest in the center of the magnified window.
 #.
-#: ../src/orca/orca_gui_prefs.py:86 ../src/orca/orca_gui_prefs.py:1929
-#: ../src/orca/orca_gui_prefs.py:1949 ../src/orca/orca-setup.ui.h:42
+#: ../src/orca/orca_gui_prefs.py:102 ../src/orca/orca_gui_prefs.py:2050
+#: ../src/orca/orca_gui_prefs.py:2070 ../src/orca/orca-setup.ui.h:42
 msgid "Centered"
 msgstr "置中"
 
@@ -3779,8 +4483,8 @@ msgstr "置中"
 #. the desktop, Orca positions the mouse 25% from the left edge
 #. of the magnified region.
 #.
-#: ../src/orca/orca_gui_prefs.py:102 ../src/orca/orca_gui_prefs.py:1929
-#: ../src/orca/orca-setup.ui.h:113
+#: ../src/orca/orca_gui_prefs.py:118 ../src/orca/orca_gui_prefs.py:2050
+#: ../src/orca/orca-setup.ui.h:116
 msgid "Proportional"
 msgstr "æ??æ¯?ä¾?ç??"
 
@@ -3789,8 +4493,8 @@ msgstr "æ??æ¯?ä¾?ç??"
 #. magnifier.  Push means that Orca will move the magnified
 #. region just enough to display the object of interest.
 #.
-#: ../src/orca/orca_gui_prefs.py:109 ../src/orca/orca_gui_prefs.py:1929
-#: ../src/orca/orca_gui_prefs.py:1949 ../src/orca/orca-setup.ui.h:114
+#: ../src/orca/orca_gui_prefs.py:125 ../src/orca/orca_gui_prefs.py:2050
+#: ../src/orca/orca_gui_prefs.py:2070 ../src/orca/orca-setup.ui.h:117
 msgid "Push"
 msgstr "æ?¨"
 
@@ -3801,7 +4505,7 @@ msgstr "æ?¨"
 #. what action Orca will take when the user invokes an Orca-specific
 #. keyboard command.
 #.
-#: ../src/orca/orca_gui_prefs.py:234
+#: ../src/orca/orca_gui_prefs.py:250
 msgid "Function"
 msgstr "å??è?½"
 
@@ -3809,7 +4513,7 @@ msgstr "å??è?½"
 #. the cells in the column represent keyboard combinations
 #. the user can press to invoke Orca commands.
 #.
-#: ../src/orca/orca_gui_prefs.py:312
+#: ../src/orca/orca_gui_prefs.py:328
 msgid "Key Binding"
 msgstr "æ??é?µçµ?å??"
 
@@ -3820,7 +4524,7 @@ msgstr "æ??é?µçµ?å??"
 #. addition to the key bindings in the "Key Bindings"
 #. column.
 #.
-#: ../src/orca/orca_gui_prefs.py:391
+#: ../src/orca/orca_gui_prefs.py:407
 msgid "Alternate"
 msgstr "Alternate"
 
@@ -3828,7 +4532,7 @@ msgstr "Alternate"
 #. cells represent whether a key binding has been modified
 #. from the default key binding.
 #.
-#: ../src/orca/orca_gui_prefs.py:411
+#: ../src/orca/orca_gui_prefs.py:427
 msgid "Modified"
 msgstr "已修�"
 
@@ -3836,7 +4540,7 @@ msgstr "已修�"
 #. by Orca when presenting the content of the screen and other
 #. messages.
 #.
-#: ../src/orca/orca_gui_prefs.py:730
+#: ../src/orca/orca_gui_prefs.py:754
 msgctxt "VoiceType"
 msgid "Default"
 msgstr "�設�"
@@ -3844,7 +4548,7 @@ msgstr "�設�"
 #. Translators: This refers to the voice used by Orca when
 #. presenting one or more characters which is in uppercase.
 #.
-#: ../src/orca/orca_gui_prefs.py:734
+#: ../src/orca/orca_gui_prefs.py:758
 msgctxt "VoiceType"
 msgid "Uppercase"
 msgstr "大寫��"
@@ -3853,17 +4557,31 @@ msgstr "大寫��"
 #. presenting one or more characters which is part of a
 #. hyperlink.
 #.
-#: ../src/orca/orca_gui_prefs.py:739
+#: ../src/orca/orca_gui_prefs.py:763
 msgctxt "VoiceType"
 msgid "Hyperlink"
 msgstr "���"
 
+#. Translators: This refers to the voice used by Orca when
+#. presenting information which is not displayed on the screen
+#. as text, but is still being communicated by the system in
+#. some visual fashion. For instance, Orca says "misspelled"
+#. to indicate the presence of the red squiggly line found
+#. under a spelling error; Orca might say "3 of 6" when a
+#. user Tabs into a list of six items and the third item is
+#. selected. And so on.
+#.
+#: ../src/orca/orca_gui_prefs.py:773
+msgctxt "VoiceType"
+msgid "System"
+msgstr "系統"
+
 #. Attribute Name column (NAME).
 #.
 #. Translators: Attribute here refers to text attributes such
 #. as bold, underline, family-name, etc.
 #.
-#: ../src/orca/orca_gui_prefs.py:1171
+#: ../src/orca/orca_gui_prefs.py:1206
 msgid "Attribute Name"
 msgstr "屬æ?§å??稱"
 
@@ -3874,7 +4592,7 @@ msgstr "屬æ?§å??稱"
 #. will speak that attribute, if it is present, when the user
 #. presses Orca_Modifier+F.
 #.
-#: ../src/orca/orca_gui_prefs.py:1186
+#: ../src/orca/orca_gui_prefs.py:1221
 msgid "Speak"
 msgstr "è®?å?º "
 
@@ -3885,7 +4603,7 @@ msgstr "è®?å?º "
 #. Orca will "underline" that attribute, if it is present, on
 #. the refreshable braille display.
 #.
-#: ../src/orca/orca_gui_prefs.py:1204
+#: ../src/orca/orca_gui_prefs.py:1239
 msgid "Mark in braille"
 msgstr "以���示"
 
@@ -3904,7 +4622,7 @@ msgstr "以���示"
 #. value of underline is none (i.e. when it's not underlined).
 #. "Present" here is being used as a verb.
 #.
-#: ../src/orca/orca_gui_prefs.py:1230
+#: ../src/orca/orca_gui_prefs.py:1265
 msgid "Present Unless"
 msgstr "顯示�"
 
@@ -3915,7 +4633,7 @@ msgstr "顯示�"
 #. or a particular word that is pronounced differently then the way
 #. that it looks.
 #.
-#: ../src/orca/orca_gui_prefs.py:1344
+#: ../src/orca/orca_gui_prefs.py:1379
 msgid "Actual String"
 msgstr "實é??å­?串"
 
@@ -3926,7 +4644,7 @@ msgstr "實é??å­?串"
 #. For example: if the actual string was "MHz", then the replacement
 #. (spoken) string would be "megahertz".
 #.
-#: ../src/orca/orca_gui_prefs.py:1361
+#: ../src/orca/orca_gui_prefs.py:1396
 msgid "Replacement String"
 msgstr "ç½®æ??å­?串"
 
@@ -3939,7 +4657,7 @@ msgstr "ç½®æ??å­?串"
 #. of utterances has been calculated.
 #.
 #. Translators: different speech systems and speech engines work differently when it comes to handling pauses (e.g., sentence boundaries).  This property allows the user to specify whether speech should be sent to the speech synthesis system immediately when a pause directive is enountered or if it should be queued up and sent to the speech synthesis system once the entire set of utterances has been calculated.
-#: ../src/orca/orca_gui_prefs.py:1547 ../src/orca/orca-setup.ui.h:39
+#: ../src/orca/orca_gui_prefs.py:1589 ../src/orca/orca-setup.ui.h:39
 msgid "Break speech into ch_unks between pauses"
 msgstr "å°?èª?é?³ä¾?å??é ?ç??å?°æ?¹é??é??(_U)"
 
@@ -3947,8 +4665,8 @@ msgstr "å°?èª?é?³ä¾?å??é ?ç??å?°æ?¹é??é??(_U)"
 #. over an entire document, Orca will pause at the end of each
 #. line.
 #.
-#: ../src/orca/orca_gui_prefs.py:1559 ../src/orca/orca_gui_prefs.py:3051
-#: ../src/orca/orca-setup.ui.h:91
+#: ../src/orca/orca_gui_prefs.py:1601 ../src/orca/orca_gui_prefs.py:2998
+#: ../src/orca/orca-setup.ui.h:93
 msgid "Line"
 msgstr "è¡?"
 
@@ -3956,8 +4674,8 @@ msgstr "è¡?"
 #. over an entire document, Orca will pause at the end of each
 #. sentence.
 #.
-#: ../src/orca/orca_gui_prefs.py:1559 ../src/orca/orca_gui_prefs.py:3057
-#: ../src/orca/orca-setup.ui.h:122
+#: ../src/orca/orca_gui_prefs.py:1601 ../src/orca/orca_gui_prefs.py:3004
+#: ../src/orca/orca-setup.ui.h:125
 msgid "Sentence"
 msgstr "��"
 
@@ -3966,7 +4684,7 @@ msgstr "��"
 #. will present progress bar updates regardless of what application
 #. and window they happen to be in.
 #.
-#: ../src/orca/orca_gui_prefs.py:1579 ../src/orca/orca_gui_prefs.py:3016
+#: ../src/orca/orca_gui_prefs.py:1700 ../src/orca/orca_gui_prefs.py:2963
 msgctxt "ProgressBar"
 msgid "All"
 msgstr "��"
@@ -3977,7 +4695,7 @@ msgstr "��"
 #. progress bar is in the active application (but not necessarily
 #. in the current window).
 #.
-#: ../src/orca/orca_gui_prefs.py:1586
+#: ../src/orca/orca_gui_prefs.py:1707
 msgctxt "ProgressBar"
 msgid "Application"
 msgstr "æ??ç?¨ç¨?å¼?"
@@ -3987,7 +4705,7 @@ msgstr "æ??ç?¨ç¨?å¼?"
 #. Orca will present progress bar updates as long as the progress
 #. bar is in the active window.
 #.
-#: ../src/orca/orca_gui_prefs.py:1592 ../src/orca/orca_gui_prefs.py:3024
+#: ../src/orca/orca_gui_prefs.py:1713 ../src/orca/orca_gui_prefs.py:2971
 msgctxt "ProgressBar"
 msgid "Window"
 msgstr "��"
@@ -3996,7 +4714,7 @@ msgstr "��"
 #. announced when pressed.
 #.
 #. Translators: When this option is enabled, dead keys will be announced when pressed.
-#: ../src/orca/orca_gui_prefs.py:1699 ../src/orca/orca-setup.ui.h:78
+#: ../src/orca/orca_gui_prefs.py:1820 ../src/orca/orca-setup.ui.h:80
 msgid "Enable non-spacing _diacritical keys"
 msgstr ""
 
@@ -4007,7 +4725,7 @@ msgstr ""
 #. 1 is spoken.
 #.
 #. Translators: When this option is enabled, inserted text of length 1 is spoken.
-#: ../src/orca/orca_gui_prefs.py:1707 ../src/orca/orca-setup.ui.h:75
+#: ../src/orca/orca_gui_prefs.py:1828 ../src/orca/orca-setup.ui.h:77
 msgid "Enable echo by cha_racter"
 msgstr "å??ç?¨å­?è©?å??é?¿(_R)"
 
@@ -4015,7 +4733,7 @@ msgstr "å??ç?¨å­?è©?å??é?¿(_R)"
 #. and triple "clicks" or key presses, similar to
 #. using a mouse.
 #.
-#: ../src/orca/orca_gui_prefs.py:2219
+#: ../src/orca/orca_gui_prefs.py:2348
 msgid "(double click)"
 msgstr "(é??æ??)"
 
@@ -4023,7 +4741,7 @@ msgstr "(é??æ??)"
 #. and triple "clicks" or key presses, similar to
 #. using a mouse.
 #.
-#: ../src/orca/orca_gui_prefs.py:2225
+#: ../src/orca/orca_gui_prefs.py:2354
 msgid "(triple click)"
 msgstr "(ä¸?æ??)"
 
@@ -4032,7 +4750,7 @@ msgstr "(ä¸?æ??)"
 #. The braille bindings are what determine the actions Orca will
 #. take when the user presses these buttons.
 #.
-#: ../src/orca/orca_gui_prefs.py:2329 ../src/orca/orca_gui_prefs.py:2427
+#: ../src/orca/orca_gui_prefs.py:2458 ../src/orca/orca_gui_prefs.py:2553
 msgid "Braille Bindings"
 msgstr "é»?å­?æ??é?µçµ?å??"
 
@@ -4041,8 +4759,8 @@ msgstr "é»?å­?æ??é?µçµ?å??"
 #. chooses this setting, the dot in the bottom left
 #. corner will be used to 'underline' text of interest.
 #.
-#: ../src/orca/orca_gui_prefs.py:2861 ../src/orca/orca_gui_prefs.py:2902
-#: ../src/orca/orca_gui_prefs.py:2942 ../src/orca/orca-setup.ui.h:54
+#: ../src/orca/orca_gui_prefs.py:2797 ../src/orca/orca_gui_prefs.py:2838
+#: ../src/orca/orca_gui_prefs.py:2878 ../src/orca/orca-setup.ui.h:56
 msgid "Dot _7"
 msgstr "_7 é»?"
 
@@ -4050,8 +4768,8 @@ msgstr "_7 é»?"
 #. dot in the bottom right corner of the braille cell
 #. will be used to 'underline' text of interest.
 #.
-#: ../src/orca/orca_gui_prefs.py:2868 ../src/orca/orca_gui_prefs.py:2909
-#: ../src/orca/orca_gui_prefs.py:2949 ../src/orca/orca-setup.ui.h:55
+#: ../src/orca/orca_gui_prefs.py:2804 ../src/orca/orca_gui_prefs.py:2845
+#: ../src/orca/orca_gui_prefs.py:2885 ../src/orca/orca-setup.ui.h:57
 msgid "Dot _8"
 msgstr "_8 é»?"
 
@@ -4059,15 +4777,15 @@ msgstr "_8 é»?"
 #. two dots at the bottom of the braille cell will be
 #. used to 'underline' text of interest.
 #.
-#: ../src/orca/orca_gui_prefs.py:2875 ../src/orca/orca_gui_prefs.py:2916
-#: ../src/orca/orca_gui_prefs.py:2956 ../src/orca/orca-setup.ui.h:56
+#: ../src/orca/orca_gui_prefs.py:2811 ../src/orca/orca_gui_prefs.py:2852
+#: ../src/orca/orca_gui_prefs.py:2892 ../src/orca/orca-setup.ui.h:58
 msgid "Dots 7 an_d 8"
 msgstr "7 å?? 8 é»?(_D)"
 
 #. Translators: If this setting is chosen, no punctuation
 #. symbols will be spoken as a user reads a document.
 #.
-#: ../src/orca/orca_gui_prefs.py:2979 ../src/orca/orca-setup.ui.h:161
+#: ../src/orca/orca_gui_prefs.py:2915 ../src/orca/orca-setup.ui.h:165
 msgid "_None"
 msgstr "æ²?æ??(_N)"
 
@@ -4076,7 +4794,7 @@ msgstr "æ²?æ??(_N)"
 #. spoken as a user reads a document, but less common symbols
 #. (such as #, @, $) will.
 #.
-#: ../src/orca/orca_gui_prefs.py:2987 ../src/orca/orca-setup.ui.h:124
+#: ../src/orca/orca_gui_prefs.py:2923 ../src/orca/orca-setup.ui.h:127
 msgid "So_me"
 msgstr "��(_M)"
 
@@ -4084,7 +4802,7 @@ msgstr "��(_M)"
 #. punctuation symbols will be spoken as a user reads a
 #. document.
 #.
-#: ../src/orca/orca_gui_prefs.py:2994 ../src/orca/orca-setup.ui.h:92
+#: ../src/orca/orca_gui_prefs.py:2930 ../src/orca/orca-setup.ui.h:94
 msgid "M_ost"
 msgstr "大�份(_O)"
 
@@ -4092,7 +4810,7 @@ msgstr "大�份(_O)"
 #. Orca provides about a particular object that receives
 #. focus.
 #.
-#: ../src/orca/orca_gui_prefs.py:3077 ../src/orca/orca_gui_prefs.py:3208
+#: ../src/orca/orca_gui_prefs.py:3090 ../src/orca/orca_gui_prefs.py:3194
 #: ../src/orca/orca-setup.ui.h:40
 msgid "Brie_f"
 msgstr "ç°¡ç?­(_F)"
@@ -4101,23 +4819,20 @@ msgstr "ç°¡ç?­(_F)"
 #. sometimes want the entire row of a table read, or
 #. they just want the current cell to be presented to them.
 #.
-#: ../src/orca/orca_gui_prefs.py:3101
-msgid "Speak current _cell"
-msgstr "è®?å?ºç?®å??ç??å?²å­?æ ¼(_C)"
+#. Translators: This is one of two options available in the Preferences dialog for the Table Rows setting. If chosen, Orca will speak just the new cell when the user arrows Up or Down in a table.
+#: ../src/orca/orca_gui_prefs.py:3114 ../src/orca/orca-setup.ui.h:130
+msgid "Speak _cell"
+msgstr "����格(_C)"
 
 #. Translators: this is a spoken prompt asking the user to press
 #. a new key combination (e.g., Alt+Ctrl+g) to create a new
 #. key bindings.
 #.
-#: ../src/orca/orca_gui_prefs.py:3855
+#: ../src/orca/orca_gui_prefs.py:3852
 msgid "enter new key"
 msgstr "輸å?¥æ?°ç??æ??é?µ"
 
-#. Translators: this is a spoken prompt letting the user know
-#. Orca has deleted an existing key combination based upon
-#. their input.
-#.
-#: ../src/orca/orca_gui_prefs.py:3884
+#: ../src/orca/orca_gui_prefs.py:3882
 msgid "Key binding deleted. Press enter to confirm."
 msgstr "æ??é?µçµ?å??å·²å?ªé?¤ã??æ?? enter 確èª?ã??"
 
@@ -4125,7 +4840,7 @@ msgstr "æ??é?µçµ?å??å·²å?ªé?¤ã??æ?? enter 確èª?ã??"
 #. that the key combination (e.g., Ctrl+Alt+f) they just
 #. entered has already been bound to another command.
 #.
-#: ../src/orca/orca_gui_prefs.py:3908
+#: ../src/orca/orca_gui_prefs.py:3906
 #, python-format
 msgid "The key entered is already bound to %s"
 msgstr "輸å?¥ç??æ??é?µå·²ç¹«çµ?æ?¼ %s"
@@ -4134,7 +4849,7 @@ msgstr "輸å?¥ç??æ??é?µå·²ç¹«çµ?æ?¼ %s"
 #. know Orca has recorded a new key combination (e.g., Alt+Ctrl+g)
 #. based upon their input.
 #.
-#: ../src/orca/orca_gui_prefs.py:3915
+#: ../src/orca/orca_gui_prefs.py:3912
 #, python-format
 msgid "Key captured: %s. Press enter to confirm."
 msgstr "æ??é?µæ?·å??ï¼?%sã??æ?? enter 確èª?ã??"
@@ -4143,7 +4858,7 @@ msgstr "æ??é?µæ?·å??ï¼?%sã??æ?? enter 確èª?ã??"
 #. combination (e.g., Ctrl+Alt+f) the user just typed when
 #. creating a new key binding.
 #.
-#: ../src/orca/orca_gui_prefs.py:3954
+#: ../src/orca/orca_gui_prefs.py:3951
 #, python-format
 msgid "The new key is: %s"
 msgstr "æ?°ç??æ??é?µæ?¯ï¼?%s"
@@ -4152,20 +4867,20 @@ msgstr "æ?°ç??æ??é?µæ?¯ï¼?%s"
 #. existing key combination (e.g., Ctrl+Alt+f) that was
 #. associated with a command has been deleted.
 #.
-#: ../src/orca/orca_gui_prefs.py:3962
+#: ../src/orca/orca_gui_prefs.py:3959
 msgid "The keybinding has been removed."
 msgstr "該æ??é?µçµ?å??å·²ç¶?被移é?¤ã??"
 
 #. Translators: this refers to the keyboard layout (desktop
 #. or laptop).
 #.
-#: ../src/orca/orca_gui_prefs.py:4040 ../src/orca/orca-setup.ui.h:155
+#: ../src/orca/orca_gui_prefs.py:4011 ../src/orca/orca-setup.ui.h:159
 msgid "_Desktop"
 msgstr "æ¡?é?¢(_D)"
 
 #. Translators: Orca Preferences is the configuration GUI for Orca.
 #.
-#: ../src/orca/orca_gui_prefs.py:5099
+#: ../src/orca/orca_gui_prefs.py:5071
 msgid "Starting Orca Preferences."
 msgstr "å??å?? Orca å??好設å®?ã??"
 
@@ -4175,7 +4890,7 @@ msgstr "Orca è?¢å¹?é?±è®?ç¨?å¼?å??æ?¾å¤§é?¡"
 
 #. Translators: this is what Orca speaks and brailles when it quits.
 #.
-#: ../src/orca/orca.py:298 ../src/orca/orca.py:1360 ../src/orca/orca.py:1361
+#: ../src/orca/orca.py:310 ../src/orca/orca.py:1709
 msgid "Goodbye."
 msgstr "å??è¦?ã??"
 
@@ -4188,18 +4903,30 @@ msgstr "å??è¦?ã??"
 #. Exiting learn mode puts the user back in normal operating
 #. mode.
 #.
-#: ../src/orca/orca.py:370
+#: ../src/orca/orca.py:384
 msgid "Exiting learn mode."
 msgstr "é?¢é??å­¸ç¿?模å¼?ã??"
 
+#. 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.
+#.
+#: ../src/orca/orca.py:408
+msgid "Exiting list shortcuts mode."
+msgstr "é?¢é??å??å?ºæ?·å¾?é?µæ¨¡å¼?ã??"
+
 #. Translators: this represents the state of a check box
 #.
 #. Translators: this represents the state of a locking modifier
 #. key (e.g., Caps Lock)
 #.
-#: ../src/orca/orca.py:619
-#: ../src/orca/scripts/apps/soffice/speech_generator.py:172
-#: ../src/orca/speech.py:275 ../src/orca/speechserver.py:218
+#: ../src/orca/orca.py:660
+#: ../src/orca/scripts/apps/soffice/speech_generator.py:220
+#: ../src/orca/speech.py:287 ../src/orca/speechserver.py:218
 msgid "off"
 msgstr " é??"
 
@@ -4208,23 +4935,23 @@ msgstr " é??"
 #. Translators: this represents the state of a locking modifier
 #. key (e.g., Caps Lock)
 #.
-#: ../src/orca/orca.py:623
-#: ../src/orca/scripts/apps/soffice/speech_generator.py:168
-#: ../src/orca/speech.py:270 ../src/orca/speechserver.py:213
+#: ../src/orca/orca.py:664
+#: ../src/orca/scripts/apps/soffice/speech_generator.py:216
+#: ../src/orca/speech.py:282 ../src/orca/speechserver.py:213
 msgid "on"
 msgstr " é??"
 
 #. Translators: this is a spoken prompt letting the user know
 #. that speech synthesis has been turned back on.
 #.
-#: ../src/orca/orca.py:961
+#: ../src/orca/orca.py:1021
 msgid "Speech enabled."
 msgstr "å·²å??ç?¨æ??è®?å??è?½ã??"
 
 #. Translators: this is a spoken prompt letting the user know
 #. that speech synthesis has been temporarily turned off.
 #.
-#: ../src/orca/orca.py:966
+#: ../src/orca/orca.py:1026
 msgid "Speech disabled."
 msgstr "å·²å??ç?¨æ??è®?å??è?½ã??"
 
@@ -4232,18 +4959,122 @@ msgstr "å·²å??ç?¨æ??è®?å??è?½ã??"
 #. preferences.  This is a spoken prompt to let the user
 #. know when the preferences has been reloaded.
 #.
-#: ../src/orca/orca.py:1033
+#: ../src/orca/orca.py:1156
 msgid "Orca user settings reloaded."
 msgstr "å·²é??æ?°è¼?å?¥ Orca 使ç?¨è??設å®?ã??"
 
-#: ../src/orca/orca.py:1442
+#. 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.
+#.
+#: ../src/orca/orca.py:1331
+msgid "Use Up and Down Arrow to navigate the list. Press Escape to exit."
+msgstr "使ç?¨ä¸?ã??ä¸?æ?¹å??é?µä¾?ç??覽æ¸?å?®ã??æ?? Escape çµ?æ??ã??"
+
+#. Translators: This message is presented when the user is in
+#. 'list of shortcuts mode'. In this messsage, we present the
+#. number of shortcuts found.
+#.
+#: ../src/orca/orca.py:1345
+#, python-format
+msgid "%d Orca default shortcut found."
+msgid_plural "%d Orca default shortcuts found."
+msgstr[0] "æ?¾å?° %d å?? Orca é ?設æ?·å¾?é?µã??"
+
+#. Translators: This message is presented when the user is in
+#. 'list of shortcuts mode'. In this message, we present the
+#. number of shortcuts found for the named application.
+#.
+#: ../src/orca/orca.py:1367
+#, python-format
+msgid "%(count)d Orca shortcut for %(application)s found."
+msgid_plural "%(count)d Orca shortcuts for %(application)s found."
+msgstr[0] "æ?¾å?° %(count)d å?? Orca %(application)s æ?·å¾?é?µã??"
+
+#. 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.
+#.
+#: ../src/orca/orca.py:1385
+#, python-format
+msgid "No Orca shortcuts for %s found."
+msgstr "æ?¾ä¸?å?° %s ç?? Orca æ?·å¾?é?µã??"
+
+#. 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.
+#.
+#. Translators: when the user is attempting to locate a
+#. particular object and the top of the 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.
+#.
+#. 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.
+#.
+#: ../src/orca/orca.py:1403 ../src/orca/scripts/toolkits/Gecko/script.py:6077
+#: ../src/orca/structural_navigation.py:885
+msgid "Wrapping to bottom."
+msgstr "è·³è?³åº?é?¨ã??"
+
+#. 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.
+#.
+#. Translators: when the user is attempting to locate a
+#. particular object and the bottom of the 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.
+#.
+#. 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.
+#.
+#: ../src/orca/orca.py:1424 ../src/orca/scripts/toolkits/Gecko/script.py:6145
+#: ../src/orca/structural_navigation.py:893
+msgid "Wrapping to top."
+msgstr "å??å?°é??å§?ã??"
+
+#: ../src/orca/orca.py:1495
+msgid "keypad "
+msgstr ""
+
+#. Translators: Orca keybindings support double
+#. and triple "clicks" or key presses, similar to
+#. using a mouse.
+#.
+#: ../src/orca/orca.py:1502
+msgid "double click"
+msgstr "é??æ??"
+
+#. Translators: Orca keybindings support double
+#. and triple "clicks" or key presses, similar to
+#. using a mouse.
+#.
+#: ../src/orca/orca.py:1508
+msgid "triple click"
+msgstr "ä¸?æ??"
+
+#: ../src/orca/orca.py:1792
 msgid "Usage: orca [OPTION...]"
 msgstr "���orca [��...]"
 
 #. Translators: this is the description of the command line option
 #. '-?, --help' that is used to display usage information.
 #.
-#: ../src/orca/orca.py:1448
+#: ../src/orca/orca.py:1798
 msgid "Show this help message"
 msgstr "顯示此說æ??è¨?æ?¯"
 
@@ -4251,7 +5082,7 @@ msgstr "顯示此說æ??è¨?æ?¯"
 #. the names of the applications known to the accessibility infrastructure
 #. to stdout and then exits.
 #.
-#: ../src/orca/orca.py:1457
+#: ../src/orca/orca.py:1807
 msgid "Print the known running applications"
 msgstr "顯示已ç?¥å?·è¡?ç??æ??ç?¨ç¨?å¼?"
 
@@ -4263,7 +5094,7 @@ msgstr "顯示已ç?¥å?·è¡?ç??æ??ç?¨ç¨?å¼?"
 #. always start with 'debug' and end with '.out', regardless of the
 #. locale.).
 #.
-#: ../src/orca/orca.py:1468
+#: ../src/orca/orca.py:1818
 msgid "Send debug output to debug-YYYY-MM-DD-HH:MM:SS.out"
 msgstr "�����輸�� debug-YYYY-MM-DD-HH:MM:SS.out "
 
@@ -4271,7 +5102,7 @@ msgstr "�����輸�� debug-YYYY-MM-DD-HH:MM:SS.out "
 #. the name of the debug file Orca will use for debug output if the
 #. --debug option is used.
 #.
-#: ../src/orca/orca.py:1475
+#: ../src/orca/orca.py:1825
 msgid "Send debug output to the specified file"
 msgstr "å°?é?¤é?¯è¼¸å?ºè³?æ??å?³é??è?³æ??å®?ç??æª?æ¡?"
 
@@ -4279,7 +5110,7 @@ msgstr "å°?é?¤é?¯è¼¸å?ºè³?æ??å?³é??è?³æ??å®?ç??æª?æ¡?"
 #. '-s, --setup, --gui-setup' that will initially display a GUI dialog
 #. that would allow the user to set their Orca preferences.
 #.
-#: ../src/orca/orca.py:1481
+#: ../src/orca/orca.py:1831
 msgid "Set up user preferences"
 msgstr "設å®?使ç?¨è??å??好設å®?"
 
@@ -4289,7 +5120,7 @@ msgstr "設å®?使ç?¨è??å??好設å®?"
 #. startup. For this to happen properly, Orca will need to be run
 #. from a terminal window.
 #.
-#: ../src/orca/orca.py:1490
+#: ../src/orca/orca.py:1840
 msgid "Set up user preferences (text version)"
 msgstr "設å®?使ç?¨è??å??好設å®?ï¼?æ??å­?ç??æ?¬ï¼?"
 
@@ -4297,17 +5128,15 @@ msgstr "設å®?使ç?¨è??å??好設å®?ï¼?æ??å­?ç??æ?¬ï¼?"
 #. '-n, --no-setup' that means that Orca will startup without setting
 #. up any user preferences.
 #.
-#: ../src/orca/orca.py:1497
+#: ../src/orca/orca.py:1847
 msgid "Skip set up of user preferences"
 msgstr "ç?¥é??使ç?¨è??å??好設å®?"
 
-#. Translators: by default, Orca expects to find its user preferences
-#. in a directory called .orca under the user's home directory. This
-#. is the description of the command line option
+#. Translators: this is the description of the command line option
 #. '-u, --user-prefs-dir=dirname' that allows you to specify an alternate
-#. location for those user preferences.
+#. location for the user preferences.
 #.
-#: ../src/orca/orca.py:1506
+#: ../src/orca/orca.py:1854
 msgid "Use alternate directory for user preferences"
 msgstr "å?¶å®?使ç?¨è??å??好設å®?ç??è³?æ??夾å??稱"
 
@@ -4315,7 +5144,7 @@ msgstr "å?¶å®?使ç?¨è??å??好設å®?ç??è³?æ??夾å??稱"
 #. command line option, it will be automatically enabled as Orca is
 #. started.
 #.
-#: ../src/orca/orca.py:1519
+#: ../src/orca/orca.py:1868
 msgid "Force use of option"
 msgstr "å¼·å?¶ä½¿ç?¨ç??é?¸é ?"
 
@@ -4323,7 +5152,7 @@ msgstr "å¼·å?¶ä½¿ç?¨ç??é?¸é ?"
 #. command line option, it will be automatically disabled as Orca is
 #. started.
 #.
-#: ../src/orca/orca.py:1532
+#: ../src/orca/orca.py:1882
 msgid "Prevent use of option"
 msgstr "é?¿å??使ç?¨ç??é?¸é ?"
 
@@ -4332,18 +5161,28 @@ msgstr "é?¿å??使ç?¨ç??é?¸é ?"
 #. If this command line option is specified, the script will quit any
 #. instances of Orca that are already running.
 #.
-#: ../src/orca/orca.py:1540
+#: ../src/orca/orca.py:1890
 msgid "Quits Orca (if shell script used)"
 msgstr "é?¢é?? Orcaï¼?å¦?æ?? shell script æ??使ç?¨ï¼?"
 
+#. Translators: this is the Orca command line option that will force
+#. the termination of Orca.
+#. The user would run the Orca shell script again from a terminal window.
+#. If this command line option is specified, the script will quit any
+#. instances of Orca that are already running.
+#.
+#: ../src/orca/orca.py:1899
+msgid "Forces orca to be terminated immediately."
+msgstr "å¼·å?¶ orca ç«?å?³ä¸­æ­¢ã??"
+
 #. Translators: this is the Orca command line option to tell Orca to
 #. replace any existing Orca process(es) that might be running.
 #.
-#: ../src/orca/orca.py:1546
+#: ../src/orca/orca.py:1908
 msgid "Replace a currently running Orca"
 msgstr "æ?¿æ??ç?®å??å?·è¡?ç?? Orca"
 
-#: ../src/orca/orca.py:1552
+#: ../src/orca/orca.py:1914
 msgid ""
 "If Orca has not been previously set up by the user, Orca\n"
 "will automatically launch the preferences set up unless\n"
@@ -4353,7 +5192,7 @@ msgstr ""
 "Orca æ??è?ªå??å?·è¡?å??好設å®?ï¼?\n"
 "é?¤é??æ??å®?äº? -n æ?? --no-setup é??é ?ã??"
 
-#: ../src/orca/orca.py:1560
+#: ../src/orca/orca.py:1922
 msgid ""
 "WARNING: suspending Orca, e.g. by pressing Control-Z, from\n"
 "an AT-SPI enabled shell (such as gnome-terminal), can also\n"
@@ -4363,11 +5202,11 @@ msgstr ""
 "系統殼(gnome-terminal)中æ??ä¸? Control-Z ï¼?\n"
 "æ??å??æ??使æ¡?é?¢æ?«å??ï¼?ç?´å?° Orca 被中止ã??"
 
-#: ../src/orca/orca.py:1565
+#: ../src/orca/orca.py:1927
 msgid "Report bugs to orca-list gnome org "
 msgstr "�報�誤� orca-list gnome org"
 
-#: ../src/orca/orca.py:1750
+#: ../src/orca/orca.py:2134
 msgid "Welcome to Orca."
 msgstr "æ­¡è¿?使ç?¨ Orcaã??"
 
@@ -4542,364 +5381,374 @@ msgstr "游�大��"
 msgid "Custom siz_e"
 msgstr "��大�(_E)"
 
-#: ../src/orca/orca-setup.ui.h:51
+#. Translators: Orca can present the current date to the user, here they can choose how the date should be presented to them.
+#: ../src/orca/orca-setup.ui.h:52
+msgid "Dat_e format:"
+msgstr "æ?¥æ??æ ¼å¼?(_E):"
+
+#: ../src/orca/orca-setup.ui.h:53
 msgid "Default"
 msgstr "�設"
 
-#: ../src/orca/orca-setup.ui.h:52
+#: ../src/orca/orca-setup.ui.h:54
 msgid "Disable _end of line symbol"
 msgstr "å??ç?¨è¡?尾符è??(_E)"
 
-#: ../src/orca/orca-setup.ui.h:53
+#: ../src/orca/orca-setup.ui.h:55
 msgid "Disable gksu _keyboard grab"
 msgstr "å??æ­¢ gksu é?µç?¤æ?·å??(_K)"
 
 #. Translators: When a user chooses a tracking alignment of "push", Orca moves the magnified view just enough to fit the object of interest at the very edge of the screen.  The "edge margin" allows the user to specify a margin so that objects are not displayed too close to the edge.
-#: ../src/orca/orca-setup.ui.h:58
+#: ../src/orca/orca-setup.ui.h:60
 msgid "Edge mar_gin:"
 msgstr "é??ç·£å°?é½?(_G):"
 
-#: ../src/orca/orca-setup.ui.h:59
+#: ../src/orca/orca-setup.ui.h:61
 msgid "Enable Braille _monitor"
 msgstr "å??ç?¨é»?å­?ç?£å?¨(_M)"
 
-#: ../src/orca/orca-setup.ui.h:60
+#: ../src/orca/orca-setup.ui.h:62
 msgid "Enable Braille _support"
 msgstr "å??ç?¨é»?å­?æ?¯æ?´(_S)"
 
-#: ../src/orca/orca-setup.ui.h:61
+#: ../src/orca/orca-setup.ui.h:63
 msgid "Enable _alphanumeric and punctuation keys"
 msgstr "å??ç?¨æ??æ?¸å­?å??å??æ¨?é»?符è??æ??é?µ(_A)"
 
-#: ../src/orca/orca-setup.ui.h:62
+#: ../src/orca/orca-setup.ui.h:64
 msgid "Enable _function keys"
 msgstr "å??ç?¨å??è?½é?µ(_F)"
 
-#: ../src/orca/orca-setup.ui.h:63
+#: ../src/orca/orca-setup.ui.h:65
 msgid "Enable _key echo"
 msgstr "å??ç?¨æ??é?µå??é?¿(_K)"
 
-#: ../src/orca/orca-setup.ui.h:64
+#: ../src/orca/orca-setup.ui.h:66
 msgid "Enable _magnifier"
 msgstr "å??ç?¨æ?¾å¤§é?¡(_M)"
 
-#: ../src/orca/orca-setup.ui.h:65
+#: ../src/orca/orca-setup.ui.h:67
 msgid "Enable _modifier keys"
 msgstr "å??ç?¨ä¿®æ?¹é?µ(_M)"
 
-#: ../src/orca/orca-setup.ui.h:66
+#: ../src/orca/orca-setup.ui.h:68
 msgid "Enable _navigation keys"
 msgstr "å??ç?¨å°?覽é?µ(_N)"
 
-#: ../src/orca/orca-setup.ui.h:67
+#: ../src/orca/orca-setup.ui.h:69
 msgid "Enable ac_tion keys"
 msgstr "å??ç?¨å??ä½?é?µ(_T)"
 
-#: ../src/orca/orca-setup.ui.h:68
+#: ../src/orca/orca-setup.ui.h:70
 msgid "Enable bor_der"
 msgstr "å??ç?¨æ¡?ç·?(_D)"
 
-#: ../src/orca/orca-setup.ui.h:69
+#: ../src/orca/orca-setup.ui.h:71
 msgid "Enable c_ursor"
 msgstr "å??ç?¨æ¸¸æ¨?(_U)"
 
-#: ../src/orca/orca-setup.ui.h:70
+#: ../src/orca/orca-setup.ui.h:72
 msgid "Enable cross-h_air"
 msgstr "å??ç?¨å??å­?æº?æ??(_A)"
 
-#: ../src/orca/orca-setup.ui.h:71
+#: ../src/orca/orca-setup.ui.h:73
 msgid "Enable cross-hair cl_ip"
 msgstr "å??ç?¨å??å­?æº?æ??(_I)"
 
-#: ../src/orca/orca-setup.ui.h:72
+#: ../src/orca/orca-setup.ui.h:74
 msgid "Enable echo by _sentence"
 msgstr "å??ç?¨å?¥å­?å??é?¿(_S)"
 
-#: ../src/orca/orca-setup.ui.h:73
+#: ../src/orca/orca-setup.ui.h:75
 msgid "Enable echo by _word"
 msgstr "å??ç?¨å­?è©?å??é?¿(_W)"
 
-#: ../src/orca/orca-setup.ui.h:76
+#: ../src/orca/orca-setup.ui.h:78
 msgid "Enable lockin_g keys"
 msgstr "å??ç?¨é??å®?é?µ(_G)"
 
 #. Translators: This is an option in the Preferences dialog box related to the speaking of progress bar information. If checked, Orca will speak progress bar information.
-#: ../src/orca/orca-setup.ui.h:80
+#: ../src/orca/orca-setup.ui.h:82
 msgid "Enable_d"
 msgstr "å·²å??ç?¨(_D)"
 
 #. Translators: Here this is a label for a spin button through which a user can customize the frequency in seconds an announcement should be made regarding the current value of a progress bar.
-#: ../src/orca/orca-setup.ui.h:82
+#: ../src/orca/orca-setup.ui.h:84
 msgid "Frequency (secs):"
 msgstr "é »ç?? (ç§?)ï¼?"
 
-#: ../src/orca/orca-setup.ui.h:84
+#: ../src/orca/orca-setup.ui.h:86
 msgid "General"
 msgstr "��"
 
-#: ../src/orca/orca-setup.ui.h:85
+#: ../src/orca/orca-setup.ui.h:87
 msgid "Hide s_ystem pointer"
 msgstr "é?±è??系統æ??æ¨?(_Y)"
 
-#: ../src/orca/orca-setup.ui.h:86
+#: ../src/orca/orca-setup.ui.h:88
 msgid "Hyperlink"
 msgstr "���"
 
-#: ../src/orca/orca-setup.ui.h:87
+#: ../src/orca/orca-setup.ui.h:89
 msgid "In_vert colors"
 msgstr "ç?¸å??é¡?è?²(_V)"
 
-#: ../src/orca/orca-setup.ui.h:88
+#: ../src/orca/orca-setup.ui.h:90
 msgid "Key Bindings"
 msgstr "æ??é?µçµ?å??"
 
-#: ../src/orca/orca-setup.ui.h:89
+#: ../src/orca/orca-setup.ui.h:91
 msgid "Key Echo"
 msgstr "æ??é?µå??é?¿"
 
-#: ../src/orca/orca-setup.ui.h:93
+#: ../src/orca/orca-setup.ui.h:95
 msgid "Magnifier"
 msgstr "�大�"
 
-#: ../src/orca/orca-setup.ui.h:94
+#: ../src/orca/orca-setup.ui.h:96
 msgid "Mouse poi_nter:"
 msgstr "æ»?é¼ æ??æ¨?(_N):"
 
 #. Translators: This label is on a button on the Text Attributes pane of the Orca Preferences dialog. On that pane there is a long list of possible text attributes. The user can select one and then, by using the Move _down one button, move that attribute down one line in the list. The ordering in the list is important as Orca will speak the selected text attributes in the given order.
-#: ../src/orca/orca-setup.ui.h:96
+#: ../src/orca/orca-setup.ui.h:98
 msgid "Move _down one"
 msgstr "�移��(_D)"
 
 #. Translators: This label is on a button on the Text Attributes pane of the Orca Preferences dialog. On that pane there is a long list of possible text attributes. The user can select one and then, by using the Move _up one button, move that attribute up one line in the list. The ordering in the list is important as Orca will speak the selected text attributes in the given order.
-#: ../src/orca/orca-setup.ui.h:98
+#: ../src/orca/orca-setup.ui.h:100
 msgid "Move _up one"
 msgstr "�移��(_U)"
 
 #. Translators: This label is on a button on the Text Attributes pane of the Orca Preferences dialog. On that pane there is a long list of possible text attributes. The user can select one and then, by using the Move to _bottom button, move that attribute to the bottom of the list. The ordering in the list is important as Orca will speak the selected text attributes in the given order.
-#: ../src/orca/orca-setup.ui.h:100
+#: ../src/orca/orca-setup.ui.h:102
 msgid "Move to _bottom"
 msgstr "移���(_B)"
 
 #. Translators:  This label is on a button on the Text Attributes pane of the Orca Preferences dialog. On that pane there is a long list of possible text attributes. The user can select one and then, by using the Move to _top button, move that attribute to the top of the list. The ordering in the list is important as Orca will speak the selected text attributes in the given order.
-#: ../src/orca/orca-setup.ui.h:102
+#: ../src/orca/orca-setup.ui.h:104
 msgid "Move to _top"
 msgstr "移��端(_T)"
 
-#: ../src/orca/orca-setup.ui.h:104
-msgid "Orca Modifier Keys"
-msgstr "Orca 修��"
+#. Translators: If this setting is enabled, Orca will only speak text which is actually displayed on the screen. It will NOT speak things like the role of an item (e.g. 'checkbox') or its state (e.g. 'not checked') or say 'mispelled' to indicate the presence of red squiggly spelling error lines -- things which Orca normally speaks. This setting is primarily intended for low vision users and sighted users with a learning disability.
+#: ../src/orca/orca-setup.ui.h:107
+msgid "Only speak displayed text"
+msgstr "å?ªè®?å?ºé¡¯ç¤ºç??æ??å­?"
 
-#: ../src/orca/orca-setup.ui.h:105
+#: ../src/orca/orca-setup.ui.h:108
 msgid "Orca Preferences"
 msgstr "Orca å??好設å®?"
 
-#: ../src/orca/orca-setup.ui.h:106
+#: ../src/orca/orca-setup.ui.h:109
 msgid "Orca _Modifier Key(s):"
 msgstr "Orca 修��(_M):"
 
-#: ../src/orca/orca-setup.ui.h:107
+#: ../src/orca/orca-setup.ui.h:110
 msgid "Pi_tch:"
 msgstr "�調(_T):"
 
 #. Translators:  if this setting is enabled, the mouse pointer will move to each menu item that the user has arrowed to and each dialog box control that the user has tabbed to.
-#: ../src/orca/orca-setup.ui.h:109
+#: ../src/orca/orca-setup.ui.h:112
 msgid "Pointer follows focus"
 msgstr "æ??æ¨?è·?é?¨ç?¦é»?"
 
 #. Translators: when using magnification software, it is possible for the mouse pointer to not be visible in the "zoomer," which is the magnified view of the screen.  If the "pointer follows zoomer" setting is enabled and the mouse is moved, the pointer will be moved so that it is visible in the zoomer.  If it is not enabled, the zoomer will be moved to display the location of the mouse pointer.
-#: ../src/orca/orca-setup.ui.h:111
+#: ../src/orca/orca-setup.ui.h:114
 msgid "Pointer follows zoomer"
 msgstr "æ??æ¨?è·?é?¨æ?¾å¤§é?¡"
 
-#: ../src/orca/orca-setup.ui.h:112
+#: ../src/orca/orca-setup.ui.h:115
 msgid "Pronunciation"
 msgstr "��"
 
-#: ../src/orca/orca-setup.ui.h:115
+#: ../src/orca/orca-setup.ui.h:118
 msgid "Quit Orca _without confirmation"
 msgstr "ä¸?確èª?è??é?¢é?? Orca(_W)"
 
 #. Translators: Orca has a setting which determines which progress bar updates should be announced. The options are all progress bars, only progress bars in the active application, or only progress bars in the current window.
-#: ../src/orca/orca-setup.ui.h:117
+#: ../src/orca/orca-setup.ui.h:120
 msgid "Restrict to:"
 msgstr "é??å?¶ç?ºï¼?"
 
 #. Translators: Say all by refers to the way that Orca will say (speak) an amount of text -- in particular, where Orca where insert pauses. There are currently two choices (supplied by a combo box to the right of this label): say all by sentence and  say all by line.  If Orca were speaking a work of fiction, it's probably best to do say all by sentence so it sound more natural. If Orca were speaking something like a page of computer commands, doing a say all by line would work better.
-#: ../src/orca/orca-setup.ui.h:120
+#: ../src/orca/orca-setup.ui.h:123
 msgid "Say All B_y:"
 msgstr "é?±è®?å??é ?æ?¼(_Y):"
 
-#: ../src/orca/orca-setup.ui.h:121
+#: ../src/orca/orca-setup.ui.h:124
 msgid "Scale _factor:"
 msgstr "æ?¾å¤§ç??(_F):"
 
-#: ../src/orca/orca-setup.ui.h:123
+#: ../src/orca/orca-setup.ui.h:126
 msgid "Show Orca _main window"
 msgstr "顯示 Orca 主��(_M)"
 
-#: ../src/orca/orca-setup.ui.h:125
+#: ../src/orca/orca-setup.ui.h:128
 msgid "Spea_k object mnemonics"
 msgstr "���件��符(_K)"
 
-#. Translators: This is one of two options available in the Preferences dialog for the Table Rows setting. If chosen, Orca will speak just the new cell when the user arrows Up or Down in a table.
-#: ../src/orca/orca-setup.ui.h:127
-msgid "Speak _cell"
-msgstr "����格(_C)"
-
-#: ../src/orca/orca-setup.ui.h:128
+#: ../src/orca/orca-setup.ui.h:131
 msgid "Speak _indentation and justification"
 msgstr "è®?å?ºç¸®æ??å??å°?é½?(_I)"
 
-#: ../src/orca/orca-setup.ui.h:129
+#: ../src/orca/orca-setup.ui.h:132
 msgid "Speak _none"
 msgstr "è®?å?ºã??æ²?æ??ã??(_N)"
 
-#: ../src/orca/orca-setup.ui.h:130
+#: ../src/orca/orca-setup.ui.h:133
 msgid "Speak blank lines"
 msgstr "è®?å?ºç©ºç?½ç??è¡?"
 
 #. Translators: This checkbox toggles whether or not Orca says the child position (e.g., 'item 6 of 7').
-#: ../src/orca/orca-setup.ui.h:132
+#: ../src/orca/orca-setup.ui.h:135
 msgid "Speak child p_osition"
 msgstr "�����置(_O)"
 
 #. Translators: multicase strings are StringsWithWordsMashedTogetherLikeThis.
-#: ../src/orca/orca-setup.ui.h:134
+#: ../src/orca/orca-setup.ui.h:137
 msgid "Speak multicase strings as wor_ds"
 msgstr "å°?æ··å??大å°?寫ç??å­?串è®?ç?ºä¸?å??å­?(_D)"
 
-#: ../src/orca/orca-setup.ui.h:135
+#: ../src/orca/orca-setup.ui.h:138
 msgid "Speak object under mo_use"
 msgstr "å?¸å?ºæ»?é¼ ä¸?æ?¹ç??ç?©ä»¶(_U)"
 
 #. Translators: This is one of two options available in the Preferences dialog for the Table Rows setting. If chosen, Orca will speak the entire row when the user arrows Up or Down in a table.
-#: ../src/orca/orca-setup.ui.h:137
+#: ../src/orca/orca-setup.ui.h:140
 msgid "Speak ro_w"
 msgstr "è®?å?ºå??(_W)"
 
-#: ../src/orca/orca-setup.ui.h:138
+#: ../src/orca/orca-setup.ui.h:141
 msgid "Speak tutorial messages"
 msgstr "è®?å?ºæ??å­¸è¨?æ?¯"
 
-#: ../src/orca/orca-setup.ui.h:139
+#: ../src/orca/orca-setup.ui.h:142
 msgid "Speech"
 msgstr "æ??è®?"
 
-#: ../src/orca/orca-setup.ui.h:140
+#: ../src/orca/orca-setup.ui.h:143
 msgid "Speech _system:"
 msgstr "æ??è®?系統(_S):"
 
-#: ../src/orca/orca-setup.ui.h:141
+#: ../src/orca/orca-setup.ui.h:144
 msgid "Speech synthesi_zer:"
 msgstr "æ??è®?å??æ??å?¨(_Z):"
 
-#: ../src/orca/orca-setup.ui.h:142
+#: ../src/orca/orca-setup.ui.h:145
 msgid "Start Orca when you lo_gin"
 msgstr "ç?¶æ?¨ç?»å?¥æ??å??å?? Orca(_G)"
 
-#: ../src/orca/orca-setup.ui.h:143
+#: ../src/orca/orca-setup.ui.h:146
+msgid "System"
+msgstr "系統"
+
+#: ../src/orca/orca-setup.ui.h:147
 msgid "Te_xt cursor:"
 msgstr "æ??å­?游æ¨?(_X):"
 
-#: ../src/orca/orca-setup.ui.h:144
+#: ../src/orca/orca-setup.ui.h:148
 msgid "Text Attributes"
 msgstr "æ??å­?屬æ?§"
 
-#: ../src/orca/orca-setup.ui.h:146
+#: ../src/orca/orca-setup.ui.h:150
 msgid "Uppercase"
 msgstr "大寫��"
 
-#: ../src/orca/orca-setup.ui.h:147
+#: ../src/orca/orca-setup.ui.h:151
 msgid "Ver_bose"
 msgstr "詳細(_B)"
 
-#: ../src/orca/orca-setup.ui.h:148
+#: ../src/orca/orca-setup.ui.h:152
 msgid "Vo_lume:"
 msgstr "é?³é??(_L):"
 
 #. Translators: long braille for the rolename of a window.
 #.
-#: ../src/orca/orca-setup.ui.h:149 ../src/orca/rolenames.py:1079
+#: ../src/orca/orca-setup.ui.h:153 ../src/orca/rolenames.py:1079
 msgid "Window"
 msgstr "��"
 
-#: ../src/orca/orca-setup.ui.h:150
+#: ../src/orca/orca-setup.ui.h:154
 msgid "_Abbreviated role names"
 msgstr "縮寫任å??å??稱(_A)"
 
-#: ../src/orca/orca-setup.ui.h:151
+#: ../src/orca/orca-setup.ui.h:155
 msgid "_All"
 msgstr "��(_A)"
 
-#: ../src/orca/orca-setup.ui.h:152
+#: ../src/orca/orca-setup.ui.h:156
 msgid "_Bottom:"
 msgstr "�(_B):"
 
-#: ../src/orca/orca-setup.ui.h:153
+#: ../src/orca/orca-setup.ui.h:157
 msgid "_Control and menu item:"
 msgstr "æ?§å?¶è??é?¸å?®é ?ç?®(_C):"
 
-#: ../src/orca/orca-setup.ui.h:154
+#: ../src/orca/orca-setup.ui.h:158
 msgid "_Delete"
 msgstr "��(_D)"
 
-#: ../src/orca/orca-setup.ui.h:156
+#: ../src/orca/orca-setup.ui.h:160
 msgid "_Enable Contracted Braille"
 msgstr "å??ç?¨ç¸®ç?­å¼?é»?å­?(_E)"
 
-#: ../src/orca/orca-setup.ui.h:157
+#: ../src/orca/orca-setup.ui.h:161
 msgid "_Enable speech"
 msgstr "å??ç?¨æ??è®?(_E)"
 
-#: ../src/orca/orca-setup.ui.h:158
+#: ../src/orca/orca-setup.ui.h:162
 msgid "_Laptop"
 msgstr "�����(_L)"
 
-#: ../src/orca/orca-setup.ui.h:159
+#: ../src/orca/orca-setup.ui.h:163
 msgid "_Left:"
 msgstr "å·¦(_L):"
 
-#: ../src/orca/orca-setup.ui.h:160
+#: ../src/orca/orca-setup.ui.h:164
 msgid "_New entry"
 msgstr "æ?°é ?ç?®(_N)"
 
-#: ../src/orca/orca-setup.ui.h:162
+#: ../src/orca/orca-setup.ui.h:166
 msgid "_Person:"
 msgstr "æ??è®?è??(_P):"
 
-#: ../src/orca/orca-setup.ui.h:163
+#: ../src/orca/orca-setup.ui.h:167
 msgid "_Position:"
 msgstr "ä½?ç½®(_P):"
 
-#: ../src/orca/orca-setup.ui.h:164
+#: ../src/orca/orca-setup.ui.h:168
 msgid "_Present tooltips"
 msgstr "顯示工å?·æ??示(_P)"
 
-#: ../src/orca/orca-setup.ui.h:165
+#: ../src/orca/orca-setup.ui.h:169
 msgid "_Rate:"
 msgstr "é??度(_R):"
 
-#: ../src/orca/orca-setup.ui.h:166
+#: ../src/orca/orca-setup.ui.h:170
 msgid "_Reset"
 msgstr "é??設(_R)"
 
-#: ../src/orca/orca-setup.ui.h:167
+#: ../src/orca/orca-setup.ui.h:171
 msgid "_Right:"
 msgstr "å?³(_R):"
 
-#: ../src/orca/orca-setup.ui.h:168
+#: ../src/orca/orca-setup.ui.h:172
 msgid "_Speak all"
 msgstr "����(_S)"
 
-#: ../src/orca/orca-setup.ui.h:169
+#. Translators: Orca can present the current time to the user, here they can choose how the time should be presented to them.
+#: ../src/orca/orca-setup.ui.h:174
+msgid "_Time format:"
+msgstr "æ??å?»æ ¼å¼?(_T):"
+
+#: ../src/orca/orca-setup.ui.h:175
 msgid "_Top:"
 msgstr "�(_T):"
 
-#: ../src/orca/orca-setup.ui.h:170
+#: ../src/orca/orca-setup.ui.h:176
 msgid "_Voice settings:"
 msgstr "��設�(_V):"
 
-#: ../src/orca/orca-setup.ui.h:171
+#: ../src/orca/orca-setup.ui.h:177
 msgid "pixels"
 msgstr "å??ç´ "
 
@@ -6369,46 +7218,90 @@ msgstr "å?§åµ?çµ?æ??å??件"
 msgid "embedded component"
 msgstr "å?§åµ?çµ?æ??å??件"
 
+#. Translators: Orca will tell you how many characters
+#. are repeated on a line of text.  For example: "22
+#. space characters".  The %d is the number and the %s
+#. is the spoken word for the character.
+#.
+#: ../src/orca/script_utilities.py:2333
+#, python-format
+msgid "%(count)d %(repeatChar)s character"
+msgid_plural "%(count)d %(repeatChar)s characters"
+msgstr[0] "%(count)d å?? %(repeatChar)s å­?å??"
+
+#. Translators: This string is part of the presentation of an
+#. item that includes one or several consequtive superscripted
+#. characters, e.g. 'X' followed by 'superscript 2' followed by
+#. 'superscript 3' should be presented as 'X superscript 23'.
+#.
+#: ../src/orca/script_utilities.py:2523
+#, python-format
+msgid " superscript %s"
+msgstr "�� %s"
+
+#. Translators: This string is part of the presentation of an
+#. item that includes one or several consequtive subscripted
+#. characters, e.g. 'X' followed by 'subscript 2' followed by
+#. 'subscript 3', should be presented as 'X subscript 23.'
+#.
+#: ../src/orca/script_utilities.py:2533
+#, python-format
+msgid " subscript %s"
+msgstr "�� %s"
+
 #. Translators: short braille for the
 #. rolename of a document.
 #.
-#: ../src/orca/scripts/apps/acroread.py:72
+#: ../src/orca/scripts/apps/acroread/script.py:72
 msgid "doc"
 msgstr "doc"
 
 #. Translators: long braille for the
 #. rolename of a document.
 #.
-#: ../src/orca/scripts/apps/acroread.py:76
+#: ../src/orca/scripts/apps/acroread/script.py:76
 msgid "Document"
 msgstr "æ??件"
 
 #. Translators: spoken words for the
 #. rolename of a document.
 #.
-#: ../src/orca/scripts/apps/acroread.py:80
+#: ../src/orca/scripts/apps/acroread/script.py:80
 msgid "document"
 msgstr "æ??件"
 
-#. We've entered a table.  Announce the dimensions.
+#. Translators: this represents the number of rows in a table.
+#.
+#: ../src/orca/scripts/apps/acroread/script.py:276
+#: ../src/orca/scripts/apps/soffice/script.py:733
+#: ../src/orca/structural_navigation.py:1338
+#, python-format
+msgid "table with %d row"
+msgid_plural "table with %d rows"
+msgstr[0] "æ?? %d å??ç??表格"
+
+#. Translators: this represents the number of columns in a table.
 #.
-#: ../src/orca/scripts/apps/acroread.py:276
-#: ../src/orca/scripts/apps/soffice/script.py:888
+#: ../src/orca/scripts/apps/acroread/script.py:281
+#: ../src/orca/scripts/apps/soffice/script.py:738
+#: ../src/orca/structural_navigation.py:1343
+#: ../src/orca/structural_navigation.py:1500
 #, python-format
-msgid "table with %(rows)d rows and %(columns)d columns."
-msgstr "表格æ?? %(rows)d å?? %(columns)d æ¬?ã??"
+msgid "%d column"
+msgid_plural "%d columns"
+msgstr[0] "%d �"
 
 #. We've left a table.  Announce this fact.
 #.
-#: ../src/orca/scripts/apps/acroread.py:283
-#: ../src/orca/scripts/apps/soffice/script.py:884
+#: ../src/orca/scripts/apps/acroread/script.py:291
+#: ../src/orca/scripts/apps/soffice/script.py:727
 msgid "leaving table."
 msgstr "é?¢é??å·¥ä½?表ã??"
 
 #. Translators: this represents the row and column we're
 #. on in a table.
 #.
-#: ../src/orca/scripts/apps/acroread.py:301
+#: ../src/orca/scripts/apps/acroread/script.py:309
 #, python-format
 msgid "row %(row)d, column %(column)d"
 msgstr "å?? %(row)dï¼?æ¬? %(column)d"
@@ -6418,45 +7311,45 @@ msgstr "å?? %(row)dï¼?æ¬? %(column)d"
 #.
 #. Translators: this is in references to a column in a
 #. table.
-#: ../src/orca/scripts/apps/acroread.py:308
-#: ../src/orca/speech_generator.py:545
+#: ../src/orca/scripts/apps/acroread/script.py:316
+#: ../src/orca/speech_generator.py:753
 #, python-format
 msgid "column %d"
 msgstr "� %d"
 
 #. Translators: short braille for the rolename of a calendar view.
 #.
-#: ../src/orca/scripts/apps/evolution/script.py:110
+#: ../src/orca/scripts/apps/evolution/script.py:111
 msgid "calv"
 msgstr "calv"
 
 #. Translators: long braille for the rolename of a calendar view.
 #.
-#: ../src/orca/scripts/apps/evolution/script.py:113
+#: ../src/orca/scripts/apps/evolution/script.py:114
 msgid "CalendarView"
 msgstr "æ??æ??顯示"
 
 #. Translators: spoken words for the rolename of a calendar view.
 #.
-#: ../src/orca/scripts/apps/evolution/script.py:116
+#: ../src/orca/scripts/apps/evolution/script.py:117
 msgid "calendar view"
 msgstr "æ??æ??顯示"
 
 #. Translators: short braille for the rolename of a calendar event.
 #.
-#: ../src/orca/scripts/apps/evolution/script.py:124
+#: ../src/orca/scripts/apps/evolution/script.py:125
 msgid "cale"
 msgstr "cale"
 
 #. Translators: long braille for the rolename of a calendar event.
 #.
-#: ../src/orca/scripts/apps/evolution/script.py:127
+#: ../src/orca/scripts/apps/evolution/script.py:128
 msgid "CalendarEvent"
 msgstr "æ??æ??äº?件"
 
 #. Translators: spoken words for the rolename of a calendar event.
 #.
-#: ../src/orca/scripts/apps/evolution/script.py:130
+#: ../src/orca/scripts/apps/evolution/script.py:131
 msgid "calendar event"
 msgstr "æ??æ??äº?件"
 
@@ -6464,7 +7357,7 @@ msgstr "æ??æ??äº?件"
 #. the user know when new mail has arrived, even if Evolution
 #. doesn't have focus.
 #.
-#: ../src/orca/scripts/apps/evolution/script.py:162
+#: ../src/orca/scripts/apps/evolution/script.py:168
 msgid "Toggle whether we present new mail if we are not the active script."
 msgstr "æ²?æ??æ??è®?æ??æ??å?¦å±?示æ?°é?µä»¶ã??"
 
@@ -6472,7 +7365,7 @@ msgstr "æ²?æ??æ??è®?æ??æ??å?¦å±?示æ?°é?µä»¶ã??"
 #. the user know when new mail has arrived, even if Evolution
 #. doesn't have focus.
 #.
-#: ../src/orca/scripts/apps/evolution/script.py:248
+#: ../src/orca/scripts/apps/evolution/script.py:230
 msgid "present new mail if this script is not active."
 msgstr "æ²?æ??æ??è®?æ??å±?示æ?°é?µä»¶ã??"
 
@@ -6480,7 +7373,7 @@ msgstr "æ²?æ??æ??è®?æ??å±?示æ?°é?µä»¶ã??"
 #. the user know when new mail has arrived, even if Evolution
 #. doesn't have focus.
 #.
-#: ../src/orca/scripts/apps/evolution/script.py:255
+#: ../src/orca/scripts/apps/evolution/script.py:237
 msgid "do not present new mail if this script is not active."
 msgstr "æ²?æ??æ??è®?æ??ä»?ä¸?è¦?å±?示æ?°é?µä»¶"
 
@@ -6489,8 +7382,8 @@ msgstr "æ²?æ??æ??è®?æ??ä»?ä¸?è¦?å±?示æ?°é?µä»¶"
 #. list in Evolution.  The name needs to
 #. match what Evolution is using.
 #.
-#: ../src/orca/scripts/apps/evolution/script.py:995
-#: ../src/orca/scripts/apps/evolution/script.py:1063
+#: ../src/orca/scripts/apps/evolution/script.py:506
+#: ../src/orca/scripts/apps/evolution/script.py:574
 msgid "Status"
 msgstr "ç??æ??"
 
@@ -6499,8 +7392,8 @@ msgstr "ç??æ??"
 #. list in Evolution.  The name needs to
 #. match what Evolution is using.
 #.
-#: ../src/orca/scripts/apps/evolution/script.py:1004
-#: ../src/orca/scripts/apps/evolution/script.py:1088
+#: ../src/orca/scripts/apps/evolution/script.py:515
+#: ../src/orca/scripts/apps/evolution/script.py:599
 msgid "Flagged"
 msgstr "æ??æ¨?å¹?ç??"
 
@@ -6508,7 +7401,7 @@ msgstr "æ??æ¨?å¹?ç??"
 #. indicate that an email message has not been
 #. marked as having been read.
 #.
-#: ../src/orca/scripts/apps/evolution/script.py:1068
+#: ../src/orca/scripts/apps/evolution/script.py:579
 msgid "unread"
 msgstr "��"
 
@@ -6517,14 +7410,14 @@ msgstr "��"
 #. list in Evolution.  The name needs to
 #. match what Evolution is using.
 #.
-#: ../src/orca/scripts/apps/evolution/script.py:1077
+#: ../src/orca/scripts/apps/evolution/script.py:588
 msgid "Attachment"
 msgstr "é??件"
 
 #. Translators: this means there are no scheduled entries
 #. in the calendar.
 #.
-#: ../src/orca/scripts/apps/evolution/script.py:1258
+#: ../src/orca/scripts/apps/evolution/script.py:772
 msgid "No appointments"
 msgstr "æ²?æ??ç´?æ??"
 
@@ -6532,21 +7425,21 @@ msgstr "æ²?æ??ç´?æ??"
 #. top of the mail view Insert Attachment dialog in Evolution.
 #. We give it a name.
 #.
-#: ../src/orca/scripts/apps/evolution/script.py:1335
+#: ../src/orca/scripts/apps/evolution/script.py:849
 msgid "Directories button"
 msgstr "ç?®é??æ??é??"
 
 #. Translators: this in reference to an e-mail message
 #. status of having been read or unread.
 #.
-#: ../src/orca/scripts/apps/evolution/speech_generator.py:128
+#: ../src/orca/scripts/apps/evolution/speech_generator.py:134
 msgid "Read"
 msgstr "已�"
 
 #. Translators: this is the name of a setup
 #. assistant window/screen in Evolution.
 #.
-#: ../src/orca/scripts/apps/evolution/speech_generator.py:164
+#: ../src/orca/scripts/apps/evolution/speech_generator.py:173
 #, python-format
 msgid "%s screen"
 msgstr "%s ç?«é?¢"
@@ -6564,11 +7457,11 @@ msgstr "ç?¡æ³?å??å¾?è¨?ç®?æ©?ç??顯示"
 #. keying off stuff like this, but we're forced to do so in
 #. in this case.
 #.
-#: ../src/orca/scripts/apps/gedit/script.py:230
+#: ../src/orca/scripts/apps/gedit/script.py:229
 msgid "Change to:"
 msgstr "æ?´æ??ç?ºï¼?"
 
-#: ../src/orca/scripts/apps/gedit/script.py:231
+#: ../src/orca/scripts/apps/gedit/script.py:230
 msgid "Misspelled word:"
 msgstr "æ?¼é?¯ç??å­?è©?:"
 
@@ -6603,47 +7496,35 @@ msgstr "æ??ä¸? Tab å?? Enter ä¾?çµ?æ­¢ã??"
 #. off stuff like this, but we're forced to do so in this case.
 #.
 #: ../src/orca/scripts/apps/gedit/script.py:394
-#: ../src/orca/scripts/apps/gedit/script.py:477
-#: ../src/orca/scripts/apps/Thunderbird/script.py:163
-#: ../src/orca/scripts/apps/Thunderbird/script.py:314
-#: ../src/orca/scripts/apps/Thunderbird/script.py:540
-#: ../src/orca/scripts/apps/Thunderbird/speech_generator.py:88
+#: ../src/orca/scripts/apps/gedit/script.py:472
+#: ../src/orca/scripts/apps/Thunderbird/script.py:172
+#: ../src/orca/scripts/apps/Thunderbird/script.py:321
+#: ../src/orca/scripts/apps/Thunderbird/script.py:552
+#: ../src/orca/scripts/apps/Thunderbird/speech_generator.py:100
 msgid "Check Spelling"
 msgstr "��檢�"
 
-#. Fall-thru to process the event with the default handler.
-#. 2) find dialog - phrase not found.
-#.
-#. If we've received an "object:property-change:accessible-name" for
-#. the status bar and the current locus of focus is on the Find
-#. button on the Find dialog or the combo box in the Find dialog
-#. and the last input event was a Return and the name for the current
-#. event source is "Phrase not found", then speak it.
-#.
-#. [[[TODO: richb - "Phrase not found" is spoken twice because we
-#. apparently get two identical "object:property-change:accessible-name"
-#. events.]]]
 #. Translators: the "Phrase not found" is the result of a failed
 #. find command.  It must be the same as what gedit uses.  We hate
 #. keying off stuff like this, but we're forced to do so in this
 #. case.
 #.
-#: ../src/orca/scripts/apps/gedit/script.py:505
+#: ../src/orca/scripts/apps/gedit/script.py:501
 msgid "Phrase not found"
 msgstr "æ?¾ä¸?å?°ç??èª?"
 
 #. Translators: this indicates a find command succeeded in
 #. finding something.
 #.
-#: ../src/orca/scripts/apps/gedit/script.py:572
+#: ../src/orca/scripts/apps/gedit/script.py:566
 msgid "Phrase found."
 msgstr "æ?¾å?°ç??èª?ã??"
 
-#: ../src/orca/scripts/apps/gnome-mud.py:119
+#: ../src/orca/scripts/apps/gnome-mud/script.py:119
 msgid "Read the latest n messages in the incoming messages text area."
 msgstr "è®?å?ºå?¨å?§é??è¨?æ?¯æ??å­?å??å??ç??æ??æ?° n å??è¨?æ?¯ã??"
 
-#: ../src/orca/scripts/apps/gnome-search-tool.py:100
+#: ../src/orca/scripts/apps/gnome-search-tool/script.py:99
 msgid "Searching."
 msgstr "æ??å°?中ã??"
 
@@ -6657,21 +7538,21 @@ msgstr "æ??å°?中ã??"
 #. is using.  We hate keying off stuff like this, but we're forced
 #. to do so in this case.
 #.
-#: ../src/orca/scripts/apps/gnome-search-tool.py:137
+#: ../src/orca/scripts/apps/gnome-search-tool/script.py:136
 msgid "Stop"
 msgstr "å??æ­¢"
 
-#: ../src/orca/scripts/apps/gnome-search-tool.py:171
+#: ../src/orca/scripts/apps/gnome-search-tool/script.py:171
 msgid "Search complete."
 msgstr "æ??å°?å®?æ??ã??"
 
-#: ../src/orca/scripts/apps/gnome-search-tool.py:179
+#: ../src/orca/scripts/apps/gnome-search-tool/script.py:179
 #, python-format
 msgid "%d file found"
 msgid_plural "%d files found"
 msgstr[0] "æ?¾å?° %d å??æª?æ¡?"
 
-#: ../src/orca/scripts/apps/gnome-search-tool.py:184
+#: ../src/orca/scripts/apps/gnome-search-tool/script.py:184
 msgid "No files found."
 msgstr "æ?¾ä¸?å?°ä»»ä½?æª?æ¡?ã??"
 
@@ -6679,12 +7560,12 @@ msgstr "æ?¾ä¸?å?°ä»»ä½?æª?æ¡?ã??"
 #. be read by Orca.  This usually means the application is not
 #. friendly to the assistive technology infrastructure.
 #.
-#: ../src/orca/scripts/apps/gtk-window-decorator.py:90
-#: ../src/orca/scripts/apps/metacity.py:115
+#: ../src/orca/scripts/apps/gtk-window-decorator/script.py:89
+#: ../src/orca/scripts/apps/metacity/script.py:114
 msgid "inaccessible"
 msgstr "ä¸?è?½å­?å??"
 
-#: ../src/orca/scripts/apps/liferea.py:117
+#: ../src/orca/scripts/apps/liferea/script.py:123
 msgid "Work online / offline"
 msgstr "��/��工�"
 
@@ -6694,19 +7575,19 @@ msgstr "��/��工�"
 #. between workspaces.  The goal here is to find a match
 #. with that prefix.
 #.
-#: ../src/orca/scripts/apps/metacity.py:108
+#: ../src/orca/scripts/apps/metacity/script.py:107
 msgid "Workspace "
 msgstr "å·¥ä½?å??"
 
-#: ../src/orca/scripts/apps/metacity.py:108
+#: ../src/orca/scripts/apps/metacity/script.py:107
 msgid "Desk "
 msgstr "Desk "
 
 #. Translators: this is the number of items in a layered
 #. pane or table.
 #.
-#: ../src/orca/scripts/apps/nautilus.py:138
-#: ../src/orca/speech_generator.py:996
+#: ../src/orca/scripts/apps/nautilus/script.py:138
+#: ../src/orca/speech_generator.py:1342
 #, python-format
 msgid "%d item"
 msgid_plural "%d items"
@@ -6714,12 +7595,17 @@ msgstr[0] "%d å??é ?ç?®"
 
 #. Translators: This denotes a notification to the user of some sort.
 #.
-#: ../src/orca/scripts/apps/notification-daemon.py:64
-#: ../src/orca/scripts/apps/notify-osd.py:83
+#: ../src/orca/scripts/apps/notification-daemon/script.py:63
 #, python-format
 msgid "Notification %s"
 msgstr "é??ç?¥ %s"
 
+#. Translators: This denotes a notification to the user of some sort.
+#.
+#: ../src/orca/scripts/apps/notify-osd/script.py:84
+msgid "Notification"
+msgstr "é??ç?¥"
+
 #. Translators: The Package Manager application notifies the
 #. user of minor errors by displaying an icon in the status
 #. bar and adding them to an error log rather than displaying
@@ -6727,23 +7613,23 @@ msgstr "é??ç?¥ %s"
 #. checkbox. If it is checked, Orca will inform the user when
 #. the notification icon has appeared.
 #.
-#: ../src/orca/scripts/apps/packagemanager/script.py:109
+#: ../src/orca/scripts/apps/packagemanager/script.py:116
 msgid "Notify me when errors have been logged."
 msgstr "ç?¶æ??é?¯èª¤è¢«è¨?é??æ??é??ç?¥æ??ã??"
 
 #. Translators: this is in reference to loading a web page
 #. or some other content.
 #.
-#: ../src/orca/scripts/apps/packagemanager/script.py:221
-#: ../src/orca/scripts/toolkits/Gecko/script.py:1962
+#: ../src/orca/scripts/apps/packagemanager/script.py:226
+#: ../src/orca/scripts/toolkits/Gecko/script.py:1757
 msgid "Loading.  Please wait."
 msgstr "è¼?å?¥ä¸­ï¼?è«?ç¨?å??ã??"
 
 #. Translators: this is in reference to loading a web page
 #. or some other content.
 #.
-#: ../src/orca/scripts/apps/packagemanager/script.py:229
-#: ../src/orca/scripts/toolkits/Gecko/script.py:1975
+#: ../src/orca/scripts/apps/packagemanager/script.py:235
+#: ../src/orca/scripts/toolkits/Gecko/script.py:1770
 msgid "Finished loading."
 msgstr "è¼?å?¥å®?æ??ã??"
 
@@ -6753,7 +7639,7 @@ msgstr "è¼?å?¥å®?æ??ã??"
 #. the error in a dialog box. This is the message Orca will
 #. present to inform the user that this has occurred.
 #.
-#: ../src/orca/scripts/apps/packagemanager/script.py:250
+#: ../src/orca/scripts/apps/packagemanager/script.py:257
 msgid "An error occurred. View the error log for details."
 msgstr "æ??é?¯èª¤ç?¼ç??ã??è«?檢è¦?é?¯èª¤ç´?é??æª?以å??å¾?詳細è³?æ??ã??"
 
@@ -6766,103 +7652,7 @@ msgstr "æ??é?¯èª¤ç?¼ç??ã??è«?檢è¦?é?¯èª¤ç´?é??æª?以å??å¾?詳細è³?æ??ã??"
 msgid "Use Ctrl+L to move focus to the results."
 msgstr "使ç?¨ Ctrl+L å°?ç?¦é»?移è?³çµ?æ??ã??"
 
-#: ../src/orca/scripts/apps/pidgin/script.py:191
-msgid ""
-"Toggle whether we prefix chat room messages with the name of the chat room."
-msgstr "å??æ??æ?¯å?¦å°?è??天室ç??å??稱å? å?¥è??天室ç??è¨?æ?¯å??ã??"
-
-#: ../src/orca/scripts/apps/pidgin/script.py:197
-msgid "Toggle whether we announce when our buddies are typing."
-msgstr "å??æ??ç?¶æ??å??ç??æ??å??å?¨è¼¸å?¥æ??æ?¯å?¦å??ç?¥æ??å??ã??"
-
-#: ../src/orca/scripts/apps/pidgin/script.py:202
-msgid "Toggle whether we provide chat room specific message histories."
-msgstr "å??æ??æ?¯å?¦æ??ä¾?æ??å®?è??天室ç??ç??è¨?æ?¯æ­·å?²ç´?é??ã??"
-
-#: ../src/orca/scripts/apps/pidgin/script.py:210
-msgid "Speak and braille a previous chat room message."
-msgstr "è®?å?ºå??é»?å?ºä¸?ä¸?å??è??天室ç??è¨?æ?¯ã??"
-
-#. Translators: If this checkbox is checked, then Orca will speak
-#. the name of the chat room.
-#.
-#: ../src/orca/scripts/apps/pidgin/script.py:275
-msgid "_Speak Chat Room name"
-msgstr "è®?å?ºè??天室å??稱(_S)"
-
-#. Translators: If this checkbox is checked, then Orca will tell
-#. you when one of your buddies is typing a message.
-#.
-#: ../src/orca/scripts/apps/pidgin/script.py:285
-msgid "Announce when your _buddies are typing"
-msgstr "ç?¶æ?¨ç??æ??å??å?¨è¼¸å?¥æ??å??ç?¥(_B)"
-
-#. Translators: If this checkbox is checked, then Orca will provide
-#. the user with chat room specific message histories rather than just
-#. a single history which contains the latest messages from all the
-#. chat rooms that they are currently in.
-#.
-#: ../src/orca/scripts/apps/pidgin/script.py:297
-msgid "Provide chat room specific _message histories"
-msgstr "æ??ä¾?æ??å®?è??天室ç??è¨?æ?¯æ­·å?²ç´?é??(_M)"
-
-#. Translators: Orca will speak all new chat messages as they appear
-#. irrespective of whether the pidgin application currently has focus.
-#. This is the default behaviour.
-#.
-#: ../src/orca/scripts/apps/pidgin/script.py:324
-msgid "All cha_nnels"
-msgstr "æ??æ??é »é??(_N)"
-
-#. Translators: Orca will speak only new chat messages for the channel
-#. that currently has focus, irrespective of whether the pidgin
-#. application has focus.
-#.
-#: ../src/orca/scripts/apps/pidgin/script.py:339
-msgid "A channel only if its _window is active"
-msgstr "å?ªæ??使ç?¨ä¸­è¦?çª?ç??é »é??(_W)"
-
-#: ../src/orca/scripts/apps/pidgin/script.py:352
-msgid "All channels when an_y Pidgin window is active"
-msgstr "ç?¶ä»»ä½? Pidgin è¦?çª?å?¨ä½¿ç?¨ä¸­ç??æ??æ??é »é??(_Y)"
-
-#. Translators: this is the title of a panel holding options for
-#. how messages in the pidgin chat rooms should be spoken.
-#.
-#: ../src/orca/scripts/apps/pidgin/script.py:363
-msgid "Speak messages from"
-msgstr "�����"
-
-#: ../src/orca/scripts/apps/pidgin/script.py:447
-msgid "speak chat room name."
-msgstr "è®?å?ºè??天室å??稱ã??"
-
-#: ../src/orca/scripts/apps/pidgin/script.py:451
-msgid "Do not speak chat room name."
-msgstr "ä¸?è¦?è®?å?ºè??天室å??稱ã??"
-
-#: ../src/orca/scripts/apps/pidgin/script.py:466
-msgid "announce when your buddies are typing."
-msgstr "ç?¶æ?¨ç??æ??å??å?¨è¼¸å?¥æ??å??ç?¥ã??"
-
-#: ../src/orca/scripts/apps/pidgin/script.py:470
-msgid "Do not announce when your buddies are typing."
-msgstr "ç?¶æ?¨ç??æ??å??å?¨è¼¸å?¥æ??ä¸?è¦?å??ç?¥ã??"
-
-#: ../src/orca/scripts/apps/pidgin/script.py:485
-msgid "Provide chat room specific message histories."
-msgstr "æ??ä¾?æ??å®?è??天室ç??è¨?æ?¯æ­·å?²ç´?é??ã??"
-
-#: ../src/orca/scripts/apps/pidgin/script.py:489
-msgid "Do not provide chat room specific message histories."
-msgstr "ä¸?è¦?æ??ä¾?æ??å®?è??天室ç??è¨?æ?¯æ­·å?²ç´?é??ã??"
-
-#: ../src/orca/scripts/apps/pidgin/script.py:518
-#, python-format
-msgid "Message from chat room %s"
-msgstr "ä¾?è?ªè??天室 %s ç??è¨?æ?¯ "
-
-#: ../src/orca/scripts/apps/pidgin/script.py:607
+#: ../src/orca/scripts/apps/pidgin/script.py:155
 #, python-format
 msgid "New chat tab %s"
 msgstr "æ?°è??天å??é ? %s"
@@ -6875,28 +7665,28 @@ msgstr "顯示����"
 #. Translators: this is the input line of a spreadsheet
 #. (i.e., the place where enter formulas)
 #.
-#: ../src/orca/scripts/apps/soffice/script.py:235
-msgid "Speaks the contents of the input line."
-msgstr "è®?å?ºè¼¸å?¥è¡?ç??å?§å®¹ã??"
+#: ../src/orca/scripts/apps/soffice/script.py:234
+msgid "Presents the contents of the input line."
+msgstr "表示輸å?¥è¡?ç??å?§å®¹ã??"
 
 #. Translators: Orca allows you to dynamically define which
 #. row of a spreadsheet or table counts as column headers.
 #.
-#: ../src/orca/scripts/apps/soffice/script.py:243
+#: ../src/orca/scripts/apps/soffice/script.py:242
 msgid "Set the row to use as dynamic column headers when speaking calc cells."
 msgstr "ç?¶æ??è®? calc å?²å­?æ ¼æ??å°?å??設å®?ç?ºä½¿ç?¨å??æ??æ¬?æ¨?é ­"
 
 #. Translators: Orca allows you to dynamically define which
 #. row of a spreadsheet or table counts as column headers.
 #.
-#: ../src/orca/scripts/apps/soffice/script.py:252
+#: ../src/orca/scripts/apps/soffice/script.py:251
 msgid "Clears the dynamic column headers."
 msgstr "æ¸?é?¤å??æ??æ¬?æ¨?é ­ã??"
 
 #. Translators: Orca allows you to dynamically define which
 #. column of a spreadsheet or table counts as row headers.
 #.
-#: ../src/orca/scripts/apps/soffice/script.py:260
+#: ../src/orca/scripts/apps/soffice/script.py:259
 msgid ""
 "Set the column to use as dynamic row headers to use when speaking calc cells."
 msgstr "ç?¶æ??è®? calc å?²å­?æ ¼æ??å°?æ¬?設å®?ç?ºä½¿ç?¨å??æ??å??æ¨?é ­"
@@ -6904,7 +7694,7 @@ msgstr "ç?¶æ??è®? calc å?²å­?æ ¼æ??å°?æ¬?設å®?ç?ºä½¿ç?¨å??æ??å??æ¨?é ­"
 #. Translators: Orca allows you to dynamically define which
 #. column of a spreadsheet or table counts as row headers.
 #.
-#: ../src/orca/scripts/apps/soffice/script.py:269
+#: ../src/orca/scripts/apps/soffice/script.py:268
 msgid "Clears the dynamic row headers"
 msgstr "æ¸?é?¤å??æ??å¼?å??æ¨?é¡?"
 
@@ -6914,15 +7704,15 @@ msgstr "æ¸?é?¤å??æ??å¼?å??æ¨?é¡?"
 #. of the current spread sheet cell. Coordinates are the row and
 #. column position within the spread sheet (i.e. A1, B1, C2 ...)
 #.
-#: ../src/orca/scripts/apps/soffice/script.py:340
+#: ../src/orca/scripts/apps/soffice/script.py:317
 msgid "Speak spread sheet cell coordinates"
 msgstr "è®?å?ºå·¥ä½?表ç??å?²å­?æ ¼å??æ¨?"
 
 #. Translators: this is an option to tell Orca whether or not it
 #. should speak table cell coordinates in document content.
 #.
-#: ../src/orca/scripts/apps/soffice/script.py:367
-#: ../src/orca/scripts/toolkits/Gecko/script.py:919
+#: ../src/orca/scripts/apps/soffice/script.py:344
+#: ../src/orca/scripts/toolkits/Gecko/script.py:784
 msgid "Speak _cell coordinates"
 msgstr "è®?å?ºå?²å­?æ ¼å??æ¨?(_C)"
 
@@ -6930,46 +7720,46 @@ msgstr "è®?å?ºå?²å­?æ ¼å??æ¨?(_C)"
 #. should speak the span size of a table cell (e.g., how many
 #. rows and columns a particular table cell spans in a table).
 #.
-#: ../src/orca/scripts/apps/soffice/script.py:379
-#: ../src/orca/scripts/toolkits/Gecko/script.py:931
+#: ../src/orca/scripts/apps/soffice/script.py:356
+#: ../src/orca/scripts/toolkits/Gecko/script.py:796
 msgid "Speak _multiple cell spans"
 msgstr "è®?å?ºå??ä½µå¤?å??ç??å?²å­?æ ¼(_M)"
 
 #. Translators: this is an option for whether or not to speak
 #. the header of a table cell in document content.
 #.
-#: ../src/orca/scripts/apps/soffice/script.py:390
-#: ../src/orca/scripts/toolkits/Gecko/script.py:942
+#: ../src/orca/scripts/apps/soffice/script.py:367
+#: ../src/orca/scripts/toolkits/Gecko/script.py:807
 msgid "Announce cell _header"
 msgstr "����格��(_H)"
 
 #. Translators: this is an option to allow users to skip over
 #. empty/blank cells when navigating tables in document content.
 #.
-#: ../src/orca/scripts/apps/soffice/script.py:401
-#: ../src/orca/scripts/toolkits/Gecko/script.py:953
+#: ../src/orca/scripts/apps/soffice/script.py:378
+#: ../src/orca/scripts/toolkits/Gecko/script.py:818
 msgid "Skip _blank cells"
 msgstr "ç?¥é??空ç?½å?²å­?æ ¼(_B)"
 
 #. Translators: this is the title of a panel containing options
 #. for specifying how to navigate tables in document content.
 #.
-#: ../src/orca/scripts/apps/soffice/script.py:412
-#: ../src/orca/scripts/toolkits/Gecko/script.py:964
+#: ../src/orca/scripts/apps/soffice/script.py:389
+#: ../src/orca/scripts/toolkits/Gecko/script.py:829
 msgid "Table Navigation"
 msgstr "表格�覽"
 
 #. Translators: this is used to announce that the
 #. current input line in a spreadsheet is blank/empty.
 #.
-#: ../src/orca/scripts/apps/soffice/script.py:957
+#: ../src/orca/scripts/apps/soffice/script.py:809
 msgid "empty"
 msgstr "空�"
 
 #. Translators: Orca allows you to dynamically define which
 #. row of a spreadsheet or table counts as column headers.
 #.
-#: ../src/orca/scripts/apps/soffice/script.py:1035
+#: ../src/orca/scripts/apps/soffice/script.py:889
 #, python-format
 msgid "Dynamic column header set for row %d"
 msgstr "å??æ??æ¬?æ¨?頭設å®?給第 %d å??"
@@ -6977,14 +7767,14 @@ msgstr "å??æ??æ¬?æ¨?頭設å®?給第 %d å??"
 #. Translators: Orca allows you to dynamically define which
 #. row of a spreadsheet or table counts as column headers.
 #.
-#: ../src/orca/scripts/apps/soffice/script.py:1058
+#: ../src/orca/scripts/apps/soffice/script.py:911
 msgid "Dynamic column header cleared."
 msgstr "å·²æ¸?é?¤å??æ??æ¬?æ¨?é ­ã??"
 
 #. Translators: Orca allows you to dynamically define which
 #. column of a spreadsheet or table counts as row headers.
 #.
-#: ../src/orca/scripts/apps/soffice/script.py:1111
+#: ../src/orca/scripts/apps/soffice/script.py:963
 #, python-format
 msgid "Dynamic row header set for column %s"
 msgstr "å??æ??å??æ¨?頭設å®?給æ¬? %s"
@@ -6992,7 +7782,7 @@ msgstr "å??æ??å??æ¨?頭設å®?給æ¬? %s"
 #. Translators: Orca allows you to dynamically define which
 #. column of a spreadsheet or table counts as row headers.
 #.
-#: ../src/orca/scripts/apps/soffice/script.py:1135
+#: ../src/orca/scripts/apps/soffice/script.py:986
 msgid "Dynamic row header cleared."
 msgstr "å·²æ¸?é?¤å??æ??å??æ¨?é ­ã??"
 
@@ -7002,7 +7792,7 @@ msgstr "å·²æ¸?é?¤å??æ??å??æ¨?é ­ã??"
 #. using.  We hate keying off stuff like this, but
 #. we're forced to do so in this case.
 #.
-#: ../src/orca/scripts/apps/soffice/script.py:1320
+#: ../src/orca/scripts/apps/soffice/script.py:1171
 msgid "Welcome to StarOffice"
 msgstr "歡�使� StarOffice"
 
@@ -7013,15 +7803,15 @@ msgstr "歡�使� StarOffice"
 #. We really try to avoid doing this kind of thing, but
 #. sometimes it is necessary and we apologize.
 #.
-#: ../src/orca/scripts/apps/soffice/script.py:1367
+#: ../src/orca/scripts/apps/soffice/script.py:1219
 msgid "Available fields"
 msgstr "å?¯ç?¨ç??æ¬?ä½?"
 
-#: ../src/orca/scripts/apps/soffice/script.py:1530
+#: ../src/orca/scripts/apps/soffice/script.py:1383
 msgid "Note that the Scroll Down button has to be pressed numerous times."
 msgstr "注æ??å??ä¸?æ?²å??æ??é??å·²æ??ä¸?äº?æ?¸æ¬¡ã??"
 
-#: ../src/orca/scripts/apps/soffice/script.py:1546
+#: ../src/orca/scripts/apps/soffice/script.py:1399
 msgid "License Agreement Accept button now has focus."
 msgstr "ç?¾å?¨å°?ç?¦è??æ?¥å??æ??æ¬?æ¢?款ç??æ??é??ã??"
 
@@ -7031,7 +7821,7 @@ msgstr "ç?¾å?¨å°?ç?¦è??æ?¥å??æ??æ¬?æ¢?款ç??æ??é??ã??"
 #. is using.  We hate keying off stuff like this, but we're
 #. forced to in this case.
 #.
-#: ../src/orca/scripts/apps/soffice/script.py:1575
+#: ../src/orca/scripts/apps/soffice/script.py:1428
 msgid "First name"
 msgstr "å??å­?"
 
@@ -7039,10 +7829,49 @@ msgstr "å??å­?"
 #. in StarOffice/OpenOffice calc that allows you to type in a
 #. cell coordinate (e.g., A4) and then move to it.
 #.
-#: ../src/orca/scripts/apps/soffice/script.py:1649
+#: ../src/orca/scripts/apps/soffice/script.py:1503
 msgid "Move to cell"
 msgstr "移���格"
 
+#. Translators: this is an indication of the position of the
+#. focused Impress slide and the total number of slides in the
+#. presentation.
+#.
+#: ../src/orca/scripts/apps/soffice/script.py:1697
+#, python-format
+msgid "slide %(position)d of %(count)d"
+msgstr "æ??å½±ç??å?¨é?¨%(count)då¼µç??第%(position)då¼µ"
+
+#. Translators: This message is to inform the user that
+#. the last row of a table in a document was just deleted.
+#.
+#: ../src/orca/scripts/apps/soffice/script.py:1872
+msgid "Last row deleted."
+msgstr "å·²å?ªé?¤æ??å¾?ä¸?å??ã??"
+
+#. Translators: This message is to inform the user that
+#. a row in a table was just deleted.
+#.
+#: ../src/orca/scripts/apps/soffice/script.py:1876
+msgid "Row deleted."
+msgstr "å·²å?ªé?¤å??ã??"
+
+#. 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.
+#.
+#: ../src/orca/scripts/apps/soffice/script.py:1883
+msgid "Row inserted at the end of the table."
+msgstr "å·²å?¨è¡¨æ ¼çµ?å°¾æ??å?¥å??ã??"
+
+#. Translators: This message is to inform the user that
+#. a row in a table was just inserted.
+#.
+#: ../src/orca/scripts/apps/soffice/script.py:1887
+msgid "Row inserted."
+msgstr "å·²æ??å?¥å??ã??"
+
 #. Translators: this is the title of the window that
 #. you get when using StarOffice Presentation Wizard. The
 #. translated form has to match what
@@ -7050,7 +7879,7 @@ msgstr "移���格"
 #. stuff like this, but we're forced to do so in this
 #. case.
 #.
-#: ../src/orca/scripts/apps/soffice/script.py:1982
+#: ../src/orca/scripts/apps/soffice/script.py:1923
 msgid "Presentation Wizard"
 msgstr "簡報精é??"
 
@@ -7059,13 +7888,13 @@ msgstr "簡報精é??"
 #. has a formula
 #. (e.g., "=sum(a1:d1)")
 #.
-#: ../src/orca/scripts/apps/soffice/script.py:2118
+#: ../src/orca/scripts/apps/soffice/script.py:2059
 msgid "has formula"
 msgstr "æ??å?¬å¼?"
 
 #. Translators: this is the name of a cell in a spreadsheet.
 #.
-#: ../src/orca/scripts/apps/soffice/script.py:2171
+#: ../src/orca/scripts/apps/soffice/script.py:2082
 #, python-format
 msgid "Cell %s"
 msgstr "��格 %s"
@@ -7074,7 +7903,7 @@ msgstr "��格 %s"
 #. too wide for a spreadsheet cell.  This string will be
 #. spoken if such a cell is encountered.
 #.
-#: ../src/orca/scripts/apps/soffice/speech_generator.py:341
+#: ../src/orca/scripts/apps/soffice/speech_generator.py:407
 #, python-format
 msgid "%d character too long"
 msgid_plural "%d characters too long"
@@ -7084,15 +7913,15 @@ msgstr[0] "%d å??å­?å??太é?·"
 #. a cell in a table.
 #.
 #: ../src/orca/scripts/apps/soffice/structural_navigation.py:123
-#: ../src/orca/structural_navigation.py:3382
+#: ../src/orca/structural_navigation.py:3625
 #, python-format
 msgid "Row %(row)d, column %(column)d."
 msgstr "å?? %(row)dï¼?æ¬? %(column)dã??"
 
 #. Translators: this is the name of a panel in Thunderbird.
 #.
-#: ../src/orca/scripts/apps/Thunderbird/script.py:578
-#: ../src/orca/scripts/apps/Thunderbird/script.py:595
+#: ../src/orca/scripts/apps/Thunderbird/script.py:590
+#: ../src/orca/scripts/apps/Thunderbird/script.py:607
 #, python-format
 msgid "%s panel"
 msgstr "%s ��"
@@ -7110,127 +7939,127 @@ msgstr "輸å?¥ç??æ?¸ç±¤"
 #. Please see http://en.wikipedia.org/wiki/Imagemap for more
 #. information and examples.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/braille_generator.py:152
-#: ../src/orca/scripts/toolkits/Gecko/speech_generator.py:129
+#: ../src/orca/scripts/toolkits/Gecko/braille_generator.py:151
+#: ../src/orca/scripts/toolkits/Gecko/speech_generator.py:135
 msgid "image map link"
 msgstr "å½±å??å?°å??é?£çµ?"
 
 #. Translators: this is for navigating HTML content one
 #. character at a time.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:383
+#: ../src/orca/scripts/toolkits/Gecko/script.py:391
 msgid "Goes to next character."
 msgstr "移è?³ä¸?ä¸?å??å­?å??ã??"
 
 #. Translators: this is for navigating HTML content one
 #. character at a time.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:391
+#: ../src/orca/scripts/toolkits/Gecko/script.py:399
 msgid "Goes to previous character."
 msgstr "移è?³å??ä¸?å??å­?å??ã??"
 
 #. Translators: this is for navigating HTML content one
 #. word at a time.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:399
+#: ../src/orca/scripts/toolkits/Gecko/script.py:407
 msgid "Goes to next word."
 msgstr "移è?³ä¸?ä¸?å??å?®å­?ã??"
 
 #. Translators: this is for navigating HTML content one
 #. word at a time.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:407
+#: ../src/orca/scripts/toolkits/Gecko/script.py:415
 msgid "Goes to previous word."
 msgstr "移è?³ä¸?ä¸?å??å?®å­?ã??"
 
 #. Translators: this is for navigating HTML content one
 #. line at a time.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:415
+#: ../src/orca/scripts/toolkits/Gecko/script.py:423
 msgid "Goes to next line."
 msgstr "移è?³ä¸?ä¸?è¡?ã??"
 
 #. Translators: this is for navigating HTML content one
 #. line at a time.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:423
+#: ../src/orca/scripts/toolkits/Gecko/script.py:431
 msgid "Goes to previous line."
 msgstr "移è?³ä¸?ä¸?è¡?ã??"
 
 #. Translators: this command will move the user to the
 #. beginning of an HTML document.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:431
+#: ../src/orca/scripts/toolkits/Gecko/script.py:439
 msgid "Goes to the top of the file."
 msgstr "移è?³æª?æ¡?ç??æ??ä¸?é?¢ã??"
 
 #. Translators: this command will move the user to the
 #. end of an HTML document.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:439
+#: ../src/orca/scripts/toolkits/Gecko/script.py:447
 msgid "Goes to the bottom of the file."
 msgstr "移è?³æª?æ¡?ç??æ??ä¸?é?¢ã??"
 
 #. Translators: this command will move the user to the
 #. beginning of the line in an HTML document.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:447
+#: ../src/orca/scripts/toolkits/Gecko/script.py:455
 msgid "Goes to the beginning of the line."
 msgstr "移è?³è¡?é¦?ã??"
 
 #. Translators: this command will move the user to the
 #. end of the line in an HTML document.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:455
+#: ../src/orca/scripts/toolkits/Gecko/script.py:463
 msgid "Goes to the end of the line."
 msgstr "移è?³è¡?å°¾ã??"
 
 #. Translators: this is for causing a collapsed combo box
 #. which was reached by Orca's caret navigation to be expanded.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:463
+#: ../src/orca/scripts/toolkits/Gecko/script.py:471
 msgid "Causes the current combo box to be expanded."
 msgstr "使ç?®å??ç??çµ?å??æ?¹å¡?å±?é??ã??"
 
 #. Translators: this is for advancing the live regions
 #. politeness setting
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:471
+#: ../src/orca/scripts/toolkits/Gecko/script.py:479
 msgid "Advance live region politeness setting."
 msgstr "é?²é??å?³æ??æ?­å ±å??禮è²?ç¨?度設å®?å?¼ã??"
 
 #. Translators: this is for setting all live regions
 #. to 'off' politeness.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:479
+#: ../src/orca/scripts/toolkits/Gecko/script.py:487
 msgid "Set default live region politeness level to off."
 msgstr "設å®?é ?設ç??å?³æ??æ?­å ±å??禮è²?ç¨?度ç?ºé??é??ã??"
 
 #. Translators: this is a toggle to monitor live regions
 #. or not.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:487
+#: ../src/orca/scripts/toolkits/Gecko/script.py:495
 msgid "Monitor live regions."
 msgstr "ç?£æ?§å?³æ??æ?­å ±å??ã??"
 
 #. Translators: this is for reviewing up to nine stored
 #. previous live messages.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:495
+#: ../src/orca/scripts/toolkits/Gecko/script.py:503
 msgid "Review live region announcement."
 msgstr "檢é?±å?³æ??æ?­å ±å??å?¬å??ã??"
 
 #. Translators: this is for navigating between objects
 #. (regardless of type) in HTML
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:503
+#: ../src/orca/scripts/toolkits/Gecko/script.py:511
 msgid "Goes to the previous object."
 msgstr "移è?³ä¸?ä¸?å??ç?©ä»¶ã??"
 
 #. Translators: this is for navigating between objects
 #. (regardless of type) in HTML
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:511
+#: ../src/orca/scripts/toolkits/Gecko/script.py:519
 msgid "Goes to the next object."
 msgstr "移è?³ä¸?ä¸?å??ç?©ä»¶ã??"
 
@@ -7241,7 +8070,7 @@ msgstr "移è?³ä¸?ä¸?å??ç?©ä»¶ã??"
 #. the ability to switch between the Firefox mode and the
 #. Orca mode.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:523
+#: ../src/orca/scripts/toolkits/Gecko/script.py:531
 msgid "Switches between Gecko native and Orca caret navigation."
 msgstr "å?¨ Gecko å??ç??ç??覽è?? Orca é?µç?¤ç??覽æ?¹å¼?é??å??æ??ã??"
 
@@ -7253,7 +8082,7 @@ msgstr "å?¨ Gecko å??ç??ç??覽è?? Orca é?µç?¤ç??覽æ?¹å¼?é??å??æ??ã??"
 #. mouse over object, this command will hide the mouse
 #. over and return the user to the object he/she was in.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:579
+#: ../src/orca/scripts/toolkits/Gecko/script.py:587
 msgid "Moves focus into and away from the current mouse over."
 msgstr "å°?ç?¦é»?移å?¥æ??移å?ºç?®å??æ»?é¼ å??é§?ç??ä½?ç½®ã??"
 
@@ -7264,7 +8093,7 @@ msgstr "å°?ç?¦é»?移å?¥æ??移å?ºç?®å??æ»?é¼ å??é§?ç??ä½?ç½®ã??"
 #. the ability to switch between the Firefox mode and the
 #. Orca mode.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:826
+#: ../src/orca/scripts/toolkits/Gecko/script.py:691
 msgid "Use _Orca Caret Navigation"
 msgstr "使ç?¨ _Orca é?µç?¤ç??覽"
 
@@ -7272,7 +8101,7 @@ msgstr "使ç?¨ _Orca é?µç?¤ç??覽"
 #. in a structural manner: go to previous/next header, list item,
 #. table, etc.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:839
+#: ../src/orca/scripts/toolkits/Gecko/script.py:704
 msgid "Use Orca _Structural Navigation"
 msgstr "使� Orca ���覽�(_S)"
 
@@ -7285,7 +8114,7 @@ msgstr "使� Orca ���覽�(_S)"
 #. situation the user is in, so we must provide this as an option
 #. within Orca.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:856
+#: ../src/orca/scripts/toolkits/Gecko/script.py:721
 msgid "_Grab focus on objects when navigating"
 msgstr "使ç?¨é?µç?¤ç??覽æ??æ??å??ç?©ä»¶ç?¦é»?(_G)"
 
@@ -7295,7 +8124,7 @@ msgstr "使ç?¨é?µç?¤ç??覽æ??æ??å??ç?©ä»¶ç?¦é»?(_G)"
 #. above the current cursor position.  This option allows the user
 #. to decide the behavior they want.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:871
+#: ../src/orca/scripts/toolkits/Gecko/script.py:736
 msgid "_Position cursor at start of line when navigating vertically"
 msgstr "å?¨å??ç?´å°?覽æ??å°?游æ¨?æ?¾ç½®æ?¼è¡?ç??é??é ­(_P)"
 
@@ -7303,7 +8132,7 @@ msgstr "å?¨å??ç?´å°?覽æ??å°?游æ¨?æ?¾ç½®æ?¼è¡?ç??é??é ­(_P)"
 #. can optionally tell Orca to automatically start reading a
 #. page from beginning to end.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:884
+#: ../src/orca/scripts/toolkits/Gecko/script.py:749
 msgid "Automatically start speaking a page when it is first _loaded"
 msgstr "ç?¶ç¬¬ä¸?次è¼?å?¥ä¸?å??é ?é?¢æ??è?ªå??é??å§?è®?å?ºå?§å®¹(_L)"
 
@@ -7311,7 +8140,7 @@ msgstr "ç?¶ç¬¬ä¸?次è¼?å?¥ä¸?å??é ?é?¢æ??è?ªå??é??å§?è®?å?ºå?§å®¹(_L)"
 #. how to navigate HTML content (e.g., Orca caret navigation,
 #. positioning of caret, etc.).
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:896
+#: ../src/orca/scripts/toolkits/Gecko/script.py:761
 msgid "Page Navigation"
 msgstr "���覽"
 
@@ -7319,7 +8148,7 @@ msgstr "���覽"
 #. automatically speak the line that contains the match while
 #. the user is still in Firefox's Find toolbar.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:988
+#: ../src/orca/scripts/toolkits/Gecko/script.py:853
 msgid "Speak results during _find"
 msgstr "å°?æ?¾æ??è®?å?ºçµ?æ??(_F)"
 
@@ -7328,7 +8157,7 @@ msgstr "å°?æ?¾æ??è®?å?ºçµ?æ??(_F)"
 #. be spoken, or only spoken if it is a different line than the
 #. line which contained the last match.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:1001
+#: ../src/orca/scripts/toolkits/Gecko/script.py:866
 msgid "Onl_y speak changed lines during find"
 msgstr "å°?æ?¾æ??å?ªè®?å?ºæ??æ?¹è®?ç??è¡?(_Y)"
 
@@ -7336,14 +8165,14 @@ msgstr "å°?æ?¾æ??å?ªè®?å?ºæ??æ?¹è®?ç??è¡?(_Y)"
 #. of matched characters that must be present before Orca speaks
 #. the line that contains the results from the Find toolbar.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:1018
+#: ../src/orca/scripts/toolkits/Gecko/script.py:883
 msgid "Minimum length of matched text:"
 msgstr "æ¯?å°?æ??å­?ç??æ??å°?é?·åº¦ï¼?"
 
 #. Translators: this is the title of a panel containing options
 #. for using Firefox's Find toolbar.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:1043
+#: ../src/orca/scripts/toolkits/Gecko/script.py:908
 msgid "Find Options"
 msgstr "ã??å°?æ?¾ã??é?¸é ?"
 
@@ -7351,19 +8180,19 @@ msgstr "ã??å°?æ?¾ã??é?¸é ?"
 #. a document, Orca will speak information about what they
 #. have selected.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:1632
+#: ../src/orca/scripts/toolkits/Gecko/script.py:1425
 msgid "line selected down from cursor position"
 msgstr "å¾?游æ¨?ä½?ç½®é??å§?å??ä¸?é?¸å??è¡?"
 
-#: ../src/orca/scripts/toolkits/Gecko/script.py:1633
+#: ../src/orca/scripts/toolkits/Gecko/script.py:1426
 msgid "line unselected down from cursor position"
 msgstr "å¾?游æ¨?ä½?ç½®é??å§?å??ä¸?å??æ¶?é?¸å??è¡?"
 
-#: ../src/orca/scripts/toolkits/Gecko/script.py:1634
+#: ../src/orca/scripts/toolkits/Gecko/script.py:1427
 msgid "line selected up from cursor position"
 msgstr "å¾?游æ¨?ä½?ç½®é??å§?å??ä¸?é?¸å??è¡?"
 
-#: ../src/orca/scripts/toolkits/Gecko/script.py:1635
+#: ../src/orca/scripts/toolkits/Gecko/script.py:1428
 msgid "line unselected up from cursor position"
 msgstr "å¾?游æ¨?ä½?ç½®é??å§?å??ä¸?å??æ¶?é?¸å??è¡?"
 
@@ -7372,14 +8201,14 @@ msgstr "å¾?游æ¨?ä½?ç½®é??å§?å??ä¸?å??æ¶?é?¸å??è¡?"
 #. moving the mouse pointer caused an item to appear
 #. such as a pop-up menu, we want to present that fact.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:1678
+#: ../src/orca/scripts/toolkits/Gecko/script.py:1471
 msgid "New item has been added"
 msgstr "å·²å? å?¥æ?°ç??é ?ç?®"
 
 #. Translators: this is in reference to loading a web page
 #. or some other content.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:1968
+#: ../src/orca/scripts/toolkits/Gecko/script.py:1763
 #, python-format
 msgid "Finished loading %s."
 msgstr "è¼?å?¥ %s å®?æ??ã??"
@@ -7391,7 +8220,7 @@ msgstr "è¼?å?¥ %s å®?æ??ã??"
 #. heading level, where the single character is to indicate
 #. 'heading'.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:2458
+#: ../src/orca/scripts/toolkits/Gecko/script.py:2258
 #, python-format
 msgid "h%d"
 msgstr "h%d"
@@ -7402,44 +8231,22 @@ msgstr "h%d"
 #. which just appeared as a result of the user hovering the
 #. mouse. If this command fails, Orca will present this message.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:6053
+#: ../src/orca/scripts/toolkits/Gecko/script.py:5520
 msgid "Mouse over object not found."
 msgstr "æ?¾ä¸?å?°æ»?é¼ å??é§?ç?©ä»¶ã??"
 
 #. Translators: this is the action name for the 'open' action.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:6539
+#: ../src/orca/scripts/toolkits/Gecko/script.py:6004
 msgid "open"
 msgstr "é??å??"
 
-#. Translators: when the user is attempting to locate a
-#. particular object and the top of the web page has been
-#. reached without that object being found, we "wrap" to
-#. the bottom of the page and continuing looking upwards.
-#. We need to inform the user when this is taking place.
-#.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:6612
-#: ../src/orca/structural_navigation.py:884
-msgid "Wrapping to bottom."
-msgstr "è·³è?³åº?é?¨ã??"
-
-#. Translators: when the user is attempting to locate a
-#. particular object and the bottom of the web page has been
-#. reached without that object being found, we "wrap" to the
-#. top of the page and continuing looking downwards. We need
-#. to inform the user when this is taking place.
-#.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:6680
-#: ../src/orca/structural_navigation.py:892
-msgid "Wrapping to top."
-msgstr "å??å?°é??å§?ã??"
-
 #. Translators: this announces to the user that live region
 #. support has been turned off.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:6706
-#: ../src/orca/scripts/toolkits/Gecko/script.py:6730
-#: ../src/orca/scripts/toolkits/Gecko/script.py:6740
+#: ../src/orca/scripts/toolkits/Gecko/script.py:6171
+#: ../src/orca/scripts/toolkits/Gecko/script.py:6195
+#: ../src/orca/scripts/toolkits/Gecko/script.py:6205
 #: ../src/orca/structural_navigation.py:396
 msgid "Live region support is off"
 msgstr "å?³æ??æ?­å ±å??æ?¯æ?´å·²é??é??"
@@ -7447,11 +8254,11 @@ msgstr "å?³æ??æ?­å ±å??æ?¯æ?´å·²é??é??"
 #. Translators: this announces to the user that live region
 #. are being monitored.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:6714
+#: ../src/orca/scripts/toolkits/Gecko/script.py:6179
 msgid "Live regions monitoring on"
 msgstr "å?³æ??æ?­å ±å??ç?£æ?§é??å??"
 
-#: ../src/orca/scripts/toolkits/Gecko/script.py:6721
+#: ../src/orca/scripts/toolkits/Gecko/script.py:6186
 msgid "Live regions monitoring off"
 msgstr "å?³æ??æ?­å ±å??ç?£æ?§é??é??"
 
@@ -7462,7 +8269,7 @@ msgstr "å?³æ??æ?­å ±å??ç?£æ?§é??é??"
 #. the ability to switch between the Firefox mode and the
 #. Orca mode.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:6756
+#: ../src/orca/scripts/toolkits/Gecko/script.py:6221
 msgid "Gecko is controlling the caret."
 msgstr "Gecko æ­£å?¨æ?§å?¶é?µç?¤ç??覽ã??"
 
@@ -7473,7 +8280,7 @@ msgstr "Gecko æ­£å?¨æ?§å?¶é?µç?¤ç??覽ã??"
 #. the ability to switch between the Firefox mode and the
 #. Orca mode.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/script.py:6768
+#: ../src/orca/scripts/toolkits/Gecko/script.py:6233
 msgid "Orca is controlling the caret."
 msgstr "Orca æ­£å?¨æ?§å?¶é?µç?¤ç??覽ã??"
 
@@ -7482,15 +8289,15 @@ msgstr "Orca æ­£å?¨æ?§å?¶é?µç?¤ç??覽ã??"
 #. and the %(role)s is in reference to a previously
 #. translated rolename for the heading.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/speech_generator.py:250
+#: ../src/orca/scripts/toolkits/Gecko/speech_generator.py:258
 #, python-format
 msgid "%(role)s level %(level)d"
 msgstr "%(role)s 第 %(level)d �"
 
 #. Translators: this represents a list in HTML.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/speech_generator.py:281
-#: ../src/orca/structural_navigation.py:2793
+#: ../src/orca/scripts/toolkits/Gecko/speech_generator.py:298
+#: ../src/orca/structural_navigation.py:2956
 #, python-format
 msgid "List with %d item"
 msgid_plural "List with %d items"
@@ -7499,7 +8306,7 @@ msgstr[0] "æ?? %d å??é ?ç?®ç??æ¸?å?®"
 #. Translators: Announces the number of headings in the
 #. web page that is currently being displayed.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/speech_generator.py:461
+#: ../src/orca/scripts/toolkits/Gecko/speech_generator.py:488
 #, python-format
 msgid "%d heading"
 msgid_plural "%d headings"
@@ -7508,7 +8315,7 @@ msgstr[0] "%d å??æ¨?é¡?"
 #. Translators: Announces the number of forms in the
 #. web page that is currently being displayed.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/speech_generator.py:466
+#: ../src/orca/scripts/toolkits/Gecko/speech_generator.py:493
 #, python-format
 msgid "%d form"
 msgid_plural "%d forms"
@@ -7517,7 +8324,7 @@ msgstr[0] "%d å??表å?®"
 #. Translators: Announces the number of non-layout tables in the
 #. web page that is currently being displayed.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/speech_generator.py:471
+#: ../src/orca/scripts/toolkits/Gecko/speech_generator.py:498
 #, python-format
 msgid "%d table"
 msgid_plural "%d tables"
@@ -7526,7 +8333,7 @@ msgstr[0] "%d å??表格"
 #. Translators: Announces the number of visited links in the
 #. web page that is currently being displayed.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/speech_generator.py:477
+#: ../src/orca/scripts/toolkits/Gecko/speech_generator.py:504
 #, python-format
 msgid "%d visited link"
 msgid_plural "%d visited links"
@@ -7535,7 +8342,7 @@ msgstr[0] "%d å??ç??覽é??ç??é?£çµ?"
 #. Translators: Announces the number of unvisited links in the
 #. web page that is currently being displayed.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/speech_generator.py:483
+#: ../src/orca/scripts/toolkits/Gecko/speech_generator.py:510
 #, python-format
 msgid "%d unvisited link"
 msgid_plural "%d unvisited links"
@@ -7546,10 +8353,11 @@ msgstr[0] "%d å??æ?ªç??覽ç??é?£çµ?"
 #. current position divided by the total number of objects on the
 #. page.
 #.
-#: ../src/orca/scripts/toolkits/Gecko/speech_generator.py:490
+#: ../src/orca/scripts/toolkits/Gecko/speech_generator.py:518
 #, python-format
 msgid "%d percent of document read"
-msgstr "æ??件ç??ç?¾å??ä¹?%då·²è®?"
+msgid_plural "%d percent of document read"
+msgstr[0] "å·²è®?å??æ??件ç??ç?¾å??ä¹? %d"
 
 #. Translators: the regular expression here represents a string to
 #. match in the localized application name as seen by at-poke.  For
@@ -7560,28 +8368,28 @@ msgstr "æ??件ç??ç?¾å??ä¹?%då·²è®?"
 #. I wish the AT-SPI spec'd this out as machine readable (unlocalized)
 #. names, but it's what we're stuck with (unfortunately).
 #.
-#: ../src/orca/settings.py:1046
+#: ../src/orca/settings.py:1114
 msgid "[\\S\\s]*StarOffice[\\s\\S]*"
 msgstr "[\\S\\s]*StarOffice[\\s\\S]*"
 
 #. Translators: see the regular expression note above.  This is for
 #. OpenOffice and StarOffice.
 #.
-#: ../src/orca/settings.py:1051
+#: ../src/orca/settings.py:1119
 msgid "soffice.bin"
 msgstr "soffice.bin"
 
 #. Translators: see the regular expression note above.  This is for
 #. OpenOffice and StarOffice.
 #.
-#: ../src/orca/settings.py:1056
+#: ../src/orca/settings.py:1124
 msgid "soffice"
 msgstr "soffice"
 
 #. Translators: see the regular expression note above.  This is for the
 #. Evolution mail application.
 #.
-#: ../src/orca/settings.py:1061
+#: ../src/orca/settings.py:1129
 msgid "[Ee]volution"
 msgstr "[Ee]volution"
 
@@ -7589,7 +8397,7 @@ msgstr "[Ee]volution"
 #. version of Mozilla Firefox, which chooses to create strange names
 #. for itself at the drop of a hat.
 #.
-#: ../src/orca/settings.py:1067
+#: ../src/orca/settings.py:1135
 msgid "Deer Park"
 msgstr "Deer Park"
 
@@ -7597,7 +8405,7 @@ msgstr "Deer Park"
 #. version of Mozilla Firefox, which chooses to create strange names
 #. for itself at the drop of a hat.
 #.
-#: ../src/orca/settings.py:1073
+#: ../src/orca/settings.py:1141
 msgid "Bon Echo"
 msgstr "Bon Echo"
 
@@ -7605,35 +8413,35 @@ msgstr "Bon Echo"
 #. version of Mozilla Firefox, which chooses to create strange names
 #. for itself at the drop of a hat.
 #.
-#: ../src/orca/settings.py:1079
+#: ../src/orca/settings.py:1147
 msgid "Minefield"
 msgstr "æ??å?°é?·"
 
 #. Translators: see the regular expression note above.  This is for
 #. the Thunderbird e-mail application.
 #.
-#: ../src/orca/settings.py:1110
+#: ../src/orca/settings.py:1178
 msgid "Mail/News"
 msgstr "é?µä»¶/æ?°è??çµ?"
 
 #. Translators: see the regular expression note above.  This is for
 #. gnome_segv2, which calls itself bug-buddy in at-poke.
 #.
-#: ../src/orca/settings.py:1115
+#: ../src/orca/settings.py:1187
 msgid "bug-buddy"
 msgstr "bug-buddy"
 
 #. Translators: see the regular expression note above.  This is for
 #. the underlying terminal support in gnome-terminal.
 #.
-#: ../src/orca/settings.py:1120
+#: ../src/orca/settings.py:1192
 msgid "vte"
 msgstr "vte"
 
 #. Translators: see the regular expression note above.  This is for
 #. supporting gaim, which has recently be renamed to pidgin.
 #.
-#: ../src/orca/settings.py:1125
+#: ../src/orca/settings.py:1197
 msgid "gaim"
 msgstr "gaim"
 
@@ -7643,14 +8451,14 @@ msgstr "gaim"
 #. will be spoken and displayed in braille to indicate this state is
 #. present.
 #.
-#: ../src/orca/settings.py:1304 ../src/orca/settings.py:1381
+#: ../src/orca/settings.py:1380 ../src/orca/settings.py:1457
 msgid "required"
 msgstr "å¿?è¦?ç??"
 
 #. Translators: this is used to indicate the user is in a text
 #. area that is not editable.  It is meant to be spoken to the user.
 #.
-#: ../src/orca/settings.py:1309
+#: ../src/orca/settings.py:1385
 msgctxt "text"
 msgid "read only"
 msgstr "��"
@@ -7658,7 +8466,7 @@ msgstr "��"
 #. Translators: this represents an item on the screen that has
 #. been set insensitive (or grayed out).
 #.
-#: ../src/orca/settings.py:1314 ../src/orca/settings.py:1392
+#: ../src/orca/settings.py:1390 ../src/orca/settings.py:1468
 msgid "grayed"
 msgstr "grayed"
 
@@ -7666,18 +8474,18 @@ msgstr "grayed"
 #. 'expanded' means the children are showing.  'collapsed' means the
 #. children are not showing.
 #.
-#: ../src/orca/settings.py:1338 ../src/orca/settings.py:1404
+#: ../src/orca/settings.py:1414 ../src/orca/settings.py:1480
 msgid "collapsed"
 msgstr "已�起"
 
-#: ../src/orca/settings.py:1338 ../src/orca/settings.py:1404
+#: ../src/orca/settings.py:1414 ../src/orca/settings.py:1480
 msgid "expanded"
 msgstr "å·²å±?é??"
 
 #. Translators: "multi-select" refers to a web form list
 #. in which more than one item can be selected at a time.
 #.
-#: ../src/orca/settings.py:1343
+#: ../src/orca/settings.py:1419
 msgid "multi-select"
 msgstr "å¤?é??é?¸å??"
 
@@ -7685,7 +8493,7 @@ msgstr "å¤?é??é?¸å??"
 #. view (i.e., how many ancestors a node has).  It is meant to be
 #. spoken.
 #.
-#: ../src/orca/settings.py:1349
+#: ../src/orca/settings.py:1425
 #, python-format
 msgid "tree level %d"
 msgstr "tree level %d"
@@ -7700,7 +8508,7 @@ msgstr "tree level %d"
 #. level of 2 represents a list item inside a list that's
 #. inside another list).
 #.
-#: ../src/orca/settings.py:1356 ../src/orca/structural_navigation.py:2808
+#: ../src/orca/settings.py:1432 ../src/orca/structural_navigation.py:2971
 #, python-format
 msgid "Nesting level %d"
 msgstr "å·¢ç??æ¸?å?®ç¬¬ %d 層"
@@ -7709,7 +8517,7 @@ msgstr "å·¢ç??æ¸?å?®ç¬¬ %d 層"
 #. count of the total number of icons within an icon panel. An
 #. example of an icon panel is the Nautilus folder view.
 #.
-#: ../src/orca/settings.py:1362
+#: ../src/orca/settings.py:1438
 #, python-format
 msgid "on %(index)d of %(total)d"
 msgstr "æ?¼ %(total)d 中ç?? %(index)d"
@@ -7718,7 +8526,7 @@ msgstr "æ?¼ %(total)d 中ç?? %(index)d"
 #. or group of objects, such as menu items in a menu, radio buttons
 #. in a radio button group, combobox item in a combobox, etc.
 #.
-#: ../src/orca/settings.py:1368
+#: ../src/orca/settings.py:1444
 #, python-format
 msgid "%(index)d of %(total)d"
 msgstr "%(total)d 中ç?? %(index)d"
@@ -7727,7 +8535,7 @@ msgstr "%(total)d 中ç?? %(index)d"
 #. area that is not editable.  It is meant to be a short abbreviation
 #. to be presented on the braille display.
 #.
-#: ../src/orca/settings.py:1387
+#: ../src/orca/settings.py:1463
 msgctxt "text"
 msgid "rdonly"
 msgstr "��"
@@ -7736,7 +8544,7 @@ msgstr "��"
 #. view (i.e., how many ancestors a node has).  It is meant to
 #. be presented on a braille display.
 #.
-#: ../src/orca/settings.py:1410
+#: ../src/orca/settings.py:1486
 #, python-format
 msgid "TREE LEVEL %d"
 msgstr "TREE LEVEL %d"
@@ -7747,55 +8555,49 @@ msgstr "TREE LEVEL %d"
 #. inside another list).  It is meant to be presented on
 #. the braille display.
 #.
-#: ../src/orca/settings.py:1418
+#: ../src/orca/settings.py:1494
 #, python-format
 msgid "LEVEL %d"
 msgstr "第 %d 層"
 
-#. Translators: "Default Synthesizer" will appear in the list of available
-#. speech engines as a special item.  It refers to the default engine
-#. configured within the speech subsystem.  Apart from this item, the user
-#. will have a chance to select a particular speech engine by its real
-#. name, such as Festival, IBMTTS, etc.
+#. Translators: Orca has a feature to speak the time
+#. when the user presses a shortcut key.
+#. This is one of the alternative formats that the
+#. user may wish to be presented with.
 #.
-#: ../src/orca/speechdispatcherfactory.py:76
-msgid "Default Synthesizer"
-msgstr "é ?設èª?é?³å??æ??å?¨"
+#: ../src/orca/settings.py:1527
+msgid "%H hours, %M minutes and %S seconds."
+msgstr "%Hå°?æ??ï¼?%Må??%Sç§?ã??"
+
+#. Translators: Orca has a feature to speak the time
+#. when the user presses a shortcut key.
+#. This is one of the alternative formats that the
+#. user may wish to be presented with.
+#.
+#: ../src/orca/settings.py:1534
+msgid "%H hours and %M minutes."
+msgstr "%Hå°?æ??%Må??ã??"
 
 #. Translators: this is the name of a speech synthesis system
 #. called "Speech Dispatcher".
 #.
-#: ../src/orca/speechdispatcherfactory.py:89
+#: ../src/orca/speechdispatcherfactory.py:96
 msgid "Speech Dispatcher"
 msgstr "Speech Dispatcher"
 
-#. Translators: This string will appear in the list of
-#. available voices for the current speech engine.  %s will be
-#. replaced by the name of the current speech engine, such as
-#. "Festival default voice" or "IBMTTS default voice".  It
-#. refers to the default voice configured for given speech
-#. engine within the speech subsystem.  Apart from this item,
-#. the list will contain the names of all available "real"
-#. voices provided by the speech engine.
-#.
-#: ../src/orca/speechdispatcherfactory.py:173
-#, python-format
-msgid "%s default voice"
-msgstr "%s �設��"
-
 #. Translators: this refers to a link to a file, where
 #. the first item is the protocol (ftp, ftps, or file)
 #. and the second item the name of the file being linked
 #. to.
 #.
-#: ../src/orca/speech_generator.py:236
+#: ../src/orca/speech_generator.py:417
 #, python-format
 msgid "%(uri)s link to %(file)s"
 msgstr "%(uri)s ��� %(file)s"
 
 #. Translators: this is the protocol of a link eg. http, mailto.
 #.
-#: ../src/orca/speech_generator.py:242
+#: ../src/orca/speech_generator.py:423
 #, python-format
 msgid "%s link"
 msgstr "%s ��"
@@ -7803,7 +8605,7 @@ msgstr "%s ��"
 #. Translators: this is an indication that a given
 #. link points to an object that is on the same page.
 #.
-#: ../src/orca/speech_generator.py:275
+#: ../src/orca/speech_generator.py:459
 msgid "same page"
 msgstr "ç?¸å??é ?é?¢"
 
@@ -7815,7 +8617,7 @@ msgstr "ç?¸å??é ?é?¢"
 #. link points to an object that is at the same site
 #. (but not on the same page) as the link.
 #.
-#: ../src/orca/speech_generator.py:281 ../src/orca/speech_generator.py:294
+#: ../src/orca/speech_generator.py:465 ../src/orca/speech_generator.py:478
 msgid "same site"
 msgstr "ç?¸å??網ç«?"
 
@@ -7823,13 +8625,13 @@ msgstr "ç?¸å??網ç«?"
 #. link points to an object that is at a different
 #. site than that of the link.
 #.
-#: ../src/orca/speech_generator.py:300
+#: ../src/orca/speech_generator.py:484
 msgid "different site"
 msgstr "ä¸?å??網ç«?"
 
 #. Translators: This is the size of a file in bytes
 #.
-#: ../src/orca/speech_generator.py:327
+#: ../src/orca/speech_generator.py:514
 #, python-format
 msgid "%d byte"
 msgid_plural "%d bytes"
@@ -7837,14 +8639,14 @@ msgstr[0] "%d ä½?å??çµ?"
 
 #. Translators: This is the size of a file in kilobytes
 #.
-#: ../src/orca/speech_generator.py:331
+#: ../src/orca/speech_generator.py:518
 #, python-format
 msgid "%.2f kilobytes"
 msgstr "%.2f KB"
 
 #. Translators: This is the size of a file in megabytes
 #.
-#: ../src/orca/speech_generator.py:335
+#: ../src/orca/speech_generator.py:522
 #, python-format
 msgid "%.2f megabytes"
 msgstr "%.2f MB"
@@ -7852,28 +8654,28 @@ msgstr "%.2f MB"
 #. Translators: this is in reference to a table cell being
 #. selected or not.
 #.
-#: ../src/orca/speech_generator.py:521
+#: ../src/orca/speech_generator.py:724
 msgctxt "tablecell"
 msgid "not selected"
 msgstr "æ²?æ??é?¸å??"
 
 #. Translators: this is in references to a row in a table.
 #.
-#: ../src/orca/speech_generator.py:568
+#: ../src/orca/speech_generator.py:782
 #, python-format
 msgid "row %d"
 msgstr "å?? %d"
 
 #. Translators: this is in references to a column in a
 #. table.
-#: ../src/orca/speech_generator.py:591
+#: ../src/orca/speech_generator.py:811
 #, python-format
 msgid "column %(index)d of %(total)d"
 msgstr "å?¨é?¨ %(total)d æ¬?ç??第 %(index)d æ¬?"
 
 #. Translators: this is in reference to a row in a table.
 #.
-#: ../src/orca/speech_generator.py:596
+#: ../src/orca/speech_generator.py:816
 #, python-format
 msgid "row %(index)d of %(total)d"
 msgstr "å?¨é?¨ %(total)d å??ç??第 %(index)d å??"
@@ -7881,21 +8683,40 @@ msgstr "å?¨é?¨ %(total)d å??ç??第 %(index)d å??"
 #. Translators: This is to indicate to the user that
 #. he/she is in the last cell of a table in a document.
 #.
-#: ../src/orca/speech_generator.py:626
+#: ../src/orca/speech_generator.py:851
 msgid "End of table"
 msgstr "表格ç??çµ?å°¾"
 
+#. Translators: this is the number of space characters on a line
+#. of text.
+#.
+#: ../src/orca/speech_generator.py:1192
+#, python-format
+msgid "%d space"
+msgid_plural "%d spaces"
+msgstr[0] "%d å??空格"
+
+#. Translators: this is the number of tab characters on a line
+#. of text.
+#.
+#: ../src/orca/speech_generator.py:1203
+#, python-format
+msgid "%d tab"
+msgid_plural "%d tabs"
+msgstr[0] "%d å?? tab"
+
 #. Translators: this is the percentage value of a progress bar.
 #.
-#: ../src/orca/speech_generator.py:936
+#: ../src/orca/speech_generator.py:1271
 #, python-format
 msgid "%d percent"
-msgstr "%d ï¼?"
+msgid_plural "%d percent"
+msgstr[0] "ç?¾å??ä¹?%d"
 
 #. Translators: this is the number of items in a layered pane
 #. or table.
 #.
-#: ../src/orca/speech_generator.py:1019 ../src/orca/speech_generator.py:1035
+#: ../src/orca/speech_generator.py:1370 ../src/orca/speech_generator.py:1391
 msgid "0 items"
 msgstr "0 å??é ?ç?®"
 
@@ -7903,7 +8724,7 @@ msgstr "0 å??é ?ç?®"
 #. and the count of the total number of icons within an icon panel.
 #. An example of an icon panel is the Nautilus folder view.
 #.
-#: ../src/orca/speech_generator.py:1065
+#: ../src/orca/speech_generator.py:1426
 #, python-format
 msgid "%(index)d of %(total)d item selected"
 msgid_plural "%(index)d of %(total)d items selected"
@@ -7912,7 +8733,7 @@ msgstr[0] "%(total)d å??é ?ç?®ä¸­é?¸å??ç?? %(index)d å??é ?ç?®"
 #. Translators: this tells the user how many unfocused
 #. alert and dialog windows that this application has.
 #.
-#: ../src/orca/speech_generator.py:1114 ../src/orca/speech_generator.py:1383
+#: ../src/orca/speech_generator.py:1479 ../src/orca/speech_generator.py:1768
 #, python-format
 msgid "%d unfocused dialog"
 msgid_plural "%d unfocused dialogs"
@@ -7921,7 +8742,7 @@ msgstr[0] "%d å??æ?ªå??å¾?ç?¦é»?ç??å°?話ç??"
 #. Translators: this is an alternative name for the
 #. parent object of a series of icons.
 #.
-#: ../src/orca/speech_generator.py:1189
+#: ../src/orca/speech_generator.py:1561
 msgid "Icon panel"
 msgstr "å??示é?¢æ?¿"
 
@@ -7929,7 +8750,7 @@ msgstr "å??示é?¢æ?¿"
 #. button that gets activated when Enter is pressed anywhere
 #. within that dialog box.
 #.
-#: ../src/orca/speech_generator.py:1332
+#: ../src/orca/speech_generator.py:1715
 #, python-format
 msgid "Default button is %s"
 msgstr "é ?設æ??é??ç?º%s"
@@ -7941,7 +8762,7 @@ msgstr "é ?設æ??é??ç?º%s"
 #. This feature needs to be toggle-able so that it does not
 #. interfere with normal writing functions.
 #.
-#: ../src/orca/structural_navigation.py:590
+#: ../src/orca/structural_navigation.py:591
 msgid "Toggles structural navigation keys."
 msgstr "å??æ??çµ?æ§?å°?覽é?µã??"
 
@@ -7955,7 +8776,7 @@ msgstr "å??æ??çµ?æ§?å°?覽é?µã??"
 #. toggles the structural navigation feature of Orca.
 #. It should be a brief informative message.
 #.
-#: ../src/orca/structural_navigation.py:644
+#: ../src/orca/structural_navigation.py:645
 msgid "Structural navigation keys on."
 msgstr "çµ?æ§?å°?覽é?µé??å??ã??"
 
@@ -7969,7 +8790,7 @@ msgstr "çµ?æ§?å°?覽é?µé??å??ã??"
 #. toggles the structural navigation feature of Orca.
 #. It should be a brief informative message.
 #.
-#: ../src/orca/structural_navigation.py:656
+#: ../src/orca/structural_navigation.py:657
 msgid "Structural navigation keys off."
 msgstr "çµ?æ§?å°?覽é?µé??é??ã??"
 
@@ -8027,141 +8848,159 @@ msgstr "æ¬?ç??åº?é?¨ã??"
 #. In contrast, a non-uniform table is one in which at least
 #. one table cell occupies more than one row and/or column.
 #.
-#: ../src/orca/structural_navigation.py:1327
+#: ../src/orca/structural_navigation.py:1331
 msgid "Non-uniform"
 msgstr "é??å?¶å¼?"
 
 #. Translators: this represents the number of rows in a table.
 #.
-#: ../src/orca/structural_navigation.py:1334
-#, python-format
-msgid "Table with %d row"
-msgid_plural "Table with %d rows"
-msgstr[0] "æ?? %d å??ç??表格"
-
-#. Translators: this represents the number of cols in a table.
-#.
-#: ../src/orca/structural_navigation.py:1339
-#, python-format
-msgid "%d column"
-msgid_plural "%d columns"
-msgstr[0] "%d �"
-
-#. Translators: The cell here refers to a cell within a table
-#. within a document.  We need to announce when the cell occupies
-#. or "spans" more than a single row and/or column.
-#.
-#: ../src/orca/structural_navigation.py:1487
+#: ../src/orca/structural_navigation.py:1495
 #, python-format
-msgid "Cell spans %(rows)d rows and %(columns)d columns"
-msgstr "å?²å­?æ ¼å??ä½µäº? %(rows)d å??å?? %(columns)d æ¬?"
+msgid "%d row"
+msgid_plural "%d rows"
+msgstr[0] "%d å??"
 
 #. Translators: The cell here refers to a cell within a table
 #. within a document.  We need to announce when the cell occupies
 #. or "spans" more than a single row and/or column.
 #.
-#: ../src/orca/structural_navigation.py:1495
+#: ../src/orca/structural_navigation.py:1508
 #, python-format
-msgid "Cell spans %d columns"
-msgstr "å?²å­?æ ¼å??ä½µ%då??æ¬?ä½?"
+msgid "Cell spans %(rows)s and %(columns)s"
+msgstr "å?²å­?æ ¼å??ä½µäº? %(rows)s å??å?? %(columns)s æ¬?"
 
 #. Translators: The cell here refers to a cell within a table
 #. within a document.  We need to announce when the cell occupies
 #. or "spans" more than a single row and/or column.
 #.
-#: ../src/orca/structural_navigation.py:1501
+#: ../src/orca/structural_navigation.py:1516
+#: ../src/orca/structural_navigation.py:1522
 #, python-format
-msgid "Cell spans %d rows"
-msgstr "å?²å­?æ ¼å??ä½µ%då??å??"
+msgid "Cell spans %s"
+msgstr "å?²å­?æ ¼å??ä½µ%så??æ¬?ä½?"
 
 #. Translators: this is for navigating among anchors in a document.
 #. An anchor is a named spot that one can jump to.
 #.
-#: ../src/orca/structural_navigation.py:1838
+#: ../src/orca/structural_navigation.py:1874
 msgid "Goes to previous anchor."
 msgstr "移è?³å??ä¸?å??é?¨é»?ã??"
 
 #. Translators: this is for navigating among anchors in a document.
 #. An anchor is a named spot that one can jump to.
 #.
-#: ../src/orca/structural_navigation.py:1843
+#: ../src/orca/structural_navigation.py:1879
 msgid "Goes to next anchor."
 msgstr "移è?³ä¸?ä¸?å??é?¨é»?ã??"
 
 #. 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 stirng is what orca will say
-#. if there are no more anchors found.
+#. that one can jump to.) This is a detailed message which
+#. will be presented to the user if no more anchors can be found.
 #.
-#: ../src/orca/structural_navigation.py:1900
+#: ../src/orca/structural_navigation.py:1936
 msgid "No more anchors."
 msgstr "æ²?æ??å?¶ä»?é?¨é»?ã??"
 
+#. 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.
+#.
+#: ../src/orca/structural_navigation.py:1946
+#: ../src/orca/structural_navigation.py:2040
+#: ../src/orca/structural_navigation.py:2130
+#: ../src/orca/structural_navigation.py:2220
+#: ../src/orca/structural_navigation.py:2325
+#: ../src/orca/structural_navigation.py:2415
+#: ../src/orca/structural_navigation.py:2517
+#: ../src/orca/structural_navigation.py:2624
+#: ../src/orca/structural_navigation.py:2746
+#: ../src/orca/structural_navigation.py:2764
+#: ../src/orca/structural_navigation.py:2874
+#: ../src/orca/structural_navigation.py:2992
+#: ../src/orca/structural_navigation.py:3088
+#: ../src/orca/structural_navigation.py:3173
+#: ../src/orca/structural_navigation.py:3264
+#: ../src/orca/structural_navigation.py:3354
+#: ../src/orca/structural_navigation.py:3435
+#: ../src/orca/structural_navigation.py:3525
+#: ../src/orca/structural_navigation.py:3725
+#: ../src/orca/structural_navigation.py:3814
+msgctxt "structural navigation"
+msgid "Not found"
+msgstr "���"
+
 #. Translators: this is for navigating among blockquotes in a
 #. document.
 #.
-#: ../src/orca/structural_navigation.py:1917
+#: ../src/orca/structural_navigation.py:1964
 msgid "Goes to previous blockquote."
 msgstr "移è?³å??ä¸?å??å??å¡?æ?¬å¼§ã??"
 
 #. Translators: this is for navigating among blockquotes in a
 #. document.
 #.
-#: ../src/orca/structural_navigation.py:1922
+#: ../src/orca/structural_navigation.py:1969
 msgid "Goes to next blockquote."
 msgstr "移è?³ä¸?ä¸?å??å??å¡?æ?¬å¼§ã??"
 
 #. Translators: this is for navigating document content by
-#. moving from blockquote to blockquote. This string is what
-#. Orca will say if there are no more blockquotes found.
+#. moving from blockquote to blockquote. This is a detailed
+#. message which will be presented to the user if no more
+#. blockquotes can be found.
 #.
-#: ../src/orca/structural_navigation.py:1982
+#: ../src/orca/structural_navigation.py:2030
 msgid "No more blockquotes."
 msgstr "æ²?æ??å?¶ä»?å??å¡?æ?¬å¼§ã??"
 
 #. Translators: this is for navigating among buttons in a form
 #. within a document.
 #.
-#: ../src/orca/structural_navigation.py:1999
+#: ../src/orca/structural_navigation.py:2058
 msgid "Goes to previous button."
 msgstr "移è?³å??ä¸?å??æ??é??ã??"
 
 #. Translators: this is for navigating among buttons in a form
 #. within a document.
 #.
-#: ../src/orca/structural_navigation.py:2004
+#: ../src/orca/structural_navigation.py:2063
 msgid "Goes to next button."
 msgstr "移è?³ä¸?ä¸?å??æ??é??ã??"
 
-#. Translators: this is for navigating in document content
-#. by moving from push button to push button in a form. This
-#. string is what Orca will say if there are no more buttons
-#. found.
+#. 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.
 #.
-#: ../src/orca/structural_navigation.py:2061
+#: ../src/orca/structural_navigation.py:2120
 msgid "No more buttons."
 msgstr "æ²?æ??å?¶ä»?æ??é??ã??"
 
 #. Translators: this is for navigating among check boxes in a form
 #. within a document.
 #.
-#: ../src/orca/structural_navigation.py:2078
+#: ../src/orca/structural_navigation.py:2148
 msgid "Goes to previous check box."
 msgstr "移è?³å??ä¸?å??æ ¸å??æ?¹å¡?ã??"
 
 #. Translators: this is for navigating among check boxes in a form
 #. within a document.
 #.
-#: ../src/orca/structural_navigation.py:2083
+#: ../src/orca/structural_navigation.py:2153
 msgid "Goes to next check box."
 msgstr "移è?³ä¸?ä¸?å??æ ¸å??æ?¹å¡?ã??"
 
-#. Translators: this is for navigating in document content
-#. by moving from checkbox to checkbox in a form. This
-#. string is what Orca will say if there are no more check
-#. boxes found.
+#. 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.
 #.
-#: ../src/orca/structural_navigation.py:2140
+#: ../src/orca/structural_navigation.py:2210
 msgid "No more check boxes."
 msgstr "æ²?æ??å?¶ä»?æ ¸å??æ?¹å¡?ã??"
 
@@ -8169,7 +9008,7 @@ msgstr "æ²?æ??å?¶ä»?æ ¸å??æ?¹å¡?ã??"
 #. structural manner, where a 'large object' is a logical
 #. chunk of text, such as a paragraph, a list, a table, etc.
 #.
-#: ../src/orca/structural_navigation.py:2158
+#: ../src/orca/structural_navigation.py:2239
 msgid "Goes to previous large object."
 msgstr "移è?³å??ä¸?å??大å??ç?©ä»¶ã??"
 
@@ -8177,106 +9016,108 @@ msgstr "移è?³å??ä¸?å??大å??ç?©ä»¶ã??"
 #. structural manner, where a 'large object' is a logical
 #. chunk of text, such as a paragraph, a list, a table, etc.
 #.
-#: ../src/orca/structural_navigation.py:2164
+#: ../src/orca/structural_navigation.py:2245
 msgid "Goes to next large object."
 msgstr "移è?³ä¸?ä¸?å??大å??ç?©ä»¶ã??"
 
 #. 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 string is what Orca will say
-#. if there are no more large objects found.
+#. 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.
 #.
-#: ../src/orca/structural_navigation.py:2233
+#: ../src/orca/structural_navigation.py:2315
 msgid "No more large objects."
 msgstr "æ²?æ??å?¶ä»?大å??ç?©ä»¶ã??"
 
 #. Translators: this is for navigating among combo boxes in a form
 #. within a document.
 #.
-#: ../src/orca/structural_navigation.py:2250
+#: ../src/orca/structural_navigation.py:2343
 msgid "Goes to previous combo box."
 msgstr "移è?³å??ä¸?å??çµ?å??æ?¹å¡?ã??"
 
 #. Translators: this is for navigating among combo boxes in a form
 #. within a document.
 #.
-#: ../src/orca/structural_navigation.py:2255
+#: ../src/orca/structural_navigation.py:2348
 msgid "Goes to next combo box."
 msgstr "移è?³ä¸?ä¸?å??çµ?å??æ?¹å¡?ã??"
 
-#. Translators: this is for navigating in document content
-#. by moving from combo box to combo box in a form. This
-#. string is what Orca will say if there are no more combo
-#. boxes found.
+#. 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.
 #.
-#: ../src/orca/structural_navigation.py:2312
+#: ../src/orca/structural_navigation.py:2405
 msgid "No more combo boxes."
 msgstr "æ²?æ??å?¶ä»?çµ?å??æ?¹å¡?ã??"
 
 #. Translators: this is for navigating among text entries in a form
 #. within a document.
 #.
-#: ../src/orca/structural_navigation.py:2329
+#: ../src/orca/structural_navigation.py:2433
 msgid "Goes to previous entry."
 msgstr "移è?³å??ä¸?å??é ?ç?®ã??"
 
 #. Translators: this is for navigating among text entries
 #. in a form.
 #.
-#: ../src/orca/structural_navigation.py:2334
+#: ../src/orca/structural_navigation.py:2438
 msgid "Goes to next entry."
 msgstr "移è?³ä¸?ä¸?å??é ?ç?®ã??"
 
-#. Translators: this is for navigating in document content
-#. by moving from text entry to text entry in a form. This
-#. string is what Orca will say if there are no more entries
-#. found.
+#. 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.
 #.
-#: ../src/orca/structural_navigation.py:2400
+#: ../src/orca/structural_navigation.py:2507
 msgid "No more entries."
 msgstr "æ²?æ??å?¶ä»?é ?ç?®ã??"
 
 #. Translators: this is for navigating among fields in a form within
 #. a document.
 #.
-#: ../src/orca/structural_navigation.py:2417
+#: ../src/orca/structural_navigation.py:2535
 msgid "Goes to previous form field."
 msgstr "移è?³å??ä¸?å??表å?®æ¬?ä½?ã??"
 
 #. Translators: this is for navigating among fields in a form within
 #. a document.
 #.
-#: ../src/orca/structural_navigation.py:2424
+#: ../src/orca/structural_navigation.py:2542
 msgid "Goes to next form field."
 msgstr "移è?³ä¸?ä¸?å??表å?®æ¬?ä½?ã??"
 
-#. Translators: this is for navigating in document content
-#. by moving from form field to form field. This string is
-#. what Orca will say if there are no more form fields found.
+#. 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.
 #.
-#: ../src/orca/structural_navigation.py:2494
+#: ../src/orca/structural_navigation.py:2614
 msgid "No more form fields."
 msgstr "æ²?æ??å?¶ä»?表å?®æ¬?ä½?ã??"
 
 #. Translators: this is for navigating in a document by heading.
 #. (e.g. <h1>)
 #.
-#: ../src/orca/structural_navigation.py:2511
+#: ../src/orca/structural_navigation.py:2642
 msgid "Goes to previous heading."
 msgstr "移è?³å??ä¸?å??æ¨?é¡?ã??"
 
 #. Translators: this is for navigating in a document by heading.
 #. (e.g., <h1>)
 #.
-#: ../src/orca/structural_navigation.py:2516
+#: ../src/orca/structural_navigation.py:2647
 msgid "Goes to next heading."
 msgstr "移è?³ä¸?ä¸?å??æ¨?é¡?ã??"
 
 #. Translators: this is for navigating in a document by heading.
 #. (e.g. <h1> is a heading at level 1).
 #.
-#: ../src/orca/structural_navigation.py:2526
+#: ../src/orca/structural_navigation.py:2657
 #, python-format
 msgid "Goes to previous heading at level %d."
 msgstr "移è?³å??ä¸?å??第 %d ç´?æ¨?é¡?ã??"
@@ -8284,26 +9125,26 @@ msgstr "移è?³å??ä¸?å??第 %d ç´?æ¨?é¡?ã??"
 #. Translators: this is for navigating in a document by heading.
 #. (e.g. <h1> is a heading at level 1).
 #.
-#: ../src/orca/structural_navigation.py:2533
+#: ../src/orca/structural_navigation.py:2664
 #, python-format
 msgid "Goes to next heading at level %d."
 msgstr "移è?³ä¸?ä¸?å??第 %d ç´?æ¨?é¡?ã??"
 
-#. Translators: this is for navigating HTML content by
-#. moving from heading to heading (e.g. <h1>, <h2>, etc).
-#. This string is what Orca will say if there are no more
+#. 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.
 #.
-#: ../src/orca/structural_navigation.py:2605
+#: ../src/orca/structural_navigation.py:2736
 msgid "No more headings."
 msgstr "æ²?æ??å?¶ä»?æ¨?é¡?ã??"
 
-#. 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
-#. what Orca will say if there are no more headings found.
+#. 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.
 #.
-#: ../src/orca/structural_navigation.py:2612
+#: ../src/orca/structural_navigation.py:2754
 #, python-format
 msgid "No more headings at level %d."
 msgstr "æ²?æ??å?¶ä»?第 %d ç´?æ¨?é¡?ã??"
@@ -8313,7 +9154,7 @@ msgstr "æ²?æ??å?¶ä»?第 %d ç´?æ¨?é¡?ã??"
 #. HTML tag attribute 'role' used to identify important part
 #. of webpage like banners, main context, search etc.
 #.
-#: ../src/orca/structural_navigation.py:2631
+#: ../src/orca/structural_navigation.py:2784
 msgid "Goes to previous landmark."
 msgstr "移è?³å??ä¸?å??å?°æ¨?ã??"
 
@@ -8322,7 +9163,7 @@ msgstr "移è?³å??ä¸?å??å?°æ¨?ã??"
 #. HTML tag attribute 'role' used to identify important part
 #. of webpage like banners, main context, search etc.
 #.
-#: ../src/orca/structural_navigation.py:2638
+#: ../src/orca/structural_navigation.py:2791
 msgid "Goes to next landmark."
 msgstr "移è?³ä¸?ä¸?å??å?°æ¨?ã??"
 
@@ -8332,247 +9173,248 @@ msgstr "移è?³ä¸?ä¸?å??å?°æ¨?ã??"
 #. of webpage like banners, main context, search etc.  This
 #. is an indication that one was not found.
 #.
-#: ../src/orca/structural_navigation.py:2712
+#: ../src/orca/structural_navigation.py:2864
 msgid "No landmark found."
 msgstr "No landmark found."
 
 #. Translators: this is for navigating among bulleted/numbered
 #. lists in a document.
 #.
-#: ../src/orca/structural_navigation.py:2729
+#: ../src/orca/structural_navigation.py:2892
 msgid "Goes to previous list."
 msgstr "移è?³å??ä¸?å??æ¸?å?®ã??"
 
 #. Translators: this is for navigating among bulleted/numbered
 #. lists in a document.
 #.
-#: ../src/orca/structural_navigation.py:2734
+#: ../src/orca/structural_navigation.py:2897
 msgid "Goes to next list."
 msgstr "移è?³ä¸?ä¸?å??æ¸?å?®ã??"
 
 #. Translators: this is for navigating document content by moving
 #. from bulleted/numbered list to bulleted/numbered list. This
-#. string is what Orca will say if there are no more lists found.
+#. string is the detailed message which Orca will present if there
+#. are no more lists found.
 #.
-#: ../src/orca/structural_navigation.py:2817
+#: ../src/orca/structural_navigation.py:2982
 msgid "No more lists."
 msgstr "æ²?æ??å?¶ä»?æ¸?å?®ã??"
 
 #. Translators: this is for navigating among bulleted/numbered list
 #. items in a document.
 #.
-#: ../src/orca/structural_navigation.py:2834
+#: ../src/orca/structural_navigation.py:3010
 msgid "Goes to previous list item."
 msgstr "移è?³å??ä¸?å??æ¸?å?®é ?ç?®ã??"
 
 #. Translators: this is for navigating among bulleted/numbered list
 #. items in a document.
 #.
-#: ../src/orca/structural_navigation.py:2839
+#: ../src/orca/structural_navigation.py:3015
 msgid "Goes to next list item."
 msgstr "移è?³ä¸?ä¸?å??æ¸?å?®é ?ç?®ã??"
 
 #. Translators: this is for navigating document content by
 #. moving from bulleted/numbered list item to  bulleted/
-#. numbered list item.  This string is what Orca will say
-#. if there are no more list items found.
+#. numbered list item.  This string is the detailed message
+#. which Orca will present if there are no more list items found.
 #.
-#: ../src/orca/structural_navigation.py:2902
+#: ../src/orca/structural_navigation.py:3078
 msgid "No more list items."
 msgstr "æ²?æ??å?¶ä»?æ¸?å?®é ?ç?®ã??"
 
 #. Translators: this is for navigating between live regions
 #.
-#: ../src/orca/structural_navigation.py:2918
+#: ../src/orca/structural_navigation.py:3105
 msgid "Goes to previous live region."
 msgstr "移è?³å??ä¸?å??å?³æ??æ?­å ±å??ã??"
 
 #. Translators: this is for navigating between live regions
 #.
-#: ../src/orca/structural_navigation.py:2922
+#: ../src/orca/structural_navigation.py:3109
 msgid "Goes to next live region."
 msgstr "移è?³ä¸?ä¸?å??å?³æ??æ?­å ±å??ã??"
 
 #. Translators: this is for navigating to the last live region
-#. to make an announcement.
+#. which made an announcement.
 #.
-#: ../src/orca/structural_navigation.py:2927
-msgid "Goes to last live region."
-msgstr "移è?³æ??å¾?ä¸?å??å?³æ??æ?­å ±å??ã??"
+#: ../src/orca/structural_navigation.py:3114
+msgid "Goes to the last live region which made an announcement."
+msgstr "ç?¼ä½?å?¬å??æ??移è?³å?³æ??æ?­å ±å??ã??"
 
 #. 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.
 #.
-#: ../src/orca/structural_navigation.py:2976
+#: ../src/orca/structural_navigation.py:3163
 msgid "No more live regions."
 msgstr "No more live regions."
 
 #. Translators: this is for navigating among paragraphs in a document.
 #.
-#: ../src/orca/structural_navigation.py:2992
+#: ../src/orca/structural_navigation.py:3190
 msgid "Goes to previous paragraph."
 msgstr "移è?³å??ä¸?段ã??"
 
 #. Translators: this is for navigating among paragraphs in a document.
 #.
-#: ../src/orca/structural_navigation.py:2996
+#: ../src/orca/structural_navigation.py:3194
 msgid "Goes to next paragraph."
 msgstr "移è?³ä¸?ä¸?段ã??"
 
-#. Translators: this is for navigating document content by
-#. moving from paragraph to paragraph. This string is what
-#. Orca will say if there are no more large objects found.
+#. 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.
 #.
-#: ../src/orca/structural_navigation.py:3056
+#: ../src/orca/structural_navigation.py:3254
 msgid "No more paragraphs."
 msgstr "æ²?æ??å?¶ä»?段è?½ã??"
 
 #. Translators: this is for navigating among radio buttons in a
 #. form within a document.
 #.
-#: ../src/orca/structural_navigation.py:3073
+#: ../src/orca/structural_navigation.py:3282
 msgid "Goes to previous radio button."
 msgstr "移è?³å??ä¸?å??å?®é?¸æ??é??ã??"
 
 #. Translators: this is for navigating among radio buttons in a
 #. form within a document.
 #.
-#: ../src/orca/structural_navigation.py:3078
+#: ../src/orca/structural_navigation.py:3287
 msgid "Goes to next radio button."
 msgstr "移è?³ä¸?ä¸?å??å?®é?¸æ??é??ã??"
 
-#. Translators: this is for navigating in document content
-#. by moving from radio button to radio button in a form.
-#. This string is what Orca will say if there are no more
+#. 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.
 #.
-#: ../src/orca/structural_navigation.py:3135
+#: ../src/orca/structural_navigation.py:3344
 msgid "No more radio buttons."
 msgstr "æ²?æ??å?¶ä»?å?®é?¸æ??é??ã??"
 
 #. Translators: this is for navigating among separators, such as the
 #. <hr> tag, in a document.
 #.
-#: ../src/orca/structural_navigation.py:3152
+#: ../src/orca/structural_navigation.py:3372
 msgid "Goes to previous separator."
 msgstr "移è?³å??ä¸?å??å??é??符ã??"
 
 #. Translators: this is for navigating among separators, such as the
 #. <hr> tag, in a document.
 #.
-#: ../src/orca/structural_navigation.py:3157
+#: ../src/orca/structural_navigation.py:3377
 msgid "Goes to next separator."
 msgstr "移è?³ä¸?ä¸?å??å??é??符ã??"
 
-#. Translators: this is for navigating document content by
-#. moving amongst separators (e.g. <hr> tags). This string
-#. is what Orca will say if there are no more separators
+#. 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.
 #.
-#: ../src/orca/structural_navigation.py:3205
+#: ../src/orca/structural_navigation.py:3425
 msgid "No more separators."
 msgstr "æ²?æ??å?¶ä»?å??é??符ã??"
 
 #. Translators: this is for navigating among tables in a document.
 #.
-#: ../src/orca/structural_navigation.py:3221
+#: ../src/orca/structural_navigation.py:3452
 msgid "Goes to previous table."
 msgstr "移è?³å??ä¸?å??å·¥ä½?表ã??"
 
 #. Translators: this is for navigating among tables in a document.
 #.
-#: ../src/orca/structural_navigation.py:3225
+#: ../src/orca/structural_navigation.py:3456
 msgid "Goes to next table."
 msgstr "移è?³ä¸?ä¸?å??å·¥ä½?表ã??"
 
 #. Translators: this is for navigating document content by moving
-#. from table to table.  This string is what Orca will say if there
-#. are no more tables found.
+#. from table to table.  This string is the detailed message which
+#. Orca will present if there are no more tables found.
 #.
-#: ../src/orca/structural_navigation.py:3284
+#: ../src/orca/structural_navigation.py:3515
 msgid "No more tables."
 msgstr "æ²?æ??å?¶ä»?ç??表格ã??"
 
 #. Translators: this is for navigating among table cells in a document.
 #.
-#: ../src/orca/structural_navigation.py:3300
+#: ../src/orca/structural_navigation.py:3542
 msgid "Goes left one cell."
 msgstr "移è?³å·¦é??ä¸?å??å?²å­?æ ¼ã??"
 
 #. Translators: this is for navigating among table cells in a document.
 #.
-#: ../src/orca/structural_navigation.py:3304
+#: ../src/orca/structural_navigation.py:3546
 msgid "Goes right one cell."
 msgstr "移è?³å?³é??ä¸?å??å?²å­?æ ¼ã??"
 
 #. Translators: this is for navigating among table cells in a document.
 #.
-#: ../src/orca/structural_navigation.py:3308
+#: ../src/orca/structural_navigation.py:3550
 msgid "Goes up one cell."
 msgstr "移è?³ä¸?é?¢ä¸?å??å?²å­?æ ¼ã??"
 
 #. Translators: this is for navigating among table cells in a document.
 #.
-#: ../src/orca/structural_navigation.py:3312
+#: ../src/orca/structural_navigation.py:3554
 msgid "Goes down one cell."
 msgstr "移è?³ä¸?é?¢ä¸?å??å?²å­?æ ¼ã??"
 
 #. Translators: this is for navigating among table cells in a document.
 #.
-#: ../src/orca/structural_navigation.py:3316
+#: ../src/orca/structural_navigation.py:3558
 msgid "Goes to the first cell in a table."
 msgstr "移è?³è¡¨æ ¼ä¸­ç??第ä¸?å??å?²å­?æ ¼ã??"
 
 #. Translators: this is for navigating among table cells in a document.
 #.
-#: ../src/orca/structural_navigation.py:3320
+#: ../src/orca/structural_navigation.py:3562
 msgid "Goes to the last cell in a table."
 msgstr "移è?³è¡¨æ ¼ä¸­ç??æ??å¾?ä¸?å??å?²å­?æ ¼ã??"
 
 #. Translators: this is for navigating among unvisited links in a
 #. document.
 #.
-#: ../src/orca/structural_navigation.py:3404
+#: ../src/orca/structural_navigation.py:3647
 msgid "Goes to previous unvisited link."
 msgstr "移è?³å??ä¸?å??æ?ªç??覽ç??é?£çµ?ã??"
 
 #. Translators: this is for navigating among unvisited links in a
 #. document.
 #.
-#: ../src/orca/structural_navigation.py:3409
+#: ../src/orca/structural_navigation.py:3652
 msgid "Goes to next unvisited link."
 msgstr "移è?³ä¸?ä¸?å??æ?ªç??覽é?£çµ?ã??"
 
-#. Translators: this is for navigating document content by
-#. moving from unvisited link to unvisited link. This string
-#. is what Orca will say if there are no more unvisited links
-#. found.
+#. 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.
 #.
-#: ../src/orca/structural_navigation.py:3472
+#: ../src/orca/structural_navigation.py:3715
 msgid "No more unvisited links."
 msgstr "No more unvisited links."
 
 #. Translators: this is for navigating among visited links in a
 #. document.
 #.
-#: ../src/orca/structural_navigation.py:3489
+#: ../src/orca/structural_navigation.py:3743
 msgid "Goes to previous visited link."
 msgstr "移è?³å??ä¸?å??ç??覽é??ç??é?£çµ?ã??"
 
 #. Translators: this is for navigating among visited links in a
 #. document.
 #.
-#: ../src/orca/structural_navigation.py:3494
+#: ../src/orca/structural_navigation.py:3748
 msgid "Goes to next visited link."
 msgstr "移è?³ä¸?ä¸?å??ç??覽é??ç??é?£çµ?ã??"
 
-#. Translators: this is for navigating document content by
-#. moving from visited link to visited link. This string is
-#. what Orca will say if there are no more visited links
-#. found.
+#. 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.
 #.
-#: ../src/orca/structural_navigation.py:3550
+#: ../src/orca/structural_navigation.py:3804
 msgid "No more visited links."
 msgstr "æ²?æ??å?¶ä»?å??訪é??ç??é?£çµ?ã??"
 
@@ -9117,7 +9959,7 @@ msgstr "æ??å­?"
 #, fuzzy
 msgctxt "textattr"
 msgid "word char"
-msgstr "�����%s"
+msgstr "æ?¼é?¯ç??å­?"
 
 #. Translators: this is one of the text attribute values for the following
 #. text attributes: "direction".
@@ -9437,10 +10279,9 @@ msgstr "ç¹¼æ?¿æ??é??(_I)"
 #. http://www.w3.org/TR/2001/WD-css3-text-20010517/#PrimaryTextAdvanceDirection
 #.
 #: ../src/orca/text_attribute_names.py:668
-#, fuzzy
 msgctxt "textattr"
 msgid "lr-tb"
-msgstr "%.1f TB"
+msgstr "lr-tb"
 
 #. Translators: this is one of the text attribute values for the following
 #. text attributes: "writing-mode".
@@ -9448,10 +10289,9 @@ msgstr "%.1f TB"
 #. http://www.w3.org/TR/2001/WD-css3-text-20010517/#PrimaryTextAdvanceDirection
 #.
 #: ../src/orca/text_attribute_names.py:675
-#, fuzzy
 msgctxt "textattr"
 msgid "rl-tb"
-msgstr "%.1f TB"
+msgstr "rl-tb"
 
 #. Translators: this is one of the text attribute values for the following
 #. text attributes: "writing-mode".
@@ -9459,10 +10299,9 @@ msgstr "%.1f TB"
 #. http://www.w3.org/TR/2001/WD-css3-text-20010517/#PrimaryTextAdvanceDirection
 #.
 #: ../src/orca/text_attribute_names.py:682
-#, fuzzy
 msgctxt "textattr"
 msgid "tb-rl"
-msgstr "Ct_rl"
+msgstr "tb-rl"
 
 #. Translators: this is one of the text attribute values for the following
 #. text attributes: "writing-mode".
@@ -9470,10 +10309,9 @@ msgstr "Ct_rl"
 #. http://www.w3.org/TR/2001/WD-css3-text-20010517/#PrimaryTextAdvanceDirection
 #.
 #: ../src/orca/text_attribute_names.py:689
-#, fuzzy
 msgctxt "textattr"
 msgid "tb-lr"
-msgstr "%.1f TB"
+msgstr "tb-lr"
 
 #. Translators: this is one of the text attribute values for the following
 #. text attributes: "writing-mode".
@@ -9481,10 +10319,9 @@ msgstr "%.1f TB"
 #. http://www.w3.org/TR/2001/WD-css3-text-20010517/#PrimaryTextAdvanceDirection
 #.
 #: ../src/orca/text_attribute_names.py:696
-#, fuzzy
 msgctxt "textattr"
 msgid "bt-rl"
-msgstr "Ct_rl"
+msgstr "bt-rl"
 
 #. Translators: this is one of the text attribute values for the following
 #. text attributes: "writing-mode".
@@ -9494,7 +10331,7 @@ msgstr "Ct_rl"
 #: ../src/orca/text_attribute_names.py:703
 msgctxt "textattr"
 msgid "bt-lr"
-msgstr ""
+msgstr "bt-lr"
 
 #. Translators: this is one of the text attribute values for the following
 #. text attributes: "writing-mode".
@@ -9504,7 +10341,7 @@ msgstr ""
 #: ../src/orca/text_attribute_names.py:710
 msgctxt "textattr"
 msgid "lr"
-msgstr ""
+msgstr "lr"
 
 #. Translators: this is one of the text attribute values for the following
 #. text attributes: "writing-mode".
@@ -9512,10 +10349,9 @@ msgstr ""
 #. http://www.w3.org/TR/2001/WD-css3-text-20010517/#PrimaryTextAdvanceDirection
 #.
 #: ../src/orca/text_attribute_names.py:717
-#, fuzzy
 msgctxt "textattr"
 msgid "rl"
-msgstr "Ct_rl"
+msgstr "rl"
 
 #. Translators: this is one of the text attribute values for the following
 #. text attributes: "writing-mode".
@@ -9523,10 +10359,9 @@ msgstr "Ct_rl"
 #. http://www.w3.org/TR/2001/WD-css3-text-20010517/#PrimaryTextAdvanceDirection
 #.
 #: ../src/orca/text_attribute_names.py:724
-#, fuzzy
 msgctxt "textattr"
 msgid "tb"
-msgstr "TB"
+msgstr "tb"
 
 #. Translators: this is one of the text attribute values for the following
 #. text attributes: "strikethrough." It refers to the line style.
@@ -9646,27 +10481,3 @@ msgid ""
 "To decrease press left arrow, to increase press right arrow. To go to "
 "minimum press home, and for maximum press end."
 msgstr "è¦?æ¸?å°?æ??å·¦æ?¹å??é?µï¼?å¢?å? æ??å?³æ?¹å??é?µã??è¦?å°?æ?? home æ??é?µï¼?å¤?æ?? end æ??é?µã??"
-
-#~ msgid "Restrict progress bar updates to:"
-#~ msgstr "é??å?¶é?²åº¦å??ç??æ?´æ?°ç?ºï¼?"
-
-#~ msgid "<b>Color Settings</b>"
-#~ msgstr "<b>�彩設�</b>"
-
-#~ msgid "<b>Contracted Braille</b>"
-#~ msgstr "<b>縮����</b>"
-
-#~ msgid "Key Binding List"
-#~ msgstr "æ??é?µçµ?å??æ¸?å?®"
-
-#~ msgid "Speak current ro_w"
-#~ msgstr "è®?å?ºç?®å??ç??å??(_W)"
-
-#~ msgid "every"
-#~ msgstr "�"
-
-#~ msgid "seconds"
-#~ msgstr "�"
-
-#~ msgid "Invalid choice. Selecting desktop keyboard layout.\n"
-#~ msgstr "ç?¡æ??ç??é?¸æ??ã??æ­£é?¸æ??æ¡?é?¢é?µç?¤é??ç½®ã??\n"



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]