Patch by Mike Roll: i18n PowerStatus. Thanks!

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39939 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Adrien Destugues
2010-12-24 10:04:00 +00:00
parent 95fcf73946
commit 3bd54e05be
5 changed files with 84 additions and 50 deletions
+8 -3
View File
@@ -12,11 +12,16 @@
#include <stdio.h> #include <stdio.h>
#include <Autolock.h> #include <Autolock.h>
#include <Catalog.h>
#include <Directory.h> #include <Directory.h>
#include <Entry.h> #include <Entry.h>
#include <Path.h> #include <Path.h>
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "PowerStatus"
RateBuffer::RateBuffer() RateBuffer::RateBuffer()
: :
fPosition(0), fPosition(0),
@@ -138,7 +143,7 @@ Battery::_Init()
if (fInitStatus != B_OK) if (fInitStatus != B_OK)
return; return;
printf("ACPI driver found\n"); printf(B_TRANSLATE("ACPI driver found\n"));
} }
@@ -157,7 +162,7 @@ const char* kDriverDir = "/dev/power";
status_t status_t
ACPIDriverInterface::Connect() ACPIDriverInterface::Connect()
{ {
printf("ACPI connect\n"); printf(B_TRANSLATE("ACPI connect\n"));
return _FindDrivers(kDriverDir); return _FindDrivers(kDriverDir);
} }
@@ -240,7 +245,7 @@ ACPIDriverInterface::_FindDrivers(const char* path)
else { else {
int32 handler = open(path.Path(), O_RDWR); int32 handler = open(path.Path(), O_RDWR);
if (handler >= 0) { if (handler >= 0) {
printf("try %s\n", path.Path()); printf(B_TRANSLATE("try %s\n"), path.Path());
Battery* battery = new Battery(handler); Battery* battery = new Battery(handler);
if (battery->InitCheck() == B_OK) { if (battery->InitCheck() == B_OK) {
fDriverList.AddItem(battery); fDriverList.AddItem(battery);
+34 -28
View File
@@ -10,10 +10,15 @@
#include "ExtendedInfoWindow.h" #include "ExtendedInfoWindow.h"
#include <Box.h> #include <Box.h>
#include <Catalog.h>
#include <GroupView.h> #include <GroupView.h>
#include <SpaceLayoutItem.h> #include <SpaceLayoutItem.h>
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "PowerStatus"
const int kLineSpacing = 5; const int kLineSpacing = 5;
@@ -111,13 +116,13 @@ BatteryInfoView::_FillStringList()
BString rateUnit; BString rateUnit;
switch (fBatteryExtendedInfo.power_unit) { switch (fBatteryExtendedInfo.power_unit) {
case 0: case 0:
powerUnit = " mWh"; powerUnit = B_TRANSLATE(" mWh");
rateUnit = " mW"; rateUnit = B_TRANSLATE(" mW");
break; break;
case 1: case 1:
powerUnit = " mAh"; powerUnit = B_TRANSLATE(" mAh");
rateUnit = " mA"; rateUnit = B_TRANSLATE(" mA");
break; break;
} }
@@ -128,28 +133,28 @@ BatteryInfoView::_FillStringList()
fontString->font = be_bold_font; fontString->font = be_bold_font;
if (fBatteryInfo.state & BATTERY_CHARGING) if (fBatteryInfo.state & BATTERY_CHARGING)
fontString->string = "Battery charging"; fontString->string = B_TRANSLATE("Battery charging");
else if (fBatteryInfo.state & BATTERY_DISCHARGING) else if (fBatteryInfo.state & BATTERY_DISCHARGING)
fontString->string = "Battery discharging"; fontString->string = B_TRANSLATE("Battery discharging");
else if (fBatteryInfo.state & BATTERY_CRITICAL_STATE) else if (fBatteryInfo.state & BATTERY_CRITICAL_STATE)
fontString->string = "Empty battery slot"; fontString->string = B_TRANSLATE("Empty battery slot");
else else
fontString->string = "Battery unused"; fontString->string = B_TRANSLATE("Battery unused");
fontString = new FontString; fontString = new FontString;
fontString->string = "Capacity: "; fontString->string = B_TRANSLATE("Capacity: ");
fontString->string << fBatteryInfo.capacity; fontString->string << fBatteryInfo.capacity;
fontString->string << powerUnit; fontString->string << powerUnit;
_AddToStringList(fontString); _AddToStringList(fontString);
fontString = new FontString; fontString = new FontString;
fontString->string = "Last full charge: "; fontString->string = B_TRANSLATE("Last full charge: ");
fontString->string << fBatteryInfo.full_capacity; fontString->string << fBatteryInfo.full_capacity;
fontString->string << powerUnit; fontString->string << powerUnit;
_AddToStringList(fontString); _AddToStringList(fontString);
fontString = new FontString; fontString = new FontString;
fontString->string = "Current rate: "; fontString->string = B_TRANSLATE("Current rate: ");
fontString->string << fBatteryInfo.current_rate; fontString->string << fBatteryInfo.current_rate;
fontString->string << rateUnit; fontString->string << rateUnit;
_AddToStringList(fontString); _AddToStringList(fontString);
@@ -159,68 +164,68 @@ BatteryInfoView::_FillStringList()
_AddToStringList(fontString); _AddToStringList(fontString);
fontString = new FontString; fontString = new FontString;
fontString->string = "Design capacity: "; fontString->string = B_TRANSLATE("Design capacity: ");
fontString->string << fBatteryExtendedInfo.design_capacity; fontString->string << fBatteryExtendedInfo.design_capacity;
fontString->string << powerUnit; fontString->string << powerUnit;
_AddToStringList(fontString); _AddToStringList(fontString);
fontString = new FontString; fontString = new FontString;
fontString->string = "Technology: "; fontString->string = B_TRANSLATE("Technology: ");
if (fBatteryExtendedInfo.technology == 0) if (fBatteryExtendedInfo.technology == 0)
fontString->string << "non-rechargeable"; fontString->string << B_TRANSLATE("non-rechargeable");
else if (fBatteryExtendedInfo.technology == 1) else if (fBatteryExtendedInfo.technology == 1)
fontString->string << "rechargeable"; fontString->string << B_TRANSLATE("rechargeable");
else else
fontString->string << "?"; fontString->string << "?";
_AddToStringList(fontString); _AddToStringList(fontString);
fontString = new FontString; fontString = new FontString;
fontString->string = "Design voltage: "; fontString->string = B_TRANSLATE("Design voltage: ");
fontString->string << fBatteryExtendedInfo.design_voltage; fontString->string << fBatteryExtendedInfo.design_voltage;
fontString->string << " mV"; fontString->string << B_TRANSLATE(" mV");
_AddToStringList(fontString); _AddToStringList(fontString);
fontString = new FontString; fontString = new FontString;
fontString->string = "Design capacity warning: "; fontString->string = B_TRANSLATE("Design capacity warning: ");
fontString->string << fBatteryExtendedInfo.design_capacity_warning; fontString->string << fBatteryExtendedInfo.design_capacity_warning;
fontString->string << powerUnit; fontString->string << powerUnit;
_AddToStringList(fontString); _AddToStringList(fontString);
fontString = new FontString; fontString = new FontString;
fontString->string = "Design capacity low warning: "; fontString->string = B_TRANSLATE("Design capacity low warning: ");
fontString->string << fBatteryExtendedInfo.design_capacity_low; fontString->string << fBatteryExtendedInfo.design_capacity_low;
fontString->string << powerUnit; fontString->string << powerUnit;
_AddToStringList(fontString); _AddToStringList(fontString);
fontString = new FontString; fontString = new FontString;
fontString->string = "Capacity granularity 1: "; fontString->string = B_TRANSLATE("Capacity granularity 1: ");
fontString->string << fBatteryExtendedInfo.capacity_granularity_1; fontString->string << fBatteryExtendedInfo.capacity_granularity_1;
fontString->string << powerUnit; fontString->string << powerUnit;
_AddToStringList(fontString); _AddToStringList(fontString);
fontString = new FontString; fontString = new FontString;
fontString->string = "Capacity granularity 2: "; fontString->string = B_TRANSLATE("Capacity granularity 2: ");
fontString->string << fBatteryExtendedInfo.capacity_granularity_2; fontString->string << fBatteryExtendedInfo.capacity_granularity_2;
fontString->string << powerUnit; fontString->string << powerUnit;
_AddToStringList(fontString); _AddToStringList(fontString);
fontString = new FontString; fontString = new FontString;
fontString->string = "Model number: "; fontString->string = B_TRANSLATE("Model number: ");
fontString->string << fBatteryExtendedInfo.model_number; fontString->string << fBatteryExtendedInfo.model_number;
_AddToStringList(fontString); _AddToStringList(fontString);
fontString = new FontString; fontString = new FontString;
fontString->string = "Serial number: "; fontString->string = B_TRANSLATE("Serial number: ");
fontString->string << fBatteryExtendedInfo.serial_number; fontString->string << fBatteryExtendedInfo.serial_number;
_AddToStringList(fontString); _AddToStringList(fontString);
fontString = new FontString; fontString = new FontString;
fontString->string = "Type: "; fontString->string = B_TRANSLATE("Type: ");
fontString->string += fBatteryExtendedInfo.type; fontString->string += fBatteryExtendedInfo.type;
_AddToStringList(fontString); _AddToStringList(fontString);
fontString = new FontString; fontString = new FontString;
fontString->string = "OEM info: "; fontString->string = B_TRANSLATE("OEM info: ");
fontString->string += fBatteryExtendedInfo.oem_info; fontString->string += fBatteryExtendedInfo.oem_info;
_AddToStringList(fontString); _AddToStringList(fontString);
@@ -325,7 +330,8 @@ ExtPowerStatusView::Update(bool force)
ExtendedInfoWindow::ExtendedInfoWindow(PowerStatusDriverInterface* interface) ExtendedInfoWindow::ExtendedInfoWindow(PowerStatusDriverInterface* interface)
: :
BWindow(BRect(100, 150, 500, 500), "Extended battery info", B_TITLED_WINDOW, BWindow(BRect(100, 150, 500, 500), B_TRANSLATE("Extended battery info"),
B_TITLED_WINDOW,
B_NOT_RESIZABLE | B_NOT_ZOOMABLE | B_AVOID_FRONT | B_NOT_RESIZABLE | B_NOT_ZOOMABLE | B_AVOID_FRONT |
B_ASYNCHRONOUS_CONTROLS), B_ASYNCHRONOUS_CONTROLS),
fDriverInterface(interface), fDriverInterface(interface),
@@ -344,8 +350,8 @@ ExtendedInfoWindow::ExtendedInfoWindow(PowerStatusDriverInterface* interface)
BRect rect = Bounds(); BRect rect = Bounds();
rect.InsetBy(5, 5); rect.InsetBy(5, 5);
BBox *infoBox = new BBox(rect, "Power status box"); BBox *infoBox = new BBox(rect, B_TRANSLATE("Power status box"));
infoBox->SetLabel("Battery info"); infoBox->SetLabel(B_TRANSLATE("Battery info"));
BGroupLayout* infoLayout = new BGroupLayout(B_HORIZONTAL); BGroupLayout* infoLayout = new BGroupLayout(B_HORIZONTAL);
infoLayout->SetInsets(10, infoBox->TopBorderOffset() * 2 + 10, 10, 10); infoLayout->SetInsets(10, infoBox->TopBorderOffset() * 2 + 10, 10, 10);
infoLayout->SetSpacing(10); infoLayout->SetSpacing(10);
+10 -2
View File
@@ -13,6 +13,14 @@ Application PowerStatus :
PowerStatusWindow.cpp PowerStatusWindow.cpp
PowerStatusView.cpp PowerStatusView.cpp
PowerStatus.cpp PowerStatus.cpp
: be $(TARGET_LIBSUPC++) : be $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS)
: PowerStatus.rdef : PowerStatus.rdef
; ;
DoCatalogs PowerStatus :
x-vnd.Haiku-PowerStatus
:
ACPIDriverInterface.cpp
ExtendedInfoWindow.cpp
PowerStatus.cpp
PowerStatusView.cpp
;
+10 -3
View File
@@ -12,6 +12,7 @@
#include <Alert.h> #include <Alert.h>
#include <Application.h> #include <Application.h>
#include <Catalog.h>
#include <Deskbar.h> #include <Deskbar.h>
#include <Entry.h> #include <Entry.h>
@@ -20,6 +21,10 @@
#include <string.h> #include <string.h>
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "PowerStatus"
class PowerStatus : public BApplication { class PowerStatus : public BApplication {
public: public:
PowerStatus(); PowerStatus();
@@ -80,9 +85,11 @@ PowerStatus::ReadyToRun()
} }
if (isDeskbarRunning && !isInstalled) { if (isDeskbarRunning && !isInstalled) {
BAlert* alert = new BAlert("", "You can run PowerStatus in a window " BAlert* alert = new BAlert("",
"or install it in the Deskbar.", "Run in window", B_TRANSLATE("You can run PowerStatus in a window "
"Install in Deskbar", NULL, B_WIDTH_AS_USUAL, B_WARNING_ALERT); "or install it in the Deskbar."), B_TRANSLATE("Run in window"),
B_TRANSLATE("Install in Deskbar"), NULL, B_WIDTH_AS_USUAL,
B_WARNING_ALERT);
alert->SetShortcut(0, B_ESCAPE); alert->SetShortcut(0, B_ESCAPE);
if (alert->Go()) { if (alert->Go()) {
+22 -14
View File
@@ -18,6 +18,7 @@
#include <Alert.h> #include <Alert.h>
#include <Application.h> #include <Application.h>
#include <Catalog.h>
#include <ControlLook.h> #include <ControlLook.h>
#include <Deskbar.h> #include <Deskbar.h>
#include <Dragger.h> #include <Dragger.h>
@@ -36,6 +37,10 @@
#include "PowerStatus.h" #include "PowerStatus.h"
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "PowerStatus"
extern "C" _EXPORT BView *instantiate_deskbar_item(void); extern "C" _EXPORT BView *instantiate_deskbar_item(void);
const uint32 kMsgToggleLabel = 'tglb'; const uint32 kMsgToggleLabel = 'tglb';
@@ -376,16 +381,16 @@ PowerStatusView::Update(bool force)
const char* state = NULL; const char* state = NULL;
if ((fBatteryInfo.state & BATTERY_CHARGING) != 0) if ((fBatteryInfo.state & BATTERY_CHARGING) != 0)
state = "charging"; state = B_TRANSLATE("charging");
else if ((fBatteryInfo.state & BATTERY_DISCHARGING) != 0) else if ((fBatteryInfo.state & BATTERY_DISCHARGING) != 0)
state = "discharging"; state = B_TRANSLATE("discharging");
if (state != NULL) { if (state != NULL) {
snprintf(text + length, sizeof(text) - length, "\n%s", snprintf(text + length, sizeof(text) - length, "\n%s",
state); state);
} }
} else } else
strcpy(text, "no battery"); strcpy(text, B_TRANSLATE("no battery"));
SetToolTip(text); SetToolTip(text);
} }
if (width == 0) { if (width == 0) {
@@ -573,25 +578,27 @@ PowerStatusReplicant::MouseDown(BPoint point)
menu->SetFont(be_plain_font); menu->SetFont(be_plain_font);
BMenuItem* item; BMenuItem* item;
menu->AddItem(item = new BMenuItem("Show text label", menu->AddItem(item = new BMenuItem(B_TRANSLATE("Show text label"),
new BMessage(kMsgToggleLabel))); new BMessage(kMsgToggleLabel)));
if (fShowLabel) if (fShowLabel)
item->SetMarked(true); item->SetMarked(true);
menu->AddItem(item = new BMenuItem("Show status icon", menu->AddItem(item = new BMenuItem(B_TRANSLATE("Show status icon"),
new BMessage(kMsgToggleStatusIcon))); new BMessage(kMsgToggleStatusIcon)));
if (fShowStatusIcon) if (fShowStatusIcon)
item->SetMarked(true); item->SetMarked(true);
menu->AddItem(new BMenuItem(!fShowTime ? "Show time" : "Show percent", menu->AddItem(new BMenuItem(!fShowTime ? B_TRANSLATE("Show time") :
B_TRANSLATE("Show percent"),
new BMessage(kMsgToggleTime))); new BMessage(kMsgToggleTime)));
menu->AddSeparatorItem(); menu->AddSeparatorItem();
menu->AddItem(new BMenuItem("Battery info" B_UTF8_ELLIPSIS, menu->AddItem(new BMenuItem(B_TRANSLATE("Battery info" B_UTF8_ELLIPSIS),
new BMessage(kMsgToggleExtInfo))); new BMessage(kMsgToggleExtInfo)));
menu->AddSeparatorItem(); menu->AddSeparatorItem();
menu->AddItem(new BMenuItem("About" B_UTF8_ELLIPSIS, menu->AddItem(new BMenuItem(B_TRANSLATE("About" B_UTF8_ELLIPSIS),
new BMessage(B_ABOUT_REQUESTED))); new BMessage(B_ABOUT_REQUESTED)));
menu->AddItem(new BMenuItem("Quit", new BMessage(B_QUIT_REQUESTED))); menu->AddItem(new BMenuItem(B_TRANSLATE("Quit"),
new BMessage(B_QUIT_REQUESTED)));
menu->SetTargetForItems(this); menu->SetTargetForItems(this);
ConvertToScreen(&point); ConvertToScreen(&point);
@@ -602,9 +609,10 @@ PowerStatusReplicant::MouseDown(BPoint point)
void void
PowerStatusReplicant::_AboutRequested() PowerStatusReplicant::_AboutRequested()
{ {
BAlert* alert = new BAlert("about", "PowerStatus\n" BAlert* alert = new BAlert(B_TRANSLATE("about"),
"written by Axel Dörfler, Clemens Zeidler\n" B_TRANSLATE("PowerStatus\n"
"Copyright 2006, Haiku, Inc.\n", "OK"); "written by Axel Dörfler, Clemens Zeidler\n"
"Copyright 2006, Haiku, Inc.\n"), B_TRANSLATE("OK"));
BTextView *view = alert->TextView(); BTextView *view = alert->TextView();
BFont font; BFont font;
@@ -627,7 +635,7 @@ PowerStatusReplicant::_Init()
delete fDriverInterface; delete fDriverInterface;
fDriverInterface = new APMDriverInterface; fDriverInterface = new APMDriverInterface;
if (fDriverInterface->Connect() != B_OK) { if (fDriverInterface->Connect() != B_OK) {
fprintf(stderr, "No power interface found.\n"); fprintf(stderr, B_TRANSLATE("No power interface found.\n"));
_Quit(); _Quit();
} }
} }
@@ -660,7 +668,7 @@ PowerStatusReplicant::_GetSettings(BFile& file, int mode)
if (status != B_OK) if (status != B_OK)
return status; return status;
path.Append("PowerStatus settings"); path.Append(B_TRANSLATE("PowerStatus settings"));
return file.SetTo(path.Path(), mode); return file.SetTo(path.Path(), mode);
} }