Commits

Wagner Bruna committed 0fd54c3

i18n: pull latest translations from Launchpad

Including messages up to e8ada1a4d891 .

Comments (0)

Files changed (34)

i18n/tortoisehg/ar.po

 msgstr ""
 "Project-Id-Version: tortoisehg\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2012-06-27 10:11-0300\n"
+"POT-Creation-Date: 2012-08-31 21:38-0300\n"
 "PO-Revision-Date: 2011-10-25 07:12+0000\n"
 "Last-Translator: Fadi Mansour <Unknown>\n"
 "Language-Team: Arabic <ar@li.org>\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n % 100 >= "
 "3 && n % 100 <= 10 ? 3 : n % 100 >= 11 && n % 100 <= 99 ? 4 : 5;\n"
-"X-Launchpad-Export-Date: 2012-06-28 04:43+0000\n"
-"X-Generator: Launchpad (build 15505)\n"
+"X-Launchpad-Export-Date: 2012-09-01 04:57+0000\n"
+"X-Generator: Launchpad (build 15890)\n"
 
 #: TortoiseHgOverlayServer.py:51
 msgid "TortoiseHg Overlay Icon Server"
 msgstr "فقط الملفات المعدلة/المنشأة في هذه المراجعة"
 
 #: tortoisehg/hgqt/archive.py:47 tortoisehg/hgqt/grep.py:68
-#: tortoisehg/hgqt/sync.py:1700
+#: tortoisehg/hgqt/sync.py:1718
 msgid "Recurse into subrepositories"
 msgstr "النزول للمجلدات الفرعية"
 
 msgid "Archive types:"
 msgstr "أنواع الأرشيفات:"
 
-#: tortoisehg/hgqt/archive.py:69 tortoisehg/hgqt/archive.py:240
+#: tortoisehg/hgqt/archive.py:69 tortoisehg/hgqt/archive.py:239
 msgid "Directory of files"
 msgstr "قائمة الملفات"
 
 msgstr ""
 
 #: tortoisehg/hgqt/archive.py:114 tortoisehg/hgqt/backout.py:300
-#: tortoisehg/hgqt/commit.py:415 tortoisehg/hgqt/commit.py:423
-#: tortoisehg/hgqt/commit.py:754 tortoisehg/hgqt/commit.py:822
-#: tortoisehg/hgqt/commit.py:850 tortoisehg/hgqt/compress.py:152
+#: tortoisehg/hgqt/commit.py:416 tortoisehg/hgqt/commit.py:424
+#: tortoisehg/hgqt/commit.py:761 tortoisehg/hgqt/commit.py:830
+#: tortoisehg/hgqt/commit.py:858 tortoisehg/hgqt/compress.py:152
+#: tortoisehg/hgqt/customtools.py:452 tortoisehg/hgqt/graft.py:50
+#: tortoisehg/hgqt/graft.py:275 tortoisehg/hgqt/graft.py:296
 #: tortoisehg/hgqt/lfprompt.py:23 tortoisehg/hgqt/merge.py:105
 #: tortoisehg/hgqt/merge.py:241 tortoisehg/hgqt/merge.py:319
-#: tortoisehg/hgqt/quickop.py:185 tortoisehg/hgqt/rebase.py:240
+#: tortoisehg/hgqt/quickop.py:186 tortoisehg/hgqt/rebase.py:240
 #: tortoisehg/hgqt/rebase.py:261 tortoisehg/hgqt/rename.py:110
 #: tortoisehg/hgqt/reporegistry.py:208 tortoisehg/hgqt/resolve.py:356
-#: tortoisehg/hgqt/settings.py:1110 tortoisehg/hgqt/settings.py:1228
-#: tortoisehg/hgqt/wctxactions.py:267 tortoisehg/hgqt/wctxactions.py:280
-#: tortoisehg/hgqt/wctxactions.py:349
+#: tortoisehg/hgqt/settings.py:1127 tortoisehg/hgqt/settings.py:1252
+#: tortoisehg/hgqt/wctxactions.py:267 tortoisehg/hgqt/wctxactions.py:282
+#: tortoisehg/hgqt/wctxactions.py:291 tortoisehg/hgqt/wctxactions.py:358
 msgid "Cancel"
 msgstr ""
 
 msgstr ""
 
 #: tortoisehg/hgqt/archive.py:193 tortoisehg/hgqt/hginit.py:106
-#: tortoisehg/hgqt/rename.py:204
+#: tortoisehg/hgqt/rename.py:207
 msgid "Select Destination Folder"
 msgstr ""
 
-#: tortoisehg/hgqt/archive.py:197
-msgid "Open File"
-msgstr ""
-
-#: tortoisehg/hgqt/archive.py:227
+#: tortoisehg/hgqt/archive.py:196 tortoisehg/hgqt/rename.py:205
+msgid "Select Destination File"
+msgstr ""
+
+#: tortoisehg/hgqt/archive.py:226
 msgid "Tar archives"
 msgstr ""
 
-#: tortoisehg/hgqt/archive.py:230
+#: tortoisehg/hgqt/archive.py:229
 msgid "Bzip2 tar archives"
 msgstr ""
 
-#: tortoisehg/hgqt/archive.py:233
+#: tortoisehg/hgqt/archive.py:232
 msgid "Gzip tar archives"
 msgstr ""
 
-#: tortoisehg/hgqt/archive.py:236 tortoisehg/hgqt/archive.py:239
+#: tortoisehg/hgqt/archive.py:235 tortoisehg/hgqt/archive.py:238
 msgid "Zip archives"
 msgstr ""
 
-#: tortoisehg/hgqt/archive.py:314 tortoisehg/hgqt/archive.py:332
+#: tortoisehg/hgqt/archive.py:313 tortoisehg/hgqt/archive.py:331
 msgid "Duplicate Name"
 msgstr ""
 
-#: tortoisehg/hgqt/archive.py:315
+#: tortoisehg/hgqt/archive.py:314
 #, python-format
 msgid "The destination \"%s\" already exists as a file!"
 msgstr ""
 
-#: tortoisehg/hgqt/archive.py:319 tortoisehg/hgqt/archive.py:326
+#: tortoisehg/hgqt/archive.py:318 tortoisehg/hgqt/archive.py:325
 msgid "Confirm Overwrite"
 msgstr ""
 
-#: tortoisehg/hgqt/archive.py:320
+#: tortoisehg/hgqt/archive.py:319
 #, python-format
 msgid ""
 "The directory \"%s\" is not empty!\n"
 "Do you want to overwrite it?"
 msgstr ""
 
-#: tortoisehg/hgqt/archive.py:327
+#: tortoisehg/hgqt/archive.py:326
 #, python-format
 msgid ""
 "The file \"%s\" already exists!\n"
 "Do you want to overwrite it?"
 msgstr ""
 
-#: tortoisehg/hgqt/archive.py:333
+#: tortoisehg/hgqt/archive.py:332
 #, python-format
 msgid "The destination \"%s\" already exists as a folder!"
 msgstr ""
 msgstr ""
 
 #: tortoisehg/hgqt/backout.py:209 tortoisehg/hgqt/compress.py:69
-#: tortoisehg/hgqt/merge.py:168 tortoisehg/hgqt/rebase.py:113
+#: tortoisehg/hgqt/graft.py:122 tortoisehg/hgqt/merge.py:168
+#: tortoisehg/hgqt/rebase.py:113
 msgid "Checking..."
 msgstr ""
 
 "href=\"discard\"><b>discard</b></a> changes."
 msgstr ""
 
-#: tortoisehg/hgqt/backout.py:228 tortoisehg/hgqt/merge.py:221
-#: tortoisehg/hgqt/rebase.py:76 tortoisehg/hgqt/sync.py:1221
-#: tortoisehg/hgqt/update.py:103
+#: tortoisehg/hgqt/backout.py:228 tortoisehg/hgqt/graft.py:95
+#: tortoisehg/hgqt/merge.py:221 tortoisehg/hgqt/rebase.py:76
+#: tortoisehg/hgqt/sync.py:1233 tortoisehg/hgqt/update.py:103
 msgid "Automatically resolve merge conflicts where possible"
 msgstr ""
 
 msgstr ""
 
 #: tortoisehg/hgqt/backout.py:299 tortoisehg/hgqt/compress.py:151
-#: tortoisehg/hgqt/merge.py:240 tortoisehg/hgqt/merge.py:318
-#: tortoisehg/hgqt/rebase.py:239 tortoisehg/hgqt/settings.py:1228
-#: tortoisehg/hgqt/update.py:321
+#: tortoisehg/hgqt/graft.py:274 tortoisehg/hgqt/merge.py:240
+#: tortoisehg/hgqt/merge.py:318 tortoisehg/hgqt/rebase.py:239
+#: tortoisehg/hgqt/settings.py:1252 tortoisehg/hgqt/update.py:321
 msgid "&Discard"
 msgstr ""
 
 #: tortoisehg/hgqt/backout.py:301 tortoisehg/hgqt/compress.py:153
-#: tortoisehg/hgqt/merge.py:320 tortoisehg/hgqt/rebase.py:241
+#: tortoisehg/hgqt/graft.py:276 tortoisehg/hgqt/merge.py:320
+#: tortoisehg/hgqt/rebase.py:241
 msgid "Confirm Discard"
 msgstr ""
 
 #: tortoisehg/hgqt/backout.py:302 tortoisehg/hgqt/compress.py:154
