[gnome-games] Updated Traditional Chinese translation(Hong Kong and Taiwan)



commit 63a4a8b98d01c213200c9773a72157eda518bf06
Author: Chao-Hsiung Liao <j_h_liau yahoo com tw>
Date:   Sun Jul 19 08:25:38 2009 +0800

    Updated Traditional Chinese translation(Hong Kong and Taiwan)

 po/zh_HK.po | 2739 ++++++++++++++++++++++++++++++++++++++++-------------------
 po/zh_TW.po | 2730 ++++++++++++++++++++++++++++++++++++++++-------------------
 2 files changed, 3749 insertions(+), 1720 deletions(-)
---
diff --git a/po/zh_HK.po b/po/zh_HK.po
index 9d14a65..87a8eb3 100644
--- a/po/zh_HK.po
+++ b/po/zh_HK.po
@@ -6,10 +6,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gnome-games 2.27.2\n"
+"Project-Id-Version: gnome-games 2.27.5\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-05-27 20:19+0800\n"
-"PO-Revision-Date: 2009-05-27 20:20+0800\n"
+"POT-Creation-Date: 2009-07-18 21:36+0800\n"
+"PO-Revision-Date: 2009-07-18 21:38+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"
@@ -93,8 +93,8 @@ msgstr "æ?¯å?¦é¡¯ç¤ºç??æ??å??"
 msgid "Whether or not to show the toolbar"
 msgstr "æ?¯å?¦é¡¯ç¤ºå·¥å?·å??"
 
-#: ../aisleriot/freecell.desktop.in.in.h:1 ../aisleriot/sol.c:583
-#: ../aisleriot/window.c:601 ../aisleriot/window.c:609
+#: ../aisleriot/freecell.desktop.in.in.h:1 ../aisleriot/sol.c:306
+#: ../aisleriot/window.c:619 ../aisleriot/window.c:627
 msgid "FreeCell Solitaire"
 msgstr "FreeCell å?¤ç??æ?¥é¾?é??æ?²"
 
@@ -102,25 +102,25 @@ msgstr "FreeCell å?¤ç??æ?¥é¾?é??æ?²"
 msgid "Play the popular FreeCell card game"
 msgstr "ç?©å??æ­¡è¿?ç?? FreeCell å?¤ç??æ?¥é¾?é??æ?²"
 
-#: ../aisleriot/game.c:1134
+#: ../aisleriot/game.c:1143
 #, c-format
 msgid ""
 "Aisleriot cannot load the file â??%sâ??. Please check your Aisleriot "
 "installation."
 msgstr "Aisleriot ç?¡æ³?è¼?å?¥æª?æ¡?â??%sâ??ã??è«?檢æ?¥æ?¯å?¦å·²æ­£ç¢ºå®?è£? Aisleriotã??"
 
-#: ../aisleriot/game.c:1575
+#: ../aisleriot/game.c:1587
 msgid "Aisleriot cannot find the last game you played."
 msgstr "Aisleriot æ?¾ä¸?å?°ä½ æ??å¾?ç?©é??ç??é??æ?²ã??"
 
-#: ../aisleriot/game.c:1576
+#: ../aisleriot/game.c:1588
 msgid ""
 "This usually occurs when you run an older version of Aisleriot which does "
 "not have the game you last played. The default game, Klondike, is being "
 "started instead."
 msgstr "é??樣é??常表示你æº?å??å?·è¡?è??ç??æ?¬ç?? Aisleriotï¼?è??該ç??æ?¬æ²?æ??ä½ ä¸?次ç?©ç??é??æ?²ã??ç?¾å?¨æ??æ?¹ç?ºå?·è¡?é ?設ç??é??æ?²ï¼?å?³ Klondike (Windows ç??æ?¥é¾?)ã??"
 
-#: ../aisleriot/game.c:1934
+#: ../aisleriot/game.c:1946
 msgid "This game does not have hint support yet."
 msgstr "é??å??é??æ?²ä»?æ?ªå?¯ä»¥é¡¯ç¤ºæ??示è¨?æ?¯ã??"
 
@@ -128,71 +128,854 @@ msgstr "é??å??é??æ?²ä»?æ?ªå?¯ä»¥é¡¯ç¤ºæ??示è¨?æ?¯ã??"
 #. The first %s is a card name, the 2nd %s a sentence fragment.
 #. * Yes, we know this is bad for i18n.
 #.
-#: ../aisleriot/game.c:1968 ../aisleriot/game.c:1996
+#: ../aisleriot/game.c:1980 ../aisleriot/game.c:2008
 #, c-format
 msgid "Move %s onto %s."
 msgstr "å°?%s 移è?³%s ä¸?é?¢ã??"
 
-#: ../aisleriot/game.c:2018
+#: ../aisleriot/game.c:2030
 #, c-format
 msgid "You are searching for a %s."
 msgstr "ä½ æ­£å?¨æ?¾%sã??"
 
-#: ../aisleriot/game.c:2023
+#: ../aisleriot/game.c:2035
 msgid "This game is unable to provide a hint."
 msgstr "å?¨æ­¤é??æ?²ä¸­ç?¡æ³?æ??ä¾?ä»»ä½?æ??示ã??"
 
-#: ../aisleriot/sol.c:120
-msgid "Could not show link"
-msgstr "��顯示��"
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:6
+msgid "Peek"
+msgstr "Peek"
 
-#. %s.%s is the game name + the extension HTML or XHTML, e.g. Klondike.html"
-#: ../aisleriot/sol.c:309
-#, c-format
-msgid "Help file \"%s.%s\" not found"
-msgstr "æ?¾ä¸?å?°èªªæ??æ??件æª?æ¡?ã??%s.%sã??"
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:13
+msgid "Auld Lang Syne"
+msgstr "Auld Lang Syne"
 
-#. Empty title shows up as "<unnamed>" on maemo
-#: ../aisleriot/sol.c:314 ../aisleriot/sol.c:392 ../aisleriot/window.c:1967
-#: ../dependencies/ggz-gtk/ggzclient.c:124
-#: ../dependencies/ggz-gtk/ggzclient.c:380
-#: ../dependencies/ggz-gtk/ggzclient.c:561
-#: ../dependencies/ggz-gtk/ggzclient.c:596
-#: ../dependencies/ggz-gtk/ggzclient.c:649
-#: ../dependencies/ggz-gtk/ggzclient.c:1079
-#: ../dependencies/ggz-gtk/launch.c:325
-msgid "Error"
-msgstr "�誤"
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:20
+msgid "Fortunes"
+msgstr "Fortunes"
 
-#: ../aisleriot/sol.c:373
-#, c-format
-msgid "Could not show help for â??%sâ??"
-msgstr "ç?¡æ³?顯示â??%sâ??ç??æ±?å?©æ??件"
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:27
+msgid "Seahaven"
+msgstr "Seahaven"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:34
+msgid "King Albert"
+msgstr "King Albert"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:41
+msgid "First Law"
+msgstr "First Law"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:48
+msgid "Straight Up"
+msgstr "Straight Up"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:55
+msgid "Jumbo"
+msgstr "Jumbo"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:62
+msgid "Accordion"
+msgstr "Accordion"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:69
+msgid "Ten Across"
+msgstr "Ten Across"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:76
+msgid "Plait"
+msgstr "Plait"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:83
+msgid "Lady Jane"
+msgstr "Lady Jane"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:90
+msgid "Gypsy"
+msgstr "Gypsy"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:97
+msgid "Neighbor"
+msgstr "Neighbor"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:104
+msgid "Terrace~"
+msgstr "Terrace~"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:111
+msgid "Jamestown"
+msgstr "Jamestown"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:118
+msgid "Osmosis"
+msgstr "Osmosis"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:125
+msgid "Kings Audience"
+msgstr "Kings Audience"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:132
+msgid "Glenwood"
+msgstr "Glenwood"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:139
+msgid "Gay Gordons"
+msgstr "Gay Gordons"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:146
+msgid "Monte Carlo"
+msgstr "Monte Carlo"
 
-#: ../aisleriot/sol.c:376
-msgid "Could not show Aisleriot help"
-msgstr "ç?¡æ³?顯示 Aisleriot ç??æ±?å?©æ??件"
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:153
+msgid "Kansas"
+msgstr "Kansas"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:160
+msgid "Camelot"
+msgstr "Camelot"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:167
+msgid "Fourteen"
+msgstr "Fourteen"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:174
+msgid "Scorpion"
+msgstr "Scorpion"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:181
+msgid "Isabel"
+msgstr "Isabel"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:188
+msgid "Escalator"
+msgstr "Escalator"
+
+# (Abel) Remove all translated entries. Most references online are in
+# English, so translating them will create difficulty for people to
+# search reference online.
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:195
+msgid "Agnes"
+msgstr "Agnes"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:202
+msgid "Bristol"
+msgstr "Bristol"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:209
+msgid "Quatorze"
+msgstr "Quatorze"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:216
+msgid "Bear River"
+msgstr "Bear River"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:223
+msgid "Gold Mine"
+msgstr "Gold Mine"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:230
+msgid "Athena"
+msgstr "Athena"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:237
+msgid "Spiderette"
+msgstr "Spiderette"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:244
+msgid "Chessboard"
+msgstr "Chessboard"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:251
+msgid "Backbone"
+msgstr "Backbone"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:258
+msgid "Yukon"
+msgstr "Yukon"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:265
+msgid "Union Square"
+msgstr "Union Square"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:272
+msgid "Eight Off"
+msgstr "Eight Off"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:279
+msgid "Napoleons Tomb"
+msgstr "Napoleons Tomb"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:286
+msgid "Forty Thieves"
+msgstr "Forty Thieves"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:293
+msgid "Streets And Alleys"
+msgstr "Streets And Alleys"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:300
+msgid "Maze"
+msgstr "Maze"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:307
+msgid "Clock"
+msgstr "Clock"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:314
+msgid "Pileon"
+msgstr "Pileon"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:321
+msgid "Canfield"
+msgstr "Canfield"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:328
+msgid "Thirteen"
+msgstr "Thirteen"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:335
+msgid "Bakers Game"
+msgstr "Bakers Game"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:342
+msgid "Triple Peaks"
+msgstr "Triple Peaks"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:349
+msgid "Easthaven"
+msgstr "Easthaven"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#. Translators: this string is the name of a variant of this game. If there is an established standard name for this game or game variant in your locale, use that; otherwise you can translate this string freely or literally, at your option.
+#: ../aisleriot/game-names.h:356 ../aisleriot/rules/terrace.scm.h:20
+msgid "Terrace"
+msgstr "Terrace"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:363
+msgid "Aunt Mary"
+msgstr "Aunt Mary"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:370
+msgid "Carpet"
+msgstr "Carpet"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:377
+msgid "Sir Tommy"
+msgstr "Sir Tommy"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:384
+msgid "Diamond Mine"
+msgstr "Diamond Mine"
 
-#: ../aisleriot/sol.c:481
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:391
+msgid "Yield"
+msgstr "Yield"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:398
+msgid "Labyrinth"
+msgstr "Labyrinth"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:405
+msgid "Thieves"
+msgstr "Thieves"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:412
+msgid "Saratoga"
+msgstr "Saratoga"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:419
+msgid "Cruel"
+msgstr "Cruel"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:426
+msgid "Block Ten"
+msgstr "Block Ten"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:433
+msgid "Will O The Wisp"
+msgstr "Will O The Wisp"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:440
+msgid "Odessa"
+msgstr "Odessa"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:447
+msgid "Eagle Wing"
+msgstr "Eagle Wing"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:454
+msgid "Treize"
+msgstr "Treize"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:461
+msgid "Zebra"
+msgstr "Zebra"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:468
+msgid "Cover"
+msgstr "Cover"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:475
+msgid "Elevator"
+msgstr "Elevator"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:482
+msgid "Fortress"
+msgstr "Fortress"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:489
+msgid "Giant"
+msgstr "Giant"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:496
+msgid "Spider"
+msgstr "Spider"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:503
+msgid "Gaps"
+msgstr "Gaps"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:510
+msgid "Bakers Dozen"
+msgstr "Bakers Dozen"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:517
+msgid "Whitehead"
+msgstr "Whitehead"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:524
+msgid "Freecell"
+msgstr "Freecell"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:531
+msgid "Helsinki"
+msgstr "Helsinki"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:538
+msgid "Spider Three Decks"
+msgstr "Spider Three Decks"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:545
+msgid "Scuffle"
+msgstr "Scuffle"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:552
+msgid "Poker"
+msgstr "Poker"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:559
+msgid "Klondike Three Decks"
+msgstr "Klondike Three Decks"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:566
+msgid "Valentine"
+msgstr "Valentine"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:573
+msgid "Royal East"
+msgstr "Royal East"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:580
+msgid "Thumb And Pouch"
+msgstr "Thumb And Pouch"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:587
+msgid "Klondike"
+msgstr "Klondike"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:594
+msgid "Doublets"
+msgstr "Doublets"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:601
+msgid "Template"
+msgstr "Template"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:608
+msgid "Golf"
+msgstr "Golf"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:615
+msgid "Westhaven"
+msgstr "Westhaven"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:622
+msgid "Beleaguered Castle"
+msgstr "Beleaguered Castle"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:629
+msgid "Hopscotch"
+msgstr "Hopscotch"
+
+#: ../aisleriot/sol.c:214
 msgid "Select the game type to play"
 msgstr "é?¸æ??è¦?ç?©ç??é??æ?²é¡?å??"
 
-#: ../aisleriot/sol.c:481 ../gnobots2/gnobots.c:85 ../gnobots2/gnobots.c:87
+#: ../aisleriot/sol.c:214 ../gnobots2/gnobots.c:85 ../gnobots2/gnobots.c:87
 #: ../same-gnome/same-gnome.c:127 ../same-gnome/same-gnome.c:129
 msgid "NAME"
 msgstr "å??稱"
 
-#: ../aisleriot/sol.c:483
+#: ../aisleriot/sol.c:216
 msgid "Select the game number"
 msgstr "é?¸æ??é??æ?²ç·¨è??"
 
-#: ../aisleriot/sol.c:483 ../gnomine/gnomine.c:995 ../gtali/gyahtzee.c:110
+#: ../aisleriot/sol.c:216 ../gnomine/gnomine.c:996 ../gtali/gyahtzee.c:110
 #: ../gtali/gyahtzee.c:112 ../gtali/gyahtzee.c:116 ../gtali/gyahtzee.c:118
 #: ../same-gnome/same-gnome.c:131
 msgid "NUMBER"
 msgstr "æ?¸é??"
 
-#: ../aisleriot/sol.c:583 ../aisleriot/window.c:610 ../aisleriot/window.c:2828
+#: ../aisleriot/sol.c:306 ../aisleriot/window.c:628 ../aisleriot/window.c:2881
 msgid "AisleRiot"
 msgstr "AisleRiot"
 
@@ -598,405 +1381,55 @@ msgstr "N/A"
 msgid "%d:%02d"
 msgstr "%d:%02d"
 
-#: ../aisleriot/translatable_game_names.h:1
-msgid "Accordion"
-msgstr "Accordion"
-
-# (Abel) Remove all translated entries. Most references online are in
-# English, so translating them will create difficulty for people to
-# search reference online.
-#: ../aisleriot/translatable_game_names.h:2
-msgid "Agnes"
-msgstr "Agnes"
-
-#: ../aisleriot/translatable_game_names.h:3
-msgid "Athena"
-msgstr "Athena"
-
-#: ../aisleriot/translatable_game_names.h:4
-msgid "Auld Lang Syne"
-msgstr "Auld Lang Syne"
-
-#: ../aisleriot/translatable_game_names.h:5
-msgid "Aunt Mary"
-msgstr "Aunt Mary"
-
-#: ../aisleriot/translatable_game_names.h:6
-msgid "Backbone"
-msgstr "Backbone"
-
-#: ../aisleriot/translatable_game_names.h:7
-msgid "Bakers Dozen"
-msgstr "Bakers Dozen"
-
-#: ../aisleriot/translatable_game_names.h:8
-msgid "Bakers Game"
-msgstr "Bakers Game"
-
-#: ../aisleriot/translatable_game_names.h:9
-msgid "Bear River"
-msgstr "Bear River"
-
-#: ../aisleriot/translatable_game_names.h:10
-msgid "Beleaguered Castle"
-msgstr "Beleaguered Castle"
-
-#: ../aisleriot/translatable_game_names.h:11
-msgid "Block Ten"
-msgstr "Block Ten"
-
-#: ../aisleriot/translatable_game_names.h:12
-msgid "Bristol"
-msgstr "Bristol"
-
-#: ../aisleriot/translatable_game_names.h:13
-msgid "Camelot"
-msgstr "Camelot"
-
-#: ../aisleriot/translatable_game_names.h:14
-msgid "Canfield"
-msgstr "Canfield"
-
-#: ../aisleriot/translatable_game_names.h:15
-msgid "Carpet"
-msgstr "Carpet"
-
-#: ../aisleriot/translatable_game_names.h:16
-msgid "Chessboard"
-msgstr "Chessboard"
-
-#: ../aisleriot/translatable_game_names.h:17
-msgid "Clock"
-msgstr "Clock"
-
-#: ../aisleriot/translatable_game_names.h:18
-msgid "Cover"
-msgstr "Cover"
-
-#: ../aisleriot/translatable_game_names.h:19
-msgid "Cruel"
-msgstr "Cruel"
-
-#: ../aisleriot/translatable_game_names.h:20
-msgid "Diamond Mine"
-msgstr "Diamond Mine"
-
-#: ../aisleriot/translatable_game_names.h:21
-msgid "Doublets"
-msgstr "Doublets"
-
-#: ../aisleriot/translatable_game_names.h:22
-msgid "Eagle Wing"
-msgstr "Eagle Wing"
-
-#: ../aisleriot/translatable_game_names.h:23
-msgid "Easthaven"
-msgstr "Easthaven"
-
-#: ../aisleriot/translatable_game_names.h:24
-msgid "Eight Off"
-msgstr "Eight Off"
-
-#: ../aisleriot/translatable_game_names.h:25
-msgid "Elevator"
-msgstr "Elevator"
-
-#: ../aisleriot/translatable_game_names.h:26
-msgid "Escalator"
-msgstr "Escalator"
-
-#: ../aisleriot/translatable_game_names.h:27
-msgid "First Law"
-msgstr "First Law"
-
-#: ../aisleriot/translatable_game_names.h:28
-msgid "Fortress"
-msgstr "Fortress"
-
-#: ../aisleriot/translatable_game_names.h:29
-msgid "Fortunes"
-msgstr "Fortunes"
-
-#: ../aisleriot/translatable_game_names.h:30
-msgid "Forty Thieves"
-msgstr "Forty Thieves"
-
-#: ../aisleriot/translatable_game_names.h:31
-msgid "Fourteen"
-msgstr "Fourteen"
-
-#: ../aisleriot/translatable_game_names.h:32
-msgid "Freecell"
-msgstr "Freecell"
-
-#: ../aisleriot/translatable_game_names.h:33
-msgid "Gaps"
-msgstr "Gaps"
-
-#: ../aisleriot/translatable_game_names.h:34
-msgid "Gay Gordons"
-msgstr "Gay Gordons"
-
-#: ../aisleriot/translatable_game_names.h:35
-msgid "Giant"
-msgstr "Giant"
-
-#: ../aisleriot/translatable_game_names.h:36
-msgid "Glenwood"
-msgstr "Glenwood"
-
-#: ../aisleriot/translatable_game_names.h:37
-msgid "Gold Mine"
-msgstr "Gold Mine"
-
-#: ../aisleriot/translatable_game_names.h:38
-msgid "Golf"
-msgstr "Golf"
-
-#: ../aisleriot/translatable_game_names.h:39
-msgid "Gypsy"
-msgstr "Gypsy"
-
-#: ../aisleriot/translatable_game_names.h:40
-msgid "Helsinki"
-msgstr "Helsinki"
-
-#: ../aisleriot/translatable_game_names.h:41
-msgid "Hopscotch"
-msgstr "Hopscotch"
-
-#: ../aisleriot/translatable_game_names.h:42
-msgid "Isabel"
-msgstr "Isabel"
-
-#: ../aisleriot/translatable_game_names.h:43
-msgid "Jamestown"
-msgstr "Jamestown"
-
-#: ../aisleriot/translatable_game_names.h:44
-msgid "Jumbo"
-msgstr "Jumbo"
-
-#: ../aisleriot/translatable_game_names.h:45
-msgid "Kansas"
-msgstr "Kansas"
-
-#: ../aisleriot/translatable_game_names.h:46
-msgid "King Albert"
-msgstr "King Albert"
-
-#: ../aisleriot/translatable_game_names.h:47
-msgid "Kings Audience"
-msgstr "Kings Audience"
-
-#: ../aisleriot/translatable_game_names.h:48
-msgid "Klondike"
-msgstr "Klondike"
-
-#: ../aisleriot/translatable_game_names.h:49
-msgid "Labyrinth"
-msgstr "Labyrinth"
-
-#: ../aisleriot/translatable_game_names.h:50
-msgid "Lady Jane"
-msgstr "Lady Jane"
-
-#: ../aisleriot/translatable_game_names.h:51
-msgid "Maze"
-msgstr "Maze"
-
-#: ../aisleriot/translatable_game_names.h:52
-msgid "Monte Carlo"
-msgstr "Monte Carlo"
-
-#: ../aisleriot/translatable_game_names.h:53
-msgid "Napoleons Tomb"
-msgstr "Napoleons Tomb"
-
-#: ../aisleriot/translatable_game_names.h:54
-msgid "Neighbor"
-msgstr "Neighbor"
-
-#: ../aisleriot/translatable_game_names.h:55
-msgid "Odessa"
-msgstr "Odessa"
-
-#: ../aisleriot/translatable_game_names.h:56
-msgid "Osmosis"
-msgstr "Osmosis"
-
-#: ../aisleriot/translatable_game_names.h:57
-msgid "Peek"
-msgstr "Peek"
-
-#: ../aisleriot/translatable_game_names.h:58
-msgid "Pileon"
-msgstr "Pileon"
-
-#: ../aisleriot/translatable_game_names.h:59
-msgid "Plait"
-msgstr "Plait"
-
-#: ../aisleriot/translatable_game_names.h:60
-msgid "Poker"
-msgstr "Poker"
-
-#: ../aisleriot/translatable_game_names.h:61
-msgid "Quatorze"
-msgstr "Quatorze"
-
-#: ../aisleriot/translatable_game_names.h:62
-msgid "Royal East"
-msgstr "Royal East"
-
-#: ../aisleriot/translatable_game_names.h:63
-msgid "Saratoga"
-msgstr "Saratoga"
-
-#: ../aisleriot/translatable_game_names.h:64
-msgid "Scorpion"
-msgstr "Scorpion"
-
-#: ../aisleriot/translatable_game_names.h:65
-msgid "Scuffle"
-msgstr "Scuffle"
-
-#: ../aisleriot/translatable_game_names.h:66
-msgid "Seahaven"
-msgstr "Seahaven"
-
-#: ../aisleriot/translatable_game_names.h:67
-msgid "Sir Tommy"
-msgstr "Sir Tommy"
-
-#: ../aisleriot/translatable_game_names.h:68
-msgid "Spider"
-msgstr "Spider"
-
-#: ../aisleriot/translatable_game_names.h:69
-msgid "Spiderette"
-msgstr "Spiderette"
-
-#: ../aisleriot/translatable_game_names.h:70
-msgid "Spider Three Decks"
-msgstr "Spider Three Decks"
-
-#: ../aisleriot/translatable_game_names.h:71
-msgid "Straight Up"
-msgstr "Straight Up"
-
-#: ../aisleriot/translatable_game_names.h:72
-msgid "Streets And Alleys"
-msgstr "Streets And Alleys"
-
-#: ../aisleriot/translatable_game_names.h:73
-msgid "Template"
-msgstr "Template"
-
-#: ../aisleriot/translatable_game_names.h:74
-msgid "Ten Across"
-msgstr "Ten Across"
-
-#: ../aisleriot/translatable_game_names.h:75
-#: ../aisleriot/rules/terrace.scm.h:14
-msgid "Terrace"
-msgstr "Terrace"
-
-#: ../aisleriot/translatable_game_names.h:76
-msgid "Thieves"
-msgstr "Thieves"
-
-#: ../aisleriot/translatable_game_names.h:77
-msgid "Thirteen"
-msgstr "Thirteen"
-
-#: ../aisleriot/translatable_game_names.h:78
-msgid "Thumb And Pouch"
-msgstr "Thumb And Pouch"
-
-#: ../aisleriot/translatable_game_names.h:79
-msgid "Treize"
-msgstr "Treize"
-
-#: ../aisleriot/translatable_game_names.h:80
-msgid "Triple Peaks"
-msgstr "Triple Peaks"
-
-#: ../aisleriot/translatable_game_names.h:81
-msgid "Union Square"
-msgstr "Union Square"
-
-#: ../aisleriot/translatable_game_names.h:82
-msgid "Valentine"
-msgstr "Valentine"
-
-#: ../aisleriot/translatable_game_names.h:83
-msgid "Westhaven"
-msgstr "Westhaven"
-
-#: ../aisleriot/translatable_game_names.h:84
-msgid "Whitehead"
-msgstr "Whitehead"
-
-#: ../aisleriot/translatable_game_names.h:85
-msgid "Will O The Wisp"
-msgstr "Will O The Wisp"
-
-#: ../aisleriot/translatable_game_names.h:86
-msgid "Yield"
-msgstr "Yield"
-
-#: ../aisleriot/translatable_game_names.h:87
-msgid "Yukon"
-msgstr "Yukon"
-
-#: ../aisleriot/translatable_game_names.h:88
-msgid "Zebra"
-msgstr "Zebra"
+#: ../aisleriot/util.c:88 ../aisleriot/util.c:92
+#: ../libgames-support/games-help.c:152
+#, c-format
+msgid "Could not show help for â??%sâ??"
+msgstr "ç?¡æ³?顯示â??%sâ??ç??æ±?å?©æ??件"
 
-#: ../aisleriot/window.c:273 ../aisleriot/window.c:2521
+#: ../aisleriot/window.c:286 ../aisleriot/window.c:2566
 msgid "Select Game"
 msgstr "é?¸æ??é??æ?²"
 
-#: ../aisleriot/window.c:277
+#: ../aisleriot/window.c:290
 msgid "_Select"
 msgstr "é?¸æ??(_S)"
 
-#: ../aisleriot/window.c:414
+#: ../aisleriot/window.c:432
 msgid "Congratulations, you have won!"
 msgstr "æ?­å??ï¼?ä½ å·²ç¶?è´?äº?ï¼?"
 
-#: ../aisleriot/window.c:418
+#: ../aisleriot/window.c:436
 msgid "There are no more moves"
 msgstr "å·²ç¶?æ²?æ??å?¶ä»?å?¯ç§»å??ç??æ?¹æ³?äº?"
 
 #. Empty title shows up as "<unnamed>" on maemo
-#: ../aisleriot/window.c:431 ../gnometris/blockops.cpp:726
+#: ../aisleriot/window.c:449 ../gnometris/blockops.cpp:863
 msgid "Game Over"
 msgstr "���"
 
-#: ../aisleriot/window.c:558 ../gnomine/gnomine.c:444
+#: ../aisleriot/window.c:576 ../gnomine/gnomine.c:445
 #: ../mahjongg/mahjongg.c:906
 msgid "Main game:"
 msgstr "主é??æ?²ï¼?"
 
-#: ../aisleriot/window.c:566
+#: ../aisleriot/window.c:584
 msgid "Card games:"
 msgstr "å?¤ç??é??æ?²ï¼?"
 
-#: ../aisleriot/window.c:580
+#: ../aisleriot/window.c:598
 msgid "Card themes:"
 msgstr "å?¤ç??主é¡?:"
 
-#: ../aisleriot/window.c:612
+#: ../aisleriot/window.c:630
 msgid "About FreeCell Solitaire"
 msgstr "é??æ?¼ FreeCell å?¤ç??æ?¥é¾?é??æ?²"
 
-#: ../aisleriot/window.c:613
+#: ../aisleriot/window.c:631
 msgid "About AisleRiot"
 msgstr "é??æ?¼ AisleRiot æ?¥é¾?é??æ?²"
 
-#: ../aisleriot/window.c:619
+#: ../aisleriot/window.c:637
 msgid ""
 "AisleRiot provides a rule-based solitaire card engine that allows many "
 "different games to be played.\n"
@@ -1005,12 +1438,12 @@ msgstr ""
 "AisleRiot æ?¯ä»¥è¦?å??ç?ºå?ºç¤?ç??æ?¥é¾?å?¤ç??é??æ?²ï¼?å?¯æ??ä¾?å¾?å¤?種ä¸?å??ç??ç?©æ³?ã??\n"
 "AisleRiot æ?¯ GNOME é??æ?²ç??ä¸?é?¨å??ã??"
 
-#: ../aisleriot/window.c:630 ../blackjack/src/menu.cpp:159
-#: ../glchess/src/lib/gtkui/gtkui.py:860 ../glines/glines.c:1221
+#: ../aisleriot/window.c:648 ../blackjack/src/menu.cpp:159
+#: ../glchess/src/lib/gtkui/gtkui.py:861 ../glines/glines.c:1221
 #: ../gnect/src/main.c:925 ../gnibbles/main.c:257 ../gnobots2/menu.c:274
-#: ../gnometris/tetris.cpp:1296 ../gnome-sudoku/src/lib/main.py:730
-#: ../gnomine/gnomine.c:484 ../gnotravex/gnotravex.c:1917
-#: ../gnotski/gnotski.c:1540 ../gtali/gyahtzee.c:623 ../iagno/gnothello.c:268
+#: ../gnometris/tetris.cpp:1315 ../gnome-sudoku/src/lib/main.py:717
+#: ../gnomine/gnomine.c:485 ../gnotravex/gnotravex.c:1918
+#: ../gnotski/gnotski.c:1542 ../gtali/gyahtzee.c:623 ../iagno/gnothello.c:268
 #: ../mahjongg/mahjongg.c:951 ../same-gnome/ui.c:131
 msgid "translator-credits"
 msgstr ""
@@ -1021,22 +1454,22 @@ msgstr ""
 "Abel Cheung <abel oaka org>, 2001-07\n"
 "Fernando <bv1al journalist com tw>, 1999"
 
-#: ../aisleriot/window.c:634 ../blackjack/src/menu.cpp:158
-#: ../glchess/src/lib/defaults.py.in:58 ../glines/glines.c:1224
+#: ../aisleriot/window.c:652 ../blackjack/src/menu.cpp:158
+#: ../glchess/src/lib/defaults.py.in:56 ../glines/glines.c:1224
 #: ../gnect/src/main.c:922 ../gnibbles/main.c:260 ../gnobots2/menu.c:270
-#: ../gnometris/tetris.cpp:1293 ../gnome-sudoku/src/lib/defaults.py.in:43
-#: ../gnomine/gnomine.c:487 ../gnotravex/gnotravex.c:1920
-#: ../gnotski/gnotski.c:1543 ../gtali/gyahtzee.c:627 ../iagno/gnothello.c:270
+#: ../gnometris/tetris.cpp:1312 ../gnome-sudoku/src/lib/defaults.py.in:43
+#: ../gnomine/gnomine.c:488 ../gnotravex/gnotravex.c:1921
+#: ../gnotski/gnotski.c:1545 ../gtali/gyahtzee.c:627 ../iagno/gnothello.c:270
 #: ../mahjongg/mahjongg.c:954 ../same-gnome/ui.c:135
 msgid "GNOME Games web site"
 msgstr "GNOME Games 網�"
 
-#: ../aisleriot/window.c:1443
+#: ../aisleriot/window.c:1474
 #, c-format
 msgid "Play â??%sâ??"
 msgstr "ç?©â??%sâ??"
 
-#: ../aisleriot/window.c:1610
+#: ../aisleriot/window.c:1645
 #, c-format
 msgid "Display cards with â??%sâ?? card theme"
 msgstr "使ç?¨å?¤ç??主é¡?â??%sâ??顯示å?¤ç??"
@@ -1045,191 +1478,207 @@ msgstr "使ç?¨å?¤ç??主é¡?â??%sâ??顯示å?¤ç??"
 #. * then translate this string to "%I6d", else to "%6d".
 #. * Do not translate it to anything else!
 #.
-#: ../aisleriot/window.c:1705
+#: ../aisleriot/window.c:1740
 #, c-format
 msgctxt "score"
 msgid "%6d"
 msgstr "%6d"
 
-#: ../aisleriot/window.c:1960
+#: ../aisleriot/window.c:1995
 msgid "A scheme exception occurred"
 msgstr "ç?¼ç?? scheme ä¾?å¤?"
 
-#: ../aisleriot/window.c:1963
+#: ../aisleriot/window.c:1998
 msgid "Please report this bug to the developers."
 msgstr "è«?å°?é??å??é?¯èª¤å?¯å ±çµ¦é??ç?¼è??ã??"
 
-#: ../aisleriot/window.c:1975
+#. Empty title shows up as "<unnamed>" on maemo
+#: ../aisleriot/window.c:2002 ../dependencies/ggz-gtk/ggzclient.c:124
+#: ../dependencies/ggz-gtk/ggzclient.c:380
+#: ../dependencies/ggz-gtk/ggzclient.c:561
+#: ../dependencies/ggz-gtk/ggzclient.c:596
+#: ../dependencies/ggz-gtk/ggzclient.c:649
+#: ../dependencies/ggz-gtk/ggzclient.c:1079
+#: ../dependencies/ggz-gtk/launch.c:325 ../libgames-support/games-show.c:151
+msgid "Error"
+msgstr "�誤"
+
+#: ../aisleriot/window.c:2010
 msgid "_Don't report"
 msgstr "ä¸?è¦?å??å ±(_D)"
 
-#: ../aisleriot/window.c:1976
+#: ../aisleriot/window.c:2011
 msgid "_Report"
 msgstr "å ±å??(_R)"
 
 #. Menu actions
-#: ../aisleriot/window.c:2163 ../blackjack/src/blackjack.cpp:331
+#. Preferences Dialog: Title of game options tab
+#: ../aisleriot/window.c:2198 ../blackjack/src/blackjack.cpp:331
+#: ../glchess/data/glchess.ui.h:24 ../glchess/data/preferences.ui.h:24
 #: ../glines/glines.c:1688 ../gnect/src/main.c:1289 ../gnibbles/main.c:763
-#: ../gnobots2/menu.c:68 ../gnometris/tetris.cpp:108
-#: ../gnome-sudoku/src/lib/main.py:243 ../gnomine/gnomine.c:825
+#: ../gnobots2/menu.c:68 ../gnometris/tetris.cpp:109
+#: ../gnome-sudoku/src/lib/main.py:241 ../gnomine/gnomine.c:826
 #: ../gnotravex/gnotravex.c:302 ../gnotski/gnotski.c:414
 #: ../gtali/gyahtzee.c:701 ../iagno/gnothello.c:812
-#: ../mahjongg/mahjongg.c:1242 ../same-gnome/ui.c:455
+#: ../lightsoff/data/lightsoff.ui.h:2 ../mahjongg/mahjongg.c:1242
+#: ../same-gnome/ui.c:455 ../same-gnome-clutter/data/same-gnome.ui.h:2
 msgid "_Game"
 msgstr "é??æ?²(_G)"
 
-#: ../aisleriot/window.c:2164 ../blackjack/src/blackjack.cpp:332
+#. Preferences Dialog: Title of view options tab
+#: ../aisleriot/window.c:2199 ../blackjack/src/blackjack.cpp:332
+#: ../glchess/data/glchess.ui.h:29 ../glchess/data/preferences.ui.h:30
 #: ../gnect/src/main.c:1290 ../gnibbles/main.c:764 ../gnobots2/menu.c:69
-#: ../gnome-sudoku/src/lib/main.py:253 ../gnotravex/gnotravex.c:303
+#: ../gnome-sudoku/src/lib/main.py:251 ../gnotravex/gnotravex.c:303
 #: ../gnotski/gnotski.c:415 ../same-gnome/ui.c:456
 msgid "_View"
 msgstr "檢�(_V)"
 
-#: ../aisleriot/window.c:2165 ../blackjack/src/blackjack.cpp:341
+#: ../aisleriot/window.c:2200 ../blackjack/src/blackjack.cpp:341
 msgid "_Control"
 msgstr "��(_C)"
 
-#: ../aisleriot/window.c:2167 ../blackjack/src/blackjack.cpp:348
-#: ../glines/glines.c:1690 ../gnect/src/main.c:1292 ../gnibbles/main.c:766
-#: ../gnobots2/menu.c:72 ../gnometris/tetris.cpp:110
-#: ../gnome-sudoku/src/lib/main.py:271 ../gnomine/gnomine.c:827
-#: ../gnotravex/gnotravex.c:306 ../gnotski/gnotski.c:416
-#: ../gtali/gyahtzee.c:703 ../iagno/gnothello.c:814
-#: ../mahjongg/mahjongg.c:1244 ../same-gnome/ui.c:458
+#: ../aisleriot/window.c:2202 ../blackjack/src/blackjack.cpp:348
+#: ../glchess/data/glchess.ui.h:25 ../glines/glines.c:1690
+#: ../gnect/src/main.c:1292 ../gnibbles/main.c:766 ../gnobots2/menu.c:72
+#: ../gnometris/tetris.cpp:111 ../gnome-sudoku/src/lib/main.py:269
+#: ../gnomine/gnomine.c:828 ../gnotravex/gnotravex.c:306
+#: ../gnotski/gnotski.c:416 ../gtali/gyahtzee.c:703 ../iagno/gnothello.c:814
+#: ../lightsoff/data/lightsoff.ui.h:3 ../mahjongg/mahjongg.c:1244
+#: ../same-gnome/ui.c:458 ../same-gnome-clutter/data/same-gnome.ui.h:3
 msgid "_Help"
 msgstr "æ±?å?©(_H)"
 
-#: ../aisleriot/window.c:2172 ../blackjack/src/blackjack.cpp:333
-#: ../gnobots2/menu.c:73 ../libgames-support/games-stock.c:54
-#: ../mahjongg/mahjongg.c:1245
+#: ../aisleriot/window.c:2207 ../blackjack/src/blackjack.cpp:333
+#: ../glchess/data/glchess.ui.h:18 ../gnobots2/menu.c:73
+#: ../libgames-support/games-stock.c:53 ../mahjongg/mahjongg.c:1245
 msgid "Start a new game"
 msgstr "é??å§?å?¦ä¸?å±?"
 
-#: ../aisleriot/window.c:2175 ../libgames-support/games-stock.c:58
+#: ../aisleriot/window.c:2210 ../libgames-support/games-stock.c:57
 msgid "Restart the game"
 msgstr "å??ç?©é??ä¸?å±?"
 
-#: ../aisleriot/window.c:2177
+#: ../aisleriot/window.c:2212
 msgid "_Select Game..."
 msgstr "é?¸æ??é??æ?²(_S)..."
 
-#: ../aisleriot/window.c:2179
+#: ../aisleriot/window.c:2214
 msgid "Play a different game"
 msgstr "é?¸æ??å?¦ä¸?種é??æ?²"
 
-#: ../aisleriot/window.c:2181
+#: ../aisleriot/window.c:2216
 msgid "_Recently Played"
 msgstr "æ??è¿?ç?©é??ç??(_R)"
 
-#: ../aisleriot/window.c:2182
+#: ../aisleriot/window.c:2217
 msgid "S_tatistics"
 msgstr "統�(_T)"
 
-#: ../aisleriot/window.c:2183
+#: ../aisleriot/window.c:2218
 msgid "Show gameplay statistics"
 msgstr "顯示é??æ?²ç´?é??çµ±è¨?æ?¸å­?"
 
-#: ../aisleriot/window.c:2186 ../libgames-support/games-stock.c:63
+#: ../aisleriot/window.c:2221 ../libgames-support/games-stock.c:62
 msgid "Close this window"
 msgstr "é??é??é??å??è¦?çª?"
 
-#: ../aisleriot/window.c:2189 ../libgames-support/games-stock.c:61
+#: ../aisleriot/window.c:2224 ../libgames-support/games-stock.c:60
 #: ../mahjongg/mahjongg.c:1253
 msgid "Undo the last move"
 msgstr "é??å??ä¸?ä¸?æ­¥"
 
-#: ../aisleriot/window.c:2192 ../libgames-support/games-stock.c:57
+#: ../aisleriot/window.c:2227 ../libgames-support/games-stock.c:56
 msgid "Redo the undone move"
 msgstr "é??æ?°é?²è¡?å??æ??é??å??ç??ä¸?æ­¥"
 
-#: ../aisleriot/window.c:2195
+#: ../aisleriot/window.c:2230
 msgid "Deal next card or cards"
 msgstr "ç¹¼çº?ç?¼ç??"
 
-#: ../aisleriot/window.c:2198 ../libgames-support/games-stock.c:50
+#: ../aisleriot/window.c:2233 ../libgames-support/games-stock.c:49
 msgid "Get a hint for your next move"
 msgstr "給ä¸?ä¸?æ­¥ç??æ??示"
 
-#: ../aisleriot/window.c:2201
+#: ../aisleriot/window.c:2236
 msgid "View help for Aisleriot"
 msgstr "顯示 Aisleriot 說æ??æ??件"
 
-#: ../aisleriot/window.c:2205 ../libgames-support/games-stock.c:47
+#: ../aisleriot/window.c:2240 ../libgames-support/games-stock.c:46
 msgid "View help for this game"
 msgstr "顯示æ??é??æ?¬é??æ?²ç??說æ??æ??件"
 
-#: ../aisleriot/window.c:2208 ../libgames-support/games-stock.c:62
+#: ../aisleriot/window.c:2243 ../libgames-support/games-stock.c:61
 msgid "About this game"
 msgstr "é??æ?¼æ?¬é??æ?²"
 
-#: ../aisleriot/window.c:2211
+#: ../aisleriot/window.c:2246
 msgid "Install card themesâ?¦"
 msgstr "å®?è£?å?¤ç??主é¡?..."
 
-#: ../aisleriot/window.c:2212
+#: ../aisleriot/window.c:2247
 msgid "Install new card themes from the distribution packages repositories"
 msgstr "å¾?ç?¼è¡?ç??æ?¬å¥?件庫中å®?è£?æ?°ç??å?¤ç??主é¡?"
 
-#: ../aisleriot/window.c:2221
+#: ../aisleriot/window.c:2256
 msgid "_Card Style"
 msgstr "å?¤ç??樣å¼?(_C)"
 
-#: ../aisleriot/window.c:2261 ../blackjack/src/blackjack.cpp:354
+#: ../aisleriot/window.c:2296 ../blackjack/src/blackjack.cpp:354
 #: ../gnobots2/menu.c:96 ../mahjongg/mahjongg.c:1273
 msgid "_Toolbar"
 msgstr "å·¥å?·å??(_T)"
 
-#: ../aisleriot/window.c:2262 ../gnobots2/menu.c:96
-#: ../mahjongg/mahjongg.c:1273
+#: ../aisleriot/window.c:2297 ../glchess/data/preferences.ui.h:17
+#: ../gnobots2/menu.c:96 ../mahjongg/mahjongg.c:1273
 msgid "Show or hide the toolbar"
 msgstr "顯示æ??é?±è??å·¥å?·å??"
 
-#: ../aisleriot/window.c:2266
+#: ../aisleriot/window.c:2302
 msgid "_Statusbar"
 msgstr "ç??æ??å??(_S)"
 
-#: ../aisleriot/window.c:2267
+#: ../aisleriot/window.c:2303
 msgid "Show or hide statusbar"
 msgstr "顯示æ??é?±è??ç??æ??å??"
 
-#: ../aisleriot/window.c:2271 ../gnotravex/gnotravex.c:351
+#: ../aisleriot/window.c:2308 ../gnotravex/gnotravex.c:351
 msgid "_Click to Move"
 msgstr "é»?é?¸ç??ä¾?移å??(_C)"
 
-#: ../aisleriot/window.c:2272
+#: ../aisleriot/window.c:2309
 msgid "Pick up and drop cards by clicking"
 msgstr "以é»?é?¸æ??èµ·æ??æ?¾ä¸?å?¤ç??"
 
-#. not active by default
-#: ../aisleriot/window.c:2275
+#: ../aisleriot/window.c:2313
 msgid "_Sound"
 msgstr "é?³æ??(_S)"
 
-#: ../aisleriot/window.c:2276
+#: ../aisleriot/window.c:2314
 msgid "Whether or not to play event sounds"
 msgstr "æ?¯å?¦æ?­æ?¾äº?件é?³æ??"
 
-#: ../aisleriot/window.c:2280
+#: ../aisleriot/window.c:2319
 msgid "_Animations"
 msgstr "å??ç?«(_A)"
 
-#: ../aisleriot/window.c:2281
+#: ../aisleriot/window.c:2320
 msgid "Whether or not to animate card moves"
 msgstr "å?¤ç??移å??æ?¯å?¦ä½¿ç?¨å??ç?«"
 
 #. Add "Highscore" label
-#: ../aisleriot/window.c:2548 ../dependencies/ggz-gtk/playerinfo.c:241
-#: ../glines/glines.c:1900 ../gnobots2/statusbar.c:67
-#: ../gnometris/scoreframe.cpp:47 ../gnomine/gnomine.c:447
+#: ../aisleriot/window.c:2593 ../dependencies/ggz-gtk/playerinfo.c:241
+#: ../glines/glines.c:1902 ../gnobots2/statusbar.c:67
+#: ../gnometris/scoreframe.cpp:47 ../gnomine/gnomine.c:448
 msgid "Score:"
 msgstr "å¾?å??ï¼?"
 
-#: ../aisleriot/window.c:2560 ../gnotravex/gnotravex.c:1382
-#: ../mahjongg/mahjongg.c:1463
+#: ../aisleriot/window.c:2605 ../gnotravex/gnotravex.c:1383
+#: ../mahjongg/mahjongg.c:1465
 msgid "Time:"
 msgstr "æ??é??ï¼?"
 
-#: ../aisleriot/window.c:2888
+#: ../aisleriot/window.c:2941
 #, c-format
 msgid "Cannot start the game â??%sâ??"
 msgstr "ä¸?è?½å??å??é??æ?²ã??%sã??"
@@ -1298,7 +1747,7 @@ msgstr "ç¹¼çº?ç?¼ç??"
 #: ../aisleriot/rules/plait.scm.h:11 ../aisleriot/rules/quatorze.scm.h:1
 #: ../aisleriot/rules/royal_east.scm.h:7 ../aisleriot/rules/scuffle.scm.h:4
 #: ../aisleriot/rules/sir_tommy.scm.h:3 ../aisleriot/rules/straight_up.scm.h:5
-#: ../aisleriot/rules/terrace.scm.h:13 ../aisleriot/rules/thieves.scm.h:2
+#: ../aisleriot/rules/terrace.scm.h:18 ../aisleriot/rules/thieves.scm.h:2
 #: ../aisleriot/rules/thirteen.scm.h:3
 #: ../aisleriot/rules/thumb_and_pouch.scm.h:4
 #: ../aisleriot/rules/treize.scm.h:2 ../aisleriot/rules/triple_peaks.scm.h:4
@@ -1344,7 +1793,7 @@ msgstr "ç?¼å?¦ä¸?輪ç??"
 #: ../aisleriot/rules/canfield.scm.h:6 ../aisleriot/rules/carpet.scm.h:1
 #: ../aisleriot/rules/glenwood.scm.h:6 ../aisleriot/rules/klondike.scm.h:2
 #: ../aisleriot/rules/osmosis.scm.h:1 ../aisleriot/rules/plait.scm.h:6
-#: ../aisleriot/rules/straight_up.scm.h:1 ../aisleriot/rules/terrace.scm.h:7
+#: ../aisleriot/rules/straight_up.scm.h:1 ../aisleriot/rules/terrace.scm.h:8
 msgid "Deal a new card from the deck"
 msgstr "ç?±ç??å ?ç?¼ä¸?å¼µæ?°ç??"
 
@@ -1353,16 +1802,16 @@ msgstr "ç?±ç??å ?ç?¼ä¸?å¼µæ?°ç??"
 #: ../aisleriot/rules/glenwood.scm.h:9 ../aisleriot/rules/jumbo.scm.h:3
 #: ../aisleriot/rules/klondike.scm.h:5 ../aisleriot/rules/plait.scm.h:10
 #: ../aisleriot/rules/scuffle.scm.h:2 ../aisleriot/rules/straight_up.scm.h:3
-#: ../aisleriot/rules/terrace.scm.h:10
+#: ../aisleriot/rules/terrace.scm.h:13
 #: ../aisleriot/rules/thumb_and_pouch.scm.h:3 ../aisleriot/rules/zebra.scm.h:3
 msgid "Redeals left:"
 msgstr "å?©é¤?é??æ?°ç?¼ç??次æ?¸ï¼?"
 
-#: ../aisleriot/rules/backbone.scm.h:5 ../aisleriot/rules/terrace.scm.h:16
+#: ../aisleriot/rules/backbone.scm.h:5 ../aisleriot/rules/terrace.scm.h:23
 msgid "an empty slot on the foundation"
 msgstr "ç?®æ¨?ç??å ?æ??空ä½?"
 
-#: ../aisleriot/rules/backbone.scm.h:6 ../aisleriot/rules/terrace.scm.h:17
+#: ../aisleriot/rules/backbone.scm.h:6 ../aisleriot/rules/terrace.scm.h:24
 msgid "an empty slot on the tableau"
 msgstr "æ??å??å??æ??空ä½?"
 
@@ -1654,7 +2103,7 @@ msgstr "æ?ªç?¨ç??å??ç?¨ä½?ç½®"
 msgid "an open tableau"
 msgstr "æ??å??å??空ä½?"
 
-#: ../aisleriot/rules/freecell.scm.h:5 ../aisleriot/rules/terrace.scm.h:19
+#: ../aisleriot/rules/freecell.scm.h:5 ../aisleriot/rules/terrace.scm.h:26
 msgid "the foundation"
 msgstr "ç?®æ¨?ç??å ?"
 
@@ -1809,7 +2258,7 @@ msgstr "å¾?ç??å ?中ç?¼å?ºæ?°ç??"
 msgid "Redeals left: ~a"
 msgstr "é??æ?°ç?¼ç??次æ?¸ï¼?~a"
 
-#: ../aisleriot/rules/pileon.scm.h:2 ../aisleriot/rules/terrace.scm.h:18
+#: ../aisleriot/rules/pileon.scm.h:2 ../aisleriot/rules/terrace.scm.h:25
 msgid "something"
 msgstr "ä¸?äº?ç??"
 
@@ -1873,6 +2322,10 @@ msgstr "è«?å??å°?ç??移é?²ç©ºä½?ã??"
 msgid "Two Suits"
 msgstr "�種��"
 
+#: ../aisleriot/rules/spider.scm.h:9
+msgid "Undo until there are enough cards to fill all tableau piles"
+msgstr ""
+
 #: ../aisleriot/rules/ten_across.scm.h:1
 msgid "Allow temporary spots use"
 msgstr "å?¯ä»¥å??ç?¨æ?«æ??æ?¾ç??ç??空ä½?"
@@ -1885,27 +2338,33 @@ msgstr "å°?ä¸?å¼µç??移è?³æ?«æ??æ?¾ç??ç??空ä½?"
 msgid "No hint available"
 msgstr "ç?¡æ³?給äº?æ??示"
 
-#: ../aisleriot/rules/terrace.scm.h:6
+#. Translators: this string is the name of a variant of this game. If there is an established standard name for this game or game variant in your locale, use that; otherwise you can translate this string freely or literally, at your option.
+#: ../aisleriot/rules/terrace.scm.h:7
 msgid "Blondes and Brunettes"
 msgstr "Blondes and Brunettes"
 
-#: ../aisleriot/rules/terrace.scm.h:8
+#. Translators: this string is the name of a variant of this game. If there is an established standard name for this game or game variant in your locale, use that; otherwise you can translate this string freely or literally, at your option.
+#: ../aisleriot/rules/terrace.scm.h:10
 msgid "Falling Stars"
 msgstr "Falling Stars"
 
-#: ../aisleriot/rules/terrace.scm.h:9
-msgid "General Patience"
-msgstr "General Patience"
+#. Translators: this string is the name of a variant of this game. If there is an established standard name for this game or game variant in your locale, use that; otherwise you can translate this string freely or literally, at your option.
+#: ../aisleriot/rules/terrace.scm.h:12
+msgid "General's Patience"
+msgstr "General's Patience"
 
-#: ../aisleriot/rules/terrace.scm.h:11
+#. Translators: this string is the name of a variant of this game. If there is an established standard name for this game or game variant in your locale, use that; otherwise you can translate this string freely or literally, at your option.
+#: ../aisleriot/rules/terrace.scm.h:15
 msgid "Redheads"
 msgstr "Redheads"
 
-#: ../aisleriot/rules/terrace.scm.h:12
+#. Translators: this string is the name of a variant of this game. If there is an established standard name for this game or game variant in your locale, use that; otherwise you can translate this string freely or literally, at your option.
+#: ../aisleriot/rules/terrace.scm.h:17
 msgid "Signora"
 msgstr "Signora"
 
-#: ../aisleriot/rules/terrace.scm.h:15
+#. Translators: this string is the name of a variant of this game. If there is an established standard name for this game or game variant in your locale, use that; otherwise you can translate this string freely or literally, at your option.
+#: ../aisleriot/rules/terrace.scm.h:22
 msgid "Wood"
 msgstr "Wood"
 
@@ -1922,8 +2381,9 @@ msgid "Multiplier Scoring"
 msgstr "å??æ?¸ç©?å??"
 
 #: ../aisleriot/rules/triple_peaks.scm.h:3
+#, fuzzy
 msgid "Progressive Rounds"
-msgstr "Progressive Rounds"
+msgstr "å??è¡?æ??滾"
 
 #: ../aisleriot/rules/union_square.scm.h:4
 msgid "appropriate foundation pile"
@@ -2006,9 +2466,9 @@ msgstr "é??æ?°å??ç?©é??å±?"
 msgid "Show a hint"
 msgstr "顯示æ??示"
 
-#: ../blackjack/src/blackjack.cpp:337 ../glines/glines.c:1689
-#: ../gnect/src/main.c:1291 ../gnibbles/main.c:765 ../gnobots2/menu.c:71
-#: ../gnometris/tetris.cpp:109 ../gnomine/gnomine.c:826
+#: ../blackjack/src/blackjack.cpp:337 ../glchess/data/glchess.ui.h:27
+#: ../glines/glines.c:1689 ../gnect/src/main.c:1291 ../gnibbles/main.c:765
+#: ../gnobots2/menu.c:71 ../gnometris/tetris.cpp:110 ../gnomine/gnomine.c:827
 #: ../gtali/gyahtzee.c:702 ../iagno/gnothello.c:813
 #: ../mahjongg/mahjongg.c:1243
 msgid "_Settings"
@@ -2087,6 +2547,10 @@ msgstr "æ??å®?æ?¼æ³¨æ??è??æ´¾ä¸?æ??ç??"
 msgid "Blackjack rule set to use"
 msgstr "é?¸æ?? 21 é»?è¦?å??"
 
+#: ../blackjack/src/card-selector.cpp:123
+msgid "Card Style"
+msgstr "å?¤ç??款å¼?"
+
 #: ../blackjack/src/dialog.cpp:51
 msgid "Would you like insurance?"
 msgstr "買�買���"
@@ -2113,7 +2577,7 @@ msgstr "21 é»?å??好設å®?"
 
 #: ../blackjack/src/dialog.cpp:241 ../dependencies/ggz-gtk/client.c:953
 #: ../gnect/src/prefs.c:301 ../gnibbles/preferences.c:253
-#: ../gnobots2/properties.c:491 ../gnometris/tetris.cpp:586
+#: ../gnobots2/properties.c:491 ../gnometris/tetris.cpp:596
 #: ../iagno/properties.c:416
 msgid "Game"
 msgstr "é??æ?²"
@@ -2220,11 +2684,11 @@ msgstr "æ??ä¸?é??è£?ä¾?å??ç??"
 msgid "Click to deal a new hand"
 msgstr "æ??ä¸?é??è£?ä¾?æ´¾å?¦ä¸?æ??ç??"
 
-#: ../blackjack/src/game.cpp:402
+#: ../blackjack/src/game.cpp:394
 msgid "Blackjack can't load the requested file"
 msgstr "ã??21 é»?ã??ç?¡æ³?è¼?å?¥æ??è¦?æ±?ç??æª?æ¡?"
 
-#: ../blackjack/src/game.cpp:404
+#: ../blackjack/src/game.cpp:396
 msgid "Please check your Blackjack installation"
 msgstr "�檢���已正確�� 21 �"
 
@@ -2553,7 +3017,6 @@ msgid "Login failed for unknown reason: %s"
 msgstr "ç?¡æ³?ç?»å?¥ï¼?ä½?å??å? ä¸?æ??ï¼?%s"
 
 #: ../dependencies/ggz-gtk/login.c:336 ../dependencies/ggz-gtk/client.c:307
-#: ../libgames-support/games-help.c:61
 msgid "Unable to open help file"
 msgstr "ç?¡æ³?é??å??說æ??æ??件æª?æ¡?"
 
@@ -3703,7 +4166,7 @@ msgid ""
 "'current' (the current player), 'human' (the side of the current human "
 "player) or 'facetoface' (suitable for players on each side of screen, e.g. "
 "handhelds)"
-msgstr "å?¨å??æ?¯æ£?ç?¤ç??ä¸?æ?¹ï¼?å?¯ä»¥æ?¯ã??whiteã??ã??ã??blackã??ã??ã??currentã??ï¼?ç?®å??ç??é??æ?²è??ï¼?ã??ã??humanã??ï¼?ç?®å??ç?ºäººé¡?ç?©å®¶ç??ä¸?æ?¹ï¼?æ??ã??facetofaceã??ï¼?é?©å??ç?©å®¶é?¢å°?é?¢ç??ç??æ³?ï¼?å¦?使ç?¨æ??ä¸?å??è£?ç½®ï¼?"
+msgstr "å?¨å??æ?¯æ£?ç?¤ç??ä¸?æ?¹ï¼?å?¯ä»¥æ?¯ã??whiteã??ã??ã??blackã??ã??ã??currentã??ï¼?ç?®å??ç??é??æ?²è??ï¼?ã??ã??humanã??ï¼?ç?®å??ç?ºäººé¡?ç?©å®¶ç??ä¸?æ?¹ï¼?æ??ã??facetofaceã??ï¼?é?©å??ç?©å®¶å?¨è?¢å¹?ç??å?©ç«¯ï¼?ä¾?å¦?使ç?¨æ??ä¸?å??è£?ç½®æ??ï¼?"
 
 #: ../glchess/data/glchess.schemas.in.h:27
 msgid "The width of the main window in pixels."
@@ -3713,8 +4176,315 @@ msgstr "主è¦?çª?ç??é??度 (å??ç´ )ã??"
 msgid "The width of the window"
 msgstr "è¦?çª?é??度"
 
+#. Preferences Dialog: Check box for selecting if 3D view is available
+#: ../glchess/data/glchess.ui.h:1 ../glchess/data/preferences.ui.h:2
+msgid "3_D Chess View"
+msgstr "3_D å??é??象æ£?檢è¦?"
+
+#: ../glchess/data/glchess.ui.h:2
+msgid "Claim _Draw"
+msgstr "宣å??å¹³æ??(_D)"
+
+#: ../glchess/data/glchess.ui.h:3
+msgid "Load a saved game"
+msgstr "è¼?å?¥ä¸?å±?å·²å?²å­?ç??æ£?å±?"
+
+#. The title of the log dialaog
+#: ../glchess/data/glchess.ui.h:5
+msgid "Logs"
+msgstr "ç´?é??æª?"
+
+#. The Network Game toolbar button
+#: ../glchess/data/glchess.ui.h:7 ../libgames-support/games-stock.c:333
+msgid "Network _Game"
+msgstr "網絡é??æ?²(_G)"
+
+#. The New Game toolbar button
+#. Title of the new game dialog
+#: ../glchess/data/glchess.ui.h:9 ../glchess/data/new_game.ui.h:13
+#: ../libgames-support/games-scores-dialog.c:438
+msgid "New Game"
+msgstr "é??æ?°å±?"
+
+#. The tooltip for the Resign toolbar button
+#: ../glchess/data/glchess.ui.h:11
+msgid "Resign"
+msgstr "�輸"
+
+#: ../glchess/data/glchess.ui.h:12
+msgid "Rewind to the game start"
+msgstr "å??æ?²å?°é??æ?²å??é??å§?ç??æ??å??"
+
+#: ../glchess/data/glchess.ui.h:13
+msgid "Save the current game"
+msgstr "å?²å­?é??å±?æ£?"
+
+#: ../glchess/data/glchess.ui.h:14
+msgid "Show _Logs"
+msgstr "顯示ç´?é??(_L)"
+
+#: ../glchess/data/glchess.ui.h:15
+msgid "Show the current move"
+msgstr "顯示é??ä¸?æ­¥"
+
+#: ../glchess/data/glchess.ui.h:16
+msgid "Show the next move"
+msgstr "顯示��步"
+
+#: ../glchess/data/glchess.ui.h:17
+msgid "Show the previous move"
+msgstr "顯示��步"
+
+#: ../glchess/data/glchess.ui.h:19 ../libgames-support/games-stock.c:51
+msgid "Start a new multiplayer network game"
+msgstr "é??å§?ä¸?å??æ?°ç??å¤?人網絡é??æ?²"
+
+#. Message displayed in log window when no logs are present
+#: ../glchess/data/glchess.ui.h:21
+msgid "There are no active logs."
+msgstr "æ²?æ??使ç?¨ä¸­ç??ç´?é??ã??"
+
+#: ../glchess/data/glchess.ui.h:22
+msgid "Undo Move"
+msgstr "å??æ??"
+
+#: ../glchess/data/glchess.ui.h:23 ../gnome-sudoku/src/lib/main.py:273
+#: ../libgames-support/games-stock.c:317
+msgid "_Contents"
+msgstr "�容(_C)"
+
+#: ../glchess/data/glchess.ui.h:26
+msgid "_Resign"
+msgstr "�輸(_R)"
+
+#: ../glchess/data/glchess.ui.h:28 ../libgames-support/games-stock.c:329
+msgid "_Undo Move"
+msgstr "å??æ??(_U)"
+
+#. Title of load game dialog
+#: ../glchess/data/load_game.ui.h:2
+msgid "Load Chess Game"
+msgstr "�����"
+
+#. Log window: Title above data being logged
+#: ../glchess/data/log.ui.h:2
+msgid "Communication:"
+msgstr "é??è¨?ï¼?"
+
+#. Log window: Label before name of executable being logged
+#: ../glchess/data/log.ui.h:4
+msgid "Executable:"
+msgstr "�����"
+
+#. Log window: Label before name of player being logged
+#: ../glchess/data/log.ui.h:6
+#, fuzzy
+msgid "Playing as:"
+msgstr "��代表�"
+
+#. Network Game Dialog: Title above the game settings. Do not translate the <b> tag.
+#: ../glchess/data/network_game.ui.h:2
+msgid "<b>Game</b>"
+msgstr "<b>é??æ?²</b>"
+
+#. Network Game Dialog: Title above room list. Do not translate the <b> tag.
+#: ../glchess/data/network_game.ui.h:4
+msgid "<b>Rooms</b>"
+msgstr "<b>è??天室</b>"
+
+#. Network Game Dialog: Title above the server settings. Do not translate the <b> tag.
+#: ../glchess/data/network_game.ui.h:6
+msgid "<b>Server</b>"
+msgstr "<b>伺æ??å?¨</b>"
+
+#. Network Game Dialog: Title above the chat text. Do not translate the <b> tag.
+#: ../glchess/data/network_game.ui.h:8
+msgid "<b>Status/_Chat</b>"
+msgstr "<b>ç??æ??/è??天(_C)</b>"
+
+#. Title of network game dialog
+#: ../glchess/data/network_game.ui.h:10
+msgid "Join Game"
+msgstr "å? å?¥é??æ?²"
+
+#. Network Game Dialog: Button to join a table
+#: ../glchess/data/network_game.ui.h:12
+msgid "_Join"
+msgstr "å? å?¥(_J)"
+
+#. Network Game Dialog: Leave table button
+#: ../glchess/data/network_game.ui.h:14
+msgid "_Leave"
+msgstr "é?¢é??(_L)"
+
+#. Network Game Dialog: Label before the server profile combo box
+#: ../glchess/data/network_game.ui.h:16
+msgid "_Profile:"
+msgstr "設å®?çµ?å??(_P):"
+
+#: ../glchess/data/network_new_server.ui.h:1
+msgid "Add Account"
+msgstr "å? å?¥å¸³è??"
+
+# (Abel) username in GGZ == player name
+#. Add Network Profile Dialog: Label beside username entry
+#: ../glchess/data/network_new_server.ui.h:3
+msgid "User _Name:"
+msgstr "ç?©å®¶å??稱(_N):"
+
+#. Add Network Profile Dialog: Button to accept values and add profile
+#: ../glchess/data/network_new_server.ui.h:5
+msgid "_Add Account"
+msgstr "å? å?¥å¸³è??(_A)"
+
+#. Add Network Profile Dialog: Label beside custom hostname entry
+#: ../glchess/data/network_new_server.ui.h:7
+msgid "_Host:"
+msgstr "主�(_H):"
+
+#. Add Network Profile Dialog: Label beside custom port entry
+#: ../glchess/data/network_new_server.ui.h:9
+msgid "_Port:"
+msgstr "���(_P):"
+
+#. Add Network Profile Dialog: Label beside server combo
+#: ../glchess/data/network_new_server.ui.h:11
+msgid "_Server:"
+msgstr "伺æ??å?¨(_S):"
+
+#. New Game Dialog: Title above difficulty options
+#: ../glchess/data/new_game.ui.h:2
+msgid "<b>Difficulty</b>"
+msgstr "<b>�度</b>"
+
+#. New Game Dialog: Title above the game properties widgets
+#: ../glchess/data/new_game.ui.h:4
+msgid "<b>Game Properties</b>"
+msgstr "<b>é??æ?²å±¬æ?§</b>"
+
+#. New Game Dialog: Title above player options
+#: ../glchess/data/new_game.ui.h:6
+msgid "<b>Players</b>"
+msgstr "<b>�家</b>"
+
+#. New Game Dialog: Label before black player difficulty
+#: ../glchess/data/new_game.ui.h:8
+msgid "B_lack:"
+msgstr "é»?æ?¹(_L)ï¼?"
+
+#: ../glchess/data/new_game.ui.h:9
+msgid "Enter the title for this game"
+msgstr "è«?輸å?¥æ?¬å±?ç??æ¨?é¡?"
+
+#. New Game Dialog: Label before game timer settings
+#: ../glchess/data/new_game.ui.h:11
+msgid "Move _Time:"
+msgstr "ä¸?æ£?æ??é??(_T):"
+
+#: ../glchess/data/new_game.ui.h:14
+msgid "Start the game. The game can be started once all fields are complete"
+msgstr "é??å§?é??æ?²ã??æ?¬é??æ?²æ??å?¨æ??æ??å??é?½æ??å¾?é??å§?"
+
+#. New Game Dialog: Label before white player difficulty
+#: ../glchess/data/new_game.ui.h:16
+msgid "W_hite:"
+msgstr "��(_H):"
+
+#. New Game Dialog: Label before black player combo box
+#: ../glchess/data/new_game.ui.h:18
+msgid "_Black:"
+msgstr "é»?æ?¹(_B):"
+
+#. New Game Dialog: Label before the game name entry
+#: ../glchess/data/new_game.ui.h:20
+msgid "_Game name:"
+msgstr "é??æ?²å??稱(_G):"
+
+#. New Game Dialog: Button to start a new game
+#: ../glchess/data/new_game.ui.h:22
+msgid "_Start"
+msgstr "é??å§?(_S)"
+
+#. New Game Dialog: Label before white player combo box
+#: ../glchess/data/new_game.ui.h:24
+msgid "_White:"
+msgstr "��(_W):"
+
+#. Preferences Dialog: Label before board orientation combo box
+#: ../glchess/data/preferences.ui.h:4
+msgid "Board Orientation:"
+msgstr "æ£?ç?¤æ?¹å??ï¼?"
+
+#. Preferences Dialog: Label before move format combo box
+#: ../glchess/data/preferences.ui.h:6
+msgid "Move Format:"
+msgstr "��格��"
+
+#. Title for preferences dialog
+#: ../glchess/data/preferences.ui.h:8 ../glines/glines.c:196
+#: ../mahjongg/mahjongg.c:140
+msgid "Preferences"
+msgstr "å??好設å®?"
+
+#. Preferences Dialog: Label before promotion type combo box
+#: ../glchess/data/preferences.ui.h:10
+msgid "Promotion Type:"
+msgstr "å??è®?é¡?å??ï¼?"
+
+#. Preferences Dialog: Check box for selecting if history browser is visible
+#: ../glchess/data/preferences.ui.h:12
+msgid "Show _History"
+msgstr "顯示ç´?é??(_H)"
+
+#. Preferences Dialog: Check box for selecting if toolbar is visible
+#: ../glchess/data/preferences.ui.h:14 ../gnome-sudoku/src/lib/main.py:293
+msgid "Show _Toolbar"
+msgstr "顯示工å?·å??(_T)"
+
+#: ../glchess/data/preferences.ui.h:15
+msgid "Show or hide numbering on the chess board"
+msgstr "顯示æ??é?±è??å??é??象æ£?ç?¤ç??å??æ¨?å??稱"
+
+#: ../glchess/data/preferences.ui.h:16
+msgid "Show or hide the game history panel"
+msgstr "顯示æ??é?±è??é??æ?²ç´?é??é?¢æ?¿"
+
+#: ../glchess/data/preferences.ui.h:18
+msgid "Shows hints during chess games"
+msgstr "å?¨æ£?é¡?é??æ?²ä¸­é¡¯ç¤ºæ??示"
+
+#: ../glchess/data/preferences.ui.h:19
+msgid "Smooth edges of the 3D elements (anti-alias)"
+msgstr "3D å??ç´ ç??å¹³æ»?é??ç·£ï¼?å??é?¸é½?ï¼?"
+
+#: ../glchess/data/preferences.ui.h:20
+msgid ""
+"View the chess board by default in 2D mode, or optionally in 3D mode using "
+"OpenGL."
+msgstr "é ?設以 2D 模å¼?檢è¦?æ£?ç?¤ï¼?æ??è??å?¯é?¸æ??使ç?¨ OpenGL ç?? 3D 模å¼?ã??"
+
+#. Preferences Dialog: Check box for selecting if board numbering is visible
+#: ../glchess/data/preferences.ui.h:22
+msgid "_Board Numbering"
+msgstr "æ£?ç?¤å??æ¨?(_B)"
+
+#. Preferences Dialog: Check box for selecting if move hints are visible
+#: ../glchess/data/preferences.ui.h:26
+msgid "_Move Hints"
+msgstr "èµ°æ³?æ??示(_M)"
+
+#. Preferences Dialog: Check box for selecting if the 3D view is smoothed (anti-aliased)
+#: ../glchess/data/preferences.ui.h:28
+msgid "_Smooth Display"
+msgstr "平�顯示(_S)"
+
+#. Title of save game dialog
+#: ../glchess/data/save_game.ui.h:2
+msgid "Save Chess Game"
+msgstr "å?²å­?é??å±?æ£?"
+
 #. Translators: Window title when not playing a game
-#: ../glchess/glchess.desktop.in.in.h:1 ../glchess/src/lib/gtkui/gtkui.py:331
+#: ../glchess/glchess.desktop.in.in.h:1 ../glchess/src/lib/gtkui/gtkui.py:332
 msgid "Chess"
 msgstr "å??é??象æ£?"
 
@@ -3734,65 +4504,65 @@ msgid ""
 msgstr "å??é??象æ£?ä¸?è?½å??å??ï¼?å? ç?ºæ²?æ??å®?è£?å¿?é??ç??æ??ç?¨ç¨?å¼?ã??å¦?æ??ä½ ç?®å??å?¨å??ç´?系統ï¼?è«?ç­?å?°æ?´æ?°å®?æ??ç?ºæ­¢ã??"
 
 #. Translators: Time Combo: There is no time limit
-#: ../glchess/src/lib/gtkui/dialogs.py:124
+#: ../glchess/src/lib/gtkui/dialogs.py:125
 msgid "Unlimited"
 msgstr "ç?¡é??"
 
 #. Translators: Time Combo: Game will last one minute
-#: ../glchess/src/lib/gtkui/dialogs.py:126
+#: ../glchess/src/lib/gtkui/dialogs.py:127
 msgid "One minute"
 msgstr "1 å??é??"
 
 #. Translators: Time Combo: Game will last five minutes
-#: ../glchess/src/lib/gtkui/dialogs.py:128
+#: ../glchess/src/lib/gtkui/dialogs.py:129
 msgid "Five minutes"
 msgstr "5 å??é??"
 
 #. Translators: Time Combo: Game will last 30 minutes
-#: ../glchess/src/lib/gtkui/dialogs.py:130
+#: ../glchess/src/lib/gtkui/dialogs.py:131
 msgid "30 minutes"
 msgstr "30 å??é??"
 
 #. Translators: Time Combo: Game will last one hour
-#: ../glchess/src/lib/gtkui/dialogs.py:132
+#: ../glchess/src/lib/gtkui/dialogs.py:133
 msgid "One hour"
 msgstr "1 å°?æ??"
 
 #. Translators: Time Combo: User will configure game duration
 #. Translators: Add Network Profile Dialog: Use a custom server
-#: ../glchess/src/lib/gtkui/dialogs.py:134
+#: ../glchess/src/lib/gtkui/dialogs.py:135
 #: ../glchess/src/lib/gtkui/network.py:30
 msgid "Custom"
 msgstr "��"
 
 #. Translators: Custom Time Combo: User specifying number of seconds for game duration
-#: ../glchess/src/lib/gtkui/dialogs.py:155
+#: ../glchess/src/lib/gtkui/dialogs.py:156
 msgid "seconds"
 msgstr "�"
 
 #. Translators: Custom Time Combo: User specifying number of minutes for game duration
-#: ../glchess/src/lib/gtkui/dialogs.py:157
+#: ../glchess/src/lib/gtkui/dialogs.py:158
 msgid "minutes"
 msgstr "å??é??"
 
 #. Translators: Custom Time Combo: User specifying number of hours for game duration
-#: ../glchess/src/lib/gtkui/dialogs.py:159
+#: ../glchess/src/lib/gtkui/dialogs.py:160
 msgid "hours"
 msgstr "å°?æ??"
 
 #. Translators: AI Difficulty Combo: AI set to easy difficulty
-#: ../glchess/src/lib/gtkui/dialogs.py:177
+#: ../glchess/src/lib/gtkui/dialogs.py:178
 #: ../gnome-sudoku/src/lib/sudoku.py:515
 msgid "Easy"
 msgstr "容æ??"
 
 #. Translators: AI Difficulty Combo: AI set to normal diffuculty
-#: ../glchess/src/lib/gtkui/dialogs.py:179
+#: ../glchess/src/lib/gtkui/dialogs.py:180
 msgid "Normal"
 msgstr "��"
 
 #. Translators: AI Difficulty Combo: AI set to hard diffuculty
-#: ../glchess/src/lib/gtkui/dialogs.py:181
+#: ../glchess/src/lib/gtkui/dialogs.py:182
 #: ../gnome-sudoku/src/lib/sudoku.py:513
 msgid "Hard"
 msgstr "å?°é?£"
@@ -3800,24 +4570,24 @@ msgstr "å?°é?£"
 #. Translators: Error displayed when unable to load a game due to
 #. the require game engine not being available. %s is replaced with
 #. the name of the missing engine.
-#: ../glchess/src/lib/gtkui/dialogs.py:246
+#: ../glchess/src/lib/gtkui/dialogs.py:247
 #, python-format
 msgid "Unable to find %s engine"
 msgstr "æ?¾ä¸?å?° %s å¼?æ??"
 
 #. Translators: New Game Dialog: Title of the dialog when continuing a loaded game
-#: ../glchess/src/lib/gtkui/dialogs.py:258
+#: ../glchess/src/lib/gtkui/dialogs.py:259
 #, python-format
 msgid "Configure loaded game (%i moves)"
 msgstr "設å®?è¼?å?¥ç??é??æ?²ï¼?%i æ­¥ï¼?"
 
 #. Translators: New Game Dialog: Title of error box when loaded game had AI engines missing
-#: ../glchess/src/lib/gtkui/dialogs.py:263
+#: ../glchess/src/lib/gtkui/dialogs.py:264
 msgid "Game settings changed"
 msgstr "é??æ?²è¨­å®?å?¼å·²æ?´æ?¹"
 
 #. Translators: Default name for a new game. %(white) and %(black) are substituted for the names of the white and black players.
-#: ../glchess/src/lib/gtkui/dialogs.py:326
+#: ../glchess/src/lib/gtkui/dialogs.py:327
 #, python-format
 msgid "%(white)s versus %(black)s"
 msgstr "%(white)s å°? %(black)s"
@@ -3825,7 +4595,7 @@ msgstr "%(white)s å°? %(black)s"
 #. Translators: Default name for the white player
 #. Translators: GGZ seat is occupied by the white player
 #. Translators: Name of white player in a default game
-#: ../glchess/src/lib/gtkui/dialogs.py:350
+#: ../glchess/src/lib/gtkui/dialogs.py:351
 #: ../glchess/src/lib/gtkui/network.py:360
 #: ../glchess/src/lib/gtkui/network.py:537 ../glchess/src/lib/main.py:680
 msgid "White"
@@ -3834,146 +4604,150 @@ msgstr "��"
 #. Translators: Default name for the black player
 #. Translators: GGZ seat is occupied by the black player
 #. Translators: Name of black player in a default game
-#: ../glchess/src/lib/gtkui/dialogs.py:357
+#: ../glchess/src/lib/gtkui/dialogs.py:358
 #: ../glchess/src/lib/gtkui/network.py:363
 #: ../glchess/src/lib/gtkui/network.py:543 ../glchess/src/lib/main.py:682
 msgid "Black"
 msgstr "é»?æ?¹"
 
 #. Translators: Load Game Dialog: Name of filter to show only PGN files
-#: ../glchess/src/lib/gtkui/dialogs.py:442
+#: ../glchess/src/lib/gtkui/dialogs.py:443
 msgid "PGN files"
 msgstr "PGN ��"
 
 #. Translators: Load Game Dialog: Name of filter to show all files
-#: ../glchess/src/lib/gtkui/dialogs.py:448
+#: ../glchess/src/lib/gtkui/dialogs.py:449
 msgid "All files"
 msgstr "æ??æ??æª?æ¡?"
 
 #. Translators: Load Game Dialog: Message displayed when no file is selected
-#: ../glchess/src/lib/gtkui/dialogs.py:470
+#: ../glchess/src/lib/gtkui/dialogs.py:471
 msgid "Please select a file to load"
 msgstr "è«?é?¸æ??è¦?è¼?å?¥ç??æª?æ¡?"
 
 #. Translators: Title of error box when unable to load game
-#: ../glchess/src/lib/gtkui/dialogs.py:478
+#: ../glchess/src/lib/gtkui/dialogs.py:479
 msgid "Unabled to load game"
 msgstr "ç?¡æ³?è¼?å?¥é??æ?²"
 
 #. Translators: Save Game Dialog: Error displayed when no file name entered
-#: ../glchess/src/lib/gtkui/dialogs.py:549
+#: ../glchess/src/lib/gtkui/dialogs.py:550
 msgid "Please enter a file name"
 msgstr "è«?輸å?¥æª?æ¡?å??稱ã??"
 
 #. Translators: Save Game Dialog: Error title when unable to save game
-#: ../glchess/src/lib/gtkui/dialogs.py:562
+#: ../glchess/src/lib/gtkui/dialogs.py:563
 msgid "Unabled to save game"
 msgstr "ç?¡æ³?å?²å­?é??æ?²"
 
 #. Translators: Move Format Combo: Moves shown in human descriptive notation
 #. Translators: Player Type Combo: Player is human controlled
-#: ../glchess/src/lib/gtkui/dialogs.py:589
-#: ../glchess/src/lib/gtkui/gtkui.py:204 ../gnect/src/prefs.c:249
-#: ../gtali/gyahtzee.c:988 ../gtali/yahtzee.c:69 ../iagno/properties.c:449
+#: ../glchess/src/lib/gtkui/dialogs.py:590
+#: ../glchess/src/lib/gtkui/gtkui.py:205 ../gnect/src/prefs.c:249
+#: ../gtali/gyahtzee.c:990 ../gtali/yahtzee.c:69 ../iagno/properties.c:449
 #: ../iagno/properties.c:490
 msgid "Human"
 msgstr "人�"
 
 #. Translators: Move Format Combo: Moves shown in standard algebraic notation (SAN)
-#: ../glchess/src/lib/gtkui/dialogs.py:591
+#: ../glchess/src/lib/gtkui/dialogs.py:592
 msgid "Standard Algebraic"
 msgstr "��代�"
 
 #. Translators: Move Format Combo: Moves shown in standard figurine algebraic notation (FAN)
-#: ../glchess/src/lib/gtkui/dialogs.py:593
+#: ../glchess/src/lib/gtkui/dialogs.py:594
 msgid "Figurine"
 msgstr "å??å??"
 
 #. Translators: Move Format Combo: Moves shown in long algebraic notation (LAN)
-#: ../glchess/src/lib/gtkui/dialogs.py:595
+#: ../glchess/src/lib/gtkui/dialogs.py:596
 msgid "Long Algebraic"
 msgstr "�代����"
 
 #. Translators: Board Side Combo: Camera will face white player's side
-#: ../glchess/src/lib/gtkui/dialogs.py:605
+#: ../glchess/src/lib/gtkui/dialogs.py:606
 msgid "White Side"
 msgstr "��"
 
 #. Translators: Board Side Combo: Camera will face black player's side
-#: ../glchess/src/lib/gtkui/dialogs.py:607
+#: ../glchess/src/lib/gtkui/dialogs.py:608
 msgid "Black Side"
 msgstr "é»?æ?¹"
 
 #. Translators: Board Side Combo: Camera will face human player's side
-#: ../glchess/src/lib/gtkui/dialogs.py:609
+#: ../glchess/src/lib/gtkui/dialogs.py:610
 msgid "Human Side"
 msgstr "人��家�"
 
 #. Translators: Board Side Combo: Camera will face current player's side
-#: ../glchess/src/lib/gtkui/dialogs.py:611
+#: ../glchess/src/lib/gtkui/dialogs.py:612
 msgid "Current Player"
 msgstr "ç?®å??ç?©å®¶"
 
 #. Translators: Board Side Combo: Board will be drawn suitable for players on each side of screen, e.g. handhelds
-#: ../glchess/src/lib/gtkui/dialogs.py:613
+#: ../glchess/src/lib/gtkui/dialogs.py:614
 msgid "Face to Face"
 msgstr "���"
 
-#. Translators: Promotion Combo: Promote to a queen. Do not translate the 'chess-piece|' text.
-#: ../glchess/src/lib/gtkui/dialogs.py:623
-msgid "chess-piece|Queen"
+#. Translators: Promotion Combo: Promote to a queen
+#: ../glchess/src/lib/gtkui/dialogs.py:624
+msgctxt "chess-piece"
+msgid "Queen"
 msgstr "ç??å??"
 
-#. Translators: Promotion Combo: Promote to a knight. Do not translate the 'chess-piece|' text.
-#: ../glchess/src/lib/gtkui/dialogs.py:625
-msgid "chess-piece|Knight"
+#. Translators: Promotion Combo: Promote to a knight
+#: ../glchess/src/lib/gtkui/dialogs.py:626
+msgctxt "chess-piece"
+msgid "Knight"
 msgstr "�士"
 
-#. Translators: Promotion Combo: Promote to a rook. Do not translate the 'chess-piece|' text.
-#: ../glchess/src/lib/gtkui/dialogs.py:627
-msgid "chess-piece|Rook"
+#. Translators: Promotion Combo: Promote to a rook
+#: ../glchess/src/lib/gtkui/dialogs.py:628
+msgctxt "chess-piece"
+msgid "Rook"
 msgstr "å??å ¡"
 
-#. Translators: Promotion Combo: Promote to a bishop. Do not translate the 'chess-piece|' text.
-#: ../glchess/src/lib/gtkui/dialogs.py:629
-msgid "chess-piece|Bishop"
+#. Translators: Promotion Combo: Promote to a bishop
+#: ../glchess/src/lib/gtkui/dialogs.py:630
+msgctxt "chess-piece"
+msgid "Bishop"
 msgstr "主æ??"
 
 #. Translators: Window title when playing a game that needs saving
-#: ../glchess/src/lib/gtkui/gtkui.py:325
+#: ../glchess/src/lib/gtkui/gtkui.py:326
 #, python-format
 msgid "Chess - *%(game_name)s"
 msgstr "å??é??象æ£? - *%(game_name)s"
 
 #. Translators: Window title when playing a game that is saved
-#: ../glchess/src/lib/gtkui/gtkui.py:328
+#: ../glchess/src/lib/gtkui/gtkui.py:329
 #, python-format
 msgid "Chess - %(game_name)s"
 msgstr "å??é??象æ£? - %(game_name)s"
 
 #. Translators: Game Timer Label: Indicates that game has no time limit
-#: ../glchess/src/lib/gtkui/gtkui.py:343
+#: ../glchess/src/lib/gtkui/gtkui.py:344
 msgid "â??"
 msgstr "â??"
 
 #. Translators: Save Game Dialog: Notice that game needs saving
-#: ../glchess/src/lib/gtkui/gtkui.py:416
+#: ../glchess/src/lib/gtkui/gtkui.py:417
 msgid "If you don't save the changes to this game will be permanently lost"
 msgstr "å¦?æ??ä¸?å°?å°?é??å??é??æ?²ç??æ?´æ?¹å?²å­?ï¼?æ??æ??æ?´æ?¹é?½æ??æ°¸ä¹?æ¶?失ã??"
 
 #. Translators: Save Game Dialog: Discard game button
-#: ../glchess/src/lib/gtkui/gtkui.py:418
+#: ../glchess/src/lib/gtkui/gtkui.py:419
 msgid "Close _without saving"
 msgstr "é??é??ä½?ä¸?å?²å­?(_W)"
 
 #. Translators: No 3D Dialog: Title
-#: ../glchess/src/lib/gtkui/gtkui.py:533
+#: ../glchess/src/lib/gtkui/gtkui.py:534
 msgid "Unable to enable 3D mode"
 msgstr "ç?¡æ³?å??ç?¨ 3D 模å¼?"
 
 #. Translators: No 3D Dialog: Notification to user that they do not have libraries required to enable 3D.
 #. %(error)s will be replaced with a list of reasons why 3D is not available.
-#: ../glchess/src/lib/gtkui/gtkui.py:537
+#: ../glchess/src/lib/gtkui/gtkui.py:538
 #, python-format
 msgid ""
 "You are unable to play in 3D mode due to the following problems:\n"
@@ -3988,12 +4762,12 @@ msgstr ""
 "è«?é?£ç·?ä½ ç??系統管ç??è??以解決é??äº?å??é¡?ï¼?å?¨é?£ä¹?å??ä½ å?¯ä»¥å?¨ 2D 模å¼?ä¸?ç?©å??é??象æ£?ã??"
 
 #. Translators: Draw Dialog: Title
-#: ../glchess/src/lib/gtkui/gtkui.py:799
+#: ../glchess/src/lib/gtkui/gtkui.py:800
 msgid "Unable to claim draw"
 msgstr "ç?¡æ³?宣å??å¹³æ??"
 
 #. Translators: Draw Dialog: Notify user why they cannot claim draw
-#: ../glchess/src/lib/gtkui/gtkui.py:801
+#: ../glchess/src/lib/gtkui/gtkui.py:802
 msgid ""
 "You may claim a draw when:\n"
 "a) The board has been in the same state three times (Three fold repetition)\n"
@@ -4006,7 +4780,7 @@ msgstr ""
 
 #. TODO: This should be a pop-up dialog
 #. FIXME: This should create a pop-up dialog
-#: ../glchess/src/lib/gtkui/gtkui.py:823 ../gnome-sudoku/src/lib/main.py:740
+#: ../glchess/src/lib/gtkui/gtkui.py:824 ../gnome-sudoku/src/lib/main.py:727
 #, python-format
 msgid "Unable to display help: %s"
 msgstr "ç?¡æ³?顯示說æ??æ??件ï¼?%s"
@@ -4440,13 +5214,13 @@ msgstr "%(movenum)2iw. %(description)s (å°?è»?)"
 #: ../glchess/src/lib/gtkui/chessview.py:538
 #, python-format
 msgid "%(movenum)2iw. %(description)s (Checkmate)"
-msgstr "%(movenum)2iw. %(description)s (å°?æ­»)"
+msgstr "%(movenum)2iw. %(description)s (被�死)"
 
 #. Translators: Human Move String: White player has made move %(description) and the opponent is in stalemate
 #: ../glchess/src/lib/gtkui/chessview.py:540
 #, python-format
 msgid "%(movenum)2iw. %(description)s (Stalemate)"
-msgstr "%(movenum)2iw. %(description)s (é?¼å??)"
+msgstr "%(movenum)2iw. %(description)s (ç?¡å­?å?¯å??)"
 
 #. Translators: Human Move String: White player has made move %(description) and the opponent is not in check or mate
 #: ../glchess/src/lib/gtkui/chessview.py:542
@@ -4464,13 +5238,13 @@ msgstr "%(movenum)2ib. %(description)s (å°?è»?)"
 #: ../glchess/src/lib/gtkui/chessview.py:546
 #, python-format
 msgid "%(movenum)2ib. %(description)s (Checkmate)"
-msgstr "%(movenum)2ib. %(description)s (å°?æ­»)"
+msgstr "%(movenum)2ib. %(description)s (被�死)"
 
 #. Translators: Human Move String: Black player has made move %(description) and the opponent is in stalemate
 #: ../glchess/src/lib/gtkui/chessview.py:548
 #, python-format
 msgid "%(movenum)2ib. %(description)s (Stalemate)"
-msgstr "%(movenum)2ib. %(description)s (é?¼å??)"
+msgstr "%(movenum)2ib. %(description)s (ç?¡å­?å?¯å??)"
 
 #. Translators: Human Move String: Black player has made move %(description) and the opponent is not in check or mate
 #: ../glchess/src/lib/gtkui/chessview.py:550
@@ -4589,116 +5363,137 @@ msgstr "座ä½?æ?¯ç©ºç??"
 msgid "AI (%s)"
 msgstr "人工�� (%s)"
 
-#. Translators: The first file on the chess board. Do not translate the 'chess-file|' text
-#: ../glchess/src/lib/chess/__init__.py:12
-msgid "chess-file|a"
+#. Translators: The first file on the chess board
+#: ../glchess/src/lib/chess/__init__.py:11
+msgctxt "chess-file"
+msgid "a"
 msgstr "a"
 
-#. Translators: The second file on the chess board. Do not translate the 'chess-file|' text
-#: ../glchess/src/lib/chess/__init__.py:14
-msgid "chess-file|b"
+#. Translators: The second file on the chess board
+#: ../glchess/src/lib/chess/__init__.py:13
+msgctxt "chess-file"
+msgid "b"
 msgstr "b"
 
-#. Translators: The third file on the chess board. Do not translate the 'chess-file|' text
-#: ../glchess/src/lib/chess/__init__.py:16
-msgid "chess-file|c"
+#. Translators: The third file on the chess board
+#: ../glchess/src/lib/chess/__init__.py:15
+msgctxt "chess-file"
+msgid "c"
 msgstr "c"
 
-#. Translators: The fourth file on the chess board. Do not translate the 'chess-file|' text
-#: ../glchess/src/lib/chess/__init__.py:18
-msgid "chess-file|d"
+#. Translators: The fourth file on the chess board
+#: ../glchess/src/lib/chess/__init__.py:17
+msgctxt "chess-file"
+msgid "d"
 msgstr "d"
 
-#. Translators: The fifth file on the chess board. Do not translate the 'chess-file|' text
-#: ../glchess/src/lib/chess/__init__.py:20
-msgid "chess-file|e"
+#. Translators: The fifth file on the chess board
+#: ../glchess/src/lib/chess/__init__.py:19
+msgctxt "chess-file"
+msgid "e"
 msgstr "e"
 
-#. Translators: The sixth file on the chess board. Do not translate the 'chess-file|' text
-#: ../glchess/src/lib/chess/__init__.py:22
-msgid "chess-file|f"
+#. Translators: The sixth file on the chess board
+#: ../glchess/src/lib/chess/__init__.py:21
+msgctxt "chess-file"
+msgid "f"
 msgstr "f"
 
-#. Translators: The seventh file on the chess board. Do not translate the 'chess-file|' text
-#: ../glchess/src/lib/chess/__init__.py:24
-msgid "chess-file|g"
+#. Translators: The seventh file on the chess board
+#: ../glchess/src/lib/chess/__init__.py:23
+msgctxt "chess-file"
+msgid "g"
 msgstr "g"
 
-#. Translators: The eigth file on the chess board. Do not translate the 'chess-file|' text
-#: ../glchess/src/lib/chess/__init__.py:26
-msgid "chess-file|h"
+#. Translators: The eigth file on the chess board
+#: ../glchess/src/lib/chess/__init__.py:25
+msgctxt "chess-file"
+msgid "h"
 msgstr "h"
 
-#. Translators: The first rank on the chess board. Do not translate the 'chess-rank|' text
-#: ../glchess/src/lib/chess/__init__.py:35
-msgid "chess-rank|1"
+#. Translators: The first rank on the chess board
+#: ../glchess/src/lib/chess/__init__.py:28
+msgctxt "chess-rank"
+msgid "1"
 msgstr "1"
 
-#. Translators: The second rank on the chess board. Do not translate the 'chess-rank|' text
-#: ../glchess/src/lib/chess/__init__.py:37
-msgid "chess-rank|2"
+#. Translators: The second rank on the chess board
+#: ../glchess/src/lib/chess/__init__.py:30
+msgctxt "chess-rank"
+msgid "2"
 msgstr "2"
 
-#. Translators: The third rank on the chess board. Do not translate the 'chess-rank|' text
-#: ../glchess/src/lib/chess/__init__.py:39
-msgid "chess-rank|3"
+#. Translators: The third rank on the chess board
+#: ../glchess/src/lib/chess/__init__.py:32
+msgctxt "chess-rank"
+msgid "3"
 msgstr "3"
 
-#. Translators: The fourth rank on the chess board. Do not translate the 'chess-rank|' text
-#: ../glchess/src/lib/chess/__init__.py:41
-msgid "chess-rank|4"
+#. Translators: The fourth rank on the chess board
+#: ../glchess/src/lib/chess/__init__.py:34
+msgctxt "chess-rank"
+msgid "4"
 msgstr "4"
 
-#. Translators: The fifth rank on the chess board. Do not translate the 'chess-rank|' text
-#: ../glchess/src/lib/chess/__init__.py:43
-msgid "chess-rank|5"
+#. Translators: The fifth rank on the chess board
+#: ../glchess/src/lib/chess/__init__.py:36
+msgctxt "chess-rank"
+msgid "5"
 msgstr "5"
 
-#. Translators: The sixth rank on the chess board. Do not translate the 'chess-rank|' text
-#: ../glchess/src/lib/chess/__init__.py:45
-msgid "chess-rank|6"
+#. Translators: The sixth rank on the chess board
+#: ../glchess/src/lib/chess/__init__.py:38
+msgctxt "chess-rank"
+msgid "6"
 msgstr "6"
 
-#. Translators: The seventh rank on the chess board. Do not translate the 'chess-rank|' text
-#: ../glchess/src/lib/chess/__init__.py:47
-msgid "chess-rank|7"
+#. Translators: The seventh rank on the chess board
+#: ../glchess/src/lib/chess/__init__.py:40
+msgctxt "chess-rank"
+msgid "7"
 msgstr "7"
 
-#. Translators: The eigth rank on the chess board. Do not translate the 'chess-rank|' text
-#: ../glchess/src/lib/chess/__init__.py:49
-msgid "chess-rank|8"
+#. Translators: The eigth rank on the chess board
+#: ../glchess/src/lib/chess/__init__.py:42
+msgctxt "chess-rank"
+msgid "8"
 msgstr "8"
 
 #. Translators: The notation form of a pawn.
 #. See http://en.wikipedia.org/wiki/Algebraic_chess_notation#Figurine_Algebraic_Notation for translations.
-#. Do not translate the 'chess-notation|' text.
-#: ../glchess/src/lib/chess/__init__.py:61
-msgid "chess-notation|P"
+#: ../glchess/src/lib/chess/__init__.py:46
+msgctxt "chess-notation"
+msgid "P"
 msgstr "P"
 
-#. Translators: The notation form of a knight. Do not translate the 'chess-notation|' text
-#: ../glchess/src/lib/chess/__init__.py:63
-msgid "chess-notation|N"
+#. Translators: The notation form of a knight
+#: ../glchess/src/lib/chess/__init__.py:48
+msgctxt "chess-notation"
+msgid "N"
 msgstr "N"
 
-#. Translators: The notation form of a bishop. Do not translate the 'chess-notation|' text
-#: ../glchess/src/lib/chess/__init__.py:65
-msgid "chess-notation|B"
+#. Translators: The notation form of a bishop
+#: ../glchess/src/lib/chess/__init__.py:50
+msgctxt "chess-notation"
+msgid "B"
 msgstr "B"
 
-#. Translators: The notation form of a rook. Do not translate the 'chess-notation|' text
-#: ../glchess/src/lib/chess/__init__.py:67
-msgid "chess-notation|R"
+#. Translators: The notation form of a rook
+#: ../glchess/src/lib/chess/__init__.py:52
+msgctxt "chess-notation"
+msgid "R"
 msgstr "R"
 
-#. Translators: The notation form of a queen. Do not translate the 'chess-notation|' text
-#: ../glchess/src/lib/chess/__init__.py:69
-msgid "chess-notation|Q"
+#. Translators: The notation form of a queen
+#: ../glchess/src/lib/chess/__init__.py:54
+msgctxt "chess-notation"
+msgid "Q"
 msgstr "Q"
 
-#. Translators: The notation form of a king. Do not translate the 'chess-notation|' text
-#: ../glchess/src/lib/chess/__init__.py:71
-msgid "chess-notation|K"
+#. Translators: The notation form of a king
+#: ../glchess/src/lib/chess/__init__.py:56
+msgctxt "chess-notation"
+msgid "K"
 msgstr "K"
 
 #. Translators: Description of an AI player used in log window. %(name)s is replaced with
@@ -4736,19 +5531,19 @@ msgstr ""
 "glChess å·²ç¶?ç?¶æ©?ã??è«?å°?é??å??é?¯èª¤å?¯å ±çµ¦ http://bugzilla.gnome.org\n";
 "��輸��"
 
-#: ../glchess/src/lib/main.py:709 ../gnome-sudoku/src/lib/main.py:481
+#: ../glchess/src/lib/main.py:709 ../gnome-sudoku/src/lib/main.py:473
 msgid "Save game before closing?"
 msgstr "æ?¯å?¦å?¨é??é??å??å?²å­?é??æ?²ï¼?"
 
-#: ../glchess/src/lib/defaults.py.in:52
+#: ../glchess/src/lib/defaults.py.in:50
 msgid "glChess"
 msgstr "glChess"
 
-#: ../glchess/src/lib/defaults.py.in:55
+#: ../glchess/src/lib/defaults.py.in:53
 msgid "Copyright 2005-2008 Robert Ancell (and contributors)"
 msgstr "ç??æ¬?æ??æ?? 2005-2008 Robert Ancell å??æ??æ??è²¢ç?»è??"
 
-#: ../glchess/src/lib/defaults.py.in:56
+#: ../glchess/src/lib/defaults.py.in:54
 msgid ""
 "The 2D/3D chess game for GNOME. \n"
 "\n"
@@ -4760,7 +5555,7 @@ msgstr ""
 
 #. The GPL license string will be translated, and the game name inserted.
 #. This license is the same as in libgames-support/games-stock.c
-#: ../glchess/src/lib/defaults.py.in:65
+#: ../glchess/src/lib/defaults.py.in:63
 #: ../gnome-sudoku/src/lib/defaults.py.in:49
 #, python-format
 msgid ""
@@ -4773,9 +5568,9 @@ msgstr ""
 "æ¢?款è¦?å®?ï¼?å°±æ?¬ç¨?å¼?å??ç?ºæ?£ä½?è??ï¼?æ??ä¿®æ?¹ï¼?ç?¡è«?ä½ æ ¹æ??æ??ç??æ?¯æ?¬æ??æ¬?ç??第äº?ç??æ??\n"
 "ï¼?ä½ è?ªè¡?é?¸æ??ç??ï¼?ä»»ä¸?æ?¥å¾?ç?¼è¡?ç??ç??æ?¬ã??"
 
-#: ../glchess/src/lib/defaults.py.in:69
+#: ../glchess/src/lib/defaults.py.in:67
 #: ../gnome-sudoku/src/lib/defaults.py.in:53
-#: ../libgames-support/games-stock.c:412
+#: ../libgames-support/games-stock.c:414
 #, c-format, python-format
 msgid ""
 "%s is distributed in the hope that it will be useful, but WITHOUT ANY "
@@ -4786,9 +5581,9 @@ msgstr ""
 "%s ä¿?å?ºæ?¼ä½¿ç?¨ç?®ç??è??å? ä»¥æ?£ä½?ï¼?ç?¶è??ä¸?è² ä»»ä½?æ??ä¿?責任ï¼?亦ç?¡å°?é?©å?®æ?§\n"
 "æ??ç?¹å®?ç?®ç??é?©ç?¨æ?§æ??ç?ºç??é»?示æ?§æ??ä¿?ã??詳æ??è«?å??ç?§ GNU é??ç?¨å?¬å?±æ??æ¬?ã??"
 
-#: ../glchess/src/lib/defaults.py.in:73
+#: ../glchess/src/lib/defaults.py.in:71
 #: ../gnome-sudoku/src/lib/defaults.py.in:57
-#: ../libgames-support/games-stock.c:417
+#: ../libgames-support/games-stock.c:419
 #, c-format, python-format
 msgid ""
 "You should have received a copy of the GNU General Public License along with "
@@ -4799,7 +5594,7 @@ msgstr ""
 "è?ªç?±è»?件å?ºé??æ??ï¼?\n"
 "51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA"
 
-#: ../glchess/src/lib/defaults.py.in:85
+#: ../glchess/src/lib/defaults.py.in:83
 #: ../gnome-sudoku/src/lib/defaults.py.in:68
 #, python-format
 msgid "Unable to make data directory %(dir)s: %(error)s"
@@ -4856,10 +5651,6 @@ msgstr "大"
 msgid "Could not load theme"
 msgstr "����主�"
 
-#: ../glines/glines.c:196 ../mahjongg/mahjongg.c:140
-msgid "Preferences"
-msgstr "å??好設å®?"
-
 #: ../glines/glines.c:218
 #, c-format
 msgid ""
@@ -4908,7 +5699,7 @@ msgid "You can't move there!"
 msgstr "ä¸?è?½ç§»å??å?°é?£è£?ï¼?"
 
 #: ../glines/glines.c:1206 ../glines/glines.c:1210 ../glines/glines.c:1212
-#: ../glines/glines.c:1809 ../glines/glines.c:1841
+#: ../glines/glines.c:1811 ../glines/glines.c:1843
 #: ../glines/glines.desktop.in.in.h:1
 msgid "Five or More"
 msgstr "�����"
@@ -4952,7 +5743,7 @@ msgstr "��"
 msgid "_Use fast moves"
 msgstr "å¿«é??移å??(_U)"
 
-#: ../glines/glines.c:1870
+#: ../glines/glines.c:1872
 msgid "Next:"
 msgstr "ä¸?次ç??é¡?è?²:"
 
@@ -5065,13 +5856,13 @@ msgstr "第äº?å??ç?©å®¶ç??æ£?å??"
 
 #: ../gnect/data/gnect.schemas.in.h:9 ../gnect/src/prefs.c:370
 #: ../gnibbles/gnibbles.schemas.in.h:16 ../gnibbles/preferences.c:446
-#: ../gnometris/gnometris.schemas.in.h:13 ../gnometris/tetris.cpp:725
+#: ../gnometris/gnometris.schemas.in.h:13 ../gnometris/tetris.cpp:744
 msgid "Move left"
 msgstr "å??左移å??"
 
 #: ../gnect/data/gnect.schemas.in.h:10 ../gnect/src/prefs.c:371
 #: ../gnibbles/gnibbles.schemas.in.h:17 ../gnibbles/preferences.c:447
-#: ../gnometris/gnometris.schemas.in.h:14 ../gnometris/tetris.cpp:726
+#: ../gnometris/gnometris.schemas.in.h:14 ../gnometris/tetris.cpp:745
 msgid "Move right"
 msgstr "å??å?³ç§»å??"
 
@@ -5115,7 +5906,7 @@ msgstr "æ­¡è¿?é?²å?¥ç¶²çµ¡ç??æ?¬ç?? %sã??"
 msgid "It's a draw!"
 msgstr "å¹³æ??ï¼?"
 
-#: ../gnect/src/main.c:583 ../gnome-sudoku/src/lib/main.py:442
+#: ../gnect/src/main.c:583 ../gnome-sudoku/src/lib/main.py:435
 msgid "You win!"
 msgstr "你���"
 
@@ -5230,7 +6021,7 @@ msgstr "é??å??é?³æ??(_N)"
 
 #. keyboard tab
 #: ../gnect/src/prefs.c:366 ../gnibbles/preferences.c:436
-#: ../gnobots2/properties.c:537 ../gnometris/tetris.cpp:717
+#: ../gnobots2/properties.c:537 ../gnometris/tetris.cpp:736
 msgid "Keyboard Controls"
 msgstr "����"
 
@@ -5353,19 +6144,19 @@ msgid "Speed:"
 msgstr "é??度ï¼?"
 
 #: ../gnibbles/gnibbles.c:627 ../gnobots2/game.c:182 ../gnomine/gnomine.c:224
-#: ../gnotravex/gnotravex.c:1237 ../gnotski/gnotski.c:840
+#: ../gnotravex/gnotravex.c:1239 ../gnotski/gnotski.c:842
 #: ../gtali/gyahtzee.c:203 ../mahjongg/mahjongg.c:668 ../same-gnome/ui.c:193
 msgid "Congratulations!"
 msgstr "æ?­å??ï¼?"
 
 #: ../gnibbles/gnibbles.c:628 ../gnobots2/game.c:183 ../gnomine/gnomine.c:225
-#: ../gnotravex/gnotravex.c:1238 ../gnotski/gnotski.c:841
+#: ../gnotravex/gnotravex.c:1240 ../gnotski/gnotski.c:843
 #: ../gtali/gyahtzee.c:204 ../mahjongg/mahjongg.c:669 ../same-gnome/ui.c:194
 msgid "Your score is the best!"
 msgstr "ä½ ç??å??æ?¸æ?¯æ??é«?ç??ï¼?"
 
 #: ../gnibbles/gnibbles.c:629 ../gnobots2/game.c:184 ../gnomine/gnomine.c:226
-#: ../gnotravex/gnotravex.c:1239 ../gnotski/gnotski.c:842
+#: ../gnotravex/gnotravex.c:1241 ../gnotski/gnotski.c:844
 #: ../gtali/gyahtzee.c:205 ../mahjongg/mahjongg.c:670 ../same-gnome/ui.c:195
 msgid "Your score has made the top ten."
 msgstr "ä½ ç??å??æ?¸é?²å?¥é ­å??å??ã??"
@@ -5377,7 +6168,7 @@ msgstr "å¼?å°?ä¸?æ?·ç§»å??ç??å°?è?²è?²é?¿é??ç?«é?¢ç??é??ç¤?ç?©"
 
 #: ../gnibbles/gnibbles.desktop.in.in.h:2 ../gnibbles/main.c:243
 #: ../gnibbles/main.c:247 ../gnibbles/main.c:249 ../gnibbles/main.c:871
-#: ../gnibbles/main.c:989 ../gnibbles/main.c:1051
+#: ../gnibbles/main.c:989 ../gnibbles/main.c:1053
 msgid "Nibbles"
 msgstr "貪é£?è??"
 
@@ -5448,7 +6239,7 @@ msgid "Key to use for motion up."
 msgstr "表示å??ä¸?æ??ç?¨ç??æ??é?µ"
 
 #: ../gnibbles/gnibbles.schemas.in.h:15 ../gnibbles/preferences.c:449
-#: ../gnometris/gnometris.schemas.in.h:12 ../gnometris/tetris.cpp:727
+#: ../gnometris/gnometris.schemas.in.h:12 ../gnometris/tetris.cpp:746
 msgid "Move down"
 msgstr "å??ä¸?移å??"
 
@@ -5589,7 +6380,7 @@ msgid "_Enable fake bonuses"
 msgstr "å?¯å?ºç?¾å??ç??ç??å?µ(_E)"
 
 #. starting level
-#: ../gnibbles/preferences.c:350 ../gnometris/tetris.cpp:633
+#: ../gnibbles/preferences.c:350 ../gnometris/tetris.cpp:643
 msgid "_Starting level:"
 msgstr "é??å§?ç??å??(_S)ï¼?"
 
@@ -5638,13 +6429,13 @@ msgstr "第 %d ��:"
 msgid "Game over!"
 msgstr "����"
 
-#: ../gnobots2/game.c:155 ../gnomine/gnomine.c:200 ../gnotski/gnotski.c:815
+#: ../gnobots2/game.c:155 ../gnomine/gnomine.c:200 ../gnotski/gnotski.c:817
 msgid "Great work, but unfortunately your score did not make the top ten."
 msgstr "ä¸?幸å?°ï¼?ä½ ç??å??æ?¸ä¸?è?½é?²å?¥é ­å??å??ã??"
 
 #. Translators: This "_New Game" is for the game-over dialogue
-#: ../gnobots2/game.c:157 ../gnomine/gnomine.c:202 ../gnotski/gnotski.c:817
-#: ../libgames-support/games-stock.c:321 ../same-gnome/ui.c:176
+#: ../gnobots2/game.c:157 ../gnomine/gnomine.c:202 ../gnotski/gnotski.c:819
+#: ../libgames-support/games-stock.c:323 ../same-gnome/ui.c:176
 msgid "_New Game"
 msgstr "é??æ?°å±?(_N)"
 
@@ -5686,13 +6477,13 @@ msgstr "ä¿®æ?¹é??æ?²ç??設å®?"
 msgid "Initial window position"
 msgstr "é??å§?æ??è¦?çª?ç??ä½?ç½®"
 
-#: ../gnobots2/gnobots.c:89 ../gnomine/gnomine.c:991 ../gnomine/gnomine.c:999
+#: ../gnobots2/gnobots.c:89 ../gnomine/gnomine.c:992 ../gnomine/gnomine.c:1000
 #: ../gnotravex/gnotravex.c:399 ../gnotski/gnotski.c:467
 #: ../iagno/gnothello.c:146
 msgid "X"
 msgstr "X"
 
-#: ../gnobots2/gnobots.c:91 ../gnomine/gnomine.c:993 ../gnomine/gnomine.c:1001
+#: ../gnobots2/gnobots.c:91 ../gnomine/gnomine.c:994 ../gnomine/gnomine.c:1002
 #: ../gnotravex/gnotravex.c:401 ../gnotski/gnotski.c:469
 #: ../iagno/gnothello.c:148
 msgid "Y"
@@ -5758,27 +6549,27 @@ msgstr "å?¯ä½¿ç?¨å®?å?¨ç©ºé??è½?移è??å®?å?¨ç§»å??ç??æ©?械人"
 msgid "Robots with safe teleport with super-safe moves"
 msgstr "å?¯ä½¿ç?¨å®?å?¨ç©ºé??è½?移è??è¶?ç´?å®?å?¨ç§»å??ç??æ©?械人"
 
-#: ../gnobots2/gnobots.c:237 ../gnobots2/gnobots.c:258
+#: ../gnobots2/gnobots.c:239 ../gnobots2/gnobots.c:260
 #: ../gnobots2/gnobots2.desktop.in.in.h:2 ../gnobots2/menu.c:263
 #: ../gnobots2/menu.c:266
 msgid "Robots"
 msgstr "�械人"
 
-#: ../gnobots2/gnobots.c:320
+#: ../gnobots2/gnobots.c:322
 msgid "No game data could be found."
 msgstr "æ?¾ä¸?å?°é??æ?²è³?æ??ã??"
 
-#: ../gnobots2/gnobots.c:322
+#: ../gnobots2/gnobots.c:324
 msgid ""
 "The program Robots was unable to find any valid game configuration files. "
 "Please check that the program is installed correctly."
 msgstr "GNOME æ©?械人æ?¾ä¸?å?°æ??æ??ç??設å®?æª?ã??è«?檢æ?¥ç¨?å¼?æ?¯å?¦å·²æ­£ç¢ºå®?è£?ã??"
 
-#: ../gnobots2/gnobots.c:341
+#: ../gnobots2/gnobots.c:343
 msgid "Some graphics files are missing or corrupt."
 msgstr "æ??äº?å??ç??æª?æ¡?æ?¾ä¸?å?°æ??è??å·²ç¶?æ??å£?ã??"
 
-#: ../gnobots2/gnobots.c:343
+#: ../gnobots2/gnobots.c:345
 msgid ""
 "The program Robots was unable to load all the necessary graphics files. "
 "Please check that the program is installed correctly."
@@ -6068,7 +6859,7 @@ msgstr "å?¯ä½¿ç?¨è¶?ç´?å®?å?¨ç§»å??(_S)"
 msgid "Prevents all moves that result in getting killed."
 msgstr "ç¦?止任ä½?æ??å¼?è?´æ??失ç??å?½ç??è¡?å??ã??"
 
-#: ../gnobots2/properties.c:483 ../gnometris/tetris.cpp:659
+#: ../gnobots2/properties.c:483 ../gnometris/tetris.cpp:669
 msgid "_Enable sounds"
 msgstr "é??å??é?³æ??(_E)"
 
@@ -6113,13 +6904,13 @@ msgstr "���"
 msgid "Fit falling blocks together"
 msgstr "å°?ä¸?å??å½¢ç??è??ä¸?ä¸?æ?·è·?ä¸?ç??æ?¹å¡?æ?¼å??å?¨ä¸?èµ·"
 
-#: ../gnometris/gnometris.desktop.in.in.h:2 ../gnometris/main.cpp:64
-#: ../gnometris/tetris.cpp:162 ../gnometris/tetris.cpp:1281
-#: ../gnometris/tetris.cpp:1285 ../gnometris/tetris.cpp:1287
+#: ../gnometris/gnometris.desktop.in.in.h:2 ../gnometris/main.cpp:66
+#: ../gnometris/tetris.cpp:162 ../gnometris/tetris.cpp:1300
+#: ../gnometris/tetris.cpp:1304 ../gnometris/tetris.cpp:1306
 msgid "Gnometris"
 msgstr "GNOME �����"
 
-#: ../gnometris/gnometris.schemas.in.h:1 ../gnometris/tetris.cpp:728
+#: ../gnometris/gnometris.schemas.in.h:1 ../gnometris/tetris.cpp:747
 msgid "Drop"
 msgstr "��"
 
@@ -6155,11 +6946,11 @@ msgstr "é??å§?æ??ç??ç´?æ?¸"
 msgid "Level to start with."
 msgstr "é??å§?æ??ç??ç´?æ?¸"
 
-#: ../gnometris/gnometris.schemas.in.h:15 ../gnometris/tetris.cpp:730
+#: ../gnometris/gnometris.schemas.in.h:15 ../gnometris/tetris.cpp:749
 msgid "Pause"
 msgstr "æ?«å??"
 
-#: ../gnometris/gnometris.schemas.in.h:16 ../gnometris/tetris.cpp:729
+#: ../gnometris/gnometris.schemas.in.h:16 ../gnometris/tetris.cpp:748
 msgid "Rotate"
 msgstr "æ??è½?"
 
@@ -6242,11 +7033,11 @@ msgstr "æ?¯å?¦é??æ??é??æ?¹å??æ??è½?æ?¹å¡?"
 msgid "Whether to use the background image"
 msgstr "æ?¯å?¦é¡¯ç¤ºè??æ?¯å??æ¡?"
 
-#: ../gnometris/main.cpp:46
+#: ../gnometris/main.cpp:48
 msgid "Set starting level (1 or greater)"
 msgstr "設å®?é??å§?ç??ç´?æ?¸ (1 æ??以ä¸?)"
 
-#: ../gnometris/main.cpp:46
+#: ../gnometris/main.cpp:48
 msgid "LEVEL"
 msgstr "ç´?æ?¸"
 
@@ -6266,58 +7057,63 @@ msgstr "Tango é?°å½±"
 msgid "Lines:"
 msgstr "���"
 
-#: ../gnometris/tetris.cpp:565
+#: ../gnometris/tetris.cpp:575
 msgid "Gnometris Preferences"
 msgstr "GNOME ä¿?ç¾?æ?¯æ?¹å¡?å??好設å®?"
 
-#: ../gnometris/tetris.cpp:589
+#: ../gnometris/tetris.cpp:599
 msgid "Setup"
 msgstr "設�"
 
 #. pre-filled rows
-#: ../gnometris/tetris.cpp:595
+#: ../gnometris/tetris.cpp:605
 msgid "_Number of pre-filled rows:"
 msgstr "é ?å??å¡«å??ç??è¡?æ?¸(_N)ï¼?"
 
 #. pre-filled rows density
-#: ../gnometris/tetris.cpp:614
+#: ../gnometris/tetris.cpp:624
 msgid "_Density of blocks in a pre-filled row:"
 msgstr "é ?å??å¡«å??æ??æ¯?è¡?ç??å¯?度(_D)ï¼?"
 
-#: ../gnometris/tetris.cpp:654
+#: ../gnometris/tetris.cpp:664
 msgid "Operation"
 msgstr "æ??ä½?"
 
-#: ../gnometris/tetris.cpp:668
+#: ../gnometris/tetris.cpp:678
 msgid "_Preview next block"
 msgstr "é ?覽ä¸?å??æ?¹å¡?(_P)"
 
-#: ../gnometris/tetris.cpp:677
+#: ../gnometris/tetris.cpp:687
 msgid "_Use random block colors"
 msgstr "��使�����(_U)"
 
-#: ../gnometris/tetris.cpp:688
+#: ../gnometris/tetris.cpp:698
+#, fuzzy
+msgid "_Bastard mode"
+msgstr "<b>度é??衡模å¼?:</b>"
+
+#: ../gnometris/tetris.cpp:707
 msgid "_Rotate blocks counterclockwise"
 msgstr "æ?¹å¡?以é??æ??é??æ?¹å??æ??è½?(_R)"
 
-#: ../gnometris/tetris.cpp:697
+#: ../gnometris/tetris.cpp:716
 msgid "Show _where the block will land"
 msgstr "顯示æ?¹å¡?è?½é»?æ??示(_W)"
 
-#: ../gnometris/tetris.cpp:705 ../gnometris/tetris.cpp:738
+#: ../gnometris/tetris.cpp:724 ../gnometris/tetris.cpp:757
 #: ../same-gnome/ui.c:324
 msgid "Theme"
 msgstr "��主�"
 
-#: ../gnometris/tetris.cpp:714
+#: ../gnometris/tetris.cpp:733
 msgid "Controls"
 msgstr "��"
 
-#: ../gnometris/tetris.cpp:741
+#: ../gnometris/tetris.cpp:760
 msgid "Block Style"
 msgstr "��樣�"
 
-#: ../gnometris/tetris.cpp:1290
+#: ../gnometris/tetris.cpp:1309
 msgid ""
 "A classic game of fitting falling blocks together.\n"
 "\n"
@@ -6331,7 +7127,7 @@ msgstr ""
 msgid "Gnometris Scores"
 msgstr "GNOME ä¿?ç¾?æ?¯æ?¹å¡?ç©?å??æ¦?"
 
-#: ../gnometris/blockops.cpp:724
+#: ../gnometris/blockops.cpp:861
 #: ../gnome-sudoku/src/lib/sudoku_generator_gui.py:173
 #: ../gnome-sudoku/src/lib/sudoku_generator_gui.py:214
 msgid "Paused"
@@ -6346,6 +7142,178 @@ msgstr "��"
 msgid "Test your logic skills in this number grid puzzle"
 msgstr "é??é??é??å??æ?¸å­?æ ¼å­?é¡?ç?®ä¾?測試你ç??é??輯è?½å??"
 
+#: ../gnome-sudoku/data/gnome-sudoku.schemas.in.h:1
+msgid "Color of the grid border"
+msgstr "æ ¼ç·?å¤?æ¡?ç??é¡?è?²"
+
+#: ../gnome-sudoku/data/gnome-sudoku.schemas.in.h:2
+msgid "Generate new puzzles in the background"
+msgstr "å?¨è??æ?¯ç?¢ç??æ?°é¡?ç?®"
+
+#: ../gnome-sudoku/data/gnome-sudoku.schemas.in.h:3
+msgid "Height of application window in pixels"
+msgstr "æ??ç?¨ç¨?å¼?è¦?çª?ç??é«?度ï¼?å??ç´ ï¼?"
+
+#: ../gnome-sudoku/data/gnome-sudoku.schemas.in.h:4
+msgid "Mark printed games as played"
+msgstr "å°?æ??å?°é??ç??é¡?ç?®æ¨?è¨?ç?ºå·²ç¶?ç?©é??"
+
+#: ../gnome-sudoku/data/gnome-sudoku.schemas.in.h:5
+msgid "Number of puzzles to print on a page"
+msgstr "è¦?æ??å?°ç??æ¯?é ?é¡?ç?®æ?¸"
+
+#: ../gnome-sudoku/data/gnome-sudoku.schemas.in.h:6
+msgid "Print games that have been played"
+msgstr "æ??å?°å·²ç¶?ç?©é??ç??é??æ?²"
+
+#: ../gnome-sudoku/data/gnome-sudoku.schemas.in.h:7
+msgid "Show hint highlights"
+msgstr "顯示æ??示ç??çª?顯æ??æ??"
+
+#: ../gnome-sudoku/data/gnome-sudoku.schemas.in.h:8
+msgid "Show hints"
+msgstr "顯示æ??示"
+
+#: ../gnome-sudoku/data/gnome-sudoku.schemas.in.h:9
+msgid "Show the application toolbar"
+msgstr "顯示æ??ç?¨ç¨?å¼?å·¥å?·å??"
+
+#: ../gnome-sudoku/data/gnome-sudoku.schemas.in.h:10
+msgid "The number of seconds between automatic saves"
+msgstr "è?ªå??å?²å­?é??é??ç§?æ?¸"
+
+#: ../gnome-sudoku/data/gnome-sudoku.schemas.in.h:11
+msgid "Width of application window in pixels"
+msgstr "æ??ç?¨ç¨?å¼?è¦?çª?ç??é??度ï¼?å??ç´ ï¼?"
+
+#: ../gnome-sudoku/data/print_games.ui.h:1
+msgid "<b><i>Details</i></b>"
+msgstr "<b><i>詳細è³?æ??</i></b>"
+
+#: ../gnome-sudoku/data/print_games.ui.h:2
+msgid "<b><i>Levels of difficulty to print</i></b>"
+msgstr "<b><i>è¦?æ??å?°ç??é??æ?²é?£åº¦ç­?ç´?</i></b>"
+
+#: ../gnome-sudoku/data/print_games.ui.h:3
+msgid "<span size=\"larger\" weight=\"bold\">Print Games</span>"
+msgstr "<span size=\"larger\" weight=\"bold\">æ??å?°é??æ?²</span>"
+
+#: ../gnome-sudoku/data/print_games.ui.h:4
+msgid "Print Sudokus"
+msgstr "æ??å?°æ?¸ç?¨é??æ?²"
+
+#: ../gnome-sudoku/data/print_games.ui.h:5
+#: ../gnome-sudoku/data/puzzle_generator.ui.h:13
+msgid "_Easy"
+msgstr "容æ??(_E)"
+
+#: ../gnome-sudoku/data/print_games.ui.h:6
+#: ../gnome-sudoku/data/puzzle_generator.ui.h:15
+msgid "_Hard"
+msgstr "å?°é?£(_H)"
+
+#: ../gnome-sudoku/data/print_games.ui.h:7
+msgid "_Include games you've already played in list of games to print"
+msgstr "æ??å?°é¡?ç?®æ??å??æ?¬ä½ ç?©é??ç??é¡?ç?®(_I)"
+
+#: ../gnome-sudoku/data/print_games.ui.h:8
+msgid "_Mark games as played once you've printed them."
+msgstr "æ??å?°é¡?ç?®å¾?å°?é¡?ç?®æ¨?è¨?ç?ºå·²ç¶?ç?©é??(_M)"
+
+#: ../gnome-sudoku/data/print_games.ui.h:9
+#: ../gnome-sudoku/data/puzzle_generator.ui.h:16 ../same-gnome/ui.c:479
+msgid "_Medium"
+msgstr "中(_M)"
+
+#: ../gnome-sudoku/data/print_games.ui.h:10
+msgid "_Number of sudoku to print: "
+msgstr "è¦?æ??å?°ç??æ?¸ç?¨é??æ?²æ?¸é??(_N):"
+
+#: ../gnome-sudoku/data/print_games.ui.h:11
+msgid "_Sudokus per page: "
+msgstr "æ¯?é ?ç??æ?¸ç?¨é¡?ç?®æ?¸ç?®(_S):"
+
+#: ../gnome-sudoku/data/print_games.ui.h:12
+#: ../gnome-sudoku/data/puzzle_generator.ui.h:17
+msgid "_Very Hard"
+msgstr "極�(_V)"
+
+#: ../gnome-sudoku/data/puzzle_generator.ui.h:1
+msgid "<i><u>Number of Puzzles</u></i>"
+msgstr "<i><u>����</u></i>"
+
+#: ../gnome-sudoku/data/puzzle_generator.ui.h:2
+msgid "<i>Easy:</i>"
+msgstr "<i>容æ??ï¼?</i>"
+
+#: ../gnome-sudoku/data/puzzle_generator.ui.h:3
+msgid "<i>Hard:</i>"
+msgstr "<i>���</i>"
+
+#: ../gnome-sudoku/data/puzzle_generator.ui.h:4
+msgid "<i>Medium:</i>"
+msgstr "<i>中��</i>"
+
+#: ../gnome-sudoku/data/puzzle_generator.ui.h:5
+msgid "<i>Very Hard:</i>"
+msgstr "<i>極��</i>"
+
+#: ../gnome-sudoku/data/puzzle_generator.ui.h:6
+msgid "<span size=\"larger\" weight=\"bold\">Puzzle Generator</span>"
+msgstr "<span size=\"larger\" weight=\"bold\">é¡?ç?®ç?¢ç??å?¨</span>"
+
+#: ../gnome-sudoku/data/puzzle_generator.ui.h:7
+msgid "Criteria:"
+msgstr "�件�"
+
+#: ../gnome-sudoku/data/puzzle_generator.ui.h:8
+msgid "Generate Policy"
+msgstr "ç?¢ç??ç??æ³?å??"
+
+#: ../gnome-sudoku/data/puzzle_generator.ui.h:9
+msgid "Generate new puzzles _until stopped"
+msgstr "ä¸?æ?·ç?¢ç??æ?°é¡?ç?®ç?´è?³ç?©å®¶è¦?æ±?å??æ­¢(_U)"
+
+#: ../gnome-sudoku/data/puzzle_generator.ui.h:10
+msgid "Generate until _reaching target"
+msgstr "ç?¢ç??é¡?ç?®ç?´è?³é??å?°ç?®æ¨?æ?¸å­?ç?ºæ­¢(_R)"
+
+#: ../gnome-sudoku/data/puzzle_generator.ui.h:11
+msgid "Puzzle Generator"
+msgstr "é¡?ç?®ç?¢ç??å?¨"
+
+#: ../gnome-sudoku/data/puzzle_generator.ui.h:12
+msgid "Target _number of sudokus:"
+msgstr "æ?¸ç?¨é¡?ç?®ç??ç?®æ¨?æ?¸å­?(_N):"
+
+#: ../gnome-sudoku/data/puzzle_generator.ui.h:14
+msgid "_Generate"
+msgstr "ç?¢ç??(_G)"
+
+#: ../gnome-sudoku/data/select_game.ui.h:1
+msgid "<b><span size=\"large\">_New Game</span></b>"
+msgstr "<b><span size=\"large\">æ?°é??æ?²(_N)</span></b>"
+
+#: ../gnome-sudoku/data/select_game.ui.h:2
+msgid "<b><span size=\"large\">_Saved Games</span></b>"
+msgstr "<b><span size=\"large\">å?²å­?é??æ?²(_S)</span></b>"
+
+#: ../gnome-sudoku/data/tracker.ui.h:1
+msgid "Clear _Others"
+msgstr "æ¸?é?¤å?¶ä»?ç??(_O)"
+
+#: ../gnome-sudoku/data/tracker.ui.h:2
+msgid "_Add Tracker"
+msgstr "��追蹤�(_A)"
+
+#: ../gnome-sudoku/data/tracker.ui.h:3 ../gnome-sudoku/src/lib/main.py:784
+msgid "_Clear Tracker"
+msgstr "��追蹤�(_C)"
+
+#: ../gnome-sudoku/data/tracker.ui.h:4
+msgid "_Trackers"
+msgstr "追蹤�(_T)"
+
 #: ../gnome-sudoku/src/gnome-sudoku.in.in:59
 msgid "Sudoku incorrectly installed"
 msgstr "æ?¸ç?¨(Sudoku)æ²?æ??正確ç??å®?è£?"
@@ -6414,250 +7382,238 @@ msgstr "æ?¸ç?¨(Sudoku)ç?¡æ³?å°?é??æ?²æ¨?è¨?ç?ºå·²çµ?æ??ã??"
 msgid "Track moves"
 msgstr "追蹤填�"
 
-#: ../gnome-sudoku/src/lib/main.py:245
+#: ../gnome-sudoku/src/lib/main.py:243
 msgid "New game"
 msgstr "é??æ?°å±?"
 
 # zh_HK: msgstr "æ??å?°ç?®å??ç??é??æ?²"
 # zh_TW: msgstr "å??å?°ç?®å??ç??é??æ?²"
-#: ../gnome-sudoku/src/lib/main.py:247
+#: ../gnome-sudoku/src/lib/main.py:245
 msgid "Print current game"
 msgstr "æ??å?°ç?®å??ç??é??æ?²"
 
-#: ../gnome-sudoku/src/lib/main.py:248
+#: ../gnome-sudoku/src/lib/main.py:246
 msgid "Print _Multiple Sudokus"
 msgstr "æ??å?°å¤?份æ?¸ç?¨é??æ?²(_M)"
 
-#: ../gnome-sudoku/src/lib/main.py:249
+#: ../gnome-sudoku/src/lib/main.py:247
 msgid "Print more than one sudoku at a time."
-msgstr "ä¸?次é??æ??å?°å¤?æ?¼ä¸?份ç??æ?¸ç?¨ã??"
+msgstr "ä¸?次æ??å?°å¤?æ?¼ä¸?份ç??æ?¸ç?¨ã??"
 
-#: ../gnome-sudoku/src/lib/main.py:251
+#: ../gnome-sudoku/src/lib/main.py:249
 msgid "Close Sudoku"
 msgstr "é??é??æ?¸ç?¨"
 
-#: ../gnome-sudoku/src/lib/main.py:252
+#: ../gnome-sudoku/src/lib/main.py:250
 msgid "_Tools"
 msgstr "工�(_T)"
 
-#: ../gnome-sudoku/src/lib/main.py:254 ../libgames-support/games-stock.c:317
+#: ../gnome-sudoku/src/lib/main.py:252 ../libgames-support/games-stock.c:319
 msgid "_Hint"
 msgstr "æ??示(_H)"
 
-#: ../gnome-sudoku/src/lib/main.py:256
+#: ../gnome-sudoku/src/lib/main.py:254
 msgid "Show which numbers could go in the current square."
 msgstr "顯示ç?®å??ç??æ?¹æ ¼å?¯ä»¥æ?¥å??å?ªäº?æ?¸å­?ã??"
 
-#: ../gnome-sudoku/src/lib/main.py:258
+#: ../gnome-sudoku/src/lib/main.py:256
 msgid "_Fill"
 msgstr "å¡«å??(_F)"
 
-#: ../gnome-sudoku/src/lib/main.py:259
+#: ../gnome-sudoku/src/lib/main.py:257
 msgid "Automatically fill in the current square if possible."
 msgstr "å?¨è¨±å?¯ç??æ??æ³?ä¸?ç?¡é??å¡«ä¸?ç?®å??ç??æ?¹æ ¼ã??"
 
-#: ../gnome-sudoku/src/lib/main.py:261
+#: ../gnome-sudoku/src/lib/main.py:259
 msgid "Fill _all squares"
 msgstr "å¡«å??æ??æ??æ?¹æ ¼(_A)"
 
-#: ../gnome-sudoku/src/lib/main.py:262
+#: ../gnome-sudoku/src/lib/main.py:260
 msgid ""
 "Automatically fill in all squares for which there is only one valid value."
 msgstr "è?ªå??å¡«å??æ??æ??å?ªæ??ä¸?å??å?¯è?½æ?§ç??æ?¹æ ¼ã??"
 
-#: ../gnome-sudoku/src/lib/main.py:266
+#: ../gnome-sudoku/src/lib/main.py:264
 msgid "_Generate new puzzles"
 msgstr "ç?¢ç??æ?°é¡?ç?®(_G)"
 
-#: ../gnome-sudoku/src/lib/main.py:266
+#: ../gnome-sudoku/src/lib/main.py:264
 msgid "Generate new puzzles."
 msgstr "ç?¢ç??æ?°é¡?ç?®"
 
-#: ../gnome-sudoku/src/lib/main.py:268
+#: ../gnome-sudoku/src/lib/main.py:266
 msgid "Puzzle _Statistics"
 msgstr "��統�(_S)"
 
-#: ../gnome-sudoku/src/lib/main.py:269
+#: ../gnome-sudoku/src/lib/main.py:267
 msgid "Show statistics about current puzzle"
 msgstr "顯示æ??é??ç?®å??é¡?ç?®ç??çµ±è¨?æ?¸å­?"
 
-#: ../gnome-sudoku/src/lib/main.py:275 ../libgames-support/games-stock.c:315
-msgid "_Contents"
-msgstr "�容(_C)"
-
-#: ../gnome-sudoku/src/lib/main.py:281
+#: ../gnome-sudoku/src/lib/main.py:279
 msgid "_Always show hint"
 msgstr "ä¸?å®?顯示æ??示(_A)"
 
-#: ../gnome-sudoku/src/lib/main.py:283
+#: ../gnome-sudoku/src/lib/main.py:281
 msgid "Always show possible numbers in a square"
 msgstr "æ°¸é? å?¨æ?¹æ ¼ä¸­é¡¯ç¤ºæ??æ??å?¯è?½å?ºç?¾ç??æ?¸å­?"
 
-#: ../gnome-sudoku/src/lib/main.py:287
+#: ../gnome-sudoku/src/lib/main.py:285
 msgid "Warn about _unfillable squares"
 msgstr "å?ºç?¾ç?¡æ³?å¡«ä¸?å?§å®¹ç??æ?¹æ ¼æ??ç?¼å?ºè­¦å??(_U)"
 
-#: ../gnome-sudoku/src/lib/main.py:289
+#: ../gnome-sudoku/src/lib/main.py:287
 msgid "Warn about squares made unfillable by a move"
 msgstr "ç?¶å¡«ä¸?æ??å??æ?¹æ ¼æ??令é??æ?²ç?¡æ³?å®?æ??æ??ç?¼å?ºè­¦å??"
 
-#: ../gnome-sudoku/src/lib/main.py:291
+#: ../gnome-sudoku/src/lib/main.py:289
 msgid "_Track additions"
 msgstr "��追蹤(_T)"
 
-#: ../gnome-sudoku/src/lib/main.py:293
+#: ../gnome-sudoku/src/lib/main.py:291
 msgid "Mark new additions in a separate color so you can keep track of them."
 msgstr "以å??å?¥ç??é¡?è?²æ¨?è¨?æ?°å¡«å?¥ç??æ?¸å­?以便追蹤å®?å??ã??"
 
-#: ../gnome-sudoku/src/lib/main.py:295
-msgid "Show _Toolbar"
-msgstr "顯示工å?·å??(_T)"
-
-#: ../gnome-sudoku/src/lib/main.py:296
+#: ../gnome-sudoku/src/lib/main.py:294
 msgid "_Highlighter"
 msgstr "�亮度顯示(_H)"
 
-#: ../gnome-sudoku/src/lib/main.py:297
+#: ../gnome-sudoku/src/lib/main.py:295
 msgid "Highlight the current row, column and box"
 msgstr "å? å¼·é¡¯ç¤ºç?®å??æ?¹æ ¼æ??å?¨ç??è¡?å??å??"
 
-#: ../gnome-sudoku/src/lib/main.py:298
+#: ../gnome-sudoku/src/lib/main.py:296
 msgid "Generate new puzzles _while you play"
 msgstr "ç?¶ä½ å?¨ç?©ç??æ??å??ç?¢ç??æ?°ç??é¡?ç?®(_W)"
 
-#: ../gnome-sudoku/src/lib/main.py:300
+#: ../gnome-sudoku/src/lib/main.py:298
 msgid ""
 "Generate new puzzles in the background while you play. This will "
 "automatically pause when the game goes into the background."
 msgstr "ç?¶ä½ æ­£å?¨è§£æ±ºé¡?ç?®æ??è®?ç¨?å¼?è?ªè¡?å?¨è??æ?¯ç?¢ç??æ?°é¡?ç?®ã??æ­¤ç¨?åº?æ??å?¨é¡?ç?®æ?¬èº«å??æ??å?°è??æ?¯æ??å??æ­¢å?·è¡?ã??"
 
-#: ../gnome-sudoku/src/lib/main.py:306
+#: ../gnome-sudoku/src/lib/main.py:304
 msgid "_Edit"
 msgstr "編輯(_E)"
 
-#: ../gnome-sudoku/src/lib/main.py:307
+#: ../gnome-sudoku/src/lib/main.py:305
 msgid "_Undo"
 msgstr "å??æ??(_U)"
 
-#: ../gnome-sudoku/src/lib/main.py:307
+#: ../gnome-sudoku/src/lib/main.py:305
 msgid "Undo last action"
 msgstr "é??å??ä¸?ä¸?æ­¥"
 
-#: ../gnome-sudoku/src/lib/main.py:308
+#: ../gnome-sudoku/src/lib/main.py:306
 msgid "_Redo"
 msgstr "å??æ¶?å??æ??(_R)"
 
-#: ../gnome-sudoku/src/lib/main.py:308
+#: ../gnome-sudoku/src/lib/main.py:306
 msgid "Redo last action"
 msgstr "é??æ?°é?²è¡?å??é??å??ç??ä¸?æ­¥"
 
-#: ../gnome-sudoku/src/lib/main.py:309
+#: ../gnome-sudoku/src/lib/main.py:307
 #: ../gnome-sudoku/src/lib/number_box.py:54
 msgid "_Clear"
 msgstr "��(_C)"
 
-#: ../gnome-sudoku/src/lib/main.py:309
+#: ../gnome-sudoku/src/lib/main.py:307
 msgid "Clear entries you've filled in"
 msgstr "æ¸?é?¤æ??æ??ä½ å¡«ä¸?ç??æ?¸å­?"
 
-#: ../gnome-sudoku/src/lib/main.py:310
+#: ../gnome-sudoku/src/lib/main.py:308
 msgid "Clear _Notes"
 msgstr "����(_N)"
 
-#: ../gnome-sudoku/src/lib/main.py:310
+#: ../gnome-sudoku/src/lib/main.py:308
 msgid "Clear notes and hints"
 msgstr "æ¸?é?¤æ¨?è¨?å??æ??示"
 
-#: ../gnome-sudoku/src/lib/main.py:424
+#: ../gnome-sudoku/src/lib/main.py:417
 #, python-format
 msgid "You completed the puzzle in %(totalTime)s (%(activeTime)s active)"
 msgstr "ä½ å?¨ %(totalTime)s å?§å®?æ??äº?é??å??é¡?ç?®ï¼?使ç?¨äº? %(activeTime)s ï¼?"
 
-#: ../gnome-sudoku/src/lib/main.py:428
+#: ../gnome-sudoku/src/lib/main.py:421
 #, python-format
 msgid "You got %(n)s hint"
 msgid_plural "You got %(n)s hints"
 msgstr[0] "ä½ å¾?å?° %(n)s 次æ??示"
 
-#: ../gnome-sudoku/src/lib/main.py:431
+#: ../gnome-sudoku/src/lib/main.py:424
 #, python-format
 msgid "You had %(n)s impossibility pointed out."
 msgid_plural "You had %(n)s impossibilities pointed out."
 msgstr[0] "å·²ç?ºä½ æ??å?º %(n)s 種ä¸?å?¯è?½æ?§ã??"
 
-#: ../gnome-sudoku/src/lib/main.py:436
+#: ../gnome-sudoku/src/lib/main.py:429
 #, python-format
 msgid "You used the auto-fill %(n)s time"
 msgid_plural "You used the auto-fill %(n)s times"
 msgstr[0] "你使ç?¨äº? %(n)s 次è?ªå??å¡«å??"
 
-#: ../gnome-sudoku/src/lib/main.py:461
+#: ../gnome-sudoku/src/lib/main.py:453
 msgid "Save this game before starting new one?"
 msgstr "å?¨é??å§?æ?°ç??é??æ?²å??å?²å­?é??å??é??æ?²ï¼?"
 
-#: ../gnome-sudoku/src/lib/main.py:462
+#: ../gnome-sudoku/src/lib/main.py:454
 msgid "_Save game for later"
 msgstr "å?²å­?é??æ?²ä»¥å¾?å??ç?©(_S)"
 
-#: ../gnome-sudoku/src/lib/main.py:463
+#: ../gnome-sudoku/src/lib/main.py:455
 msgid "_Abandon game"
 msgstr "æ?¾æ£?é??æ?²(_A)"
 
-#: ../gnome-sudoku/src/lib/main.py:662
+#: ../gnome-sudoku/src/lib/main.py:649
 #, python-format
 msgid "Playing %(difficulty)s puzzle."
 msgstr "æ­£å?¨é?²è¡?ç­?ç´?ç?º %(difficulty)s ç??é¡?ç?®ã??"
 
-#: ../gnome-sudoku/src/lib/main.py:678
+#: ../gnome-sudoku/src/lib/main.py:665
 msgid "Puzzle Information"
 msgstr "����"
 
-#: ../gnome-sudoku/src/lib/main.py:679
+#: ../gnome-sudoku/src/lib/main.py:666
 msgid "There is no current puzzle."
 msgstr "ç?®å??æ²?æ??é¡?ç?®ã??"
 
-#: ../gnome-sudoku/src/lib/main.py:684
+#: ../gnome-sudoku/src/lib/main.py:671
 msgid "Calculated difficulty: "
 msgstr "ç¶?è¨?ç®?å¾?ç??é?£åº¦ï¼?"
 
-#: ../gnome-sudoku/src/lib/main.py:688
+#: ../gnome-sudoku/src/lib/main.py:675
 msgid "Number of moves instantly fillable by elimination: "
 msgstr "å?¯ä»¥ç?¨æ¶?å?»æ³?å?³æ??å¡«ä¸?ç??æ?¹æ ¼ï¼?"
 
-#: ../gnome-sudoku/src/lib/main.py:691
+#: ../gnome-sudoku/src/lib/main.py:678
 msgid "Number of moves instantly fillable by filling: "
 msgstr "å?¯ä»¥å?³æ??å¡«ä¸?ç??æ?¹æ ¼ï¼?"
 
-#: ../gnome-sudoku/src/lib/main.py:694
+#: ../gnome-sudoku/src/lib/main.py:681
 msgid "Amount of trial-and-error required to solve: "
 msgstr "é??è¦?使ç?¨è©¦é?¯æ³?ç??次æ?¸ï¼?"
 
-#: ../gnome-sudoku/src/lib/main.py:697 ../gnome-sudoku/src/lib/main.py:698
+#: ../gnome-sudoku/src/lib/main.py:684 ../gnome-sudoku/src/lib/main.py:685
 msgid "Puzzle Statistics"
 msgstr "��統�"
 
 #. Our initial row...
-#: ../gnome-sudoku/src/lib/main.py:788
+#: ../gnome-sudoku/src/lib/main.py:775
 msgid "No Tracker"
 msgstr "æ²?æ??追蹤å?¨"
 
-#: ../gnome-sudoku/src/lib/main.py:797
-msgid "_Clear Tracker"
-msgstr "��追蹤�(_C)"
-
-#: ../gnome-sudoku/src/lib/main.py:798
+#: ../gnome-sudoku/src/lib/main.py:785
 msgid "Clear all moves tracked by selected tracker."
 msgstr "æ¸?é?¤æ??æ??以é?¸å??ç??追蹤å?¨è¿½è¹¤ç??å¡«æ³?ã??"
 
-#: ../gnome-sudoku/src/lib/main.py:802
+#: ../gnome-sudoku/src/lib/main.py:789
 msgid "_Clear Others"
 msgstr "æ¸?é?¤å?¶ä»?ç??(_C)"
 
-#: ../gnome-sudoku/src/lib/main.py:804
+#: ../gnome-sudoku/src/lib/main.py:791
 msgid "Clear all moves not tracked by selected tracker."
 msgstr "æ¸?é?¤æ??æ??ä¸?被é?¸å??ç??追蹤å?¨è¿½è¹¤ç??å¡«æ³?ã??"
 
-#: ../gnome-sudoku/src/lib/main.py:829
+#: ../gnome-sudoku/src/lib/main.py:816
 #, python-format
 msgid "Tracker %s"
 msgstr "追蹤� %s"
@@ -6837,7 +7793,7 @@ msgstr "æ??æ??å?°é?·å·²ç¶?æ¸?é?¤ï¼?"
 msgid "Mines Scores"
 msgstr "GNOME æ??å?°é?·ç©?å??æ¦?"
 
-#: ../gnomine/gnomine.c:217 ../gnotravex/gnotravex.c:1232
+#: ../gnomine/gnomine.c:217 ../gnotravex/gnotravex.c:1234
 #: ../same-gnome/ui.c:148
 msgid "Size:"
 msgstr "大��"
@@ -6850,19 +7806,19 @@ msgstr "æ??ä»»ä½?ä¸?å??空格"
 msgid "Maybe they're all mines ..."
 msgstr "å?¯è?½ä»»ä½?ä¸?å??空格é?½æ?¯å?°é?·..."
 
-#: ../gnomine/gnomine.c:450
+#: ../gnomine/gnomine.c:451
 msgid "Resizing and SVG support:"
 msgstr "æ?¾å¤§ç¸®å°?å?? SVG æ?¯æ?´ï¼?"
 
-#: ../gnomine/gnomine.c:457
+#: ../gnomine/gnomine.c:458
 msgid "Faces:"
 msgstr "ç¬?è??ï¼?"
 
-#: ../gnomine/gnomine.c:460
+#: ../gnomine/gnomine.c:461
 msgid "Graphics:"
 msgstr "å??å½¢ï¼?"
 
-#: ../gnomine/gnomine.c:476
+#: ../gnomine/gnomine.c:477
 msgid ""
 "The popular logic puzzle minesweeper. Clear mines from a board using hints "
 "from squares you have already uncovered.\n"
@@ -6873,77 +7829,77 @@ msgstr ""
 "\n"
 "æ??å?°é?·(Mines)æ?¯ GNOME é??æ?²ç??ä¸?é?¨å??ã??"
 
-#: ../gnomine/gnomine.c:687
+#: ../gnomine/gnomine.c:688
 msgid "Field Size"
 msgstr "�格�大�"
 
-#: ../gnomine/gnomine.c:710
+#: ../gnomine/gnomine.c:711
 msgid "Custom Size"
 msgstr "��大�"
 
-#: ../gnomine/gnomine.c:717
+#: ../gnomine/gnomine.c:718
 msgid "_Number of mines:"
 msgstr "å?°é?·æ?¸é??(_N)ï¼?"
 
-#: ../gnomine/gnomine.c:730
+#: ../gnomine/gnomine.c:731
 msgid "_Horizontal:"
 msgstr "æ°´å¹³(_H)ï¼?"
 
-#: ../gnomine/gnomine.c:742
+#: ../gnomine/gnomine.c:743
 msgid "_Vertical:"
 msgstr "å??ç?´(_V)ï¼?"
 
-#: ../gnomine/gnomine.c:759
+#: ../gnomine/gnomine.c:760
 msgid "Flags"
 msgstr "æ??å¹?"
 
-#: ../gnomine/gnomine.c:762
+#: ../gnomine/gnomine.c:763
 msgid "_Use \"I'm not sure\" flags"
 msgstr "å?¯å°?æ?¹æ ¼æ¨?è¨?ç?ºã??ä¸?ç?¥é??ã??(_U)"
 
-#: ../gnomine/gnomine.c:773
+#: ../gnomine/gnomine.c:774
 msgid "Warnings"
 msgstr "è­¦å??"
 
-#: ../gnomine/gnomine.c:776
+#: ../gnomine/gnomine.c:777
 msgid "_Use \"Too many flags\" warning"
 msgstr "使ç?¨ã??æ¨?è¨?é??å¤?ã??è­¦å??(_U)"
 
-#: ../gnomine/gnomine.c:787
+#: ../gnomine/gnomine.c:788
 msgid "Mines Preferences"
 msgstr "GNOME æ??å?°é?·å??好設å®?"
 
-#: ../gnomine/gnomine.c:991
+#: ../gnomine/gnomine.c:992
 msgid "Width of grid"
 msgstr "æ ¼å­?ç??é??度"
 
-#: ../gnomine/gnomine.c:992
+#: ../gnomine/gnomine.c:993
 msgid "Height of grid"
 msgstr "æ ¼å­?ç??é«?度"
 
-#: ../gnomine/gnomine.c:994
+#: ../gnomine/gnomine.c:995
 msgid "Number of mines"
 msgstr "å?°é?·æ?¸é??"
 
-#: ../gnomine/gnomine.c:997 ../gnomine/gnomine.schemas.in.h:8
+#: ../gnomine/gnomine.c:998 ../gnomine/gnomine.schemas.in.h:8
 msgid "Size of the board (0-2 = small-large, 3=custom)"
 msgstr "��大� (0-2 表示��大�3 表示��)"
 
-#: ../gnomine/gnomine.c:998 ../gnotravex/gnotravex.c:398
+#: ../gnomine/gnomine.c:999 ../gnotravex/gnotravex.c:398
 #: ../gnotski/gnotski.c:466 ../iagno/gnothello.c:145
 msgid "X location of window"
 msgstr "��水平�置"
 
-#: ../gnomine/gnomine.c:1000 ../gnotravex/gnotravex.c:400
+#: ../gnomine/gnomine.c:1001 ../gnotravex/gnotravex.c:400
 #: ../gnotski/gnotski.c:468 ../iagno/gnothello.c:147
 msgid "Y location of window"
 msgstr "è¦?çª?å??ç?´ä½?ç½®"
 
-#: ../gnomine/gnomine.c:1146
+#: ../gnomine/gnomine.c:1149
 msgid "Press to Resume"
 msgstr "è«?æ??é??è£?ç¹¼çº?é??æ?²"
 
-#: ../gnomine/gnomine.c:1180
+#: ../gnomine/gnomine.c:1183
 msgid "Time: "
 msgstr "æ??é??ï¼?"
 
@@ -7189,28 +8145,28 @@ msgstr "ç??é?¢ç??大å°?(2-6)"
 msgid "SIZE"
 msgstr "大�"
 
-#: ../gnotravex/gnotravex.c:1114
+#: ../gnotravex/gnotravex.c:1116
 msgid "Puzzle solved! Well done!"
 msgstr "解決äº?ï¼?å??å¾?好ï¼?"
 
-#: ../gnotravex/gnotravex.c:1116
+#: ../gnotravex/gnotravex.c:1118
 msgid "Puzzle solved!"
 msgstr "解決��"
 
-#: ../gnotravex/gnotravex.c:1230
+#: ../gnotravex/gnotravex.c:1232
 msgid "Tetravex Scores"
 msgstr "æ?¸å­?æ?¼å??ç©?å??æ¦?"
 
-#: ../gnotravex/gnotravex.c:1497 ../mahjongg/mahjongg.c:977
+#: ../gnotravex/gnotravex.c:1498 ../mahjongg/mahjongg.c:977
 msgid "Game paused"
 msgstr "é??æ?²æ?«å??"
 
-#: ../gnotravex/gnotravex.c:1625
+#: ../gnotravex/gnotravex.c:1626
 #, c-format
 msgid "Playing %dÃ?%d board"
 msgstr "使ç?¨ %dÃ?%d æ ¼ç??ç??é?¢"
 
-#: ../gnotravex/gnotravex.c:1907
+#: ../gnotravex/gnotravex.c:1908
 msgid ""
 "GNOME Tetravex is a simple puzzle where pieces must be positioned so that "
 "the same numbers are touching each other.\n"
@@ -7426,23 +8382,23 @@ msgstr "ä¸?å??ç??å??"
 msgid "Previous Puzzle"
 msgstr "ä¸?å??ç??å??"
 
-#: ../gnotski/gnotski.c:675
+#: ../gnotski/gnotski.c:677
 msgid "Level completed."
 msgstr "é ?å?©é??é??ã??"
 
-#: ../gnotski/gnotski.c:813
+#: ../gnotski/gnotski.c:815
 msgid "The Puzzle Has Been Solved!"
 msgstr "此��已�被破解��"
 
-#: ../gnotski/gnotski.c:830
+#: ../gnotski/gnotski.c:832
 msgid "Klotski Scores"
 msgstr "è?¯å®¹é??ç©?å??æ¦?"
 
-#: ../gnotski/gnotski.c:833
+#: ../gnotski/gnotski.c:835
 msgid "Puzzle:"
 msgstr "é¡?ç?®:"
 
-#: ../gnotski/gnotski.c:917
+#: ../gnotski/gnotski.c:919
 msgid ""
 "The theme for this game failed to render.\n"
 "\n"
@@ -7452,7 +8408,7 @@ msgstr ""
 "\n"
 "è«?確ä¿?è?¯å®¹é??已正確å®?è£?ã??"
 
-#: ../gnotski/gnotski.c:1164
+#: ../gnotski/gnotski.c:1166
 #, c-format
 msgid ""
 "Could not find the image:\n"
@@ -7465,12 +8421,12 @@ msgstr ""
 "\n"
 "è«?確ä¿?è?¯å®¹é??已正確å®?è£?ã??"
 
-#: ../gnotski/gnotski.c:1203
+#: ../gnotski/gnotski.c:1205
 #, c-format
 msgid "Moves: %d"
 msgstr "步��%d"
 
-#: ../gnotski/gnotski.c:1532
+#: ../gnotski/gnotski.c:1534
 msgid ""
 "Sliding Block Puzzles\n"
 "\n"
@@ -7645,7 +8601,7 @@ msgstr "æ??å­?模å¼?ç??æ?¬ (1992)ï¼?"
 
 #: ../gtali/gyahtzee.c:600
 msgid "Colors game and multi-level AI (2006):"
-msgstr "é¡?è?²é??æ?²è??å¤?層次 AI (2006):"
+msgstr ""
 
 #: ../gtali/gyahtzee.c:618
 msgid ""
@@ -7940,37 +8896,37 @@ msgstr "çµ?æ??å¾?å??é??é??æ?¹æ£?å­?(_F)"
 msgid "_Tile set:"
 msgstr "å??å½¢é??(_T)ï¼?"
 
-#: ../libgames-support/eggdesktopfile.c:165
+#: ../libgames-support/eggdesktopfile.c:169
 #, c-format
 msgid "File is not a valid .desktop file"
 msgstr "æª?æ¡?ä¸?æ?¯æ??æ??ç?? .desktop æª?æ¡?"
 
-#: ../libgames-support/eggdesktopfile.c:188
+#: ../libgames-support/eggdesktopfile.c:192
 #, c-format
 msgid "Unrecognized desktop file Version '%s'"
 msgstr "ç?¡æ³?辨è­?ç??æ¡?é?¢æª?æ¡?ç??æ?¬ã??%sã??"
 
-#: ../libgames-support/eggdesktopfile.c:958
+#: ../libgames-support/eggdesktopfile.c:966
 #, c-format
 msgid "Starting %s"
 msgstr "æº?å??å??å?? %s"
 
-#: ../libgames-support/eggdesktopfile.c:1100
+#: ../libgames-support/eggdesktopfile.c:1108
 #, c-format
 msgid "Application does not accept documents on command line"
 msgstr "æ??ç?¨ç¨?å¼?ä¸?æ?¥å??以å?½ä»¤å??é??å??æ??件"
 
-#: ../libgames-support/eggdesktopfile.c:1168
+#: ../libgames-support/eggdesktopfile.c:1176
 #, c-format
 msgid "Unrecognized launch option: %d"
 msgstr "ç?¡æ³?辨è­?ç??å??å??é?¸é ?ï¼?%d"
 
-#: ../libgames-support/eggdesktopfile.c:1373
+#: ../libgames-support/eggdesktopfile.c:1381
 #, c-format
 msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
 msgstr "ä¸?è?½å?³é??æ??件 URI è?³ã??Type=Linkã??æ¡?é?¢é ?ç?®"
 
-#: ../libgames-support/eggdesktopfile.c:1392
+#: ../libgames-support/eggdesktopfile.c:1402
 #, c-format
 msgid "Not a launchable item"
 msgstr "ä¸?æ?¯å?¯ä»¥å??å??ç??é ?ç?®"
@@ -8147,10 +9103,6 @@ msgctxt "card symbol"
 msgid "1"
 msgstr "1"
 
-#: ../libgames-support/games-card-selector.c:123
-msgid "Card Style"
-msgstr "å?¤ç??款å¼?"
-
 #: ../libgames-support/games-controls.c:286
 msgid "Unknown Command"
 msgstr "ä¸?æ??æ??令"
@@ -8200,6 +9152,16 @@ msgstr "å??ç?´æ??å??"
 msgid "The vertical alignment, from 0 (top) to 1 (bottom)"
 msgstr "å??ç?´æ??å??ï¼?ç?± 0 (ä¸?) è?³ 1 (ä¸?)"
 
+#. %s.%s is the game name + the extension HTML or XHTML, e.g. Klondike.html"
+#: ../libgames-support/games-help.c:114
+#, c-format
+msgid "Help file â??%s.%sâ?? not found"
+msgstr "æ?¾ä¸?å?°ã??%s.%sã??æ±?å?©æª?æ¡?"
+
+#: ../libgames-support/games-runtime.c:273
+msgid "Could not show link"
+msgstr "��顯示��"
+
 #. Note that this assumes the default style is plain.
 #: ../libgames-support/games-scores-dialog.c:119
 #: ../libgames-support/games-scores-dialog.c:546
@@ -8212,135 +9174,121 @@ msgstr "å??æ?¸"
 msgid "%dm %ds"
 msgstr "%d å?? %d ç§?"
 
-#: ../libgames-support/games-scores-dialog.c:438
-msgid "New Game"
-msgstr "é??æ?°å±?"
-
-#: ../libgames-support/games-stock.c:48
+#: ../libgames-support/games-stock.c:47
 msgid "End the current game"
 msgstr "çµ?æ­¢ç?®å??é??å±?é??æ?²"
 
-#: ../libgames-support/games-stock.c:49
+#: ../libgames-support/games-stock.c:48
 msgid "Toggle fullscreen mode"
 msgstr "å??æ??å?¨è?¢å¹?模å¼?"
 
-#: ../libgames-support/games-stock.c:51
+#: ../libgames-support/games-stock.c:50
 msgid "Leave fullscreen mode"
 msgstr "é?¢é??å?¨è?¢å¹?模å¼?"
 
 #: ../libgames-support/games-stock.c:52
-msgid "Start a new multiplayer network game"
-msgstr "é??å§?ä¸?å??æ?°ç??å¤?人網絡é??æ?²"
-
-#: ../libgames-support/games-stock.c:53
 msgid "End the current network game and return to network server"
 msgstr "çµ?æ­¢ç?®å??ç??網絡é??æ?²ï¼?å??å?°ä¼ºæ??å?¨"
 
-#: ../libgames-support/games-stock.c:55 ../mahjongg/mahjongg.c:1249
+#: ../libgames-support/games-stock.c:54 ../mahjongg/mahjongg.c:1249
 msgid "Pause the game"
 msgstr "æ?«å??é??æ?²"
 
-#: ../libgames-support/games-stock.c:56
+#: ../libgames-support/games-stock.c:55
 msgid "Show a list of players in the network game"
 msgstr "顯示網絡é??æ?²ä¸­ç??ç?©å®¶å??å?®"
 
-#: ../libgames-support/games-stock.c:59 ../mahjongg/mahjongg.c:1252
+#: ../libgames-support/games-stock.c:58 ../mahjongg/mahjongg.c:1252
 msgid "Resume the paused game"
 msgstr "ç¹¼çº?é??æ?²"
 
-#: ../libgames-support/games-stock.c:60
+#: ../libgames-support/games-stock.c:59
 msgid "View the scores"
 msgstr "顯示å¾?å??"
 
-#: ../libgames-support/games-stock.c:64
+#: ../libgames-support/games-stock.c:63
 msgid "Configure the game"
 msgstr "é??æ?²è¨­å®?"
 
-#: ../libgames-support/games-stock.c:65
+#: ../libgames-support/games-stock.c:64
 msgid "Quit this game"
 msgstr "é??å?ºæ?¬é??æ?²"
 
-#: ../libgames-support/games-stock.c:316
+#: ../libgames-support/games-stock.c:318
 msgid "_Fullscreen"
 msgstr "���(_F)"
 
 #. Translators: This "_New" is for the menu item 'Game->New', implies "New Game"
-#: ../libgames-support/games-stock.c:319
+#: ../libgames-support/games-stock.c:321
 msgid "_New"
 msgstr "é??æ?°å±?(_N)"
 
-#: ../libgames-support/games-stock.c:322
+#: ../libgames-support/games-stock.c:324
 msgid "_Redo Move"
 msgstr "å??æ¶?å??æ??(_R)"
 
 #. Translators: this is the "Reset" scores button in a scores dialogue
-#: ../libgames-support/games-stock.c:324
+#: ../libgames-support/games-stock.c:326
 msgid "_Reset"
 msgstr "é??設(_R)"
 
 #. Translators: "_Restart" is the menu item 'Game->Restart', implies "Restart Game"
-#: ../libgames-support/games-stock.c:326
+#: ../libgames-support/games-stock.c:328
 msgid "_Restart"
 msgstr "å??ç?©(_R)"
 
-#: ../libgames-support/games-stock.c:327
-msgid "_Undo Move"
-msgstr "å??æ??(_U)"
-
-#: ../libgames-support/games-stock.c:328
+#: ../libgames-support/games-stock.c:330
 msgid "_Deal"
 msgstr "ç?¼ç??(_D)"
 
-#: ../libgames-support/games-stock.c:330
+#: ../libgames-support/games-stock.c:332
 msgid "_Leave Fullscreen"
 msgstr "å??æ¶?å?¨è?¢å¹?(_L)"
 
-#: ../libgames-support/games-stock.c:331
-msgid "Network _Game"
-msgstr "網絡é??æ?²(_G)"
-
-#: ../libgames-support/games-stock.c:332
+#: ../libgames-support/games-stock.c:334
 msgid "L_eave Game"
 msgstr "é?¢é??é??æ?²(_E)"
 
-#: ../libgames-support/games-stock.c:333
+#: ../libgames-support/games-stock.c:335
 msgid "Player _List"
 msgstr "ç?©å®¶å??å?®(_L)"
 
-#: ../libgames-support/games-stock.c:334
+#: ../libgames-support/games-stock.c:336
 msgid "_Pause"
 msgstr "æ?«å??(_P)"
 
-#: ../libgames-support/games-stock.c:335
+#: ../libgames-support/games-stock.c:337
 msgid "Res_ume"
 msgstr "繼�(_U)"
 
-#: ../libgames-support/games-stock.c:336
+#: ../libgames-support/games-stock.c:338
 msgid "_Scores"
 msgstr "å??æ?¸(_S)"
 
-#: ../libgames-support/games-stock.c:337
+#: ../libgames-support/games-stock.c:339
 msgid "_End Game"
 msgstr "çµ?æ??é??æ?²(_E)"
 
-#: ../libgames-support/games-stock.c:343
+#. Work around maemo brokenness wrt. stock item translations.
+#. * See https://bugs.maemo.org/show_bug.cgi?id=1449 .
+#: ../libgames-support/games-stock.c:345
 msgid "_About"
 msgstr "é??æ?¼(_A)"
 
-#: ../libgames-support/games-stock.c:344
+#: ../libgames-support/games-stock.c:346
 msgid "_Cancel"
 msgstr "å??æ¶?(_C)"
 
-#: ../libgames-support/games-stock.c:345
+#: ../libgames-support/games-stock.c:347
 msgid "_Close"
 msgstr "é??é??(_C)"
 
-#: ../libgames-support/games-stock.c:346
+#: ../libgames-support/games-stock.c:348
 msgid "_OK"
 msgstr "確�(_O)"
 
 #. %s is replaced with the name of the game in gnome-games.
-#: ../libgames-support/games-stock.c:407
+#: ../libgames-support/games-stock.c:409
 #, c-format
 msgid ""
 "%s is free software; you can redistribute it and/or modify it under the "
@@ -8349,13 +9297,32 @@ msgid ""
 "version."
 msgstr "%s ç?ºè?ªç?±è»?件ï¼?ä½ å?¯æ ¹æ??æ??è?ªç?±è»?件å?ºé??æ??æ??ç?¼è¡¨ç?? GNU é??ç?¨å?¬å?±æ??æ¬?æ¢?款è¦?å®?ï¼?å°±æ?¬ç¨?å¼?å??ç?ºæ?£ä½?è??ï¼?æ??ä¿®æ?¹ï¼?ç?¡è«?ä½ æ ¹æ??æ??ç??æ?¯æ?¬æ??æ¬?ç??第äº?ç??æ??ï¼?ä½ è?ªè¡?é?¸æ??ç??ï¼?第 %d ç??ã??"
 
-#: ../lightsoff/lightsoff.desktop.in.in.h:1
+#: ../lightsoff/lightsoff.desktop.in.in.h:1 ../lightsoff/data/lightsoff.ui.h:1
+#: ../lightsoff/data/settings.ui.h:1
+#: ../same-gnome-clutter/data/settings.ui.h:6
+#, fuzzy
 msgid "Lights Off"
-msgstr "é??ç??"
+msgstr "é??é??"
 
 #: ../lightsoff/lightsoff.desktop.in.in.h:2
+#, fuzzy
 msgid "Turn off all the lights"
-msgstr "é??æ??æ??æ??ç??ç??"
+msgstr "é??é??詳細輸å?º"
+
+#: ../lightsoff/data/settings.ui.h:2
+msgid "Look & Feel"
+msgstr ""
+
+#: ../lightsoff/data/settings.ui.h:3
+#: ../same-gnome-clutter/data/settings.ui.h:8
+#, fuzzy
+#| msgid "_Theme:"
+msgid "Theme:"
+msgstr "��主�(_T)�"
+
+#: ../lightsoff/data/settings.ui.h:4
+msgid "Use colors from GNOME theme"
+msgstr ""
 
 #: ../mahjongg/drawing.c:305
 msgid ""
@@ -8470,15 +9437,15 @@ msgstr "ä¸?海麻é?? - %s"
 msgid "Redo the last move"
 msgstr "é??å??ä¸?ä¸?æ­¥"
 
-#: ../mahjongg/mahjongg.c:1445
+#: ../mahjongg/mahjongg.c:1447
 msgid "Tiles Left:"
 msgstr "å?©é¤?ç??æ?¸:"
 
-#: ../mahjongg/mahjongg.c:1454
+#: ../mahjongg/mahjongg.c:1456
 msgid "Moves Left:"
 msgstr "��步�:"
 
-#: ../mahjongg/mahjongg.c:1516
+#: ../mahjongg/mahjongg.c:1518
 msgid "Remove matching pairs of tiles."
 msgstr "å°?ç?¸å??ç??é?¢ç??麻é??ä¸?å°?å°?å?°ç§»èµ°ã??"
 
@@ -8555,10 +9522,13 @@ msgid "Game size (1=small, 3=large)"
 msgstr "é??æ?²ç?«é?¢å¤§å°? (1 表示å°?ï¼?3 表示大)"
 
 #: ../same-gnome/same-gnome.desktop.in.in.h:1
+#: ../same-gnome-clutter/same-gnome-clutter-c.desktop.in.in.h:1
+#: ../same-gnome-clutter/same-gnome-clutter.desktop.in.in.h:1
 msgid "Clear the screen by removing groups of colored balls"
 msgstr "æ¸?é?¤ç?«é?¢ä¸?è??å?¨ä¸?èµ·ç??å??è?²ç??"
 
 #: ../same-gnome/same-gnome.desktop.in.in.h:2
+#: ../same-gnome-clutter/data/same-gnome.ui.h:1
 msgid "Same GNOME"
 msgstr "Same GNOME"
 
@@ -8652,10 +9622,6 @@ msgstr "��主�(_T)..."
 msgid "_Small"
 msgstr "å°?(_S)"
 
-#: ../same-gnome/ui.c:479
-msgid "_Medium"
-msgstr "中(_M)"
-
 #: ../same-gnome/ui.c:480
 msgid "_Large"
 msgstr "大(_L)"
@@ -8673,3 +9639,58 @@ msgid ""
 "It is impossible to play the game. Please check that the game has been "
 "installed correctly and try again."
 msgstr "ç?¾å?¨ç?¡æ³?ç?©é??æ?²ã??è«?確ä¿?é??æ?²å·²ç¶?正確å®?è£?ï¼?並å??試ä¸?次ã??"
+
+#: ../same-gnome-clutter/data/settings.ui.h:1
+#, fuzzy
+#| msgid "Appearance"
+msgid "<b>Appearance</b>"
+msgstr "��"
+
+#: ../same-gnome-clutter/data/settings.ui.h:2
+#, fuzzy
+#| msgid "Operation"
+msgid "<b>Operation</b>"
+msgstr "æ??ä½?"
+
+#: ../same-gnome-clutter/data/settings.ui.h:3
+#, fuzzy
+#| msgid "<b>Server</b>"
+msgid "<b>Setup</b>"
+msgstr "<b>伺æ??å?¨</b>"
+
+#: ../same-gnome-clutter/data/settings.ui.h:4
+#, fuzzy
+#| msgid "_Board size:"
+msgid "Board size:"
+msgstr "��大�(_B):"
+
+#: ../same-gnome-clutter/data/settings.ui.h:5
+msgid "Fly score increment (words!)"
+msgstr ""
+
+#: ../same-gnome-clutter/data/settings.ui.h:7
+#, fuzzy
+#| msgid "_Number of players:"
+msgid "Number of colors:"
+msgstr "�家��(_N)�"
+
+#: ../same-gnome-clutter/data/settings.ui.h:9
+#, fuzzy
+#| msgid "_Fast Animation"
+msgid "Zealous Animation"
+msgstr "å¿«é??å??ä½?(_F)"
+
+#: ../same-gnome-clutter/same-gnome-clutter-c.desktop.in.in.h:2
+#, fuzzy
+#| msgid "Same GNOME Theme"
+msgid "Same GNOME (Clutter, C)"
+msgstr "Same GNOME ��主�"
+
+#: ../same-gnome-clutter/same-gnome-clutter.desktop.in.in.h:2
+#, fuzzy
+#| msgid "Same GNOME"
+msgid "Same GNOME (Clutter)"
+msgstr "Same GNOME"
+
+#~ msgid "Could not show Aisleriot help"
+#~ msgstr "ç?¡æ³?顯示 Aisleriot ç??æ±?å?©æ??件"
diff --git a/po/zh_TW.po b/po/zh_TW.po
index 36635ef..8d75d4d 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -6,10 +6,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gnome-games 2.27.2\n"
+"Project-Id-Version: gnome-games 2.27.5\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-05-27 20:19+0800\n"
-"PO-Revision-Date: 2009-05-27 20:14+0800\n"
+"POT-Creation-Date: 2009-07-19 08:25+0800\n"
+"PO-Revision-Date: 2009-07-17 06:18+0800\n"
 "Last-Translator: Chao-Hsiung Liao <j_h_liau yahoo com tw>\n"
 "Language-Team: Chinese (Taiwan) <zh-l10n lists linux org tw>\n"
 "MIME-Version: 1.0\n"
@@ -95,8 +95,8 @@ msgstr "æ?¯å?¦é¡¯ç¤ºç??æ??å??"
 msgid "Whether or not to show the toolbar"
 msgstr "æ?¯å?¦é¡¯ç¤ºå·¥å?·å??"
 
-#: ../aisleriot/freecell.desktop.in.in.h:1 ../aisleriot/sol.c:583
-#: ../aisleriot/window.c:601 ../aisleriot/window.c:609
+#: ../aisleriot/freecell.desktop.in.in.h:1 ../aisleriot/sol.c:306
+#: ../aisleriot/window.c:619 ../aisleriot/window.c:627
 msgid "FreeCell Solitaire"
 msgstr "FreeCell ç´?ç??æ?¥é¾?é??æ?²"
 
@@ -104,18 +104,18 @@ msgstr "FreeCell ç´?ç??æ?¥é¾?é??æ?²"
 msgid "Play the popular FreeCell card game"
 msgstr "ç?©å??æ­¡è¿?ç?? FreeCell ç´?ç??æ?¥é¾?é??æ?²"
 
-#: ../aisleriot/game.c:1134
+#: ../aisleriot/game.c:1143
 #, c-format
 msgid ""
 "Aisleriot cannot load the file â??%sâ??. Please check your Aisleriot "
 "installation."
 msgstr "Aisleriot ç?¡æ³?è¼?å?¥æª?æ¡?â??%sâ??ã??è«?檢æ?¥æ?¯å?¦å·²æ­£ç¢ºå®?è£? Aisleriotã??"
 
-#: ../aisleriot/game.c:1575
+#: ../aisleriot/game.c:1587
 msgid "Aisleriot cannot find the last game you played."
 msgstr "Aisleriot æ?¾ä¸?å?°æ?¨æ??å¾?ç?©é??ç??é??æ?²ã??"
 
-#: ../aisleriot/game.c:1576
+#: ../aisleriot/game.c:1588
 msgid ""
 "This usually occurs when you run an older version of Aisleriot which does "
 "not have the game you last played. The default game, Klondike, is being "
@@ -124,7 +124,7 @@ msgstr ""
 "é??樣é??常表示æ?¨æº?å??å?·è¡?è??ç??æ?¬ç?? Aisleriotï¼?è??該ç??æ?¬æ²?æ??æ?¨ä¸?次ç?©ç??é??æ?²ã??ç?¾å?¨æ??"
 "æ?¹ç?ºå?·è¡?é ?設ç??é??æ?²ï¼?å?³ Klondike (Windows ç??æ?¥é¾?)ã??"
 
-#: ../aisleriot/game.c:1934
+#: ../aisleriot/game.c:1946
 msgid "This game does not have hint support yet."
 msgstr "é??å??é??æ?²ä»?æ?ªå?¯ä»¥é¡¯ç¤ºæ??示è¨?æ?¯ã??"
 
@@ -132,71 +132,845 @@ msgstr "é??å??é??æ?²ä»?æ?ªå?¯ä»¥é¡¯ç¤ºæ??示è¨?æ?¯ã??"
 #. The first %s is a card name, the 2nd %s a sentence fragment.
 #. * Yes, we know this is bad for i18n.
 #.
-#: ../aisleriot/game.c:1968 ../aisleriot/game.c:1996
+#: ../aisleriot/game.c:1980 ../aisleriot/game.c:2008
 #, c-format
 msgid "Move %s onto %s."
 msgstr "å°?%s 移è?³%s ä¸?é?¢ã??"
 
-#: ../aisleriot/game.c:2018
+#: ../aisleriot/game.c:2030
 #, c-format
 msgid "You are searching for a %s."
 msgstr "æ?¨æ­£å?¨æ?¾%sã??"
 
-#: ../aisleriot/game.c:2023
+#: ../aisleriot/game.c:2035
 msgid "This game is unable to provide a hint."
 msgstr "å?¨æ­¤é??æ?²ä¸­ç?¡æ³?æ??ä¾?ä»»ä½?æ??示ã??"
 
-#: ../aisleriot/sol.c:120
-msgid "Could not show link"
-msgstr "��顯示��"
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:6
+msgid "Peek"
+msgstr "Peek"
 
-#. %s.%s is the game name + the extension HTML or XHTML, e.g. Klondike.html"
-#: ../aisleriot/sol.c:309
-#, c-format
-msgid "Help file \"%s.%s\" not found"
-msgstr "æ?¾ä¸?å?°èªªæ??æ??件æª?æ¡?ã??%s.%sã??"
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:13
+msgid "Auld Lang Syne"
+msgstr "Auld Lang Syne"
 
-#. Empty title shows up as "<unnamed>" on maemo
-#: ../aisleriot/sol.c:314 ../aisleriot/sol.c:392 ../aisleriot/window.c:1967
-#: ../dependencies/ggz-gtk/ggzclient.c:124
-#: ../dependencies/ggz-gtk/ggzclient.c:380
-#: ../dependencies/ggz-gtk/ggzclient.c:561
-#: ../dependencies/ggz-gtk/ggzclient.c:596
-#: ../dependencies/ggz-gtk/ggzclient.c:649
-#: ../dependencies/ggz-gtk/ggzclient.c:1079
-#: ../dependencies/ggz-gtk/launch.c:325
-msgid "Error"
-msgstr "�誤"
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:20
+msgid "Fortunes"
+msgstr "Fortunes"
 
-#: ../aisleriot/sol.c:373
-#, c-format
-msgid "Could not show help for â??%sâ??"
-msgstr "ç?¡æ³?顯示â??%sâ??ç??æ±?å?©æ??件"
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:27
+msgid "Seahaven"
+msgstr "Seahaven"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:34
+msgid "King Albert"
+msgstr "King Albert"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:41
+msgid "First Law"
+msgstr "First Law"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:48
+msgid "Straight Up"
+msgstr "Straight Up"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:55
+msgid "Jumbo"
+msgstr "Jumbo"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:62
+msgid "Accordion"
+msgstr "Accordion"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:69
+msgid "Ten Across"
+msgstr "Ten Across"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:76
+msgid "Plait"
+msgstr "Plait"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:83
+msgid "Lady Jane"
+msgstr "Lady Jane"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:90
+msgid "Gypsy"
+msgstr "Gypsy"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:97
+msgid "Neighbor"
+msgstr "Neighbor"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:104
+msgid "Jamestown"
+msgstr "Jamestown"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:111
+msgid "Osmosis"
+msgstr "Osmosis"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:118
+msgid "Kings Audience"
+msgstr "Kings Audience"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:125
+msgid "Glenwood"
+msgstr "Glenwood"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:132
+msgid "Gay Gordons"
+msgstr "Gay Gordons"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:139
+msgid "Monte Carlo"
+msgstr "Monte Carlo"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:146
+msgid "Kansas"
+msgstr "Kansas"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:153
+msgid "Camelot"
+msgstr "Camelot"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:160
+msgid "Fourteen"
+msgstr "Fourteen"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:167
+msgid "Scorpion"
+msgstr "Scorpion"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:174
+msgid "Isabel"
+msgstr "Isabel"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:181
+msgid "Escalator"
+msgstr "Escalator"
+
+# (Abel) Remove all translated entries. Most references online are in
+# English, so translating them will create difficulty for people to
+# search reference online.
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:188
+msgid "Agnes"
+msgstr "Agnes"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:195
+msgid "Bristol"
+msgstr "Bristol"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:202
+msgid "Quatorze"
+msgstr "Quatorze"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:209
+msgid "Bear River"
+msgstr "Bear River"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:216
+msgid "Gold Mine"
+msgstr "Gold Mine"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:223
+msgid "Athena"
+msgstr "Athena"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:230
+msgid "Spiderette"
+msgstr "Spiderette"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:237
+msgid "Chessboard"
+msgstr "Chessboard"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:244
+msgid "Backbone"
+msgstr "Backbone"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:251
+msgid "Yukon"
+msgstr "Yukon"
 
-#: ../aisleriot/sol.c:376
-msgid "Could not show Aisleriot help"
-msgstr "ç?¡æ³?顯示 Aisleriot ç??æ±?å?©æ??件"
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:258
+msgid "Union Square"
+msgstr "Union Square"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:265
+msgid "Eight Off"
+msgstr "Eight Off"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:272
+msgid "Napoleons Tomb"
+msgstr "Napoleons Tomb"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:279
+msgid "Forty Thieves"
+msgstr "Forty Thieves"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:286
+msgid "Streets And Alleys"
+msgstr "Streets And Alleys"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:293
+msgid "Maze"
+msgstr "Maze"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:300
+msgid "Clock"
+msgstr "Clock"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:307
+msgid "Pileon"
+msgstr "Pileon"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:314
+msgid "Canfield"
+msgstr "Canfield"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:321
+msgid "Thirteen"
+msgstr "Thirteen"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:328
+msgid "Bakers Game"
+msgstr "Bakers Game"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:335
+msgid "Triple Peaks"
+msgstr "Triple Peaks"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:342
+msgid "Easthaven"
+msgstr "Easthaven"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#. Translators: this string is the name of a variant of this game. If there is an established standard name for this game or game variant in your locale, use that; otherwise you can translate this string freely or literally, at your option.
+#: ../aisleriot/game-names.h:349 ../aisleriot/rules/terrace.scm.h:20
+msgid "Terrace"
+msgstr "Terrace"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:356
+msgid "Aunt Mary"
+msgstr "Aunt Mary"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:363
+msgid "Carpet"
+msgstr "Carpet"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:370
+msgid "Sir Tommy"
+msgstr "Sir Tommy"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:377
+msgid "Diamond Mine"
+msgstr "Diamond Mine"
 
-#: ../aisleriot/sol.c:481
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:384
+msgid "Yield"
+msgstr "Yield"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:391
+msgid "Labyrinth"
+msgstr "Labyrinth"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:398
+msgid "Thieves"
+msgstr "Thieves"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:405
+msgid "Saratoga"
+msgstr "Saratoga"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:412
+msgid "Cruel"
+msgstr "Cruel"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:419
+msgid "Block Ten"
+msgstr "Block Ten"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:426
+msgid "Will O The Wisp"
+msgstr "Will O The Wisp"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:433
+msgid "Odessa"
+msgstr "Odessa"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:440
+msgid "Eagle Wing"
+msgstr "Eagle Wing"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:447
+msgid "Treize"
+msgstr "Treize"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:454
+msgid "Zebra"
+msgstr "Zebra"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:461
+msgid "Cover"
+msgstr "Cover"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:468
+msgid "Elevator"
+msgstr "Elevator"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:475
+msgid "Fortress"
+msgstr "Fortress"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:482
+msgid "Giant"
+msgstr "Giant"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:489
+msgid "Spider"
+msgstr "Spider"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:496
+msgid "Gaps"
+msgstr "Gaps"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:503
+msgid "Bakers Dozen"
+msgstr "Bakers Dozen"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:510
+msgid "Whitehead"
+msgstr "Whitehead"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:517
+msgid "Freecell"
+msgstr "Freecell"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:524
+msgid "Helsinki"
+msgstr "Helsinki"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:531
+msgid "Spider Three Decks"
+msgstr "Spider Three Decks"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:538
+msgid "Scuffle"
+msgstr "Scuffle"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:545
+msgid "Poker"
+msgstr "Poker"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:552
+msgid "Klondike Three Decks"
+msgstr "Klondike Three Decks"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:559
+msgid "Valentine"
+msgstr "Valentine"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:566
+msgid "Royal East"
+msgstr "Royal East"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:573
+msgid "Thumb And Pouch"
+msgstr "Thumb And Pouch"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:580
+msgid "Klondike"
+msgstr "Klondike"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:587
+msgid "Doublets"
+msgstr "Doublets"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:594
+msgid "Template"
+msgstr "Template"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:601
+msgid "Golf"
+msgstr "Golf"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:608
+msgid "Westhaven"
+msgstr "Westhaven"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:615
+msgid "Beleaguered Castle"
+msgstr "Beleaguered Castle"
+
+#. Translators: this string is the name of a game of patience.
+#. If there is an established standard name for this game in your
+#. locale, use that; otherwise you can translate this string
+#. freely, literally, or not at all, at your option.
+#.
+#: ../aisleriot/game-names.h:622
+msgid "Hopscotch"
+msgstr "Hopscotch"
+
+#: ../aisleriot/sol.c:214
 msgid "Select the game type to play"
 msgstr "é?¸æ??è¦?ç?©ç??é??æ?²é¡?å??"
 
-#: ../aisleriot/sol.c:481 ../gnobots2/gnobots.c:85 ../gnobots2/gnobots.c:87
+#: ../aisleriot/sol.c:214 ../gnobots2/gnobots.c:85 ../gnobots2/gnobots.c:87
 #: ../same-gnome/same-gnome.c:127 ../same-gnome/same-gnome.c:129
 msgid "NAME"
 msgstr "å??稱"
 
-#: ../aisleriot/sol.c:483
+#: ../aisleriot/sol.c:216
 msgid "Select the game number"
 msgstr "é?¸æ??é??æ?²ç·¨è??"
 
-#: ../aisleriot/sol.c:483 ../gnomine/gnomine.c:995 ../gtali/gyahtzee.c:110
+#: ../aisleriot/sol.c:216 ../gnomine/gnomine.c:996 ../gtali/gyahtzee.c:110
 #: ../gtali/gyahtzee.c:112 ../gtali/gyahtzee.c:116 ../gtali/gyahtzee.c:118
 #: ../same-gnome/same-gnome.c:131
 msgid "NUMBER"
 msgstr "æ?¸é??"
 
-#: ../aisleriot/sol.c:583 ../aisleriot/window.c:610 ../aisleriot/window.c:2828
+#: ../aisleriot/sol.c:306 ../aisleriot/window.c:628 ../aisleriot/window.c:2881
 msgid "AisleRiot"
 msgstr "AisleRiot"
 
@@ -602,405 +1376,55 @@ msgstr "N/A"
 msgid "%d:%02d"
 msgstr "%d:%02d"
 
-#: ../aisleriot/translatable_game_names.h:1
-msgid "Accordion"
-msgstr "Accordion"
-
-# (Abel) Remove all translated entries. Most references online are in
-# English, so translating them will create difficulty for people to
-# search reference online.
-#: ../aisleriot/translatable_game_names.h:2
-msgid "Agnes"
-msgstr "Agnes"
-
-#: ../aisleriot/translatable_game_names.h:3
-msgid "Athena"
-msgstr "Athena"
-
-#: ../aisleriot/translatable_game_names.h:4
-msgid "Auld Lang Syne"
-msgstr "Auld Lang Syne"
-
-#: ../aisleriot/translatable_game_names.h:5
-msgid "Aunt Mary"
-msgstr "Aunt Mary"
-
-#: ../aisleriot/translatable_game_names.h:6
-msgid "Backbone"
-msgstr "Backbone"
-
-#: ../aisleriot/translatable_game_names.h:7
-msgid "Bakers Dozen"
-msgstr "Bakers Dozen"
-
-#: ../aisleriot/translatable_game_names.h:8
-msgid "Bakers Game"
-msgstr "Bakers Game"
-
-#: ../aisleriot/translatable_game_names.h:9
-msgid "Bear River"
-msgstr "Bear River"
-
-#: ../aisleriot/translatable_game_names.h:10
-msgid "Beleaguered Castle"
-msgstr "Beleaguered Castle"
-
-#: ../aisleriot/translatable_game_names.h:11
-msgid "Block Ten"
-msgstr "Block Ten"
-
-#: ../aisleriot/translatable_game_names.h:12
-msgid "Bristol"
-msgstr "Bristol"
-
-#: ../aisleriot/translatable_game_names.h:13
-msgid "Camelot"
-msgstr "Camelot"
-
-#: ../aisleriot/translatable_game_names.h:14
-msgid "Canfield"
-msgstr "Canfield"
-
-#: ../aisleriot/translatable_game_names.h:15
-msgid "Carpet"
-msgstr "Carpet"
-
-#: ../aisleriot/translatable_game_names.h:16
-msgid "Chessboard"
-msgstr "Chessboard"
-
-#: ../aisleriot/translatable_game_names.h:17
-msgid "Clock"
-msgstr "Clock"
-
-#: ../aisleriot/translatable_game_names.h:18
-msgid "Cover"
-msgstr "Cover"
-
-#: ../aisleriot/translatable_game_names.h:19
-msgid "Cruel"
-msgstr "Cruel"
-
-#: ../aisleriot/translatable_game_names.h:20
-msgid "Diamond Mine"
-msgstr "Diamond Mine"
-
-#: ../aisleriot/translatable_game_names.h:21
-msgid "Doublets"
-msgstr "Doublets"
-
-#: ../aisleriot/translatable_game_names.h:22
-msgid "Eagle Wing"
-msgstr "Eagle Wing"
-
-#: ../aisleriot/translatable_game_names.h:23
-msgid "Easthaven"
-msgstr "Easthaven"
-
-#: ../aisleriot/translatable_game_names.h:24
-msgid "Eight Off"
-msgstr "Eight Off"
-
-#: ../aisleriot/translatable_game_names.h:25
-msgid "Elevator"
-msgstr "Elevator"
-
-#: ../aisleriot/translatable_game_names.h:26
-msgid "Escalator"
-msgstr "Escalator"
-
-#: ../aisleriot/translatable_game_names.h:27
-msgid "First Law"
-msgstr "First Law"
-
-#: ../aisleriot/translatable_game_names.h:28
-msgid "Fortress"
-msgstr "Fortress"
-
-#: ../aisleriot/translatable_game_names.h:29
-msgid "Fortunes"
-msgstr "Fortunes"
-
-#: ../aisleriot/translatable_game_names.h:30
-msgid "Forty Thieves"
-msgstr "Forty Thieves"
-
-#: ../aisleriot/translatable_game_names.h:31
-msgid "Fourteen"
-msgstr "Fourteen"
-
-#: ../aisleriot/translatable_game_names.h:32
-msgid "Freecell"
-msgstr "Freecell"
-
-#: ../aisleriot/translatable_game_names.h:33
-msgid "Gaps"
-msgstr "Gaps"
-
-#: ../aisleriot/translatable_game_names.h:34
-msgid "Gay Gordons"
-msgstr "Gay Gordons"
-
-#: ../aisleriot/translatable_game_names.h:35
-msgid "Giant"
-msgstr "Giant"
-
-#: ../aisleriot/translatable_game_names.h:36
-msgid "Glenwood"
-msgstr "Glenwood"
-
-#: ../aisleriot/translatable_game_names.h:37
-msgid "Gold Mine"
-msgstr "Gold Mine"
-
-#: ../aisleriot/translatable_game_names.h:38
-msgid "Golf"
-msgstr "Golf"
-
-#: ../aisleriot/translatable_game_names.h:39
-msgid "Gypsy"
-msgstr "Gypsy"
-
-#: ../aisleriot/translatable_game_names.h:40
-msgid "Helsinki"
-msgstr "Helsinki"
-
-#: ../aisleriot/translatable_game_names.h:41
-msgid "Hopscotch"
-msgstr "Hopscotch"
-
-#: ../aisleriot/translatable_game_names.h:42
-msgid "Isabel"
-msgstr "Isabel"
-
-#: ../aisleriot/translatable_game_names.h:43
-msgid "Jamestown"
-msgstr "Jamestown"
-
-#: ../aisleriot/translatable_game_names.h:44
-msgid "Jumbo"
-msgstr "Jumbo"
-
-#: ../aisleriot/translatable_game_names.h:45
-msgid "Kansas"
-msgstr "Kansas"
-
-#: ../aisleriot/translatable_game_names.h:46
-msgid "King Albert"
-msgstr "King Albert"
-
-#: ../aisleriot/translatable_game_names.h:47
-msgid "Kings Audience"
-msgstr "Kings Audience"
-
-#: ../aisleriot/translatable_game_names.h:48
-msgid "Klondike"
-msgstr "Klondike"
-
-#: ../aisleriot/translatable_game_names.h:49
-msgid "Labyrinth"
-msgstr "Labyrinth"
-
-#: ../aisleriot/translatable_game_names.h:50
-msgid "Lady Jane"
-msgstr "Lady Jane"
-
-#: ../aisleriot/translatable_game_names.h:51
-msgid "Maze"
-msgstr "Maze"
-
-#: ../aisleriot/translatable_game_names.h:52
-msgid "Monte Carlo"
-msgstr "Monte Carlo"
-
-#: ../aisleriot/translatable_game_names.h:53
-msgid "Napoleons Tomb"
-msgstr "Napoleons Tomb"
-
-#: ../aisleriot/translatable_game_names.h:54
-msgid "Neighbor"
-msgstr "Neighbor"
-
-#: ../aisleriot/translatable_game_names.h:55
-msgid "Odessa"
-msgstr "Odessa"
-
-#: ../aisleriot/translatable_game_names.h:56
-msgid "Osmosis"
-msgstr "Osmosis"
-
-#: ../aisleriot/translatable_game_names.h:57
-msgid "Peek"
-msgstr "Peek"
-
-#: ../aisleriot/translatable_game_names.h:58
-msgid "Pileon"
-msgstr "Pileon"
-
-#: ../aisleriot/translatable_game_names.h:59
-msgid "Plait"
-msgstr "Plait"
-
-#: ../aisleriot/translatable_game_names.h:60
-msgid "Poker"
-msgstr "Poker"
-
-#: ../aisleriot/translatable_game_names.h:61
-msgid "Quatorze"
-msgstr "Quatorze"
-
-#: ../aisleriot/translatable_game_names.h:62
-msgid "Royal East"
-msgstr "Royal East"
-
-#: ../aisleriot/translatable_game_names.h:63
-msgid "Saratoga"
-msgstr "Saratoga"
-
-#: ../aisleriot/translatable_game_names.h:64
-msgid "Scorpion"
-msgstr "Scorpion"
-
-#: ../aisleriot/translatable_game_names.h:65
-msgid "Scuffle"
-msgstr "Scuffle"
-
-#: ../aisleriot/translatable_game_names.h:66
-msgid "Seahaven"
-msgstr "Seahaven"
-
-#: ../aisleriot/translatable_game_names.h:67
-msgid "Sir Tommy"
-msgstr "Sir Tommy"
-
-#: ../aisleriot/translatable_game_names.h:68
-msgid "Spider"
-msgstr "Spider"
-
-#: ../aisleriot/translatable_game_names.h:69
-msgid "Spiderette"
-msgstr "Spiderette"
-
-#: ../aisleriot/translatable_game_names.h:70
-msgid "Spider Three Decks"
-msgstr "Spider Three Decks"
-
-#: ../aisleriot/translatable_game_names.h:71
-msgid "Straight Up"
-msgstr "Straight Up"
-
-#: ../aisleriot/translatable_game_names.h:72
-msgid "Streets And Alleys"
-msgstr "Streets And Alleys"
-
-#: ../aisleriot/translatable_game_names.h:73
-msgid "Template"
-msgstr "Template"
-
-#: ../aisleriot/translatable_game_names.h:74
-msgid "Ten Across"
-msgstr "Ten Across"
-
-#: ../aisleriot/translatable_game_names.h:75
-#: ../aisleriot/rules/terrace.scm.h:14
-msgid "Terrace"
-msgstr "Terrace"
-
-#: ../aisleriot/translatable_game_names.h:76
-msgid "Thieves"
-msgstr "Thieves"
-
-#: ../aisleriot/translatable_game_names.h:77
-msgid "Thirteen"
-msgstr "Thirteen"
-
-#: ../aisleriot/translatable_game_names.h:78
-msgid "Thumb And Pouch"
-msgstr "Thumb And Pouch"
-
-#: ../aisleriot/translatable_game_names.h:79
-msgid "Treize"
-msgstr "Treize"
-
-#: ../aisleriot/translatable_game_names.h:80
-msgid "Triple Peaks"
-msgstr "Triple Peaks"
-
-#: ../aisleriot/translatable_game_names.h:81
-msgid "Union Square"
-msgstr "Union Square"
-
-#: ../aisleriot/translatable_game_names.h:82
-msgid "Valentine"
-msgstr "Valentine"
-
-#: ../aisleriot/translatable_game_names.h:83
-msgid "Westhaven"
-msgstr "Westhaven"
-
-#: ../aisleriot/translatable_game_names.h:84
-msgid "Whitehead"
-msgstr "Whitehead"
-
-#: ../aisleriot/translatable_game_names.h:85
-msgid "Will O The Wisp"
-msgstr "Will O The Wisp"
-
-#: ../aisleriot/translatable_game_names.h:86
-msgid "Yield"
-msgstr "Yield"
-
-#: ../aisleriot/translatable_game_names.h:87
-msgid "Yukon"
-msgstr "Yukon"
-
-#: ../aisleriot/translatable_game_names.h:88
-msgid "Zebra"
-msgstr "Zebra"
+#: ../aisleriot/util.c:88 ../aisleriot/util.c:92
+#: ../libgames-support/games-help.c:152
+#, c-format
+msgid "Could not show help for â??%sâ??"
+msgstr "ç?¡æ³?顯示â??%sâ??ç??æ±?å?©æ??件"
 
-#: ../aisleriot/window.c:273 ../aisleriot/window.c:2521
+#: ../aisleriot/window.c:286 ../aisleriot/window.c:2566
 msgid "Select Game"
 msgstr "é?¸æ??é??æ?²"
 
-#: ../aisleriot/window.c:277
+#: ../aisleriot/window.c:290
 msgid "_Select"
 msgstr "é?¸æ??(_S)"
 
-#: ../aisleriot/window.c:414
+#: ../aisleriot/window.c:432
 msgid "Congratulations, you have won!"
 msgstr "æ?­å??ï¼?æ?¨å·²ç¶?è´?äº?ï¼?"
 
-#: ../aisleriot/window.c:418
+#: ../aisleriot/window.c:436
 msgid "There are no more moves"
 msgstr "å·²ç¶?æ²?æ??å?¶ä»?å?¯ç§»å??ç??æ?¹æ³?äº?"
 
 #. Empty title shows up as "<unnamed>" on maemo
-#: ../aisleriot/window.c:431 ../gnometris/blockops.cpp:726
+#: ../aisleriot/window.c:449 ../gnometris/blockops.cpp:863
 msgid "Game Over"
 msgstr "���"
 
-#: ../aisleriot/window.c:558 ../gnomine/gnomine.c:444
+#: ../aisleriot/window.c:576 ../gnomine/gnomine.c:445
 #: ../mahjongg/mahjongg.c:906
 msgid "Main game:"
 msgstr "主é??æ?²ï¼?"
 
-#: ../aisleriot/window.c:566
+#: ../aisleriot/window.c:584
 msgid "Card games:"
 msgstr "ç´?ç??é??æ?²ï¼?"
 
-#: ../aisleriot/window.c:580
+#: ../aisleriot/window.c:598
 msgid "Card themes:"
 msgstr "ç´?ç??主é¡?:"
 
-#: ../aisleriot/window.c:612
+#: ../aisleriot/window.c:630
 msgid "About FreeCell Solitaire"
 msgstr "é??æ?¼ FreeCell ç´?ç??æ?¥é¾?é??æ?²"
 
-#: ../aisleriot/window.c:613
+#: ../aisleriot/window.c:631
 msgid "About AisleRiot"
 msgstr "é??æ?¼ AisleRiot æ?¥é¾?é??æ?²"
 
-#: ../aisleriot/window.c:619
+#: ../aisleriot/window.c:637
 msgid ""
 "AisleRiot provides a rule-based solitaire card engine that allows many "
 "different games to be played.\n"
@@ -1009,12 +1433,12 @@ msgstr ""
 "AisleRiot æ?¯ä»¥è¦?å??ç?ºå?ºç¤?ç??æ?¥é¾?ç´?ç??é??æ?²ï¼?å?¯æ??ä¾?å¾?å¤?種ä¸?å??ç??ç?©æ³?ã??\n"
 "AisleRiot æ?¯ GNOME é??æ?²ç??ä¸?é?¨å??ã??"
 
-#: ../aisleriot/window.c:630 ../blackjack/src/menu.cpp:159
-#: ../glchess/src/lib/gtkui/gtkui.py:860 ../glines/glines.c:1221
+#: ../aisleriot/window.c:648 ../blackjack/src/menu.cpp:159
+#: ../glchess/src/lib/gtkui/gtkui.py:861 ../glines/glines.c:1221
 #: ../gnect/src/main.c:925 ../gnibbles/main.c:257 ../gnobots2/menu.c:274
-#: ../gnometris/tetris.cpp:1296 ../gnome-sudoku/src/lib/main.py:730
-#: ../gnomine/gnomine.c:484 ../gnotravex/gnotravex.c:1917
-#: ../gnotski/gnotski.c:1540 ../gtali/gyahtzee.c:623 ../iagno/gnothello.c:268
+#: ../gnometris/tetris.cpp:1315 ../gnome-sudoku/src/lib/main.py:717
+#: ../gnomine/gnomine.c:485 ../gnotravex/gnotravex.c:1918
+#: ../gnotski/gnotski.c:1542 ../gtali/gyahtzee.c:623 ../iagno/gnothello.c:268
 #: ../mahjongg/mahjongg.c:951 ../same-gnome/ui.c:131
 msgid "translator-credits"
 msgstr ""
@@ -1025,22 +1449,22 @@ msgstr ""
 "Abel Cheung <abel oaka org>, 2001-07\n"
 "Fernando <bv1al journalist com tw>, 1999"
 
-#: ../aisleriot/window.c:634 ../blackjack/src/menu.cpp:158
-#: ../glchess/src/lib/defaults.py.in:58 ../glines/glines.c:1224
+#: ../aisleriot/window.c:652 ../blackjack/src/menu.cpp:158
+#: ../glchess/src/lib/defaults.py.in:56 ../glines/glines.c:1224
 #: ../gnect/src/main.c:922 ../gnibbles/main.c:260 ../gnobots2/menu.c:270
-#: ../gnometris/tetris.cpp:1293 ../gnome-sudoku/src/lib/defaults.py.in:43
-#: ../gnomine/gnomine.c:487 ../gnotravex/gnotravex.c:1920
-#: ../gnotski/gnotski.c:1543 ../gtali/gyahtzee.c:627 ../iagno/gnothello.c:270
+#: ../gnometris/tetris.cpp:1312 ../gnome-sudoku/src/lib/defaults.py.in:43
+#: ../gnomine/gnomine.c:488 ../gnotravex/gnotravex.c:1921
+#: ../gnotski/gnotski.c:1545 ../gtali/gyahtzee.c:627 ../iagno/gnothello.c:270
 #: ../mahjongg/mahjongg.c:954 ../same-gnome/ui.c:135
 msgid "GNOME Games web site"
 msgstr "GNOME Games 網�"
 
-#: ../aisleriot/window.c:1443
+#: ../aisleriot/window.c:1474
 #, c-format
 msgid "Play â??%sâ??"
 msgstr "ç?©â??%sâ??"
 
-#: ../aisleriot/window.c:1610
+#: ../aisleriot/window.c:1645
 #, c-format
 msgid "Display cards with â??%sâ?? card theme"
 msgstr "使ç?¨ç´?ç??主é¡?â??%sâ??顯示ç´?ç??"
@@ -1049,191 +1473,207 @@ msgstr "使ç?¨ç´?ç??主é¡?â??%sâ??顯示ç´?ç??"
 #. * then translate this string to "%I6d", else to "%6d".
 #. * Do not translate it to anything else!
 #.
-#: ../aisleriot/window.c:1705
+#: ../aisleriot/window.c:1740
 #, c-format
 msgctxt "score"
 msgid "%6d"
 msgstr "%6d"
 
-#: ../aisleriot/window.c:1960
+#: ../aisleriot/window.c:1995
 msgid "A scheme exception occurred"
 msgstr "ç?¼ç?? scheme ä¾?å¤?"
 
-#: ../aisleriot/window.c:1963
+#: ../aisleriot/window.c:1998
 msgid "Please report this bug to the developers."
 msgstr "è«?å°?é??å??é?¯èª¤å??報給é??ç?¼è??ã??"
 
-#: ../aisleriot/window.c:1975
+#. Empty title shows up as "<unnamed>" on maemo
+#: ../aisleriot/window.c:2002 ../dependencies/ggz-gtk/ggzclient.c:124
+#: ../dependencies/ggz-gtk/ggzclient.c:380
+#: ../dependencies/ggz-gtk/ggzclient.c:561
+#: ../dependencies/ggz-gtk/ggzclient.c:596
+#: ../dependencies/ggz-gtk/ggzclient.c:649
+#: ../dependencies/ggz-gtk/ggzclient.c:1079
+#: ../dependencies/ggz-gtk/launch.c:325 ../libgames-support/games-show.c:151
+msgid "Error"
+msgstr "�誤"
+
+#: ../aisleriot/window.c:2010
 msgid "_Don't report"
 msgstr "ä¸?è¦?å??å ±(_D)"
 
-#: ../aisleriot/window.c:1976
+#: ../aisleriot/window.c:2011
 msgid "_Report"
 msgstr "å ±å??(_R)"
 
 #. Menu actions
-#: ../aisleriot/window.c:2163 ../blackjack/src/blackjack.cpp:331
+#. Preferences Dialog: Title of game options tab
+#: ../aisleriot/window.c:2198 ../blackjack/src/blackjack.cpp:331
+#: ../glchess/data/glchess.ui.h:24 ../glchess/data/preferences.ui.h:24
 #: ../glines/glines.c:1688 ../gnect/src/main.c:1289 ../gnibbles/main.c:763
-#: ../gnobots2/menu.c:68 ../gnometris/tetris.cpp:108
-#: ../gnome-sudoku/src/lib/main.py:243 ../gnomine/gnomine.c:825
+#: ../gnobots2/menu.c:68 ../gnometris/tetris.cpp:109
+#: ../gnome-sudoku/src/lib/main.py:241 ../gnomine/gnomine.c:826
 #: ../gnotravex/gnotravex.c:302 ../gnotski/gnotski.c:414
 #: ../gtali/gyahtzee.c:701 ../iagno/gnothello.c:812
-#: ../mahjongg/mahjongg.c:1242 ../same-gnome/ui.c:455
+#: ../lightsoff/data/lightsoff.ui.h:2 ../mahjongg/mahjongg.c:1242
+#: ../same-gnome/ui.c:455 ../same-gnome-clutter/data/same-gnome.ui.h:2
 msgid "_Game"
 msgstr "é??æ?²(_G)"
 
-#: ../aisleriot/window.c:2164 ../blackjack/src/blackjack.cpp:332
+#. Preferences Dialog: Title of view options tab
+#: ../aisleriot/window.c:2199 ../blackjack/src/blackjack.cpp:332
+#: ../glchess/data/glchess.ui.h:29 ../glchess/data/preferences.ui.h:30
 #: ../gnect/src/main.c:1290 ../gnibbles/main.c:764 ../gnobots2/menu.c:69
-#: ../gnome-sudoku/src/lib/main.py:253 ../gnotravex/gnotravex.c:303
+#: ../gnome-sudoku/src/lib/main.py:251 ../gnotravex/gnotravex.c:303
 #: ../gnotski/gnotski.c:415 ../same-gnome/ui.c:456
 msgid "_View"
 msgstr "檢�(_V)"
 
-#: ../aisleriot/window.c:2165 ../blackjack/src/blackjack.cpp:341
+#: ../aisleriot/window.c:2200 ../blackjack/src/blackjack.cpp:341
 msgid "_Control"
 msgstr "��(_C)"
 
-#: ../aisleriot/window.c:2167 ../blackjack/src/blackjack.cpp:348
-#: ../glines/glines.c:1690 ../gnect/src/main.c:1292 ../gnibbles/main.c:766
-#: ../gnobots2/menu.c:72 ../gnometris/tetris.cpp:110
-#: ../gnome-sudoku/src/lib/main.py:271 ../gnomine/gnomine.c:827
-#: ../gnotravex/gnotravex.c:306 ../gnotski/gnotski.c:416
-#: ../gtali/gyahtzee.c:703 ../iagno/gnothello.c:814
-#: ../mahjongg/mahjongg.c:1244 ../same-gnome/ui.c:458
+#: ../aisleriot/window.c:2202 ../blackjack/src/blackjack.cpp:348
+#: ../glchess/data/glchess.ui.h:25 ../glines/glines.c:1690
+#: ../gnect/src/main.c:1292 ../gnibbles/main.c:766 ../gnobots2/menu.c:72
+#: ../gnometris/tetris.cpp:111 ../gnome-sudoku/src/lib/main.py:269
+#: ../gnomine/gnomine.c:828 ../gnotravex/gnotravex.c:306
+#: ../gnotski/gnotski.c:416 ../gtali/gyahtzee.c:703 ../iagno/gnothello.c:814
+#: ../lightsoff/data/lightsoff.ui.h:3 ../mahjongg/mahjongg.c:1244
+#: ../same-gnome/ui.c:458 ../same-gnome-clutter/data/same-gnome.ui.h:3
 msgid "_Help"
 msgstr "æ±?å?©(_H)"
 
-#: ../aisleriot/window.c:2172 ../blackjack/src/blackjack.cpp:333
-#: ../gnobots2/menu.c:73 ../libgames-support/games-stock.c:54
-#: ../mahjongg/mahjongg.c:1245
+#: ../aisleriot/window.c:2207 ../blackjack/src/blackjack.cpp:333
+#: ../glchess/data/glchess.ui.h:18 ../gnobots2/menu.c:73
+#: ../libgames-support/games-stock.c:53 ../mahjongg/mahjongg.c:1245
 msgid "Start a new game"
 msgstr "é??å§?å?¦ä¸?å±?"
 
-#: ../aisleriot/window.c:2175 ../libgames-support/games-stock.c:58
+#: ../aisleriot/window.c:2210 ../libgames-support/games-stock.c:57
 msgid "Restart the game"
 msgstr "å??ç?©é??ä¸?å±?"
 
-#: ../aisleriot/window.c:2177
+#: ../aisleriot/window.c:2212
 msgid "_Select Game..."
 msgstr "é?¸æ??é??æ?²(_S)..."
 
-#: ../aisleriot/window.c:2179
+#: ../aisleriot/window.c:2214
 msgid "Play a different game"
 msgstr "é?¸æ??å?¦ä¸?種é??æ?²"
 
-#: ../aisleriot/window.c:2181
+#: ../aisleriot/window.c:2216
 msgid "_Recently Played"
 msgstr "æ??è¿?ç?©é??ç??(_R)"
 
-#: ../aisleriot/window.c:2182
+#: ../aisleriot/window.c:2217
 msgid "S_tatistics"
 msgstr "統�(_T)"
 
-#: ../aisleriot/window.c:2183
+#: ../aisleriot/window.c:2218
 msgid "Show gameplay statistics"
 msgstr "顯示é??æ?²ç´?é??çµ±è¨?æ?¸å­?"
 
-#: ../aisleriot/window.c:2186 ../libgames-support/games-stock.c:63
+#: ../aisleriot/window.c:2221 ../libgames-support/games-stock.c:62
 msgid "Close this window"
 msgstr "é??é??é??å??è¦?çª?"
 
-#: ../aisleriot/window.c:2189 ../libgames-support/games-stock.c:61
+#: ../aisleriot/window.c:2224 ../libgames-support/games-stock.c:60
 #: ../mahjongg/mahjongg.c:1253
 msgid "Undo the last move"
 msgstr "é??å??ä¸?ä¸?æ­¥"
 
-#: ../aisleriot/window.c:2192 ../libgames-support/games-stock.c:57
+#: ../aisleriot/window.c:2227 ../libgames-support/games-stock.c:56
 msgid "Redo the undone move"
 msgstr "é??æ?°é?²è¡?å??æ??é??å??ç??ä¸?æ­¥"
 
-#: ../aisleriot/window.c:2195
+#: ../aisleriot/window.c:2230
 msgid "Deal next card or cards"
 msgstr "ç¹¼çº?ç?¼ç??"
 
-#: ../aisleriot/window.c:2198 ../libgames-support/games-stock.c:50
+#: ../aisleriot/window.c:2233 ../libgames-support/games-stock.c:49
 msgid "Get a hint for your next move"
 msgstr "給ä¸?ä¸?æ­¥ç??æ??示"
 
-#: ../aisleriot/window.c:2201
+#: ../aisleriot/window.c:2236
 msgid "View help for Aisleriot"
 msgstr "顯示 Aisleriot 說æ??æ??件"
 
-#: ../aisleriot/window.c:2205 ../libgames-support/games-stock.c:47
+#: ../aisleriot/window.c:2240 ../libgames-support/games-stock.c:46
 msgid "View help for this game"
 msgstr "顯示æ??é??æ?¬é??æ?²ç??說æ??æ??件"
 
-#: ../aisleriot/window.c:2208 ../libgames-support/games-stock.c:62
+#: ../aisleriot/window.c:2243 ../libgames-support/games-stock.c:61
 msgid "About this game"
 msgstr "é??æ?¼æ?¬é??æ?²"
 
-#: ../aisleriot/window.c:2211
+#: ../aisleriot/window.c:2246
 msgid "Install card themesâ?¦"
 msgstr "å®?è£?ç´?ç??主é¡?..."
 
-#: ../aisleriot/window.c:2212
+#: ../aisleriot/window.c:2247
 msgid "Install new card themes from the distribution packages repositories"
 msgstr "å¾?ç?¼è¡?ç??æ?¬å¥?件庫中å®?è£?æ?°ç??ç´?ç??主é¡?"
 
-#: ../aisleriot/window.c:2221
+#: ../aisleriot/window.c:2256
 msgid "_Card Style"
 msgstr "ç´?ç??樣å¼?(_C)"
 
-#: ../aisleriot/window.c:2261 ../blackjack/src/blackjack.cpp:354
+#: ../aisleriot/window.c:2296 ../blackjack/src/blackjack.cpp:354
 #: ../gnobots2/menu.c:96 ../mahjongg/mahjongg.c:1273
 msgid "_Toolbar"
 msgstr "å·¥å?·å??(_T)"
 
-#: ../aisleriot/window.c:2262 ../gnobots2/menu.c:96
-#: ../mahjongg/mahjongg.c:1273
+#: ../aisleriot/window.c:2297 ../glchess/data/preferences.ui.h:17
+#: ../gnobots2/menu.c:96 ../mahjongg/mahjongg.c:1273
 msgid "Show or hide the toolbar"
 msgstr "顯示æ??é?±è??å·¥å?·å??"
 
-#: ../aisleriot/window.c:2266
+#: ../aisleriot/window.c:2302
 msgid "_Statusbar"
 msgstr "ç??æ??å??(_S)"
 
-#: ../aisleriot/window.c:2267
+#: ../aisleriot/window.c:2303
 msgid "Show or hide statusbar"
 msgstr "顯示æ??é?±è??ç??æ??å??"
 
-#: ../aisleriot/window.c:2271 ../gnotravex/gnotravex.c:351
+#: ../aisleriot/window.c:2308 ../gnotravex/gnotravex.c:351
 msgid "_Click to Move"
 msgstr "é»?é?¸ç??ä¾?移å??(_C)"
 
-#: ../aisleriot/window.c:2272
+#: ../aisleriot/window.c:2309
 msgid "Pick up and drop cards by clicking"
 msgstr "以é»?é?¸æ??èµ·æ??æ?¾ä¸?ç´?ç??"
 
-#. not active by default
-#: ../aisleriot/window.c:2275
+#: ../aisleriot/window.c:2313
 msgid "_Sound"
 msgstr "é?³æ??(_S)"
 
-#: ../aisleriot/window.c:2276
+#: ../aisleriot/window.c:2314
 msgid "Whether or not to play event sounds"
 msgstr "æ?¯å?¦æ?­æ?¾äº?件é?³æ??"
 
-#: ../aisleriot/window.c:2280
+#: ../aisleriot/window.c:2319
 msgid "_Animations"
 msgstr "å??ç?«(_A)"
 
-#: ../aisleriot/window.c:2281
+#: ../aisleriot/window.c:2320
 msgid "Whether or not to animate card moves"
 msgstr "ç´?ç??移å??æ?¯å?¦ä½¿ç?¨å??ç?«"
 
 #. Add "Highscore" label
-#: ../aisleriot/window.c:2548 ../dependencies/ggz-gtk/playerinfo.c:241
-#: ../glines/glines.c:1900 ../gnobots2/statusbar.c:67
-#: ../gnometris/scoreframe.cpp:47 ../gnomine/gnomine.c:447
+#: ../aisleriot/window.c:2593 ../dependencies/ggz-gtk/playerinfo.c:241
+#: ../glines/glines.c:1902 ../gnobots2/statusbar.c:67
+#: ../gnometris/scoreframe.cpp:47 ../gnomine/gnomine.c:448
 msgid "Score:"
 msgstr "å¾?å??ï¼?"
 
-#: ../aisleriot/window.c:2560 ../gnotravex/gnotravex.c:1382
-#: ../mahjongg/mahjongg.c:1463
+#: ../aisleriot/window.c:2605 ../gnotravex/gnotravex.c:1383
+#: ../mahjongg/mahjongg.c:1465
 msgid "Time:"
 msgstr "æ??é??ï¼?"
 
-#: ../aisleriot/window.c:2888
+#: ../aisleriot/window.c:2941
 #, c-format
 msgid "Cannot start the game â??%sâ??"
 msgstr "ä¸?è?½å??å??é??æ?²ã??%sã??"
@@ -1302,7 +1742,7 @@ msgstr "ç¹¼çº?ç?¼ç??"
 #: ../aisleriot/rules/plait.scm.h:11 ../aisleriot/rules/quatorze.scm.h:1
 #: ../aisleriot/rules/royal_east.scm.h:7 ../aisleriot/rules/scuffle.scm.h:4
 #: ../aisleriot/rules/sir_tommy.scm.h:3 ../aisleriot/rules/straight_up.scm.h:5
-#: ../aisleriot/rules/terrace.scm.h:13 ../aisleriot/rules/thieves.scm.h:2
+#: ../aisleriot/rules/terrace.scm.h:18 ../aisleriot/rules/thieves.scm.h:2
 #: ../aisleriot/rules/thirteen.scm.h:3
 #: ../aisleriot/rules/thumb_and_pouch.scm.h:4
 #: ../aisleriot/rules/treize.scm.h:2 ../aisleriot/rules/triple_peaks.scm.h:4
@@ -1348,7 +1788,7 @@ msgstr "ç?¼å?¦ä¸?輪ç??"
 #: ../aisleriot/rules/canfield.scm.h:6 ../aisleriot/rules/carpet.scm.h:1
 #: ../aisleriot/rules/glenwood.scm.h:6 ../aisleriot/rules/klondike.scm.h:2
 #: ../aisleriot/rules/osmosis.scm.h:1 ../aisleriot/rules/plait.scm.h:6
-#: ../aisleriot/rules/straight_up.scm.h:1 ../aisleriot/rules/terrace.scm.h:7
+#: ../aisleriot/rules/straight_up.scm.h:1 ../aisleriot/rules/terrace.scm.h:8
 msgid "Deal a new card from the deck"
 msgstr "ç?±ç??å ?ç?¼ä¸?å¼µæ?°ç??"
 
@@ -1357,16 +1797,16 @@ msgstr "ç?±ç??å ?ç?¼ä¸?å¼µæ?°ç??"
 #: ../aisleriot/rules/glenwood.scm.h:9 ../aisleriot/rules/jumbo.scm.h:3
 #: ../aisleriot/rules/klondike.scm.h:5 ../aisleriot/rules/plait.scm.h:10
 #: ../aisleriot/rules/scuffle.scm.h:2 ../aisleriot/rules/straight_up.scm.h:3
-#: ../aisleriot/rules/terrace.scm.h:10
+#: ../aisleriot/rules/terrace.scm.h:13
 #: ../aisleriot/rules/thumb_and_pouch.scm.h:3 ../aisleriot/rules/zebra.scm.h:3
 msgid "Redeals left:"
 msgstr "å?©é¤?é??æ?°ç?¼ç??次æ?¸ï¼?"
 
-#: ../aisleriot/rules/backbone.scm.h:5 ../aisleriot/rules/terrace.scm.h:16
+#: ../aisleriot/rules/backbone.scm.h:5 ../aisleriot/rules/terrace.scm.h:23
 msgid "an empty slot on the foundation"
 msgstr "ç?®æ¨?ç??å ?æ??空ä½?"
 
-#: ../aisleriot/rules/backbone.scm.h:6 ../aisleriot/rules/terrace.scm.h:17
+#: ../aisleriot/rules/backbone.scm.h:6 ../aisleriot/rules/terrace.scm.h:24
 msgid "an empty slot on the tableau"
 msgstr "æ??å??å??æ??空ä½?"
 
@@ -1660,7 +2100,7 @@ msgstr "æ?ªç?¨ç??å??ç?¨ä½?ç½®"
 msgid "an open tableau"
 msgstr "æ??å??å??空ä½?"
 
-#: ../aisleriot/rules/freecell.scm.h:5 ../aisleriot/rules/terrace.scm.h:19
+#: ../aisleriot/rules/freecell.scm.h:5 ../aisleriot/rules/terrace.scm.h:26
 msgid "the foundation"
 msgstr "ç?®æ¨?ç??å ?"
 
@@ -1815,7 +2255,7 @@ msgstr "å¾?ç??å ?中ç?¼å?ºæ?°ç??"
 msgid "Redeals left: ~a"
 msgstr "é??æ?°ç?¼ç??次æ?¸ï¼?~a"
 
-#: ../aisleriot/rules/pileon.scm.h:2 ../aisleriot/rules/terrace.scm.h:18
+#: ../aisleriot/rules/pileon.scm.h:2 ../aisleriot/rules/terrace.scm.h:25
 msgid "something"
 msgstr "ä¸?äº?ç??"
 
@@ -1879,6 +2319,10 @@ msgstr "è«?å??å°?ç??移é?²ç©ºä½?ã??"
 msgid "Two Suits"
 msgstr "�種��"
 
+#: ../aisleriot/rules/spider.scm.h:9
+msgid "Undo until there are enough cards to fill all tableau piles"
+msgstr ""
+
 #: ../aisleriot/rules/ten_across.scm.h:1
 msgid "Allow temporary spots use"
 msgstr "å?¯ä»¥å??ç?¨æ?«æ??æ?¾ç??ç??空ä½?"
@@ -1891,27 +2335,33 @@ msgstr "å°?ä¸?å¼µç??移è?³æ?«æ??æ?¾ç??ç??空ä½?"
 msgid "No hint available"
 msgstr "ç?¡æ³?給äº?æ??示"
 
-#: ../aisleriot/rules/terrace.scm.h:6
+#. Translators: this string is the name of a variant of this game. If there is an established standard name for this game or game variant in your locale, use that; otherwise you can translate this string freely or literally, at your option.
+#: ../aisleriot/rules/terrace.scm.h:7
 msgid "Blondes and Brunettes"
 msgstr "Blondes and Brunettes"
 
-#: ../aisleriot/rules/terrace.scm.h:8
+#. Translators: this string is the name of a variant of this game. If there is an established standard name for this game or game variant in your locale, use that; otherwise you can translate this string freely or literally, at your option.
+#: ../aisleriot/rules/terrace.scm.h:10
 msgid "Falling Stars"
 msgstr "Falling Stars"
 
-#: ../aisleriot/rules/terrace.scm.h:9
-msgid "General Patience"
-msgstr "General Patience"
+#. Translators: this string is the name of a variant of this game. If there is an established standard name for this game or game variant in your locale, use that; otherwise you can translate this string freely or literally, at your option.
+#: ../aisleriot/rules/terrace.scm.h:12
+msgid "General's Patience"
+msgstr "General's Patience"
 
-#: ../aisleriot/rules/terrace.scm.h:11
+#. Translators: this string is the name of a variant of this game. If there is an established standard name for this game or game variant in your locale, use that; otherwise you can translate this string freely or literally, at your option.
+#: ../aisleriot/rules/terrace.scm.h:15
 msgid "Redheads"
 msgstr "Redheads"
 
-#: ../aisleriot/rules/terrace.scm.h:12
+#. Translators: this string is the name of a variant of this game. If there is an established standard name for this game or game variant in your locale, use that; otherwise you can translate this string freely or literally, at your option.
+#: ../aisleriot/rules/terrace.scm.h:17
 msgid "Signora"
 msgstr "Signora"
 
-#: ../aisleriot/rules/terrace.scm.h:15
+#. Translators: this string is the name of a variant of this game. If there is an established standard name for this game or game variant in your locale, use that; otherwise you can translate this string freely or literally, at your option.
+#: ../aisleriot/rules/terrace.scm.h:22
 msgid "Wood"
 msgstr "Wood"
 
@@ -1928,8 +2378,9 @@ msgid "Multiplier Scoring"
 msgstr "å??æ?¸ç©?å??"
 
 #: ../aisleriot/rules/triple_peaks.scm.h:3
+#, fuzzy
 msgid "Progressive Rounds"
-msgstr "Progressive Rounds"
+msgstr "å??è¡?æ??滾"
 
 #: ../aisleriot/rules/union_square.scm.h:4
 msgid "appropriate foundation pile"
@@ -2012,9 +2463,9 @@ msgstr "é??æ?°å??ç?©é??å±?"
 msgid "Show a hint"
 msgstr "顯示æ??示"
 
-#: ../blackjack/src/blackjack.cpp:337 ../glines/glines.c:1689
-#: ../gnect/src/main.c:1291 ../gnibbles/main.c:765 ../gnobots2/menu.c:71
-#: ../gnometris/tetris.cpp:109 ../gnomine/gnomine.c:826
+#: ../blackjack/src/blackjack.cpp:337 ../glchess/data/glchess.ui.h:27
+#: ../glines/glines.c:1689 ../gnect/src/main.c:1291 ../gnibbles/main.c:765
+#: ../gnobots2/menu.c:71 ../gnometris/tetris.cpp:110 ../gnomine/gnomine.c:827
 #: ../gtali/gyahtzee.c:702 ../iagno/gnothello.c:813
 #: ../mahjongg/mahjongg.c:1243
 msgid "_Settings"
@@ -2093,6 +2544,10 @@ msgstr "æ??å®?æ?¼æ³¨æ??è??æ´¾ä¸?æ??ç??"
 msgid "Blackjack rule set to use"
 msgstr "é?¸æ?? 21 é»?è¦?å??"
 
+#: ../blackjack/src/card-selector.cpp:123
+msgid "Card Style"
+msgstr "ç´?ç??款å¼?"
+
 #: ../blackjack/src/dialog.cpp:51
 msgid "Would you like insurance?"
 msgstr "買�買���"
@@ -2122,7 +2577,7 @@ msgstr "21 é»?å??好設å®?"
 
 #: ../blackjack/src/dialog.cpp:241 ../dependencies/ggz-gtk/client.c:953
 #: ../gnect/src/prefs.c:301 ../gnibbles/preferences.c:253
-#: ../gnobots2/properties.c:491 ../gnometris/tetris.cpp:586
+#: ../gnobots2/properties.c:491 ../gnometris/tetris.cpp:596
 #: ../iagno/properties.c:416
 msgid "Game"
 msgstr "é??æ?²"
@@ -2229,11 +2684,11 @@ msgstr "æ??ä¸?é??裡ä¾?å??ç??"
 msgid "Click to deal a new hand"
 msgstr "æ??ä¸?é??裡ä¾?æ´¾å?¦ä¸?æ??ç??"
 
-#: ../blackjack/src/game.cpp:402
+#: ../blackjack/src/game.cpp:394
 msgid "Blackjack can't load the requested file"
 msgstr "ã??21 é»?ã??ç?¡æ³?è¼?å?¥æ??è¦?æ±?ç??æª?æ¡?"
 
-#: ../blackjack/src/game.cpp:404
+#: ../blackjack/src/game.cpp:396
 msgid "Please check your Blackjack installation"
 msgstr "�檢���已正確�� 21 �"
 
@@ -2568,7 +3023,6 @@ msgid "Login failed for unknown reason: %s"
 msgstr "ç?¡æ³?ç?»å?¥ï¼?ä½?å??å? ä¸?æ??ï¼?%s"
 
 #: ../dependencies/ggz-gtk/login.c:336 ../dependencies/ggz-gtk/client.c:307
-#: ../libgames-support/games-help.c:61
 msgid "Unable to open help file"
 msgstr "ç?¡æ³?é??å??說æ??æ??件æª?æ¡?"
 
@@ -3724,8 +4178,8 @@ msgid ""
 "handhelds)"
 msgstr ""
 "å?¨å??æ?¯æ£?ç?¤ç??ä¸?æ?¹ï¼?å?¯ä»¥æ?¯ã??whiteã??ã??ã??blackã??ã??ã??currentã??ï¼?ç?®å??ç??é??æ?²è??ï¼?ã??"
-"ã??humanã??ï¼?ç?®å??ç?ºäººé¡?ç?©å®¶ç??ä¸?æ?¹ï¼?æ??ã??facetofaceã??ï¼?é?©å??ç?©å®¶é?¢å°?é?¢ç??ç??æ³?ï¼?å¦?使"
-"ç?¨æ??ä¸?å??è£?ç½®ï¼?"
+"ã??humanã??ï¼?ç?®å??ç?ºäººé¡?ç?©å®¶ç??ä¸?æ?¹ï¼?æ??ã??facetofaceã??ï¼?é?©å??ç?©å®¶å?¨è?¢å¹?ç??å?©ç«¯ï¼?ä¾?å¦?"
+"使ç?¨æ??ä¸?å??è£?ç½®æ??ï¼?"
 
 #: ../glchess/data/glchess.schemas.in.h:27
 msgid "The width of the main window in pixels."
@@ -3735,8 +4189,315 @@ msgstr "主è¦?çª?ç??寬度 (å??ç´ )ã??"
 msgid "The width of the window"
 msgstr "��寬度"
 
+#. Preferences Dialog: Check box for selecting if 3D view is available
+#: ../glchess/data/glchess.ui.h:1 ../glchess/data/preferences.ui.h:2
+msgid "3_D Chess View"
+msgstr "3_D å??é??象æ£?檢è¦?"
+
+#: ../glchess/data/glchess.ui.h:2
+msgid "Claim _Draw"
+msgstr "宣å??å¹³æ??(_D)"
+
+#: ../glchess/data/glchess.ui.h:3
+msgid "Load a saved game"
+msgstr "è¼?å?¥ä¸?å±?å·²å?²å­?ç??æ£?å±?"
+
+#. The title of the log dialaog
+#: ../glchess/data/glchess.ui.h:5
+msgid "Logs"
+msgstr "ç´?é??æª?"
+
+#. The Network Game toolbar button
+#: ../glchess/data/glchess.ui.h:7 ../libgames-support/games-stock.c:333
+msgid "Network _Game"
+msgstr "網路é??æ?²(_G)"
+
+#. The New Game toolbar button
+#. Title of the new game dialog
+#: ../glchess/data/glchess.ui.h:9 ../glchess/data/new_game.ui.h:13
+#: ../libgames-support/games-scores-dialog.c:438
+msgid "New Game"
+msgstr "é??æ?°å±?"
+
+#. The tooltip for the Resign toolbar button
+#: ../glchess/data/glchess.ui.h:11
+msgid "Resign"
+msgstr "�輸"
+
+#: ../glchess/data/glchess.ui.h:12
+msgid "Rewind to the game start"
+msgstr "å??æ?²å?°é??æ?²å??é??å§?ç??æ??å??"
+
+#: ../glchess/data/glchess.ui.h:13
+msgid "Save the current game"
+msgstr "å?²å­?é??å±?æ£?"
+
+#: ../glchess/data/glchess.ui.h:14
+msgid "Show _Logs"
+msgstr "顯示ç´?é??(_L)"
+
+#: ../glchess/data/glchess.ui.h:15
+msgid "Show the current move"
+msgstr "顯示é??ä¸?æ­¥"
+
+#: ../glchess/data/glchess.ui.h:16
+msgid "Show the next move"
+msgstr "顯示��步"
+
+#: ../glchess/data/glchess.ui.h:17
+msgid "Show the previous move"
+msgstr "顯示��步"
+
+#: ../glchess/data/glchess.ui.h:19 ../libgames-support/games-stock.c:51
+msgid "Start a new multiplayer network game"
+msgstr "é??å§?ä¸?å??æ?°ç??å¤?人網路é??æ?²"
+
+#. Message displayed in log window when no logs are present
+#: ../glchess/data/glchess.ui.h:21
+msgid "There are no active logs."
+msgstr "æ²?æ??使ç?¨ä¸­ç??ç´?é??ã??"
+
+#: ../glchess/data/glchess.ui.h:22
+msgid "Undo Move"
+msgstr "å??æ??"
+
+#: ../glchess/data/glchess.ui.h:23 ../gnome-sudoku/src/lib/main.py:273
+#: ../libgames-support/games-stock.c:317
+msgid "_Contents"
+msgstr "�容(_C)"
+
+#: ../glchess/data/glchess.ui.h:26
+msgid "_Resign"
+msgstr "�輸(_R)"
+
+#: ../glchess/data/glchess.ui.h:28 ../libgames-support/games-stock.c:329
+msgid "_Undo Move"
+msgstr "å??æ??(_U)"
+
+#. Title of load game dialog
+#: ../glchess/data/load_game.ui.h:2
+msgid "Load Chess Game"
+msgstr "�����"
+
+#. Log window: Title above data being logged
+#: ../glchess/data/log.ui.h:2
+msgid "Communication:"
+msgstr "é??è¨?ï¼?"
+
+#. Log window: Label before name of executable being logged
+#: ../glchess/data/log.ui.h:4
+msgid "Executable:"
+msgstr "�����"
+
+#. Log window: Label before name of player being logged
+#: ../glchess/data/log.ui.h:6
+#, fuzzy
+msgid "Playing as:"
+msgstr "��代表�"
+
+#. Network Game Dialog: Title above the game settings. Do not translate the <b> tag.
+#: ../glchess/data/network_game.ui.h:2
+msgid "<b>Game</b>"
+msgstr "<b>é??æ?²</b>"
+
+#. Network Game Dialog: Title above room list. Do not translate the <b> tag.
+#: ../glchess/data/network_game.ui.h:4
+msgid "<b>Rooms</b>"
+msgstr "<b>è??天室</b>"
+
+#. Network Game Dialog: Title above the server settings. Do not translate the <b> tag.
+#: ../glchess/data/network_game.ui.h:6
+msgid "<b>Server</b>"
+msgstr "<b>伺æ??å?¨</b>"
+
+#. Network Game Dialog: Title above the chat text. Do not translate the <b> tag.
+#: ../glchess/data/network_game.ui.h:8
+msgid "<b>Status/_Chat</b>"
+msgstr "<b>ç??æ??/è??天(_C)</b>"
+
+#. Title of network game dialog
+#: ../glchess/data/network_game.ui.h:10
+msgid "Join Game"
+msgstr "å? å?¥é??æ?²"
+
+#. Network Game Dialog: Button to join a table
+#: ../glchess/data/network_game.ui.h:12
+msgid "_Join"
+msgstr "å? å?¥(_J)"
+
+#. Network Game Dialog: Leave table button
+#: ../glchess/data/network_game.ui.h:14
+msgid "_Leave"
+msgstr "é?¢é??(_L)"
+
+#. Network Game Dialog: Label before the server profile combo box
+#: ../glchess/data/network_game.ui.h:16
+msgid "_Profile:"
+msgstr "設å®?çµ?å??(_P):"
+
+#: ../glchess/data/network_new_server.ui.h:1
+msgid "Add Account"
+msgstr "å? å?¥å¸³è??"
+
+# (Abel) username in GGZ == player name
+#. Add Network Profile Dialog: Label beside username entry
+#: ../glchess/data/network_new_server.ui.h:3
+msgid "User _Name:"
+msgstr "ç?©å®¶å??稱(_N):"
+
+#. Add Network Profile Dialog: Button to accept values and add profile
+#: ../glchess/data/network_new_server.ui.h:5
+msgid "_Add Account"
+msgstr "å? å?¥å¸³è??(_A)"
+
+#. Add Network Profile Dialog: Label beside custom hostname entry
+#: ../glchess/data/network_new_server.ui.h:7
+msgid "_Host:"
+msgstr "主�(_H):"
+
+#. Add Network Profile Dialog: Label beside custom port entry
+#: ../glchess/data/network_new_server.ui.h:9
+msgid "_Port:"
+msgstr "���(_P):"
+
+#. Add Network Profile Dialog: Label beside server combo
+#: ../glchess/data/network_new_server.ui.h:11
+msgid "_Server:"
+msgstr "伺æ??å?¨(_S):"
+
+#. New Game Dialog: Title above difficulty options
+#: ../glchess/data/new_game.ui.h:2
+msgid "<b>Difficulty</b>"
+msgstr "<b>�度</b>"
+
+#. New Game Dialog: Title above the game properties widgets
+#: ../glchess/data/new_game.ui.h:4
+msgid "<b>Game Properties</b>"
+msgstr "<b>é??æ?²å±¬æ?§</b>"
+
+#. New Game Dialog: Title above player options
+#: ../glchess/data/new_game.ui.h:6
+msgid "<b>Players</b>"
+msgstr "<b>�家</b>"
+
+#. New Game Dialog: Label before black player difficulty
+#: ../glchess/data/new_game.ui.h:8
+msgid "B_lack:"
+msgstr "é»?æ?¹(_L)ï¼?"
+
+#: ../glchess/data/new_game.ui.h:9
+msgid "Enter the title for this game"
+msgstr "è«?輸å?¥æ?¬å±?ç??æ¨?é¡?"
+
+#. New Game Dialog: Label before game timer settings
+#: ../glchess/data/new_game.ui.h:11
+msgid "Move _Time:"
+msgstr "ä¸?æ£?æ??é??(_T):"
+
+#: ../glchess/data/new_game.ui.h:14
+msgid "Start the game. The game can be started once all fields are complete"
+msgstr "é??å§?é??æ?²ã??æ?¬é??æ?²æ??å?¨æ??æ??å??é?½æ??å¾?é??å§?"
+
+#. New Game Dialog: Label before white player difficulty
+#: ../glchess/data/new_game.ui.h:16
+msgid "W_hite:"
+msgstr "��(_H):"
+
+#. New Game Dialog: Label before black player combo box
+#: ../glchess/data/new_game.ui.h:18
+msgid "_Black:"
+msgstr "é»?æ?¹(_B):"
+
+#. New Game Dialog: Label before the game name entry
+#: ../glchess/data/new_game.ui.h:20
+msgid "_Game name:"
+msgstr "é??æ?²å??稱(_G):"
+
+#. New Game Dialog: Button to start a new game
+#: ../glchess/data/new_game.ui.h:22
+msgid "_Start"
+msgstr "é??å§?(_S)"
+
+#. New Game Dialog: Label before white player combo box
+#: ../glchess/data/new_game.ui.h:24
+msgid "_White:"
+msgstr "��(_W):"
+
+#. Preferences Dialog: Label before board orientation combo box
+#: ../glchess/data/preferences.ui.h:4
+msgid "Board Orientation:"
+msgstr "æ£?ç?¤æ?¹å??ï¼?"
+
+#. Preferences Dialog: Label before move format combo box
+#: ../glchess/data/preferences.ui.h:6
+msgid "Move Format:"
+msgstr "��格��"
+
+#. Title for preferences dialog
+#: ../glchess/data/preferences.ui.h:8 ../glines/glines.c:196
+#: ../mahjongg/mahjongg.c:140
+msgid "Preferences"
+msgstr "å??好設å®?"
+
+#. Preferences Dialog: Label before promotion type combo box
+#: ../glchess/data/preferences.ui.h:10
+msgid "Promotion Type:"
+msgstr "å??è®?é¡?å??ï¼?"
+
+#. Preferences Dialog: Check box for selecting if history browser is visible
+#: ../glchess/data/preferences.ui.h:12
+msgid "Show _History"
+msgstr "顯示ç´?é??(_H)"
+
+#. Preferences Dialog: Check box for selecting if toolbar is visible
+#: ../glchess/data/preferences.ui.h:14 ../gnome-sudoku/src/lib/main.py:293
+msgid "Show _Toolbar"
+msgstr "顯示工å?·å??(_T)"
+
+#: ../glchess/data/preferences.ui.h:15
+msgid "Show or hide numbering on the chess board"
+msgstr "顯示æ??é?±è??å??é??象æ£?ç?¤ç??å??æ¨?å??稱"
+
+#: ../glchess/data/preferences.ui.h:16
+msgid "Show or hide the game history panel"
+msgstr "顯示æ??é?±è??é??æ?²ç´?é??é?¢æ?¿"
+
+#: ../glchess/data/preferences.ui.h:18
+msgid "Shows hints during chess games"
+msgstr "å?¨æ£?é¡?é??æ?²ä¸­é¡¯ç¤ºæ??示"
+
+#: ../glchess/data/preferences.ui.h:19
+msgid "Smooth edges of the 3D elements (anti-alias)"
+msgstr "3D å??ç´ ç??å¹³æ»?é??ç·£ï¼?å??é?¸é½?ï¼?"
+
+#: ../glchess/data/preferences.ui.h:20
+msgid ""
+"View the chess board by default in 2D mode, or optionally in 3D mode using "
+"OpenGL."
+msgstr "é ?設以 2D 模å¼?檢è¦?æ£?ç?¤ï¼?æ??è??å?¯é?¸æ??使ç?¨ OpenGL ç?? 3D 模å¼?ã??"
+
+#. Preferences Dialog: Check box for selecting if board numbering is visible
+#: ../glchess/data/preferences.ui.h:22
+msgid "_Board Numbering"
+msgstr "æ£?ç?¤å??æ¨?(_B)"
+
+#. Preferences Dialog: Check box for selecting if move hints are visible
+#: ../glchess/data/preferences.ui.h:26
+msgid "_Move Hints"
+msgstr "èµ°æ³?æ??示(_M)"
+
+#. Preferences Dialog: Check box for selecting if the 3D view is smoothed (anti-aliased)
+#: ../glchess/data/preferences.ui.h:28
+msgid "_Smooth Display"
+msgstr "平�顯示(_S)"
+
+#. Title of save game dialog
+#: ../glchess/data/save_game.ui.h:2
+msgid "Save Chess Game"
+msgstr "å?²å­?é??å±?æ£?"
+
 #. Translators: Window title when not playing a game
-#: ../glchess/glchess.desktop.in.in.h:1 ../glchess/src/lib/gtkui/gtkui.py:331
+#: ../glchess/glchess.desktop.in.in.h:1 ../glchess/src/lib/gtkui/gtkui.py:332
 msgid "Chess"
 msgstr "å??é??象æ£?"
 
@@ -3758,65 +4519,65 @@ msgstr ""
 "å®?æ??ç?ºæ­¢ã??"
 
 #. Translators: Time Combo: There is no time limit
-#: ../glchess/src/lib/gtkui/dialogs.py:124
+#: ../glchess/src/lib/gtkui/dialogs.py:125
 msgid "Unlimited"
 msgstr "ç?¡é??"
 
 #. Translators: Time Combo: Game will last one minute
-#: ../glchess/src/lib/gtkui/dialogs.py:126
+#: ../glchess/src/lib/gtkui/dialogs.py:127
 msgid "One minute"
 msgstr "1 å??é??"
 
 #. Translators: Time Combo: Game will last five minutes
-#: ../glchess/src/lib/gtkui/dialogs.py:128
+#: ../glchess/src/lib/gtkui/dialogs.py:129
 msgid "Five minutes"
 msgstr "5 å??é??"
 
 #. Translators: Time Combo: Game will last 30 minutes
-#: ../glchess/src/lib/gtkui/dialogs.py:130
+#: ../glchess/src/lib/gtkui/dialogs.py:131
 msgid "30 minutes"
 msgstr "30 å??é??"
 
 #. Translators: Time Combo: Game will last one hour
-#: ../glchess/src/lib/gtkui/dialogs.py:132
+#: ../glchess/src/lib/gtkui/dialogs.py:133
 msgid "One hour"
 msgstr "1 å°?æ??"
 
 #. Translators: Time Combo: User will configure game duration
 #. Translators: Add Network Profile Dialog: Use a custom server
-#: ../glchess/src/lib/gtkui/dialogs.py:134
+#: ../glchess/src/lib/gtkui/dialogs.py:135
 #: ../glchess/src/lib/gtkui/network.py:30
 msgid "Custom"
 msgstr "��"
 
 #. Translators: Custom Time Combo: User specifying number of seconds for game duration
-#: ../glchess/src/lib/gtkui/dialogs.py:155
+#: ../glchess/src/lib/gtkui/dialogs.py:156
 msgid "seconds"
 msgstr "�"
 
 #. Translators: Custom Time Combo: User specifying number of minutes for game duration
-#: ../glchess/src/lib/gtkui/dialogs.py:157
+#: ../glchess/src/lib/gtkui/dialogs.py:158
 msgid "minutes"
 msgstr "å??é??"
 
 #. Translators: Custom Time Combo: User specifying number of hours for game duration
-#: ../glchess/src/lib/gtkui/dialogs.py:159
+#: ../glchess/src/lib/gtkui/dialogs.py:160
 msgid "hours"
 msgstr "å°?æ??"
 
 #. Translators: AI Difficulty Combo: AI set to easy difficulty
-#: ../glchess/src/lib/gtkui/dialogs.py:177
+#: ../glchess/src/lib/gtkui/dialogs.py:178
 #: ../gnome-sudoku/src/lib/sudoku.py:515
 msgid "Easy"
 msgstr "容æ??"
 
 #. Translators: AI Difficulty Combo: AI set to normal diffuculty
-#: ../glchess/src/lib/gtkui/dialogs.py:179
+#: ../glchess/src/lib/gtkui/dialogs.py:180
 msgid "Normal"
 msgstr "��"
 
 #. Translators: AI Difficulty Combo: AI set to hard diffuculty
-#: ../glchess/src/lib/gtkui/dialogs.py:181
+#: ../glchess/src/lib/gtkui/dialogs.py:182
 #: ../gnome-sudoku/src/lib/sudoku.py:513
 msgid "Hard"
 msgstr "å?°é?£"
@@ -3824,24 +4585,24 @@ msgstr "å?°é?£"
 #. Translators: Error displayed when unable to load a game due to
 #. the require game engine not being available. %s is replaced with
 #. the name of the missing engine.
-#: ../glchess/src/lib/gtkui/dialogs.py:246
+#: ../glchess/src/lib/gtkui/dialogs.py:247
 #, python-format
 msgid "Unable to find %s engine"
 msgstr "æ?¾ä¸?å?° %s å¼?æ??"
 
 #. Translators: New Game Dialog: Title of the dialog when continuing a loaded game
-#: ../glchess/src/lib/gtkui/dialogs.py:258
+#: ../glchess/src/lib/gtkui/dialogs.py:259
 #, python-format
 msgid "Configure loaded game (%i moves)"
 msgstr "設å®?è¼?å?¥ç??é??æ?²ï¼?%i æ­¥ï¼?"
 
 #. Translators: New Game Dialog: Title of error box when loaded game had AI engines missing
-#: ../glchess/src/lib/gtkui/dialogs.py:263
+#: ../glchess/src/lib/gtkui/dialogs.py:264
 msgid "Game settings changed"
 msgstr "é??æ?²è¨­å®?å?¼å·²è®?æ?´"
 
 #. Translators: Default name for a new game. %(white) and %(black) are substituted for the names of the white and black players.
-#: ../glchess/src/lib/gtkui/dialogs.py:326
+#: ../glchess/src/lib/gtkui/dialogs.py:327
 #, python-format
 msgid "%(white)s versus %(black)s"
 msgstr "%(white)s å°? %(black)s"
@@ -3849,7 +4610,7 @@ msgstr "%(white)s å°? %(black)s"
 #. Translators: Default name for the white player
 #. Translators: GGZ seat is occupied by the white player
 #. Translators: Name of white player in a default game
-#: ../glchess/src/lib/gtkui/dialogs.py:350
+#: ../glchess/src/lib/gtkui/dialogs.py:351
 #: ../glchess/src/lib/gtkui/network.py:360
 #: ../glchess/src/lib/gtkui/network.py:537 ../glchess/src/lib/main.py:680
 msgid "White"
@@ -3858,146 +4619,150 @@ msgstr "��"
 #. Translators: Default name for the black player
 #. Translators: GGZ seat is occupied by the black player
 #. Translators: Name of black player in a default game
-#: ../glchess/src/lib/gtkui/dialogs.py:357
+#: ../glchess/src/lib/gtkui/dialogs.py:358
 #: ../glchess/src/lib/gtkui/network.py:363
 #: ../glchess/src/lib/gtkui/network.py:543 ../glchess/src/lib/main.py:682
 msgid "Black"
 msgstr "é»?æ?¹"
 
 #. Translators: Load Game Dialog: Name of filter to show only PGN files
-#: ../glchess/src/lib/gtkui/dialogs.py:442
+#: ../glchess/src/lib/gtkui/dialogs.py:443
 msgid "PGN files"
 msgstr "PGN ��"
 
 #. Translators: Load Game Dialog: Name of filter to show all files
-#: ../glchess/src/lib/gtkui/dialogs.py:448
+#: ../glchess/src/lib/gtkui/dialogs.py:449
 msgid "All files"
 msgstr "æ??æ??æª?æ¡?"
 
 #. Translators: Load Game Dialog: Message displayed when no file is selected
-#: ../glchess/src/lib/gtkui/dialogs.py:470
+#: ../glchess/src/lib/gtkui/dialogs.py:471
 msgid "Please select a file to load"
 msgstr "è«?é?¸æ??è¦?è¼?å?¥ç??æª?æ¡?"
 
 #. Translators: Title of error box when unable to load game
-#: ../glchess/src/lib/gtkui/dialogs.py:478
+#: ../glchess/src/lib/gtkui/dialogs.py:479
 msgid "Unabled to load game"
 msgstr "ç?¡æ³?è¼?å?¥é??æ?²"
 
 #. Translators: Save Game Dialog: Error displayed when no file name entered
-#: ../glchess/src/lib/gtkui/dialogs.py:549
+#: ../glchess/src/lib/gtkui/dialogs.py:550
 msgid "Please enter a file name"
 msgstr "è«?輸å?¥æª?æ¡?å??稱ã??"
 
 #. Translators: Save Game Dialog: Error title when unable to save game
-#: ../glchess/src/lib/gtkui/dialogs.py:562
+#: ../glchess/src/lib/gtkui/dialogs.py:563
 msgid "Unabled to save game"
 msgstr "ç?¡æ³?å?²å­?é??æ?²"
 
 #. Translators: Move Format Combo: Moves shown in human descriptive notation
 #. Translators: Player Type Combo: Player is human controlled
-#: ../glchess/src/lib/gtkui/dialogs.py:589
-#: ../glchess/src/lib/gtkui/gtkui.py:204 ../gnect/src/prefs.c:249
-#: ../gtali/gyahtzee.c:988 ../gtali/yahtzee.c:69 ../iagno/properties.c:449
+#: ../glchess/src/lib/gtkui/dialogs.py:590
+#: ../glchess/src/lib/gtkui/gtkui.py:205 ../gnect/src/prefs.c:249
+#: ../gtali/gyahtzee.c:990 ../gtali/yahtzee.c:69 ../iagno/properties.c:449
 #: ../iagno/properties.c:490
 msgid "Human"
 msgstr "人�"
 
 #. Translators: Move Format Combo: Moves shown in standard algebraic notation (SAN)
-#: ../glchess/src/lib/gtkui/dialogs.py:591
+#: ../glchess/src/lib/gtkui/dialogs.py:592
 msgid "Standard Algebraic"
 msgstr "��代�"
 
 #. Translators: Move Format Combo: Moves shown in standard figurine algebraic notation (FAN)
-#: ../glchess/src/lib/gtkui/dialogs.py:593
+#: ../glchess/src/lib/gtkui/dialogs.py:594
 msgid "Figurine"
 msgstr "å??å??"
 
 #. Translators: Move Format Combo: Moves shown in long algebraic notation (LAN)
-#: ../glchess/src/lib/gtkui/dialogs.py:595
+#: ../glchess/src/lib/gtkui/dialogs.py:596
 msgid "Long Algebraic"
 msgstr "�代����"
 
 #. Translators: Board Side Combo: Camera will face white player's side
-#: ../glchess/src/lib/gtkui/dialogs.py:605
+#: ../glchess/src/lib/gtkui/dialogs.py:606
 msgid "White Side"
 msgstr "��"
 
 #. Translators: Board Side Combo: Camera will face black player's side
-#: ../glchess/src/lib/gtkui/dialogs.py:607
+#: ../glchess/src/lib/gtkui/dialogs.py:608
 msgid "Black Side"
 msgstr "é»?æ?¹"
 
 #. Translators: Board Side Combo: Camera will face human player's side
-#: ../glchess/src/lib/gtkui/dialogs.py:609
+#: ../glchess/src/lib/gtkui/dialogs.py:610
 msgid "Human Side"
 msgstr "人��家�"
 
 #. Translators: Board Side Combo: Camera will face current player's side
-#: ../glchess/src/lib/gtkui/dialogs.py:611
+#: ../glchess/src/lib/gtkui/dialogs.py:612
 msgid "Current Player"
 msgstr "ç?®å??ç?©å®¶"
 
 #. Translators: Board Side Combo: Board will be drawn suitable for players on each side of screen, e.g. handhelds
-#: ../glchess/src/lib/gtkui/dialogs.py:613
+#: ../glchess/src/lib/gtkui/dialogs.py:614
 msgid "Face to Face"
 msgstr "���"
 
-#. Translators: Promotion Combo: Promote to a queen. Do not translate the 'chess-piece|' text.
-#: ../glchess/src/lib/gtkui/dialogs.py:623
-msgid "chess-piece|Queen"
+#. Translators: Promotion Combo: Promote to a queen
+#: ../glchess/src/lib/gtkui/dialogs.py:624
+msgctxt "chess-piece"
+msgid "Queen"
 msgstr "ç??å??"
 
-#. Translators: Promotion Combo: Promote to a knight. Do not translate the 'chess-piece|' text.
-#: ../glchess/src/lib/gtkui/dialogs.py:625
-msgid "chess-piece|Knight"
+#. Translators: Promotion Combo: Promote to a knight
+#: ../glchess/src/lib/gtkui/dialogs.py:626
+msgctxt "chess-piece"
+msgid "Knight"
 msgstr "�士"
 
-#. Translators: Promotion Combo: Promote to a rook. Do not translate the 'chess-piece|' text.
-#: ../glchess/src/lib/gtkui/dialogs.py:627
-msgid "chess-piece|Rook"
+#. Translators: Promotion Combo: Promote to a rook
+#: ../glchess/src/lib/gtkui/dialogs.py:628
+msgctxt "chess-piece"
+msgid "Rook"
 msgstr "å??å ¡"
 
-#. Translators: Promotion Combo: Promote to a bishop. Do not translate the 'chess-piece|' text.
-#: ../glchess/src/lib/gtkui/dialogs.py:629
-msgid "chess-piece|Bishop"
+#. Translators: Promotion Combo: Promote to a bishop
+#: ../glchess/src/lib/gtkui/dialogs.py:630
+msgctxt "chess-piece"
+msgid "Bishop"
 msgstr "主æ??"
 
 #. Translators: Window title when playing a game that needs saving
-#: ../glchess/src/lib/gtkui/gtkui.py:325
+#: ../glchess/src/lib/gtkui/gtkui.py:326
 #, python-format
 msgid "Chess - *%(game_name)s"
 msgstr "å??é??象æ£? - *%(game_name)s"
 
 #. Translators: Window title when playing a game that is saved
-#: ../glchess/src/lib/gtkui/gtkui.py:328
+#: ../glchess/src/lib/gtkui/gtkui.py:329
 #, python-format
 msgid "Chess - %(game_name)s"
 msgstr "å??é??象æ£? - %(game_name)s"
 
 #. Translators: Game Timer Label: Indicates that game has no time limit
-#: ../glchess/src/lib/gtkui/gtkui.py:343
+#: ../glchess/src/lib/gtkui/gtkui.py:344
 msgid "â??"
 msgstr "â??"
 
 #. Translators: Save Game Dialog: Notice that game needs saving
-#: ../glchess/src/lib/gtkui/gtkui.py:416
+#: ../glchess/src/lib/gtkui/gtkui.py:417
 msgid "If you don't save the changes to this game will be permanently lost"
 msgstr "å¦?æ??ä¸?å°?å°?é??å??é??æ?²ç??è®?æ?´å?²å­?ï¼?æ??æ??è®?æ?´é?½æ??æ°¸ä¹?æ¶?失ã??"
 
 #. Translators: Save Game Dialog: Discard game button
-#: ../glchess/src/lib/gtkui/gtkui.py:418
+#: ../glchess/src/lib/gtkui/gtkui.py:419
 msgid "Close _without saving"
 msgstr "é??é??ä½?ä¸?å?²å­?(_W)"
 
 #. Translators: No 3D Dialog: Title
-#: ../glchess/src/lib/gtkui/gtkui.py:533
+#: ../glchess/src/lib/gtkui/gtkui.py:534
 msgid "Unable to enable 3D mode"
 msgstr "ç?¡æ³?å??ç?¨ 3D 模å¼?"
 
 #. Translators: No 3D Dialog: Notification to user that they do not have libraries required to enable 3D.
 #. %(error)s will be replaced with a list of reasons why 3D is not available.
-#: ../glchess/src/lib/gtkui/gtkui.py:537
+#: ../glchess/src/lib/gtkui/gtkui.py:538
 #, python-format
 msgid ""
 "You are unable to play in 3D mode due to the following problems:\n"
@@ -4012,12 +4777,12 @@ msgstr ""
 "è«?é?£ç·?æ?¨ç??系統管ç??è??以解決é??äº?å??é¡?ï¼?å?¨é?£ä¹?å??æ?¨å?¯ä»¥å?¨ 2D 模å¼?ä¸?ç?©è¥¿æ´?æ£?ã??"
 
 #. Translators: Draw Dialog: Title
-#: ../glchess/src/lib/gtkui/gtkui.py:799
+#: ../glchess/src/lib/gtkui/gtkui.py:800
 msgid "Unable to claim draw"
 msgstr "ç?¡æ³?宣å??å¹³æ??"
 
 #. Translators: Draw Dialog: Notify user why they cannot claim draw
-#: ../glchess/src/lib/gtkui/gtkui.py:801
+#: ../glchess/src/lib/gtkui/gtkui.py:802
 msgid ""
 "You may claim a draw when:\n"
 "a) The board has been in the same state three times (Three fold repetition)\n"
@@ -4030,7 +4795,7 @@ msgstr ""
 
 #. TODO: This should be a pop-up dialog
 #. FIXME: This should create a pop-up dialog
-#: ../glchess/src/lib/gtkui/gtkui.py:823 ../gnome-sudoku/src/lib/main.py:740
+#: ../glchess/src/lib/gtkui/gtkui.py:824 ../gnome-sudoku/src/lib/main.py:727
 #, python-format
 msgid "Unable to display help: %s"
 msgstr "ç?¡æ³?顯示說æ??æ??件ï¼?%s"
@@ -4464,13 +5229,13 @@ msgstr "%(movenum)2iw. %(description)s (å°?è»?)"
 #: ../glchess/src/lib/gtkui/chessview.py:538
 #, python-format
 msgid "%(movenum)2iw. %(description)s (Checkmate)"
-msgstr "%(movenum)2iw. %(description)s (å°?æ­»)"
+msgstr "%(movenum)2iw. %(description)s (被�死)"
 
 #. Translators: Human Move String: White player has made move %(description) and the opponent is in stalemate
 #: ../glchess/src/lib/gtkui/chessview.py:540
 #, python-format
 msgid "%(movenum)2iw. %(description)s (Stalemate)"
-msgstr "%(movenum)2iw. %(description)s (é?¼å??)"
+msgstr "%(movenum)2iw. %(description)s (ç?¡å­?å?¯å??)"
 
 #. Translators: Human Move String: White player has made move %(description) and the opponent is not in check or mate
 #: ../glchess/src/lib/gtkui/chessview.py:542
@@ -4488,13 +5253,13 @@ msgstr "%(movenum)2ib. %(description)s (å°?è»?)"
 #: ../glchess/src/lib/gtkui/chessview.py:546
 #, python-format
 msgid "%(movenum)2ib. %(description)s (Checkmate)"
-msgstr "%(movenum)2ib. %(description)s (å°?æ­»)"
+msgstr "%(movenum)2ib. %(description)s (被�死)"
 
 #. Translators: Human Move String: Black player has made move %(description) and the opponent is in stalemate
 #: ../glchess/src/lib/gtkui/chessview.py:548
 #, python-format
 msgid "%(movenum)2ib. %(description)s (Stalemate)"
-msgstr "%(movenum)2ib. %(description)s (é?¼å??)"
+msgstr "%(movenum)2ib. %(description)s (ç?¡å­?å?¯å??)"
 
 #. Translators: Human Move String: Black player has made move %(description) and the opponent is not in check or mate
 #: ../glchess/src/lib/gtkui/chessview.py:550
@@ -4613,116 +5378,137 @@ msgstr "座ä½?æ?¯ç©ºç??"
 msgid "AI (%s)"
 msgstr "人工�� (%s)"
 
-#. Translators: The first file on the chess board. Do not translate the 'chess-file|' text
-#: ../glchess/src/lib/chess/__init__.py:12
-msgid "chess-file|a"
+#. Translators: The first file on the chess board
+#: ../glchess/src/lib/chess/__init__.py:11
+msgctxt "chess-file"
+msgid "a"
 msgstr "a"
 
-#. Translators: The second file on the chess board. Do not translate the 'chess-file|' text
-#: ../glchess/src/lib/chess/__init__.py:14
-msgid "chess-file|b"
+#. Translators: The second file on the chess board
+#: ../glchess/src/lib/chess/__init__.py:13
+msgctxt "chess-file"
+msgid "b"
 msgstr "b"
 
-#. Translators: The third file on the chess board. Do not translate the 'chess-file|' text
-#: ../glchess/src/lib/chess/__init__.py:16
-msgid "chess-file|c"
+#. Translators: The third file on the chess board
+#: ../glchess/src/lib/chess/__init__.py:15
+msgctxt "chess-file"
+msgid "c"
 msgstr "c"
 
-#. Translators: The fourth file on the chess board. Do not translate the 'chess-file|' text
-#: ../glchess/src/lib/chess/__init__.py:18
-msgid "chess-file|d"
+#. Translators: The fourth file on the chess board
+#: ../glchess/src/lib/chess/__init__.py:17
+msgctxt "chess-file"
+msgid "d"
 msgstr "d"
 
-#. Translators: The fifth file on the chess board. Do not translate the 'chess-file|' text
-#: ../glchess/src/lib/chess/__init__.py:20
-msgid "chess-file|e"
+#. Translators: The fifth file on the chess board
+#: ../glchess/src/lib/chess/__init__.py:19
+msgctxt "chess-file"
+msgid "e"
 msgstr "e"
 
-#. Translators: The sixth file on the chess board. Do not translate the 'chess-file|' text
-#: ../glchess/src/lib/chess/__init__.py:22
-msgid "chess-file|f"
+#. Translators: The sixth file on the chess board
+#: ../glchess/src/lib/chess/__init__.py:21
+msgctxt "chess-file"
+msgid "f"
 msgstr "f"
 
-#. Translators: The seventh file on the chess board. Do not translate the 'chess-file|' text
-#: ../glchess/src/lib/chess/__init__.py:24
-msgid "chess-file|g"
+#. Translators: The seventh file on the chess board
+#: ../glchess/src/lib/chess/__init__.py:23
+msgctxt "chess-file"
+msgid "g"
 msgstr "g"
 
-#. Translators: The eigth file on the chess board. Do not translate the 'chess-file|' text
-#: ../glchess/src/lib/chess/__init__.py:26
-msgid "chess-file|h"
+#. Translators: The eigth file on the chess board
+#: ../glchess/src/lib/chess/__init__.py:25
+msgctxt "chess-file"
+msgid "h"
 msgstr "h"
 
-#. Translators: The first rank on the chess board. Do not translate the 'chess-rank|' text
-#: ../glchess/src/lib/chess/__init__.py:35
-msgid "chess-rank|1"
+#. Translators: The first rank on the chess board
+#: ../glchess/src/lib/chess/__init__.py:28
+msgctxt "chess-rank"
+msgid "1"
 msgstr "1"
 
-#. Translators: The second rank on the chess board. Do not translate the 'chess-rank|' text
-#: ../glchess/src/lib/chess/__init__.py:37
-msgid "chess-rank|2"
+#. Translators: The second rank on the chess board
+#: ../glchess/src/lib/chess/__init__.py:30
+msgctxt "chess-rank"
+msgid "2"
 msgstr "2"
 
-#. Translators: The third rank on the chess board. Do not translate the 'chess-rank|' text
-#: ../glchess/src/lib/chess/__init__.py:39
-msgid "chess-rank|3"
+#. Translators: The third rank on the chess board
+#: ../glchess/src/lib/chess/__init__.py:32
+msgctxt "chess-rank"
+msgid "3"
 msgstr "3"
 
-#. Translators: The fourth rank on the chess board. Do not translate the 'chess-rank|' text
-#: ../glchess/src/lib/chess/__init__.py:41
-msgid "chess-rank|4"
+#. Translators: The fourth rank on the chess board
+#: ../glchess/src/lib/chess/__init__.py:34
+msgctxt "chess-rank"
+msgid "4"
 msgstr "4"
 
-#. Translators: The fifth rank on the chess board. Do not translate the 'chess-rank|' text
-#: ../glchess/src/lib/chess/__init__.py:43
-msgid "chess-rank|5"
+#. Translators: The fifth rank on the chess board
+#: ../glchess/src/lib/chess/__init__.py:36
+msgctxt "chess-rank"
+msgid "5"
 msgstr "5"
 
-#. Translators: The sixth rank on the chess board. Do not translate the 'chess-rank|' text
-#: ../glchess/src/lib/chess/__init__.py:45
-msgid "chess-rank|6"
+#. Translators: The sixth rank on the chess board
+#: ../glchess/src/lib/chess/__init__.py:38
+msgctxt "chess-rank"
+msgid "6"
 msgstr "6"
 
-#. Translators: The seventh rank on the chess board. Do not translate the 'chess-rank|' text
-#: ../glchess/src/lib/chess/__init__.py:47
-msgid "chess-rank|7"
+#. Translators: The seventh rank on the chess board
+#: ../glchess/src/lib/chess/__init__.py:40
+msgctxt "chess-rank"
+msgid "7"
 msgstr "7"
 
-#. Translators: The eigth rank on the chess board. Do not translate the 'chess-rank|' text
-#: ../glchess/src/lib/chess/__init__.py:49
-msgid "chess-rank|8"
+#. Translators: The eigth rank on the chess board
+#: ../glchess/src/lib/chess/__init__.py:42
+msgctxt "chess-rank"
+msgid "8"
 msgstr "8"
 
 #. Translators: The notation form of a pawn.
 #. See http://en.wikipedia.org/wiki/Algebraic_chess_notation#Figurine_Algebraic_Notation for translations.
-#. Do not translate the 'chess-notation|' text.
-#: ../glchess/src/lib/chess/__init__.py:61
-msgid "chess-notation|P"
+#: ../glchess/src/lib/chess/__init__.py:46
+msgctxt "chess-notation"
+msgid "P"
 msgstr "P"
 
-#. Translators: The notation form of a knight. Do not translate the 'chess-notation|' text
-#: ../glchess/src/lib/chess/__init__.py:63
-msgid "chess-notation|N"
+#. Translators: The notation form of a knight
+#: ../glchess/src/lib/chess/__init__.py:48
+msgctxt "chess-notation"
+msgid "N"
 msgstr "N"
 
-#. Translators: The notation form of a bishop. Do not translate the 'chess-notation|' text
-#: ../glchess/src/lib/chess/__init__.py:65
-msgid "chess-notation|B"
+#. Translators: The notation form of a bishop
+#: ../glchess/src/lib/chess/__init__.py:50
+msgctxt "chess-notation"
+msgid "B"
 msgstr "B"
 
-#. Translators: The notation form of a rook. Do not translate the 'chess-notation|' text
-#: ../glchess/src/lib/chess/__init__.py:67
-msgid "chess-notation|R"
+#. Translators: The notation form of a rook
+#: ../glchess/src/lib/chess/__init__.py:52
+msgctxt "chess-notation"
+msgid "R"
 msgstr "R"
 
-#. Translators: The notation form of a queen. Do not translate the 'chess-notation|' text
-#: ../glchess/src/lib/chess/__init__.py:69
-msgid "chess-notation|Q"
+#. Translators: The notation form of a queen
+#: ../glchess/src/lib/chess/__init__.py:54
+msgctxt "chess-notation"
+msgid "Q"
 msgstr "Q"
 
-#. Translators: The notation form of a king. Do not translate the 'chess-notation|' text
-#: ../glchess/src/lib/chess/__init__.py:71
-msgid "chess-notation|K"
+#. Translators: The notation form of a king
+#: ../glchess/src/lib/chess/__init__.py:56
+msgctxt "chess-notation"
+msgid "K"
 msgstr "K"
 
 #. Translators: Description of an AI player used in log window. %(name)s is replaced with
@@ -4760,19 +5546,19 @@ msgstr ""
 "glChess å·²ç¶?ç?¶æ©?ã??è«?å°?é??å??é?¯èª¤å??報給 http://bugzilla.gnome.org\n";
 "��輸��"
 
-#: ../glchess/src/lib/main.py:709 ../gnome-sudoku/src/lib/main.py:481
+#: ../glchess/src/lib/main.py:709 ../gnome-sudoku/src/lib/main.py:473
 msgid "Save game before closing?"
 msgstr "æ?¯å?¦å?¨é??é??å??å?²å­?é??æ?²ï¼?"
 
-#: ../glchess/src/lib/defaults.py.in:52
+#: ../glchess/src/lib/defaults.py.in:50
 msgid "glChess"
 msgstr "glChess"
 
-#: ../glchess/src/lib/defaults.py.in:55
+#: ../glchess/src/lib/defaults.py.in:53
 msgid "Copyright 2005-2008 Robert Ancell (and contributors)"
 msgstr "ç??æ¬?æ??æ?? 2005-2008 Robert Ancell å??æ??æ??è²¢ç?»è??"
 
-#: ../glchess/src/lib/defaults.py.in:56
+#: ../glchess/src/lib/defaults.py.in:54
 msgid ""
 "The 2D/3D chess game for GNOME. \n"
 "\n"
@@ -4784,7 +5570,7 @@ msgstr ""
 
 #. The GPL license string will be translated, and the game name inserted.
 #. This license is the same as in libgames-support/games-stock.c
-#: ../glchess/src/lib/defaults.py.in:65
+#: ../glchess/src/lib/defaults.py.in:63
 #: ../gnome-sudoku/src/lib/defaults.py.in:49
 #, python-format
 msgid ""
@@ -4797,9 +5583,9 @@ msgstr ""
 "æ¢?款è¦?å®?ï¼?å°±æ?¬ç¨?å¼?å??ç?ºæ?£ä½?è??ï¼?æ??ä¿®æ?¹ï¼?ç?¡è«?æ?¨ä¾?æ??ç??æ?¯æ?¬æ??æ¬?ç??第äº?ç??æ??\n"
 "ï¼?æ?¨è?ªè¡?é?¸æ??ç??ï¼?ä»»ä¸?æ?¥å¾?ç?¼è¡?ç??ç??æ?¬ã??"
 
-#: ../glchess/src/lib/defaults.py.in:69
+#: ../glchess/src/lib/defaults.py.in:67
 #: ../gnome-sudoku/src/lib/defaults.py.in:53
-#: ../libgames-support/games-stock.c:412
+#: ../libgames-support/games-stock.c:414
 #, c-format, python-format
 msgid ""
 "%s is distributed in the hope that it will be useful, but WITHOUT ANY "
@@ -4810,9 +5596,9 @@ msgstr ""
 "%s ä¿?å?ºæ?¼ä½¿ç?¨ç?®ç??è??å? ä»¥æ?£ä½?ï¼?ç?¶è??ä¸?è² ä»»ä½?æ??ä¿?責任ï¼?亦ç?¡å°?é?©å?®æ?§\n"
 "æ??ç?¹å®?ç?®ç??é?©ç?¨æ?§æ??ç?ºç??é»?示æ?§æ??ä¿?ã??詳æ??è«?å??ç?§ GNU é??ç?¨å?¬å?±æ??æ¬?ã??"
 
-#: ../glchess/src/lib/defaults.py.in:73
+#: ../glchess/src/lib/defaults.py.in:71
 #: ../gnome-sudoku/src/lib/defaults.py.in:57
-#: ../libgames-support/games-stock.c:417
+#: ../libgames-support/games-stock.c:419
 #, c-format, python-format
 msgid ""
 "You should have received a copy of the GNU General Public License along with "
@@ -4823,7 +5609,7 @@ msgstr ""
 "è?ªç?±è»?é«?å?ºé??æ??ï¼?\n"
 "51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA"
 
-#: ../glchess/src/lib/defaults.py.in:85
+#: ../glchess/src/lib/defaults.py.in:83
 #: ../gnome-sudoku/src/lib/defaults.py.in:68
 #, python-format
 msgid "Unable to make data directory %(dir)s: %(error)s"
@@ -4880,10 +5666,6 @@ msgstr "大"
 msgid "Could not load theme"
 msgstr "����主�"
 
-#: ../glines/glines.c:196 ../mahjongg/mahjongg.c:140
-msgid "Preferences"
-msgstr "å??好設å®?"
-
 #: ../glines/glines.c:218
 #, c-format
 msgid ""
@@ -4932,7 +5714,7 @@ msgid "You can't move there!"
 msgstr "ä¸?è?½ç§»å??å?°é?£è£¡ï¼?"
 
 #: ../glines/glines.c:1206 ../glines/glines.c:1210 ../glines/glines.c:1212
-#: ../glines/glines.c:1809 ../glines/glines.c:1841
+#: ../glines/glines.c:1811 ../glines/glines.c:1843
 #: ../glines/glines.desktop.in.in.h:1
 msgid "Five or More"
 msgstr "�����"
@@ -4976,7 +5758,7 @@ msgstr "��"
 msgid "_Use fast moves"
 msgstr "å¿«é??移å??(_U)"
 
-#: ../glines/glines.c:1870
+#: ../glines/glines.c:1872
 msgid "Next:"
 msgstr "ä¸?次ç??é¡?è?²:"
 
@@ -5089,13 +5871,13 @@ msgstr "第äº?å??ç?©å®¶ç??æ£?å??"
 
 #: ../gnect/data/gnect.schemas.in.h:9 ../gnect/src/prefs.c:370
 #: ../gnibbles/gnibbles.schemas.in.h:16 ../gnibbles/preferences.c:446
-#: ../gnometris/gnometris.schemas.in.h:13 ../gnometris/tetris.cpp:725
+#: ../gnometris/gnometris.schemas.in.h:13 ../gnometris/tetris.cpp:744
 msgid "Move left"
 msgstr "å??左移å??"
 
 #: ../gnect/data/gnect.schemas.in.h:10 ../gnect/src/prefs.c:371
 #: ../gnibbles/gnibbles.schemas.in.h:17 ../gnibbles/preferences.c:447
-#: ../gnometris/gnometris.schemas.in.h:14 ../gnometris/tetris.cpp:726
+#: ../gnometris/gnometris.schemas.in.h:14 ../gnometris/tetris.cpp:745
 msgid "Move right"
 msgstr "å??å?³ç§»å??"
 
@@ -5139,7 +5921,7 @@ msgstr "æ­¡è¿?é?²å?¥ç¶²è·¯ç??æ?¬ç?? %sã??"
 msgid "It's a draw!"
 msgstr "å¹³æ??ï¼?"
 
-#: ../gnect/src/main.c:583 ../gnome-sudoku/src/lib/main.py:442
+#: ../gnect/src/main.c:583 ../gnome-sudoku/src/lib/main.py:435
 msgid "You win!"
 msgstr "����"
 
@@ -5236,7 +6018,7 @@ msgid "Four-in-a-Row Preferences"
 msgstr "å??å­?é?£ç?°æ£?å??好設å®?"
 
 #: ../gnect/src/prefs.c:333 ../gnobots2/properties.c:530
-#: ../iagno/properties.c:528
+#: ../iagno/properties.c:528 ../same-gnome-clutter/data/settings.ui.h:1
 msgid "Appearance"
 msgstr "��"
 
@@ -5255,7 +6037,7 @@ msgstr "é??å??é?³æ??(_N)"
 
 #. keyboard tab
 #: ../gnect/src/prefs.c:366 ../gnibbles/preferences.c:436
-#: ../gnobots2/properties.c:537 ../gnometris/tetris.cpp:717
+#: ../gnobots2/properties.c:537 ../gnometris/tetris.cpp:736
 msgid "Keyboard Controls"
 msgstr "����"
 
@@ -5378,19 +6160,19 @@ msgid "Speed:"
 msgstr "é??度ï¼?"
 
 #: ../gnibbles/gnibbles.c:627 ../gnobots2/game.c:182 ../gnomine/gnomine.c:224
-#: ../gnotravex/gnotravex.c:1237 ../gnotski/gnotski.c:840
+#: ../gnotravex/gnotravex.c:1239 ../gnotski/gnotski.c:842
 #: ../gtali/gyahtzee.c:203 ../mahjongg/mahjongg.c:668 ../same-gnome/ui.c:193
 msgid "Congratulations!"
 msgstr "æ?­å??ï¼?"
 
 #: ../gnibbles/gnibbles.c:628 ../gnobots2/game.c:183 ../gnomine/gnomine.c:225
-#: ../gnotravex/gnotravex.c:1238 ../gnotski/gnotski.c:841
+#: ../gnotravex/gnotravex.c:1240 ../gnotski/gnotski.c:843
 #: ../gtali/gyahtzee.c:204 ../mahjongg/mahjongg.c:669 ../same-gnome/ui.c:194
 msgid "Your score is the best!"
 msgstr "æ?¨ç??å??æ?¸æ?¯æ??é«?ç??ï¼?"
 
 #: ../gnibbles/gnibbles.c:629 ../gnobots2/game.c:184 ../gnomine/gnomine.c:226
-#: ../gnotravex/gnotravex.c:1239 ../gnotski/gnotski.c:842
+#: ../gnotravex/gnotravex.c:1241 ../gnotski/gnotski.c:844
 #: ../gtali/gyahtzee.c:205 ../mahjongg/mahjongg.c:670 ../same-gnome/ui.c:195
 msgid "Your score has made the top ten."
 msgstr "æ?¨ç??å??æ?¸é?²å?¥é ­å??å??ã??"
@@ -5402,7 +6184,7 @@ msgstr "å¼?å°?ä¸?æ?·ç§»å??ç??å°?è?²è?²é?¿é??ç?«é?¢ç??é??ç¤?ç?©"
 
 #: ../gnibbles/gnibbles.desktop.in.in.h:2 ../gnibbles/main.c:243
 #: ../gnibbles/main.c:247 ../gnibbles/main.c:249 ../gnibbles/main.c:871
-#: ../gnibbles/main.c:989 ../gnibbles/main.c:1051
+#: ../gnibbles/main.c:989 ../gnibbles/main.c:1053
 msgid "Nibbles"
 msgstr "貪é£?è??"
 
@@ -5473,7 +6255,7 @@ msgid "Key to use for motion up."
 msgstr "表示å??ä¸?æ??ç?¨ç??æ??é?µ"
 
 #: ../gnibbles/gnibbles.schemas.in.h:15 ../gnibbles/preferences.c:449
-#: ../gnometris/gnometris.schemas.in.h:12 ../gnometris/tetris.cpp:727
+#: ../gnometris/gnometris.schemas.in.h:12 ../gnometris/tetris.cpp:746
 msgid "Move down"
 msgstr "å??ä¸?移å??"
 
@@ -5614,7 +6396,7 @@ msgid "_Enable fake bonuses"
 msgstr "å?¯å?ºç?¾å??ç??ç??å?µ(_E)"
 
 #. starting level
-#: ../gnibbles/preferences.c:350 ../gnometris/tetris.cpp:633
+#: ../gnibbles/preferences.c:350 ../gnometris/tetris.cpp:643
 msgid "_Starting level:"
 msgstr "é??å§?ç??å??(_S)ï¼?"
 
@@ -5663,13 +6445,13 @@ msgstr "第 %d ��:"
 msgid "Game over!"
 msgstr "����"
 
-#: ../gnobots2/game.c:155 ../gnomine/gnomine.c:200 ../gnotski/gnotski.c:815
+#: ../gnobots2/game.c:155 ../gnomine/gnomine.c:200 ../gnotski/gnotski.c:817
 msgid "Great work, but unfortunately your score did not make the top ten."
 msgstr "ä¸?幸å?°ï¼?æ?¨ç??å??æ?¸ä¸?è?½é?²å?¥é ­å??å??ã??"
 
 #. Translators: This "_New Game" is for the game-over dialogue
-#: ../gnobots2/game.c:157 ../gnomine/gnomine.c:202 ../gnotski/gnotski.c:817
-#: ../libgames-support/games-stock.c:321 ../same-gnome/ui.c:176
+#: ../gnobots2/game.c:157 ../gnomine/gnomine.c:202 ../gnotski/gnotski.c:819
+#: ../libgames-support/games-stock.c:323 ../same-gnome/ui.c:176
 msgid "_New Game"
 msgstr "é??æ?°å±?(_N)"
 
@@ -5711,13 +6493,13 @@ msgstr "ä¿®æ?¹é??æ?²ç??設å®?"
 msgid "Initial window position"
 msgstr "é??å§?æ??è¦?çª?ç??ä½?ç½®"
 
-#: ../gnobots2/gnobots.c:89 ../gnomine/gnomine.c:991 ../gnomine/gnomine.c:999
+#: ../gnobots2/gnobots.c:89 ../gnomine/gnomine.c:992 ../gnomine/gnomine.c:1000
 #: ../gnotravex/gnotravex.c:399 ../gnotski/gnotski.c:467
 #: ../iagno/gnothello.c:146
 msgid "X"
 msgstr "X"
 
-#: ../gnobots2/gnobots.c:91 ../gnomine/gnomine.c:993 ../gnomine/gnomine.c:1001
+#: ../gnobots2/gnobots.c:91 ../gnomine/gnomine.c:994 ../gnomine/gnomine.c:1002
 #: ../gnotravex/gnotravex.c:401 ../gnotski/gnotski.c:469
 #: ../iagno/gnothello.c:148
 msgid "Y"
@@ -5783,27 +6565,27 @@ msgstr "å?¯ä½¿ç?¨å®?å?¨ç©ºé??è½?移è??å®?å?¨ç§»å??ç??æ©?å?¨äºº"
 msgid "Robots with safe teleport with super-safe moves"
 msgstr "å?¯ä½¿ç?¨å®?å?¨ç©ºé??è½?移è??è¶?ç´?å®?å?¨ç§»å??ç??æ©?å?¨äºº"
 
-#: ../gnobots2/gnobots.c:237 ../gnobots2/gnobots.c:258
+#: ../gnobots2/gnobots.c:239 ../gnobots2/gnobots.c:260
 #: ../gnobots2/gnobots2.desktop.in.in.h:2 ../gnobots2/menu.c:263
 #: ../gnobots2/menu.c:266
 msgid "Robots"
 msgstr "��人"
 
-#: ../gnobots2/gnobots.c:320
+#: ../gnobots2/gnobots.c:322
 msgid "No game data could be found."
 msgstr "æ?¾ä¸?å?°é??æ?²è³?æ??ã??"
 
-#: ../gnobots2/gnobots.c:322
+#: ../gnobots2/gnobots.c:324
 msgid ""
 "The program Robots was unable to find any valid game configuration files. "
 "Please check that the program is installed correctly."
 msgstr "GNOME æ©?å?¨äººæ?¾ä¸?å?°æ??æ??ç??設å®?æª?ã??è«?檢æ?¥ç¨?å¼?æ?¯å?¦å·²æ­£ç¢ºå®?è£?ã??"
 
-#: ../gnobots2/gnobots.c:341
+#: ../gnobots2/gnobots.c:343
 msgid "Some graphics files are missing or corrupt."
 msgstr "æ??äº?å??ç??æª?æ¡?æ?¾ä¸?å?°æ??è??å·²ç¶?æ??å£?ã??"
 
-#: ../gnobots2/gnobots.c:343
+#: ../gnobots2/gnobots.c:345
 msgid ""
 "The program Robots was unable to load all the necessary graphics files. "
 "Please check that the program is installed correctly."
@@ -6097,7 +6879,7 @@ msgstr "å?¯ä½¿ç?¨è¶?ç´?å®?å?¨ç§»å??(_S)"
 msgid "Prevents all moves that result in getting killed."
 msgstr "ç¦?止任ä½?æ??å¼?è?´æ??失ç??å?½ç??è¡?å??ã??"
 
-#: ../gnobots2/properties.c:483 ../gnometris/tetris.cpp:659
+#: ../gnobots2/properties.c:483 ../gnometris/tetris.cpp:669
 msgid "_Enable sounds"
 msgstr "é??å??é?³æ??(_E)"
 
@@ -6142,13 +6924,13 @@ msgstr "���"
 msgid "Fit falling blocks together"
 msgstr "å°?ä¸?å??å½¢ç??è??ä¸?ä¸?æ?·è·?ä¸?ç??æ?¹å¡?æ?¼å??å?¨ä¸?èµ·"
 
-#: ../gnometris/gnometris.desktop.in.in.h:2 ../gnometris/main.cpp:64
-#: ../gnometris/tetris.cpp:162 ../gnometris/tetris.cpp:1281
-#: ../gnometris/tetris.cpp:1285 ../gnometris/tetris.cpp:1287
+#: ../gnometris/gnometris.desktop.in.in.h:2 ../gnometris/main.cpp:66
+#: ../gnometris/tetris.cpp:162 ../gnometris/tetris.cpp:1300
+#: ../gnometris/tetris.cpp:1304 ../gnometris/tetris.cpp:1306
 msgid "Gnometris"
 msgstr "GNOME �����"
 
-#: ../gnometris/gnometris.schemas.in.h:1 ../gnometris/tetris.cpp:728
+#: ../gnometris/gnometris.schemas.in.h:1 ../gnometris/tetris.cpp:747
 msgid "Drop"
 msgstr "��"
 
@@ -6184,11 +6966,11 @@ msgstr "é??å§?æ??ç??ç´?æ?¸"
 msgid "Level to start with."
 msgstr "é??å§?æ??ç??ç´?æ?¸"
 
-#: ../gnometris/gnometris.schemas.in.h:15 ../gnometris/tetris.cpp:730
+#: ../gnometris/gnometris.schemas.in.h:15 ../gnometris/tetris.cpp:749
 msgid "Pause"
 msgstr "æ?«å??"
 
-#: ../gnometris/gnometris.schemas.in.h:16 ../gnometris/tetris.cpp:729
+#: ../gnometris/gnometris.schemas.in.h:16 ../gnometris/tetris.cpp:748
 msgid "Rotate"
 msgstr "æ??è½?"
 
@@ -6273,11 +7055,11 @@ msgstr "æ?¯å?¦é??æ??é??æ?¹å??æ??è½?æ?¹å¡?"
 msgid "Whether to use the background image"
 msgstr "æ?¯å?¦é¡¯ç¤ºè??æ?¯å??æ¡?"
 
-#: ../gnometris/main.cpp:46
+#: ../gnometris/main.cpp:48
 msgid "Set starting level (1 or greater)"
 msgstr "設å®?é??å§?ç??ç´?æ?¸ (1 æ??以ä¸?)"
 
-#: ../gnometris/main.cpp:46
+#: ../gnometris/main.cpp:48
 msgid "LEVEL"
 msgstr "ç´?æ?¸"
 
@@ -6297,58 +7079,63 @@ msgstr "Tango é?°å½±"
 msgid "Lines:"
 msgstr "���"
 
-#: ../gnometris/tetris.cpp:565
+#: ../gnometris/tetris.cpp:575
 msgid "Gnometris Preferences"
 msgstr "GNOME ä¿?ç¾?æ?¯æ?¹å¡?å??好設å®?"
 
-#: ../gnometris/tetris.cpp:589
+#: ../gnometris/tetris.cpp:599 ../same-gnome-clutter/data/settings.ui.h:6
 msgid "Setup"
 msgstr "設�"
 
 #. pre-filled rows
-#: ../gnometris/tetris.cpp:595
+#: ../gnometris/tetris.cpp:605
 msgid "_Number of pre-filled rows:"
 msgstr "é ?å??å¡«å??ç??è¡?æ?¸(_N)ï¼?"
 
 #. pre-filled rows density
-#: ../gnometris/tetris.cpp:614
+#: ../gnometris/tetris.cpp:624
 msgid "_Density of blocks in a pre-filled row:"
 msgstr "é ?å??å¡«å??æ??æ¯?è¡?ç??å¯?度(_D)ï¼?"
 
-#: ../gnometris/tetris.cpp:654
+#: ../gnometris/tetris.cpp:664 ../same-gnome-clutter/data/settings.ui.h:4
 msgid "Operation"
 msgstr "æ??ä½?"
 
-#: ../gnometris/tetris.cpp:668
+#: ../gnometris/tetris.cpp:678
 msgid "_Preview next block"
 msgstr "é ?覽ä¸?å??æ?¹å¡?(_P)"
 
-#: ../gnometris/tetris.cpp:677
+#: ../gnometris/tetris.cpp:687
 msgid "_Use random block colors"
 msgstr "��使�����(_U)"
 
-#: ../gnometris/tetris.cpp:688
+#: ../gnometris/tetris.cpp:698
+#, fuzzy
+msgid "_Bastard mode"
+msgstr "<b>度é??衡模å¼?:</b>"
+
+#: ../gnometris/tetris.cpp:707
 msgid "_Rotate blocks counterclockwise"
 msgstr "æ?¹å¡?以é??æ??é??æ?¹å??æ??è½?(_R)"
 
-#: ../gnometris/tetris.cpp:697
+#: ../gnometris/tetris.cpp:716
 msgid "Show _where the block will land"
 msgstr "顯示æ?¹å¡?è?½é»?æ??示(_W)"
 
-#: ../gnometris/tetris.cpp:705 ../gnometris/tetris.cpp:738
+#: ../gnometris/tetris.cpp:724 ../gnometris/tetris.cpp:757
 #: ../same-gnome/ui.c:324
 msgid "Theme"
 msgstr "��主�"
 
-#: ../gnometris/tetris.cpp:714
+#: ../gnometris/tetris.cpp:733
 msgid "Controls"
 msgstr "��"
 
-#: ../gnometris/tetris.cpp:741
+#: ../gnometris/tetris.cpp:760
 msgid "Block Style"
 msgstr "��樣�"
 
-#: ../gnometris/tetris.cpp:1290
+#: ../gnometris/tetris.cpp:1309
 msgid ""
 "A classic game of fitting falling blocks together.\n"
 "\n"
@@ -6362,7 +7149,7 @@ msgstr ""
 msgid "Gnometris Scores"
 msgstr "GNOME ä¿?ç¾?æ?¯æ?¹å¡?ç©?å??æ¦?"
 
-#: ../gnometris/blockops.cpp:724
+#: ../gnometris/blockops.cpp:861
 #: ../gnome-sudoku/src/lib/sudoku_generator_gui.py:173
 #: ../gnome-sudoku/src/lib/sudoku_generator_gui.py:214
 msgid "Paused"
@@ -6377,6 +7164,178 @@ msgstr "��"
 msgid "Test your logic skills in this number grid puzzle"
 msgstr "é??é??é??å??æ?¸å­?æ ¼å­?é¡?ç?®ä¾?測試æ?¨ç??é??輯è?½å??"
 
+#: ../gnome-sudoku/data/gnome-sudoku.schemas.in.h:1
+msgid "Color of the grid border"
+msgstr "æ ¼ç·?å¤?æ¡?ç??é¡?è?²"
+
+#: ../gnome-sudoku/data/gnome-sudoku.schemas.in.h:2
+msgid "Generate new puzzles in the background"
+msgstr "å?¨è??æ?¯ç?¢ç??æ?°é¡?ç?®"
+
+#: ../gnome-sudoku/data/gnome-sudoku.schemas.in.h:3
+msgid "Height of application window in pixels"
+msgstr "æ??ç?¨ç¨?å¼?è¦?çª?ç??é«?度ï¼?å??ç´ ï¼?"
+
+#: ../gnome-sudoku/data/gnome-sudoku.schemas.in.h:4
+msgid "Mark printed games as played"
+msgstr "å°?å??å?°é??ç??é¡?ç?®æ¨?è¨?ç?ºå·²ç¶?ç?©é??"
+
+#: ../gnome-sudoku/data/gnome-sudoku.schemas.in.h:5
+msgid "Number of puzzles to print on a page"
+msgstr "è¦?å??å?°ç??æ¯?é ?é¡?ç?®æ?¸"
+
+#: ../gnome-sudoku/data/gnome-sudoku.schemas.in.h:6
+msgid "Print games that have been played"
+msgstr "å??å?°å·²ç¶?ç?©é??ç??é??æ?²"
+
+#: ../gnome-sudoku/data/gnome-sudoku.schemas.in.h:7
+msgid "Show hint highlights"
+msgstr "顯示æ??示ç??çª?顯æ??æ??"
+
+#: ../gnome-sudoku/data/gnome-sudoku.schemas.in.h:8
+msgid "Show hints"
+msgstr "顯示æ??示"
+
+#: ../gnome-sudoku/data/gnome-sudoku.schemas.in.h:9
+msgid "Show the application toolbar"
+msgstr "顯示æ??ç?¨ç¨?å¼?å·¥å?·å??"
+
+#: ../gnome-sudoku/data/gnome-sudoku.schemas.in.h:10
+msgid "The number of seconds between automatic saves"
+msgstr "è?ªå??å?²å­?é??é??ç§?æ?¸"
+
+#: ../gnome-sudoku/data/gnome-sudoku.schemas.in.h:11
+msgid "Width of application window in pixels"
+msgstr "æ??ç?¨ç¨?å¼?è¦?çª?ç??寬度ï¼?å??ç´ ï¼?"
+
+#: ../gnome-sudoku/data/print_games.ui.h:1
+msgid "<b><i>Details</i></b>"
+msgstr "<b><i>詳細è³?æ??</i></b>"
+
+#: ../gnome-sudoku/data/print_games.ui.h:2
+msgid "<b><i>Levels of difficulty to print</i></b>"
+msgstr "<b><i>è¦?å??å?°ç??é??æ?²é?£åº¦ç­?ç´?</i></b>"
+
+#: ../gnome-sudoku/data/print_games.ui.h:3
+msgid "<span size=\"larger\" weight=\"bold\">Print Games</span>"
+msgstr "<span size=\"larger\" weight=\"bold\">å??å?°é??æ?²</span>"
+
+#: ../gnome-sudoku/data/print_games.ui.h:4
+msgid "Print Sudokus"
+msgstr "å??å?°æ?¸ç?¨é??æ?²"
+
+#: ../gnome-sudoku/data/print_games.ui.h:5
+#: ../gnome-sudoku/data/puzzle_generator.ui.h:13
+msgid "_Easy"
+msgstr "容æ??(_E)"
+
+#: ../gnome-sudoku/data/print_games.ui.h:6
+#: ../gnome-sudoku/data/puzzle_generator.ui.h:15
+msgid "_Hard"
+msgstr "å?°é?£(_H)"
+
+#: ../gnome-sudoku/data/print_games.ui.h:7
+msgid "_Include games you've already played in list of games to print"
+msgstr "å??å?°é¡?ç?®æ??å??æ?¬æ?¨ç?©é??ç??é¡?ç?®(_I)"
+
+#: ../gnome-sudoku/data/print_games.ui.h:8
+msgid "_Mark games as played once you've printed them."
+msgstr "å??å?°é¡?ç?®å¾?å°?é¡?ç?®æ¨?è¨?ç?ºå·²ç¶?ç?©é??(_M)"
+
+#: ../gnome-sudoku/data/print_games.ui.h:9
+#: ../gnome-sudoku/data/puzzle_generator.ui.h:16 ../same-gnome/ui.c:479
+msgid "_Medium"
+msgstr "中(_M)"
+
+#: ../gnome-sudoku/data/print_games.ui.h:10
+msgid "_Number of sudoku to print: "
+msgstr "è¦?å??å?°ç??æ?¸ç?¨é??æ?²æ?¸é??(_N):"
+
+#: ../gnome-sudoku/data/print_games.ui.h:11
+msgid "_Sudokus per page: "
+msgstr "æ¯?é ?ç??æ?¸ç?¨é¡?ç?®æ?¸ç?®(_S):"
+
+#: ../gnome-sudoku/data/print_games.ui.h:12
+#: ../gnome-sudoku/data/puzzle_generator.ui.h:17
+msgid "_Very Hard"
+msgstr "極�(_V)"
+
+#: ../gnome-sudoku/data/puzzle_generator.ui.h:1
+msgid "<i><u>Number of Puzzles</u></i>"
+msgstr "<i><u>����</u></i>"
+
+#: ../gnome-sudoku/data/puzzle_generator.ui.h:2
+msgid "<i>Easy:</i>"
+msgstr "<i>容æ??ï¼?</i>"
+
+#: ../gnome-sudoku/data/puzzle_generator.ui.h:3
+msgid "<i>Hard:</i>"
+msgstr "<i>���</i>"
+
+#: ../gnome-sudoku/data/puzzle_generator.ui.h:4
+msgid "<i>Medium:</i>"
+msgstr "<i>中��</i>"
+
+#: ../gnome-sudoku/data/puzzle_generator.ui.h:5
+msgid "<i>Very Hard:</i>"
+msgstr "<i>極��</i>"
+
+#: ../gnome-sudoku/data/puzzle_generator.ui.h:6
+msgid "<span size=\"larger\" weight=\"bold\">Puzzle Generator</span>"
+msgstr "<span size=\"larger\" weight=\"bold\">é¡?ç?®ç?¢ç??å?¨</span>"
+
+#: ../gnome-sudoku/data/puzzle_generator.ui.h:7
+msgid "Criteria:"
+msgstr "�件�"
+
+#: ../gnome-sudoku/data/puzzle_generator.ui.h:8
+msgid "Generate Policy"
+msgstr "ç?¢ç??ç??æ³?å??"
+
+#: ../gnome-sudoku/data/puzzle_generator.ui.h:9
+msgid "Generate new puzzles _until stopped"
+msgstr "ä¸?æ?·ç?¢ç??æ?°é¡?ç?®ç?´è?³ç?©å®¶è¦?æ±?å??æ­¢(_U)"
+
+#: ../gnome-sudoku/data/puzzle_generator.ui.h:10
+msgid "Generate until _reaching target"
+msgstr "ç?¢ç??é¡?ç?®ç?´è?³é??å?°ç?®æ¨?æ?¸å­?ç?ºæ­¢(_R)"
+
+#: ../gnome-sudoku/data/puzzle_generator.ui.h:11
+msgid "Puzzle Generator"
+msgstr "é¡?ç?®ç?¢ç??å?¨"
+
+#: ../gnome-sudoku/data/puzzle_generator.ui.h:12
+msgid "Target _number of sudokus:"
+msgstr "æ?¸ç?¨é¡?ç?®ç??ç?®æ¨?æ?¸å­?(_N):"
+
+#: ../gnome-sudoku/data/puzzle_generator.ui.h:14
+msgid "_Generate"
+msgstr "ç?¢ç??(_G)"
+
+#: ../gnome-sudoku/data/select_game.ui.h:1
+msgid "<b><span size=\"large\">_New Game</span></b>"
+msgstr "<b><span size=\"large\">æ?°é??æ?²(_N)</span></b>"
+
+#: ../gnome-sudoku/data/select_game.ui.h:2
+msgid "<b><span size=\"large\">_Saved Games</span></b>"
+msgstr "<b><span size=\"large\">å?²å­?é??æ?²(_S)</span></b>"
+
+#: ../gnome-sudoku/data/tracker.ui.h:1
+msgid "Clear _Others"
+msgstr "æ¸?é?¤å?¶ä»?ç??(_O)"
+
+#: ../gnome-sudoku/data/tracker.ui.h:2
+msgid "_Add Tracker"
+msgstr "��追蹤�(_A)"
+
+#: ../gnome-sudoku/data/tracker.ui.h:3 ../gnome-sudoku/src/lib/main.py:784
+msgid "_Clear Tracker"
+msgstr "��追蹤�(_C)"
+
+#: ../gnome-sudoku/data/tracker.ui.h:4
+msgid "_Trackers"
+msgstr "追蹤�(_T)"
+
 #: ../gnome-sudoku/src/gnome-sudoku.in.in:59
 msgid "Sudoku incorrectly installed"
 msgstr "æ?¸ç?¨(Sudoku)æ²?æ??正確ç??å®?è£?"
@@ -6448,118 +7407,110 @@ msgstr "æ?¸ç?¨(Sudoku)ç?¡æ³?å°?é??æ?²æ¨?è¨?ç?ºå·²çµ?æ??ã??"
 msgid "Track moves"
 msgstr "追蹤填�"
 
-#: ../gnome-sudoku/src/lib/main.py:245
+#: ../gnome-sudoku/src/lib/main.py:243
 msgid "New game"
 msgstr "é??æ?°å±?"
 
 # zh_HK: msgstr "æ??å?°ç?®å??ç??é??æ?²"
 # zh_TW: msgstr "å??å?°ç?®å??ç??é??æ?²"
-#: ../gnome-sudoku/src/lib/main.py:247
+#: ../gnome-sudoku/src/lib/main.py:245
 msgid "Print current game"
 msgstr "å??å?°ç?®å??ç??é??æ?²"
 
-#: ../gnome-sudoku/src/lib/main.py:248
+#: ../gnome-sudoku/src/lib/main.py:246
 msgid "Print _Multiple Sudokus"
 msgstr "å??å?°å¤?份æ?¸ç?¨é??æ?²(_M)"
 
-#: ../gnome-sudoku/src/lib/main.py:249
+#: ../gnome-sudoku/src/lib/main.py:247
 msgid "Print more than one sudoku at a time."
-msgstr "ä¸?次é??å??å?°å¤?æ?¼ä¸?份ç??æ?¸ç?¨ã??"
+msgstr "ä¸?次å??å?°å¤?æ?¼ä¸?份ç??æ?¸ç?¨ã??"
 
-#: ../gnome-sudoku/src/lib/main.py:251
+#: ../gnome-sudoku/src/lib/main.py:249
 msgid "Close Sudoku"
 msgstr "é??é??æ?¸ç?¨"
 
-#: ../gnome-sudoku/src/lib/main.py:252
+#: ../gnome-sudoku/src/lib/main.py:250
 msgid "_Tools"
 msgstr "工�(_T)"
 
-#: ../gnome-sudoku/src/lib/main.py:254 ../libgames-support/games-stock.c:317
+#: ../gnome-sudoku/src/lib/main.py:252 ../libgames-support/games-stock.c:319
 msgid "_Hint"
 msgstr "æ??示(_H)"
 
-#: ../gnome-sudoku/src/lib/main.py:256
+#: ../gnome-sudoku/src/lib/main.py:254
 msgid "Show which numbers could go in the current square."
 msgstr "顯示ç?®å??ç??æ?¹æ ¼å?¯ä»¥æ?¥å??å?ªäº?æ?¸å­?ã??"
 
-#: ../gnome-sudoku/src/lib/main.py:258
+#: ../gnome-sudoku/src/lib/main.py:256
 msgid "_Fill"
 msgstr "å¡«å??(_F)"
 
-#: ../gnome-sudoku/src/lib/main.py:259
+#: ../gnome-sudoku/src/lib/main.py:257
 msgid "Automatically fill in the current square if possible."
 msgstr "å?¨è¨±å?¯ç??æ??æ³?ä¸?ç?¡é??å¡«ä¸?ç?®å??ç??æ?¹æ ¼ã??"
 
-#: ../gnome-sudoku/src/lib/main.py:261
+#: ../gnome-sudoku/src/lib/main.py:259
 msgid "Fill _all squares"
 msgstr "å¡«å??æ??æ??æ?¹æ ¼(_A)"
 
-#: ../gnome-sudoku/src/lib/main.py:262
+#: ../gnome-sudoku/src/lib/main.py:260
 msgid ""
 "Automatically fill in all squares for which there is only one valid value."
 msgstr "è?ªå??å¡«å??æ??æ??å?ªæ??ä¸?å??å?¯è?½æ?§ç??æ?¹æ ¼ã??"
 
-#: ../gnome-sudoku/src/lib/main.py:266
+#: ../gnome-sudoku/src/lib/main.py:264
 msgid "_Generate new puzzles"
 msgstr "ç?¢ç??æ?°é¡?ç?®(_G)"
 
-#: ../gnome-sudoku/src/lib/main.py:266
+#: ../gnome-sudoku/src/lib/main.py:264
 msgid "Generate new puzzles."
 msgstr "ç?¢ç??æ?°é¡?ç?®"
 
-#: ../gnome-sudoku/src/lib/main.py:268
+#: ../gnome-sudoku/src/lib/main.py:266
 msgid "Puzzle _Statistics"
 msgstr "��統�(_S)"
 
-#: ../gnome-sudoku/src/lib/main.py:269
+#: ../gnome-sudoku/src/lib/main.py:267
 msgid "Show statistics about current puzzle"
 msgstr "顯示æ??é??ç?®å??é¡?ç?®ç??çµ±è¨?æ?¸å­?"
 
-#: ../gnome-sudoku/src/lib/main.py:275 ../libgames-support/games-stock.c:315
-msgid "_Contents"
-msgstr "�容(_C)"
-
-#: ../gnome-sudoku/src/lib/main.py:281
+#: ../gnome-sudoku/src/lib/main.py:279
 msgid "_Always show hint"
 msgstr "ä¸?å®?顯示æ??示(_A)"
 
-#: ../gnome-sudoku/src/lib/main.py:283
+#: ../gnome-sudoku/src/lib/main.py:281
 msgid "Always show possible numbers in a square"
 msgstr "æ°¸é? å?¨æ?¹æ ¼ä¸­é¡¯ç¤ºæ??æ??å?¯è?½å?ºç?¾ç??æ?¸å­?"
 
-#: ../gnome-sudoku/src/lib/main.py:287
+#: ../gnome-sudoku/src/lib/main.py:285
 msgid "Warn about _unfillable squares"
 msgstr "å?ºç?¾ç?¡æ³?å¡«ä¸?å?§å®¹ç??æ?¹æ ¼æ??ç?¼å?ºè­¦å??(_U)"
 
-#: ../gnome-sudoku/src/lib/main.py:289
+#: ../gnome-sudoku/src/lib/main.py:287
 msgid "Warn about squares made unfillable by a move"
 msgstr "ç?¶å¡«ä¸?æ??å??æ?¹æ ¼æ??令é??æ?²ç?¡æ³?å®?æ??æ??ç?¼å?ºè­¦å??"
 
-#: ../gnome-sudoku/src/lib/main.py:291
+#: ../gnome-sudoku/src/lib/main.py:289
 msgid "_Track additions"
 msgstr "��追蹤(_T)"
 
-#: ../gnome-sudoku/src/lib/main.py:293
+#: ../gnome-sudoku/src/lib/main.py:291
 msgid "Mark new additions in a separate color so you can keep track of them."
 msgstr "以å??å?¥ç??é¡?è?²æ¨?è¨?æ?°å¡«å?¥ç??æ?¸å­?以便追蹤å®?å??ã??"
 
-#: ../gnome-sudoku/src/lib/main.py:295
-msgid "Show _Toolbar"
-msgstr "顯示工å?·å??(_T)"
-
-#: ../gnome-sudoku/src/lib/main.py:296
+#: ../gnome-sudoku/src/lib/main.py:294
 msgid "_Highlighter"
 msgstr "�亮度顯示(_H)"
 
-#: ../gnome-sudoku/src/lib/main.py:297
+#: ../gnome-sudoku/src/lib/main.py:295
 msgid "Highlight the current row, column and box"
 msgstr "å? å¼·é¡¯ç¤ºç?®å??æ?¹æ ¼æ??å?¨ç??è¡?å??å??"
 
-#: ../gnome-sudoku/src/lib/main.py:298
+#: ../gnome-sudoku/src/lib/main.py:296
 msgid "Generate new puzzles _while you play"
 msgstr "ç?¶æ?¨å?¨ç?©ç??æ??å??ç?¢ç??æ?°ç??é¡?ç?®(_W)"
 
-#: ../gnome-sudoku/src/lib/main.py:300
+#: ../gnome-sudoku/src/lib/main.py:298
 msgid ""
 "Generate new puzzles in the background while you play. This will "
 "automatically pause when the game goes into the background."
@@ -6567,133 +7518,129 @@ msgstr ""
 "ç?¶æ?¨æ­£å?¨è§£æ±ºé¡?ç?®æ??è®?ç¨?å¼?è?ªè¡?å?¨è??æ?¯ç?¢ç??æ?°é¡?ç?®ã??æ­¤ç¨?åº?æ??å?¨é¡?ç?®æ?¬èº«å??æ??å?°è??æ?¯æ??"
 "å??æ­¢å?·è¡?ã??"
 
-#: ../gnome-sudoku/src/lib/main.py:306
+#: ../gnome-sudoku/src/lib/main.py:304
 msgid "_Edit"
 msgstr "編輯(_E)"
 
-#: ../gnome-sudoku/src/lib/main.py:307
+#: ../gnome-sudoku/src/lib/main.py:305
 msgid "_Undo"
 msgstr "å??æ??(_U)"
 
-#: ../gnome-sudoku/src/lib/main.py:307
+#: ../gnome-sudoku/src/lib/main.py:305
 msgid "Undo last action"
 msgstr "é??å??ä¸?ä¸?æ­¥"
 
-#: ../gnome-sudoku/src/lib/main.py:308
+#: ../gnome-sudoku/src/lib/main.py:306
 msgid "_Redo"
 msgstr "å??æ¶?å??æ??(_R)"
 
-#: ../gnome-sudoku/src/lib/main.py:308
+#: ../gnome-sudoku/src/lib/main.py:306
 msgid "Redo last action"
 msgstr "é??æ?°é?²è¡?å??é??å??ç??ä¸?æ­¥"
 
-#: ../gnome-sudoku/src/lib/main.py:309
+#: ../gnome-sudoku/src/lib/main.py:307
 #: ../gnome-sudoku/src/lib/number_box.py:54
 msgid "_Clear"
 msgstr "��(_C)"
 
-#: ../gnome-sudoku/src/lib/main.py:309
+#: ../gnome-sudoku/src/lib/main.py:307
 msgid "Clear entries you've filled in"
 msgstr "æ¸?é?¤æ??æ??æ?¨å¡«ä¸?ç??æ?¸å­?"
 
-#: ../gnome-sudoku/src/lib/main.py:310
+#: ../gnome-sudoku/src/lib/main.py:308
 msgid "Clear _Notes"
 msgstr "����(_N)"
 
-#: ../gnome-sudoku/src/lib/main.py:310
+#: ../gnome-sudoku/src/lib/main.py:308
 msgid "Clear notes and hints"
 msgstr "æ¸?é?¤æ¨?è¨?å??æ??示"
 
-#: ../gnome-sudoku/src/lib/main.py:424
+#: ../gnome-sudoku/src/lib/main.py:417
 #, python-format
 msgid "You completed the puzzle in %(totalTime)s (%(activeTime)s active)"
 msgstr "æ?¨å?¨ %(totalTime)s å?§å®?æ??äº?é??å??é¡?ç?®ï¼?使ç?¨äº? %(activeTime)s ï¼?"
 
-#: ../gnome-sudoku/src/lib/main.py:428
+#: ../gnome-sudoku/src/lib/main.py:421
 #, python-format
 msgid "You got %(n)s hint"
 msgid_plural "You got %(n)s hints"
 msgstr[0] "æ?¨å¾?å?° %(n)s 次æ??示"
 
-#: ../gnome-sudoku/src/lib/main.py:431
+#: ../gnome-sudoku/src/lib/main.py:424
 #, python-format
 msgid "You had %(n)s impossibility pointed out."
 msgid_plural "You had %(n)s impossibilities pointed out."
 msgstr[0] "å·²ç?ºæ?¨æ??å?º %(n)s 種ä¸?å?¯è?½æ?§ã??"
 
-#: ../gnome-sudoku/src/lib/main.py:436
+#: ../gnome-sudoku/src/lib/main.py:429
 #, python-format
 msgid "You used the auto-fill %(n)s time"
 msgid_plural "You used the auto-fill %(n)s times"
 msgstr[0] "æ?¨ä½¿ç?¨äº? %(n)s 次è?ªå??å¡«å??"
 
-#: ../gnome-sudoku/src/lib/main.py:461
+#: ../gnome-sudoku/src/lib/main.py:453
 msgid "Save this game before starting new one?"
 msgstr "å?¨é??å§?æ?°ç??é??æ?²å??å?²å­?é??å??é??æ?²ï¼?"
 
-#: ../gnome-sudoku/src/lib/main.py:462
+#: ../gnome-sudoku/src/lib/main.py:454
 msgid "_Save game for later"
 msgstr "å?²å­?é??æ?²ä»¥å¾?å??ç?©(_S)"
 
-#: ../gnome-sudoku/src/lib/main.py:463
+#: ../gnome-sudoku/src/lib/main.py:455
 msgid "_Abandon game"
 msgstr "æ?¾æ£?é??æ?²(_A)"
 
-#: ../gnome-sudoku/src/lib/main.py:662
+#: ../gnome-sudoku/src/lib/main.py:649
 #, python-format
 msgid "Playing %(difficulty)s puzzle."
 msgstr "æ­£å?¨é?²è¡?ç­?ç´?ç?º %(difficulty)s ç??é¡?ç?®ã??"
 
-#: ../gnome-sudoku/src/lib/main.py:678
+#: ../gnome-sudoku/src/lib/main.py:665
 msgid "Puzzle Information"
 msgstr "����"
 
-#: ../gnome-sudoku/src/lib/main.py:679
+#: ../gnome-sudoku/src/lib/main.py:666
 msgid "There is no current puzzle."
 msgstr "ç?®å??æ²?æ??é¡?ç?®ã??"
 
-#: ../gnome-sudoku/src/lib/main.py:684
+#: ../gnome-sudoku/src/lib/main.py:671
 msgid "Calculated difficulty: "
 msgstr "ç¶?è¨?ç®?å¾?ç??é?£åº¦ï¼?"
 
-#: ../gnome-sudoku/src/lib/main.py:688
+#: ../gnome-sudoku/src/lib/main.py:675
 msgid "Number of moves instantly fillable by elimination: "
 msgstr "å?¯ä»¥ç?¨æ¶?å?»æ³?å?³æ??å¡«ä¸?ç??æ?¹æ ¼ï¼?"
 
-#: ../gnome-sudoku/src/lib/main.py:691
+#: ../gnome-sudoku/src/lib/main.py:678
 msgid "Number of moves instantly fillable by filling: "
 msgstr "å?¯ä»¥å?³æ??å¡«ä¸?ç??æ?¹æ ¼ï¼?"
 
-#: ../gnome-sudoku/src/lib/main.py:694
+#: ../gnome-sudoku/src/lib/main.py:681
 msgid "Amount of trial-and-error required to solve: "
 msgstr "é??è¦?使ç?¨è©¦é?¯æ³?ç??次æ?¸ï¼?"
 
-#: ../gnome-sudoku/src/lib/main.py:697 ../gnome-sudoku/src/lib/main.py:698
+#: ../gnome-sudoku/src/lib/main.py:684 ../gnome-sudoku/src/lib/main.py:685
 msgid "Puzzle Statistics"
 msgstr "��統�"
 
 #. Our initial row...
-#: ../gnome-sudoku/src/lib/main.py:788
+#: ../gnome-sudoku/src/lib/main.py:775
 msgid "No Tracker"
 msgstr "æ²?æ??追蹤å?¨"
 
-#: ../gnome-sudoku/src/lib/main.py:797
-msgid "_Clear Tracker"
-msgstr "��追蹤�(_C)"
-
-#: ../gnome-sudoku/src/lib/main.py:798
+#: ../gnome-sudoku/src/lib/main.py:785
 msgid "Clear all moves tracked by selected tracker."
 msgstr "æ¸?é?¤æ??æ??以é?¸å??ç??追蹤å?¨è¿½è¹¤ç??å¡«æ³?ã??"
 
-#: ../gnome-sudoku/src/lib/main.py:802
+#: ../gnome-sudoku/src/lib/main.py:789
 msgid "_Clear Others"
 msgstr "æ¸?é?¤å?¶ä»?ç??(_C)"
 
-#: ../gnome-sudoku/src/lib/main.py:804
+#: ../gnome-sudoku/src/lib/main.py:791
 msgid "Clear all moves not tracked by selected tracker."
 msgstr "æ¸?é?¤æ??æ??ä¸?被é?¸å??ç??追蹤å?¨è¿½è¹¤ç??å¡«æ³?ã??"
 
-#: ../gnome-sudoku/src/lib/main.py:829
+#: ../gnome-sudoku/src/lib/main.py:816
 #, python-format
 msgid "Tracker %s"
 msgstr "追蹤� %s"
@@ -6873,7 +7820,7 @@ msgstr "æ??æ??å?°é?·å·²ç¶?æ¸?é?¤ï¼?"
 msgid "Mines Scores"
 msgstr "GNOME æ??å?°é?·ç©?å??æ¦?"
 
-#: ../gnomine/gnomine.c:217 ../gnotravex/gnotravex.c:1232
+#: ../gnomine/gnomine.c:217 ../gnotravex/gnotravex.c:1234
 #: ../same-gnome/ui.c:148
 msgid "Size:"
 msgstr "大��"
@@ -6886,19 +7833,19 @@ msgstr "æ??ä»»ä½?ä¸?å??空格"
 msgid "Maybe they're all mines ..."
 msgstr "å?¯è?½ä»»ä½?ä¸?å??空格é?½æ?¯å?°é?·..."
 
-#: ../gnomine/gnomine.c:450
+#: ../gnomine/gnomine.c:451
 msgid "Resizing and SVG support:"
 msgstr "æ?¾å¤§ç¸®å°?å?? SVG æ?¯æ?´ï¼?"
 
-#: ../gnomine/gnomine.c:457
+#: ../gnomine/gnomine.c:458
 msgid "Faces:"
 msgstr "ç¬?è??ï¼?"
 
-#: ../gnomine/gnomine.c:460
+#: ../gnomine/gnomine.c:461
 msgid "Graphics:"
 msgstr "å??å½¢ï¼?"
 
-#: ../gnomine/gnomine.c:476
+#: ../gnomine/gnomine.c:477
 msgid ""
 "The popular logic puzzle minesweeper. Clear mines from a board using hints "
 "from squares you have already uncovered.\n"
@@ -6910,77 +7857,77 @@ msgstr ""
 "\n"
 "æ??å?°é?·(Mines)æ?¯ GNOME é??æ?²ç??ä¸?é?¨å??ã??"
 
-#: ../gnomine/gnomine.c:687
+#: ../gnomine/gnomine.c:688
 msgid "Field Size"
 msgstr "�格�大�"
 
-#: ../gnomine/gnomine.c:710
+#: ../gnomine/gnomine.c:711
 msgid "Custom Size"
 msgstr "��大�"
 
-#: ../gnomine/gnomine.c:717
+#: ../gnomine/gnomine.c:718
 msgid "_Number of mines:"
 msgstr "å?°é?·æ?¸é??(_N)ï¼?"
 
-#: ../gnomine/gnomine.c:730
+#: ../gnomine/gnomine.c:731
 msgid "_Horizontal:"
 msgstr "æ°´å¹³(_H)ï¼?"
 
-#: ../gnomine/gnomine.c:742
+#: ../gnomine/gnomine.c:743
 msgid "_Vertical:"
 msgstr "å??ç?´(_V)ï¼?"
 
-#: ../gnomine/gnomine.c:759
+#: ../gnomine/gnomine.c:760
 msgid "Flags"
 msgstr "æ??å¹?"
 
-#: ../gnomine/gnomine.c:762
+#: ../gnomine/gnomine.c:763
 msgid "_Use \"I'm not sure\" flags"
 msgstr "å?¯å°?æ?¹æ ¼æ¨?è¨?ç?ºã??ä¸?ç?¥é??ã??(_U)"
 
-#: ../gnomine/gnomine.c:773
+#: ../gnomine/gnomine.c:774
 msgid "Warnings"
 msgstr "è­¦å??"
 
-#: ../gnomine/gnomine.c:776
+#: ../gnomine/gnomine.c:777
 msgid "_Use \"Too many flags\" warning"
 msgstr "使ç?¨ã??æ¨?è¨?é??å¤?ã??è­¦å??(_U)"
 
-#: ../gnomine/gnomine.c:787
+#: ../gnomine/gnomine.c:788
 msgid "Mines Preferences"
 msgstr "GNOME æ??å?°é?·å??好設å®?"
 
-#: ../gnomine/gnomine.c:991
+#: ../gnomine/gnomine.c:992
 msgid "Width of grid"
 msgstr "æ ¼å­?ç??寬度"
 
-#: ../gnomine/gnomine.c:992
+#: ../gnomine/gnomine.c:993
 msgid "Height of grid"
 msgstr "æ ¼å­?ç??é«?度"
 
-#: ../gnomine/gnomine.c:994
+#: ../gnomine/gnomine.c:995
 msgid "Number of mines"
 msgstr "å?°é?·æ?¸é??"
 
-#: ../gnomine/gnomine.c:997 ../gnomine/gnomine.schemas.in.h:8
+#: ../gnomine/gnomine.c:998 ../gnomine/gnomine.schemas.in.h:8
 msgid "Size of the board (0-2 = small-large, 3=custom)"
 msgstr "��大� (0-2 表示��大�3 表示��)"
 
-#: ../gnomine/gnomine.c:998 ../gnotravex/gnotravex.c:398
+#: ../gnomine/gnomine.c:999 ../gnotravex/gnotravex.c:398
 #: ../gnotski/gnotski.c:466 ../iagno/gnothello.c:145
 msgid "X location of window"
 msgstr "��水平�置"
 
-#: ../gnomine/gnomine.c:1000 ../gnotravex/gnotravex.c:400
+#: ../gnomine/gnomine.c:1001 ../gnotravex/gnotravex.c:400
 #: ../gnotski/gnotski.c:468 ../iagno/gnothello.c:147
 msgid "Y location of window"
 msgstr "è¦?çª?å??ç?´ä½?ç½®"
 
-#: ../gnomine/gnomine.c:1146
+#: ../gnomine/gnomine.c:1149
 msgid "Press to Resume"
 msgstr "è«?æ??é??裡繼çº?é??æ?²"
 
-#: ../gnomine/gnomine.c:1180
+#: ../gnomine/gnomine.c:1183
 msgid "Time: "
 msgstr "æ??é??ï¼?"
 
@@ -7228,28 +8175,28 @@ msgstr "ç??é?¢ç??大å°?(2-6)"
 msgid "SIZE"
 msgstr "大�"
 
-#: ../gnotravex/gnotravex.c:1114
+#: ../gnotravex/gnotravex.c:1116
 msgid "Puzzle solved! Well done!"
 msgstr "解決äº?ï¼?å??å¾?好ï¼?"
 
-#: ../gnotravex/gnotravex.c:1116
+#: ../gnotravex/gnotravex.c:1118
 msgid "Puzzle solved!"
 msgstr "解決��"
 
-#: ../gnotravex/gnotravex.c:1230
+#: ../gnotravex/gnotravex.c:1232
 msgid "Tetravex Scores"
 msgstr "æ?¸å­?æ?¼å??ç©?å??æ¦?"
 
-#: ../gnotravex/gnotravex.c:1497 ../mahjongg/mahjongg.c:977
+#: ../gnotravex/gnotravex.c:1498 ../mahjongg/mahjongg.c:977
 msgid "Game paused"
 msgstr "é??æ?²æ?«å??"
 
-#: ../gnotravex/gnotravex.c:1625
+#: ../gnotravex/gnotravex.c:1626
 #, c-format
 msgid "Playing %dÃ?%d board"
 msgstr "使ç?¨ %dÃ?%d æ ¼ç??ç??é?¢"
 
-#: ../gnotravex/gnotravex.c:1907
+#: ../gnotravex/gnotravex.c:1908
 msgid ""
 "GNOME Tetravex is a simple puzzle where pieces must be positioned so that "
 "the same numbers are touching each other.\n"
@@ -7467,23 +8414,23 @@ msgstr "ä¸?å??ç??å??"
 msgid "Previous Puzzle"
 msgstr "ä¸?å??ç??å??"
 
-#: ../gnotski/gnotski.c:675
+#: ../gnotski/gnotski.c:677
 msgid "Level completed."
 msgstr "é ?å?©é??é??ã??"
 
-#: ../gnotski/gnotski.c:813
+#: ../gnotski/gnotski.c:815
 msgid "The Puzzle Has Been Solved!"
 msgstr "此��已�被破解��"
 
-#: ../gnotski/gnotski.c:830
+#: ../gnotski/gnotski.c:832
 msgid "Klotski Scores"
 msgstr "è?¯å®¹é??ç©?å??æ¦?"
 
-#: ../gnotski/gnotski.c:833
+#: ../gnotski/gnotski.c:835
 msgid "Puzzle:"
 msgstr "é¡?ç?®:"
 
-#: ../gnotski/gnotski.c:917
+#: ../gnotski/gnotski.c:919
 msgid ""
 "The theme for this game failed to render.\n"
 "\n"
@@ -7493,7 +8440,7 @@ msgstr ""
 "\n"
 "è«?確ä¿?è?¯å®¹é??已正確å®?è£?ã??"
 
-#: ../gnotski/gnotski.c:1164
+#: ../gnotski/gnotski.c:1166
 #, c-format
 msgid ""
 "Could not find the image:\n"
@@ -7506,12 +8453,12 @@ msgstr ""
 "\n"
 "è«?確ä¿?è?¯å®¹é??已正確å®?è£?ã??"
 
-#: ../gnotski/gnotski.c:1203
+#: ../gnotski/gnotski.c:1205
 #, c-format
 msgid "Moves: %d"
 msgstr "步��%d"
 
-#: ../gnotski/gnotski.c:1532
+#: ../gnotski/gnotski.c:1534
 msgid ""
 "Sliding Block Puzzles\n"
 "\n"
@@ -7686,7 +8633,7 @@ msgstr "æ??å­?模å¼?ç??æ?¬ (1992)ï¼?"
 
 #: ../gtali/gyahtzee.c:600
 msgid "Colors game and multi-level AI (2006):"
-msgstr "é¡?è?²é??æ?²è??å¤?層次 AI (2006):"
+msgstr ""
 
 #: ../gtali/gyahtzee.c:618
 msgid ""
@@ -7981,37 +8928,37 @@ msgstr "çµ?æ??å¾?å??é??é??æ?¹æ£?å­?(_F)"
 msgid "_Tile set:"
 msgstr "å??å½¢é??(_T)ï¼?"
 
-#: ../libgames-support/eggdesktopfile.c:165
+#: ../libgames-support/eggdesktopfile.c:169
 #, c-format
 msgid "File is not a valid .desktop file"
 msgstr "æª?æ¡?ä¸?æ?¯æ??æ??ç?? .desktop æª?æ¡?"
 
-#: ../libgames-support/eggdesktopfile.c:188
+#: ../libgames-support/eggdesktopfile.c:192
 #, c-format
 msgid "Unrecognized desktop file Version '%s'"
 msgstr "ç?¡æ³?辨è­?ç??æ¡?é?¢æª?æ¡?ç??æ?¬ã??%sã??"
 
-#: ../libgames-support/eggdesktopfile.c:958
+#: ../libgames-support/eggdesktopfile.c:966
 #, c-format
 msgid "Starting %s"
 msgstr "æº?å??å??å?? %s"
 
-#: ../libgames-support/eggdesktopfile.c:1100
+#: ../libgames-support/eggdesktopfile.c:1108
 #, c-format
 msgid "Application does not accept documents on command line"
 msgstr "æ??ç?¨ç¨?å¼?ä¸?æ?¥å??以å?½ä»¤å??é??å??æ??件"
 
-#: ../libgames-support/eggdesktopfile.c:1168
+#: ../libgames-support/eggdesktopfile.c:1176
 #, c-format
 msgid "Unrecognized launch option: %d"
 msgstr "ç?¡æ³?辨è­?ç??å??å??é?¸é ?ï¼?%d"
 
-#: ../libgames-support/eggdesktopfile.c:1373
+#: ../libgames-support/eggdesktopfile.c:1381
 #, c-format
 msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
 msgstr "ä¸?è?½å?³é??æ??件 URI è?³ã??Type=Linkã??æ¡?é?¢é ?ç?®"
 
-#: ../libgames-support/eggdesktopfile.c:1392
+#: ../libgames-support/eggdesktopfile.c:1402
 #, c-format
 msgid "Not a launchable item"
 msgstr "ä¸?æ?¯å?¯ä»¥å??å??ç??é ?ç?®"
@@ -8188,10 +9135,6 @@ msgctxt "card symbol"
 msgid "1"
 msgstr "1"
 
-#: ../libgames-support/games-card-selector.c:123
-msgid "Card Style"
-msgstr "ç´?ç??款å¼?"
-
 #: ../libgames-support/games-controls.c:286
 msgid "Unknown Command"
 msgstr "ä¸?æ??æ??令"
@@ -8241,6 +9184,16 @@ msgstr "å??ç?´æ??å??"
 msgid "The vertical alignment, from 0 (top) to 1 (bottom)"
 msgstr "å??ç?´æ??å??ï¼?ç?± 0 (ä¸?) è?³ 1 (ä¸?)"
 
+#. %s.%s is the game name + the extension HTML or XHTML, e.g. Klondike.html"
+#: ../libgames-support/games-help.c:114
+#, c-format
+msgid "Help file â??%s.%sâ?? not found"
+msgstr "æ?¾ä¸?å?°ã??%s.%sã??æ±?å?©æª?æ¡?"
+
+#: ../libgames-support/games-runtime.c:273
+msgid "Could not show link"
+msgstr "��顯示��"
+
 #. Note that this assumes the default style is plain.
 #: ../libgames-support/games-scores-dialog.c:119
 #: ../libgames-support/games-scores-dialog.c:546
@@ -8253,135 +9206,121 @@ msgstr "å??æ?¸"
 msgid "%dm %ds"
 msgstr "%d å?? %d ç§?"
 
-#: ../libgames-support/games-scores-dialog.c:438
-msgid "New Game"
-msgstr "é??æ?°å±?"
-
-#: ../libgames-support/games-stock.c:48
+#: ../libgames-support/games-stock.c:47
 msgid "End the current game"
 msgstr "çµ?æ­¢ç?®å??é??å±?é??æ?²"
 
-#: ../libgames-support/games-stock.c:49
+#: ../libgames-support/games-stock.c:48
 msgid "Toggle fullscreen mode"
 msgstr "å??æ??å?¨è?¢å¹?模å¼?"
 
-#: ../libgames-support/games-stock.c:51
+#: ../libgames-support/games-stock.c:50
 msgid "Leave fullscreen mode"
 msgstr "é?¢é??å?¨è?¢å¹?模å¼?"
 
 #: ../libgames-support/games-stock.c:52
-msgid "Start a new multiplayer network game"
-msgstr "é??å§?ä¸?å??æ?°ç??å¤?人網路é??æ?²"
-
-#: ../libgames-support/games-stock.c:53
 msgid "End the current network game and return to network server"
 msgstr "çµ?æ­¢ç?®å??ç??網路é??æ?²ï¼?å??å?°ä¼ºæ??å?¨"
 
-#: ../libgames-support/games-stock.c:55 ../mahjongg/mahjongg.c:1249
+#: ../libgames-support/games-stock.c:54 ../mahjongg/mahjongg.c:1249
 msgid "Pause the game"
 msgstr "æ?«å??é??æ?²"
 
-#: ../libgames-support/games-stock.c:56
+#: ../libgames-support/games-stock.c:55
 msgid "Show a list of players in the network game"
 msgstr "顯示網路é??æ?²ä¸­ç??ç?©å®¶å??å?®"
 
-#: ../libgames-support/games-stock.c:59 ../mahjongg/mahjongg.c:1252
+#: ../libgames-support/games-stock.c:58 ../mahjongg/mahjongg.c:1252
 msgid "Resume the paused game"
 msgstr "ç¹¼çº?é??æ?²"
 
-#: ../libgames-support/games-stock.c:60
+#: ../libgames-support/games-stock.c:59
 msgid "View the scores"
 msgstr "顯示å¾?å??"
 
-#: ../libgames-support/games-stock.c:64
+#: ../libgames-support/games-stock.c:63
 msgid "Configure the game"
 msgstr "é??æ?²è¨­å®?"
 
-#: ../libgames-support/games-stock.c:65
+#: ../libgames-support/games-stock.c:64
 msgid "Quit this game"
 msgstr "é??å?ºæ?¬é??æ?²"
 
-#: ../libgames-support/games-stock.c:316
+#: ../libgames-support/games-stock.c:318
 msgid "_Fullscreen"
 msgstr "���(_F)"
 
 #. Translators: This "_New" is for the menu item 'Game->New', implies "New Game"
-#: ../libgames-support/games-stock.c:319
+#: ../libgames-support/games-stock.c:321
 msgid "_New"
 msgstr "é??æ?°å±?(_N)"
 
-#: ../libgames-support/games-stock.c:322
+#: ../libgames-support/games-stock.c:324
 msgid "_Redo Move"
 msgstr "å??æ¶?å??æ??(_R)"
 
 #. Translators: this is the "Reset" scores button in a scores dialogue
-#: ../libgames-support/games-stock.c:324
+#: ../libgames-support/games-stock.c:326
 msgid "_Reset"
 msgstr "é??設(_R)"
 
 #. Translators: "_Restart" is the menu item 'Game->Restart', implies "Restart Game"
-#: ../libgames-support/games-stock.c:326
+#: ../libgames-support/games-stock.c:328
 msgid "_Restart"
 msgstr "å??ç?©(_R)"
 
-#: ../libgames-support/games-stock.c:327
-msgid "_Undo Move"
-msgstr "å??æ??(_U)"
-
-#: ../libgames-support/games-stock.c:328
+#: ../libgames-support/games-stock.c:330
 msgid "_Deal"
 msgstr "ç?¼ç??(_D)"
 
-#: ../libgames-support/games-stock.c:330
+#: ../libgames-support/games-stock.c:332
 msgid "_Leave Fullscreen"
 msgstr "å??æ¶?å?¨è?¢å¹?(_L)"
 
-#: ../libgames-support/games-stock.c:331
-msgid "Network _Game"
-msgstr "網路é??æ?²(_G)"
-
-#: ../libgames-support/games-stock.c:332
+#: ../libgames-support/games-stock.c:334
 msgid "L_eave Game"
 msgstr "é?¢é??é??æ?²(_E)"
 
-#: ../libgames-support/games-stock.c:333
+#: ../libgames-support/games-stock.c:335
 msgid "Player _List"
 msgstr "ç?©å®¶å??å?®(_L)"
 
-#: ../libgames-support/games-stock.c:334
+#: ../libgames-support/games-stock.c:336
 msgid "_Pause"
 msgstr "æ?«å??(_P)"
 
-#: ../libgames-support/games-stock.c:335
+#: ../libgames-support/games-stock.c:337
 msgid "Res_ume"
 msgstr "繼�(_U)"
 
-#: ../libgames-support/games-stock.c:336
+#: ../libgames-support/games-stock.c:338
 msgid "_Scores"
 msgstr "å??æ?¸(_S)"
 
-#: ../libgames-support/games-stock.c:337
+#: ../libgames-support/games-stock.c:339
 msgid "_End Game"
 msgstr "çµ?æ??é??æ?²(_E)"
 
-#: ../libgames-support/games-stock.c:343
+#. Work around maemo brokenness wrt. stock item translations.
+#. * See https://bugs.maemo.org/show_bug.cgi?id=1449 .
+#: ../libgames-support/games-stock.c:345
 msgid "_About"
 msgstr "é??æ?¼(_A)"
 
-#: ../libgames-support/games-stock.c:344
+#: ../libgames-support/games-stock.c:346
 msgid "_Cancel"
 msgstr "å??æ¶?(_C)"
 
-#: ../libgames-support/games-stock.c:345
+#: ../libgames-support/games-stock.c:347
 msgid "_Close"
 msgstr "é??é??(_C)"
 
-#: ../libgames-support/games-stock.c:346
+#: ../libgames-support/games-stock.c:348
 msgid "_OK"
 msgstr "確�(_O)"
 
 #. %s is replaced with the name of the game in gnome-games.
-#: ../libgames-support/games-stock.c:407
+#: ../libgames-support/games-stock.c:409
 #, c-format
 msgid ""
 "%s is free software; you can redistribute it and/or modify it under the "
@@ -8393,13 +9332,31 @@ msgstr ""
 "ç¨?å¼?å??ç?ºæ?£ä½?è??ï¼?æ??ä¿®æ?¹ï¼?ç?¡è«?æ?¨ä¾?æ??ç??æ?¯æ?¬æ??æ¬?ç??第äº?ç??æ??ï¼?æ?¨è?ªè¡?é?¸æ??ç??ï¼?第 %d "
 "ç??ã??"
 
-#: ../lightsoff/lightsoff.desktop.in.in.h:1
+#: ../lightsoff/lightsoff.desktop.in.in.h:1 ../lightsoff/data/lightsoff.ui.h:1
+#: ../lightsoff/data/settings.ui.h:1
+#, fuzzy
 msgid "Lights Off"
-msgstr "é??ç??"
+msgstr "é??é??"
 
 #: ../lightsoff/lightsoff.desktop.in.in.h:2
+#, fuzzy
 msgid "Turn off all the lights"
-msgstr "é??æ??æ??æ??ç??ç??"
+msgstr "é??é??詳細輸å?º"
+
+#: ../lightsoff/data/settings.ui.h:2
+msgid "Look & Feel"
+msgstr ""
+
+#: ../lightsoff/data/settings.ui.h:3
+#: ../same-gnome-clutter/data/settings.ui.h:7
+#, fuzzy
+#| msgid "_Theme:"
+msgid "Theme:"
+msgstr "��主�(_T)�"
+
+#: ../lightsoff/data/settings.ui.h:4
+msgid "Use colors from GNOME theme"
+msgstr ""
 
 #: ../mahjongg/drawing.c:305
 msgid ""
@@ -8514,15 +9471,15 @@ msgstr "�海麻� - %s"
 msgid "Redo the last move"
 msgstr "é??å??ä¸?ä¸?æ­¥"
 
-#: ../mahjongg/mahjongg.c:1445
+#: ../mahjongg/mahjongg.c:1447
 msgid "Tiles Left:"
 msgstr "å?©é¤?ç??æ?¸:"
 
-#: ../mahjongg/mahjongg.c:1454
+#: ../mahjongg/mahjongg.c:1456
 msgid "Moves Left:"
 msgstr "��步�:"
 
-#: ../mahjongg/mahjongg.c:1516
+#: ../mahjongg/mahjongg.c:1518
 msgid "Remove matching pairs of tiles."
 msgstr "å°?ç?¸å??ç??é?¢ç??麻å°?ä¸?å°?å°?å?°ç§»èµ°ã??"
 
@@ -8599,10 +9556,14 @@ msgid "Game size (1=small, 3=large)"
 msgstr "é??æ?²ç?«é?¢å¤§å°? (1 表示å°?ï¼?3 表示大)"
 
 #: ../same-gnome/same-gnome.desktop.in.in.h:1
+#: ../same-gnome-clutter/same-gnome-clutter-c.desktop.in.in.h:1
+#: ../same-gnome-clutter/same-gnome-clutter.desktop.in.in.h:1
 msgid "Clear the screen by removing groups of colored balls"
 msgstr "æ¸?é?¤ç?«é?¢ä¸?è??å?¨ä¸?èµ·ç??å??è?²ç??"
 
 #: ../same-gnome/same-gnome.desktop.in.in.h:2
+#: ../same-gnome-clutter/data/same-gnome.ui.h:1
+#: ../same-gnome-clutter/data/settings.ui.h:5
 msgid "Same GNOME"
 msgstr "Same GNOME"
 
@@ -8696,10 +9657,6 @@ msgstr "��主�(_T)..."
 msgid "_Small"
 msgstr "å°?(_S)"
 
-#: ../same-gnome/ui.c:479
-msgid "_Medium"
-msgstr "中(_M)"
-
 #: ../same-gnome/ui.c:480
 msgid "_Large"
 msgstr "大(_L)"
@@ -8717,3 +9674,54 @@ msgid ""
 "It is impossible to play the game. Please check that the game has been "
 "installed correctly and try again."
 msgstr "ç?¾å?¨ç?¡æ³?ç?©é??æ?²ã??è«?確ä¿?é??æ?²å·²ç¶?正確å®?è£?ï¼?並å??試ä¸?次ã??"
+
+#: ../same-gnome-clutter/data/settings.ui.h:2
+#, fuzzy
+#| msgid "_Board size:"
+msgid "Board size:"
+msgstr "��大�(_B):"
+
+#: ../same-gnome-clutter/data/settings.ui.h:3
+#, fuzzy
+#| msgid "_Number of players:"
+msgid "Number of colors:"
+msgstr "�家��(_N)�"
+
+#: ../same-gnome-clutter/data/settings.ui.h:8
+#, fuzzy
+#| msgid "_Fast Animation"
+msgid "Zealous Animation"
+msgstr "å¿«é??å??ä½?(_F)"
+
+#: ../same-gnome-clutter/same-gnome-clutter-c.desktop.in.in.h:2
+#, fuzzy
+#| msgid "Same GNOME Theme"
+msgid "Same GNOME (Clutter, C)"
+msgstr "Same GNOME ��主�"
+
+#: ../same-gnome-clutter/same-gnome-clutter.desktop.in.in.h:2
+#, fuzzy
+#| msgid "Same GNOME"
+msgid "Same GNOME (Clutter)"
+msgstr "Same GNOME"
+
+#~ msgid "Terrace~"
+#~ msgstr "Terrace~"
+
+#, fuzzy
+#~| msgid "Appearance"
+#~ msgid "<b>Appearance</b>"
+#~ msgstr "��"
+
+#, fuzzy
+#~| msgid "Operation"
+#~ msgid "<b>Operation</b>"
+#~ msgstr "æ??ä½?"
+
+#, fuzzy
+#~| msgid "<b>Server</b>"
+#~ msgid "<b>Setup</b>"
+#~ msgstr "<b>伺æ??å?¨</b>"
+
+#~ msgid "Could not show Aisleriot help"
+#~ msgstr "ç?¡æ³?顯示 Aisleriot ç??æ±?å?©æ??件"



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