Localization to replace the hardcoded English/Japanese. I will follow up with a Japanese translation based on the previous code. Some of the old solution lingers in parts of the code. A small amount of clean-up and removal BeOS-specifics.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34956 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
b5be9fe6ff
commit
c8767bee6f
@ -38,35 +38,29 @@ All rights reserved.
|
||||
#include <stdio.h>
|
||||
#include <ctype.h>
|
||||
|
||||
#include <Debug.h>
|
||||
#include <Alert.h>
|
||||
#include <Beep.h>
|
||||
#include <Clipboard.h>
|
||||
#include <Debug.h>
|
||||
#include <E-mail.h>
|
||||
#include <Beep.h>
|
||||
#include <Input.h>
|
||||
#include <Locale.h>
|
||||
#include <MenuItem.h>
|
||||
#include <Mime.h>
|
||||
#include <NodeInfo.h>
|
||||
#include <NodeMonitor.h>
|
||||
#include <Path.h>
|
||||
#include <Mime.h>
|
||||
#include <Beep.h>
|
||||
#include <PopUpMenu.h>
|
||||
#include <MenuItem.h>
|
||||
#include <Region.h>
|
||||
#include <Roster.h>
|
||||
#include <ScrollView.h>
|
||||
#include <TextView.h>
|
||||
#include <UTF8.h>
|
||||
#include <MenuItem.h>
|
||||
#include <Roster.h>
|
||||
#include <Clipboard.h>
|
||||
#include <Input.h>
|
||||
|
||||
#include <MailMessage.h>
|
||||
#include <MailAttachment.h>
|
||||
#include <mail_util.h>
|
||||
|
||||
#include <MDRLanguage.h>
|
||||
|
||||
#include "MailApp.h"
|
||||
#include "MailSupport.h"
|
||||
#include "MailWindow.h"
|
||||
@ -84,6 +78,10 @@ All rights reserved.
|
||||
# define DSPELL(x) ;
|
||||
#endif
|
||||
|
||||
|
||||
#define TR_CONTEXT "Mail"
|
||||
|
||||
|
||||
const rgb_color kNormalTextColor = {0, 0, 0, 255};
|
||||
const rgb_color kSpellTextColor = {255, 0, 0, 255};
|
||||
const rgb_color kHyperLinkColor = {0, 0, 255, 255};
|
||||
@ -744,9 +742,8 @@ TContentView::MessageReceived(BMessage *msg)
|
||||
} else {
|
||||
beep();
|
||||
(new BAlert("",
|
||||
MDR_DIALECT_CHOICE ("An error occurred trying to open this signature.",
|
||||
"この署名を開くときにエラーが発生しました"),
|
||||
MDR_DIALECT_CHOICE ("Sorry", "了解")))->Go();
|
||||
TR("An error occurred trying to open this signature."),
|
||||
TR("Sorry")))->Go();
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -885,19 +882,19 @@ TTextView::TTextView(BRect frame, BRect text, bool incoming,
|
||||
//
|
||||
fEnclosureMenu = new BPopUpMenu("Enclosure", false, false);
|
||||
fEnclosureMenu->SetFont(&menuFont);
|
||||
fEnclosureMenu->AddItem(new BMenuItem(MDR_DIALECT_CHOICE ("Save Enclosure", "添付ファイルを保存") B_UTF8_ELLIPSIS,new BMessage(M_SAVE)));
|
||||
fEnclosureMenu->AddItem(new BMenuItem(MDR_DIALECT_CHOICE ("Open Enclosure", "添付ファイルを開く"), new BMessage(M_OPEN)));
|
||||
fEnclosureMenu->AddItem(new BMenuItem(TR("Save Enclosure" B_UTF8_ELLIPSIS),
|
||||
new BMessage(M_SAVE)));
|
||||
fEnclosureMenu->AddItem(new BMenuItem(TR("Open Enclosure"),
|
||||
new BMessage(M_OPEN)));
|
||||
|
||||
//
|
||||
// Hyperlink pop up menu
|
||||
//
|
||||
fLinkMenu = new BPopUpMenu("Link", false, false);
|
||||
fLinkMenu->SetFont(&menuFont);
|
||||
fLinkMenu->AddItem(new BMenuItem(
|
||||
MDR_DIALECT_CHOICE ("Open This Link", "リンク先を開く"),
|
||||
fLinkMenu->AddItem(new BMenuItem(TR("Open This Link"),
|
||||
new BMessage(M_OPEN)));
|
||||
fLinkMenu->AddItem(new BMenuItem(
|
||||
MDR_DIALECT_CHOICE ("Copy Link Location", "リンク先をコピー"),
|
||||
fLinkMenu->AddItem(new BMenuItem(TR("Copy Link Location"),
|
||||
new BMessage(M_COPY)));
|
||||
|
||||
SetDoesUndo(true);
|
||||
@ -1551,7 +1548,7 @@ TTextView::MouseDown(BPoint where)
|
||||
BMenuItem *addItem = NULL;
|
||||
if (!foundWord && gUserDict >= 0) {
|
||||
menu.AddSeparatorItem();
|
||||
addItem = new BMenuItem(MDR_DIALECT_CHOICE ("Add", "追加"), NULL);
|
||||
addItem = new BMenuItem(TR("Add"), NULL);
|
||||
menu.AddItem(addItem);
|
||||
}
|
||||
|
||||
@ -1893,8 +1890,7 @@ TTextView::Open(hyper_text *enclosure)
|
||||
if (result != B_NO_ERROR && result != B_ALREADY_RUNNING) {
|
||||
beep();
|
||||
(new BAlert("",
|
||||
MDR_DIALECT_CHOICE("There is no installed handler for URL links.",
|
||||
"このURLリンクを扱えるアプリケーションが存在しません"),
|
||||
TR("There is no installed handler for URL links."),
|
||||
"Sorry"))->Go();
|
||||
}
|
||||
break;
|
||||
@ -2043,10 +2039,8 @@ TTextView::Save(BMessage *msg, bool makeNewFile)
|
||||
|
||||
if (result != B_NO_ERROR) {
|
||||
beep();
|
||||
MDR_DIALECT_CHOICE(
|
||||
(new BAlert("", "An error occurred trying to save the enclosure.", "Sorry"))->Go();,
|
||||
(new BAlert("", "添付ファイルを保存するときにエラーが発生しました", "了解"))->Go();
|
||||
)
|
||||
(new BAlert("", TR("An error occurred trying to save the enclosure."),
|
||||
TR("Sorry")))->Go();
|
||||
}
|
||||
|
||||
return result;
|
||||
@ -3285,8 +3279,8 @@ TTextView::Undo(BClipboard */*clipboard*/)
|
||||
} else {
|
||||
::beep();
|
||||
(new BAlert("",
|
||||
MDR_DIALECT_CHOICE("Inconsistency occurred in the Undo/Redo buffer.",
|
||||
"Undo/Redoバッファに矛盾が発生しました!"), "OK"))->Go();
|
||||
TR("Inconsistency occurred in the Undo/Redo buffer."),
|
||||
TR("OK")))->Go();
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -3331,8 +3325,8 @@ TTextView::Redo()
|
||||
case K_REPLACED:
|
||||
::beep();
|
||||
(new BAlert("",
|
||||
MDR_DIALECT_CHOICE("Inconsistency occurred in the Undo/Redo buffer.",
|
||||
"Undo/Redoバッファに矛盾が発生しました!"), "OK"))->Go();
|
||||
TR("Inconsistency occurred in the Undo/Redo buffer."),
|
||||
TR("OK")))->Go();
|
||||
break;
|
||||
}
|
||||
ScrollToSelection();
|
||||
|
@ -41,19 +41,18 @@ All rights reserved.
|
||||
|
||||
#include "Enclosures.h"
|
||||
|
||||
#include <Debug.h>
|
||||
#include <Alert.h>
|
||||
#include <Beep.h>
|
||||
#include <Bitmap.h>
|
||||
#include <Debug.h>
|
||||
#include <Locale.h>
|
||||
#include <MenuItem.h>
|
||||
#include <Alert.h>
|
||||
#include <NodeMonitor.h>
|
||||
#include <PopUpMenu.h>
|
||||
|
||||
#include <MailAttachment.h>
|
||||
#include <MailMessage.h>
|
||||
|
||||
#include <MDRLanguage.h>
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
@ -64,6 +63,9 @@ All rights reserved.
|
||||
#include "Messages.h"
|
||||
|
||||
|
||||
#define TR_CONTEXT "Mail"
|
||||
|
||||
|
||||
static const float kPlainFontSizeScale = 0.9;
|
||||
|
||||
static status_t
|
||||
@ -137,7 +139,7 @@ TEnclosuresView::TEnclosuresView(BRect rect, BRect wind_rect)
|
||||
|
||||
BRect r;
|
||||
r.left = ENCLOSE_TEXT_H + font.StringWidth(
|
||||
MDR_DIALECT_CHOICE ("Enclosures: ","添付ファイル")) + 5;
|
||||
TR("Enclosures: ")) + 5;
|
||||
r.top = ENCLOSE_FIELD_V;
|
||||
r.right = wind_rect.right - wind_rect.left - B_V_SCROLL_BAR_WIDTH - 9;
|
||||
r.bottom = Frame().Height() - 8;
|
||||
@ -218,16 +220,14 @@ TEnclosuresView::MessageReceived(BMessage *msg)
|
||||
|
||||
if (item->Component())
|
||||
{
|
||||
// remove the component from the mail
|
||||
TMailWindow *window = dynamic_cast<TMailWindow *>(Window());
|
||||
if (window && window->Mail())
|
||||
window->Mail()->RemoveComponent(item->Component());
|
||||
|
||||
(new BAlert("", MDR_DIALECT_CHOICE (
|
||||
"Removing enclosures from a forwarded mail is not yet implemented!\n"
|
||||
"It will not yet work correctly.",
|
||||
"転送メールから添付ファイルを削除する機能はまだ実装されていません。"),
|
||||
MDR_DIALECT_CHOICE ("OK","了解")))->Go();
|
||||
(new BAlert("", TR(
|
||||
"Removing enclosures from a forwarded mail is not yet "
|
||||
"implemented!\nIt will not yet work correctly."),
|
||||
TR("OK")))->Go();
|
||||
}
|
||||
else
|
||||
watch_node(item->NodeRef(), B_STOP_WATCHING, this);
|
||||
@ -277,10 +277,9 @@ TEnclosuresView::MessageReceived(BMessage *msg)
|
||||
if (badType)
|
||||
{
|
||||
beep();
|
||||
(new BAlert("", MDR_DIALECT_CHOICE (
|
||||
"Only files can be added as enclosures.",
|
||||
"添付できるのは、ファイルのみです。"),
|
||||
MDR_DIALECT_CHOICE ("Ok","了解")))->Go();
|
||||
(new BAlert("",
|
||||
TR("Only files can be added as enclosures."),
|
||||
TR("Ok")))->Go();
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -424,11 +423,9 @@ TListView::MouseDown(BPoint point)
|
||||
|
||||
BPopUpMenu menu("enclosure", false, false);
|
||||
menu.SetFont(&font);
|
||||
menu.AddItem(new BMenuItem(
|
||||
MDR_DIALECT_CHOICE ("Open Enclosure","添付ファイルを開く"),
|
||||
menu.AddItem(new BMenuItem(TR("Open Enclosure"),
|
||||
new BMessage(LIST_INVOKED)));
|
||||
menu.AddItem(new BMenuItem(
|
||||
MDR_DIALECT_CHOICE ("Remove Enclosure","添付ファイルを削除"),
|
||||
menu.AddItem(new BMenuItem(TR("Remove Enclosure"),
|
||||
new BMessage(M_REMOVE)));
|
||||
|
||||
BPoint menuStart = ConvertToScreen(point);
|
||||
|
@ -43,13 +43,17 @@ All rights reserved.
|
||||
#include "Messages.h"
|
||||
#include "AutoTextControl.h"
|
||||
|
||||
#include <TextView.h>
|
||||
#include <Button.h>
|
||||
#include <Application.h>
|
||||
#include <String.h>
|
||||
#include <Box.h>
|
||||
#include <Button.h>
|
||||
#include <Catalog.h>
|
||||
#include <Locale.h>
|
||||
#include <String.h>
|
||||
#include <TextView.h>
|
||||
|
||||
|
||||
#define TR_CONTEXT "Mail"
|
||||
|
||||
#include <MDRLanguage.h>
|
||||
|
||||
enum {
|
||||
M_FIND_STRING_CHANGED = 'fsch'
|
||||
@ -134,7 +138,7 @@ FindPanel::FindPanel(BRect rect)
|
||||
AddChild(mBTextControl);
|
||||
|
||||
mFindButton = new BButton(BRect(0,0,90,20),"FINDBUTTON",
|
||||
MDR_DIALECT_CHOICE ("Find","検索"),
|
||||
TR("Find"),
|
||||
new BMessage(FINDBUTTON),B_FOLLOW_LEFT | B_FOLLOW_BOTTOM);
|
||||
mFindButton->ResizeToPreferred();
|
||||
AddChild(mFindButton);
|
||||
@ -229,7 +233,7 @@ void FindPanel::Find()
|
||||
|
||||
FindWindow::FindWindow()
|
||||
: BWindow(FindWindow::mLastPosition,
|
||||
MDR_DIALECT_CHOICE ("Find","検索"),
|
||||
TR("Find"),
|
||||
B_FLOATING_WINDOW,
|
||||
B_NOT_RESIZABLE | B_NOT_ZOOMABLE | B_WILL_ACCEPT_FIRST_CLICK)
|
||||
{
|
||||
|
@ -42,13 +42,13 @@ All rights reserved.
|
||||
#include "FieldMsg.h"
|
||||
#include "Prefs.h"
|
||||
|
||||
#include <MDRLanguage.h>
|
||||
#include <MailSettings.h>
|
||||
#include <MailMessage.h>
|
||||
|
||||
#include <CharacterSet.h>
|
||||
#include <CharacterSetRoster.h>
|
||||
#include <E-mail.h>
|
||||
#include <Locale.h>
|
||||
#include <MenuBar.h>
|
||||
#include <MenuField.h>
|
||||
#include <MenuItem.h>
|
||||
@ -70,6 +70,9 @@ All rights reserved.
|
||||
#include <time.h>
|
||||
|
||||
|
||||
#define TR_CONTEXT "Mail"
|
||||
|
||||
|
||||
using namespace BPrivate;
|
||||
using std::map;
|
||||
|
||||
@ -153,7 +156,7 @@ THeaderView::THeaderView(BRect rect, BRect windowRect, bool incoming,
|
||||
BMessage* msg;
|
||||
|
||||
float x = StringWidth( /* The longest title string in the header area */
|
||||
MDR_DIALECT_CHOICE ("Enclosures: ","添付ファイル:")) + 9;
|
||||
TR("Enclosures: ")) + 9;
|
||||
float y = TO_FIELD_V;
|
||||
|
||||
BMenuBar* dummy = new BMenuBar(BRect(0, 0, 100, 15), "Dummy");
|
||||
@ -242,17 +245,17 @@ THeaderView::THeaderView(BRect rect, BRect windowRect, bool incoming,
|
||||
if (fIncoming && !resending) {
|
||||
// Set up the character set pop-up menu on the right of "To" box.
|
||||
r.Set (windowRect.Width() - widestCharacterSet -
|
||||
StringWidth (DECODING_TEXT) - 2 * SEPARATOR_MARGIN, y - 2,
|
||||
StringWidth (TR("Decoding:")) - 2 * SEPARATOR_MARGIN, y - 2,
|
||||
windowRect.Width() - SEPARATOR_MARGIN, y + menuFieldHeight);
|
||||
field = new BMenuField (r, "decoding", DECODING_TEXT, fEncodingMenu,
|
||||
field = new BMenuField (r, "decoding", TR("Decoding:"), fEncodingMenu,
|
||||
true /* fixedSize */,
|
||||
B_FOLLOW_TOP | B_FOLLOW_RIGHT,
|
||||
B_WILL_DRAW | B_NAVIGABLE | B_NAVIGABLE_JUMP);
|
||||
field->SetDivider(field->StringWidth(DECODING_TEXT) + 5);
|
||||
field->SetDivider(field->StringWidth(TR("Decoding:")) + 5);
|
||||
AddChild(field);
|
||||
r.Set(SEPARATOR_MARGIN, y,
|
||||
field->Frame().left - SEPARATOR_MARGIN, y + menuFieldHeight);
|
||||
sprintf(string, FROM_TEXT);
|
||||
sprintf(string, TR("From:"));
|
||||
} else {
|
||||
r.Set(x - 12, y, windowRect.Width() - SEPARATOR_MARGIN,
|
||||
y + menuFieldHeight);
|
||||
@ -279,9 +282,9 @@ THeaderView::THeaderView(BRect rect, BRect windowRect, bool incoming,
|
||||
|
||||
if (!fIncoming || resending) {
|
||||
r.right = r.left - 5;
|
||||
r.left = r.right - ceilf(be_plain_font->StringWidth(TO_TEXT) + 25);
|
||||
r.left = r.right - ceilf(be_plain_font->StringWidth(TR("To:")) + 25);
|
||||
r.top -= 1;
|
||||
fToMenu = new QPopupMenu(TO_TEXT);
|
||||
fToMenu = new QPopupMenu(TR("To:"));
|
||||
field = new BMenuField(r, "", "", fToMenu, true,
|
||||
B_FOLLOW_LEFT | B_FOLLOW_TOP, B_WILL_DRAW);
|
||||
field->SetDivider(0.0);
|
||||
@ -293,13 +296,14 @@ THeaderView::THeaderView(BRect rect, BRect windowRect, bool incoming,
|
||||
if (!fIncoming || resending) {
|
||||
// Put the character set box on the right of the From field.
|
||||
r.Set(windowRect.Width() - widestCharacterSet -
|
||||
StringWidth(ENCODING_TEXT) - 2 * SEPARATOR_MARGIN,
|
||||
StringWidth(TR("Encoding:")) - 2 * SEPARATOR_MARGIN,
|
||||
y - 2, windowRect.Width() - SEPARATOR_MARGIN, y + menuFieldHeight);
|
||||
BMenuField *encodingField = new BMenuField (r, "encoding", ENCODING_TEXT, fEncodingMenu,
|
||||
true /* fixedSize */,
|
||||
BMenuField* encodingField = new BMenuField(r, "encoding",
|
||||
TR("Encoding:"), fEncodingMenu, true /* fixedSize */,
|
||||
B_FOLLOW_TOP | B_FOLLOW_RIGHT,
|
||||
B_WILL_DRAW | B_NAVIGABLE | B_NAVIGABLE_JUMP);
|
||||
encodingField->SetDivider(encodingField->StringWidth(ENCODING_TEXT) + 5);
|
||||
encodingField->SetDivider(encodingField->StringWidth(TR("Encoding:"))
|
||||
+ 5);
|
||||
AddChild(encodingField);
|
||||
|
||||
field = encodingField;
|
||||
@ -351,7 +355,7 @@ THeaderView::THeaderView(BRect rect, BRect windowRect, bool incoming,
|
||||
}
|
||||
r.Set(SEPARATOR_MARGIN, y - 2,
|
||||
field->Frame().left - SEPARATOR_MARGIN, y + menuFieldHeight);
|
||||
field = new BMenuField(r, "account", FROM_TEXT, fAccountMenu,
|
||||
field = new BMenuField(r, "account", TR("From:"), fAccountMenu,
|
||||
true /* fixedSize */,
|
||||
B_FOLLOW_TOP | B_FOLLOW_LEFT_RIGHT,
|
||||
B_WILL_DRAW | B_NAVIGABLE | B_NAVIGABLE_JUMP);
|
||||
@ -371,7 +375,8 @@ THeaderView::THeaderView(BRect rect, BRect windowRect, bool incoming,
|
||||
windowRect.Width() - SEPARATOR_MARGIN, y + menuFieldHeight);
|
||||
if (account)
|
||||
r.right -= SEPARATOR_MARGIN + ACCOUNT_FIELD_WIDTH;
|
||||
fAccountTo = new TTextControl(r, TO_TEXT, NULL, fIncoming, false, B_FOLLOW_LEFT_RIGHT);
|
||||
fAccountTo = new TTextControl(r, TR("To:"), NULL, fIncoming, false,
|
||||
B_FOLLOW_LEFT_RIGHT);
|
||||
fAccountTo->SetEnabled(false);
|
||||
fAccountTo->SetDivider(x - 12 - SEPARATOR_MARGIN);
|
||||
fAccountTo->SetAlignment(B_ALIGN_RIGHT, B_ALIGN_LEFT);
|
||||
@ -379,7 +384,8 @@ THeaderView::THeaderView(BRect rect, BRect windowRect, bool incoming,
|
||||
|
||||
if (account) {
|
||||
r.left = r.right + 6; r.right = windowRect.Width() - SEPARATOR_MARGIN;
|
||||
fAccount = new TTextControl(r, ACCOUNT_TEXT, NULL, fIncoming, false, B_FOLLOW_RIGHT | B_FOLLOW_TOP);
|
||||
fAccount = new TTextControl(r, TR("Account:"), NULL, fIncoming,
|
||||
false, B_FOLLOW_RIGHT | B_FOLLOW_TOP);
|
||||
fAccount->SetEnabled(false);
|
||||
AddChild(fAccount);
|
||||
}
|
||||
@ -390,7 +396,7 @@ THeaderView::THeaderView(BRect rect, BRect windowRect, bool incoming,
|
||||
r.Set(SEPARATOR_MARGIN, y,
|
||||
windowRect.Width() - SEPARATOR_MARGIN, y + menuFieldHeight);
|
||||
y += controlHeight;
|
||||
fSubject = new TTextControl(r, SUBJECT_TEXT, new BMessage(SUBJECT_FIELD),
|
||||
fSubject = new TTextControl(r, TR("Subject:"), new BMessage(SUBJECT_FIELD),
|
||||
fIncoming, false, B_FOLLOW_LEFT_RIGHT);
|
||||
AddChild(fSubject);
|
||||
(msg = new BMessage(FIELD_CHANGED))->AddInt32("bitmask", FIELD_SUBJECT);
|
||||
@ -413,9 +419,9 @@ THeaderView::THeaderView(BRect rect, BRect windowRect, bool incoming,
|
||||
fCc->SetModificationMessage(msg);
|
||||
|
||||
r.right = r.left - 5;
|
||||
r.left = r.right - ceilf(be_plain_font->StringWidth(CC_TEXT) + 25);
|
||||
r.left = r.right - ceilf(be_plain_font->StringWidth(TR("Cc:")) + 25);
|
||||
r.top -= 1;
|
||||
fCcMenu = new QPopupMenu(CC_TEXT);
|
||||
fCcMenu = new QPopupMenu(TR("Cc:"));
|
||||
field = new BMenuField(r, "", "", fCcMenu, true,
|
||||
B_FOLLOW_LEFT | B_FOLLOW_TOP, B_WILL_DRAW);
|
||||
|
||||
@ -423,7 +429,7 @@ THeaderView::THeaderView(BRect rect, BRect windowRect, bool incoming,
|
||||
field->SetEnabled(true);
|
||||
AddChild(field);
|
||||
|
||||
r.Set(BCC_FIELD_H + be_plain_font->StringWidth(BCC_TEXT), y,
|
||||
r.Set(BCC_FIELD_H + be_plain_font->StringWidth(TR("Bcc:")), y,
|
||||
windowRect.Width() - SEPARATOR_MARGIN, y + menuFieldHeight);
|
||||
y += controlHeight;
|
||||
fBcc = new TTextControl(r, "", new BMessage(BCC_FIELD),
|
||||
@ -436,9 +442,9 @@ THeaderView::THeaderView(BRect rect, BRect windowRect, bool incoming,
|
||||
fBcc->SetModificationMessage(msg);
|
||||
|
||||
r.right = r.left - 5;
|
||||
r.left = r.right - ceilf(be_plain_font->StringWidth(BCC_TEXT) + 25);
|
||||
r.left = r.right - ceilf(be_plain_font->StringWidth(TR("Bcc:")) + 25);
|
||||
r.top -= 1;
|
||||
fBccMenu = new QPopupMenu(BCC_TEXT);
|
||||
fBccMenu = new QPopupMenu(TR("Bcc:"));
|
||||
field = new BMenuField(r, "", "", fBccMenu, true,
|
||||
B_FOLLOW_LEFT | B_FOLLOW_TOP, B_WILL_DRAW);
|
||||
field->SetDivider(0.0);
|
||||
@ -1159,3 +1165,4 @@ void
|
||||
QPopupMenu::EntryRemoved(ino_t /*node*/)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -47,32 +47,24 @@ All rights reserved.
|
||||
#include <fs_attr.h>
|
||||
|
||||
|
||||
#define TO_TEXT "To:"
|
||||
#define FROM_TEXT "From:"
|
||||
#define ENCODING_TEXT "Encoding:"
|
||||
#define DECODING_TEXT "Decoding:"
|
||||
#define TO_FIELD_H 39
|
||||
#define FROM_FIELD_H 31
|
||||
#define TO_FIELD_V 7
|
||||
#define TO_FIELD_WIDTH 270
|
||||
#define FROM_FIELD_WIDTH 280
|
||||
|
||||
#define ACCOUNT_TEXT "Account:"
|
||||
#define ACCOUNT_FIELD_WIDTH 165
|
||||
|
||||
#define SUBJECT_TEXT "Subject:"
|
||||
#define SUBJECT_FIELD_H 18
|
||||
#define SUBJECT_FIELD_V 33
|
||||
#define SUBJECT_FIELD_WIDTH 270
|
||||
#define SUBJECT_FIELD_HEIGHT 16
|
||||
|
||||
#define CC_TEXT "CC:"
|
||||
#define CC_FIELD_H 40
|
||||
#define CC_FIELD_V 58
|
||||
#define CC_FIELD_WIDTH 192
|
||||
#define CC_FIELD_HEIGHT 16
|
||||
|
||||
#define BCC_TEXT "BCC:"
|
||||
#define BCC_FIELD_H 268
|
||||
#define BCC_FIELD_V 58
|
||||
#define BCC_FIELD_WIDTH 197
|
||||
@ -141,3 +133,4 @@ class TTextControl : public BComboBox {
|
||||
};
|
||||
|
||||
#endif /* _HEADER_H */
|
||||
|
||||
|
@ -1,7 +1,5 @@
|
||||
SubDir HAIKU_TOP src apps mail ;
|
||||
|
||||
SetSubDirSupportedPlatformsBeOSCompatible ;
|
||||
|
||||
if $(TARGET_PLATFORM) != haiku {
|
||||
UsePublicHeaders mail ;
|
||||
}
|
||||
@ -11,7 +9,8 @@ UsePrivateHeaders textencoding ;
|
||||
UsePrivateHeaders shared ;
|
||||
UsePrivateHeaders storage ;
|
||||
|
||||
AddResources Mail : Mail.rdef pictures.rdef ;
|
||||
AddResources Mail : pictures.rdef ;
|
||||
|
||||
Application Mail :
|
||||
AutoTextControl.cpp
|
||||
BmapButton.cpp
|
||||
@ -32,11 +31,25 @@ Application Mail :
|
||||
Utilities.cpp
|
||||
WIndex.cpp
|
||||
Words.cpp
|
||||
KUndoBuffer.cpp ;
|
||||
KUndoBuffer.cpp
|
||||
: be tracker $(TARGET_LIBSTDC++) $(TARGET_LIBSUPC++) liblocale.so libmail.so
|
||||
libtextencoding.so
|
||||
: Mail.rdef
|
||||
;
|
||||
|
||||
LinkAgainst Mail : be tracker $(TARGET_LIBSTDC++) libmail.so libtextencoding.so ;
|
||||
|
||||
Package haiku-maildaemon-cvs :
|
||||
Mail :
|
||||
boot beos apps ;
|
||||
DoCatalogs Mail :
|
||||
x-vnd.Be-MAIL
|
||||
:
|
||||
Content.cpp
|
||||
Enclosures.cpp
|
||||
FindWindow.cpp
|
||||
Header.cpp
|
||||
MailApp.cpp
|
||||
MailPopUpMenu.cpp
|
||||
MailWindow.cpp
|
||||
Prefs.cpp
|
||||
Signature.cpp
|
||||
: en.catalog
|
||||
: # ja.catkeys
|
||||
;
|
||||
|
||||
|
@ -19,7 +19,7 @@ resource app_version {
|
||||
internal = 3,
|
||||
|
||||
short_info = "Mail",
|
||||
long_info = "Mail ©2005-2009 Haiku, Inc."
|
||||
long_info = "Mail ©2005-2010 Haiku, Inc."
|
||||
};
|
||||
|
||||
resource vector_icon {
|
||||
|
@ -44,10 +44,12 @@ All rights reserved.
|
||||
#include <unistd.h>
|
||||
|
||||
#include <Autolock.h>
|
||||
#include <Catalog.h>
|
||||
#include <Clipboard.h>
|
||||
#include <Debug.h>
|
||||
#include <E-mail.h>
|
||||
#include <InterfaceKit.h>
|
||||
#include <Locale.h>
|
||||
#include <Roster.h>
|
||||
#include <Screen.h>
|
||||
#include <StorageKit.h>
|
||||
@ -62,16 +64,11 @@ All rights reserved.
|
||||
#include <MailSettings.h>
|
||||
#include <MailDaemon.h>
|
||||
#include <mail_util.h>
|
||||
#include <MDRLanguage.h>
|
||||
|
||||
#include <CharacterSetRoster.h>
|
||||
|
||||
using namespace BPrivate ;
|
||||
|
||||
#ifdef HAIKU_TARGET_PLATFORM_BEOS
|
||||
#include <netdb.h>
|
||||
#endif
|
||||
|
||||
#include "ButtonBar.h"
|
||||
#include "Content.h"
|
||||
#include "Enclosures.h"
|
||||
@ -90,6 +87,9 @@ using namespace BPrivate ;
|
||||
#include "Words.h"
|
||||
|
||||
|
||||
#define TR_CONTEXT "Mail"
|
||||
|
||||
|
||||
static const char *kDictDirectory = "word_dictionary";
|
||||
static const char *kIndexDirectory = "word_index";
|
||||
static const char *kWordsPath = "/boot/optional/goodies/words";
|
||||
@ -117,11 +117,13 @@ TMailApp::TMailApp()
|
||||
fMailCharacterSet(B_MS_WINDOWS_CONVERSION),
|
||||
fContentFont(be_fixed_font)
|
||||
{
|
||||
be_locale->GetAppCatalog(&fCatalog);
|
||||
|
||||
// set default values
|
||||
fContentFont.SetSize(12.0);
|
||||
fAutoMarkRead = true;
|
||||
fSignature = (char *)malloc(strlen(SIG_NONE) + 1);
|
||||
strcpy(fSignature, SIG_NONE);
|
||||
fSignature = (char*)malloc(strlen(TR("None")) + 1);
|
||||
strcpy(fSignature, TR("None"));
|
||||
fReplyPreamble = (char*)malloc(1);
|
||||
fReplyPreamble[0] = '\0';
|
||||
|
||||
@ -1253,3 +1255,4 @@ main()
|
||||
TMailApp().Run();
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
|
@ -35,6 +35,7 @@ All rights reserved.
|
||||
#define _MAIL_APP_H
|
||||
|
||||
#include <Application.h>
|
||||
#include <Catalog.h>
|
||||
#include <Entry.h>
|
||||
#include <Font.h>
|
||||
#include <List.h>
|
||||
@ -128,7 +129,10 @@ class TMailApp : public BApplication {
|
||||
int32 fUseAccountFrom;
|
||||
uint32 fMailCharacterSet;
|
||||
BFont fContentFont;
|
||||
|
||||
BCatalog fCatalog;
|
||||
};
|
||||
|
||||
|
||||
#endif // #ifndef _MAIL_H
|
||||
|
||||
|
@ -35,18 +35,21 @@ All rights reserved.
|
||||
|
||||
#include "MailPopUpMenu.h"
|
||||
|
||||
#include <Catalog.h>
|
||||
#include <Locale.h>
|
||||
#include <MenuItem.h>
|
||||
#include <Message.h>
|
||||
|
||||
#include <malloc.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <MDRLanguage.h>
|
||||
|
||||
#include "MailSupport.h"
|
||||
#include "Messages.h"
|
||||
|
||||
|
||||
#define TR_CONTEXT "Mail"
|
||||
|
||||
|
||||
TMenu::TMenu(const char *name, const char *attribute, int32 message, bool popup,
|
||||
bool addRandom)
|
||||
: BPopUpMenu(name, false, false),
|
||||
@ -94,13 +97,10 @@ TMenu::BuildMenu()
|
||||
|
||||
BMessage *msg = new BMessage(M_RANDOM_SIG);
|
||||
if (!fPopup) {
|
||||
AddItem(new BMenuItem(MDR_DIALECT_CHOICE ("Random","R) 自動決定"), msg,
|
||||
'0'), 0);
|
||||
AddItem(new BMenuItem(TR("Random"), msg, '0'), 0);
|
||||
} else {
|
||||
AddItem(new BMenuItem(MDR_DIALECT_CHOICE ("Random","R) 自動決定"), msg),
|
||||
0);
|
||||
AddItem(new BMenuItem(TR("Random"), msg), 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -62,7 +62,6 @@ All rights reserved.
|
||||
#include <MailSettings.h>
|
||||
#include <MailDaemon.h>
|
||||
#include <mail_util.h>
|
||||
#include <MDRLanguage.h>
|
||||
|
||||
#include <CharacterSetRoster.h>
|
||||
|
||||
|
@ -48,6 +48,7 @@ All rights reserved.
|
||||
#include <Debug.h>
|
||||
#include <E-mail.h>
|
||||
#include <InterfaceKit.h>
|
||||
#include <Locale.h>
|
||||
#include <PathMonitor.h>
|
||||
#include <Roster.h>
|
||||
#include <Screen.h>
|
||||
@ -86,6 +87,9 @@ All rights reserved.
|
||||
#include "Words.h"
|
||||
|
||||
|
||||
#define TR_CONTEXT "Mail"
|
||||
|
||||
|
||||
using namespace BPrivate;
|
||||
|
||||
|
||||
@ -195,12 +199,11 @@ TMailWindow::TMailWindow(BRect rect, const char* title, TMailApp* app,
|
||||
|
||||
// File Menu
|
||||
|
||||
menu = new BMenu(MDR_DIALECT_CHOICE ("File","F) ファイル"));
|
||||
menu = new BMenu(TR("File"));
|
||||
|
||||
msg = new BMessage(M_NEW);
|
||||
msg->AddInt32("type", M_NEW);
|
||||
menu->AddItem(item = new BMenuItem(MDR_DIALECT_CHOICE (
|
||||
"New Mail Message", "N) 新規メッセージ作成"), msg, 'N'));
|
||||
menu->AddItem(item = new BMenuItem(TR("New Mail Message"), msg, 'N'));
|
||||
item->SetTarget(be_app);
|
||||
|
||||
// Cheap hack - only show the drafts menu when composing messages. Insert
|
||||
@ -216,7 +219,7 @@ TMailWindow::TMailWindow(BRect rect, const char* title, TMailApp* app,
|
||||
|
||||
if (!fIncoming) {
|
||||
QueryMenu *queryMenu;
|
||||
queryMenu = new QueryMenu(MDR_DIALECT_CHOICE ("Open Draft", "O) ドラフトを開く"), false);
|
||||
queryMenu = new QueryMenu(TR("Open Draft"), false);
|
||||
queryMenu->SetTargetForItems(be_app);
|
||||
|
||||
queryMenu->SetPredicate("MAIL:draft==1");
|
||||
@ -224,122 +227,119 @@ TMailWindow::TMailWindow(BRect rect, const char* title, TMailApp* app,
|
||||
}
|
||||
|
||||
if (!fIncoming || resending) {
|
||||
menu->AddItem(fSendLater = new BMenuItem(
|
||||
MDR_DIALECT_CHOICE ("Save as Draft", "S)ドラフトとして保存"),
|
||||
menu->AddItem(fSendLater = new BMenuItem(TR("Save as Draft"),
|
||||
new BMessage(M_SAVE_AS_DRAFT), 'S'));
|
||||
}
|
||||
|
||||
if (!resending && fIncoming) {
|
||||
menu->AddSeparatorItem();
|
||||
|
||||
subMenu = new BMenu(MDR_DIALECT_CHOICE ("Close and ","C) 閉じる"));
|
||||
subMenu = new BMenu(TR("Close and "));
|
||||
if (file.GetAttrInfo(B_MAIL_ATTR_STATUS, &info) == B_NO_ERROR)
|
||||
file.ReadAttr(B_MAIL_ATTR_STATUS, B_STRING_TYPE, 0, str, info.size);
|
||||
else
|
||||
str[0] = 0;
|
||||
|
||||
if (!strcmp(str, "New")) {
|
||||
subMenu->AddItem(item = new BMenuItem(
|
||||
MDR_DIALECT_CHOICE ("Leave as New", "N) 新規<New>のままにする"),
|
||||
subMenu->AddItem(item = new BMenuItem(TR("Leave as New"),
|
||||
new BMessage(M_CLOSE_SAME), 'W', B_SHIFT_KEY));
|
||||
#if 0
|
||||
subMenu->AddItem(item = new BMenuItem(
|
||||
MDR_DIALECT_CHOICE ("Set to Read", "R) 開封済<Read>に設定"),
|
||||
subMenu->AddItem(item = new BMenuItem(TR("Set to Read"),
|
||||
new BMessage(M_CLOSE_READ), 'W'));
|
||||
#endif
|
||||
message = M_CLOSE_READ;
|
||||
} else {
|
||||
if (strlen(str))
|
||||
sprintf(status, MDR_DIALECT_CHOICE ("Leave as '%s'","W) 属性を<%s>にする"), str);
|
||||
sprintf(status, TR("Leave as '%s'"), str);
|
||||
else
|
||||
sprintf(status, MDR_DIALECT_CHOICE ("Leave same","W) 属性はそのまま"));
|
||||
sprintf(status, TR("Leave same"));
|
||||
subMenu->AddItem(item = new BMenuItem(status,
|
||||
new BMessage(M_CLOSE_SAME), 'W'));
|
||||
message = M_CLOSE_SAME;
|
||||
AddShortcut('W', B_COMMAND_KEY | B_SHIFT_KEY, new BMessage(M_CLOSE_SAME));
|
||||
}
|
||||
|
||||
subMenu->AddItem(new BMenuItem(MDR_DIALECT_CHOICE("Move to Trash",
|
||||
"T) 削除"), new BMessage(M_DELETE), 'T', B_CONTROL_KEY));
|
||||
AddShortcut('T', B_SHIFT_KEY | B_COMMAND_KEY, new BMessage(M_DELETE_NEXT));
|
||||
subMenu->AddItem(new BMenuItem(TR("Move to Trash"),
|
||||
new BMessage(M_DELETE), 'T', B_CONTROL_KEY));
|
||||
AddShortcut('T', B_SHIFT_KEY|B_COMMAND_KEY,
|
||||
new BMessage(M_DELETE_NEXT));
|
||||
|
||||
subMenu->AddSeparatorItem();
|
||||
|
||||
subMenu->AddItem(new BMenuItem(MDR_DIALECT_CHOICE("Set to Saved",
|
||||
"S) 属性を<Saved>に設定"), new BMessage(M_CLOSE_SAVED), 'W', B_CONTROL_KEY));
|
||||
subMenu->AddItem(new BMenuItem(TR("Set to Saved"),
|
||||
new BMessage(M_CLOSE_SAVED), 'W', B_CONTROL_KEY));
|
||||
|
||||
if (add_query_menu_items(subMenu, INDEX_STATUS, M_STATUS,
|
||||
MDR_DIALECT_CHOICE("Set to %s", "属性を<%s>に設定")) > 0)
|
||||
TR("Set to %s")) > 0)
|
||||
subMenu->AddSeparatorItem();
|
||||
|
||||
subMenu->AddItem(new BMenuItem(MDR_DIALECT_CHOICE("Set to", "X) 他の属性に変更")
|
||||
B_UTF8_ELLIPSIS, new BMessage(M_CLOSE_CUSTOM)));
|
||||
subMenu->AddItem(new BMenuItem(TR("Set to" B_UTF8_ELLIPSIS),
|
||||
new BMessage(M_CLOSE_CUSTOM)));
|
||||
|
||||
#if 0
|
||||
subMenu->AddItem(new BMenuItem(new TMenu(
|
||||
MDR_DIALECT_CHOICE ("Set to", "X) 他の属性に変更")B_UTF8_ELLIPSIS,
|
||||
INDEX_STATUS, M_STATUS, false, false), new BMessage(M_CLOSE_CUSTOM)));
|
||||
TR("Set to" B_UTF8_ELLIPSIS), INDEX_STATUS, M_STATUS, false, false),
|
||||
new BMessage(M_CLOSE_CUSTOM)));
|
||||
#endif
|
||||
menu->AddItem(subMenu);
|
||||
} else {
|
||||
menu->AddSeparatorItem();
|
||||
menu->AddItem(new BMenuItem(
|
||||
MDR_DIALECT_CHOICE ("Close", "W) 閉じる"),
|
||||
menu->AddItem(new BMenuItem(TR("Close"),
|
||||
new BMessage(B_CLOSE_REQUESTED), 'W'));
|
||||
}
|
||||
|
||||
menu->AddSeparatorItem();
|
||||
menu->AddItem(fPrint = new BMenuItem(
|
||||
MDR_DIALECT_CHOICE ("Page Setup", "G) ページ設定") B_UTF8_ELLIPSIS,
|
||||
menu->AddItem(fPrint = new BMenuItem(TR("Page Setup" B_UTF8_ELLIPSIS),
|
||||
new BMessage(M_PRINT_SETUP)));
|
||||
menu->AddItem(fPrint = new BMenuItem(
|
||||
MDR_DIALECT_CHOICE ("Print", "P) 印刷") B_UTF8_ELLIPSIS,
|
||||
menu->AddItem(fPrint = new BMenuItem(TR("Print" B_UTF8_ELLIPSIS),
|
||||
new BMessage(M_PRINT), 'P'));
|
||||
fMenuBar->AddItem(menu);
|
||||
|
||||
menu->AddSeparatorItem();
|
||||
menu->AddItem(item = new BMenuItem(
|
||||
MDR_DIALECT_CHOICE ("About Mail", "A) Mailについて") B_UTF8_ELLIPSIS,
|
||||
TR("About Mail" B_UTF8_ELLIPSIS),
|
||||
new BMessage(B_ABOUT_REQUESTED)));
|
||||
item->SetTarget(be_app);
|
||||
|
||||
menu->AddSeparatorItem();
|
||||
menu->AddItem(item = new BMenuItem(
|
||||
MDR_DIALECT_CHOICE ("Quit", "Q) 終了"),
|
||||
menu->AddItem(item = new BMenuItem(TR("Quit"),
|
||||
new BMessage(B_QUIT_REQUESTED), 'Q'));
|
||||
item->SetTarget(be_app);
|
||||
|
||||
// Edit Menu
|
||||
|
||||
menu = new BMenu(MDR_DIALECT_CHOICE ("Edit","E) 編集"));
|
||||
menu->AddItem(fUndo = new BMenuItem(MDR_DIALECT_CHOICE ("Undo","Z) 元に戻す"), new BMessage(B_UNDO), 'Z', 0));
|
||||
menu = new BMenu(TR("Edit"));
|
||||
menu->AddItem(fUndo = new BMenuItem(TR("Undo"), new BMessage(B_UNDO),
|
||||
'Z', 0));
|
||||
fUndo->SetTarget(NULL, this);
|
||||
menu->AddItem(fRedo = new BMenuItem(MDR_DIALECT_CHOICE ("Redo","Z) やり直し"), new BMessage(M_REDO), 'Z', B_SHIFT_KEY));
|
||||
menu->AddItem(fRedo = new BMenuItem(TR("Redo"), new BMessage(M_REDO),
|
||||
'Z', B_SHIFT_KEY));
|
||||
fRedo->SetTarget(NULL, this);
|
||||
menu->AddSeparatorItem();
|
||||
menu->AddItem(fCut = new BMenuItem(MDR_DIALECT_CHOICE ("Cut","X) 切り取り"), new BMessage(B_CUT), 'X'));
|
||||
menu->AddItem(fCut = new BMenuItem(TR("Cut"), new BMessage(B_CUT), 'X'));
|
||||
fCut->SetTarget(NULL, this);
|
||||
menu->AddItem(fCopy = new BMenuItem(MDR_DIALECT_CHOICE ("Copy","C) コピー"), new BMessage(B_COPY), 'C'));
|
||||
menu->AddItem(fCopy = new BMenuItem(TR("Copy"), new BMessage(B_COPY), 'C'));
|
||||
fCopy->SetTarget(NULL, this);
|
||||
menu->AddItem(fPaste = new BMenuItem(MDR_DIALECT_CHOICE ("Paste","V) 貼り付け"), new BMessage(B_PASTE), 'V'));
|
||||
menu->AddItem(fPaste = new BMenuItem(TR("Paste"), new BMessage(B_PASTE),
|
||||
'V'));
|
||||
fPaste->SetTarget(NULL, this);
|
||||
menu->AddSeparatorItem();
|
||||
menu->AddItem(item = new BMenuItem(MDR_DIALECT_CHOICE ("Select All", "A) 全文選択"), new BMessage(M_SELECT), 'A'));
|
||||
menu->AddItem(item = new BMenuItem(TR("Select All"), new BMessage(M_SELECT),
|
||||
'A'));
|
||||
menu->AddSeparatorItem();
|
||||
item->SetTarget(NULL, this);
|
||||
menu->AddItem(new BMenuItem(MDR_DIALECT_CHOICE ("Find", "F) 検索") B_UTF8_ELLIPSIS, new BMessage(M_FIND), 'F'));
|
||||
menu->AddItem(new BMenuItem(MDR_DIALECT_CHOICE ("Find Again", "G) 次を検索"), new BMessage(M_FIND_AGAIN), 'G'));
|
||||
menu->AddItem(new BMenuItem(TR("Find" B_UTF8_ELLIPSIS),
|
||||
new BMessage(M_FIND), 'F'));
|
||||
menu->AddItem(new BMenuItem(TR("Find Again"), new BMessage(M_FIND_AGAIN),
|
||||
'G'));
|
||||
if (!fIncoming) {
|
||||
menu->AddSeparatorItem();
|
||||
menu->AddItem(fQuote =new BMenuItem(
|
||||
MDR_DIALECT_CHOICE ("Quote","Q) 引用符をつける"),
|
||||
menu->AddItem(fQuote =new BMenuItem(TR("Quote"),
|
||||
new BMessage(M_QUOTE), B_RIGHT_ARROW));
|
||||
menu->AddItem(fRemoveQuote = new BMenuItem(
|
||||
MDR_DIALECT_CHOICE ("Remove Quote","R) 引用符を削除"),
|
||||
menu->AddItem(fRemoveQuote = new BMenuItem(TR("Remove Quote"),
|
||||
new BMessage(M_REMOVE_QUOTE), B_LEFT_ARROW));
|
||||
menu->AddSeparatorItem();
|
||||
fSpelling = new BMenuItem(
|
||||
MDR_DIALECT_CHOICE ("Check Spelling","H) スペルチェック"),
|
||||
fSpelling = new BMenuItem(TR("Check Spelling"),
|
||||
new BMessage(M_CHECK_SPELLING), ';');
|
||||
menu->AddItem(fSpelling);
|
||||
if (fApp->StartWithSpellCheckOn())
|
||||
@ -347,12 +347,12 @@ TMailWindow::TMailWindow(BRect rect, const char* title, TMailApp* app,
|
||||
}
|
||||
menu->AddSeparatorItem();
|
||||
menu->AddItem(item = new BMenuItem(
|
||||
MDR_DIALECT_CHOICE ("Preferences","P) Mailの設定") B_UTF8_ELLIPSIS,
|
||||
TR("Preferences" B_UTF8_ELLIPSIS),
|
||||
new BMessage(M_PREFS),','));
|
||||
item->SetTarget(be_app);
|
||||
fMenuBar->AddItem(menu);
|
||||
menu->AddItem(item = new BMenuItem(
|
||||
MDR_DIALECT_CHOICE ("Accounts","Accounts") B_UTF8_ELLIPSIS,
|
||||
TR("Accounts" B_UTF8_ELLIPSIS),
|
||||
new BMessage(M_ACCOUNTS),'-'));
|
||||
item->SetTarget(be_app);
|
||||
|
||||
@ -360,41 +360,50 @@ TMailWindow::TMailWindow(BRect rect, const char* title, TMailApp* app,
|
||||
|
||||
if (!resending && fIncoming) {
|
||||
menu = new BMenu("View");
|
||||
menu->AddItem(fHeader = new BMenuItem(MDR_DIALECT_CHOICE ("Show Header","H) ヘッダーを表示"), new BMessage(M_HEADER), 'H'));
|
||||
menu->AddItem(fRaw = new BMenuItem(MDR_DIALECT_CHOICE ("Show Raw Message"," メッセージを生で表示"), new BMessage(M_RAW)));
|
||||
menu->AddItem(fHeader = new BMenuItem(TR("Show Header"),
|
||||
new BMessage(M_HEADER), 'H'));
|
||||
menu->AddItem(fRaw = new BMenuItem(TR("Show Raw Message"),
|
||||
new BMessage(M_RAW)));
|
||||
fMenuBar->AddItem(menu);
|
||||
}
|
||||
|
||||
// Message Menu
|
||||
|
||||
menu = new BMenu(MDR_DIALECT_CHOICE ("Message", "M) メッセージ"));
|
||||
menu = new BMenu(TR("Message"));
|
||||
|
||||
if (!resending && fIncoming) {
|
||||
BMenuItem *menuItem;
|
||||
menu->AddItem(new BMenuItem(MDR_DIALECT_CHOICE ("Reply","R) 返信"), new BMessage(M_REPLY),'R'));
|
||||
menu->AddItem(new BMenuItem(MDR_DIALECT_CHOICE ("Reply to Sender","S) 送信者に返信"), new BMessage(M_REPLY_TO_SENDER),'R',B_OPTION_KEY));
|
||||
menu->AddItem(new BMenuItem(MDR_DIALECT_CHOICE ("Reply to All","P) 全員に返信"), new BMessage(M_REPLY_ALL), 'R', B_SHIFT_KEY));
|
||||
menu->AddItem(new BMenuItem(TR("Reply"), new BMessage(M_REPLY),'R'));
|
||||
menu->AddItem(new BMenuItem(TR("Reply to Sender"),
|
||||
new BMessage(M_REPLY_TO_SENDER),'R',B_OPTION_KEY));
|
||||
menu->AddItem(new BMenuItem(TR("Reply to All"),
|
||||
new BMessage(M_REPLY_ALL), 'R', B_SHIFT_KEY));
|
||||
|
||||
menu->AddSeparatorItem();
|
||||
|
||||
menu->AddItem(new BMenuItem(MDR_DIALECT_CHOICE ("Forward","J) 転送"), new BMessage(M_FORWARD), 'J'));
|
||||
menu->AddItem(new BMenuItem(MDR_DIALECT_CHOICE ("Forward without Attachments","The opposite: F) 添付ファイルを含めて転送"), new BMessage(M_FORWARD_WITHOUT_ATTACHMENTS)));
|
||||
menu->AddItem(menuItem = new BMenuItem(MDR_DIALECT_CHOICE ("Resend"," 再送信"), new BMessage(M_RESEND)));
|
||||
menu->AddItem(menuItem = new BMenuItem(MDR_DIALECT_CHOICE ("Copy to New","D) 新規メッセージへコピー"), new BMessage(M_COPY_TO_NEW), 'D'));
|
||||
menu->AddItem(new BMenuItem(TR("Forward"), new BMessage(M_FORWARD),
|
||||
'J'));
|
||||
menu->AddItem(new BMenuItem(TR("Forward without Attachments"),
|
||||
new BMessage(M_FORWARD_WITHOUT_ATTACHMENTS)));
|
||||
menu->AddItem(menuItem = new BMenuItem(TR("Resend"),
|
||||
new BMessage(M_RESEND)));
|
||||
menu->AddItem(menuItem = new BMenuItem(TR("Copy to New"),
|
||||
new BMessage(M_COPY_TO_NEW), 'D'));
|
||||
|
||||
menu->AddSeparatorItem();
|
||||
fDeleteNext = new BMenuItem(MDR_DIALECT_CHOICE ("Move to Trash","T) 削除"), new BMessage(M_DELETE_NEXT), 'T');
|
||||
fDeleteNext = new BMenuItem(TR("Move to Trash"),
|
||||
new BMessage(M_DELETE_NEXT), 'T');
|
||||
menu->AddItem(fDeleteNext);
|
||||
menu->AddSeparatorItem();
|
||||
|
||||
fPrevMsg = new BMenuItem(MDR_DIALECT_CHOICE ("Previous Message","B) 前のメッセージ"), new BMessage(M_PREVMSG),
|
||||
B_UP_ARROW);
|
||||
fPrevMsg = new BMenuItem(TR("Previous Message"),
|
||||
new BMessage(M_PREVMSG), B_UP_ARROW);
|
||||
menu->AddItem(fPrevMsg);
|
||||
fNextMsg = new BMenuItem(MDR_DIALECT_CHOICE ("Next Message","N) 次のメッセージ"), new BMessage(M_NEXTMSG),
|
||||
fNextMsg = new BMenuItem(TR("Next Message"), new BMessage(M_NEXTMSG),
|
||||
B_DOWN_ARROW);
|
||||
menu->AddItem(fNextMsg);
|
||||
menu->AddSeparatorItem();
|
||||
fSaveAddrMenu = subMenu = new BMenu(MDR_DIALECT_CHOICE ("Save Address", " アドレスを保存"));
|
||||
fSaveAddrMenu = subMenu = new BMenu(TR("Save Address"));
|
||||
|
||||
// create the list of addresses
|
||||
|
||||
@ -449,30 +458,31 @@ TMailWindow::TMailWindow(BRect rect, const char* title, TMailApp* app,
|
||||
fMenuBar->AddItem(menu);
|
||||
}
|
||||
} else {
|
||||
menu->AddItem(fSendNow = new BMenuItem(
|
||||
MDR_DIALECT_CHOICE ("Send Message", "M) メッセージを送信"),
|
||||
menu->AddItem(fSendNow = new BMenuItem(TR("Send Message"),
|
||||
new BMessage(M_SEND_NOW), 'M'));
|
||||
|
||||
if (!fIncoming) {
|
||||
menu->AddSeparatorItem();
|
||||
fSignature = new TMenu(
|
||||
MDR_DIALECT_CHOICE ("Add Signature", "D) 署名を追加"),
|
||||
INDEX_SIGNATURE, M_SIGNATURE);
|
||||
fSignature = new TMenu(TR("Add Signature"), INDEX_SIGNATURE,
|
||||
M_SIGNATURE);
|
||||
menu->AddItem(new BMenuItem(fSignature));
|
||||
menu->AddItem(item = new BMenuItem(
|
||||
MDR_DIALECT_CHOICE ("Edit Signatures","S) 署名の編集") B_UTF8_ELLIPSIS,
|
||||
TR("Edit Signatures" B_UTF8_ELLIPSIS),
|
||||
new BMessage(M_EDIT_SIGNATURE)));
|
||||
item->SetTarget(be_app);
|
||||
menu->AddSeparatorItem();
|
||||
menu->AddItem(fAdd = new BMenuItem(MDR_DIALECT_CHOICE ("Add Enclosure","E) 追加")B_UTF8_ELLIPSIS, new BMessage(M_ADD), 'E'));
|
||||
menu->AddItem(fRemove = new BMenuItem(MDR_DIALECT_CHOICE ("Remove Enclosure","T) 削除"), new BMessage(M_REMOVE), 'T'));
|
||||
menu->AddItem(fAdd = new BMenuItem(TR(
|
||||
"Add Enclosure" B_UTF8_ELLIPSIS),
|
||||
new BMessage(M_ADD), 'E'));
|
||||
menu->AddItem(fRemove = new BMenuItem(TR("Remove Enclosure"),
|
||||
new BMessage(M_REMOVE), 'T'));
|
||||
}
|
||||
fMenuBar->AddItem(menu);
|
||||
}
|
||||
|
||||
// Queries Menu
|
||||
|
||||
fQueryMenu = new BMenu(MDR_DIALECT_CHOICE("Queries","???"));
|
||||
fQueryMenu = new BMenu(TR("Queries"));
|
||||
fMenuBar->AddItem(fQueryMenu);
|
||||
|
||||
_RebuildQueryMenu(true);
|
||||
@ -527,8 +537,8 @@ TMailWindow::TMailWindow(BRect rect, const char* title, TMailApp* app,
|
||||
|
||||
BString signature = fApp->Signature();
|
||||
|
||||
if (!fIncoming && strcmp(signature.String(), SIG_NONE) != 0) {
|
||||
if (strcmp(signature.String(), SIG_RANDOM) == 0)
|
||||
if (!fIncoming && strcmp(signature.String(), TR("None")) != 0) {
|
||||
if (strcmp(signature.String(), TR("Random")) == 0)
|
||||
PostMessage(M_RANDOM_SIG);
|
||||
else {
|
||||
// Create a query to find this signature
|
||||
@ -585,50 +595,41 @@ TMailWindow::BuildButtonBar()
|
||||
|
||||
bbar = new ButtonBar(BRect(0, 0, 100, 100), "ButtonBar", 2, 3, 0, 1, 10,
|
||||
2);
|
||||
bbar->AddButton(MDR_DIALECT_CHOICE ("New","新規"), 28, new BMessage(M_NEW));
|
||||
bbar->AddButton(TR("New"), 28, new BMessage(M_NEW));
|
||||
bbar->AddDivider(5);
|
||||
fButtonBar = bbar;
|
||||
|
||||
if (fResending) {
|
||||
fSendButton = bbar->AddButton(MDR_DIALECT_CHOICE ("Send","送信"), 8,
|
||||
new BMessage(M_SEND_NOW));
|
||||
fSendButton = bbar->AddButton(TR("Send"), 8, new BMessage(M_SEND_NOW));
|
||||
bbar->AddDivider(5);
|
||||
} else if (!fIncoming) {
|
||||
fSendButton = bbar->AddButton(MDR_DIALECT_CHOICE ("Send","送信"), 8,
|
||||
new BMessage(M_SEND_NOW));
|
||||
fSendButton = bbar->AddButton(TR("Send"), 8, new BMessage(M_SEND_NOW));
|
||||
fSendButton->SetEnabled(false);
|
||||
fSigButton = bbar->AddButton(MDR_DIALECT_CHOICE ("Signature","署名"), 4,
|
||||
fSigButton = bbar->AddButton(TR("Signature"), 4,
|
||||
new BMessage(M_SIG_MENU));
|
||||
fSigButton->InvokeOnButton(B_SECONDARY_MOUSE_BUTTON);
|
||||
fSaveButton = bbar->AddButton(MDR_DIALECT_CHOICE ("Save","保存"), 44,
|
||||
fSaveButton = bbar->AddButton(TR("Save"), 44,
|
||||
new BMessage(M_SAVE_AS_DRAFT));
|
||||
fSaveButton->SetEnabled(false);
|
||||
fPrintButton = bbar->AddButton(MDR_DIALECT_CHOICE ("Print","印刷"), 16,
|
||||
new BMessage(M_PRINT));
|
||||
fPrintButton = bbar->AddButton(TR("Print"), 16, new BMessage(M_PRINT));
|
||||
fPrintButton->SetEnabled(false);
|
||||
bbar->AddButton(MDR_DIALECT_CHOICE ("Trash","削除"), 0,
|
||||
new BMessage(M_DELETE));
|
||||
bbar->AddButton(TR("Trash"), 0, new BMessage(M_DELETE));
|
||||
bbar->AddDivider(5);
|
||||
} else {
|
||||
BmapButton *button = bbar->AddButton(MDR_DIALECT_CHOICE ("Reply","返信"),
|
||||
12, new BMessage(M_REPLY));
|
||||
BmapButton *button = bbar->AddButton(TR("Reply"), 12,
|
||||
new BMessage(M_REPLY));
|
||||
button->InvokeOnButton(B_SECONDARY_MOUSE_BUTTON);
|
||||
button = bbar->AddButton(MDR_DIALECT_CHOICE ("Forward","転送"), 40,
|
||||
new BMessage(M_FORWARD));
|
||||
button = bbar->AddButton(TR("Forward"), 40, new BMessage(M_FORWARD));
|
||||
button->InvokeOnButton(B_SECONDARY_MOUSE_BUTTON);
|
||||
fPrintButton = bbar->AddButton(MDR_DIALECT_CHOICE ("Print","印刷"), 16,
|
||||
new BMessage(M_PRINT));
|
||||
bbar->AddButton(MDR_DIALECT_CHOICE ("Trash","削除"), 0,
|
||||
new BMessage(M_DELETE_NEXT));
|
||||
fPrintButton = bbar->AddButton(TR("Print"), 16, new BMessage(M_PRINT));
|
||||
bbar->AddButton(TR("Trash"), 0, new BMessage(M_DELETE_NEXT));
|
||||
if (fApp->ShowSpamGUI()) {
|
||||
button = bbar->AddButton("Spam", 48, new BMessage(M_SPAM_BUTTON));
|
||||
button->InvokeOnButton(B_SECONDARY_MOUSE_BUTTON);
|
||||
}
|
||||
bbar->AddDivider(5);
|
||||
fNextButton = bbar->AddButton(MDR_DIALECT_CHOICE ("Next","次へ"), 24,
|
||||
new BMessage(M_NEXTMSG));
|
||||
bbar->AddButton(MDR_DIALECT_CHOICE ("Previous","前へ"), 20,
|
||||
new BMessage(M_PREVMSG));
|
||||
fNextButton = bbar->AddButton(TR("Next"), 24, new BMessage(M_NEXTMSG));
|
||||
bbar->AddButton(TR("Previous"), 20, new BMessage(M_PREVMSG));
|
||||
if (!fAutoMarkRead) {
|
||||
_AddReadButton();
|
||||
}
|
||||
@ -1036,9 +1037,11 @@ TMailWindow::MessageReceived(BMessage *msg)
|
||||
if (msg->FindInt32("buttons", (int32 *)&buttons) == B_OK
|
||||
&& buttons == B_SECONDARY_MOUSE_BUTTON) {
|
||||
BPopUpMenu menu("Reply To", false, false);
|
||||
menu.AddItem(new BMenuItem(MDR_DIALECT_CHOICE ("Reply","R) 返信"),new BMessage(M_REPLY)));
|
||||
menu.AddItem(new BMenuItem(MDR_DIALECT_CHOICE ("Reply to Sender","S) 送信者に返信"),new BMessage(M_REPLY_TO_SENDER)));
|
||||
menu.AddItem(new BMenuItem(MDR_DIALECT_CHOICE ("Reply to All","P) 全員に返信"),new BMessage(M_REPLY_ALL)));
|
||||
menu.AddItem(new BMenuItem(TR("Reply"),new BMessage(M_REPLY)));
|
||||
menu.AddItem(new BMenuItem(TR("Reply to Sender"),
|
||||
new BMessage(M_REPLY_TO_SENDER)));
|
||||
menu.AddItem(new BMenuItem(TR("Reply to All"),
|
||||
new BMessage(M_REPLY_ALL)));
|
||||
|
||||
BPoint where;
|
||||
msg->FindPoint("where", &where);
|
||||
@ -1059,10 +1062,9 @@ TMailWindow::MessageReceived(BMessage *msg)
|
||||
if (msg->FindInt32("buttons", (int32 *)&buttons) == B_OK
|
||||
&& buttons == B_SECONDARY_MOUSE_BUTTON) {
|
||||
BPopUpMenu menu("Forward", false, false);
|
||||
menu.AddItem(new BMenuItem(MDR_DIALECT_CHOICE("Forward", "J) 転送"),
|
||||
menu.AddItem(new BMenuItem(TR("Forward"),
|
||||
new BMessage(M_FORWARD)));
|
||||
menu.AddItem(new BMenuItem(MDR_DIALECT_CHOICE("Forward without Attachments",
|
||||
"The opposite: F) 添付ファイルを含む転送"),
|
||||
menu.AddItem(new BMenuItem(TR("Forward without Attachments"),
|
||||
new BMessage(M_FORWARD_WITHOUT_ATTACHMENTS)));
|
||||
|
||||
BPoint where;
|
||||
@ -1120,9 +1122,8 @@ TMailWindow::MessageReceived(BMessage *msg)
|
||||
tracker.SendMessage(&msg);
|
||||
} else {
|
||||
(new BAlert("",
|
||||
MDR_DIALECT_CHOICE ( "Need tracker to move items to trash",
|
||||
"削除するにはTrackerが必要です。"),
|
||||
MDR_DIALECT_CHOICE ("sorry","削除できませんでした。")))->Go();
|
||||
TR("Need tracker to move items to trash"),
|
||||
TR("sorry")))->Go();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@ -1277,12 +1278,13 @@ TMailWindow::MessageReceived(BMessage *msg)
|
||||
else
|
||||
{
|
||||
sprintf(arg, "META:email %s", str);
|
||||
status_t result = be_roster->Launch("application/x-person", 1, &arg);
|
||||
status_t result = be_roster->Launch("application/x-person",
|
||||
1, &arg);
|
||||
|
||||
if (result != B_NO_ERROR)
|
||||
(new BAlert("", MDR_DIALECT_CHOICE (
|
||||
"Sorry, could not find an application that supports the 'Person' data type.",
|
||||
"Peopleデータ形式をサポートするアプリケーションが見つかりませんでした。"),
|
||||
MDR_DIALECT_CHOICE ("OK","了解")))->Go();
|
||||
(new BAlert("", TR(
|
||||
"Sorry, could not find an application that supports"
|
||||
" the 'Person' data type."), TR("OK")))->Go();
|
||||
}
|
||||
free(arg);
|
||||
}
|
||||
@ -1494,11 +1496,9 @@ TMailWindow::MessageReceived(BMessage *msg)
|
||||
{
|
||||
beep();
|
||||
(new BAlert("",
|
||||
MDR_DIALECT_CHOICE (
|
||||
"The spell check feature requires the optional \"words\" file on your BeOS CD.",
|
||||
"スペルチェク機能はBeOS CDの optional \"words\" ファイルが必要です"),
|
||||
MDR_DIALECT_CHOICE ("OK","了解"),
|
||||
NULL, NULL, B_WIDTH_AS_USUAL, B_OFFSET_SPACING,
|
||||
TR("The spell check feature requires the optional "
|
||||
"\"words\" file on your BeOS CD."),
|
||||
TR("OK"), NULL, NULL, B_WIDTH_AS_USUAL, B_OFFSET_SPACING,
|
||||
B_STOP_ALERT))->Go();
|
||||
}
|
||||
else
|
||||
@ -1608,14 +1608,9 @@ TMailWindow::QuitRequested()
|
||||
{
|
||||
if (fResending) {
|
||||
BAlert *alert = new BAlert("",
|
||||
MDR_DIALECT_CHOICE (
|
||||
"Do you wish to send this message before closing?",
|
||||
"閉じる前に送信しますか?"),
|
||||
MDR_DIALECT_CHOICE ("Discard","無視"),
|
||||
MDR_DIALECT_CHOICE ("Cancel","中止"),
|
||||
MDR_DIALECT_CHOICE ("Send","送信"),
|
||||
B_WIDTH_AS_USUAL, B_OFFSET_SPACING,
|
||||
B_WARNING_ALERT);
|
||||
TR("Do you wish to send this message before closing?"),
|
||||
TR("Discard"), TR("Cancel"), TR("Send"),
|
||||
B_WIDTH_AS_USUAL, B_OFFSET_SPACING, B_WARNING_ALERT);
|
||||
alert->SetShortcut(0,'d');
|
||||
alert->SetShortcut(1,B_ESCAPE);
|
||||
result = alert->Go();
|
||||
@ -1631,14 +1626,10 @@ TMailWindow::QuitRequested()
|
||||
}
|
||||
} else {
|
||||
BAlert *alert = new BAlert("",
|
||||
MDR_DIALECT_CHOICE (
|
||||
"Do you wish to save this message as a draft before closing?",
|
||||
"閉じる前に保存しますか?"),
|
||||
MDR_DIALECT_CHOICE ("Don't Save","保存しない"),
|
||||
MDR_DIALECT_CHOICE ("Cancel","中止"),
|
||||
MDR_DIALECT_CHOICE ("Save","保存"),
|
||||
B_WIDTH_AS_USUAL, B_OFFSET_SPACING,
|
||||
B_WARNING_ALERT);
|
||||
TR("Do you wish to save this message as a draft before closing?"
|
||||
),
|
||||
TR("Don't Save"), TR("Cancel"), TR("Save"),
|
||||
B_WIDTH_AS_USUAL, B_OFFSET_SPACING, B_WARNING_ALERT);
|
||||
alert->SetShortcut(0,'d');
|
||||
alert->SetShortcut(1,B_ESCAPE);
|
||||
result = alert->Go();
|
||||
@ -2187,9 +2178,8 @@ TMailWindow::Send(bool now)
|
||||
status_t status = SaveAsDraft();
|
||||
if (status != B_OK) {
|
||||
beep();
|
||||
(new BAlert("",
|
||||
MDR_DIALECT_CHOICE ("E-mail draft could not be saved!","ドラフトは保存できませんでした。"),
|
||||
MDR_DIALECT_CHOICE ("OK","了解")))->Go();
|
||||
(new BAlert("", TR("E-mail draft could not be saved!"),
|
||||
TR("OK")))->Go();
|
||||
}
|
||||
return status;
|
||||
}
|
||||
@ -2267,24 +2257,16 @@ TMailWindow::Send(bool now)
|
||||
if (count > 0) {
|
||||
int32 userAnswer;
|
||||
BString messageString;
|
||||
MDR_DIALECT_CHOICE (
|
||||
messageString << "Your main text contains " << count <<
|
||||
" unencodable characters. Perhaps a different character "
|
||||
"set would work better? Hit Send to send it anyway "
|
||||
messageString << TR("Your main text contains ") << count <<
|
||||
TR(" unencodable characters. Perhaps a different "
|
||||
"character set would work better? Hit Send to send it "
|
||||
"anyway "
|
||||
"(a substitute character will be used in place of "
|
||||
"the unencodable ones), or choose Cancel to go back "
|
||||
"and try fixing it up."
|
||||
,
|
||||
messageString << "送信メールの本文には " << count <<
|
||||
" 個のエンコードできない文字があります。"
|
||||
"違う文字セットを使うほうがよい可能性があります。"
|
||||
"このまま送信の場合は「送信」ボタンを押してください。"
|
||||
"その場合、代用文字がUnicode化可能な文字に代わって使われます。"
|
||||
"文字セットを変更する場合は「中止」ボタンを押して下さい。"
|
||||
);
|
||||
"and try fixing it up.");
|
||||
userAnswer = (new BAlert("Question", messageString.String(),
|
||||
MDR_DIALECT_CHOICE ("Send","送信"),
|
||||
MDR_DIALECT_CHOICE ("Cancel","中止"),
|
||||
TR("Send"),
|
||||
TR("Cancel"),
|
||||
NULL, B_WIDTH_AS_USUAL, B_OFFSET_SPACING,
|
||||
B_WARNING_ALERT))->Go();
|
||||
if (userAnswer == 1) {
|
||||
@ -2416,12 +2398,9 @@ TMailWindow::Send(bool now)
|
||||
fSent = true;
|
||||
|
||||
int32 start = (new BAlert("no daemon",
|
||||
MDR_DIALECT_CHOICE ("The mail_daemon is not running. "
|
||||
"The message is queued and will be sent when the mail_daemon is started.",
|
||||
"mail_daemon が開始されていません "
|
||||
"このメッセージは処理待ちとなり、mail_daemon 開始後に処理されます"),
|
||||
MDR_DIALECT_CHOICE ("Start Now","ただちに開始する"),
|
||||
MDR_DIALECT_CHOICE ("Ok","了解")))->Go();
|
||||
TR("The mail_daemon is not running. The message is queued and "
|
||||
"will be sent when the mail_daemon is started."),
|
||||
TR("Start Now"), TR("Ok")))->Go();
|
||||
|
||||
if (start == 0) {
|
||||
result = be_roster->Launch("application/x-vnd.Be-POST");
|
||||
@ -2661,7 +2640,7 @@ ErrorExit:
|
||||
"Possibly useful error code: %s (%ld).",
|
||||
filePath.Path(), CommandWord, strerror (errorCode), errorCode);
|
||||
(new BAlert("", errorString,
|
||||
MDR_DIALECT_CHOICE("OK","了解")))->Go();
|
||||
TR("OK")))->Go();
|
||||
return errorCode;
|
||||
}
|
||||
|
||||
@ -2956,7 +2935,7 @@ TMailWindow::_RebuildQueryMenu(bool firstTime)
|
||||
delete item;
|
||||
}
|
||||
|
||||
fQueryMenu->AddItem(new BMenuItem(MDR_DIALECT_CHOICE("Edit Queries" B_UTF8_ELLIPSIS,"???" B_UTF8_ELLIPSIS),
|
||||
fQueryMenu->AddItem(new BMenuItem(TR("Edit Queries" B_UTF8_ELLIPSIS),
|
||||
new BMessage(M_EDIT_QUERIES), 'E', B_SHIFT_KEY));
|
||||
|
||||
bool queryItemsAdded = false;
|
||||
@ -3123,12 +3102,10 @@ TMailWindow::_AddReadButton()
|
||||
int32 buttonIndex = fButtonBar->IndexOf(fNextButton);
|
||||
if (newMail)
|
||||
fReadButton = fButtonBar->AddButton(
|
||||
MDR_DIALECT_CHOICE (" Read ", " Read "), 24,
|
||||
new BMessage(M_READ), buttonIndex);
|
||||
TR(" Read "), 24, new BMessage(M_READ), buttonIndex);
|
||||
else
|
||||
fReadButton = fButtonBar->AddButton(
|
||||
MDR_DIALECT_CHOICE ("Unread", "Unread"), 28,
|
||||
new BMessage(M_UNREAD), buttonIndex);
|
||||
TR("Unread"), 28, new BMessage(M_UNREAD), buttonIndex);
|
||||
}
|
||||
|
||||
|
||||
|
@ -50,7 +50,6 @@ All rights reserved.
|
||||
|
||||
#include <MailSettings.h>
|
||||
#include <mail_encoding.h>
|
||||
#include <MDRLanguage.h>
|
||||
|
||||
#include <String.h>
|
||||
#include <CharacterSet.h>
|
||||
@ -62,38 +61,20 @@ using namespace BPrivate;
|
||||
#include "MailSupport.h"
|
||||
#include "MailWindow.h"
|
||||
#include "Messages.h"
|
||||
#include "Signature.h"
|
||||
|
||||
|
||||
#define TR_CONTEXT "Mail"
|
||||
|
||||
#define BUTTON_WIDTH 70
|
||||
#define BUTTON_HEIGHT 20
|
||||
#define ITEM_SPACE 6
|
||||
|
||||
#define FONT_TEXT MDR_DIALECT_CHOICE ("Font:", "フォント:")
|
||||
#define SIZE_TEXT MDR_DIALECT_CHOICE ("Size:", "サイズ:")
|
||||
#define LEVEL_TEXT MDR_DIALECT_CHOICE ("User Level:", "ユーザーレベル:")
|
||||
#define WRAP_TEXT MDR_DIALECT_CHOICE ("Text Wrapping:", "テキスト・ラップ:")
|
||||
#define ATTACH_ATTRIBUTES_TEXT MDR_DIALECT_CHOICE ("Attach Attributes:", "ファイル属性情報:")
|
||||
#define QUOTES_TEXT MDR_DIALECT_CHOICE ("Colored Quotes:", "引用部分の着色:")
|
||||
#define ACCOUNT_TEXT MDR_DIALECT_CHOICE ("Default Account:", "標準アカウント:")
|
||||
#define REPLYTO_TEXT MDR_DIALECT_CHOICE ("Reply Account:", "返信用アカウント:")
|
||||
#define REPLYTO_USE_DEFAULT_TEXT MDR_DIALECT_CHOICE ("Use Default Account", "標準アカウントを使う")
|
||||
#define REPLYTO_FROM_MAIL_TEXT MDR_DIALECT_CHOICE ("Account From Mail", "メールのアカウントを使う")
|
||||
#define REPLY_PREAMBLE_TEXT MDR_DIALECT_CHOICE ("Reply Preamble:", "返信へ追加:")
|
||||
#define SIGNATURE_TEXT MDR_DIALECT_CHOICE ("Auto Signature:", "自動署名:")
|
||||
#define ENCODING_TEXT MDR_DIALECT_CHOICE ("Encoding:", "エンコード形式:")
|
||||
#define WARN_UNENCODABLE_TEXT MDR_DIALECT_CHOICE ("Warn Unencodable:", "警告: エンコードできません")
|
||||
#define SPELL_CHECK_START_ON_TEXT MDR_DIALECT_CHOICE ("Initial Spell Check Mode:", "編集時スペルチェック:")
|
||||
#define AUTO_MARK_READ_TEXT MDR_DIALECT_CHOICE ("Automatically mark mail as read:", "Automatically mark mail as read:")
|
||||
|
||||
#define BUTTONBAR_TEXT MDR_DIALECT_CHOICE ("Button Bar:", "ボタンバー:")
|
||||
|
||||
#define OK_BUTTON_X1 (PREF_WIDTH - BUTTON_WIDTH - 6)
|
||||
#define OK_BUTTON_X2 (OK_BUTTON_X1 + BUTTON_WIDTH)
|
||||
#define OK_BUTTON_TEXT MDR_DIALECT_CHOICE ("OK", "設定")
|
||||
#define CANCEL_BUTTON_TEXT MDR_DIALECT_CHOICE ("Cancel", "中止")
|
||||
|
||||
#define REVERT_BUTTON_X1 8
|
||||
#define REVERT_BUTTON_X2 (REVERT_BUTTON_X1 + BUTTON_WIDTH)
|
||||
#define REVERT_BUTTON_TEXT MDR_DIALECT_CHOICE ("Revert", "復元")
|
||||
|
||||
enum P_MESSAGES {P_OK = 128, P_CANCEL, P_REVERT, P_FONT,
|
||||
P_SIZE, P_LEVEL, P_WRAP, P_ATTACH_ATTRIBUTES,
|
||||
@ -102,16 +83,8 @@ enum P_MESSAGES {P_OK = 128, P_CANCEL, P_REVERT, P_FONT,
|
||||
P_ACCOUNT, P_REPLYTO, P_REPLY_PREAMBLE,
|
||||
P_COLORED_QUOTES, P_MARK_READ};
|
||||
|
||||
#define ICON_LABEL_TEXT MDR_DIALECT_CHOICE ("Show Icons & Labels", "アイコンとラベル")
|
||||
#define ICON_TEXT MDR_DIALECT_CHOICE ("Show Icons Only", "アイコンのみ")
|
||||
#define HIDE_TEXT MDR_DIALECT_CHOICE ("Hide", "隠す")
|
||||
|
||||
|
||||
extern BPoint prefs_window;
|
||||
|
||||
#define ATTRIBUTE_ON_TEXT MDR_DIALECT_CHOICE ("Include BeOS Attributes in Attachments", "BeOSの属性を付ける")
|
||||
#define ATTRIBUTE_OFF_TEXT MDR_DIALECT_CHOICE ("No BeOS Attributes, just Plain Data", "BeOSの属性を付けない(データのみ)")
|
||||
|
||||
//#pragma mark -
|
||||
|
||||
|
||||
@ -140,11 +113,11 @@ TPrefsWindow::TPrefsWindow(BRect rect, BFont* font, int32* level, bool* wrap,
|
||||
bool* spellCheckStartOn, bool* autoMarkRead, uint8* buttonBar)
|
||||
:
|
||||
#if USE_LAYOUT_MANAGEMENT
|
||||
BWindow(rect, MDR_DIALECT_CHOICE ("Mail Preferences", "Mailの設定"),
|
||||
BWindow(rect, TR("Mail Preferences"),
|
||||
B_TITLED_WINDOW, B_NOT_RESIZABLE | B_NOT_ZOOMABLE
|
||||
| B_AUTO_UPDATE_SIZE_LIMITS),
|
||||
#else
|
||||
BWindow(rect, MDR_DIALECT_CHOICE ("Mail Preferences", "Mailの設定"),
|
||||
BWindow(rect, TR("Mail Preferences"),
|
||||
B_TITLED_WINDOW, B_NOT_RESIZABLE | B_NOT_ZOOMABLE),
|
||||
#endif
|
||||
|
||||
@ -205,20 +178,19 @@ TPrefsWindow::TPrefsWindow(BRect rect, BFont* font, int32* level, bool* wrap,
|
||||
interfaceLayout->AlignLayoutWith(mailLayout, B_HORIZONTAL);
|
||||
|
||||
BBox* interfaceBox = new BBox(B_FANCY_BORDER, interfaceView);
|
||||
interfaceBox->SetLabel(MDR_DIALECT_CHOICE ("User Interface",
|
||||
"ユーザーインターフェース"));
|
||||
interfaceBox->SetLabel(TR("User Interface"));
|
||||
BBox* mailBox = new BBox(B_FANCY_BORDER, mailView);
|
||||
mailBox->SetLabel(MDR_DIALECT_CHOICE ("Mailing", "メール関係"));
|
||||
mailBox->SetLabel(TR("Mailing"));
|
||||
|
||||
// revert, ok & cancel
|
||||
|
||||
BButton* okButton = new BButton("ok", OK_BUTTON_TEXT, new BMessage(P_OK));
|
||||
BButton* okButton = new BButton("ok", TR("OK"), new BMessage(P_OK));
|
||||
okButton->MakeDefault(true);
|
||||
|
||||
BButton* cancelButton = new BButton("cancel", CANCEL_BUTTON_TEXT,
|
||||
BButton* cancelButton = new BButton("cancel", TR("Cancel"),
|
||||
new BMessage(P_CANCEL));
|
||||
|
||||
fRevert = new BButton("revert", REVERT_BUTTON_TEXT,
|
||||
fRevert = new BButton("revert", TR("Revert"),
|
||||
new BMessage(P_REVERT));
|
||||
fRevert->SetEnabled(false);
|
||||
|
||||
@ -226,45 +198,47 @@ TPrefsWindow::TPrefsWindow(BRect rect, BFont* font, int32* level, bool* wrap,
|
||||
int32 layoutRow = 0;
|
||||
|
||||
fButtonBarMenu = _BuildButtonBarMenu(*buttonBar);
|
||||
menu = new BMenuField("bar", BUTTONBAR_TEXT, fButtonBarMenu, NULL);
|
||||
menu = new BMenuField("bar", TR("Button Bar:"), fButtonBarMenu, NULL);
|
||||
add_menu_to_layout(menu, interfaceLayout, layoutRow);
|
||||
|
||||
fFontMenu = _BuildFontMenu(font);
|
||||
menu = new BMenuField("font", FONT_TEXT, fFontMenu, NULL);
|
||||
menu = new BMenuField("font", TR("Font:"), fFontMenu, NULL);
|
||||
add_menu_to_layout(menu, interfaceLayout, layoutRow);
|
||||
|
||||
fSizeMenu = _BuildSizeMenu(font);
|
||||
menu = new BMenuField("size", SIZE_TEXT, fSizeMenu, NULL);
|
||||
menu = new BMenuField("size", TR("Size:"), fSizeMenu, NULL);
|
||||
add_menu_to_layout(menu, interfaceLayout, layoutRow);
|
||||
|
||||
fColoredQuotesMenu = _BuildColoredQuotesMenu(fColoredQuotes);
|
||||
menu = new BMenuField("cquotes", QUOTES_TEXT, fColoredQuotesMenu, NULL);
|
||||
menu = new BMenuField("cquotes", TR("Colored Quotes:"), fColoredQuotesMenu,
|
||||
NULL);
|
||||
add_menu_to_layout(menu, interfaceLayout, layoutRow);
|
||||
|
||||
fSpellCheckStartOnMenu = _BuildSpellCheckStartOnMenu(fSpellCheckStartOn);
|
||||
menu = new BMenuField("spellCheckStartOn", SPELL_CHECK_START_ON_TEXT,
|
||||
menu = new BMenuField("spellCheckStartOn", TR("Initial Spell Check Mode:"),
|
||||
fSpellCheckStartOnMenu, NULL);
|
||||
add_menu_to_layout(menu, interfaceLayout, layoutRow);
|
||||
|
||||
fAutoMarkReadMenu = _BuildAutoMarkReadMenu(fAutoMarkRead);
|
||||
menu = new BMenuField("autoMarkRead", AUTO_MARK_READ_TEXT,
|
||||
fAutoMarkReadMenu, NULL);
|
||||
menu = new BMenuField("autoMarkRead",
|
||||
TR("Automatically mark mail as read:"), fAutoMarkReadMenu, NULL);
|
||||
add_menu_to_layout(menu, interfaceLayout, layoutRow);
|
||||
// Mail Accounts
|
||||
|
||||
layoutRow = 0;
|
||||
|
||||
fAccountMenu = _BuildAccountMenu(fAccount);
|
||||
menu = new BMenuField("account", ACCOUNT_TEXT, fAccountMenu, NULL);
|
||||
menu = new BMenuField("account", TR("Default Account:"), fAccountMenu,
|
||||
NULL);
|
||||
add_menu_to_layout(menu, mailLayout, layoutRow);
|
||||
|
||||
fReplyToMenu = _BuildReplyToMenu(fReplyTo);
|
||||
menu = new BMenuField("replyTo", REPLYTO_TEXT, fReplyToMenu, NULL);
|
||||
menu = new BMenuField("replyTo", TR("Reply Account:"), fReplyToMenu, NULL);
|
||||
add_menu_to_layout(menu, mailLayout, layoutRow);
|
||||
|
||||
// Mail Contents
|
||||
|
||||
fReplyPreamble = new BTextControl("replytext", REPLY_PREAMBLE_TEXT,
|
||||
fReplyPreamble = new BTextControl("replytext", TR("Reply Preamble:"),
|
||||
*preamble, new BMessage(P_REPLY_PREAMBLE));
|
||||
fReplyPreamble->SetAlignment(B_ALIGN_RIGHT, B_ALIGN_LEFT);
|
||||
|
||||
@ -279,24 +253,24 @@ TPrefsWindow::TPrefsWindow(BRect rect, BFont* font, int32* level, bool* wrap,
|
||||
layoutRow++;
|
||||
|
||||
fSignatureMenu = _BuildSignatureMenu(*sig);
|
||||
menu = new BMenuField("sig", SIGNATURE_TEXT, fSignatureMenu, NULL);
|
||||
menu = new BMenuField("sig", TR("Auto Signature:"), fSignatureMenu, NULL);
|
||||
add_menu_to_layout(menu, mailLayout, layoutRow);
|
||||
|
||||
fEncodingMenu = _BuildEncodingMenu(fEncoding);
|
||||
menu = new BMenuField("enc", ENCODING_TEXT, fEncodingMenu, NULL);
|
||||
menu = new BMenuField("enc", TR("Encoding:"), fEncodingMenu, NULL);
|
||||
add_menu_to_layout(menu, mailLayout, layoutRow);
|
||||
|
||||
fWarnUnencodableMenu = _BuildWarnUnencodableMenu(fWarnUnencodable);
|
||||
menu = new BMenuField("warnUnencodable", WARN_UNENCODABLE_TEXT,
|
||||
menu = new BMenuField("warnUnencodable", TR("Warn Unencodable:"),
|
||||
fWarnUnencodableMenu, NULL);
|
||||
add_menu_to_layout(menu, mailLayout, layoutRow);
|
||||
|
||||
fWrapMenu = _BuildWrapMenu(*wrap);
|
||||
menu = new BMenuField("wrap", WRAP_TEXT, fWrapMenu, NULL);
|
||||
menu = new BMenuField("wrap", TR("Text wrapping:"), fWrapMenu, NULL);
|
||||
add_menu_to_layout(menu, mailLayout, layoutRow);
|
||||
|
||||
fAttachAttributesMenu = _BuildAttachAttributesMenu(*attachAttributes);
|
||||
menu = new BMenuField("attachAttributes", ATTACH_ATTRIBUTES_TEXT,
|
||||
menu = new BMenuField("attachAttributes", TR("Attach Attributes:"),
|
||||
fAttachAttributesMenu, NULL);
|
||||
add_menu_to_layout(menu, mailLayout, layoutRow);
|
||||
|
||||
@ -328,21 +302,20 @@ TPrefsWindow::TPrefsWindow(BRect rect, BFont* font, int32* level, bool* wrap,
|
||||
view->GetFontHeight(&fontHeight);
|
||||
int32 height = (int32)(fontHeight.ascent + fontHeight.descent
|
||||
+ fontHeight.leading) + 6;
|
||||
int32 labelWidth = (int32)view->StringWidth(SPELL_CHECK_START_ON_TEXT)
|
||||
int32 labelWidth = (int32)view->StringWidth(TR("Initial Spell Check Mode:"))
|
||||
+ SEPARATOR_MARGIN;
|
||||
|
||||
// group boxes
|
||||
|
||||
r.Set(8, 4, Bounds().right - 8, 4 + 6 * (height + ITEM_SPACE));
|
||||
BBox* interfaceBox = new BBox(r , NULL,B_FOLLOW_LEFT_RIGHT | B_FOLLOW_TOP);
|
||||
interfaceBox->SetLabel(MDR_DIALECT_CHOICE ("User Interface",
|
||||
"ユーザーインターフェース"));
|
||||
interfaceBox->SetLabel(TR("User Interface"));
|
||||
view->AddChild(interfaceBox);
|
||||
|
||||
r.top = r.bottom + 8;
|
||||
r.bottom = r.top + 9 * (height + ITEM_SPACE);
|
||||
BBox* mailBox = new BBox(r,NULL,B_FOLLOW_LEFT_RIGHT | B_FOLLOW_TOP);
|
||||
mailBox->SetLabel(MDR_DIALECT_CHOICE ("Mailing", "メール関係"));
|
||||
mailBox->SetLabel(TR("Mailing"));
|
||||
view->AddChild(mailBox);
|
||||
|
||||
// revert, ok & cancel
|
||||
@ -351,17 +324,17 @@ TPrefsWindow::TPrefsWindow(BRect rect, BFont* font, int32* level, bool* wrap,
|
||||
r.bottom = r.top + height;
|
||||
r.left = OK_BUTTON_X1;
|
||||
r.right = OK_BUTTON_X2;
|
||||
BButton* button = new BButton(r, "ok", OK_BUTTON_TEXT, new BMessage(P_OK));
|
||||
BButton* button = new BButton(r, "ok", TR("OK"), new BMessage(P_OK));
|
||||
button->MakeDefault(true);
|
||||
view->AddChild(button);
|
||||
|
||||
r.OffsetBy(-(OK_BUTTON_X2 - OK_BUTTON_X1 + 10), 0);
|
||||
button = new BButton(r, "cancel", CANCEL_BUTTON_TEXT,
|
||||
button = new BButton(r, "cancel", TR("Cancel"),
|
||||
new BMessage(P_CANCEL));
|
||||
view->AddChild(button);
|
||||
|
||||
r.left = REVERT_BUTTON_X1; r.right = REVERT_BUTTON_X2;
|
||||
fRevert = new BButton(r, "revert", REVERT_BUTTON_TEXT,
|
||||
fRevert = new BButton(r, "revert", TR("Revert"),
|
||||
new BMessage(P_REVERT));
|
||||
fRevert->SetEnabled(false);
|
||||
view->AddChild(fRevert);
|
||||
@ -374,7 +347,7 @@ TPrefsWindow::TPrefsWindow(BRect rect, BFont* font, int32* level, bool* wrap,
|
||||
r.top = height;
|
||||
r.bottom = r.top + height - 3;
|
||||
fButtonBarMenu = _BuildButtonBarMenu(*buttonBar);
|
||||
menu = new BMenuField(r, "bar", BUTTONBAR_TEXT, fButtonBarMenu,
|
||||
menu = new BMenuField(r, "bar", TR("Button Bar:"), fButtonBarMenu,
|
||||
B_FOLLOW_ALL, B_WILL_DRAW | B_NAVIGABLE | B_NAVIGABLE_JUMP);
|
||||
menu->SetDivider(labelWidth);
|
||||
menu->SetAlignment(B_ALIGN_RIGHT);
|
||||
@ -382,7 +355,7 @@ TPrefsWindow::TPrefsWindow(BRect rect, BFont* font, int32* level, bool* wrap,
|
||||
|
||||
r.OffsetBy(0, height + ITEM_SPACE);
|
||||
fFontMenu = _BuildFontMenu(font);
|
||||
menu = new BMenuField(r, "font", FONT_TEXT, fFontMenu,
|
||||
menu = new BMenuField(r, "font", TR("Font:"), fFontMenu,
|
||||
B_FOLLOW_ALL, B_WILL_DRAW | B_NAVIGABLE | B_NAVIGABLE_JUMP);
|
||||
menu->SetDivider(labelWidth);
|
||||
menu->SetAlignment(B_ALIGN_RIGHT);
|
||||
@ -390,7 +363,7 @@ TPrefsWindow::TPrefsWindow(BRect rect, BFont* font, int32* level, bool* wrap,
|
||||
|
||||
r.OffsetBy(0, height + ITEM_SPACE);
|
||||
fSizeMenu = _BuildSizeMenu(font);
|
||||
menu = new BMenuField(r, "size", SIZE_TEXT, fSizeMenu,
|
||||
menu = new BMenuField(r, "size", TR("Size:"), fSizeMenu,
|
||||
B_FOLLOW_ALL, B_WILL_DRAW | B_NAVIGABLE | B_NAVIGABLE_JUMP);
|
||||
menu->SetDivider(labelWidth);
|
||||
menu->SetAlignment(B_ALIGN_RIGHT);
|
||||
@ -398,16 +371,17 @@ TPrefsWindow::TPrefsWindow(BRect rect, BFont* font, int32* level, bool* wrap,
|
||||
|
||||
r.OffsetBy(0, height + ITEM_SPACE);
|
||||
fColoredQuotesMenu = _BuildColoredQuotesMenu(fColoredQuotes);
|
||||
menu = new BMenuField(r, "cquotes", QUOTES_TEXT, fColoredQuotesMenu,
|
||||
B_FOLLOW_ALL, B_WILL_DRAW | B_NAVIGABLE | B_NAVIGABLE_JUMP);
|
||||
menu = new BMenuField(r, "cquotes", TR("Colored Quotes:"),
|
||||
fColoredQuotesMenu, B_FOLLOW_ALL,
|
||||
B_WILL_DRAW | B_NAVIGABLE | B_NAVIGABLE_JUMP);
|
||||
menu->SetDivider(labelWidth);
|
||||
menu->SetAlignment(B_ALIGN_RIGHT);
|
||||
interfaceBox->AddChild(menu);
|
||||
|
||||
r.OffsetBy(0, height + ITEM_SPACE);
|
||||
fSpellCheckStartOnMenu = _BuildSpellCheckStartOnMenu(fSpellCheckStartOn);
|
||||
menu = new BMenuField(r, "spellCheckStartOn", SPELL_CHECK_START_ON_TEXT,
|
||||
fSpellCheckStartOnMenu, B_FOLLOW_ALL,
|
||||
menu = new BMenuField(r, "spellCheckStartOn",
|
||||
TR("Initial Spell Check Mode:"), fSpellCheckStartOnMenu, B_FOLLOW_ALL,
|
||||
B_WILL_DRAW | B_NAVIGABLE | B_NAVIGABLE_JUMP);
|
||||
menu->SetDivider(labelWidth);
|
||||
menu->SetAlignment(B_ALIGN_RIGHT);
|
||||
@ -415,8 +389,8 @@ TPrefsWindow::TPrefsWindow(BRect rect, BFont* font, int32* level, bool* wrap,
|
||||
|
||||
r.OffsetBy(0, height + ITEM_SPACE);
|
||||
fAutoMarkReadMenu = _BuildAutoMarkReadMenu(fAutoMarkRead);
|
||||
menu = new BMenuField("autoMarkRead", AUTO_MARK_READ_TEXT,
|
||||
fAutoMarkReadMenu, NULL);
|
||||
menu = new BMenuField("autoMarkRead",
|
||||
TR("Automatically mark mail as read:"), fAutoMarkReadMenu, NULL);
|
||||
menu->SetDivider(labelWidth);
|
||||
menu->SetAlignment(B_ALIGN_RIGHT);
|
||||
interfaceBox->AddChild(menu);
|
||||
@ -429,7 +403,7 @@ TPrefsWindow::TPrefsWindow(BRect rect, BFont* font, int32* level, bool* wrap,
|
||||
r.top = height;
|
||||
r.bottom = r.top + height - 3;
|
||||
fAccountMenu = _BuildAccountMenu(fAccount);
|
||||
menu = new BMenuField(r, "account", ACCOUNT_TEXT, fAccountMenu,
|
||||
menu = new BMenuField(r, "account", TR("Default Account:"), fAccountMenu,
|
||||
B_FOLLOW_ALL, B_WILL_DRAW | B_NAVIGABLE | B_NAVIGABLE_JUMP);
|
||||
menu->SetDivider(labelWidth);
|
||||
menu->SetAlignment(B_ALIGN_RIGHT);
|
||||
@ -437,7 +411,7 @@ TPrefsWindow::TPrefsWindow(BRect rect, BFont* font, int32* level, bool* wrap,
|
||||
|
||||
r.OffsetBy(0, height + ITEM_SPACE);
|
||||
fReplyToMenu = _BuildReplyToMenu(fReplyTo);
|
||||
menu = new BMenuField(r, "replyTo", REPLYTO_TEXT, fReplyToMenu,
|
||||
menu = new BMenuField(r, "replyTo", TR("Reply Account:"), fReplyToMenu,
|
||||
B_FOLLOW_ALL, B_WILL_DRAW | B_NAVIGABLE | B_NAVIGABLE_JUMP);
|
||||
menu->SetDivider(labelWidth);
|
||||
menu->SetAlignment(B_ALIGN_RIGHT);
|
||||
@ -447,7 +421,7 @@ TPrefsWindow::TPrefsWindow(BRect rect, BFont* font, int32* level, bool* wrap,
|
||||
|
||||
r.OffsetBy(0, height + ITEM_SPACE);
|
||||
r.right -= 25;
|
||||
fReplyPreamble = new BTextControl(r, "replytext", REPLY_PREAMBLE_TEXT,
|
||||
fReplyPreamble = new BTextControl(r, "replytext", TR("Reply Preamble:"),
|
||||
*preamble, new BMessage(P_REPLY_PREAMBLE), B_FOLLOW_ALL,
|
||||
B_WILL_DRAW | B_NAVIGABLE);
|
||||
fReplyPreamble->SetDivider(labelWidth);
|
||||
@ -467,7 +441,7 @@ TPrefsWindow::TPrefsWindow(BRect rect, BFont* font, int32* level, bool* wrap,
|
||||
|
||||
r.OffsetBy(0, height + ITEM_SPACE);
|
||||
fSignatureMenu = _BuildSignatureMenu(*sig);
|
||||
menu = new BMenuField(r, "sig", SIGNATURE_TEXT, fSignatureMenu,
|
||||
menu = new BMenuField(r, "sig", TR("Auto Signature:"), fSignatureMenu,
|
||||
B_FOLLOW_ALL, B_WILL_DRAW | B_NAVIGABLE | B_NAVIGABLE_JUMP);
|
||||
menu->SetDivider(labelWidth);
|
||||
menu->SetAlignment(B_ALIGN_RIGHT);
|
||||
@ -475,7 +449,7 @@ TPrefsWindow::TPrefsWindow(BRect rect, BFont* font, int32* level, bool* wrap,
|
||||
|
||||
r.OffsetBy(0, height + ITEM_SPACE);
|
||||
fEncodingMenu = _BuildEncodingMenu(fEncoding);
|
||||
menu = new BMenuField(r, "enc", ENCODING_TEXT, fEncodingMenu,
|
||||
menu = new BMenuField(r, "enc", TR("Encoding:"), fEncodingMenu,
|
||||
B_FOLLOW_ALL, B_WILL_DRAW | B_NAVIGABLE | B_NAVIGABLE_JUMP);
|
||||
menu->SetDivider(labelWidth);
|
||||
menu->SetAlignment(B_ALIGN_RIGHT);
|
||||
@ -483,7 +457,7 @@ TPrefsWindow::TPrefsWindow(BRect rect, BFont* font, int32* level, bool* wrap,
|
||||
|
||||
r.OffsetBy(0, height + ITEM_SPACE);
|
||||
fWarnUnencodableMenu = _BuildWarnUnencodableMenu(fWarnUnencodable);
|
||||
menu = new BMenuField(r, "warnUnencodable", WARN_UNENCODABLE_TEXT,
|
||||
menu = new BMenuField(r, "warnUnencodable", TR("Warn Unencodable:"),
|
||||
fWarnUnencodableMenu, B_FOLLOW_ALL,
|
||||
B_WILL_DRAW | B_NAVIGABLE | B_NAVIGABLE_JUMP);
|
||||
menu->SetDivider(labelWidth);
|
||||
@ -492,15 +466,15 @@ TPrefsWindow::TPrefsWindow(BRect rect, BFont* font, int32* level, bool* wrap,
|
||||
|
||||
r.OffsetBy(0, height + ITEM_SPACE);
|
||||
fWrapMenu = _BuildWrapMenu(*wrap);
|
||||
menu = new BMenuField(r, "wrap", WRAP_TEXT, fWrapMenu, B_FOLLOW_ALL,
|
||||
B_WILL_DRAW | B_NAVIGABLE | B_NAVIGABLE_JUMP);
|
||||
menu = new BMenuField(r, "wrap", TR("Text wrapping:"), fWrapMenu,
|
||||
B_FOLLOW_ALL, B_WILL_DRAW | B_NAVIGABLE | B_NAVIGABLE_JUMP);
|
||||
menu->SetDivider(labelWidth);
|
||||
menu->SetAlignment(B_ALIGN_RIGHT);
|
||||
mailBox->AddChild(menu);
|
||||
|
||||
r.OffsetBy(0, height + ITEM_SPACE);
|
||||
fAttachAttributesMenu = _BuildAttachAttributesMenu(*attachAttributes);
|
||||
menu = new BMenuField(r, "attachAttributes", ATTACH_ATTRIBUTES_TEXT,
|
||||
menu = new BMenuField(r, "attachAttributes", TR("Attach Attributes:"),
|
||||
fAttachAttributesMenu, B_FOLLOW_ALL,
|
||||
B_WILL_DRAW | B_NAVIGABLE | B_NAVIGABLE_JUMP);
|
||||
menu->SetDivider(labelWidth);
|
||||
@ -610,7 +584,7 @@ TPrefsWindow::MessageReceived(BMessage* msg)
|
||||
}
|
||||
|
||||
strcpy(label,fReplyTo == ACCOUNT_USE_DEFAULT
|
||||
? REPLYTO_USE_DEFAULT_TEXT : REPLYTO_FROM_MAIL_TEXT);
|
||||
? TR("Use Default Account") : TR("Account From Mail"));
|
||||
if ((item = fReplyToMenu->FindItem(label)) != NULL)
|
||||
item->SetMarked(true);
|
||||
|
||||
@ -619,7 +593,8 @@ TPrefsWindow::MessageReceived(BMessage* msg)
|
||||
item->SetMarked(true);
|
||||
|
||||
strcpy(label, fAttachAttributes
|
||||
? ATTRIBUTE_ON_TEXT : ATTRIBUTE_OFF_TEXT);
|
||||
? TR("Include BeOS Attributes in Attachments")
|
||||
: TR("No BeOS Attributes, just Plain Data"));
|
||||
if ((item = fAttachAttributesMenu->FindItem(label)) != NULL)
|
||||
item->SetMarked(true);
|
||||
|
||||
@ -721,8 +696,8 @@ TPrefsWindow::MessageReceived(BMessage* msg)
|
||||
*fNewSignature = (char*)malloc(strlen(signature) + 1);
|
||||
strcpy(*fNewSignature, signature);
|
||||
} else {
|
||||
*fNewSignature = (char *)malloc(strlen(SIG_NONE) + 1);
|
||||
strcpy(*fNewSignature, SIG_NONE);
|
||||
*fNewSignature = (char*)malloc(strlen(TR("None")) + 1);
|
||||
strcpy(*fNewSignature, TR("None"));
|
||||
}
|
||||
break;
|
||||
case P_ENC:
|
||||
@ -834,15 +809,13 @@ TPrefsWindow::_BuildLevelMenu(int32 level)
|
||||
menu = new BPopUpMenu("");
|
||||
msg = new BMessage(P_LEVEL);
|
||||
msg->AddInt32("level", L_BEGINNER);
|
||||
menu->AddItem(item = new BMenuItem(MDR_DIALECT_CHOICE ("Beginner","初心者"),
|
||||
msg));
|
||||
menu->AddItem(item = new BMenuItem(TR("Beginner"), msg));
|
||||
if (level == L_BEGINNER)
|
||||
item->SetMarked(true);
|
||||
|
||||
msg = new BMessage(P_LEVEL);
|
||||
msg->AddInt32("level", L_EXPERT);
|
||||
menu->AddItem(item = new BMenuItem(MDR_DIALECT_CHOICE ("Expert","上級者"),
|
||||
msg));
|
||||
menu->AddItem(item = new BMenuItem(TR("Expert"), msg));
|
||||
if (level == L_EXPERT)
|
||||
item->SetMarked(true);
|
||||
|
||||
@ -888,13 +861,13 @@ TPrefsWindow::_BuildReplyToMenu(int32 account)
|
||||
|
||||
BMenuItem* item;
|
||||
BMessage* msg;
|
||||
menu->AddItem(item = new BMenuItem(REPLYTO_USE_DEFAULT_TEXT,
|
||||
menu->AddItem(item = new BMenuItem(TR("Use Default Account"),
|
||||
msg = new BMessage(P_REPLYTO)));
|
||||
msg->AddInt32("replyTo", ACCOUNT_USE_DEFAULT);
|
||||
if (account == ACCOUNT_USE_DEFAULT)
|
||||
item->SetMarked(true);
|
||||
|
||||
menu->AddItem(item = new BMenuItem(REPLYTO_FROM_MAIL_TEXT,
|
||||
menu->AddItem(item = new BMenuItem(TR("Account From Mail"),
|
||||
msg = new BMessage(P_REPLYTO)));
|
||||
msg->AddInt32("replyTo", ACCOUNT_FROM_MAIL);
|
||||
if (account == ACCOUNT_FROM_MAIL)
|
||||
@ -912,11 +885,11 @@ TPrefsWindow::_BuildReplyPreambleMenu()
|
||||
"%f - First name",
|
||||
"%l - Last name",
|
||||
*/
|
||||
MDR_DIALECT_CHOICE ("%n - Full name", "%n - フルネーム"),
|
||||
MDR_DIALECT_CHOICE ("%e - E-mail address", "%e - E-mailアドレス"),
|
||||
MDR_DIALECT_CHOICE ("%d - Date", "%d - 日付"),
|
||||
TR("%n - Full name"),
|
||||
TR("%e - E-mail address"),
|
||||
TR("%d - Date"),
|
||||
"",
|
||||
MDR_DIALECT_CHOICE ("\\n - Newline", "\\n - 空行"),
|
||||
TR("\\n - Newline"),
|
||||
NULL
|
||||
};
|
||||
|
||||
@ -950,15 +923,15 @@ TPrefsWindow::_BuildSignatureMenu(char* sig)
|
||||
BPopUpMenu* menu = new BPopUpMenu("");
|
||||
|
||||
msg = new BMessage(P_SIG);
|
||||
msg->AddString("signature", SIG_NONE);
|
||||
menu->AddItem(item = new BMenuItem(SIG_NONE, msg));
|
||||
if (!strcmp(sig, SIG_NONE))
|
||||
msg->AddString("signature", TR("None"));
|
||||
menu->AddItem(item = new BMenuItem(TR("None"), msg));
|
||||
if (!strcmp(sig, TR("None")))
|
||||
item->SetMarked(true);
|
||||
|
||||
msg = new BMessage(P_SIG);
|
||||
msg->AddString("signature", SIG_RANDOM);
|
||||
menu->AddItem(item = new BMenuItem(SIG_RANDOM, msg));
|
||||
if (!strcmp(sig, SIG_RANDOM))
|
||||
msg->AddString("signature", TR("Random"));
|
||||
menu->AddItem(item = new BMenuItem(TR("Random"), msg));
|
||||
if (!strcmp(sig, TR("Random")))
|
||||
item->SetMarked(true);
|
||||
menu->AddSeparatorItem();
|
||||
|
||||
@ -1048,13 +1021,15 @@ TPrefsWindow::_BuildAttachAttributesMenu(bool attachAttributes)
|
||||
menu = new BPopUpMenu("");
|
||||
msg = new BMessage(P_ATTACH_ATTRIBUTES);
|
||||
msg->AddBool("attachAttributes", true);
|
||||
menu->AddItem(item = new BMenuItem(ATTRIBUTE_ON_TEXT, msg));
|
||||
menu->AddItem(item = new BMenuItem(
|
||||
TR("Include BeOS Attributes in Attachments"), msg));
|
||||
if (attachAttributes)
|
||||
item->SetMarked(true);
|
||||
|
||||
msg = new BMessage(P_ATTACH_ATTRIBUTES);
|
||||
msg->AddInt32("attachAttributes", false);
|
||||
menu->AddItem(item = new BMenuItem(ATTRIBUTE_OFF_TEXT, msg));
|
||||
menu->AddItem(item = new BMenuItem(
|
||||
TR("No BeOS Attributes, just Plain Data"), msg));
|
||||
if (!attachAttributes)
|
||||
item->SetMarked(true);
|
||||
|
||||
@ -1140,19 +1115,19 @@ TPrefsWindow::_BuildButtonBarMenu(uint8 show)
|
||||
|
||||
msg = new BMessage(P_BUTTON_BAR);
|
||||
msg->AddInt8("bar", 1);
|
||||
menu->AddItem(item = new BMenuItem(ICON_LABEL_TEXT, msg));
|
||||
menu->AddItem(item = new BMenuItem(TR("Show Icons & Labels"), msg));
|
||||
if (show & 1)
|
||||
item->SetMarked(true);
|
||||
|
||||
msg = new BMessage(P_BUTTON_BAR);
|
||||
msg->AddInt8("bar", 2);
|
||||
menu->AddItem(item = new BMenuItem(ICON_TEXT, msg));
|
||||
menu->AddItem(item = new BMenuItem(TR("Show Icons Only"), msg));
|
||||
if (show & 2)
|
||||
item->SetMarked(true);
|
||||
|
||||
msg = new BMessage(P_BUTTON_BAR);
|
||||
msg->AddInt8("bar", 0);
|
||||
menu->AddItem(item = new BMenuItem(HIDE_TEXT, msg));
|
||||
menu->AddItem(item = new BMenuItem(TR("Hide"), msg));
|
||||
if (!show)
|
||||
item->SetMarked(true);
|
||||
|
||||
|
@ -50,9 +50,6 @@ class BTextControl;
|
||||
#define PREF_WIDTH 340
|
||||
#define PREF_HEIGHT 330
|
||||
|
||||
#define SIG_NONE MDR_DIALECT_CHOICE ("None", "無し")
|
||||
#define SIG_RANDOM MDR_DIALECT_CHOICE ("Random", "自動選択")
|
||||
|
||||
struct EncodingItem {
|
||||
char* name;
|
||||
uint32 flavor;
|
||||
@ -146,3 +143,4 @@ private:
|
||||
};
|
||||
|
||||
#endif /* _PREFS_H */
|
||||
|
||||
|
@ -40,6 +40,7 @@ All rights reserved.
|
||||
|
||||
#include <Clipboard.h>
|
||||
#include <InterfaceKit.h>
|
||||
#include <Locale.h>
|
||||
#include <StorageKit.h>
|
||||
|
||||
#include "MailApp.h"
|
||||
@ -48,21 +49,18 @@ All rights reserved.
|
||||
#include "MailWindow.h"
|
||||
#include "Messages.h"
|
||||
|
||||
#include <MDRLanguage.h>
|
||||
|
||||
#define TR_CONTEXT "Mail"
|
||||
|
||||
|
||||
extern BRect signature_window;
|
||||
extern const char *kUndoStrings[];
|
||||
extern const char *kRedoStrings[];
|
||||
|
||||
const char kNameText[] = MDR_DIALECT_CHOICE ("Title:", "署名の名称:");
|
||||
const char kSigText[] = MDR_DIALECT_CHOICE ("Signature:", "署名:");
|
||||
|
||||
|
||||
//====================================================================
|
||||
|
||||
TSignatureWindow::TSignatureWindow(BRect rect)
|
||||
: BWindow (rect, MDR_DIALECT_CHOICE ("Signatures","署名の編集"), B_TITLED_WINDOW, 0),
|
||||
:
|
||||
BWindow (rect, TR("Signatures"), B_TITLED_WINDOW, 0),
|
||||
fFile(NULL)
|
||||
{
|
||||
BMenu *menu;
|
||||
@ -72,27 +70,30 @@ TSignatureWindow::TSignatureWindow(BRect rect)
|
||||
BRect r = Bounds();
|
||||
/*** Set up the menus ****/
|
||||
menu_bar = new BMenuBar(r, "MenuBar");
|
||||
menu = new BMenu(MDR_DIALECT_CHOICE ("Signature","S) 署名"));
|
||||
menu->AddItem(fNew = new BMenuItem(MDR_DIALECT_CHOICE ("New","N) 新規"), new BMessage(M_NEW), 'N'));
|
||||
fSignature = new TMenu(MDR_DIALECT_CHOICE ("Open","O) 開く"), INDEX_SIGNATURE, M_SIGNATURE);
|
||||
menu = new BMenu(TR("Signature"));
|
||||
menu->AddItem(fNew = new BMenuItem(TR("New"), new BMessage(M_NEW), 'N'));
|
||||
fSignature = new TMenu(TR("Open"), INDEX_SIGNATURE, M_SIGNATURE);
|
||||
menu->AddItem(new BMenuItem(fSignature));
|
||||
menu->AddSeparatorItem();
|
||||
menu->AddItem(fSave = new BMenuItem(MDR_DIALECT_CHOICE ("Save","S) 保存"), new BMessage(M_SAVE), 'S'));
|
||||
menu->AddItem(fDelete = new BMenuItem(MDR_DIALECT_CHOICE ("Delete","T) 削除"), new BMessage(M_DELETE), 'T'));
|
||||
menu->AddItem(fSave = new BMenuItem(TR("Save"), new BMessage(M_SAVE), 'S'));
|
||||
menu->AddItem(fDelete = new BMenuItem(TR("Delete"), new BMessage(M_DELETE),
|
||||
'T'));
|
||||
menu_bar->AddItem(menu);
|
||||
|
||||
menu = new BMenu(MDR_DIALECT_CHOICE ("Edit","E) 編集"));
|
||||
menu->AddItem(fUndo = new BMenuItem(MDR_DIALECT_CHOICE ("Undo","Z) やり直し"), new BMessage(B_UNDO), 'Z'));
|
||||
menu = new BMenu(TR("Edit"));
|
||||
menu->AddItem(fUndo = new BMenuItem(TR("Undo"), new BMessage(B_UNDO), 'Z'));
|
||||
fUndo->SetTarget(NULL, this);
|
||||
menu->AddSeparatorItem();
|
||||
menu->AddItem(fCut = new BMenuItem(MDR_DIALECT_CHOICE ("Cut","X) 切り取り"), new BMessage(B_CUT), 'X'));
|
||||
menu->AddItem(fCut = new BMenuItem(TR("Cut"), new BMessage(B_CUT), 'X'));
|
||||
fCut->SetTarget(NULL, this);
|
||||
menu->AddItem(fCopy = new BMenuItem(MDR_DIALECT_CHOICE ("Copy","C) コピー"), new BMessage(B_COPY), 'C'));
|
||||
menu->AddItem(fCopy = new BMenuItem(TR("Copy"), new BMessage(B_COPY), 'C'));
|
||||
fCopy->SetTarget(NULL, this);
|
||||
menu->AddItem(fPaste = new BMenuItem(MDR_DIALECT_CHOICE ("Paste","V) 貼り付け"), new BMessage(B_PASTE), 'V'));
|
||||
menu->AddItem(fPaste = new BMenuItem(TR("Paste"), new BMessage(B_PASTE),
|
||||
'V'));
|
||||
fPaste->SetTarget(NULL, this);
|
||||
menu->AddSeparatorItem();
|
||||
menu->AddItem(item = new BMenuItem(MDR_DIALECT_CHOICE ("Select All","A) 全文選択"), new BMessage(M_SELECT), 'A'));
|
||||
menu->AddItem(item = new BMenuItem(TR("Select All"), new BMessage(M_SELECT),
|
||||
'A'));
|
||||
item->SetTarget(NULL, this);
|
||||
menu_bar->AddItem(menu);
|
||||
|
||||
@ -187,11 +188,9 @@ TSignatureWindow::MessageReceived(BMessage* msg)
|
||||
break;
|
||||
|
||||
case M_DELETE:
|
||||
if (!(new BAlert("",MDR_DIALECT_CHOICE (
|
||||
"Really delete this signature? This cannot be undone.",
|
||||
"この署名を削除しますか?"),
|
||||
MDR_DIALECT_CHOICE ("Cancel","取消l"),
|
||||
MDR_DIALECT_CHOICE ("Delete","削除"), NULL, B_WIDTH_AS_USUAL,
|
||||
if (!(new BAlert("",
|
||||
TR("Really delete this signature? This cannot be undone."),
|
||||
TR("Cancel"), TR("Delete"), NULL, B_WIDTH_AS_USUAL,
|
||||
B_WARNING_ALERT))->Go())
|
||||
break;
|
||||
|
||||
@ -225,10 +224,8 @@ TSignatureWindow::MessageReceived(BMessage* msg)
|
||||
else {
|
||||
fFile = NULL;
|
||||
beep();
|
||||
(new BAlert("", MDR_DIALECT_CHOICE (
|
||||
"Couldn't open this signature. Sorry.",
|
||||
"署名を開く時にエラーが発生しました。"),
|
||||
MDR_DIALECT_CHOICE ("OK","了解")))->Go();
|
||||
(new BAlert("", TR("Couldn't open this signature. Sorry."),
|
||||
TR("OK")))->Go();
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -283,11 +280,8 @@ TSignatureWindow::Clear()
|
||||
|
||||
if (IsDirty()) {
|
||||
beep();
|
||||
BAlert *alert = new BAlert("",
|
||||
MDR_DIALECT_CHOICE ("Save changes to this signature?","変更した署名を保存しますか?"),
|
||||
MDR_DIALECT_CHOICE ("Don't Save","保存しない"),
|
||||
MDR_DIALECT_CHOICE ("Cancel","中止"),
|
||||
MDR_DIALECT_CHOICE ("Save","保存する"),
|
||||
BAlert *alert = new BAlert("", TR("Save changes to this signature?"),
|
||||
TR("Don't Save"), TR("Cancel"), TR("Save"),
|
||||
B_WIDTH_AS_USUAL, B_WARNING_ALERT);
|
||||
alert->SetShortcut(0, 'd');
|
||||
alert->SetShortcut(1, B_ESCAPE);
|
||||
@ -380,10 +374,8 @@ TSignatureWindow::Save()
|
||||
|
||||
err_exit:
|
||||
beep();
|
||||
(new BAlert("", MDR_DIALECT_CHOICE (
|
||||
"An error occurred trying to save this signature.",
|
||||
"署名を保存しようとした時にエラーが発生しました。"),
|
||||
MDR_DIALECT_CHOICE ("Sorry","了解")))->Go();
|
||||
(new BAlert("", TR("An error occurred trying to save this signature."),
|
||||
TR("Sorry")))->Go();
|
||||
}
|
||||
|
||||
|
||||
@ -401,8 +393,8 @@ void
|
||||
TSignatureView::AttachedToWindow()
|
||||
{
|
||||
BRect rect = Bounds();
|
||||
float name_text_length = StringWidth(kNameText);
|
||||
float sig_text_length = StringWidth(kSigText);
|
||||
float name_text_length = StringWidth(TR("Title:"));
|
||||
float sig_text_length = StringWidth(TR("Signature:"));
|
||||
float divide_length;
|
||||
|
||||
if (name_text_length > sig_text_length)
|
||||
@ -413,7 +405,7 @@ TSignatureView::AttachedToWindow()
|
||||
rect.InsetBy(8,0);
|
||||
rect.top+= 8;
|
||||
|
||||
fName = new TNameControl(rect, kNameText, new BMessage(NAME_FIELD));
|
||||
fName = new TNameControl(rect, TR("Title:"), new BMessage(NAME_FIELD));
|
||||
AddChild(fName);
|
||||
|
||||
fName->SetDivider(divide_length + 10);
|
||||
@ -434,7 +426,8 @@ TSignatureView::AttachedToWindow()
|
||||
/* back up a bit to make room for the label */
|
||||
|
||||
rect = scroller->Frame();
|
||||
BStringView *stringView = new BStringView(rect, "SigLabel", kSigText);
|
||||
BStringView *stringView = new BStringView(rect, "SigLabel",
|
||||
TR("Signature:"));
|
||||
AddChild(stringView);
|
||||
|
||||
float tWidth, tHeight;
|
||||
|
@ -56,13 +56,13 @@ All rights reserved.
|
||||
#include <TextControl.h>
|
||||
#include <Window.h>
|
||||
|
||||
#include <MDRLanguage.h>
|
||||
|
||||
const float kSigHeight = 200;
|
||||
const float kSigWidth = 457;
|
||||
|
||||
|
||||
#define INDEX_SIGNATURE "_signature"
|
||||
|
||||
|
||||
class TMenu;
|
||||
class TNameControl;
|
||||
class TScrollView;
|
||||
@ -143,3 +143,4 @@ private:
|
||||
};
|
||||
|
||||
#endif // #ifndef _SIGNATURE_H
|
||||
|
||||
|
@ -50,8 +50,6 @@ All rights reserved.
|
||||
|
||||
#include <MailMessage.h>
|
||||
|
||||
#include <MDRLanguage.h>
|
||||
|
||||
#include "Utilities.h"
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user