-#: tortoisehg/hgqt/merge.py:321 tortoisehg/hgqt/rebase.py:242
+#: tortoisehg/hgqt/graft.py:277 tortoisehg/hgqt/merge.py:321
+#: tortoisehg/hgqt/rebase.py:242
 msgid "Discard outstanding changes to working directory?"
 msgstr ""
 
 msgid "Commit backout and merge results"
 msgstr ""
 
-#: tortoisehg/hgqt/backout.py:422 tortoisehg/hgqt/matching.py:100
+#: tortoisehg/hgqt/backout.py:422 tortoisehg/hgqt/matching.py:101
 #: tortoisehg/hgqt/merge.py:456
 msgid "Parents"
 msgstr ""
 msgid "Backed out changeset: "
 msgstr ""
 
-#: tortoisehg/hgqt/backout.py:514 tortoisehg/hgqt/commit.py:669
-#: tortoisehg/hgqt/mq.py:821
+#: tortoisehg/hgqt/backout.py:514 tortoisehg/hgqt/commit.py:676
+#: tortoisehg/hgqt/mq.py:823
 msgid "Confirm Discard Message"
 msgstr ""
 
 msgid "Please wait while committing merged files."
 msgstr ""
 
-#: tortoisehg/hgqt/backout.py:620 tortoisehg/hgqt/cmdui.py:313
+#: tortoisehg/hgqt/backout.py:620 tortoisehg/hgqt/cmdui.py:311
 #: tortoisehg/hgqt/merge.py:620
 msgid "Finished"
 msgstr ""
 msgstr ""
 
 #: tortoisehg/hgqt/bisect.py:38 tortoisehg/hgqt/bisect.py:48
-#: tortoisehg/hgqt/repowidget.py:456
+#: tortoisehg/hgqt/repowidget.py:450
 msgid "Accept"
 msgstr ""
 
 msgstr ""
 
 #: tortoisehg/hgqt/bisect.py:72 tortoisehg/hgqt/compress.py:140
-#: tortoisehg/hgqt/rebase.py:203
+#: tortoisehg/hgqt/graft.py:227 tortoisehg/hgqt/rebase.py:203
 msgid "Close"
 msgstr ""
 
 msgstr ""
 
 #: tortoisehg/hgqt/bisect.py:114 tortoisehg/hgqt/bisect.py:135
-#: tortoisehg/hgqt/commit.py:869 tortoisehg/hgqt/commit.py:1186
-#: tortoisehg/hgqt/commit.py:1206 tortoisehg/hgqt/hgignore.py:260
+#: tortoisehg/hgqt/commit.py:877 tortoisehg/hgqt/commit.py:1198
+#: tortoisehg/hgqt/commit.py:1218 tortoisehg/hgqt/hgignore.py:260
 #: tortoisehg/hgqt/hginit.py:179 tortoisehg/hgqt/status.py:483
 #: tortoisehg/hgqt/wctxactions.py:185
 #, python-format
 msgid "New Name:"
 msgstr ""
 
-#: tortoisehg/hgqt/bookmark.py:67 tortoisehg/hgqt/commit.py:822
+#: tortoisehg/hgqt/bookmark.py:67 tortoisehg/hgqt/commit.py:830
 #: tortoisehg/hgqt/tag.py:98 tortoisehg/hgqt/wctxactions.py:56
 #: tortoisehg/hgqt/wctxactions.py:62
 msgid "&Add"
 msgid "Re&name"
 msgstr ""
 
-#: tortoisehg/hgqt/bookmark.py:69 tortoisehg/hgqt/commit.py:850
+#: tortoisehg/hgqt/bookmark.py:69 tortoisehg/hgqt/commit.py:858
 #: tortoisehg/hgqt/tag.py:99
 msgid "&Remove"
 msgstr ""
 msgid "Please report this bug to our <a href=\"%s\">bug tracker</a>"
 msgstr ""
 
-#: tortoisehg/hgqt/bugreport.py:44 tortoisehg/hgqt/qscilib.py:187
+#: tortoisehg/hgqt/bugreport.py:44 tortoisehg/hgqt/qscilib.py:192
 #: tortoisehg/hgqt/rename.py:166
 msgid "Copy"
 msgstr ""
 msgid "Visual Diff"
 msgstr ""
 
-#: tortoisehg/hgqt/chunks.py:90 tortoisehg/hgqt/manifestdialog.py:215
-#: tortoisehg/hgqt/revdetails.py:231
+#: tortoisehg/hgqt/chunks.py:90 tortoisehg/hgqt/filectxactions.py:64
 msgid "View file changes in external diff tool"
 msgstr ""
 
-#: tortoisehg/hgqt/chunks.py:91 tortoisehg/hgqt/manifestdialog.py:225
-#: tortoisehg/hgqt/revdetails.py:239
+#: tortoisehg/hgqt/chunks.py:91 tortoisehg/hgqt/filectxactions.py:72
 msgid "Edit Local"
 msgstr ""
 
-#: tortoisehg/hgqt/chunks.py:92 tortoisehg/hgqt/manifestdialog.py:226
-#: tortoisehg/hgqt/manifestdialog.py:228 tortoisehg/hgqt/revdetails.py:240
-#: tortoisehg/hgqt/revdetails.py:242
+#: tortoisehg/hgqt/chunks.py:92 tortoisehg/hgqt/filectxactions.py:73
+#: tortoisehg/hgqt/filectxactions.py:75
 msgid "Edit current file in working copy"
 msgstr ""
 
-#: tortoisehg/hgqt/chunks.py:93 tortoisehg/hgqt/manifestdialog.py:229
-#: tortoisehg/hgqt/revdetails.py:246
+#: tortoisehg/hgqt/chunks.py:93 tortoisehg/hgqt/filectxactions.py:78
 msgid "Revert to Revision"
 msgstr ""
 
-#: tortoisehg/hgqt/chunks.py:94 tortoisehg/hgqt/manifestdialog.py:230
-#: tortoisehg/hgqt/revdetails.py:247
+#: tortoisehg/hgqt/chunks.py:94 tortoisehg/hgqt/filectxactions.py:79
 msgid "Revert file(s) to contents at this revision"
 msgstr ""
 
 msgstr ""
 
 #: tortoisehg/hgqt/chunks.py:201 tortoisehg/hgqt/mq.py:244
-#: tortoisehg/hgqt/mq.py:749
+#: tortoisehg/hgqt/mq.py:751
 msgid "Manually resolve rejected chunks?"
 msgstr ""
 
 msgid "Destination:"
 msgstr ""
 
-#: tortoisehg/hgqt/clone.py:95 tortoisehg/hgqt/commit.py:117
-#: tortoisehg/hgqt/merge.py:208 tortoisehg/hgqt/mq.py:621
-#: tortoisehg/hgqt/postreview_ui.py:170 tortoisehg/hgqt/rebase.py:57
-#: tortoisehg/hgqt/sync.py:177 tortoisehg/hgqt/tag.py:64
+#: tortoisehg/hgqt/clone.py:95 tortoisehg/hgqt/commit.py:121
+#: tortoisehg/hgqt/graft.py:92 tortoisehg/hgqt/merge.py:208
+#: tortoisehg/hgqt/mq.py:622 tortoisehg/hgqt/postreview_ui.py:170
+#: tortoisehg/hgqt/rebase.py:57 tortoisehg/hgqt/sync.py:177
+#: tortoisehg/hgqt/tag.py:64
 msgid "Options"
 msgstr ""
 
 msgid "Do not verify host certificate"
 msgstr ""
 
-#: tortoisehg/hgqt/clone.py:151 tortoisehg/hgqt/sync.py:1725
+#: tortoisehg/hgqt/clone.py:151 tortoisehg/hgqt/sync.py:1743
 msgid "Remote command:"
 msgstr ""
 
 msgid "&Clone"
 msgstr ""
 
-#: tortoisehg/hgqt/clone.py:183 tortoisehg/hgqt/cmdui.py:764
-#: tortoisehg/hgqt/thgimport.py:119 tortoisehg/hgqt/thgstrip.py:112
+#: tortoisehg/hgqt/clone.py:183 tortoisehg/hgqt/cmdui.py:476
+#: tortoisehg/hgqt/thgimport.py:119 tortoisehg/hgqt/thgstrip.py:114
 #: tortoisehg/hgqt/update.py:147
 msgid "Detail"
 msgstr ""
 msgid "The selected patch folder is not under the source repository."
 msgstr ""
 
-#: tortoisehg/hgqt/cmdui.py:232 tortoisehg/hgqt/thread.py:371
+#: tortoisehg/hgqt/cmdui.py:230 tortoisehg/hgqt/thread.py:367
 #, python-format
 msgid "[command returned code %d %%s]"
 msgstr ""
 
-#: tortoisehg/hgqt/cmdui.py:234 tortoisehg/hgqt/thread.py:373
+#: tortoisehg/hgqt/cmdui.py:232 tortoisehg/hgqt/thread.py:369
 #, python-format
 msgid "[command completed successfully %s]"
 msgstr ""
 
-#: tortoisehg/hgqt/cmdui.py:246
+#: tortoisehg/hgqt/cmdui.py:244
 msgid "failed to start command\n"
 msgstr ""
 
-#: tortoisehg/hgqt/cmdui.py:250 tortoisehg/hgqt/cmdui.py:548
+#: tortoisehg/hgqt/cmdui.py:248 tortoisehg/hgqt/docklog.py:418
 msgid "error while running command\n"
 msgstr ""
 
-#: tortoisehg/hgqt/cmdui.py:298
+#: tortoisehg/hgqt/cmdui.py:296
 msgid "Running..."
 msgstr ""
 
