From c93e2c436d53148c0b38fd39449a2fd449cb47f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Sundstr=C3=B6m?= Date: Mon, 9 Nov 2009 23:11:10 +0000 Subject: [PATCH] Localization. I believe it to be correct but for some reason Backgrounds crashes on startup. Enjoy\! git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33970 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/preferences/backgrounds/Backgrounds.cpp | 15 +++-- .../backgrounds/BackgroundsView.cpp | 65 ++++++++++--------- .../backgrounds/ImageFilePanel.cpp | 7 +- src/preferences/backgrounds/Jamfile | 14 +++- 4 files changed, 62 insertions(+), 39 deletions(-) diff --git a/src/preferences/backgrounds/Backgrounds.cpp b/src/preferences/backgrounds/Backgrounds.cpp index 1a4f85bd64..4fd0998244 100644 --- a/src/preferences/backgrounds/Backgrounds.cpp +++ b/src/preferences/backgrounds/Backgrounds.cpp @@ -9,13 +9,18 @@ #include +#include #include +#include #include #include #include "BackgroundsView.h" +#define TR_CONTEXT "Main Window" + + static const char* kSignature = "application/x-vnd.Haiku-Backgrounds"; @@ -83,7 +88,7 @@ BackgroundsApplication::RefsReceived(BMessage* message) BackgroundsWindow::BackgroundsWindow() : - BWindow(BRect(0, 0, 0, 0), "Backgrounds", B_TITLED_WINDOW, + BWindow(BRect(0, 0, 0, 0), TR("Backgrounds"), B_TITLED_WINDOW, B_NOT_RESIZABLE | B_NOT_ZOOMABLE | B_AUTO_UPDATE_SIZE_LIMITS, B_ALL_WORKSPACES) { @@ -131,10 +136,10 @@ BackgroundsWindow::WorkspaceActivated(int32 oldWorkspaces, bool active) int main(int argc, char** argv) { - BApplication* app = new BackgroundsApplication; - app->Run(); - delete app; - + BackgroundsApplication app; + BCatalog cat; + be_locale->GetAppCatalog(&cat); + app.Run(); return 0; } diff --git a/src/preferences/backgrounds/BackgroundsView.cpp b/src/preferences/backgrounds/BackgroundsView.cpp index 8db997a39d..5509301883 100644 --- a/src/preferences/backgrounds/BackgroundsView.cpp +++ b/src/preferences/backgrounds/BackgroundsView.cpp @@ -15,10 +15,12 @@ #include #include +#include #include #include #include #include +#include #include #include #include @@ -30,6 +32,9 @@ #include "ImageFilePanel.h" +#define TR_CONTEXT "Main View" + + static const uint32 kMsgApplySettings = 'aply'; static const uint32 kMsgRevertSettings = 'rvrt'; @@ -105,7 +110,7 @@ BackgroundsView::BackgroundsView() SetBorder(B_NO_BORDER); fPreview = new BBox("preview"); - fPreview->SetLabel("Preview"); + fPreview->SetLabel(TR("Preview")); fPreView = new PreView(); @@ -118,9 +123,9 @@ BackgroundsView::BackgroundsView() fBottom = new FramePart(FRAME_BOTTOM); fBottomRight = new FramePart(FRAME_BOTTOM_RIGHT); - fXPlacementText = new BTextControl("X:", NULL, + fXPlacementText = new BTextControl(TR("X:"), NULL, new BMessage(kMsgImagePlacement)); - fYPlacementText = new BTextControl("Y:", NULL, + fYPlacementText = new BTextControl(TR("Y:"), NULL, new BMessage(kMsgImagePlacement)); fXPlacementText->TextView()->SetMaxBytes(5); @@ -165,18 +170,18 @@ BackgroundsView::BackgroundsView() BBox* rightbox = new BBox("rightbox"); - fWorkspaceMenu = new BPopUpMenu("pick one"); - fWorkspaceMenu->AddItem(new BMenuItem("All Workspaces", + fWorkspaceMenu = new BPopUpMenu(TR("pick one")); + fWorkspaceMenu->AddItem(new BMenuItem(TR("All Workspaces"), new BMessage(kMsgAllWorkspaces))); BMenuItem* menuItem; - fWorkspaceMenu->AddItem(menuItem = new BMenuItem("Current Workspace", + fWorkspaceMenu->AddItem(menuItem = new BMenuItem(TR("Current Workspace"), new BMessage(kMsgCurrentWorkspace))); menuItem->SetMarked(true); fLastWorkspaceIndex = fWorkspaceMenu->IndexOf(fWorkspaceMenu->FindMarked()); fWorkspaceMenu->AddSeparatorItem(); - fWorkspaceMenu->AddItem(new BMenuItem("Default folder", + fWorkspaceMenu->AddItem(new BMenuItem(TR("Default folder"), new BMessage(kMsgDefaultFolder))); - fWorkspaceMenu->AddItem(new BMenuItem("Other folder" B_UTF8_ELLIPSIS, + fWorkspaceMenu->AddItem(new BMenuItem(TR("Other folder" B_UTF8_ELLIPSIS), new BMessage(kMsgOtherFolder))); BMenuField* workspaceMenuField = new BMenuField(BRect(0, 0, 130, 18), @@ -184,39 +189,39 @@ BackgroundsView::BackgroundsView() workspaceMenuField->ResizeToPreferred(); rightbox->SetLabel(workspaceMenuField); - fImageMenu = new BPopUpMenu("pick one"); - fImageMenu->AddItem(new BGImageMenuItem("None", -1, + fImageMenu = new BPopUpMenu(TR("pick one")); + fImageMenu->AddItem(new BGImageMenuItem(TR("None"), -1, new BMessage(kMsgNoImage))); fImageMenu->AddSeparatorItem(); - fImageMenu->AddItem(new BMenuItem("Other" B_UTF8_ELLIPSIS, + fImageMenu->AddItem(new BMenuItem(TR("Other" B_UTF8_ELLIPSIS), new BMessage(kMsgOtherImage))); BMenuField* imageMenuField = new BMenuField(NULL, fImageMenu); imageMenuField->SetAlignment(B_ALIGN_RIGHT); imageMenuField->ResizeToPreferred(); - fPlacementMenu = new BPopUpMenu("pick one"); - fPlacementMenu->AddItem(new BMenuItem("Manual", + fPlacementMenu = new BPopUpMenu(TR("pick one")); + fPlacementMenu->AddItem(new BMenuItem(TR("Manual"), new BMessage(kMsgManualPlacement))); - fPlacementMenu->AddItem(new BMenuItem("Center", + fPlacementMenu->AddItem(new BMenuItem(TR("Center"), new BMessage(kMsgCenterPlacement))); - fPlacementMenu->AddItem(new BMenuItem("Scale to fit", + fPlacementMenu->AddItem(new BMenuItem(TR("Scale to fit"), new BMessage(kMsgScalePlacement))); - fPlacementMenu->AddItem(new BMenuItem("Tile", + fPlacementMenu->AddItem(new BMenuItem(TR("Tile"), new BMessage(kMsgTilePlacement))); BMenuField* placementMenuField = new BMenuField(NULL, fPlacementMenu); placementMenuField->SetAlignment(B_ALIGN_RIGHT); - fIconLabelOutline = new BCheckBox("Icon label outline", + fIconLabelOutline = new BCheckBox(TR("Icon label outline"), new BMessage(kMsgIconLabelOutline)); fIconLabelOutline->SetValue(B_CONTROL_OFF); fPicker = new BColorControl(BPoint(0, 0), B_CELLS_32x8, 7.0, "Picker", new BMessage(kMsgUpdateColor)); - BStringView* imageStringView = new BStringView(NULL, "Image:"); - BStringView* placementStringView = new BStringView(NULL, "Placement:"); + BStringView* imageStringView = new BStringView(NULL, TR("Image:")); + BStringView* placementStringView = new BStringView(NULL, TR("Placement:")); imageStringView->SetExplicitAlignment(BAlignment(B_ALIGN_RIGHT, B_ALIGN_NO_VERTICAL)); @@ -241,8 +246,8 @@ BackgroundsView::BackgroundsView() rightbox->AddChild(view); - fRevert = new BButton("Revert", new BMessage(kMsgRevertSettings)); - fApply = new BButton("Apply", new BMessage(kMsgApplySettings)); + fRevert = new BButton(TR("Revert"), new BMessage(kMsgRevertSettings)); + fApply = new BButton(TR("Apply"), new BMessage(kMsgApplySettings)); fRevert->SetExplicitAlignment(BAlignment(B_ALIGN_LEFT, B_ALIGN_NO_VERTICAL)); @@ -299,11 +304,11 @@ BackgroundsView::AllAttached() BMessenger messenger(this); fPanel = new ImageFilePanel(B_OPEN_PANEL, &messenger, &ref, B_FILE_NODE, false, NULL, new CustomRefFilter(true)); - fPanel->SetButtonLabel(B_DEFAULT_BUTTON, "Select"); + fPanel->SetButtonLabel(B_DEFAULT_BUTTON, TR("Select")); fFolderPanel = new BFilePanel(B_OPEN_PANEL, &messenger, NULL, B_DIRECTORY_NODE, false, NULL, new CustomRefFilter(false)); - fFolderPanel->SetButtonLabel(B_DEFAULT_BUTTON, "Select"); + fFolderPanel->SetButtonLabel(B_DEFAULT_BUTTON, TR("Select")); _LoadSettings(); _LoadDesktopFolder(); @@ -364,7 +369,7 @@ BackgroundsView::MessageReceived(BMessage* msg) case kMsgCurrentWorkspace: case kMsgAllWorkspaces: - fImageMenu->FindItem(kMsgNoImage)->SetLabel("None"); + fImageMenu->FindItem(kMsgNoImage)->SetLabel(TR("None")); fLastWorkspaceIndex = fWorkspaceMenu->IndexOf( fWorkspaceMenu->FindMarked()); if (fCurrent && fCurrent->IsDesktop()) { @@ -376,7 +381,7 @@ BackgroundsView::MessageReceived(BMessage* msg) break; case kMsgDefaultFolder: - fImageMenu->FindItem(kMsgNoImage)->SetLabel("None"); + fImageMenu->FindItem(kMsgNoImage)->SetLabel(TR("None")); fLastWorkspaceIndex = fWorkspaceMenu->IndexOf( fWorkspaceMenu->FindMarked()); _SetDesktop(false); @@ -418,7 +423,7 @@ BackgroundsView::MessageReceived(BMessage* msg) break; case kMsgFolderSelected: - fImageMenu->FindItem(kMsgNoImage)->SetLabel("Default"); + fImageMenu->FindItem(kMsgNoImage)->SetLabel(TR("Default")); fLastWorkspaceIndex = fWorkspaceMenu->IndexOf( fWorkspaceMenu->FindMarked()); _SetDesktop(false); @@ -519,9 +524,9 @@ BackgroundsView::_UpdateWithCurrent(void) ->SetEnabled(fCurrent->IsDesktop()); if (fWorkspaceMenu->IndexOf(fWorkspaceMenu->FindMarked()) > 5) - fImageMenu->FindItem(kMsgNoImage)->SetLabel("Default"); + fImageMenu->FindItem(kMsgNoImage)->SetLabel(TR("Default")); else - fImageMenu->FindItem(kMsgNoImage)->SetLabel("None"); + fImageMenu->FindItem(kMsgNoImage)->SetLabel(TR("None")); for (int32 i = fImageMenu->CountItems() - 5; i >= 0; i--) { fImageMenu->RemoveItem(2); @@ -842,7 +847,7 @@ BackgroundsView::_LoadSettings() path.SetTo(string.String()); int32 i = _AddPath(path); BString s; - s << "Folder: " << path.Leaf(); + s << TR("Folder: ") << path.Leaf(); BMenuItem* item = new BMenuItem(s.String(), new BMessage(kMsgFolderSelected)); fWorkspaceMenu->AddItem(item, -i - 1 + 6); @@ -1047,7 +1052,7 @@ BackgroundsView::RefsReceived(BMessage* msg) if (fWorkspaceMenu->CountItems() <= 5) fWorkspaceMenu->AddSeparatorItem(); BString s; - s << "Folder: " << path.Leaf(); + s << TR("Folder: ") << path.Leaf(); item = new BMenuItem(s.String(), new BMessage(kMsgFolderSelected)); fWorkspaceMenu->AddItem(item, -index - 1 + 6); diff --git a/src/preferences/backgrounds/ImageFilePanel.cpp b/src/preferences/backgrounds/ImageFilePanel.cpp index bc80579fef..8a48c17e9f 100644 --- a/src/preferences/backgrounds/ImageFilePanel.cpp +++ b/src/preferences/backgrounds/ImageFilePanel.cpp @@ -10,6 +10,8 @@ #include "ImageFilePanel.h" #include +#include +#include #include #include #include @@ -17,6 +19,9 @@ #include +#define TR_CONTEXT "Image Filepanel" + + ImageFilePanel::ImageFilePanel(file_panel_mode mode, BMessenger* target, const entry_ref* startDirectory, uint32 nodeFlavors, bool allowMultipleSelection, BMessage* message, BRefFilter* filter, @@ -126,7 +131,7 @@ ImageFilePanel::SelectionChanged() B_FOLLOW_LEFT | B_FOLLOW_TOP, 0); BString resolution; - resolution << "Resolution: " + resolution << TR("Resolution: ") << (int)(bitmap->Bounds().Width() + 1) << "x" << (int)(bitmap->Bounds().Height() + 1); fResolutionView->SetText(resolution.String()); diff --git a/src/preferences/backgrounds/Jamfile b/src/preferences/backgrounds/Jamfile index 599b6a4dfc..9e3066b263 100644 --- a/src/preferences/backgrounds/Jamfile +++ b/src/preferences/backgrounds/Jamfile @@ -1,7 +1,5 @@ SubDir HAIKU_TOP src preferences backgrounds ; -SetSubDirSupportedPlatformsBeOSCompatible ; - UsePrivateHeaders shared ; Preference Backgrounds : @@ -9,7 +7,17 @@ Preference Backgrounds : Backgrounds.cpp BackgroundsView.cpp ImageFilePanel.cpp - : be tracker translation $(TARGET_LIBSUPC++) + : be tracker translation $(TARGET_LIBSUPC++) liblocale.so : Backgrounds.rdef ; +DoCatalogs Backgrounds : + x-vnd.Haiku-Backgrounds + : + Backgrounds.cpp + BackgroundsView.cpp + ImageFilePanel.cpp + : en.catalog + : #sv.catkeys + ; +