From af7c0d4c4d5f20cc09dc7f709cd88c43dab567b8 Mon Sep 17 00:00:00 2001 From: hiro Date: Tue, 26 Jan 2010 09:41:32 +0000 Subject: implemented auto-registration of new recipients. git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@2442 ee746299-78ed-0310-b773-934348b2243d --- ChangeLog | 7 + po/ja.po | 712 +++++++++++++++++++++++++++--------------------------- src/addressadd.c | 51 ++++ src/addressadd.h | 2 + src/addressbook.c | 26 +- src/addressbook.h | 9 +- src/addrindex.c | 37 ++- src/addrindex.h | 3 + src/compose.c | 75 +++++- 9 files changed, 562 insertions(+), 360 deletions(-) diff --git a/ChangeLog b/ChangeLog index bbae2333..bcf7ddd7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2010-01-26 + + * src/compose.c + src/addressbook.[ch] + src/addressadd.[ch] + src/addrindex.[ch]: implemented auto-registration of new recipients. + 2010-01-21 * src/main.c: check_gpg(): show more verbose debug messages. diff --git a/po/ja.po b/po/ja.po index 69ffd653..2f4fdb40 100644 --- a/po/ja.po +++ b/po/ja.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: sylpheed\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-01-14 16:42+0900\n" +"POT-Creation-Date: 2010-01-26 18:33+0900\n" "PO-Revision-Date: 1999-10-12\n" "Last-Translator: Hiroyuki Yamamoto \n" "Language-Team: Japanese \n" @@ -18,198 +18,202 @@ msgstr "" msgid "Reading all config for each account...\n" msgstr "すべてのアカウント毎の設定を読み込み中...\n" -#: libsylph/imap.c:531 +#: libsylph/imap.c:534 #, c-format msgid "IMAP4 connection to %s has been disconnected. Reconnecting...\n" msgstr "%s へのIMAP4の接続が切れています。再接続します...\n" -#: libsylph/imap.c:588 libsylph/imap.c:594 +#: libsylph/imap.c:591 libsylph/imap.c:597 msgid "IMAP4 server disables LOGIN.\n" msgstr "IMAPサーバは LOGIN を無効にしています。\n" -#: libsylph/imap.c:653 +#: libsylph/imap.c:656 msgid "Could not establish IMAP connection.\n" msgstr "IMAP の接続を確立できませんでした。\n" -#: libsylph/imap.c:671 +#: libsylph/imap.c:674 #, c-format msgid "creating IMAP4 connection to %s:%d ...\n" msgstr "%s:%d へのIMAP4の接続を確立中...\n" -#: libsylph/imap.c:715 +#: libsylph/imap.c:718 msgid "Can't start TLS session.\n" msgstr "TLS セッションを開始できません。\n" -#: libsylph/imap.c:1236 +#: libsylph/imap.c:865 +msgid "(retrieving FLAGS...)" +msgstr "(FLAGS を取得中...)" + +#: libsylph/imap.c:1256 #, c-format msgid "Getting message %u" msgstr "メッセージ %u を取得中" -#: libsylph/imap.c:1358 +#: libsylph/imap.c:1378 #, c-format msgid "Appending messages to %s (%d / %d)" msgstr "メッセージを %s に追加しています (%d / %d)" -#: libsylph/imap.c:1481 +#: libsylph/imap.c:1501 #, c-format msgid "Moving messages %s to %s ..." msgstr "メッセージ %s を %s に移動しています..." -#: libsylph/imap.c:1486 +#: libsylph/imap.c:1506 #, c-format msgid "Copying messages %s to %s ..." msgstr "メッセージ %s を %s にコピーしています..." -#: libsylph/imap.c:1624 +#: libsylph/imap.c:1644 #, c-format msgid "Removing messages %s" msgstr "メッセージ %s を削除しています" -#: libsylph/imap.c:1630 +#: libsylph/imap.c:1650 #, c-format msgid "can't set deleted flags: %s\n" msgstr "deleted フラグをセットできません: %s\n" -#: libsylph/imap.c:1638 libsylph/imap.c:1737 +#: libsylph/imap.c:1658 libsylph/imap.c:1757 msgid "can't expunge\n" msgstr "expunge できません\n" -#: libsylph/imap.c:1721 +#: libsylph/imap.c:1741 #, c-format msgid "Removing all messages in %s" msgstr "%s のすべてのメッセージを削除しています" -#: libsylph/imap.c:1726 libsylph/imap.c:1731 +#: libsylph/imap.c:1746 libsylph/imap.c:1751 msgid "can't set deleted flags: 1:*\n" msgstr "deleted フラグをセットできません: 1:*\n" -#: libsylph/imap.c:1779 +#: libsylph/imap.c:1799 msgid "can't close folder\n" msgstr "フォルダをクローズできません\n" -#: libsylph/imap.c:1858 +#: libsylph/imap.c:1878 #, c-format msgid "root folder %s not exist\n" msgstr "ルートフォルダ %s が存在しません\n" -#: libsylph/imap.c:2058 libsylph/imap.c:2066 +#: libsylph/imap.c:2078 libsylph/imap.c:2086 msgid "error occurred while getting LIST.\n" msgstr "LIST の取得中にエラーが発生しました。\n" -#: libsylph/imap.c:2298 +#: libsylph/imap.c:2318 #, c-format msgid "Can't create '%s'\n" msgstr "'%s' を作成できません。\n" -#: libsylph/imap.c:2303 +#: libsylph/imap.c:2323 #, c-format msgid "Can't create '%s' under INBOX\n" msgstr "INBOX の下に '%s' を作成できません。\n" -#: libsylph/imap.c:2365 +#: libsylph/imap.c:2385 msgid "can't create mailbox: LIST failed\n" msgstr "メールボックスを作成できません: LIST に失敗\n" -#: libsylph/imap.c:2388 +#: libsylph/imap.c:2408 msgid "can't create mailbox\n" msgstr "メールボックスを作成できません\n" -#: libsylph/imap.c:2516 +#: libsylph/imap.c:2536 #, c-format msgid "can't rename mailbox: %s to %s\n" msgstr "メールボックスを名称変更できません: %s -> %s\n" -#: libsylph/imap.c:2596 +#: libsylph/imap.c:2616 msgid "can't delete mailbox\n" msgstr "メールボックスを削除できません\n" -#: libsylph/imap.c:2623 +#: libsylph/imap.c:2643 #, c-format msgid "Getting message headers (%d / %d)" msgstr "メッセージのヘッダを取得中 (%d / %d)" -#: libsylph/imap.c:2675 +#: libsylph/imap.c:2695 msgid "error occurred while getting envelope.\n" msgstr "エンベロープを取得中にエラーが発生しました。\n" -#: libsylph/imap.c:2696 +#: libsylph/imap.c:2716 #, c-format msgid "can't parse envelope: %s\n" msgstr "エンベロープを解析できません: %s\n" -#: libsylph/imap.c:2753 +#: libsylph/imap.c:2773 msgid "can't get envelope\n" msgstr "エンベロープを取得できません\n" -#: libsylph/imap.c:2860 libsylph/imap.c:2866 +#: libsylph/imap.c:2880 libsylph/imap.c:2886 #, c-format msgid "Can't connect to IMAP4 server: %s:%d\n" msgstr "IMAP4 サーバ: %s:%d に接続できません\n" -#: libsylph/imap.c:2874 +#: libsylph/imap.c:2894 #, c-format msgid "Can't establish IMAP4 session with: %s:%d\n" msgstr "%s:%d との IMAP4 セッションを確立できません\n" -#: libsylph/imap.c:2949 +#: libsylph/imap.c:2969 msgid "can't get namespace\n" msgstr "namespace を取得できません\n" -#: libsylph/imap.c:3483 +#: libsylph/imap.c:3577 #, c-format msgid "can't select folder: %s\n" msgstr "フォルダ %s を選択できません\n" -#: libsylph/imap.c:3521 +#: libsylph/imap.c:3615 msgid "error on imap command: STATUS\n" msgstr "imap コマンド中のエラー: STATUS\n" -#: libsylph/imap.c:3645 libsylph/imap.c:3680 +#: libsylph/imap.c:3739 libsylph/imap.c:3774 msgid "IMAP4 authentication failed.\n" msgstr "IMAP4 の認証に失敗しました。\n" -#: libsylph/imap.c:3733 +#: libsylph/imap.c:3827 msgid "IMAP4 login failed.\n" msgstr "IMAP4のログインに失敗しました。\n" -#: libsylph/imap.c:4137 libsylph/imap.c:4144 +#: libsylph/imap.c:4231 libsylph/imap.c:4238 #, c-format msgid "can't append %s to %s\n" msgstr "%s を %s に追加できません\n" -#: libsylph/imap.c:4151 +#: libsylph/imap.c:4245 msgid "(sending file...)" msgstr "(ファイルを送信中...)" -#: libsylph/imap.c:4180 +#: libsylph/imap.c:4274 #, c-format msgid "can't append message to %s\n" msgstr "メッセージを %s に追加できません\n" -#: libsylph/imap.c:4212 +#: libsylph/imap.c:4306 #, c-format msgid "can't copy %s to %s\n" msgstr "%s を %s にコピーできません\n" -#: libsylph/imap.c:4235 +#: libsylph/imap.c:4329 #, c-format msgid "error while imap command: STORE %s %s\n" msgstr "imap コマンド中のエラー: STORE %s %s\n" -#: libsylph/imap.c:4251 +#: libsylph/imap.c:4345 msgid "error while imap command: EXPUNGE\n" msgstr "imap コマンド中のエラー: EXPUNGE\n" -#: libsylph/imap.c:4266 +#: libsylph/imap.c:4360 msgid "error while imap command: CLOSE\n" msgstr "imap コマンド中のエラー: CLOSE\n" -#: libsylph/imap.c:4573 +#: libsylph/imap.c:4681 #, c-format msgid "iconv cannot convert UTF-7 to %s\n" msgstr "iconv が UTF-7 を %s に変換できません\n" -#: libsylph/imap.c:4603 +#: libsylph/imap.c:4711 #, c-format msgid "iconv cannot convert %s to UTF-7\n" msgstr "iconv が %s を UTF-7 に変換できません\n" @@ -684,8 +688,8 @@ msgstr "" "新着メッセージはこの順番でチェックされます。「全受信」によるメッセージ\n" "の取得を有効にするには、「G」カラムのボックスをチェックしてください。" -#: src/account_dialog.c:374 src/addressadd.c:177 src/addressbook.c:682 -#: src/compose.c:5157 src/editaddress.c:777 src/editaddress.c:826 +#: src/account_dialog.c:374 src/addressadd.c:178 src/addressbook.c:682 +#: src/compose.c:5249 src/editaddress.c:777 src/editaddress.c:826 #: src/editbook.c:198 src/editgroup.c:266 src/editjpilot.c:270 #: src/editldap.c:307 src/editvcard.c:183 src/mimeview.c:226 #: src/prefs_filter.c:257 src/prefs_folder_item.c:171 src/select-keys.c:311 @@ -816,25 +820,25 @@ msgstr "" msgid "Action's user argument" msgstr "アクションのユーザ引数" -#: src/addressadd.c:155 +#: src/addressadd.c:156 msgid "Add Address to Book" msgstr "アドレスをアドレス帳に追加" -#: src/addressadd.c:187 src/compose.c:3248 src/prefs_toolbar.c:89 +#: src/addressadd.c:188 src/compose.c:3270 src/prefs_toolbar.c:89 #: src/select-keys.c:312 msgid "Address" msgstr "アドレス" -#: src/addressadd.c:197 src/addressbook.c:725 src/editaddress.c:629 +#: src/addressadd.c:198 src/addressbook.c:725 src/editaddress.c:629 #: src/editaddress.c:695 src/editgroup.c:268 src/importcsv.c:125 msgid "Remarks" msgstr "備考" -#: src/addressadd.c:219 +#: src/addressadd.c:220 msgid "Select Address Book Folder" msgstr "アドレス帳フォルダを選択" -#: src/addressbook.c:341 src/compose.c:564 src/mainwindow.c:542 +#: src/addressbook.c:341 src/compose.c:568 src/mainwindow.c:542 #: src/messageview.c:149 msgid "/_File" msgstr "/ファイル(_F)" @@ -855,8 +859,8 @@ msgstr "/ファイル(_F)/新規_JPilot" msgid "/_File/New _LDAP Server" msgstr "/ファイル(_F)/新規LDAPサーバ(_L)" -#: src/addressbook.c:350 src/addressbook.c:353 src/compose.c:569 -#: src/compose.c:574 src/compose.c:577 src/compose.c:580 src/mainwindow.c:560 +#: src/addressbook.c:350 src/addressbook.c:353 src/compose.c:573 +#: src/compose.c:578 src/compose.c:581 src/compose.c:584 src/mainwindow.c:560 #: src/mainwindow.c:563 src/mainwindow.c:565 src/mainwindow.c:567 #: src/mainwindow.c:572 src/mainwindow.c:574 src/messageview.c:151 #: src/messageview.c:156 @@ -875,21 +879,21 @@ msgstr "/ファイル(_F)/削除(_D)" msgid "/_File/_Save" msgstr "/ファイル(_F)/保存(_S)" -#: src/addressbook.c:355 src/compose.c:581 src/messageview.c:157 +#: src/addressbook.c:355 src/compose.c:585 src/messageview.c:157 msgid "/_File/_Close" msgstr "/ファイル(_F)/閉じる(_C)" #: src/addressbook.c:357 src/addressbook.c:397 src/addressbook.c:407 -#: src/compose.c:583 src/mainwindow.c:578 src/messageview.c:159 +#: src/compose.c:587 src/mainwindow.c:578 src/messageview.c:159 msgid "/_Edit" msgstr "/編集(_E)" -#: src/addressbook.c:358 src/compose.c:588 src/mainwindow.c:579 +#: src/addressbook.c:358 src/compose.c:592 src/mainwindow.c:579 #: src/messageview.c:160 msgid "/_Edit/_Copy" msgstr "/編集(_E)/コピー(_C)" -#: src/addressbook.c:359 src/compose.c:589 +#: src/addressbook.c:359 src/compose.c:593 msgid "/_Edit/_Paste" msgstr "/編集(_E)/ペースト(_P)" @@ -921,7 +925,7 @@ msgstr "/アドレス(_A)/編集(_E)" msgid "/_Address/_Delete" msgstr "/アドレス(_A)/削除(_D)" -#: src/addressbook.c:369 src/compose.c:699 src/mainwindow.c:826 +#: src/addressbook.c:369 src/compose.c:703 src/mainwindow.c:826 #: src/messageview.c:282 msgid "/_Tools" msgstr "/ツール(_T)" @@ -934,12 +938,12 @@ msgstr "/ツール(_T)/_LDIFファイルをインポート" msgid "/_Tools/Import _CSV file" msgstr "/ツール(_T)/_CSVファイルをインポート" -#: src/addressbook.c:373 src/compose.c:723 src/mainwindow.c:882 +#: src/addressbook.c:373 src/compose.c:727 src/mainwindow.c:882 #: src/messageview.c:302 msgid "/_Help" msgstr "/ヘルプ(_H)" -#: src/addressbook.c:374 src/compose.c:724 src/mainwindow.c:898 +#: src/addressbook.c:374 src/compose.c:728 src/mainwindow.c:898 #: src/messageview.c:303 msgid "/_Help/_About" msgstr "/ヘルプ(_H)/このプログラムについて(_A)" @@ -957,19 +961,19 @@ msgid "/New _Folder" msgstr "/新規フォルダ(_F)" #: src/addressbook.c:396 src/addressbook.c:406 src/addressbook.c:409 -#: src/compose.c:558 src/folderview.c:256 src/folderview.c:258 +#: src/compose.c:562 src/folderview.c:256 src/folderview.c:258 #: src/folderview.c:263 src/folderview.c:266 src/folderview.c:279 #: src/folderview.c:281 src/folderview.c:283 src/folderview.c:288 #: src/folderview.c:291 src/folderview.c:305 src/folderview.c:307 #: src/folderview.c:311 src/folderview.c:313 src/mimeview.c:141 -#: src/mimeview.c:151 src/summaryview.c:421 src/summaryview.c:425 -#: src/summaryview.c:428 src/summaryview.c:440 src/summaryview.c:442 -#: src/summaryview.c:445 src/summaryview.c:447 src/summaryview.c:459 -#: src/summaryview.c:465 +#: src/mimeview.c:151 src/summaryview.c:424 src/summaryview.c:428 +#: src/summaryview.c:431 src/summaryview.c:443 src/summaryview.c:445 +#: src/summaryview.c:448 src/summaryview.c:450 src/summaryview.c:462 +#: src/summaryview.c:468 msgid "/---" msgstr "/---" -#: src/addressbook.c:398 src/addressbook.c:408 src/summaryview.c:441 +#: src/addressbook.c:398 src/addressbook.c:408 src/summaryview.c:444 msgid "/_Delete" msgstr "/削除(_D)" @@ -986,7 +990,7 @@ msgid "Address book" msgstr "アドレス帳" #. special folder setting (maybe these options are redundant) -#: src/addressbook.c:609 src/addressbook.c:3760 src/folderview.c:385 +#: src/addressbook.c:609 src/addressbook.c:3770 src/folderview.c:385 #: src/prefs_account_dialog.c:1835 src/query_search.c:400 msgid "Folder" msgstr "フォルダ" @@ -999,23 +1003,23 @@ msgstr "電子メール アドレス" msgid "Search:" msgstr "検索:" -#: src/addressbook.c:788 src/compose.c:3193 src/headerview.c:55 +#: src/addressbook.c:788 src/compose.c:3215 src/headerview.c:55 #: src/prefs_folder_item.c:339 src/prefs_template.c:179 msgid "To:" msgstr "宛先:" -#: src/addressbook.c:792 src/compose.c:3210 src/headerview.c:56 +#: src/addressbook.c:792 src/compose.c:3232 src/headerview.c:56 #: src/prefs_folder_item.c:356 src/prefs_template.c:181 msgid "Cc:" msgstr "Cc:" -#: src/addressbook.c:796 src/compose.c:3227 src/prefs_folder_item.c:367 +#: src/addressbook.c:796 src/compose.c:3249 src/prefs_folder_item.c:367 #: src/prefs_template.c:183 msgid "Bcc:" msgstr "Bcc:" #. Buttons -#: src/addressbook.c:817 src/addressbook.c:1892 src/editaddress.c:719 +#: src/addressbook.c:817 src/addressbook.c:1895 src/editaddress.c:719 #: src/editaddress.c:853 src/prefs_actions.c:266 #: src/prefs_display_header.c:280 src/prefs_display_header.c:336 #: src/prefs_template.c:239 src/prefs_toolbar.c:65 @@ -1046,7 +1050,7 @@ msgstr "アドレスの削除" msgid "Really delete the address(es)?" msgstr "本当にこのアドレスを削除しますか?" -#: src/addressbook.c:1883 +#: src/addressbook.c:1886 #, c-format msgid "" "Do you want to delete the folder AND all addresses in `%s' ?\n" @@ -1055,36 +1059,36 @@ msgstr "" "`%s' 内のすべてのフォルダとアドレスを削除してもいいですか?\n" "フォルダのみを削除する場合、アドレスは親フォルダに移動します。" -#: src/addressbook.c:1886 src/folderview.c:2546 +#: src/addressbook.c:1889 src/folderview.c:2546 msgid "Delete folder" msgstr "フォルダの削除" -#: src/addressbook.c:1886 +#: src/addressbook.c:1889 msgid "_Folder only" msgstr "フォルダのみ(_F)" -#: src/addressbook.c:1886 +#: src/addressbook.c:1889 msgid "Folder and _addresses" msgstr "フォルダとアドレス(_A)" -#: src/addressbook.c:1891 +#: src/addressbook.c:1894 #, c-format msgid "Really delete `%s' ?" msgstr "本当に `%s' を削除しますか?" -#: src/addressbook.c:2823 src/addressbook.c:2959 +#: src/addressbook.c:2826 src/addressbook.c:2964 msgid "New user, could not save index file." msgstr "新規ユーザ、インデックスファイルを保存できません。" -#: src/addressbook.c:2827 src/addressbook.c:2963 +#: src/addressbook.c:2830 src/addressbook.c:2968 msgid "New user, could not save address book files." msgstr "新規ユーザ、アドレス帳ファイルを保存できません。" -#: src/addressbook.c:2837 src/addressbook.c:2973 +#: src/addressbook.c:2840 src/addressbook.c:2978 msgid "Old address book converted successfully." msgstr "旧形式のアドレス帳は正しく変換されました。" -#: src/addressbook.c:2842 +#: src/addressbook.c:2845 msgid "" "Old address book converted,\n" "could not save new address index file" @@ -1092,7 +1096,7 @@ msgstr "" "旧形式のアドレス帳は変換されました。\n" "新規アドレスインデックスファイルに保存できません" -#: src/addressbook.c:2855 +#: src/addressbook.c:2858 msgid "" "Could not convert address book,\n" "but created empty new address book files." @@ -1100,7 +1104,7 @@ msgstr "" "アドレス帳を変換できません。\n" "しかし空の新規アドレス帳ファイルが作成されました。" -#: src/addressbook.c:2861 +#: src/addressbook.c:2864 msgid "" "Could not convert address book,\n" "could not create new address book files." @@ -1108,7 +1112,7 @@ msgstr "" "アドレス帳を変換できません。\n" "新規アドレス帳ファイルを作成できません。" -#: src/addressbook.c:2866 +#: src/addressbook.c:2869 msgid "" "Could not convert address book\n" "and could not create new address book files." @@ -1116,15 +1120,15 @@ msgstr "" "アドレス帳を変換できません。\n" "新規アドレス帳ファイルを作成できません。" -#: src/addressbook.c:2873 +#: src/addressbook.c:2876 msgid "Address book conversion error" msgstr "アドレス帳の変換エラー" -#: src/addressbook.c:2877 +#: src/addressbook.c:2880 msgid "Address book conversion" msgstr "アドレス帳の変換" -#: src/addressbook.c:2914 +#: src/addressbook.c:2919 #, c-format msgid "" "Could not read address index:\n" @@ -1135,76 +1139,80 @@ msgstr "" "\n" "%s%c%s" -#: src/addressbook.c:2917 +#: src/addressbook.c:2922 msgid "Address Book Error" msgstr "アドレス帳のエラー" -#: src/addressbook.c:2978 +#: src/addressbook.c:2983 msgid "Old address book converted, could not save new address index file" msgstr "" "旧形式のアドレス帳は変換されましたが、新規アドレスインデックスファイルを保存" "できません" -#: src/addressbook.c:2992 +#: src/addressbook.c:2997 msgid "" "Could not convert address book, but created empty new address book files." msgstr "" "アドレス帳を変換できませんでしたが、空の新規アドレス帳ファイルが作成されまし" "た。" -#: src/addressbook.c:2998 +#: src/addressbook.c:3003 msgid "" "Could not convert address book, could not create new address book files." msgstr "" "アドレス帳を変換できません。新規アドレス帳ファイルを作成できませんでした。" -#: src/addressbook.c:3004 +#: src/addressbook.c:3009 msgid "" "Could not convert address book and could not create new address book files." msgstr "" "アドレス帳を変換できません。新規アドレス帳ファイルを作成できませんでした。" -#: src/addressbook.c:3016 +#: src/addressbook.c:3021 msgid "Could not read address index" msgstr "アドレスインデックスを読み込めません" -#: src/addressbook.c:3022 +#: src/addressbook.c:3027 msgid "Address Book Conversion Error" msgstr "アドレス帳変換エラー" -#: src/addressbook.c:3028 +#: src/addressbook.c:3033 msgid "Address Book Conversion" msgstr "アドレス帳変換" -#: src/addressbook.c:3690 src/prefs_common_dialog.c:2320 +#: src/addressbook.c:3079 +msgid "Auto-registered address" +msgstr "自動登録アドレス" + +#: src/addressbook.c:3700 src/prefs_common_dialog.c:2320 msgid "Interface" msgstr "インタフェース" -#: src/addressbook.c:3704 src/importcsv.c:671 src/importldif.c:478 +#: src/addressbook.c:3714 src/importcsv.c:671 src/importldif.c:478 msgid "Address Book" msgstr "アドレス帳" -#: src/addressbook.c:3718 +#: src/addressbook.c:3728 msgid "Person" msgstr "人物" -#: src/addressbook.c:3732 +#: src/addressbook.c:3742 msgid "EMail Address" msgstr "電子メール アドレス" -#: src/addressbook.c:3746 +#: src/addressbook.c:3756 msgid "Group" msgstr "グループ" -#: src/addressbook.c:3774 +#: src/addressbook.c:3784 msgid "vCard" msgstr "vCard" -#: src/addressbook.c:3788 src/addressbook.c:3802 +#: src/addressbook.c:3798 src/addressbook.c:3812 msgid "JPilot" msgstr "JPilot" -#: src/addressbook.c:3816 +#: src/addressbook.c:3826 msgid "LDAP Server" msgstr "LDAPサーバ" @@ -1216,11 +1224,11 @@ msgstr "共有アドレス" msgid "Personal address" msgstr "個人用アドレス" -#: src/alertpanel.c:142 src/compose.c:6487 src/main.c:748 +#: src/alertpanel.c:142 src/compose.c:6581 src/main.c:748 msgid "Notice" msgstr "注意" -#: src/alertpanel.c:155 src/main.c:857 +#: src/alertpanel.c:155 src/main.c:868 msgid "Warning" msgstr "警告" @@ -1267,396 +1275,396 @@ msgstr "茶" #. create sub items. for the menu item activation callback we pass the #. * color flag value as data parameter. Also we attach a data pointer #. * so we can always get back the SummaryView pointer. -#: src/colorlabel.c:300 src/prefs_folder_item.c:316 src/summaryview.c:5011 +#: src/colorlabel.c:300 src/prefs_folder_item.c:316 src/summaryview.c:5015 msgid "None" msgstr "なし" -#: src/compose.c:556 +#: src/compose.c:560 msgid "/_Add..." msgstr "/追加(_A)..." -#: src/compose.c:557 +#: src/compose.c:561 msgid "/_Remove" msgstr "/削除(_R)" -#: src/compose.c:559 src/folderview.c:270 src/folderview.c:295 +#: src/compose.c:563 src/folderview.c:270 src/folderview.c:295 #: src/folderview.c:317 msgid "/_Properties..." msgstr "/プロパティ(_P)..." -#: src/compose.c:565 +#: src/compose.c:569 msgid "/_File/_Send" msgstr "/ファイル(_F)/送信(_S)" -#: src/compose.c:567 +#: src/compose.c:571 msgid "/_File/Send _later" msgstr "/ファイル(_F)/後で送信(_L)" -#: src/compose.c:570 +#: src/compose.c:574 msgid "/_File/Save to _draft folder" msgstr "/ファイル(_F)/草稿フォルダに保存(_D)" -#: src/compose.c:572 +#: src/compose.c:576 msgid "/_File/Save and _keep editing" msgstr "/ファイル(_F)/保存して編集を続ける(_K)" -#: src/compose.c:575 +#: src/compose.c:579 msgid "/_File/_Attach file" msgstr "/ファイル(_F)/ファイルを添付(_A)" -#: src/compose.c:576 +#: src/compose.c:580 msgid "/_File/_Insert file" msgstr "/ファイル(_F)/ファイルを挿入(_I)" -#: src/compose.c:578 +#: src/compose.c:582 msgid "/_File/Insert si_gnature" msgstr "/ファイル(_F)/署名を挿入(_G)" -#: src/compose.c:579 +#: src/compose.c:583 msgid "/_File/A_ppend signature" msgstr "/ファイル(_F)/署名を追加(_P)" -#: src/compose.c:584 +#: src/compose.c:588 msgid "/_Edit/_Undo" msgstr "/編集(_E)/元に戻す(_U)" -#: src/compose.c:585 +#: src/compose.c:589 msgid "/_Edit/_Redo" msgstr "/編集(_E)/やり直し(_R)" -#: src/compose.c:586 src/compose.c:593 src/mainwindow.c:582 +#: src/compose.c:590 src/compose.c:597 src/mainwindow.c:582 #: src/messageview.c:162 msgid "/_Edit/---" msgstr "/編集(_E)/---" -#: src/compose.c:587 +#: src/compose.c:591 msgid "/_Edit/Cu_t" msgstr "/編集(_E)/カット(_T)" -#: src/compose.c:590 +#: src/compose.c:594 msgid "/_Edit/Paste as _quotation" msgstr "/編集(_E)/引用としてペースト(_Q)" -#: src/compose.c:592 src/mainwindow.c:580 src/messageview.c:161 +#: src/compose.c:596 src/mainwindow.c:580 src/messageview.c:161 msgid "/_Edit/Select _all" msgstr "/編集(_E)/すべて選択(_A)" -#: src/compose.c:594 +#: src/compose.c:598 msgid "/_Edit/_Wrap current paragraph" msgstr "/編集(_E)/現在の段落を整形する(_W)" -#: src/compose.c:596 +#: src/compose.c:600 msgid "/_Edit/Wrap all long _lines" msgstr "/編集(_E)/すべての長い行を折り返す(_L)" -#: src/compose.c:598 +#: src/compose.c:602 msgid "/_Edit/Aut_o wrapping" msgstr "/編集(_E)/自動整形(_O)" -#: src/compose.c:599 src/mainwindow.c:588 src/messageview.c:166 -#: src/summaryview.c:460 +#: src/compose.c:603 src/mainwindow.c:588 src/messageview.c:166 +#: src/summaryview.c:463 msgid "/_View" msgstr "/表示(_V)" -#: src/compose.c:600 +#: src/compose.c:604 msgid "/_View/_To" msgstr "/表示(_V)/宛先(_T)" -#: src/compose.c:601 +#: src/compose.c:605 msgid "/_View/_Cc" msgstr "/表示(_V)/_Cc" -#: src/compose.c:602 +#: src/compose.c:606 msgid "/_View/_Bcc" msgstr "/表示(_V)/_Bcc" -#: src/compose.c:603 +#: src/compose.c:607 msgid "/_View/_Reply-To" msgstr "/表示(_V)/返信先を指定(_Reply-To)" -#: src/compose.c:604 src/compose.c:606 src/compose.c:608 src/compose.c:610 -#: src/compose.c:613 src/mainwindow.c:611 src/mainwindow.c:617 +#: src/compose.c:608 src/compose.c:610 src/compose.c:612 src/compose.c:614 +#: src/compose.c:617 src/mainwindow.c:611 src/mainwindow.c:617 #: src/mainwindow.c:644 src/mainwindow.c:668 src/mainwindow.c:771 #: src/mainwindow.c:775 src/messageview.c:258 msgid "/_View/---" msgstr "/表示(_V)/---" -#: src/compose.c:605 +#: src/compose.c:609 msgid "/_View/_Followup-To" msgstr "/表示(_V)/フォロー先を指定(_Followup-To)" -#: src/compose.c:607 +#: src/compose.c:611 msgid "/_View/R_uler" msgstr "/表示(_V)/ルーラ(_U)" -#: src/compose.c:609 +#: src/compose.c:613 msgid "/_View/_Attachment" msgstr "/表示(_V)/添付(_A)" -#: src/compose.c:611 +#: src/compose.c:615 msgid "/_View/Cu_stomize toolbar..." msgstr "/表示(_V)/ツールバーをカスタマイズ(_S)..." -#: src/compose.c:619 src/mainwindow.c:675 src/messageview.c:173 +#: src/compose.c:623 src/mainwindow.c:675 src/messageview.c:173 msgid "/_View/Character _encoding" msgstr "/表示(_V)/文字エンコーディング(_E)" -#: src/compose.c:620 +#: src/compose.c:624 msgid "/_View/Character _encoding/_Automatic" msgstr "/表示(_V)/文字エンコーディング(_E)/自動(_A)" -#: src/compose.c:622 src/compose.c:628 src/compose.c:634 src/compose.c:638 -#: src/compose.c:646 src/compose.c:650 src/compose.c:656 src/compose.c:662 -#: src/compose.c:666 src/compose.c:676 src/compose.c:680 src/compose.c:688 -#: src/compose.c:692 src/mainwindow.c:671 src/mainwindow.c:678 +#: src/compose.c:626 src/compose.c:632 src/compose.c:638 src/compose.c:642 +#: src/compose.c:650 src/compose.c:654 src/compose.c:660 src/compose.c:666 +#: src/compose.c:670 src/compose.c:680 src/compose.c:684 src/compose.c:692 +#: src/compose.c:696 src/mainwindow.c:671 src/mainwindow.c:678 #: src/messageview.c:169 msgid "/_View/Character _encoding/---" msgstr "/表示(_V)/文字エンコーディング(_E)/---" -#: src/compose.c:624 src/mainwindow.c:679 src/messageview.c:177 +#: src/compose.c:628 src/mainwindow.c:679 src/messageview.c:177 msgid "/_View/Character _encoding/7bit ascii (US-ASC_II)" msgstr "/表示(_V)/文字エンコーディング(_E)/7bit ascii (US-ASC_II)" -#: src/compose.c:626 src/mainwindow.c:681 src/messageview.c:180 +#: src/compose.c:630 src/mainwindow.c:681 src/messageview.c:180 msgid "/_View/Character _encoding/Unicode (_UTF-8)" msgstr "/表示(_V)/文字エンコーディング(_E)/Unicode (_UTF-8)" -#: src/compose.c:630 src/mainwindow.c:685 src/messageview.c:183 +#: src/compose.c:634 src/mainwindow.c:685 src/messageview.c:183 msgid "/_View/Character _encoding/Western European (ISO-8859-_1)" msgstr "/表示(_V)/文字エンコーディング(_E)/欧米 (ISO-8859-_1)" -#: src/compose.c:632 src/mainwindow.c:687 src/messageview.c:185 +#: src/compose.c:636 src/mainwindow.c:687 src/messageview.c:185 msgid "/_View/Character _encoding/Western European (ISO-8859-15)" msgstr "/表示(_V)/文字エンコーディング(_E)/欧米 (ISO-8859-15)" -#: src/compose.c:636 src/mainwindow.c:693 src/messageview.c:190 +#: src/compose.c:640 src/mainwindow.c:693 src/messageview.c:190 msgid "/_View/Character _encoding/Central European (ISO-8859-_2)" msgstr "/表示(_V)/文字エンコーディング(_E)/中欧 (ISO-8859-_2)" -#: src/compose.c:640 src/mainwindow.c:697 src/messageview.c:193 +#: src/compose.c:644 src/mainwindow.c:697 src/messageview.c:193 msgid "/_View/Character _encoding/_Baltic (ISO-8859-13)" msgstr "/表示(_V)/文字エンコーディング(_E)/バルト諸国 (ISO-8859-13)" -#: src/compose.c:642 src/mainwindow.c:699 src/messageview.c:195 +#: src/compose.c:646 src/mainwindow.c:699 src/messageview.c:195 msgid "/_View/Character _encoding/Baltic (ISO-8859-_4)" msgstr "/表示(_V)/文字エンコーディング(_E)/バルト諸国 (ISO-8859-_4)" -#: src/compose.c:644 src/mainwindow.c:701 src/messageview.c:197 +#: src/compose.c:648 src/mainwindow.c:701 src/messageview.c:197 msgid "/_View/Character _encoding/Baltic (Windows-1257)" msgstr "/表示(_V)/文字エンコーディング(_E)/バルト諸国 (Windows-1257)" -#: src/compose.c:648 src/mainwindow.c:705 src/messageview.c:200 +#: src/compose.c:652 src/mainwindow.c:705 src/messageview.c:200 msgid "/_View/Character _encoding/Greek (ISO-8859-_7)" msgstr "/表示(_V)/文字エンコーディング(_E)/ギリシャ語 (ISO-8859-_7)" -#: src/compose.c:652 src/mainwindow.c:709 src/messageview.c:203 +#: src/compose.c:656 src/mainwindow.c:709 src/messageview.c:203 msgid "/_View/Character _encoding/Arabic (ISO-8859-_6)" msgstr "/表示(_V)/文字エンコーディング(_E)/アラビア語 (ISO-8859-_6)" -#: src/compose.c:654 src/mainwindow.c:711 src/messageview.c:205 +#: src/compose.c:658 src/mainwindow.c:711 src/messageview.c:205 msgid "/_View/Character _encoding/Arabic (Windows-1256)" msgstr "/表示(_V)/文字エンコーディング(_E)/アラビア語 (Windows-1256)" -#: src/compose.c:658 src/mainwindow.c:715 src/messageview.c:208 +#: src/compose.c:662 src/mainwindow.c:715 src/messageview.c:208 msgid "/_View/Character _encoding/Hebrew (ISO-8859-_8)" msgstr "/表示(_V)/文字エンコーディング(_E)/ヘブライ語 (ISO-8859-_8)" -#: src/compose.c:660 src/mainwindow.c:717 src/messageview.c:210 +#: src/compose.c:664 src/mainwindow.c:717 src/messageview.c:210 msgid "/_View/Character _encoding/Hebrew (Windows-1255)" msgstr "/表示(_V)/文字エンコーディング(_E)/ヘブライ語 (Windows-1255)" -#: src/compose.c:664 src/mainwindow.c:721 src/messageview.c:213 +#: src/compose.c:668 src/mainwindow.c:721 src/messageview.c:213 msgid "/_View/Character _encoding/Turkish (ISO-8859-_9)" msgstr "/表示(_V)/文字エンコーディング(_E)/トルコ語 (ISO-8859-_9)" -#: src/compose.c:668 src/mainwindow.c:725 src/messageview.c:216 +#: src/compose.c:672 src/mainwindow.c:725 src/messageview.c:216 msgid "/_View/Character _encoding/Cyrillic (ISO-8859-_5)" msgstr "/表示(_V)/文字エンコーディング(_E)/キリル文字 (ISO-8859-_5)" -#: src/compose.c:670 src/mainwindow.c:727 src/messageview.c:218 +#: src/compose.c:674 src/mainwindow.c:727 src/messageview.c:218 msgid "/_View/Character _encoding/Cyrillic (KOI8-_R)" msgstr "/表示(_V)/文字エンコーディング(_E)/キリル文字 (KOI8-_R)" -#: src/compose.c:672 src/mainwindow.c:729 src/messageview.c:220 +#: src/compose.c:676 src/mainwindow.c:729 src/messageview.c:220 msgid "/_View/Character _encoding/Cyrillic (KOI8-U)" msgstr "/表示(_V)/文字エンコーディング(_E)/キリル文字 (KOI8-U)" -#: src/compose.c:674 src/mainwindow.c:731 src/messageview.c:222 +#: src/compose.c:678 src/mainwindow.c:731 src/messageview.c:222 msgid "/_View/Character _encoding/Cyrillic (Windows-1251)" msgstr "/表示(_V)/文字エンコーディング(_E)/キリル文字 (Windows-1251)" -#: src/compose.c:678 src/mainwindow.c:735 src/messageview.c:225 +#: src/compose.c:682 src/mainwindow.c:735 src/messageview.c:225 msgid "/_View/Character _encoding/Japanese (ISO-2022-_JP)" msgstr "/表示(_V)/文字エンコーディング(_E)/日本語 (ISO-2022-_JP)" -#: src/compose.c:682 src/mainwindow.c:745 src/messageview.c:234 +#: src/compose.c:686 src/mainwindow.c:745 src/messageview.c:234 msgid "/_View/Character _encoding/Simplified Chinese (_GB2312)" msgstr "/表示(_V)/文字エンコーディング(_E)/簡体字中国語 (_GB2312)" -#: src/compose.c:684 src/mainwindow.c:747 src/messageview.c:236 +#: src/compose.c:688 src/mainwindow.c:747 src/messageview.c:236 msgid "/_View/Character _encoding/Simplified Chinese (GBK)" msgstr "/表示(_V)/文字エンコーディング(_E)/簡体字中国語 (GBK)" -#: src/compose.c:686 src/mainwindow.c:749 src/messageview.c:238 +#: src/compose.c:690 src/mainwindow.c:749 src/messageview.c:238 msgid "/_View/Character _encoding/Traditional Chinese (_Big5)" msgstr "/表示(_V)/文字エンコーディング(_E)/繁体字中国語 (_Big5)" -#: src/compose.c:690 src/mainwindow.c:757 src/messageview.c:245 +#: src/compose.c:694 src/mainwindow.c:757 src/messageview.c:245 msgid "/_View/Character _encoding/Korean (EUC-_KR)" msgstr "/表示(_V)/文字エンコーディング(_E)/韓国語 (EUC-_KR)" -#: src/compose.c:694 src/mainwindow.c:763 src/messageview.c:250 +#: src/compose.c:698 src/mainwindow.c:763 src/messageview.c:250 msgid "/_View/Character _encoding/Thai (TIS-620)" msgstr "/表示(_V)/文字エンコーディング(_E)/タイ語 (TIS-620)" -#: src/compose.c:696 src/mainwindow.c:765 src/messageview.c:252 +#: src/compose.c:700 src/mainwindow.c:765 src/messageview.c:252 msgid "/_View/Character _encoding/Thai (Windows-874)" msgstr "/表示(_V)/文字エンコーディング(_E)/タイ語 (Windows-874)" -#: src/compose.c:700 src/mainwindow.c:827 src/messageview.c:283 +#: src/compose.c:704 src/mainwindow.c:827 src/messageview.c:283 msgid "/_Tools/_Address book" msgstr "/ツール(_T)/アドレス帳(_A)" -#: src/compose.c:701 +#: src/compose.c:705 msgid "/_Tools/_Template" msgstr "/ツール(_T)/テンプレート(_T)" -#: src/compose.c:703 src/mainwindow.c:851 src/messageview.c:299 +#: src/compose.c:707 src/mainwindow.c:851 src/messageview.c:299 msgid "/_Tools/Actio_ns" msgstr "/ツール(_T)/アクション(_N)" -#: src/compose.c:705 src/compose.c:708 src/compose.c:712 src/compose.c:718 +#: src/compose.c:709 src/compose.c:712 src/compose.c:716 src/compose.c:722 #: src/mainwindow.c:830 src/mainwindow.c:844 src/mainwindow.c:849 #: src/mainwindow.c:852 src/mainwindow.c:856 src/mainwindow.c:858 #: src/messageview.c:286 src/messageview.c:298 msgid "/_Tools/---" msgstr "/ツール(_T)/---" -#: src/compose.c:706 +#: src/compose.c:710 msgid "/_Tools/Edit with e_xternal editor" msgstr "/ツール(_T)/外部エディタで編集(_X)" -#: src/compose.c:709 +#: src/compose.c:713 msgid "/_Tools/Request _disposition notification" msgstr "/ツール(_T)/開封確認を要求する(_D)" -#: src/compose.c:713 +#: src/compose.c:717 msgid "/_Tools/PGP Si_gn" msgstr "/ツール(_T)/PGP署名(_G)" -#: src/compose.c:714 +#: src/compose.c:718 msgid "/_Tools/PGP _Encrypt" msgstr "/ツール(_T)/PGP暗号化(_E)" -#: src/compose.c:719 +#: src/compose.c:723 msgid "/_Tools/_Check spell" msgstr "/ツール(_T)/スペルチェック(_C)" -#: src/compose.c:720 +#: src/compose.c:724 msgid "/_Tools/_Set spell language" msgstr "/ツール(_T)/スペルチェックの言語を指定(_S)" -#: src/compose.c:984 +#: src/compose.c:992 #, c-format msgid "%s: file not exist\n" msgstr "%s: ファイルが存在しません\n" -#: src/compose.c:1088 src/compose.c:1162 +#: src/compose.c:1098 src/compose.c:1174 msgid "Can't get text part\n" msgstr "テキストパートを取得できません\n" -#: src/compose.c:1653 +#: src/compose.c:1675 msgid "Quote mark format error." msgstr "引用符の書式が不正です。" -#: src/compose.c:1665 +#: src/compose.c:1687 msgid "Message reply/forward format error." msgstr "メッセージの返信/転送の書式が不正です。" -#: src/compose.c:2175 +#: src/compose.c:2197 #, c-format msgid "File %s doesn't exist\n" msgstr "ファイル %s は存在しません\n" -#: src/compose.c:2179 +#: src/compose.c:2201 #, c-format msgid "Can't get file size of %s\n" msgstr "ファイル %s のサイズを取得できません\n" -#: src/compose.c:2183 src/compose.c:4244 +#: src/compose.c:2205 src/compose.c:4336 #, c-format msgid "File %s is empty." msgstr "ファイル %s は空です。" -#: src/compose.c:2187 +#: src/compose.c:2209 #, c-format msgid "Can't read %s." msgstr "%s を読み込めません。" -#: src/compose.c:2220 +#: src/compose.c:2242 #, c-format msgid "Message: %s" msgstr "メッセージ: %s" -#: src/compose.c:2280 src/mimeview.c:583 +#: src/compose.c:2302 src/mimeview.c:583 msgid "Can't get the part of multipart message." msgstr "マルチパートメッセージのパートを取得できません。" -#: src/compose.c:2770 src/headerview.c:233 src/query_search.c:790 -#: src/rpop3.c:667 src/summaryview.c:2301 +#: src/compose.c:2792 src/headerview.c:233 src/query_search.c:790 +#: src/rpop3.c:667 src/summaryview.c:2297 msgid "(No Subject)" msgstr "(件名なし)" -#: src/compose.c:2773 +#: src/compose.c:2795 #, c-format msgid "%s - Compose%s" msgstr "%s - 作成%s" -#: src/compose.c:2888 +#: src/compose.c:2910 msgid "Recipient is not specified." msgstr "宛先が指定されていません。" -#: src/compose.c:2896 +#: src/compose.c:2918 msgid "Empty subject" msgstr "空の件名" -#: src/compose.c:2897 +#: src/compose.c:2919 msgid "Subject is empty. Send it anyway?" msgstr "件名が空です。とにかく送信しますか?" -#: src/compose.c:2961 +#: src/compose.c:2983 msgid "Attachment is missing" msgstr "添付ファイルがありません" -#: src/compose.c:2962 +#: src/compose.c:2984 msgid "There is no attachment. Send it without attachments?" msgstr "添付ファイルがありません。添付ファイルなしで送信しますか?" -#: src/compose.c:3079 src/compose.c:3105 +#: src/compose.c:3101 src/compose.c:3127 msgid "Check recipients" msgstr "宛先の確認" -#: src/compose.c:3125 +#: src/compose.c:3147 msgid "Really send this mail to the following addresses?" msgstr "このメールを以下のアドレスに送信してもよろしいですか?" -#: src/compose.c:3138 src/compose.c:5023 src/headerview.c:54 +#: src/compose.c:3160 src/compose.c:5115 src/headerview.c:54 msgid "From:" msgstr "差出人:" -#: src/compose.c:3160 src/headerview.c:58 src/prefs_template.c:187 +#: src/compose.c:3182 src/headerview.c:58 src/prefs_template.c:187 msgid "Subject:" msgstr "件名:" -#: src/compose.c:3253 +#: src/compose.c:3275 msgid "_Send" msgstr "送信(_S)" -#: src/compose.c:3338 +#: src/compose.c:3420 msgid "can't get recipient list." msgstr "送信先のリストを取得できません。" -#: src/compose.c:3358 +#: src/compose.c:3440 msgid "" "Account for sending mail is not specified.\n" "Please select a mail account before sending." @@ -1664,37 +1672,37 @@ msgstr "" "メールを送信するためのアカウントが指定されていません。\n" "送信する前にメールアカウントを選択してください。" -#: src/compose.c:3372 src/send_message.c:315 +#: src/compose.c:3454 src/send_message.c:315 #, c-format msgid "Error occurred while posting the message to %s ." msgstr "メッセージを %s にポストする途中にエラーが発生しました。" -#: src/compose.c:3422 +#: src/compose.c:3504 msgid "Can't save the message to outbox." msgstr "メッセージを送信控に保存できません。" -#: src/compose.c:3460 +#: src/compose.c:3547 #, c-format msgid "Could not find any key associated with currently selected key id `%s'." msgstr "現在選択されている鍵ID `%s' に対応する鍵が見つかりませんでした。" -#: src/compose.c:3487 src/compose.c:3872 +#: src/compose.c:3574 src/compose.c:3959 msgid "Can't sign the message." msgstr "メッセージに署名できません。" -#: src/compose.c:3514 src/compose.c:3915 +#: src/compose.c:3601 src/compose.c:4002 msgid "Can't encrypt the message." msgstr "メッセージを暗号化できません。" -#: src/compose.c:3549 src/compose.c:3910 +#: src/compose.c:3636 src/compose.c:3997 msgid "Can't encrypt or sign the message." msgstr "メッセージを暗号化または署名できません。" -#: src/compose.c:3595 src/compose.c:3943 src/compose.c:4006 src/compose.c:4126 +#: src/compose.c:3682 src/compose.c:4030 src/compose.c:4093 src/compose.c:4213 msgid "can't change file mode\n" msgstr "ファイルモードを変更できません\n" -#: src/compose.c:3628 +#: src/compose.c:3715 #, c-format msgid "" "Can't convert the character encoding of the message body from %s to %s.\n" @@ -1705,11 +1713,11 @@ msgstr "" "\n" "%s のままとにかく送信しますか?" -#: src/compose.c:3634 +#: src/compose.c:3721 msgid "Code conversion error" msgstr "文字コード変換エラー" -#: src/compose.c:3720 +#: src/compose.c:3807 #, c-format msgid "" "Line %d exceeds the line length limit (998 bytes).\n" @@ -1722,15 +1730,15 @@ msgstr "" "\n" "とにかく送信しますか?" -#: src/compose.c:3724 +#: src/compose.c:3811 msgid "Line length limit" msgstr "行の長さの制限" -#: src/compose.c:3890 +#: src/compose.c:3977 msgid "Encrypting with Bcc" msgstr "Bcc を伴う暗号化" -#: src/compose.c:3891 +#: src/compose.c:3978 msgid "" "This message has Bcc recipients. If this message is encrypted, all Bcc " "recipients will be visible by examing the encryption key list, leading to " @@ -1744,90 +1752,90 @@ msgstr "" "\n" "とにかく送信しますか?" -#: src/compose.c:4086 +#: src/compose.c:4173 msgid "can't remove the old message\n" msgstr "古いメッセージを削除できません\n" -#: src/compose.c:4104 +#: src/compose.c:4191 msgid "queueing message...\n" msgstr "メッセージを送信待ちに入れています...\n" -#: src/compose.c:4192 +#: src/compose.c:4279 msgid "can't find queue folder\n" msgstr "送信待ちフォルダが見つかりません\n" -#: src/compose.c:4199 +#: src/compose.c:4286 msgid "can't queue the message\n" msgstr "メッセージを送信待機できません\n" -#: src/compose.c:4239 +#: src/compose.c:4331 #, c-format msgid "File %s doesn't exist." msgstr "ファイル %s は存在しません。" -#: src/compose.c:4248 +#: src/compose.c:4340 #, c-format msgid "Can't open file %s." msgstr "ファイル %s を開けません。" -#: src/compose.c:4855 +#: src/compose.c:4947 #, c-format msgid "generated Message-ID: %s\n" msgstr "生成されたメッセージID: %s\n" -#: src/compose.c:4970 +#: src/compose.c:5062 msgid "Creating compose window...\n" msgstr "メッセージ作成ウィンドウを作成中...\n" -#: src/compose.c:5097 +#: src/compose.c:5189 msgid "PGP Sign" msgstr "PGP署名" -#: src/compose.c:5100 +#: src/compose.c:5192 msgid "PGP Encrypt" msgstr "PGP暗号化" -#: src/compose.c:5138 src/compose.c:6306 +#: src/compose.c:5230 src/compose.c:6400 msgid "MIME type" msgstr "MIME タイプ" #. S_COL_DATE -#: src/compose.c:5147 src/mimeview.c:217 src/prefs_filter_edit.c:503 +#: src/compose.c:5239 src/mimeview.c:217 src/prefs_filter_edit.c:503 #: src/prefs_summary_column.c:72 src/rpop3.c:418 src/select-keys.c:309 -#: src/summaryview.c:5160 +#: src/summaryview.c:5164 msgid "Size" msgstr "サイズ" -#: src/compose.c:6201 +#: src/compose.c:6295 msgid "Invalid MIME type." msgstr "無効な MIME タイプです。" -#: src/compose.c:6219 +#: src/compose.c:6313 msgid "File doesn't exist or is empty." msgstr "ファイルが存在しないかまたは空です。" -#: src/compose.c:6288 +#: src/compose.c:6382 msgid "Properties" msgstr "プロパティ" -#: src/compose.c:6308 src/prefs_common_dialog.c:1647 +#: src/compose.c:6402 src/prefs_common_dialog.c:1647 msgid "Encoding" msgstr "エンコーディング" -#: src/compose.c:6331 src/prefs_folder_item.c:202 +#: src/compose.c:6425 src/prefs_folder_item.c:202 msgid "Path" msgstr "パス" -#: src/compose.c:6332 +#: src/compose.c:6426 msgid "File name" msgstr "ファイル名" -#: src/compose.c:6422 +#: src/compose.c:6516 #, c-format msgid "External editor command line is invalid: `%s'\n" msgstr "外部エディタのコマンドラインが無効です: `%s'\n" -#: src/compose.c:6484 +#: src/compose.c:6578 #, c-format msgid "" "The external editor is still working.\n" @@ -1836,48 +1844,48 @@ msgstr "" "外部エディタが動作中です。\n" "プロセスを強制終了しますか(pid: %d)?\n" -#: src/compose.c:6821 src/mainwindow.c:3021 +#: src/compose.c:6915 src/mainwindow.c:3021 msgid "_Customize toolbar..." msgstr "ツールバーをカスタマイズ(_C)..." -#: src/compose.c:6941 src/compose.c:6946 src/compose.c:6952 +#: src/compose.c:7035 src/compose.c:7040 src/compose.c:7046 msgid "Can't queue the message." msgstr "メッセージを送信待機できません。" -#: src/compose.c:7043 +#: src/compose.c:7137 msgid "Select files" msgstr "ファイルの選択" -#: src/compose.c:7066 src/inputdialog.c:372 +#: src/compose.c:7160 src/inputdialog.c:372 msgid "Select file" msgstr "ファイルの選択" -#: src/compose.c:7117 +#: src/compose.c:7211 msgid "Save message" msgstr "メッセージの保存" -#: src/compose.c:7118 +#: src/compose.c:7212 msgid "This message has been modified. Save it to draft folder?" msgstr "このメッセージは変更されています。草稿に保存しますか?" -#: src/compose.c:7120 src/compose.c:7124 +#: src/compose.c:7214 src/compose.c:7218 msgid "Close _without saving" msgstr "保存せずに閉じる(_W)" -#: src/compose.c:7171 +#: src/compose.c:7265 #, c-format msgid "Do you want to apply the template `%s' ?" msgstr "テンプレート `%s' を適用しますか?" -#: src/compose.c:7173 +#: src/compose.c:7267 msgid "Apply template" msgstr "テンプレートの適用" -#: src/compose.c:7174 +#: src/compose.c:7268 msgid "_Replace" msgstr "置換(_R)" -#: src/compose.c:7174 +#: src/compose.c:7268 msgid "_Insert" msgstr "挿入(_I)" @@ -2542,7 +2550,7 @@ msgid "Creating header view...\n" msgstr "ヘッダビューを作成中...\n" #: src/headerview.c:212 src/query_search.c:791 src/rpop3.c:668 -#: src/summaryview.c:2304 +#: src/summaryview.c:2300 msgid "(No From)" msgstr "(差出人不明)" @@ -2896,7 +2904,7 @@ msgstr "切断中" msgid "Retrieving message (%d / %d) (%s / %s)" msgstr "メッセージを受信中 (%d / %d) (%s / %s)" -#: src/inc.c:1233 src/inc.c:1256 src/summaryview.c:4561 +#: src/inc.c:1233 src/inc.c:1256 src/summaryview.c:4557 msgid "" "Execution of the junk filter command failed.\n" "Please check the junk mail control setting." @@ -3107,7 +3115,7 @@ msgstr "送信待機中のメッセージ" msgid "Some unsent messages are queued. Exit now?" msgstr "送信待機中の未送信メッセージがあります。終了しますか?" -#: src/main.c:858 +#: src/main.c:869 msgid "" "GnuPG is not installed properly, or its version is too old.\n" "OpenPGP support disabled." @@ -3115,20 +3123,20 @@ msgstr "" "GnuPG が正しくインストールされていないか、バージョンが古すぎます。\n" "OpenPGP サポートは無効です。" -#: src/main.c:1088 +#: src/main.c:1099 msgid "Loading plug-ins..." msgstr "プラグインをロード中..." #. remote command mode -#: src/main.c:1216 +#: src/main.c:1234 msgid "another Sylpheed is already running.\n" msgstr "別の Sylpheed がすでに起動しています。\n" -#: src/main.c:1497 +#: src/main.c:1515 msgid "Migration of configuration" msgstr "設定の移行" -#: src/main.c:1498 +#: src/main.c:1516 msgid "" "The previous version of configuration found.\n" "Do you want to migrate it?" @@ -3472,15 +3480,15 @@ msgstr "/表示(_V)/文字エンコーディング(_E)/中国語 (ISO-2022-_CN)" msgid "/_View/Character _encoding/Korean (ISO-2022-KR)" msgstr "/表示(_V)/文字エンコーディング(_E)/韓国語 (ISO-2022-KR)" -#: src/mainwindow.c:772 src/summaryview.c:461 +#: src/mainwindow.c:772 src/summaryview.c:464 msgid "/_View/Open in new _window" msgstr "/表示(_V)/新しいウィンドウで開く(_W)" -#: src/mainwindow.c:773 src/messageview.c:259 src/summaryview.c:463 +#: src/mainwindow.c:773 src/messageview.c:259 src/summaryview.c:466 msgid "/_View/Mess_age source" msgstr "/表示(_V)/メッセージのソース(_A)" -#: src/mainwindow.c:774 src/messageview.c:260 src/summaryview.c:464 +#: src/mainwindow.c:774 src/messageview.c:260 src/summaryview.c:467 msgid "/_View/All _headers" msgstr "/表示(_V)/すべてのヘッダ(_H)" @@ -3772,8 +3780,8 @@ msgstr "メインウィンドウを作成中...\n" msgid "MainWindow: color allocation %d failed\n" msgstr "MainWindow: 色の割り当て %d に失敗しました\n" -#: src/mainwindow.c:1205 src/summaryview.c:2453 src/summaryview.c:2540 -#: src/summaryview.c:4126 src/summaryview.c:4255 src/summaryview.c:4643 +#: src/mainwindow.c:1205 src/summaryview.c:2449 src/summaryview.c:2536 +#: src/summaryview.c:4122 src/summaryview.c:4251 src/summaryview.c:4639 msgid "done.\n" msgstr "完了。\n" @@ -3840,7 +3848,7 @@ msgstr "Sylpheed - フォルダビュー" msgid "Sylpheed - Message View" msgstr "Sylpheed - メッセージビュー" -#: src/mainwindow.c:2542 src/mimeview.c:142 src/summaryview.c:415 +#: src/mainwindow.c:2542 src/mimeview.c:142 src/summaryview.c:418 msgid "/_Reply" msgstr "/返信(_R)" @@ -3856,15 +3864,15 @@ msgstr "/差出人に返信(_S)" msgid "/Reply to mailing _list" msgstr "/メーリングリストに返信(_L)" -#: src/mainwindow.c:2550 src/summaryview.c:422 +#: src/mainwindow.c:2550 src/summaryview.c:425 msgid "/_Forward" msgstr "/転送(_F)" -#: src/mainwindow.c:2551 src/summaryview.c:423 +#: src/mainwindow.c:2551 src/summaryview.c:426 msgid "/For_ward as attachment" msgstr "/添付として転送(_W)" -#: src/mainwindow.c:2552 src/summaryview.c:424 +#: src/mainwindow.c:2552 src/summaryview.c:427 msgid "/Redirec_t" msgstr "/手を加えずに転送(_T)" @@ -4029,7 +4037,7 @@ msgstr "添付" msgid "Message View - Sylpheed" msgstr "メッセージビュー - Sylpheed" -#: src/messageview.c:765 src/summaryview.c:3684 +#: src/messageview.c:765 src/summaryview.c:3680 #, c-format msgid "Can't save the file `%s'." msgstr "ファイル `%s' を保存できません。" @@ -4054,7 +4062,7 @@ msgstr "/名前を付けて保存(_S)..." msgid "/Save _all..." msgstr "/すべて保存(_A)..." -#: src/mimeview.c:140 src/summaryview.c:466 +#: src/mimeview.c:140 src/summaryview.c:469 msgid "/_Print..." msgstr "/印刷(_P)..." @@ -6089,19 +6097,19 @@ msgstr "添付" #. S_COL_MIME #: src/prefs_summary_column.c:69 src/query_search.c:401 src/rpop3.c:415 -#: src/summaryview.c:5153 +#: src/summaryview.c:5157 msgid "Subject" msgstr "件名" #. S_COL_SUBJECT #: src/prefs_summary_column.c:70 src/query_search.c:402 src/rpop3.c:416 -#: src/summaryview.c:5156 +#: src/summaryview.c:5160 msgid "From" msgstr "差出人" #. S_COL_FROM #: src/prefs_summary_column.c:71 src/query_search.c:403 src/rpop3.c:417 -#: src/summaryview.c:5158 +#: src/summaryview.c:5162 msgid "Date" msgstr "日付" @@ -6111,7 +6119,7 @@ msgid "Number" msgstr "番号" #. S_COL_NUMBER -#: src/prefs_summary_column.c:74 src/summaryview.c:5164 +#: src/prefs_summary_column.c:74 src/summaryview.c:5168 msgid "To" msgstr "宛先" @@ -6401,7 +6409,7 @@ msgstr "%s を検索中 (%d / %d)..." msgid "Searching %s ..." msgstr "%s を検索中..." -#: src/query_search.c:799 src/rpop3.c:676 src/summaryview.c:2225 +#: src/query_search.c:799 src/rpop3.c:676 src/summaryview.c:2221 msgid "(No Date)" msgstr "(日付なし)" @@ -6494,7 +6502,7 @@ msgstr "このプログラムについて(_A)" msgid "%s - POP3 Remote mailbox" msgstr "%s - POP3 リモートメールボックス" -#: src/rpop3.c:414 src/summaryview.c:5162 +#: src/rpop3.c:414 src/summaryview.c:5166 msgid "No." msgstr "番号" @@ -6972,7 +6980,7 @@ msgstr "ニュースグループリストを取得中..." msgid "Can't retrieve newsgroup list." msgstr "ニュースグループリストを取得できません。" -#: src/subscribedialog.c:526 src/summaryview.c:913 +#: src/subscribedialog.c:526 src/summaryview.c:909 msgid "Done." msgstr "完了." @@ -6981,335 +6989,335 @@ msgstr "完了." msgid "%d newsgroups received (%s read)" msgstr "%d ニュースグループを受信 (%s 受信)" -#: src/summaryview.c:416 +#: src/summaryview.c:419 msgid "/Repl_y to" msgstr "/返信の宛先(_Y)" -#: src/summaryview.c:417 +#: src/summaryview.c:420 msgid "/Repl_y to/_all" msgstr "/返信の宛先(_Y)/全員に返信(_A)" -#: src/summaryview.c:418 +#: src/summaryview.c:421 msgid "/Repl_y to/_sender" msgstr "/返信の宛先(_Y)/差出人に返信(_S)" -#: src/summaryview.c:419 +#: src/summaryview.c:422 msgid "/Repl_y to/mailing _list" msgstr "/返信の宛先(_Y)/メーリングリストに返信(_L)" -#: src/summaryview.c:426 +#: src/summaryview.c:429 msgid "/M_ove..." msgstr "/移動(_O)..." -#: src/summaryview.c:427 +#: src/summaryview.c:430 msgid "/_Copy..." msgstr "/コピー(_C)..." -#: src/summaryview.c:429 +#: src/summaryview.c:432 msgid "/_Mark" msgstr "/マーク(_M)" -#: src/summaryview.c:430 +#: src/summaryview.c:433 msgid "/_Mark/_Mark" msgstr "/マーク(_M)/マーク(_M)" -#: src/summaryview.c:431 +#: src/summaryview.c:434 msgid "/_Mark/_Unmark" msgstr "/マーク(_M)/マーク解除(_U)" -#: src/summaryview.c:432 +#: src/summaryview.c:435 msgid "/_Mark/---" msgstr "/マーク(_M)/---" -#: src/summaryview.c:433 +#: src/summaryview.c:436 msgid "/_Mark/Mark as unr_ead" msgstr "/マーク(_M)/未読としてマーク(_E)" -#: src/summaryview.c:434 +#: src/summaryview.c:437 msgid "/_Mark/Mark as rea_d" msgstr "/マーク(_M)/読んだことにする(_D)" -#: src/summaryview.c:436 +#: src/summaryview.c:439 msgid "/_Mark/Mark _thread as read" msgstr "/マーク(_M)/スレッドを読んだことにする(_T)" -#: src/summaryview.c:438 +#: src/summaryview.c:441 msgid "/_Mark/Mark all _read" msgstr "/マーク(_M)/すべて読んだことにする(_R)" -#: src/summaryview.c:439 +#: src/summaryview.c:442 msgid "/Color la_bel" msgstr "/カラーラベル(_B)" -#: src/summaryview.c:443 +#: src/summaryview.c:446 msgid "/Set as _junk mail" msgstr "/迷惑メールに指定(_J)" -#: src/summaryview.c:444 +#: src/summaryview.c:447 msgid "/Set as not j_unk mail" msgstr "/迷惑メールではない(_U)" -#: src/summaryview.c:446 +#: src/summaryview.c:449 msgid "/Re-_edit" msgstr "/再編集(_E)" -#: src/summaryview.c:448 +#: src/summaryview.c:451 msgid "/Add sender to address boo_k..." msgstr "/差出人をアドレス帳に追加(_K)..." -#: src/summaryview.c:450 +#: src/summaryview.c:453 msgid "/Create f_ilter rule" msgstr "/振り分けルールを作成(_I)" -#: src/summaryview.c:451 +#: src/summaryview.c:454 msgid "/Create f_ilter rule/_Automatically" msgstr "/振り分けルールを作成(_I)/自動(_A)" -#: src/summaryview.c:453 +#: src/summaryview.c:456 msgid "/Create f_ilter rule/by _From" msgstr "/振り分けルールを作成(_I)/_Fromから" -#: src/summaryview.c:455 +#: src/summaryview.c:458 msgid "/Create f_ilter rule/by _To" msgstr "/振り分けルールを作成(_I)/_Toから" -#: src/summaryview.c:457 +#: src/summaryview.c:460 msgid "/Create f_ilter rule/by _Subject" msgstr "/振り分けルールを作成(_I)/_Subjectから" -#: src/summaryview.c:489 +#: src/summaryview.c:492 msgid "Creating summary view...\n" msgstr "サマリビューを作成中...\n" -#: src/summaryview.c:641 +#: src/summaryview.c:644 #, c-format msgid "Scanning folder (%s) (%d)..." msgstr "フォルダをスキャン中 (%s) (%d)..." -#: src/summaryview.c:694 +#: src/summaryview.c:697 msgid "Process mark" msgstr "マークの処理" -#: src/summaryview.c:695 +#: src/summaryview.c:698 msgid "Some marks are left. Process it?" msgstr "マークが残っています。処理しますか?" -#: src/summaryview.c:751 +#: src/summaryview.c:754 #, c-format msgid "Scanning folder (%s)..." msgstr "フォルダをスキャン中 (%s)..." -#: src/summaryview.c:1420 +#: src/summaryview.c:1416 msgid "_Search again" msgstr "再検索(_S)" -#: src/summaryview.c:1441 src/summaryview.c:1450 +#: src/summaryview.c:1437 src/summaryview.c:1446 msgid "No more unread messages" msgstr "未読メッセージなし" -#: src/summaryview.c:1442 +#: src/summaryview.c:1438 msgid "No unread message found. Search from the end?" msgstr "未読メッセージがありません。最後から検索しますか?" -#: src/summaryview.c:1444 +#: src/summaryview.c:1440 msgid "No unread messages." msgstr "未読メッセージがありません。" -#: src/summaryview.c:1451 +#: src/summaryview.c:1447 msgid "No unread message found. Go to next folder?" msgstr "未読メッセージがありません。次のフォルダに移動しますか?" -#: src/summaryview.c:1459 src/summaryview.c:1468 +#: src/summaryview.c:1455 src/summaryview.c:1464 msgid "No more new messages" msgstr "新着メッセージなし" -#: src/summaryview.c:1460 +#: src/summaryview.c:1456 msgid "No new message found. Search from the end?" msgstr "新着メッセージがありません。最後から検索しますか?" -#: src/summaryview.c:1462 +#: src/summaryview.c:1458 msgid "No new messages." msgstr "新着メッセージがありません。" -#: src/summaryview.c:1469 +#: src/summaryview.c:1465 msgid "No new message found. Go to next folder?" msgstr "新着メッセージがありません。次のフォルダに移動しますか?" -#: src/summaryview.c:1477 src/summaryview.c:1486 +#: src/summaryview.c:1473 src/summaryview.c:1482 msgid "No more marked messages" msgstr "マーク付きメッセージなし" -#: src/summaryview.c:1478 +#: src/summaryview.c:1474 msgid "No marked message found. Search from the end?" msgstr "マーク付きメッセージがありません。最後から検索しますか?" -#: src/summaryview.c:1480 src/summaryview.c:1489 +#: src/summaryview.c:1476 src/summaryview.c:1485 msgid "No marked messages." msgstr "マーク付きメッセージがありません。" -#: src/summaryview.c:1487 +#: src/summaryview.c:1483 msgid "No marked message found. Search from the beginning?" msgstr "マーク付きメッセージがありません。最初から検索しますか?" -#: src/summaryview.c:1495 src/summaryview.c:1504 +#: src/summaryview.c:1491 src/summaryview.c:1500 msgid "No more labeled messages" msgstr "ラベル付きメッセージなし" -#: src/summaryview.c:1496 +#: src/summaryview.c:1492 msgid "No labeled message found. Search from the end?" msgstr "ラベル付きメッセージがありません。最後から検索しますか?" -#: src/summaryview.c:1498 src/summaryview.c:1507 +#: src/summaryview.c:1494 src/summaryview.c:1503 msgid "No labeled messages." msgstr "ラベル付きメッセージがありません。" -#: src/summaryview.c:1505 +#: src/summaryview.c:1501 msgid "No labeled message found. Search from the beginning?" msgstr "ラベル付きメッセージがありません。最初から検索しますか?" -#: src/summaryview.c:1852 +#: src/summaryview.c:1848 msgid "Attracting messages by subject..." msgstr "メッセージを件名でまとめています..." -#: src/summaryview.c:2046 +#: src/summaryview.c:2042 #, c-format msgid "%d deleted" msgstr "%d 通削除" -#: src/summaryview.c:2050 +#: src/summaryview.c:2046 #, c-format msgid "%s%d moved" msgstr "%s%d 通移動" -#: src/summaryview.c:2051 src/summaryview.c:2056 +#: src/summaryview.c:2047 src/summaryview.c:2052 msgid ", " msgstr ", " -#: src/summaryview.c:2055 +#: src/summaryview.c:2051 #, c-format msgid "%s%d copied" msgstr "%s%d 通コピー" -#: src/summaryview.c:2070 +#: src/summaryview.c:2066 msgid " item(s) selected" msgstr " 通選択" -#: src/summaryview.c:2092 +#: src/summaryview.c:2088 #, c-format msgid "%d new, %d unread, %d total (%s)" msgstr "新着 %d 通, 未読 %d 通, 総数 %d 通 (%s)" -#: src/summaryview.c:2096 +#: src/summaryview.c:2092 #, c-format msgid "%d new, %d unread, %d total" msgstr "新着 %d 通, 未読 %d 通, 総数 %d 通" -#: src/summaryview.c:2132 +#: src/summaryview.c:2128 msgid "Sorting summary..." msgstr "サマリをソート中..." -#: src/summaryview.c:2388 +#: src/summaryview.c:2384 msgid "\tSetting summary from message data..." msgstr "\tメッセージデータからサマリを作成中..." -#: src/summaryview.c:2390 +#: src/summaryview.c:2386 msgid "Setting summary from message data..." msgstr "メッセージデータからサマリを作成中..." -#: src/summaryview.c:2497 +#: src/summaryview.c:2493 #, c-format msgid "Writing summary cache (%s)..." msgstr "サマリキャッシュを書き込み中 (%s)..." -#: src/summaryview.c:2859 +#: src/summaryview.c:2855 #, c-format msgid "Message %d is marked\n" msgstr "メッセージ %d をマークしました\n" -#: src/summaryview.c:2931 +#: src/summaryview.c:2927 #, c-format msgid "Message %d is marked as being read\n" msgstr "メッセージ %d を既読としてマークしました\n" -#: src/summaryview.c:3144 +#: src/summaryview.c:3140 #, c-format msgid "Message %d is marked as unread\n" msgstr "メッセージ %d を未読としてマークしました\n" -#: src/summaryview.c:3209 +#: src/summaryview.c:3205 #, c-format msgid "Message %s/%d is set to delete\n" msgstr "メッセージ %s/%d を削除するようにセットしました\n" -#: src/summaryview.c:3237 +#: src/summaryview.c:3233 msgid "Delete message(s)" msgstr "メッセージの削除" -#: src/summaryview.c:3238 +#: src/summaryview.c:3234 msgid "Do you really want to delete message(s) from the trash?" msgstr "本当にごみ箱からメッセージを削除してもいいですか?" -#: src/summaryview.c:3314 +#: src/summaryview.c:3310 msgid "Deleting duplicated messages..." msgstr "重複メッセージを削除しています..." -#: src/summaryview.c:3352 +#: src/summaryview.c:3348 #, c-format msgid "Message %s/%d is unmarked\n" msgstr "メッセージ %s/%d をマーク解除しました\n" -#: src/summaryview.c:3416 +#: src/summaryview.c:3412 #, c-format msgid "Message %d is set to move to %s\n" msgstr "メッセージ %d を %s に移動するようにセットしました\n" -#: src/summaryview.c:3448 +#: src/summaryview.c:3444 msgid "Destination is same as current folder." msgstr "移動先が現在のフォルダと同じです。" -#: src/summaryview.c:3485 +#: src/summaryview.c:3481 msgid "Select folder to move" msgstr "移動先のフォルダを選択してください" -#: src/summaryview.c:3515 +#: src/summaryview.c:3511 #, c-format msgid "Message %d is set to copy to %s\n" msgstr "メッセージ %d を %s にコピーするようにセットしました\n" -#: src/summaryview.c:3546 +#: src/summaryview.c:3542 msgid "Destination for copy is same as current folder." msgstr "コピー先が現在のフォルダと同じです。" -#: src/summaryview.c:3582 +#: src/summaryview.c:3578 msgid "Select folder to copy" msgstr "コピー先のフォルダを選択してください" -#: src/summaryview.c:3727 +#: src/summaryview.c:3723 msgid "Error occurred while processing messages." msgstr "メッセージの処理中にエラーが発生しました。" -#: src/summaryview.c:4033 src/summaryview.c:4034 +#: src/summaryview.c:4029 src/summaryview.c:4030 msgid "Building threads..." msgstr "スレッドを構築中..." -#: src/summaryview.c:4184 src/summaryview.c:4185 +#: src/summaryview.c:4180 src/summaryview.c:4181 msgid "Unthreading..." msgstr "スレッドを解除中..." -#: src/summaryview.c:4478 src/summaryview.c:4539 +#: src/summaryview.c:4474 src/summaryview.c:4535 #, c-format msgid "Filtering (%d / %d)..." msgstr "振り分け中 (%d / %d)..." -#: src/summaryview.c:4604 +#: src/summaryview.c:4600 msgid "filtering..." msgstr "振り分け中..." -#: src/summaryview.c:4605 +#: src/summaryview.c:4601 msgid "Filtering..." msgstr "振り分け中..." -#: src/summaryview.c:4650 +#: src/summaryview.c:4646 #, c-format msgid "%d message(s) have been filtered." msgstr "%d 通のメッセージが振り分けられました。" diff --git a/src/addressadd.c b/src/addressadd.c index cb5e3ae7..03d79c96 100644 --- a/src/addressadd.c +++ b/src/addressadd.c @@ -51,6 +51,7 @@ #include "addrindex.h" #include "editaddress.h" #include "manage_window.h" +#include "utils.h" typedef struct { AddressBookFile *book; @@ -361,6 +362,9 @@ gboolean addressadd_selection( AddressIndex *addrIndex, const gchar *name, const if( remarks ) gtk_label_set_text( GTK_LABEL(addressadd_dlg.label_remarks ), remarks ); + if( ! name ) + name = ""; + gtk_main(); gtk_widget_hide( addressadd_dlg.window ); @@ -382,6 +386,53 @@ gboolean addressadd_selection( AddressIndex *addrIndex, const gchar *name, const return retVal; } +gboolean addressadd_autoreg(AddressIndex *addrIndex, const gchar *name, + const gchar *address, const gchar *remarks) +{ + ItemPerson *person = NULL; + AddressInterface *interface = NULL; + AddressDataSource *ds = NULL; + AddressBookFile *abf = NULL; + GList *node_ds; + const gchar *ds_name; + + g_return_val_if_fail(address != NULL, FALSE); + + if (!name) + name = ""; + + interface = addrindex_get_interface(addrIndex, ADDR_IF_BOOK); + if (!interface) + return FALSE; + + for (node_ds = interface->listSource; node_ds != NULL; + node_ds = node_ds->next) { + ds = node_ds->data; + ds_name = addrindex_ds_get_name(ds); + if (!ds_name) + continue; + if (strcmp(ds_name, ADDR_DS_AUTOREG) != 0) + continue; + debug_print("addressadd_autoreg: AddressDataSource: %s found\n", ds_name); + + if (!addrindex_ds_get_read_flag(ds)) + addrindex_ds_read_data(ds); + abf = ds->rawDataSource; + } + + if (!abf) + return FALSE; + + person = addrbook_add_contact(abf, NULL, name, address, remarks); + if (person) { + debug_print("addressadd_autoreg: person added: %s <%s>\n", + name, address); + return TRUE; + } + + return FALSE; +} + /* * End of Source. */ diff --git a/src/addressadd.h b/src/addressadd.h index 9206bf98..748d1ef7 100644 --- a/src/addressadd.h +++ b/src/addressadd.h @@ -28,4 +28,6 @@ gboolean addressadd_selection( AddressIndex *addrIndex, const gchar *name, const gchar *address, const gchar *remarks ); +gboolean addressadd_autoreg( AddressIndex *addrIndex, const gchar *name, const gchar *address, const gchar *remarks ); + #endif /* __ADDRESS_ADD_H__ */ diff --git a/src/addressbook.c b/src/addressbook.c index f0559f36..e8b1bf2c 100644 --- a/src/addressbook.c +++ b/src/addressbook.c @@ -1267,6 +1267,9 @@ static void addressbook_menuitem_set_sensitive(void) } else #endif canLookup = TRUE; + if (ads->subType == ADDR_BOOK && pobj->name && + !strcmp(pobj->name, ADDR_DS_AUTOREG)) + canEditTree = FALSE; } else if (pobj->type == ADDR_ITEM_FOLDER) { ds = addressbook_find_datasource(&iter); if (ds) { @@ -2900,9 +2903,11 @@ void addressbook_read_file(void) /* Conversion required */ debug_print("Converting...\n"); if (addressbook_convert(addrIndex)) { + addrindex_create_extra_books(addrIndex); _addressIndex_ = addrIndex; } } else if (addrIndex->retVal == MGU_SUCCESS) { + addrindex_create_extra_books(addrIndex); _addressIndex_ = addrIndex; } else { gchar msg[1024]; @@ -3049,6 +3054,7 @@ static gboolean addressbook_add_object(GtkTreeIter *iter, GtkTreeIter *new_iter, AddressObject *pobj; AddressObjectType otype; AddressTypeControlItem *atci = NULL; + const gchar *name; g_return_val_if_fail(iter != NULL, FALSE); g_return_val_if_fail(obj != NULL, FALSE); @@ -3069,9 +3075,13 @@ static gboolean addressbook_add_object(GtkTreeIter *iter, GtkTreeIter *new_iter, if (atci && atci->showInTree) { /* Add object to tree */ debug_print("addressbook_add_object: obj: %s\n", obj->name); + if (otype == ADDR_BOOK && !strcmp(obj->name, ADDR_DS_AUTOREG)) + name = _("Auto-registered address"); + else + name = obj->name; gtk_tree_store_append(GTK_TREE_STORE(model), &added, iter); gtk_tree_store_set(GTK_TREE_STORE(model), &added, - COL_FOLDER_NAME, obj->name, + COL_FOLDER_NAME, name, COL_OBJ, obj, COL_PIXBUF, atci->icon_pixbuf, COL_PIXBUF_OPEN, atci->icon_open_pixbuf, @@ -4001,7 +4011,7 @@ void addrbookctl_build_ifselect(void) */ gboolean addressbook_add_contact(const gchar *name, const gchar *address, const gchar *remarks) { - debug_print("addressbook_add_contact: name/address: %s - %s\n", name, address); + debug_print("addressbook_add_contact: name/address: %s <%s>\n", name ? name : "", address); if (addressadd_selection(_addressIndex_, name, address, remarks)) { debug_print("addressbook_add_contact - added\n"); addressbook_refresh(); @@ -4009,6 +4019,18 @@ gboolean addressbook_add_contact(const gchar *name, const gchar *address, const return TRUE; } +/* + * This function is used by the automatic address registration. + */ +gboolean addressbook_add_contact_autoreg(const gchar *name, const gchar *address, const gchar *remarks) +{ + debug_print("addressbook_add_contact_autoreg: name/address: %s <%s>\n", name ? name : "", address); + if (addressadd_autoreg(_addressIndex_, name, address, remarks)) { + addressbook_refresh(); + } + return TRUE; +} + /* ********************************************************************** * Address completion support. * *********************************************************************** diff --git a/src/addressbook.h b/src/addressbook.h index d3b8e7a7..70a51da4 100644 --- a/src/addressbook.h +++ b/src/addressbook.h @@ -40,9 +40,12 @@ gint addressbook_obj_name_compare (gconstpointer a, void addressbook_access (void); void addressbook_unaccess (void); -gboolean addressbook_add_contact ( const gchar *name, - const gchar *address, - const gchar *remarks ); +gboolean addressbook_add_contact (const gchar *name, + const gchar *address, + const gchar *remarks); +gboolean addressbook_add_contact_autoreg(const gchar *name, + const gchar *address, + const gchar *remarks); gboolean addressbook_load_completion ( gint (*callBackFunc) ( const gchar *, const gchar *, const gchar * ) ); diff --git a/src/addrindex.c b/src/addrindex.c index 62f1061d..6d47e2a8 100644 --- a/src/addrindex.c +++ b/src/addrindex.c @@ -1637,7 +1637,7 @@ static gboolean addrindex_create_new_book( AddressIndex *addrIndex, gchar *displ * addrIndex. Three files will be created, for the following: * "Common addresses" * "Personal addresses" -* "Gathered addresses" - a new address book. +* "Auto-registered" - a new address book. */ gint addrindex_read_data( AddressIndex *addrIndex ) { g_return_val_if_fail( addrIndex != NULL, -1 ); @@ -1666,7 +1666,7 @@ gint addrindex_read_data( AddressIndex *addrIndex ) { * addrIndex. Three files will be created, for the following: * "Common addresses" * "Personal addresses" -* "Gathered addresses" - a new address book. +* "Auto-registered" - a new address book. */ gint addrindex_create_new_books( AddressIndex *addrIndex ) { gboolean flg; @@ -1676,11 +1676,44 @@ gint addrindex_create_new_books( AddressIndex *addrIndex ) { flg = addrindex_create_new_book( addrIndex, DISP_NEW_COMMON ); if( flg ) { flg = addrindex_create_new_book( addrIndex, DISP_NEW_PERSONAL ); + flg = addrindex_create_new_book( addrIndex, ADDR_DS_AUTOREG ); addrIndex->dirtyFlag = TRUE; } return addrIndex->retVal; } +gint addrindex_create_extra_books( AddressIndex *addrIndex ) { + GList *node_ds; + AddressInterface *interface = NULL; + AddressDataSource *ds = NULL; + const gchar *ds_name; + + g_return_val_if_fail(addrIndex != NULL, -1); + + interface = addrindex_get_interface(addrIndex, ADDR_IF_BOOK); + if (!interface) + return -1; + + for (node_ds = interface->listSource; node_ds != NULL; + node_ds = node_ds->next) { + ds = node_ds->data; + ds_name = addrindex_ds_get_name(ds); + if (!ds_name) + continue; + if (!strcmp(ds_name, ADDR_DS_AUTOREG)) { + debug_print("%s found\n", ADDR_DS_AUTOREG); + return 0; + } + } + + debug_print("%s not found, creating new one\n", ADDR_DS_AUTOREG); + if (addrindex_create_new_book(addrIndex, ADDR_DS_AUTOREG)) { + addrIndex->dirtyFlag = TRUE; + } + + return addrIndex->retVal; +} + /* ********************************************************************** * New interface stuff. * *********************************************************************** diff --git a/src/addrindex.h b/src/addrindex.h index a31ed8e4..f998cbca 100644 --- a/src/addrindex.h +++ b/src/addrindex.h @@ -32,6 +32,8 @@ #define ADDRESSBOOK_INDEX_FILE "addrbook--index.xml" #define ADDRESSBOOK_OLD_FILE "addressbook.xml" +#define ADDR_DS_AUTOREG "@Auto-registered" + typedef enum { ADDR_IF_NONE, ADDR_IF_BOOK, @@ -108,6 +110,7 @@ gint addrindex_write_to ( AddressIndex *addrIndex, const gchar *newFile ); gint addrindex_save_data ( AddressIndex *addrIndex ); gint addrindex_create_new_books ( AddressIndex *addrIndex ); gint addrindex_save_all_books ( AddressIndex *addrIndex ); +gint addrindex_create_extra_books ( AddressIndex *addrIndex ); gboolean addrindex_ds_get_modify_flag ( AddressDataSource *ds ); gboolean addrindex_ds_get_access_flag ( AddressDataSource *ds ); diff --git a/src/compose.c b/src/compose.c index 3b528c19..e538b3f4 100644 --- a/src/compose.c +++ b/src/compose.c @@ -1,6 +1,6 @@ /* * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client - * Copyright (C) 1999-2009 Hiroyuki Yamamoto + * Copyright (C) 1999-2010 Hiroyuki Yamamoto * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -265,6 +265,9 @@ static gboolean compose_check_entries (Compose *compose); static gboolean compose_check_attachments (Compose *compose); static gboolean compose_check_recipients (Compose *compose); +static void compose_add_new_recipients_to_addressbook + (Compose *compose); + static gint compose_send (Compose *compose); static gint compose_write_to_file (Compose *compose, const gchar *file, @@ -3296,6 +3299,66 @@ static gboolean compose_check_recipients(Compose *compose) return FALSE; } +static void compose_add_new_recipients_to_addressbook(Compose *compose) +{ + GSList *to_list = NULL, *cur; + const gchar *text; + + if (compose->use_to) { + text = gtk_entry_get_text(GTK_ENTRY(compose->to_entry)); + to_list = address_list_append_orig(NULL, text); + } + if (compose->use_cc) { + text = gtk_entry_get_text(GTK_ENTRY(compose->cc_entry)); + to_list = address_list_append_orig(to_list, text); + } + if (compose->use_bcc) { + text = gtk_entry_get_text(GTK_ENTRY(compose->bcc_entry)); + to_list = address_list_append_orig(to_list, text); + } + + for (cur = to_list; cur != NULL; cur = cur->next) { + gchar *orig_addr = cur->data; + gchar *name, *addr; + gchar *compaddr; + gint count, i; + gboolean found = FALSE; + + name = procheader_get_fromname(orig_addr); + addr = g_strdup(orig_addr); + extract_address(addr); + if (!g_ascii_strcasecmp(name, addr)) { + g_free(name); + name = NULL; + } + + count = complete_address(addr); + for (i = 1; i < count; i++) { + compaddr = get_complete_address(i); + if (compaddr) { + g_print("compaddr: %s\n", compaddr); + extract_address(compaddr); + if (!g_ascii_strcasecmp(addr, compaddr)) { + found = TRUE; + break; + } + } + } + clear_completion_cache(); + + if (found) + debug_print("compose_add_new_recipients_to_addressbook: address <%s> already registered.\n", addr); + else + addressbook_add_contact_autoreg(name, addr, NULL); + + g_free(addr); + g_free(name); + } + + slist_free_strings(to_list); + g_slist_free(to_list); +} + void compose_lock(Compose *compose) { compose->lock_count++; @@ -3443,6 +3506,11 @@ static gint compose_send(Compose *compose) folderview_update_item(outbox, TRUE); } } + + /* Add recipients to addressbook automatically */ + if (1) { + compose_add_new_recipients_to_addressbook(compose); + } } g_unlink(tmp); @@ -4233,6 +4301,11 @@ static gint compose_queue(Compose *compose, const gchar *file) folder_item_scan(queue); folderview_update_item(queue, TRUE); + /* Add recipients to addressbook automatically */ + if (1) { + compose_add_new_recipients_to_addressbook(compose); + } + main_window_set_menu_sensitive(main_window_get()); main_window_set_toolbar_sensitive(main_window_get()); -- cgit v1.2.3