+#: tortoisehg/hgqt/cmdui.py:307
+msgid "Terminated by user"
+msgstr ""
+
 #: tortoisehg/hgqt/cmdui.py:309
-msgid "Terminated by user"
-msgstr ""
-
-#: tortoisehg/hgqt/cmdui.py:311
 msgid "Terminated"
 msgstr ""
 
-#: tortoisehg/hgqt/cmdui.py:315
+#: tortoisehg/hgqt/cmdui.py:313
 msgid "Failed!"
 msgstr ""
 
-#: tortoisehg/hgqt/cmdui.py:543
-msgid "failed to run command\n"
-msgstr ""
-
-#: tortoisehg/hgqt/cmdui.py:544
-msgid "crashed\n"
-msgstr ""
-
-#: tortoisehg/hgqt/cmdui.py:612
-#, python-format
-msgid "command parse error: %s"
-msgstr ""
-
-#: tortoisehg/hgqt/cmdui.py:618
-#, python-format
-msgid "no matches found: %s"
-msgstr ""
-
-#: tortoisehg/hgqt/cmdui.py:773
+#: tortoisehg/hgqt/cmdui.py:485
 msgid "TortoiseHg Command Dialog"
 msgstr ""
 
-#: tortoisehg/hgqt/cmdui.py:793 tortoisehg/hgqt/merge.py:106
-#: tortoisehg/hgqt/rebase.py:262 tortoisehg/hgqt/resolve.py:357
-#: tortoisehg/hgqt/settings.py:1107
+#: tortoisehg/hgqt/cmdui.py:505 tortoisehg/hgqt/graft.py:297
+#: tortoisehg/hgqt/merge.py:106 tortoisehg/hgqt/rebase.py:262
+#: tortoisehg/hgqt/resolve.py:357 tortoisehg/hgqt/settings.py:1124
 msgid "Confirm Exit"
 msgstr ""
 
-#: tortoisehg/hgqt/cmdui.py:794
+#: tortoisehg/hgqt/cmdui.py:506
 msgid ""
 "Mercurial command is still running.\n"
 "Are you sure you want to terminate?"
 msgstr ""
 
-#: tortoisehg/hgqt/cmdui.py:838
+#: tortoisehg/hgqt/cmdui.py:550
 msgid "TortoiseHg"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:76
+#: tortoisehg/hgqt/commit.py:80
 msgctxt "window title"
 msgid "Commit"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:98
+#: tortoisehg/hgqt/commit.py:102
 msgid "Commit Dialog Toolbar"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:102 tortoisehg/hgqt/commit.py:561
+#: tortoisehg/hgqt/commit.py:106 tortoisehg/hgqt/commit.py:568
 msgid "Branch: "
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:110
+#: tortoisehg/hgqt/commit.py:114
 msgid "Copy message"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:112
+#: tortoisehg/hgqt/commit.py:116
 msgid "Copy one of the recent commit messages"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:124
+#: tortoisehg/hgqt/commit.py:128
 msgid "Show Issues"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:126
+#: tortoisehg/hgqt/commit.py:130
 msgid "Please wait..."
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:134
+#: tortoisehg/hgqt/commit.py:138
 #, python-format
 msgid "Failed to load issue tracker '%s': %s"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:137 tortoisehg/hgqt/commit.py:503
-#: tortoisehg/hgqt/settings.py:368
+#: tortoisehg/hgqt/commit.py:141 tortoisehg/hgqt/commit.py:510
+#: tortoisehg/hgqt/settings.py:370
 msgid "Issue Tracker"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:145
+#: tortoisehg/hgqt/commit.py:149
 msgid "Show Issues..."
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:149 tortoisehg/hgqt/grep.py:53
+#: tortoisehg/hgqt/commit.py:153 tortoisehg/hgqt/grep.py:53
 #: tortoisehg/hgqt/serve_ui.py:87
 msgid "Stop"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:269
+#: tortoisehg/hgqt/commit.py:270
 msgid "Commit changes"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:269
+#: tortoisehg/hgqt/commit.py:270
 msgid "Commit"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:270
+#: tortoisehg/hgqt/commit.py:271
 msgid "Amend current revision"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:270
+#: tortoisehg/hgqt/commit.py:271
 msgid "Amend"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:274
+#: tortoisehg/hgqt/commit.py:275
 msgid "Create a new patch"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:274 tortoisehg/hgqt/mq.py:975
+#: tortoisehg/hgqt/commit.py:275 tortoisehg/hgqt/mq.py:977
 msgid "QNew"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:275
+#: tortoisehg/hgqt/commit.py:276
 msgid "Refresh current patch"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:275 tortoisehg/hgqt/mq.py:604
-#: tortoisehg/hgqt/mq.py:984
+#: tortoisehg/hgqt/commit.py:276 tortoisehg/hgqt/mq.py:605
+#: tortoisehg/hgqt/mq.py:986
 msgid "QRefresh"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:408
+#: tortoisehg/hgqt/commit.py:409
 msgid "Confirm Branch Change"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:409
+#: tortoisehg/hgqt/commit.py:410
 #, python-format
 msgid "Named branch \"%s\" already exists, last used in revision %d\n"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:413
+#: tortoisehg/hgqt/commit.py:414
 msgid "Restart &Branch"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:414 tortoisehg/hgqt/commit.py:422
+#: tortoisehg/hgqt/commit.py:415 tortoisehg/hgqt/commit.py:423
 msgid "&Commit to current branch"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:417 tortoisehg/hgqt/sync.py:1073
+#: tortoisehg/hgqt/commit.py:418 tortoisehg/hgqt/sync.py:1085
 msgid "Confirm New Branch"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:418
+#: tortoisehg/hgqt/commit.py:419
 #, python-format
 msgid "Create new named branch \"%s\" with this commit?\n"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:421
+#: tortoisehg/hgqt/commit.py:422
 msgid "Create &Branch"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:454
+#: tortoisehg/hgqt/commit.py:461
 msgctxt "start progress"
 msgid "MQ Action"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:563
+#: tortoisehg/hgqt/commit.py:570
 msgid "Close Branch: "
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:565
+#: tortoisehg/hgqt/commit.py:572
 msgid "New Branch: "
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:578
+#: tortoisehg/hgqt/commit.py:585
 #, python-format
 msgid "<b>Selected Options:</b> %s"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:592 tortoisehg/hgqt/revpanel.py:24
+#: tortoisehg/hgqt/commit.py:599 tortoisehg/hgqt/revpanel.py:24
 #: tortoisehg/hgqt/update.py:87
 msgid "Parent:"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:593 tortoisehg/hgqt/pbranch.py:879
+#: tortoisehg/hgqt/commit.py:600 tortoisehg/hgqt/pbranch.py:879
 msgid "Patch name:"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:615
+#: tortoisehg/hgqt/commit.py:622
 #, python-format
 msgid "Close %s branch"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:628
+#: tortoisehg/hgqt/commit.py:635
 #, python-format
 msgid "Rollback commit to revision %d"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:637
+#: tortoisehg/hgqt/commit.py:644
 msgid "Confirm Undo"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:642
+#: tortoisehg/hgqt/commit.py:649
 msgctxt "start progress"
 msgid "Rollback"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:670 tortoisehg/hgqt/mq.py:822
+#: tortoisehg/hgqt/commit.py:677 tortoisehg/hgqt/mq.py:824
 msgid "Discard current commit message?"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:750
+#: tortoisehg/hgqt/commit.py:757
 msgid "Message Translation Failure"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:751
+#: tortoisehg/hgqt/commit.py:758
 msgid ""
 "Unable to translate message to local encoding\n"
 "Consider setting HGENCODING environment variable\n"
 "Replace untranslatable characters with \"?\"?\n"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:754
+#: tortoisehg/hgqt/commit.py:761
 msgid "&Replace"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:762 tortoisehg/hgqt/commit.py:775
+#: tortoisehg/hgqt/commit.py:769 tortoisehg/hgqt/commit.py:782
 msgid "Nothing Commited"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:763
+#: tortoisehg/hgqt/commit.py:770
 msgid "Please enter commit message"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:776
+#: tortoisehg/hgqt/commit.py:783
 msgid ""
 "No issue link was found in the commit message.  The commit message should "
 "contain an issue link.  Configure this in the 'Issue Tracking' section of "
 "the settings."
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:804
+#: tortoisehg/hgqt/commit.py:812
 msgid "No files checked"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:805
+#: tortoisehg/hgqt/commit.py:813
 msgid "No modified files checkmarked for commit"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:820 tortoisehg/hgqt/lfprompt.py:16
+#: tortoisehg/hgqt/commit.py:828 tortoisehg/hgqt/lfprompt.py:16
 msgid "Confirm Add"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:821
+#: tortoisehg/hgqt/commit.py:829
 msgid "Add selected untracked files?"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:848 tortoisehg/hgqt/quickop.py:180
+#: tortoisehg/hgqt/commit.py:856 tortoisehg/hgqt/quickop.py:181
 msgid "Confirm Remove"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:849
+#: tortoisehg/hgqt/commit.py:857
 msgid "Remove selected deleted files?"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:903
+#: tortoisehg/hgqt/commit.py:915
 msgctxt "start progress"
 msgid "Commit"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:939
+#: tortoisehg/hgqt/commit.py:951
 #, python-format
 msgid "%s - commit options"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:946
+#: tortoisehg/hgqt/commit.py:958
 msgid "Set username:"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:973 tortoisehg/hgqt/commit.py:1020
-#: tortoisehg/hgqt/commit.py:1043 tortoisehg/hgqt/commit.py:1059
+#: tortoisehg/hgqt/commit.py:985 tortoisehg/hgqt/commit.py:1032
+#: tortoisehg/hgqt/commit.py:1055 tortoisehg/hgqt/commit.py:1071
 msgid "Save in Repo"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:978
+#: tortoisehg/hgqt/commit.py:990
 msgid "Save Global"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:990
+#: tortoisehg/hgqt/commit.py:1002
 msgid "Set Date:"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:994
+#: tortoisehg/hgqt/commit.py:1006
 msgid "Update"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:1013
+#: tortoisehg/hgqt/commit.py:1025
 msgid "Push After Commit:"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:1036
+#: tortoisehg/hgqt/commit.py:1048
 msgid "Auto Includes:"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:1061
+#: tortoisehg/hgqt/commit.py:1073
 msgid "Recurse into subrepositories (--subrepos)"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:1090
+#: tortoisehg/hgqt/commit.py:1102
 msgid "Unable to save username"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:1091 tortoisehg/hgqt/commit.py:1114
-#: tortoisehg/hgqt/commit.py:1137 tortoisehg/hgqt/commit.py:1160
-#: tortoisehg/hgqt/sync.py:1163 tortoisehg/hgqt/sync.py:1261
-#: tortoisehg/hgqt/sync.py:1339 tortoisehg/hgqt/sync.py:1522
+#: tortoisehg/hgqt/commit.py:1103 tortoisehg/hgqt/commit.py:1126
+#: tortoisehg/hgqt/commit.py:1149 tortoisehg/hgqt/commit.py:1172
+#: tortoisehg/hgqt/sync.py:1175 tortoisehg/hgqt/sync.py:1273
+#: tortoisehg/hgqt/sync.py:1351 tortoisehg/hgqt/sync.py:1540
 msgid "Iniparse must be installed."
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:1106 tortoisehg/hgqt/commit.py:1129
-#: tortoisehg/hgqt/commit.py:1152 tortoisehg/hgqt/commit.py:1175
-#: tortoisehg/hgqt/settings.py:1456 tortoisehg/hgqt/sync.py:1173
-#: tortoisehg/hgqt/sync.py:1272 tortoisehg/hgqt/sync.py:1362
-#: tortoisehg/hgqt/sync.py:1561
+#: tortoisehg/hgqt/commit.py:1118 tortoisehg/hgqt/commit.py:1141
+#: tortoisehg/hgqt/commit.py:1164 tortoisehg/hgqt/commit.py:1187
+#: tortoisehg/hgqt/settings.py:1492 tortoisehg/hgqt/sync.py:1185
+#: tortoisehg/hgqt/sync.py:1284 tortoisehg/hgqt/sync.py:1374
+#: tortoisehg/hgqt/sync.py:1579
 msgid "Unable to write configuration file"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:1113
+#: tortoisehg/hgqt/commit.py:1125
 msgid "Unable to save after commit push"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:1136
+#: tortoisehg/hgqt/commit.py:1148
 msgid "Unable to save auto include list"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:1159
+#: tortoisehg/hgqt/commit.py:1171
 msgid "Unable to save recurse in subrepos."
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:1190
+#: tortoisehg/hgqt/commit.py:1202
 msgid "Invalid date format"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:1210
+#: tortoisehg/hgqt/commit.py:1222
 msgid "No username configured"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:1281
+#: tortoisehg/hgqt/commit.py:1293
 #, python-format
 msgid "%s - commit"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:1334
+#: tortoisehg/hgqt/commit.py:1346
 msgid "TortoiseHg Commit"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:1335
+#: tortoisehg/hgqt/commit.py:1347
 msgid "Are you sure that you want to cancel the commit operation?"
 msgstr ""
 
 msgstr ""
 
 #: tortoisehg/hgqt/csinfo.py:106 tortoisehg/hgqt/postreview_ui.py:165
-#: tortoisehg/hgqt/qfold.py:86 tortoisehg/hgqt/qreorder.py:89
+#: tortoisehg/hgqt/qfold.py:83 tortoisehg/hgqt/qreorder.py:89
 msgid "Summary:"
 msgstr ""
 
 msgstr ""
 
 #: tortoisehg/hgqt/csinfo.py:108 tortoisehg/hgqt/csinfo.py:110
-#: tortoisehg/hgqt/sync.py:1731
+#: tortoisehg/hgqt/sync.py:1749
 msgid "Branch:"
 msgstr ""
 
 msgid "Displaying %(count)d of %(total)d items"
 msgstr ""
 
-#: tortoisehg/hgqt/docklog.py:23
+#: tortoisehg/hgqt/customtools.py:46
+msgid "Select a GUI location to edit:"
+msgstr ""
+
+#: tortoisehg/hgqt/customtools.py:70
+msgid "Tools shown on selected location"
+msgstr ""
+
+#: tortoisehg/hgqt/customtools.py:80
+msgid "Delete from list"
+msgstr ""
+
+#: tortoisehg/hgqt/customtools.py:88
+msgid "Add to list"
+msgstr ""
+
+#: tortoisehg/hgqt/customtools.py:90
+msgid "Add separator"
+msgstr ""
+
+#: tortoisehg/hgqt/customtools.py:100
+msgid "List of all tools"
+msgstr ""
+
+#: tortoisehg/hgqt/customtools.py:102
+msgid "New Tool ..."
+msgstr ""
+
+#: tortoisehg/hgqt/customtools.py:104
+msgid "Edit Tool ..."
+msgstr ""
+
+#: tortoisehg/hgqt/customtools.py:106
+msgid "Delete Tool"
+msgstr ""
+
+#: tortoisehg/hgqt/customtools.py:406
+msgid "Tool name"
+msgstr ""
+
+#: tortoisehg/hgqt/customtools.py:407
+msgid "The tool name. It cannot contain spaces."
+msgstr ""
+
+#: tortoisehg/hgqt/customtools.py:409
+msgid "Command"
+msgstr ""
+
+#: tortoisehg/hgqt/customtools.py:410
+msgid ""
+"The command that will be executed.\n"
+"To execute a mercurial command use \"hg\" (rather than \"hg.exe\") as the "
+"executable command.\n"
+"You can use {ROOT} as an alias of the current repository root and\n"
+"{REV} as an alias of the selected revision."
+msgstr ""
+
+#: tortoisehg/hgqt/customtools.py:415
+msgid "Tool label"
+msgstr ""
+
+#: tortoisehg/hgqt/customtools.py:417
+msgid ""
+"The tool label, which is what will be shown on the repowidget context menu.\n"
+"If no label is set, the tool name will be used as the tool label.\n"
+"If no tooltip is set, the label will be used as the tooltip as well."
+msgstr ""
+
+#: tortoisehg/hgqt/customtools.py:421
+msgid "Tooltip"
+msgstr ""
+
+#: tortoisehg/hgqt/customtools.py:423
+msgid ""
+"The tooltip that will be shown on the tool button.\n"
+"This is only shown when the tool button is shown on\n"
+"the workbench toolbar."
+msgstr ""
+
+#: tortoisehg/hgqt/customtools.py:426
+msgid "Icon"
+msgstr ""
+
+#: tortoisehg/hgqt/customtools.py:428
+msgid ""
+"The tool icon.\n"
+"You can use any built-in TortoiseHg icon\n"
+"by setting this value to a valid TortoiseHg icon name\n"
+"(e.g. clone, add, remove, sync, thg-logo, hg-update, etc).\n"
+"You can also set this value to the absolute path to\n"
+"any icon on your file system."
+msgstr ""
+
+#: tortoisehg/hgqt/customtools.py:437
+msgid "On repowidget, show for"
+msgstr ""
+
+#: tortoisehg/hgqt/customtools.py:438
+msgid ""
+"For which kinds of revisions the tool will be enabled\n"
+"It is only taken into account when the tool is shown on the\n"
+"selected revision context menu."
+msgstr ""
+
+#: tortoisehg/hgqt/customtools.py:443
+msgid "Show Output Log"
+msgstr ""
+
+#: tortoisehg/hgqt/customtools.py:444
+msgid ""
+"When enabled, automatically show the Output Log when the command is run.\n"
+"Default: False."
+msgstr ""
+
+#: tortoisehg/hgqt/customtools.py:449
+msgid "OK"
+msgstr ""
+
+#: tortoisehg/hgqt/customtools.py:509
+msgid "Missing information"
+msgstr ""
+
+#: tortoisehg/hgqt/customtools.py:516
+msgid "You must set a tool name."
+msgstr ""
+
+#: tortoisehg/hgqt/customtools.py:518
+msgid "The tool name cannot have any spaces in it."
+msgstr ""
+
+#: tortoisehg/hgqt/customtools.py:520
+msgid "You must set a command to run."
+msgstr ""
+
+#: tortoisehg/hgqt/docklog.py:413
+msgid "failed to run command\n"
+msgstr ""
+
+#: tortoisehg/hgqt/docklog.py:414
+msgid "crashed\n"
+msgstr ""
+
+#: tortoisehg/hgqt/docklog.py:488
+#, python-format
+msgid "command parse error: %s"
+msgstr ""
+
+#: tortoisehg/hgqt/docklog.py:494
+#, python-format
+msgid "no matches found: %s"
+msgstr ""
+
+#: tortoisehg/hgqt/docklog.py:548
 msgid "Output Log"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:31
+#: tortoisehg/hgqt/filectxactions.py:57
+msgid "File history"
+msgstr ""
+
+#: tortoisehg/hgqt/filectxactions.py:58 tortoisehg/hgqt/filectxactions.py:60
+msgid "Show the history of the selected file"
+msgstr ""
+
+#: tortoisehg/hgqt/filectxactions.py:59
+msgid "Folder history"
+msgstr ""
+
+#: tortoisehg/hgqt/filectxactions.py:61
+msgid "Compare file revisions"
+msgstr ""
+
+#: tortoisehg/hgqt/filectxactions.py:62
+msgid "Compare revisions of the selected file"
+msgstr ""
+
+#: tortoisehg/hgqt/filectxactions.py:63 tortoisehg/hgqt/grep.py:568
+#: tortoisehg/util/menuthg.py:76
+msgid "Diff to parent"
+msgstr ""
+
+#: tortoisehg/hgqt/filectxactions.py:65
+msgid "Diff to local"
+msgstr ""
+
+#: tortoisehg/hgqt/filectxactions.py:66
+msgid "View changes to current in external diff tool"
+msgstr ""
+
+#: tortoisehg/hgqt/filectxactions.py:68
+msgid "View at Revision"
+msgstr ""
+
+#: tortoisehg/hgqt/filectxactions.py:69
+msgid "View file as it appeared at this revision"
+msgstr ""
+
+#: tortoisehg/hgqt/filectxactions.py:70
+msgid "Save at Revision"
+msgstr ""
+
+#: tortoisehg/hgqt/filectxactions.py:71
+msgid "Save file as it appeared at this revision"
+msgstr ""
+
+#: tortoisehg/hgqt/filectxactions.py:74
+msgid "Open Local"
+msgstr ""
+
+#: tortoisehg/hgqt/filectxactions.py:76
+msgid "Copy Path"
+msgstr ""
+
+#: tortoisehg/hgqt/filectxactions.py:77
+msgid "Copy full path of file(s) to the clipboard"
+msgstr ""
+
+#: tortoisehg/hgqt/filectxactions.py:81 tortoisehg/hgqt/wctxactions.py:45
+msgid "Open subrepository"
+msgstr ""
+
+#: tortoisehg/hgqt/filectxactions.py:82
+msgid "Open the selected subrepository"
+msgstr ""
+
+#: tortoisehg/hgqt/filectxactions.py:84
+msgid "Explore folder"
+msgstr ""
+
+#: tortoisehg/hgqt/filectxactions.py:85
+msgid "Open the selected folder in the system file manager"
+msgstr ""
+
+#: tortoisehg/hgqt/filectxactions.py:87
+msgid "Open terminal here"
+msgstr ""
+
+#: tortoisehg/hgqt/filectxactions.py:88
+msgid "Open a shell terminal in the selected folder"
+msgstr ""
+
+#: tortoisehg/hgqt/filectxactions.py:188
+msgid "Cannot display visual diff"
+msgstr ""
+
+#: tortoisehg/hgqt/filectxactions.py:189
+msgid "Visual diffs are not supported for unapplied patches"
+msgstr ""
+
+#: tortoisehg/hgqt/filectxactions.py:265
+#, python-format
+msgid "Hg file log viewer - %s"
+msgstr ""
+
+#: tortoisehg/hgqt/filectxactions.py:309 tortoisehg/hgqt/wctxactions.py:238
+msgid "Cannot open subrepository"
+msgstr ""
+
+#: tortoisehg/hgqt/filectxactions.py:310 tortoisehg/hgqt/wctxactions.py:239
+msgid "The selected subrepository does not exist on the working directory"
+msgstr ""
+
+#: tortoisehg/hgqt/filedata.py:40
 msgid "File or diffs not displayed: "
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:45
+#: tortoisehg/hgqt/filedata.py:54
 #, python-format
 msgid ""
 "File is larger than the specified max size.\n"
 "maxdiff = %s KB"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:51
+#: tortoisehg/hgqt/filedata.py:61
 msgid "File is binary"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:59 tortoisehg/hgqt/filedata.py:366
+#: tortoisehg/hgqt/filedata.py:65
+msgid "File may be binary (maximum line length exceeded)"
+msgstr ""
+
+#: tortoisehg/hgqt/filedata.py:74 tortoisehg/hgqt/filedata.py:381
 #, python-format
 msgid " <i>(renamed from %s)</i>"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:61 tortoisehg/hgqt/filedata.py:361
-#: tortoisehg/hgqt/filedata.py:371
+#: tortoisehg/hgqt/filedata.py:76 tortoisehg/hgqt/filedata.py:376
+#: tortoisehg/hgqt/filedata.py:386
 msgid " <i>(was added)</i>"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:94 tortoisehg/hgqt/filedata.py:354
+#: tortoisehg/hgqt/filedata.py:109 tortoisehg/hgqt/filedata.py:369
 msgid "exec mode has been <font color='red'>set</font>"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:96 tortoisehg/hgqt/filedata.py:356
+#: tortoisehg/hgqt/filedata.py:111 tortoisehg/hgqt/filedata.py:371
 msgid "exec mode has been <font color='red'>unset</font>"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:98 tortoisehg/hgqt/filedata.py:118
+#: tortoisehg/hgqt/filedata.py:113 tortoisehg/hgqt/filedata.py:133
 msgid " <i>(is a symlink)</i>"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:147
+#: tortoisehg/hgqt/filedata.py:162
 #, python-format
 msgid ""
 "[WARNING] Invalid subrepo revision ID:\n"
 "\n"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:167
+#: tortoisehg/hgqt/filedata.py:182
 msgid "Subrepo created and set to initial revision."
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:171
+#: tortoisehg/hgqt/filedata.py:186
 msgid "Subrepo initialized to revision:"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:174
+#: tortoisehg/hgqt/filedata.py:189
 msgid "Subrepo removed from repository."
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:178
+#: tortoisehg/hgqt/filedata.py:193
 msgid "Subrepo was not changed."
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:179
+#: tortoisehg/hgqt/filedata.py:194
 msgid "Subrepo state is:"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:181 tortoisehg/hgqt/filedata.py:191
-#: tortoisehg/hgqt/filedata.py:196 tortoisehg/hgqt/filedata.py:200
-#: tortoisehg/hgqt/filedata.py:206
+#: tortoisehg/hgqt/filedata.py:196 tortoisehg/hgqt/filedata.py:206
+#: tortoisehg/hgqt/filedata.py:211 tortoisehg/hgqt/filedata.py:215
+#: tortoisehg/hgqt/filedata.py:221
 #, python-format
 msgid "changeset: %s"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:188
+#: tortoisehg/hgqt/filedata.py:203
 msgid "Revision has changed to:"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:197 tortoisehg/hgqt/hgemail_ui.py:264
+#: tortoisehg/hgqt/filedata.py:212 tortoisehg/hgqt/hgemail_ui.py:264
 msgid "From:"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:201
+#: tortoisehg/hgqt/filedata.py:216
 msgid "Subrepository not found in the working directory."
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:203 tortoisehg/hgqt/filedata.py:209
+#: tortoisehg/hgqt/filedata.py:218 tortoisehg/hgqt/filedata.py:224
 msgid "Further subrepository revision information cannot be retrieved."
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:207
+#: tortoisehg/hgqt/filedata.py:222
 msgid "Subrepository is either damaged or missing some revisions"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:211
+#: tortoisehg/hgqt/filedata.py:226
 msgid ""
 "You may need to open the missing subrepository and manually\n"
 "pull the missing revisions from its source repository."
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:220 tortoisehg/hgqt/settings.py:606
+#: tortoisehg/hgqt/filedata.py:235 tortoisehg/hgqt/settings.py:610
 msgid "Initial revision"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:240
+#: tortoisehg/hgqt/filedata.py:255
 msgid "Not a Mercurial subrepo, not previewable"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:255
+#: tortoisehg/hgqt/filedata.py:270
 msgid "The subrepository is dirty."
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:255
+#: tortoisehg/hgqt/filedata.py:270
 msgid "File Status:"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:280
+#: tortoisehg/hgqt/filedata.py:295
 msgid "(is a changed sub-repository)"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:281
+#: tortoisehg/hgqt/filedata.py:296
 msgid "(is an unchanged sub-repository)"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:282
+#: tortoisehg/hgqt/filedata.py:297
 msgid "(is a dirty sub-repository)"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:283
+#: tortoisehg/hgqt/filedata.py:298
 msgid "(is a new sub-repository)"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:284 tortoisehg/hgqt/filedata.py:287
+#: tortoisehg/hgqt/filedata.py:299 tortoisehg/hgqt/filedata.py:302
 msgid "(is a removed sub-repository)"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:285
+#: tortoisehg/hgqt/filedata.py:300
 msgid "(is a changed and dirty sub-repository)"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:286
+#: tortoisehg/hgqt/filedata.py:301
 msgid "(is a new and dirty sub-repository)"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:291
+#: tortoisehg/hgqt/filedata.py:306
 #, python-format
 msgid " <a href=\"subrepo:%s\">open...</a>"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:294
+#: tortoisehg/hgqt/filedata.py:309
 #, python-format
 msgid "Error previewing subrepo: %s"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:301
+#: tortoisehg/hgqt/filedata.py:316
 #, python-format
 msgid ""
 "File or diffs not displayed: File is larger than the specified max size.\n"
 "maxdiff = %s KB"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:316 tortoisehg/hgqt/filedata.py:319
+#: tortoisehg/hgqt/filedata.py:331 tortoisehg/hgqt/filedata.py:334
 msgid " <i>(was deleted)</i>"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:321
+#: tortoisehg/hgqt/filedata.py:336
 msgid " <i>(was added, now missing)</i>"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:327
+#: tortoisehg/hgqt/filedata.py:342
 msgid " <i>(is unversioned)</i>"
 msgstr ""
 
-#: tortoisehg/hgqt/filedialogs.py:124
+#: tortoisehg/hgqt/filedialogs.py:128
 msgid "File History Log Columns"
 msgstr ""
 
-#: tortoisehg/hgqt/filedialogs.py:166 tortoisehg/hgqt/workbench.py:389
+#: tortoisehg/hgqt/filedialogs.py:170 tortoisehg/hgqt/workbench.py:346
 msgid "Back"
 msgstr ""
 
-#: tortoisehg/hgqt/filedialogs.py:168 tortoisehg/hgqt/workbench.py:392
+#: tortoisehg/hgqt/filedialogs.py:172 tortoisehg/hgqt/workbench.py:349
 msgid "Forward"
 msgstr ""
 
-#: tortoisehg/hgqt/filedialogs.py:196 tortoisehg/hgqt/filedialogs.py:682
-#: tortoisehg/hgqt/repowidget.py:1225
+#: tortoisehg/hgqt/filedialogs.py:200 tortoisehg/hgqt/filedialogs.py:702
+#: tortoisehg/hgqt/repowidget.py:1224
 msgid "Diff to parent..."
 msgstr ""
 
-#: tortoisehg/hgqt/filedialogs.py:199 tortoisehg/hgqt/filedialogs.py:685
-#: tortoisehg/hgqt/repowidget.py:1227
+#: tortoisehg/hgqt/filedialogs.py:203 tortoisehg/hgqt/filedialogs.py:705
+#: tortoisehg/hgqt/repowidget.py:1226
 msgid "Diff to local..."
 msgstr ""
 
-#: tortoisehg/hgqt/filedialogs.py:203 tortoisehg/hgqt/filedialogs.py:689
+#: tortoisehg/hgqt/filedialogs.py:207 tortoisehg/hgqt/filedialogs.py:709
 msgid "Diff file to parent..."
 msgstr ""
 
-#: tortoisehg/hgqt/filedialogs.py:206 tortoisehg/hgqt/filedialogs.py:692
+#: tortoisehg/hgqt/filedialogs.py:210 tortoisehg/hgqt/filedialogs.py:712
 msgid "Diff file to local..."
 msgstr ""
 
-#: tortoisehg/hgqt/filedialogs.py:210 tortoisehg/hgqt/filedialogs.py:696
+#: tortoisehg/hgqt/filedialogs.py:214 tortoisehg/hgqt/filedialogs.py:716
 msgid "View at revision..."
 msgstr ""
 
-#: tortoisehg/hgqt/filedialogs.py:213 tortoisehg/hgqt/filedialogs.py:699
+#: tortoisehg/hgqt/filedialogs.py:217 tortoisehg/hgqt/filedialogs.py:719
 msgid "Save at revision..."
 msgstr ""
 
-#: tortoisehg/hgqt/filedialogs.py:215 tortoisehg/hgqt/filedialogs.py:701
+#: tortoisehg/hgqt/filedialogs.py:219 tortoisehg/hgqt/filedialogs.py:721
 msgid "Edit local"
 msgstr ""
 
-#: tortoisehg/hgqt/filedialogs.py:218 tortoisehg/hgqt/filedialogs.py:704
+#: tortoisehg/hgqt/filedialogs.py:222 tortoisehg/hgqt/filedialogs.py:724
 msgid "Revert to revision..."
 msgstr ""
 
-#: tortoisehg/hgqt/filedialogs.py:373
+#: tortoisehg/hgqt/filedialogs.py:379
 msgid "File Differences Log Columns"
 msgstr ""
 
-#: tortoisehg/hgqt/filedialogs.py:481
+#: tortoisehg/hgqt/filedialogs.py:498
 msgid "Next diff"
 msgstr ""
 
-#: tortoisehg/hgqt/filedialogs.py:486
+#: tortoisehg/hgqt/filedialogs.py:503
 msgid "Previous diff"
 msgstr ""
 
 msgid "Open shelve tool"
 msgstr ""
 
-#: tortoisehg/hgqt/fileview.py:626
+#: tortoisehg/hgqt/fileview.py:634
 msgid "Search in current file"
 msgstr ""
 
-#: tortoisehg/hgqt/fileview.py:627 tortoisehg/hgqt/fileview.py:650
+#: tortoisehg/hgqt/fileview.py:635 tortoisehg/hgqt/fileview.py:665
 msgid "Search in history"
 msgstr ""
 
-#: tortoisehg/hgqt/fileview.py:645
+#: tortoisehg/hgqt/fileview.py:643
+msgid "Annotate Options"
+msgstr ""
+
+#: tortoisehg/hgqt/fileview.py:660
 msgid "Search in original revision"
 msgstr ""
 
-#: tortoisehg/hgqt/fileview.py:647
+#: tortoisehg/hgqt/fileview.py:662
 msgid "Search in working revision"
 msgstr ""
 
-#: tortoisehg/hgqt/fileview.py:649
+#: tortoisehg/hgqt/fileview.py:664
 msgid "Search in current annotation"
 msgstr ""
 
-#: tortoisehg/hgqt/fileview.py:669
+#: tortoisehg/hgqt/fileview.py:684
 msgid "Annotate originating revision"
 msgstr ""
 
-#: tortoisehg/hgqt/fileview.py:670
+#: tortoisehg/hgqt/fileview.py:685
 msgid "View originating revision"
 msgstr ""
 
-#: tortoisehg/hgqt/fileview.py:682
+#: tortoisehg/hgqt/fileview.py:697
 #, python-format
 msgid "Annotate parent revision %d"
 msgstr ""
 
-#: tortoisehg/hgqt/fileview.py:684
+#: tortoisehg/hgqt/fileview.py:699
 #, python-format
 msgid "View parent revision %d"
 msgstr ""
 
+#: tortoisehg/hgqt/fileview.py:765
+msgid "Show Author"
+msgstr ""
+
+#: tortoisehg/hgqt/fileview.py:766
+msgid "Show Date"
+msgstr ""
+
+#: tortoisehg/hgqt/fileview.py:767
+msgid "Show Revision"
+msgstr ""
+
+#: tortoisehg/hgqt/graft.py:44
+msgid "Interrupted graft operation found"
+msgstr ""
+
+#: tortoisehg/hgqt/graft.py:45
+msgid ""
+"An interrupted graft operation has been found.\n"
+"\n"
+"You cannot perform a different graft operation unless you abort the "
+"interrupted graft operation first."
+msgstr ""
+
+#: tortoisehg/hgqt/graft.py:49
+msgid "Continue or abort interrupted graft operation?"
+msgstr ""
+
+#: tortoisehg/hgqt/graft.py:67
+#, python-format
+msgid "Graft %d changesets on top of changeset %s"
+msgstr ""
+
+#: tortoisehg/hgqt/graft.py:84
+msgid "To graft destination"
+msgstr ""
+
+#: tortoisehg/hgqt/graft.py:110
+msgid "Graft"
+msgstr ""
+
+#: tortoisehg/hgqt/graft.py:113 tortoisehg/hgqt/graft.py:309
+#: tortoisehg/hgqt/rebase.py:101 tortoisehg/hgqt/rebase.py:274
+#: tortoisehg/hgqt/repowidget.py:1607 tortoisehg/hgqt/repowidget.py:1634
+msgid "Abort"
+msgstr ""
+
+#: tortoisehg/hgqt/graft.py:130
+#, python-format
+msgid "Graft - %s"
+msgstr ""
+
+#: tortoisehg/hgqt/graft.py:135
+msgid "Graft changeset"
+msgstr ""
+
+#: tortoisehg/hgqt/graft.py:137
+#, python-format
+msgid "Graft changeset #%d of %d"
+msgstr ""
+
+#: tortoisehg/hgqt/graft.py:166
+msgid ""
+"Before graft, you must <a href=\"commit\"><b>commit</b></a> or <a "
+"href=\"discard\"><b>discard</b></a> changes."
+msgstr ""
+
+#: tortoisehg/hgqt/graft.py:171
+msgid "You may continue or start the graft"
+msgstr ""
+
+#: tortoisehg/hgqt/graft.py:217
+msgid "Graft is complete"
+msgstr ""
+
+#: tortoisehg/hgqt/graft.py:219
+msgid "Graft aborted"
+msgstr ""
+
+#: tortoisehg/hgqt/graft.py:221
+msgid "Graft failed"
+msgstr ""
+
+#: tortoisehg/hgqt/graft.py:234
+msgid ""
+"Graft generated merge <b>conflicts</b> that must be <a "
+"href=\"resolve\"><b>resolved</b></a>"
+msgstr ""
+
+#: tortoisehg/hgqt/graft.py:240
+msgid "You may continue the graft"
+msgstr ""
+
+#: tortoisehg/hgqt/graft.py:293
+msgid "Exiting with an unfinished graft is not recommended."
+msgstr ""
+
+#: tortoisehg/hgqt/graft.py:294
+msgid "Consider aborting the graft first."
+msgstr ""
+
+#: tortoisehg/hgqt/graft.py:295 tortoisehg/hgqt/merge.py:104
+#: tortoisehg/hgqt/rebase.py:260
+msgid "&Exit"
+msgstr ""
+
+#: tortoisehg/hgqt/graft.py:306
+msgid "Graft already in progress"
+msgstr ""
+
+#: tortoisehg/hgqt/graft.py:307
+msgid "Resuming graft already in progress"
+msgstr ""
+
+#: tortoisehg/hgqt/graft.py:310 tortoisehg/hgqt/rebase.py:275
+msgid "You must provide source and dest arguments"
+msgstr ""
+
 #: tortoisehg/hgqt/grep.py:42
 msgid "### regular expression search pattern ###"
 msgstr ""
 
-#: tortoisehg/hgqt/grep.py:44 tortoisehg/hgqt/qscilib.py:405
+#: tortoisehg/hgqt/grep.py:44 tortoisehg/hgqt/qscilib.py:412
 msgid "Regexp:"
 msgstr ""
 
-#: tortoisehg/hgqt/grep.py:47 tortoisehg/hgqt/qscilib.py:412
+#: tortoisehg/hgqt/grep.py:47 tortoisehg/hgqt/qscilib.py:419
 msgid "Ignore case"
 msgstr ""
 
-#: tortoisehg/hgqt/grep.py:48 tortoisehg/hgqt/qscilib.py:391
-#: tortoisehg/hgqt/qscilib.py:416
+#: tortoisehg/hgqt/grep.py:48 tortoisehg/hgqt/qscilib.py:398
 msgid "Search"
 msgstr ""
 
 msgid "grep: %s\n"
 msgstr ""
 
-#: tortoisehg/hgqt/grep.py:361 tortoisehg/hgqt/revset.py:390
+#: tortoisehg/hgqt/grep.py:361 tortoisehg/hgqt/revset.py:395
 #, python-format
 msgid "%d matches found"
 msgstr ""
 
-#: tortoisehg/hgqt/grep.py:363 tortoisehg/hgqt/revset.py:392
+#: tortoisehg/hgqt/grep.py:363 tortoisehg/hgqt/revset.py:397
 msgid "No matches found"
 msgstr ""
 
 msgid "View Changeset"
 msgstr ""
 
-#: tortoisehg/hgqt/grep.py:568 tortoisehg/hgqt/manifestdialog.py:214
-#: tortoisehg/hgqt/revdetails.py:230 tortoisehg/util/menuthg.py:76
-msgid "Diff to parent"
-msgstr ""
-
 #: tortoisehg/hgqt/grep.py:569
 msgid "Annotate file"
 msgstr ""
 msgid "Rev"
 msgstr ""
 
-#: tortoisehg/hgqt/grep.py:723 tortoisehg/hgqt/settings.py:795
-#: tortoisehg/hgqt/settings.py:938 tortoisehg/hgqt/settings.py:1038
+#: tortoisehg/hgqt/grep.py:723 tortoisehg/hgqt/settings.py:809
+#: tortoisehg/hgqt/settings.py:955 tortoisehg/hgqt/settings.py:1055
 msgid "User"
 msgstr ""
 
 msgid "<b>Differences from Source to Dest</b>"
 msgstr ""
 
-#: tortoisehg/hgqt/guess.py:186
+#: tortoisehg/hgqt/guess.py:188
 msgid "Search already in progress"
 msgstr ""
 
-#: tortoisehg/hgqt/guess.py:187
+#: tortoisehg/hgqt/guess.py:189
 msgid "Cannot start a new search"
 msgstr ""
 
-#: tortoisehg/hgqt/guess.py:197
+#: tortoisehg/hgqt/guess.py:199
 msgid "No files to find"
 msgstr ""
 
-#: tortoisehg/hgqt/guess.py:198
+#: tortoisehg/hgqt/guess.py:200
 msgid "There are no files that may have been renamed"
 msgstr ""
 
-#: tortoisehg/hgqt/guess.py:240
+#: tortoisehg/hgqt/guess.py:242
 msgid "Multiple sources chosen"
 msgstr ""
 
-#: tortoisehg/hgqt/guess.py:241
+#: tortoisehg/hgqt/guess.py:243
 #, python-format
 msgid ""
 "You have multiple renames selected for destination file:\n"
 "%s. Aborting!"
 msgstr ""
 
-#: tortoisehg/hgqt/guess.py:268
+#: tortoisehg/hgqt/guess.py:270
 #, python-format
 msgid ""
 "%s and %s have identical contents\n"
 "\n"
 msgstr ""
 
-#: tortoisehg/hgqt/guess.py:302
+#: tortoisehg/hgqt/guess.py:304
 msgid "Source"
 msgstr ""
 
-#: tortoisehg/hgqt/guess.py:302
+#: tortoisehg/hgqt/guess.py:304
 msgid "Dest"
 msgstr ""
 
-#: tortoisehg/hgqt/guess.py:302
+#: tortoisehg/hgqt/guess.py:304
 msgid "% Match"
 msgstr ""
 
-#: tortoisehg/hgqt/hgemail.py:318
+#: tortoisehg/hgqt/hgemail.py:294
 msgid "Sending Email"
 msgstr ""
 
-#: tortoisehg/hgqt/hgemail.py:519
+#: tortoisehg/hgqt/hgemail.py:495
 msgid "use only one form to specify the revision"
 msgstr ""
 
-#: tortoisehg/hgqt/hgemail.py:529
+#: tortoisehg/hgqt/hgemail.py:505
 msgid "Failed to open Email dialog"
 msgstr ""
 
-#: tortoisehg/hgqt/hgemail_ui.py:261 tortoisehg/hgqt/settings.py:801
+#: tortoisehg/hgqt/hgemail_ui.py:261 tortoisehg/hgqt/settings.py:815
 msgid "Email"
 msgstr ""
 
 msgstr ""
 
 #: tortoisehg/hgqt/hgignore.py:73 tortoisehg/hgqt/resolve.py:128
-#: tortoisehg/hgqt/settings.py:1160
+#: tortoisehg/hgqt/settings.py:1177
 msgid "Edit File"
 msgstr ""
 
 msgid "Drag to change order"
 msgstr ""
 
-#: tortoisehg/hgqt/logcolumns.py:100 tortoisehg/hgqt/settings.py:595
-#: tortoisehg/hgqt/workbench.py:795 tortoisehg/util/menuthg.py:46
+#: tortoisehg/hgqt/logcolumns.py:100 tortoisehg/hgqt/settings.py:599
+#: tortoisehg/hgqt/workbench.py:839 tortoisehg/util/menuthg.py:46
 msgid "Workbench"
 msgstr ""
 
-#: tortoisehg/hgqt/manifestdialog.py:57
+#: tortoisehg/hgqt/manifestdialog.py:54
 #, python-format
 msgid "Manifest %s@%s"
 msgstr ""
 
-#: tortoisehg/hgqt/manifestdialog.py:196 tortoisehg/hgqt/status.py:103
+#: tortoisehg/hgqt/manifestdialog.py:193 tortoisehg/hgqt/status.py:103
 msgid "### filter text ###"
 msgstr ""
 
-#: tortoisehg/hgqt/manifestdialog.py:198 tortoisehg/hgqt/status.py:105
+#: tortoisehg/hgqt/manifestdialog.py:195 tortoisehg/hgqt/status.py:105
 msgid "Filter:"
 msgstr ""
 
-#: tortoisehg/hgqt/manifestdialog.py:205 tortoisehg/hgqt/pbranch.py:657
+#: tortoisehg/hgqt/manifestdialog.py:202 tortoisehg/hgqt/pbranch.py:657
 msgid "Status"
 msgstr ""
 
-#: tortoisehg/hgqt/manifestdialog.py:210 tortoisehg/hgqt/revdetails.py:226
-msgid "File history"
-msgstr ""
-
-#: tortoisehg/hgqt/manifestdialog.py:211 tortoisehg/hgqt/revdetails.py:227
-msgid "Show the history of the selected file"
-msgstr ""
-
-#: tortoisehg/hgqt/manifestdialog.py:212 tortoisehg/hgqt/revdetails.py:228
-msgid "Compare file revisions"
-msgstr ""
-
-#: tortoisehg/hgqt/manifestdialog.py:213 tortoisehg/hgqt/revdetails.py:229
-msgid "Compare revisions of the selected file"
-msgstr ""
-
-#: tortoisehg/hgqt/manifestdialog.py:216 tortoisehg/hgqt/revdetails.py:232
-msgid "Diff to local"
-msgstr ""
-
-#: tortoisehg/hgqt/manifestdialog.py:217 tortoisehg/hgqt/revdetails.py:233
-msgid "View changes to current in external diff tool"
-msgstr ""
-
-#: tortoisehg/hgqt/manifestdialog.py:219 tortoisehg/hgqt/revdetails.py:235
-msgid "View at Revision"
-msgstr ""
-
-#: tortoisehg/hgqt/manifestdialog.py:220 tortoisehg/hgqt/revdetails.py:236
-msgid "View file as it appeared at this revision"
-msgstr ""
-
-#: tortoisehg/hgqt/manifestdialog.py:221
-msgid "Open at Revision"
-msgstr ""
-
-#: tortoisehg/hgqt/manifestdialog.py:222
-msgid "Open file as it appeared at this revision"
-msgstr ""
-
-#: tortoisehg/hgqt/manifestdialog.py:223 tortoisehg/hgqt/revdetails.py:237
-msgid "Save at Revision"
-msgstr ""
-
-#: tortoisehg/hgqt/manifestdialog.py:224 tortoisehg/hgqt/revdetails.py:238
-msgid "Save file as it appeared at this revision"
-msgstr ""
-
-#: tortoisehg/hgqt/manifestdialog.py:227 tortoisehg/hgqt/revdetails.py:241
-msgid "Open Local"
-msgstr ""
-
-#: tortoisehg/hgqt/manifestdialog.py:232 tortoisehg/hgqt/revdetails.py:249
-#: tortoisehg/hgqt/wctxactions.py:45
-msgid "Open subrepository"
-msgstr ""
-
-#: tortoisehg/hgqt/manifestdialog.py:233 tortoisehg/hgqt/revdetails.py:250
-#: tortoisehg/hgqt/revdetails.py:253
-msgid "Open the selected subrepository"
-msgstr ""
-
-#: tortoisehg/hgqt/manifestdialog.py:235 tortoisehg/hgqt/revdetails.py:252
-#: tortoisehg/hgqt/wctxactions.py:47
-msgid "Explore subrepository"
-msgstr ""
-
-#: tortoisehg/hgqt/manifestdialog.py:237
-msgid "Open the selected subrepository in a file browser"
-msgstr ""
-
-#: tortoisehg/hgqt/manifestdialog.py:239 tortoisehg/hgqt/revdetails.py:255
-#: tortoisehg/hgqt/wctxactions.py:49
-msgid "Open terminal in subrepository"
-msgstr ""
-
-#: tortoisehg/hgqt/manifestdialog.py:241 tortoisehg/hgqt/revdetails.py:257
-msgid "Open a shell terminal in the selected subrepository root"
-msgstr ""
-
-#: tortoisehg/hgqt/manifestdialog.py:344 tortoisehg/hgqt/revdetails.py:394
-#, python-format
-msgid "Hg file log viewer - %s"
-msgstr ""
-
-#: tortoisehg/hgqt/manifestdialog.py:357 tortoisehg/hgqt/revdetails.py:408
-#: tortoisehg/hgqt/wctxactions.py:238
-msgid "Cannot open subrepository"
-msgstr ""
-
-#: tortoisehg/hgqt/manifestdialog.py:358 tortoisehg/hgqt/revdetails.py:409
-#: tortoisehg/hgqt/wctxactions.py:239
-msgid "The selected subrepository does not exist on the working directory"
-msgstr ""
-
-#: tortoisehg/hgqt/manifestdialog.py:575
+#: tortoisehg/hgqt/manifestdialog.py:403
 msgid "Failed to open Manifest dialog"
 msgstr ""
 
 msgid "Find revisions matching fields of:"
 msgstr ""
 
-#: tortoisehg/hgqt/matching.py:73 tortoisehg/hgqt/matching.py:192
-#: tortoisehg/hgqt/matching.py:213
+#: tortoisehg/hgqt/matching.py:73 tortoisehg/hgqt/matching.py:202
+#: tortoisehg/hgqt/matching.py:223
 msgid "Revision to Match:"
 msgstr ""
 
 msgid "Summary (first description line)"
 msgstr ""
 
-#: tortoisehg/hgqt/matching.py:88 tortoisehg/hgqt/settings.py:744
+#: tortoisehg/hgqt/matching.py:88 tortoisehg/hgqt/settings.py:758
 msgid "Description"
 msgstr ""
 
 msgstr ""
 
 #: tortoisehg/hgqt/matching.py:98
+msgid "Diff contents"
+msgstr ""
+
+#: tortoisehg/hgqt/matching.py:99
 msgid "Subrepo states"
 msgstr ""
 
-#: tortoisehg/hgqt/matching.py:99 tortoisehg/hgqt/repofilter.py:221
+#: tortoisehg/hgqt/matching.py:100 tortoisehg/hgqt/repofilter.py:226
 msgid "Branch"
 msgstr ""
 
-#: tortoisehg/hgqt/matching.py:101
+#: tortoisehg/hgqt/matching.py:102
 msgid "Phase"
 msgstr ""
 
-#: tortoisehg/hgqt/matching.py:132
+#: tortoisehg/hgqt/matching.py:141
 msgid "&Match"
 msgstr ""
 
-#: tortoisehg/hgqt/matching.py:143
+#: tortoisehg/hgqt/matching.py:152
 #, python-format
 msgid "Find matches - %s"
 msgstr ""
 
-#: tortoisehg/hgqt/matching.py:209
+#: tortoisehg/hgqt/matching.py:219
 msgid "Revisions to Match:"
 msgstr ""
 
-#: tortoisehg/hgqt/matching.py:210
+#: tortoisehg/hgqt/matching.py:220
 #, python-format
 msgid "Match any of <b><i>%d</i></b> revisions"
 msgstr ""
 
-#: tortoisehg/hgqt/matching.py:217
+#: tortoisehg/hgqt/matching.py:227
 msgid "<b>Unknown revision!</b>"
 msgstr ""
 
-#: tortoisehg/hgqt/matching.py:219
+#: tortoisehg/hgqt/matching.py:229
 msgid "<b>Parse Error!</b>"
 msgstr ""
 
 msgid "To finish merging, you need to commit the working directory."
 msgstr ""
 
-#: tortoisehg/hgqt/merge.py:104 tortoisehg/hgqt/rebase.py:260
-msgid "&Exit"
-msgstr ""
-
 #: tortoisehg/hgqt/merge.py:124
 msgid "Prepare to merge"
 msgstr ""
 msgstr ""
 
 #: tortoisehg/hgqt/mq.py:123 tortoisehg/hgqt/qqueue.py:97
-#: tortoisehg/hgqt/qscilib.py:191 tortoisehg/hgqt/shelve.py:68
+#: tortoisehg/hgqt/qscilib.py:198 tortoisehg/hgqt/shelve.py:68
 #: tortoisehg/hgqt/shelve.py:97
 msgid "Delete"
 msgstr ""
 msgid "Patch Queue Actions Toolbar"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:245 tortoisehg/hgqt/mq.py:750
+#: tortoisehg/hgqt/mq.py:245 tortoisehg/hgqt/mq.py:752
 #, python-format
 msgid "%s had rejected chunks, edit patched file together with rejects?"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:335 tortoisehg/hgqt/mq.py:784
-#: tortoisehg/hgqt/repowidget.py:1481
+#: tortoisehg/hgqt/mq.py:335 tortoisehg/hgqt/mq.py:786
+#: tortoisehg/hgqt/repowidget.py:1475
 msgid ""
 "<p>ATTENTION!<br>Guard or comment found.<br>Reordering patches will destroy "
 "them.<br><br>Continue?</p>"
 msgid "no guards"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:548 tortoisehg/hgqt/mq.py:1015
+#: tortoisehg/hgqt/mq.py:549 tortoisehg/hgqt/mq.py:1017
 #, python-format
 msgid "Guards: %d/%d"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:610
+#: tortoisehg/hgqt/mq.py:611
 msgid "Queues"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:649
+#: tortoisehg/hgqt/mq.py:650
 msgid "New Patch"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:703
+#: tortoisehg/hgqt/mq.py:704
 msgid "TortoiseHg Patch Queue"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:947
+#: tortoisehg/hgqt/mq.py:949
 msgid "QCommit"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:949
+#: tortoisehg/hgqt/mq.py:951
 msgid "Create MQ repo"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:1114
+#: tortoisehg/hgqt/mq.py:1116
 msgid "Patch commit messages..."
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:1134
+#: tortoisehg/hgqt/mq.py:1136
 msgid "MQ options"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:1140
+#: tortoisehg/hgqt/mq.py:1142
 msgid "Force use of git extended diff format (--git)"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:1144
+#: tortoisehg/hgqt/mq.py:1146
 msgid "Force push or pop (--force)"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:1148
+#: tortoisehg/hgqt/mq.py:1150
 msgid "Apply patch to its recorded parent (--exact)"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:1152
+#: tortoisehg/hgqt/mq.py:1154
 msgid "Update date field with current date (--currentdate)"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:1156
+#: tortoisehg/hgqt/mq.py:1158
 msgid "Specify an explicit date:"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:1159
+#: tortoisehg/hgqt/mq.py:1161
 msgid "Update author field with current user (--currentuser)"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:1163
+#: tortoisehg/hgqt/mq.py:1165
 msgid "Specify an explicit author:"
 msgstr ""
 
 msgid "Graph"
 msgstr ""
 
-#: tortoisehg/hgqt/pbranch.py:657 tortoisehg/hgqt/settings.py:741
+#: tortoisehg/hgqt/pbranch.py:657 tortoisehg/hgqt/settings.py:755
 msgid "Name"
 msgstr ""
 
 #: tortoisehg/hgqt/postreview.py:110 tortoisehg/hgqt/postreview.py:126
 #: tortoisehg/hgqt/postreview.py:342 tortoisehg/hgqt/postreview.py:365
 #: tortoisehg/hgqt/postreview.py:377 tortoisehg/hgqt/postreview_ui.py:163
-#: tortoisehg/hgqt/settings.py:934
+#: tortoisehg/hgqt/settings.py:951
 msgid "Review Board"
 msgstr ""
 
 msgid "Remove patches from queue?"
 msgstr ""
 
-#: tortoisehg/hgqt/qdelete.py:38 tortoisehg/hgqt/qfold.py:43
+#: tortoisehg/hgqt/qdelete.py:38 tortoisehg/hgqt/qfold.py:40
 msgid "Keep patch files"
 msgstr ""
 
-#: tortoisehg/hgqt/qfold.py:28
+#: tortoisehg/hgqt/qfold.py:25
 #, python-format
 msgid "Patch fold - %s"