Patch from Jason Fagnière (Protonux) as part of GCI :

* i18nize devices, charactermap, cdplayer, activitymonitor.

Thanks!

(note : there are some known 80-column problems in this patch)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39835 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Adrien Destugues
2010-12-13 21:00:43 +00:00
parent a2158925a6
commit 7c2ffab858
21 changed files with 402 additions and 286 deletions
+17 -12
View File
@@ -19,6 +19,7 @@
#include <BitmapStream.h> #include <BitmapStream.h>
#include <Box.h> #include <Box.h>
#include <Button.h> #include <Button.h>
#include <Catalog.h>
#include <Debug.h> #include <Debug.h>
#include <Deskbar.h> #include <Deskbar.h>
#include <Dragger.h> #include <Dragger.h>
@@ -34,6 +35,8 @@
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "CDPlayer"
enum { enum {
M_STOP = 'mstp', M_STOP = 'mstp',
@@ -81,9 +84,10 @@ CDPlayer::CDPlayer(BRect frame, const char *name, uint32 resizeMask,
BuildGUI(); BuildGUI();
if (fCDDrive.CountDrives() < 1) { if (fCDDrive.CountDrives() < 1) {
BAlert *alert = new BAlert("CDPlayer", "It appears that there are no CD" BAlert *alert = new BAlert("CDPlayer", B_TRANSLATE(
"It appears that there are no CD"
" drives on your computer or there is no system software to " " drives on your computer or there is no system software to "
"support one. Sorry.", "OK"); "support one. Sorry."), "OK");
alert->Go(); alert->Go();
} }
@@ -131,7 +135,7 @@ CDPlayer::BuildGUI()
r.bottom = 25; r.bottom = 25;
float labelWidth, labelHeight; float labelWidth, labelHeight;
fCDTitle = new BStringView(r, "CDTitle", "CD drive is empty", fCDTitle = new BStringView(r, "CDTitle", B_TRANSLATE("CD drive is empty"),
B_FOLLOW_LEFT_RIGHT); B_FOLLOW_LEFT_RIGHT);
fCDTitle->GetPreferredSize(&labelWidth, &labelHeight); fCDTitle->GetPreferredSize(&labelWidth, &labelHeight);
fCDTitle->ResizeTo(r.Width(), labelHeight); fCDTitle->ResizeTo(r.Width(), labelHeight);
@@ -140,20 +144,21 @@ CDPlayer::BuildGUI()
r.bottom = r.top + labelHeight; r.bottom = r.top + labelHeight;
r.OffsetBy(0, r.Height() + 5); r.OffsetBy(0, r.Height() + 5);
fCurrentTrack = new BStringView(r, "TrackNumber", "", B_FOLLOW_LEFT_RIGHT); fCurrentTrack = new BStringView(r, B_TRANSLATE("TrackNumber"),
"", B_FOLLOW_LEFT_RIGHT);
box->AddChild(fCurrentTrack); box->AddChild(fCurrentTrack);
r.OffsetBy(0, r.Height() + 5); r.OffsetBy(0, r.Height() + 5);
r.right = r.left + (r.Width() / 2); r.right = r.left + (r.Width() / 2);
fTrackTime = new BStringView(r, "TrackTime", "Track: 88:88 / 88:88", fTrackTime = new BStringView(r, B_TRANSLATE("TrackTime"),
B_FOLLOW_LEFT_RIGHT); "Track: 88:88 / 88:88", B_FOLLOW_LEFT_RIGHT);
fTrackTime->ResizeToPreferred(); fTrackTime->ResizeToPreferred();
fTrackTime->SetText("Track: --:-- / --:--"); fTrackTime->SetText("Track: --:-- / --:--");
box->AddChild(fTrackTime); box->AddChild(fTrackTime);
r.OffsetTo(fTrackTime->Frame().right + 5, r.top); r.OffsetTo(fTrackTime->Frame().right + 5, r.top);
fDiscTime = new BStringView(r, "DiscTime", "Disc: 88:88 / 88:88", fDiscTime = new BStringView(r, B_TRANSLATE("DiscTime"),
B_FOLLOW_RIGHT); "Disc: 88:88 / 88:88", B_FOLLOW_RIGHT);
fDiscTime->ResizeToPreferred(); fDiscTime->ResizeToPreferred();
fDiscTime->SetText("Disc: --:-- / --:--"); fDiscTime->SetText("Disc: --:-- / --:--");
box->AddChild(fDiscTime); box->AddChild(fDiscTime);
@@ -467,7 +472,7 @@ CDPlayer::_WatchCDState()
// Because we are changing play states, we will need to update // Because we are changing play states, we will need to update
// the GUI // the GUI
fCDData.SetDiscID(-1); fCDData.SetDiscID(-1);
SetLabel(fCDTitle, "CD drive is empty"); SetLabel(fCDTitle, B_TRANSLATE("CD drive is empty"));
SetLabel(fCurrentTrack, ""); SetLabel(fCurrentTrack, "");
SetLabel(fTrackTime, "Track: --:-- / --:--"); SetLabel(fTrackTime, "Track: --:-- / --:--");
@@ -523,7 +528,7 @@ CDPlayer::_WatchCDState()
display << " - " << fCDData.Album(); display << " - " << fCDData.Album();
SetLabel(fCDTitle, display.String()); SetLabel(fCDTitle, display.String());
} else } else
SetLabel(fCDTitle, "Audio CD"); SetLabel(fCDTitle, B_TRANSLATE("Audio CD"));
} }
} }
@@ -612,8 +617,8 @@ CDPlayer::_WatchCDState()
trackTotal.GetMinutes(), trackTotal.GetSeconds()); trackTotal.GetMinutes(), trackTotal.GetSeconds());
SetLabel(fTrackTime, timeString); SetLabel(fTrackTime, timeString);
} else { } else {
SetLabel(fTrackTime, "Track: --:-- / --:--"); SetLabel(fTrackTime, B_TRANSLATE("Track: --:-- / --:--"));
SetLabel(fDiscTime, "Disc: --:-- / --:--"); SetLabel(fDiscTime, B_TRANSLATE("Disc: --:-- / --:--"));
} }
} }
+7 -1
View File
@@ -12,7 +12,13 @@ Application CDPlayer :
TwoStateDrawButton.cpp TwoStateDrawButton.cpp
VolumeSlider.cpp VolumeSlider.cpp
: be $(TARGET_SELECT_UNAME_ETC_LIB) $(TARGET_NETAPI_LIB) $(TARGET_LIBSTDC++) : be $(TARGET_SELECT_UNAME_ETC_LIB) $(TARGET_NETAPI_LIB) $(TARGET_LIBSTDC++) $(HAIKU_LOCALE_LIBS)
translation textencoding translation textencoding
: CDPlayer.rdef : CDPlayer.rdef
; ;
DoCatalogs CDPlayer :
x-vnd.Haiku-CDPlayer
:
CDPlayer.cpp
;
+6 -2
View File
@@ -10,10 +10,13 @@
#include <Alert.h> #include <Alert.h>
#include <Application.h> #include <Application.h>
#include <Catalog.h>
#include <TextView.h> #include <TextView.h>
#include "CharacterWindow.h" #include "CharacterWindow.h"
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "CharacterMap"
const char* kSignature = "application/x-vnd.Haiku-CharacterMap"; const char* kSignature = "application/x-vnd.Haiku-CharacterMap";
@@ -54,9 +57,10 @@ CharacterMap::MessageReceived(BMessage* message)
void void
CharacterMap::AboutRequested() CharacterMap::AboutRequested()
{ {
BAlert *alert = new BAlert("about", "CharacterMap\n" BAlert *alert = new BAlert(B_TRANSLATE("about"), B_TRANSLATE(
"CharacterMap\n"
"\twritten by Axel Dörfler\n" "\twritten by Axel Dörfler\n"
"\tCopyright 2009, Haiku, Inc.\n", "OK"); "\tCopyright 2009, Haiku, Inc.\n"), "OK");
BTextView *view = alert->TextView(); BTextView *view = alert->TextView();
BFont font; BFont font;
+5 -2
View File
@@ -10,6 +10,7 @@
#include <string.h> #include <string.h>
#include <Bitmap.h> #include <Bitmap.h>
#include <Catalog.h>
#include <Clipboard.h> #include <Clipboard.h>
#include <LayoutUtils.h> #include <LayoutUtils.h>
#include <MenuItem.h> #include <MenuItem.h>
@@ -19,6 +20,8 @@
#include "UnicodeBlocks.h" #include "UnicodeBlocks.h"
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "CharacterView"
static const uint32 kMsgCopyAsEscapedString = 'cesc'; static const uint32 kMsgCopyAsEscapedString = 'cesc';
@@ -268,11 +271,11 @@ CharacterView::MouseDown(BPoint where)
BMessage* message = new BMessage(B_COPY); BMessage* message = new BMessage(B_COPY);
message->AddInt32("character", fCurrentCharacter); message->AddInt32("character", fCurrentCharacter);
menu->AddItem(new BMenuItem("Copy character", message, 'C')); menu->AddItem(new BMenuItem(B_TRANSLATE("Copy character"), message, 'C'));
message = new BMessage(kMsgCopyAsEscapedString); message = new BMessage(kMsgCopyAsEscapedString);
message->AddInt32("character", fCurrentCharacter); message->AddInt32("character", fCurrentCharacter);
menu->AddItem(new BMenuItem("Copy as escaped byte string", menu->AddItem(new BMenuItem(B_TRANSLATE("Copy as escaped byte string"),
message, 'C', B_SHIFT_KEY)); message, 'C', B_SHIFT_KEY));
menu->SetTargetForItems(this); menu->SetTargetForItems(this);
+13 -8
View File
@@ -11,6 +11,7 @@
#include <Application.h> #include <Application.h>
#include <Button.h> #include <Button.h>
#include <Catalog.h>
#include <File.h> #include <File.h>
#include <FindDirectory.h> #include <FindDirectory.h>
#include <GroupLayoutBuilder.h> #include <GroupLayoutBuilder.h>
@@ -31,6 +32,8 @@
#include "CharacterView.h" #include "CharacterView.h"
#include "UnicodeBlockView.h" #include "UnicodeBlockView.h"
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "CharacterWindow"
static const uint32 kMsgUnicodeBlockSelected = 'unbs'; static const uint32 kMsgUnicodeBlockSelected = 'unbs';
static const uint32 kMsgCharacterChanged = 'chch'; static const uint32 kMsgCharacterChanged = 'chch';
@@ -137,10 +140,10 @@ CharacterWindow::CharacterWindow()
BMenuBar* menuBar = new BMenuBar("menu"); BMenuBar* menuBar = new BMenuBar("menu");
fFilterControl = new BTextControl("Filter:", NULL, NULL); fFilterControl = new BTextControl(B_TRANSLATE("Filter:"), NULL, NULL);
fFilterControl->SetModificationMessage(new BMessage(kMsgFilterChanged)); fFilterControl->SetModificationMessage(new BMessage(kMsgFilterChanged));
BButton* clearButton = new BButton("clear", "Clear", BButton* clearButton = new BButton("clear", B_TRANSLATE("Clear"),
new BMessage(kMsgClearFilter)); new BMessage(kMsgClearFilter));
fUnicodeBlockView = new UnicodeBlockView("unicodeBlocks"); fUnicodeBlockView = new UnicodeBlockView("unicodeBlocks");
@@ -187,7 +190,8 @@ CharacterWindow::CharacterWindow()
BScrollView* characterScroller = new BScrollView("characterScroller", BScrollView* characterScroller = new BScrollView("characterScroller",
fCharacterView, 0, false, true); fCharacterView, 0, false, true);
fFontSizeSlider = new FontSizeSlider("fontSizeSlider", "Font size:", fFontSizeSlider = new FontSizeSlider("fontSizeSlider",
B_TRANSLATE("Font size:"),
new BMessage(kMsgFontSizeChanged), kMinFontSize, kMaxFontSize); new BMessage(kMsgFontSizeChanged), kMinFontSize, kMaxFontSize);
fFontSizeSlider->SetValue(fontSize); fFontSizeSlider->SetValue(fontSize);
@@ -215,18 +219,19 @@ CharacterWindow::CharacterWindow()
BMenu* menu = new BMenu("File"); BMenu* menu = new BMenu("File");
BMenuItem* item; BMenuItem* item;
menu->AddItem(item = new BMenuItem("About CharacterMap" B_UTF8_ELLIPSIS, menu->AddItem(item = new BMenuItem(B_TRANSLATE("About CharacterMap"
new BMessage(B_ABOUT_REQUESTED))); B_UTF8_ELLIPSIS), new BMessage(B_ABOUT_REQUESTED)));
menu->AddSeparatorItem(); menu->AddSeparatorItem();
menu->AddItem(new BMenuItem("Quit", new BMessage(B_QUIT_REQUESTED), 'Q')); menu->AddItem(new BMenuItem(B_TRANSLATE("Quit"),
new BMessage(B_QUIT_REQUESTED), 'Q'));
menu->SetTargetForItems(this); menu->SetTargetForItems(this);
item->SetTarget(be_app); item->SetTarget(be_app);
menuBar->AddItem(menu); menuBar->AddItem(menu);
menu = new BMenu("View"); menu = new BMenu("View");
menu->AddItem(item = new BMenuItem("Show private blocks", menu->AddItem(item = new BMenuItem(B_TRANSLATE("Show private blocks"),
new BMessage(kMsgPrivateBlocks))); new BMessage(kMsgPrivateBlocks)));
item->SetMarked(fCharacterView->IsShowingPrivateBlocks()); item->SetMarked(fCharacterView->IsShowingPrivateBlocks());
// TODO: this feature is not yet supported by Haiku! // TODO: this feature is not yet supported by Haiku!
@@ -413,7 +418,7 @@ CharacterWindow::_OpenSettings(BFile& file, uint32 mode)
if (find_directory(B_USER_SETTINGS_DIRECTORY, &path) != B_OK) if (find_directory(B_USER_SETTINGS_DIRECTORY, &path) != B_OK)
return B_ERROR; return B_ERROR;
path.Append("CharacterMap settings"); path.Append(B_TRANSLATE("CharacterMap settings"));
return file.SetTo(path.Path(), mode); return file.SetTo(path.Path(), mode);
} }
+9 -1
View File
@@ -11,6 +11,14 @@ Application CharacterMap :
UnicodeBlocks.cpp UnicodeBlocks.cpp
UnicodeBlockView.cpp UnicodeBlockView.cpp
: be locale $(TARGET_LIBSUPC++) : be locale $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS)
: CharacterMap.rdef : CharacterMap.rdef
; ;
DoCatalogs CharacterMap :
x-vnd.Haiku-CharacterMap
:
CharacterMap.cpp
CharacterWindow.cpp
UnicodeBlocks.cpp
;
+213 -173
View File
@@ -6,189 +6,229 @@
#include "UnicodeBlocks.h" #include "UnicodeBlocks.h"
#include <Catalog.h>
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "UnicodeBlocks"
const unicode_block kNoBlock; const unicode_block kNoBlock;
const struct unicode_block_entry kUnicodeBlocks[] = { const struct unicode_block_entry kUnicodeBlocks[] = {
{"Basic Latin", 0x0000, 0x007f, false, B_BASIC_LATIN_BLOCK}, {B_TRANSLATE("Basic Latin"), 0x0000, 0x007f, false, B_BASIC_LATIN_BLOCK},
{"Latin-1 supplement", 0x0080, 0x00ff, false, B_LATIN1_SUPPLEMENT_BLOCK}, {B_TRANSLATE("Latin-1 supplement"), 0x0080, 0x00ff, false,
{"Latin extended A", 0x0100, 0x017f, false, B_LATIN_EXTENDED_A_BLOCK}, B_LATIN1_SUPPLEMENT_BLOCK},
{"Latin extended B", 0x0180, 0x024f, false, B_LATIN_EXTENDED_B_BLOCK}, {B_TRANSLATE("Latin extended A"), 0x0100, 0x017f, false,
{"IPA extensions", 0x0250, 0x02af, false, B_IPA_EXTENSIONS_BLOCK}, B_LATIN_EXTENDED_A_BLOCK},
{"Spacing modifier letters", 0x02b0, 0x02ff, false, {B_TRANSLATE("Latin extended B"), 0x0180, 0x024f, false,
B_LATIN_EXTENDED_B_BLOCK},
{B_TRANSLATE("IPA extensions"), 0x0250, 0x02af, false,
B_IPA_EXTENSIONS_BLOCK},
{B_TRANSLATE("Spacing modifier letters"), 0x02b0, 0x02ff, false,
B_SPACING_MODIFIER_LETTERS_BLOCK}, B_SPACING_MODIFIER_LETTERS_BLOCK},
{"Combining diacritical marks", 0x0300, 0x036f, false, {B_TRANSLATE("Combining diacritical marks"), 0x0300, 0x036f, false,
B_COMBINING_DIACRITICAL_MARKS_BLOCK}, B_COMBINING_DIACRITICAL_MARKS_BLOCK},
{"Greek and Coptic", 0x0370, 0x03ff, false, {B_TRANSLATE("Greek and Coptic"), 0x0370, 0x03ff, false,
B_BASIC_GREEK_BLOCK | B_GREEK_SYMBOLS_AND_COPTIC_BLOCK}, B_BASIC_GREEK_BLOCK | B_GREEK_SYMBOLS_AND_COPTIC_BLOCK},
{"Cyrillic", 0x0400, 0x04ff, false, B_CYRILLIC_BLOCK}, {B_TRANSLATE("Cyrillic"), 0x0400, 0x04ff, false, B_CYRILLIC_BLOCK},
{"Cyrillic supplement", 0x0500, 0x052f, false, B_CYRILLIC_BLOCK}, {B_TRANSLATE("Cyrillic supplement"), 0x0500, 0x052f, false,
{"Armenian", 0x0530, 0x058f, false, B_ARMENIAN_BLOCK}, B_CYRILLIC_BLOCK},
{"Hebrew", 0x0590, 0x05ff, false, {B_TRANSLATE("Armenian"), 0x0530, 0x058f, false, B_ARMENIAN_BLOCK},
{B_TRANSLATE("Hebrew"), 0x0590, 0x05ff, false,
B_BASIC_HEBREW_BLOCK | B_HEBREW_EXTENDED_BLOCK}, B_BASIC_HEBREW_BLOCK | B_HEBREW_EXTENDED_BLOCK},
{"Arabic", 0x0600, 0x06ff, false, {B_TRANSLATE("Arabic"), 0x0600, 0x06ff, false,
B_BASIC_ARABIC_BLOCK | B_ARABIC_EXTENDED_BLOCK}, B_BASIC_ARABIC_BLOCK | B_ARABIC_EXTENDED_BLOCK},
{"Syriac", 0x0700, 0x074f, false, kNoBlock}, {B_TRANSLATE("Syriac"), 0x0700, 0x074f, false, kNoBlock},
{"Arabic supplement", 0x0750, 0x077f, false, kNoBlock}, {B_TRANSLATE("Arabic supplement"), 0x0750, 0x077f, false, kNoBlock},
{"Thaana", 0x0780, 0x07bf, false, kNoBlock}, {B_TRANSLATE("Thaana"), 0x0780, 0x07bf, false, kNoBlock},
{"N'Ko", 0x07c0, 0x07ff, false, kNoBlock}, {B_TRANSLATE("N'Ko"), 0x07c0, 0x07ff, false, kNoBlock},
{"Devanagari", 0x0900, 0x097f, false, B_DEVANAGARI_BLOCK}, {B_TRANSLATE("Devanagari"), 0x0900, 0x097f, false, B_DEVANAGARI_BLOCK},
{"Bengali", 0x0980, 0x09ff, false, B_BENGALI_BLOCK}, {B_TRANSLATE("Bengali"), 0x0980, 0x09ff, false, B_BENGALI_BLOCK},
{"Gurmukhi", 0x0a00, 0x0a7f, false, B_GURMUKHI_BLOCK}, {B_TRANSLATE("Gurmukhi"), 0x0a00, 0x0a7f, false, B_GURMUKHI_BLOCK},
{"Gujarati", 0x0a80, 0x0aff, false, B_GUJARATI_BLOCK}, {B_TRANSLATE("Gujarati"), 0x0a80, 0x0aff, false, B_GUJARATI_BLOCK},
{"Oriya", 0x0b00, 0x0b7f, false, B_ORIYA_BLOCK}, {B_TRANSLATE("Oriya"), 0x0b00, 0x0b7f, false, B_ORIYA_BLOCK},
{"Tamil", 0x0b80, 0x0bff, false, B_TAMIL_BLOCK}, {B_TRANSLATE("Tamil"), 0x0b80, 0x0bff, false, B_TAMIL_BLOCK},
{"Telugu", 0x0c00, 0x0c7f, false, B_TELUGU_BLOCK}, {B_TRANSLATE("Telugu"), 0x0c00, 0x0c7f, false, B_TELUGU_BLOCK},
{"Kannada", 0x0c80, 0x0cff, false, B_KANNADA_BLOCK}, {B_TRANSLATE("Kannada"), 0x0c80, 0x0cff, false, B_KANNADA_BLOCK},
{"Malayalam", 0x0d00, 0x0d7f, false, B_MALAYALAM_BLOCK}, {B_TRANSLATE("Malayalam"), 0x0d00, 0x0d7f, false, B_MALAYALAM_BLOCK},
{"Sinhala", 0x0d80, 0x0dff, false, kNoBlock}, {B_TRANSLATE("Sinhala"), 0x0d80, 0x0dff, false, kNoBlock},
{"Thai", 0x0e00, 0x0e7f, false, B_THAI_BLOCK}, {B_TRANSLATE("Thai"), 0x0e00, 0x0e7f, false, B_THAI_BLOCK},
{"Lao", 0x0e80, 0x0eff, false, B_LAO_BLOCK}, {B_TRANSLATE("Lao"), 0x0e80, 0x0eff, false, B_LAO_BLOCK},
{"Tibetan", 0x0f00, 0x0fff, false, kNoBlock}, {B_TRANSLATE("Tibetan"), 0x0f00, 0x0fff, false, kNoBlock},
{"Myanmar", 0x1000, 0x109f, false, kNoBlock}, {B_TRANSLATE("Myanmar"), 0x1000, 0x109f, false, kNoBlock},
{"Georgian", 0x10a0, 0x10ff, false, B_BASIC_GEORGIAN_BLOCK}, {B_TRANSLATE("Georgian"), 0x10a0, 0x10ff, false, B_BASIC_GEORGIAN_BLOCK},
{"Hangul Jamo", 0x1100, 0x11ff, false, kNoBlock}, {B_TRANSLATE("Hangul Jamo"), 0x1100, 0x11ff, false, kNoBlock},
// TODO! // TODO!
{"Ethiopic", 0x1200, 0x137f, false, kNoBlock}, {B_TRANSLATE("Ethiopic"), 0x1200, 0x137f, false, kNoBlock},
{"Ethiopic supplement", 0x1380, 0x139f, false, kNoBlock}, {B_TRANSLATE("Ethiopic supplement"), 0x1380, 0x139f, false, kNoBlock},
{"Cherokee", 0x13a0, 0x13ff, false, kNoBlock}, {B_TRANSLATE("Cherokee"), 0x13a0, 0x13ff, false, kNoBlock},
{"Unified Canadian Aboriginal syllabics", 0x1400, 0x167f, false, kNoBlock}, {B_TRANSLATE("Unified Canadian Aboriginal syllabics"),
{"Ogham", 0x1680, 0x169f, false, kNoBlock}, 0x1400, 0x167f, false, kNoBlock},
{"Runic", 0x16a0, 0x16ff, false, kNoBlock}, {B_TRANSLATE("Ogham"), 0x1680, 0x169f, false, kNoBlock},
{"Tagalog", 0x1700, 0x171f, false, kNoBlock}, {B_TRANSLATE("Runic"), 0x16a0, 0x16ff, false, kNoBlock},
{"Hanunoo", 0x1720, 0x173f, false, kNoBlock}, {B_TRANSLATE("Tagalog"), 0x1700, 0x171f, false, kNoBlock},
{"Buhid", 0x1740, 0x175f, false, kNoBlock}, {B_TRANSLATE("Hanunoo"), 0x1720, 0x173f, false, kNoBlock},
{"Tagbanwa", 0x1760, 0x177f, false, kNoBlock}, {B_TRANSLATE("Buhid"), 0x1740, 0x175f, false, kNoBlock},
{"Khmer", 0x1780, 0x17ff, false, kNoBlock}, {B_TRANSLATE("Tagbanwa"), 0x1760, 0x177f, false, kNoBlock},
{"Mongolian", 0x1800, 0x18af, false, kNoBlock}, {B_TRANSLATE("Khmer"), 0x1780, 0x17ff, false, kNoBlock},
{"Limbu", 0x1900, 0x194f, false, kNoBlock}, {B_TRANSLATE("Mongolian"), 0x1800, 0x18af, false, kNoBlock},
{"Tai Le", 0x1950, 0x197f, false, kNoBlock}, {B_TRANSLATE("Limbu"), 0x1900, 0x194f, false, kNoBlock},
{"New Tai Lue", 0x1980, 0x19df, false, kNoBlock}, {B_TRANSLATE("Tai Le"), 0x1950, 0x197f, false, kNoBlock},
{"Khmer symbols", 0x19e0, 0x19ff, false, kNoBlock}, {B_TRANSLATE("New Tai Lue"), 0x1980, 0x19df, false, kNoBlock},
{"Buginese", 0x1a00, 0x1a1f, false, kNoBlock}, {B_TRANSLATE("Khmer symbols"), 0x19e0, 0x19ff, false, kNoBlock},
{"Balinese", 0x1b00, 0x1b7f, false, kNoBlock}, {B_TRANSLATE("Buginese"), 0x1a00, 0x1a1f, false, kNoBlock},
{"Sundanese", 0x1b80, 0x1bbf, false, kNoBlock}, {B_TRANSLATE("Balinese"), 0x1b00, 0x1b7f, false, kNoBlock},
{"Lepcha", 0x1c00, 0x1c4f, false, kNoBlock}, {B_TRANSLATE("Sundanese"), 0x1b80, 0x1bbf, false, kNoBlock},
{"Ol Chiki", 0x1c50, 0x1c7f, false, kNoBlock}, {B_TRANSLATE("Lepcha"), 0x1c00, 0x1c4f, false, kNoBlock},
{"Phonetic extensions", 0x1d00, 0x1d7f, false, kNoBlock}, {B_TRANSLATE("Ol Chiki"), 0x1c50, 0x1c7f, false, kNoBlock},
{"Phonetic extensions supplement", 0x1d80, 0x1dbf, false, kNoBlock}, {B_TRANSLATE("Phonetic extensions"), 0x1d00, 0x1d7f, false, kNoBlock},
{"Combining diacritical marks supplement", 0x1dc0, 0x1dff, false, kNoBlock}, {B_TRANSLATE("Phonetic extensions supplement"),
{"Latin extended additional", 0x1e00, 0x1eff, false, kNoBlock}, 0x1d80, 0x1dbf, false, kNoBlock},
{"Greek extended", 0x1f00, 0x1fff, false, kNoBlock}, {B_TRANSLATE("Combining diacritical marks supplement"),
{"General punctuation", 0x2000, 0x206f, false, kNoBlock}, 0x1dc0, 0x1dff, false, kNoBlock},
{"Superscripts and subscripts", 0x2070, 0x209f, false, kNoBlock}, {B_TRANSLATE("Latin extended additional"),
{"Currency symbols", 0x20a0, 0x20cf, false, kNoBlock}, 0x1e00, 0x1eff, false, kNoBlock},
{"Combining diacritical marks for symbols", 0x20d0, 0x20ff, false, {B_TRANSLATE("Greek extended"), 0x1f00, 0x1fff, false, kNoBlock},
kNoBlock}, {B_TRANSLATE("General punctuation"), 0x2000, 0x206f, false, kNoBlock},
{"Letterlike symbols", 0x2100, 0x214f, false, kNoBlock}, {B_TRANSLATE("Superscripts and subscripts"),
{"Number forms", 0x2150, 0x218f, false, kNoBlock}, 0x2070, 0x209f, false, kNoBlock},
{"Arrows", 0x2190, 0x21ff, false, kNoBlock}, {B_TRANSLATE("Currency symbols"), 0x20a0, 0x20cf, false, kNoBlock},
{"Mathematical operators", 0x2200, 0x22ff, false, kNoBlock}, {B_TRANSLATE("Combining diacritical marks for symbols"),
{"Miscellaneous technical", 0x2300, 0x23ff, false, kNoBlock}, 0x20d0, 0x20ff, false, kNoBlock},
{"Control pictures", 0x2400, 0x243f, false, kNoBlock}, {B_TRANSLATE("Letterlike symbols"), 0x2100, 0x214f, false, kNoBlock},
{"Optical character recognition", 0x2440, 0x245f, false, kNoBlock}, {B_TRANSLATE("Number forms"), 0x2150, 0x218f, false, kNoBlock},
{"Enclosed alphanumerics", 0x2460, 0x24ff, false, kNoBlock}, {B_TRANSLATE("Arrows"), 0x2190, 0x21ff, false, kNoBlock},
{"Box drawing", 0x2500, 0x257f, false, kNoBlock}, {B_TRANSLATE("Mathematical operators"), 0x2200, 0x22ff, false, kNoBlock},
{"Block elements", 0x2580, 0x259f, false, kNoBlock}, {B_TRANSLATE("Miscellaneous technical"), 0x2300, 0x23ff, false, kNoBlock},
{"Geometric shapes", 0x25a0, 0x25ff, false, kNoBlock}, {B_TRANSLATE("Control pictures"), 0x2400, 0x243f, false, kNoBlock},
{"Miscellaneous symbols", 0x2600, 0x26ff, false, kNoBlock}, {B_TRANSLATE("Optical character recognition"),
{"Dingbats", 0x2700, 0x27bf, false, kNoBlock}, 0x2440, 0x245f, false, kNoBlock},
{"Miscellaneous mathematical symbols A", 0x27c0, 0x27ef, false, kNoBlock}, {B_TRANSLATE("Enclosed alphanumerics"), 0x2460, 0x24ff, false, kNoBlock},
{"Supplemental arrows A", 0x27f0, 0x27ff, false, kNoBlock}, {B_TRANSLATE("Box drawing"), 0x2500, 0x257f, false, kNoBlock},
{"Braille patterns", 0x2800, 0x28ff, false, kNoBlock}, {B_TRANSLATE("Block elements"), 0x2580, 0x259f, false, kNoBlock},
{"Supplemental arrows B", 0x2900, 0x297f, false, kNoBlock}, {B_TRANSLATE("Geometric shapes"), 0x25a0, 0x25ff, false, kNoBlock},
{"Miscellaneous mathematical symbols B", 0x2980, 0x29ff, false, kNoBlock}, {B_TRANSLATE("Miscellaneous symbols"), 0x2600, 0x26ff, false, kNoBlock},
{"Supplemental mathematical operators", 0x2a00, 0x2aff, false, kNoBlock}, {B_TRANSLATE("Dingbats"), 0x2700, 0x27bf, false, kNoBlock},
{"Miscellaneous symbols and arrows", 0x2b00, 0x2bff, false, kNoBlock}, {B_TRANSLATE("Miscellaneous mathematical symbols A"),
{"Glagotic", 0x2c00, 0x2c5f, false, kNoBlock}, 0x27c0, 0x27ef, false, kNoBlock},
{"Latin extended C", 0x2c60, 0x2c7f, false, kNoBlock}, {B_TRANSLATE("Supplemental arrows A"), 0x27f0, 0x27ff, false, kNoBlock},
{"Coptic", 0x2c80, 0x2cff, false, kNoBlock}, {B_TRANSLATE("Braille patterns"), 0x2800, 0x28ff, false, kNoBlock},
{"Georgian supplement", 0x2d00, 0x2d2f, false, kNoBlock}, {B_TRANSLATE("Supplemental arrows B"), 0x2900, 0x297f, false, kNoBlock},
{"Tifinagh", 0x2d30, 0x2d7f, false, kNoBlock}, {B_TRANSLATE("Miscellaneous mathematical symbols B"),
{"Ethiopic extended", 0x2d80, 0x2ddf, false, kNoBlock}, 0x2980, 0x29ff, false, kNoBlock},
{"Cyrillic extended A", 0x2de0, 0x2dff, false, kNoBlock}, {B_TRANSLATE("Supplemental mathematical operators"),
{"Supplement punctuation", 0x2e00, 0x2e7f, false, kNoBlock}, 0x2a00, 0x2aff, false, kNoBlock},
{"CJK radicals supplement", 0x2e80, 0x2eff, false, kNoBlock}, {B_TRANSLATE("Miscellaneous symbols and arrows"),
{"Kangxi radicals", 0x2f00, 0x2fdf, false, kNoBlock}, 0x2b00, 0x2bff, false, kNoBlock},
{"Ideographic description characters", 0x2ff0, 0x2fff, false, kNoBlock}, {B_TRANSLATE("Glagotic"), 0x2c00, 0x2c5f, false, kNoBlock},
{"CJK symbols and punctuation", 0x3000, 0x303f, false, kNoBlock}, {B_TRANSLATE("Latin extended C"), 0x2c60, 0x2c7f, false, kNoBlock},
{"Hiragana", 0x3040, 0x309f, false, kNoBlock}, {B_TRANSLATE("Coptic"), 0x2c80, 0x2cff, false, kNoBlock},
{"Katakana", 0x30a0, 0x30ff, false, kNoBlock}, {B_TRANSLATE("Georgian supplement"), 0x2d00, 0x2d2f, false, kNoBlock},
{"Bopomofo", 0x3100, 0x312f, false, kNoBlock}, {B_TRANSLATE("Tifinagh"), 0x2d30, 0x2d7f, false, kNoBlock},
{"Hangul compatibility Jamo", 0x3130, 0x318f, false, kNoBlock}, {B_TRANSLATE("Ethiopic extended"), 0x2d80, 0x2ddf, false, kNoBlock},
{"Kanbun", 0x3190, 0x319f, false, kNoBlock}, {B_TRANSLATE("Cyrillic extended A"), 0x2de0, 0x2dff, false, kNoBlock},
{"Bopomofo extended", 0x31a0, 0x31bf, false, kNoBlock}, {B_TRANSLATE("Supplement punctuation"), 0x2e00, 0x2e7f, false, kNoBlock},
{"CJK strokes", 0x31c0, 0x31ef, false, kNoBlock}, {B_TRANSLATE("CJK radicals supplement"), 0x2e80, 0x2eff, false, kNoBlock},
{"Katakana phonetic extensions", 0x31f0, 0x31ff, false, kNoBlock}, {B_TRANSLATE("Kangxi radicals"), 0x2f00, 0x2fdf, false, kNoBlock},
{"Enclosed CJK letters and months", 0x3200, 0x32ff, false, kNoBlock}, {B_TRANSLATE("Ideographic description characters"),
{"CJK compatibility", 0x3300, 0x33ff, false, kNoBlock}, 0x2ff0, 0x2fff, false, kNoBlock},
{"CJK unified ideographs extension A", 0x3400, 0x4dbf, false, kNoBlock}, {B_TRANSLATE("CJK symbols and punctuation"),
{"Yijing hexagram symbols", 0x4dc0, 0x4dff, false, kNoBlock}, 0x3000, 0x303f, false, kNoBlock},
{"CJK unified ideographs", 0x4e00, 0x9fff, false, kNoBlock}, {B_TRANSLATE("Hiragana"), 0x3040, 0x309f, false, kNoBlock},
{"Yi syllables", 0xa000, 0xa48f, false, kNoBlock}, {B_TRANSLATE("Katakana"), 0x30a0, 0x30ff, false, kNoBlock},
{"Yi Radicals", 0xa490, 0xa4cf, false, kNoBlock}, {B_TRANSLATE("Bopomofo"), 0x3100, 0x312f, false, kNoBlock},
{"Vai", 0xa500, 0xa63f, false, kNoBlock}, {B_TRANSLATE("Hangul compatibility Jamo"), 0x3130, 0x318f, false, kNoBlock},
{"Cyrillic extended B", 0xa640, 0xa69f, false, kNoBlock}, {B_TRANSLATE("Kanbun"), 0x3190, 0x319f, false, kNoBlock},
{"Modifier tone letters", 0xa700, 0xa71f, false, kNoBlock}, {B_TRANSLATE("Bopomofo extended"), 0x31a0, 0x31bf, false, kNoBlock},
{"Latin extended D", 0xa720, 0xa7ff, false, kNoBlock}, {B_TRANSLATE("CJK strokes"), 0x31c0, 0x31ef, false, kNoBlock},
{"Syloti Nagri", 0xa800, 0xa82f, false, kNoBlock}, {B_TRANSLATE("Katakana phonetic extensions"),
{"Phags-pa", 0xa840, 0xa87f, false, kNoBlock}, 0x31f0, 0x31ff, false, kNoBlock},
{"Saurashtra", 0xa880, 0xa8df, false, kNoBlock}, {B_TRANSLATE("Enclosed CJK letters and months"),
{"Kayah Li", 0xa900, 0xa92f, false, kNoBlock}, 0x2ff0, 0x2fff, false, kNoBlock},
{"Rejang", 0xa930, 0xa95f, false, kNoBlock}, {B_TRANSLATE("CJK compatibility"), 0x3300, 0x33ff, false, kNoBlock},
{"Cham", 0xaa00, 0xaa5f, false, kNoBlock}, {B_TRANSLATE("CJK unified ideographs extension A"),
{"Hangul syllables", 0xac00, 0xd7af, false, kNoBlock}, 0x3400, 0x4dbf, false, kNoBlock},
// {"High surrogates", 0xd800, 0xdb7f, false, kNoBlock}, {B_TRANSLATE("Yijing hexagram symbols"), 0x4dc0, 0x4dff, false, kNoBlock},
// {"High private use surrogates", 0xdb80, 0xdbff, false, kNoBlock}, {B_TRANSLATE("CJK unified ideographs"), 0x4e00, 0x9fff, false, kNoBlock},
// {"Low surrogates", 0xdc00, 0xdfff, false, kNoBlock}, {B_TRANSLATE("Yi syllables"), 0xa000, 0xa48f, false, kNoBlock},
{"Private use area", 0xe000, 0xf8ff, true, kNoBlock}, {B_TRANSLATE("Yi Radicals"), 0xa490, 0xa4cf, false, kNoBlock},
{"CJK compatibility ideographs", 0xf900, 0xfaff, false, kNoBlock}, {B_TRANSLATE("Vai"), 0xa500, 0xa63f, false, kNoBlock},
{"Alphabetic presentation forms", 0xfb00, 0xfb4f, false, kNoBlock}, {B_TRANSLATE("Cyrillic extended B"), 0xa640, 0xa69f, false, kNoBlock},
{"Arabic presentation forms A", 0xfb50, 0xfdff, false, kNoBlock}, {B_TRANSLATE("Modifier tone letters"), 0xa700, 0xa71f, false, kNoBlock},
{"Variation selectors", 0xfe00, 0xfe0f, false, kNoBlock}, {B_TRANSLATE("Latin extended D"), 0xa720, 0xa7ff, false, kNoBlock},
{"Vertical forms", 0xfe10, 0xfe1f, false, kNoBlock}, {B_TRANSLATE("Syloti Nagri"), 0xa800, 0xa82f, false, kNoBlock},
{"Combining half marks", 0xfe20, 0xfe2f, false, kNoBlock}, {B_TRANSLATE("Phags-pa"), 0xa840, 0xa87f, false, kNoBlock},
{"CJK compatibility forms", 0xfe30, 0xfe4f, false, kNoBlock}, {B_TRANSLATE("Saurashtra"), 0xa880, 0xa8df, false, kNoBlock},
{"Small form variants", 0xfe50, 0xfe6f, false, kNoBlock}, {B_TRANSLATE("Kayah Li"), 0xa900, 0xa92f, false, kNoBlock},
{"Arabic presentation forms B", 0xfe70, 0xfeff, false, kNoBlock}, {B_TRANSLATE("Rejang"), 0xa930, 0xa95f, false, kNoBlock},
{"Halfwidth and fullwidth forms", 0xff00, 0xffef, false, kNoBlock}, {B_TRANSLATE("Cham"), 0xaa00, 0xaa5f, false, kNoBlock},
{"Specials", 0xfff0, 0xffff, false, kNoBlock}, {B_TRANSLATE("Hangul syllables"), 0xac00, 0xd7af, false, kNoBlock},
{"Linear B syllabary", 0x010000, 0x01007f, false, kNoBlock}, // {B_TRANSLATE("High surrogates"), 0xd800, 0xdb7f, false, kNoBlock},
{"Linear B ideograms", 0x010080, 0x0100ff, false, kNoBlock}, // {B_TRANSLATE("High private use surrogates"), 0xdb80, 0xdbff, false, kNoBlock},
{"Aegean numbers", 0x010100, 0x01013f, false, kNoBlock}, // {B_TRANSLATE("Low surrogates"), 0xdc00, 0xdfff, false, kNoBlock},
{"Ancient Greek numbers", 0x010140, 0x01018f, false, kNoBlock}, {B_TRANSLATE("Private use area"), 0xe000, 0xf8ff, true, kNoBlock},
{"Ancient smbols", 0x010190, 0x0101cf, false, kNoBlock}, {B_TRANSLATE("CJK compatibility ideographs"),
{"Phaistos disc", 0x0101d0, 0x0101ff, false, kNoBlock}, 0xf900, 0xfaff, false, kNoBlock},
{"Lycian", 0x010280, 0x01029f, false, kNoBlock}, {B_TRANSLATE("Alphabetic presentation forms"),
{"Carian", 0x0102a0, 0x0102df, false, kNoBlock}, 0xfb00, 0xfb4f, false, kNoBlock},
{"Old italic", 0x010300, 0x01032f, false, kNoBlock}, {B_TRANSLATE("Arabic presentation forms A"),
{"Gothic", 0x010330, 0x01034f, false, kNoBlock}, 0xfb50, 0xfdff, false, kNoBlock},
{"Ugaritic", 0x010380, 0x01039f, false, kNoBlock}, {B_TRANSLATE("Variation selectors"), 0xfe00, 0xfe0f, false, kNoBlock},
{"Old Persian", 0x0103a0, 0x0103df, false, kNoBlock}, {B_TRANSLATE("Vertical forms"), 0xfe10, 0xfe1f, false, kNoBlock},
{"Deseret", 0x010400, 0x01044f, false, kNoBlock}, {B_TRANSLATE("Combining half marks"), 0xfe20, 0xfe2f, false, kNoBlock},
{"Shavian", 0x010450, 0x01047f, false, kNoBlock}, {B_TRANSLATE("CJK compatibility forms"), 0xfe30, 0xfe4f, false, kNoBlock},
{"Osmanya", 0x010480, 0x0104af, false, kNoBlock}, {B_TRANSLATE("Small form variants"), 0xfe50, 0xfe6f, false, kNoBlock},
{"Cypriot syllabary", 0x010800, 0x01083f, false, kNoBlock}, {B_TRANSLATE("Arabic presentation forms B"),
{"Phoenician", 0x010900, 0x01091f, false, kNoBlock}, 0xfe70, 0xfeff, false, kNoBlock},
{"Lydian", 0x010920, 0x01093f, false, kNoBlock}, {B_TRANSLATE("Halfwidth and fullwidth forms"),
{"Kharoshthi", 0x010a00, 0x010a5f, false, kNoBlock}, 0xff00, 0xffef, false, kNoBlock},
{"Cuneiform", 0x012000, 0x0123ff, false, kNoBlock}, {B_TRANSLATE("Specials"), 0xfff0, 0xffff, false, kNoBlock},
{"Cuneiform numbers and punctuation", 0x012400, 0x01247f, false, kNoBlock}, {B_TRANSLATE("Linear B syllabary"), 0x010000, 0x01007f, false, kNoBlock},
{"Byzantine musical symbols", 0x01d000, 0x01d0ff, false, kNoBlock}, {B_TRANSLATE("Linear B ideograms"), 0x010080, 0x0100ff, false, kNoBlock},
{"Muscial symbols", 0x01d100, 0x01d1ff, false, kNoBlock}, {B_TRANSLATE("Aegean numbers"), 0x010100, 0x01013f, false, kNoBlock},
{"Ancient Greek musical notation", 0x01d200, 0x01d24f, false, kNoBlock}, {B_TRANSLATE("Ancient Greek numbers"),
{"Tai Xuan Jing symbols", 0x01d300, 0x01d35f, false, kNoBlock}, 0x010140, 0x01018f, false, kNoBlock},
{"Counting rod numerals", 0x01d360, 0x01d37f, false, kNoBlock}, {B_TRANSLATE("Ancient smbols"), 0x010190, 0x0101cf, false, kNoBlock},
{"Mathematical alphanumeric symbols", 0x01d400, 0x01d7ff, false, kNoBlock}, {B_TRANSLATE("Phaistos disc"), 0x0101d0, 0x0101ff, false, kNoBlock},
{"Mahjong tiles", 0x01f000, 0x01f02f, false, kNoBlock}, {B_TRANSLATE("Lycian"), 0x010280, 0x01029f, false, kNoBlock},
{"Domino tiles", 0x01f030, 0x01f09f, false, kNoBlock}, {B_TRANSLATE("Carian"), 0x0102a0, 0x0102df, false, kNoBlock},
{"CJK unified ideographs extension B", 0x020000, 0x02a6df, false, kNoBlock}, {B_TRANSLATE("Old italic"), 0x010300, 0x01032f, false, kNoBlock},
{"CJK compatibility ideographs Supplement", 0x02f800, 0x02fa1f, false, {B_TRANSLATE("Gothic"), 0x010330, 0x01034f, false, kNoBlock},
kNoBlock}, {B_TRANSLATE("Ugaritic"), 0x010380, 0x01039f, false, kNoBlock},
{"Tags", 0x0e0000, 0x0e007f, false, kNoBlock}, {B_TRANSLATE("Old Persian"), 0x0103a0, 0x0103df, false, kNoBlock},
{"Variation selectors supplement", 0x0e0100, 0x0e01ef, false, kNoBlock}, {B_TRANSLATE("Deseret"), 0x010400, 0x01044f, false, kNoBlock},
{"Supplementary private use area A", 0x0f0000, 0x0fffff, true, kNoBlock}, {B_TRANSLATE("Shavian"), 0x010450, 0x01047f, false, kNoBlock},
{"Supplementary private use area B", 0x100000, 0x10ffff, true, kNoBlock}, {B_TRANSLATE("Osmanya"), 0x010480, 0x0104af, false, kNoBlock},
{B_TRANSLATE("Cypriot syllabary"), 0x010800, 0x01083f, false, kNoBlock},
{B_TRANSLATE("Phoenician"), 0x010900, 0x01091f, false, kNoBlock},
{B_TRANSLATE("Lydian"), 0x010920, 0x01093f, false, kNoBlock},
{B_TRANSLATE("Kharoshthi"), 0x010a00, 0x010a5f, false, kNoBlock},
{B_TRANSLATE("Cuneiform"), 0x012000, 0x0123ff, false, kNoBlock},
{B_TRANSLATE("Cuneiform numbers and punctuation"),
0x012400, 0x01247f, false, kNoBlock},
{B_TRANSLATE("Byzantine musical symbols"),
0x01d000, 0x01d0ff, false, kNoBlock},
{B_TRANSLATE("Muscial symbols"), 0x01d100, 0x01d1ff, false, kNoBlock},
{B_TRANSLATE("Ancient Greek musical notation"),
0x01d200, 0x01d24f, false, kNoBlock},
{B_TRANSLATE("Tai Xuan Jing symbols"),
0x01d300, 0x01d35f, false, kNoBlock},
{B_TRANSLATE("Counting rod numerals"),
0x01d360, 0x01d37f, false, kNoBlock},
{B_TRANSLATE("Mathematical alphanumeric symbols"),
0x01d400, 0x01d7ff, false, kNoBlock},
{B_TRANSLATE("Mahjong tiles"), 0x01f000, 0x01f02f, false, kNoBlock},
{B_TRANSLATE("Domino tiles"), 0x01f030, 0x01f09f, false, kNoBlock},
{B_TRANSLATE("CJK unified ideographs extension B"),
0x020000, 0x02a6df, false, kNoBlock},
{B_TRANSLATE("CJK compatibility ideographs Supplement"),
0x02f800, 0x02fa1f, false, kNoBlock},
{B_TRANSLATE("Tags"), 0x0e0000, 0x0e007f, false, kNoBlock},
{B_TRANSLATE("Variation selectors supplement"),
0x0e0100, 0x0e01ef, false, kNoBlock},
{B_TRANSLATE("Supplementary private use area A"),
0x0f0000, 0x0fffff, true, kNoBlock},
{B_TRANSLATE("Supplementary private use area B"),
0x100000, 0x10ffff, true, kNoBlock},
}; };
const uint32 kNumUnicodeBlocks const uint32 kNumUnicodeBlocks
+7 -7
View File
@@ -14,6 +14,7 @@
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include <Catalog.h>
#include <Directory.h> #include <Directory.h>
#include <File.h> #include <File.h>
#include <FindDirectory.h> #include <FindDirectory.h>
@@ -21,8 +22,10 @@
#include "CalcWindow.h" #include "CalcWindow.h"
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "CalcApplication"
static const char* kSettingsFileName = "DeskCalc_settings"; static const char* kSettingsFileName = B_TRANSLATE("DeskCalc_settings");
const char* kAppSig = "application/x-vnd.Haiku-DeskCalc"; const char* kAppSig = "application/x-vnd.Haiku-DeskCalc";
static const float kDefaultWindowWidth = 220.0; static const float kDefaultWindowWidth = 220.0;
@@ -107,8 +110,7 @@ CalcApplication::_SaveSettings()
fCalcWindow->Unlock(); fCalcWindow->Unlock();
if (ret < B_OK) { if (ret < B_OK) {
fprintf(stderr, "CalcApplication::_SaveSettings() - " fprintf(stderr, "CalcApplication::_SaveSettings() - error from window: %s\n", strerror(ret));
"error from window: %s\n", strerror(ret));
return; return;
} }
@@ -116,15 +118,13 @@ CalcApplication::_SaveSettings()
BFile prefsFile; BFile prefsFile;
ret = _InitSettingsFile(&prefsFile, true); ret = _InitSettingsFile(&prefsFile, true);
if (ret < B_OK) { if (ret < B_OK) {
fprintf(stderr, "CalcApplication::_SaveSettings() - " fprintf(stderr, "CalcApplication::_SaveSettings() - error creating file: %s\n", strerror(ret));
"error creating file: %s\n", strerror(ret));
return; return;
} }
ret = archive.Flatten(&prefsFile); ret = archive.Flatten(&prefsFile);
if (ret < B_OK) { if (ret < B_OK) {
fprintf(stderr, "CalcApplication::_SaveSettings() - " fprintf(stderr, "CalcApplication::_SaveSettings() - error flattening to file: %s\n", strerror(ret));
"error flattening to file: %s\n", strerror(ret));
return; return;
} }
} }
+11 -8
View File
@@ -22,6 +22,7 @@
#include <AppFileInfo.h> #include <AppFileInfo.h>
#include <Beep.h> #include <Beep.h>
#include <Bitmap.h> #include <Bitmap.h>
#include <Catalog.h>
#include <ControlLook.h> #include <ControlLook.h>
#include <Clipboard.h> #include <Clipboard.h>
#include <File.h> #include <File.h>
@@ -41,6 +42,8 @@
#include "CalcOptions.h" #include "CalcOptions.h"
#include "ExpressionTextView.h" #include "ExpressionTextView.h"
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "CalcView"
//const uint8 K_COLOR_OFFSET = 32; //const uint8 K_COLOR_OFFSET = 32;
const float kFontScaleY = 0.4f; const float kFontScaleY = 0.4f;
@@ -682,12 +685,12 @@ CalcView::FrameResized(float width, float height)
void void
CalcView::AboutRequested() CalcView::AboutRequested()
{ {
BAlert* alert = new BAlert("about", BAlert* alert = new BAlert(B_TRANSLATE("about"),B_TRANSLATE(
"DeskCalc v2.1.0\n\n" "DeskCalc v2.1.0\n\n"
"written by Timothy Wayper,\nStephan Aßmus and Ingo Weinhold\n\n" "written by Timothy Wayper,\nStephan Aßmus and Ingo Weinhold\n\n"
B_UTF8_COPYRIGHT"1997, 1998 R3 Software Ltd.\n" B_UTF8_COPYRIGHT "1997, 1998 R3 Software Ltd.\n"
B_UTF8_COPYRIGHT"2006-2009 Haiku, Inc.\n\n" B_UTF8_COPYRIGHT "2006-2009 Haiku, Inc.\n\n"
"All Rights Reserved.", "OK"); "All Rights Reserved."), "OK");
alert->Go(NULL); alert->Go(NULL);
} }
@@ -1098,13 +1101,13 @@ void
CalcView::_CreatePopUpMenu() CalcView::_CreatePopUpMenu()
{ {
// construct items // construct items
fAutoNumlockItem = new BMenuItem("Enable Num Lock on startup", fAutoNumlockItem = new BMenuItem(B_TRANSLATE("Enable Num Lock on startup"),
new BMessage(MSG_OPTIONS_AUTO_NUM_LOCK)); new BMessage(MSG_OPTIONS_AUTO_NUM_LOCK));
fAudioFeedbackItem = new BMenuItem("Audio Feedback", fAudioFeedbackItem = new BMenuItem(B_TRANSLATE("Audio Feedback"),
new BMessage(MSG_OPTIONS_AUDIO_FEEDBACK)); new BMessage(MSG_OPTIONS_AUDIO_FEEDBACK));
fShowKeypadItem = new BMenuItem("Show keypad", fShowKeypadItem = new BMenuItem(B_TRANSLATE("Show keypad"),
new BMessage(MSG_OPTIONS_SHOW_KEYPAD)); new BMessage(MSG_OPTIONS_SHOW_KEYPAD));
fAboutItem = new BMenuItem("About DeskCalc" B_UTF8_ELLIPSIS, fAboutItem = new BMenuItem(B_TRANSLATE("About DeskCalc" B_UTF8_ELLIPSIS),
new BMessage(B_ABOUT_REQUESTED)); new BMessage(B_ABOUT_REQUESTED));
// apply current settings // apply current settings
+8 -1
View File
@@ -12,6 +12,13 @@ Application DeskCalc :
DeskCalc.cpp DeskCalc.cpp
ExpressionTextView.cpp ExpressionTextView.cpp
InputTextView.cpp InputTextView.cpp
: be $(TARGET_LIBSTDC++) media libexpression_parser.a libmapm.a : be $(TARGET_LIBSTDC++) $(HAIKU_LOCALE_LIBS) media libexpression_parser.a libmapm.a
: DeskCalc.rdef : DeskCalc.rdef
; ;
DoCatalogs DeskCalc :
x-vnd.Haiku-DeskCalc
:
CalcApplication.cpp
CalcView.cpp
;
+35 -31
View File
@@ -11,29 +11,33 @@
#include <iostream> #include <iostream>
#include <Catalog.h>
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "Device"
// This list comes from the pciid list, except for the last one // This list comes from the pciid list, except for the last one
const char* kCategoryString[] = { const char* kCategoryString[] = {
"Unclassified device", // 0x00 B_TRANSLATE("Unclassified device"), // 0x00
"Mass storage controller", // 0x01 B_TRANSLATE("Mass storage controller"), // 0x01
"Network controller", // 0x02 B_TRANSLATE("Network controller"), // 0x02
"Display controller", // 0x03 B_TRANSLATE("Display controller"), // 0x03
"Multimedia controller", // 0x04 B_TRANSLATE("Multimedia controller"), // 0x04
"Memory controller", // 0x05 B_TRANSLATE("Memory controller"), // 0x05
"Bridge", // 0x06 B_TRANSLATE("Bridge"), // 0x06
"Communication controller", // 0x07 B_TRANSLATE("Communication controller"), // 0x07
"Generic system peripheral", // 0x08 B_TRANSLATE("Generic system peripheral"), // 0x08
"Input device controller", // 0x09 B_TRANSLATE("Input device controller"), // 0x09
"Docking station", // 0x0a B_TRANSLATE("Docking station"), // 0x0a
"Processor", // 0x0b B_TRANSLATE("Processor"), // 0x0b
"Serial bus controller", // 0x0c B_TRANSLATE("Serial bus controller"), // 0x0c
"Wireless controller", // 0x0d B_TRANSLATE("Wireless controller"), // 0x0d
"Intelligent controller", // 0x0e B_TRANSLATE("Intelligent controller"), // 0x0e
"Satellite communications controller", // 0x0f B_TRANSLATE("Satellite communications controller"), // 0x0f
"Encryption controller", // 0x10 B_TRANSLATE("Encryption controller"), // 0x10
"Signal processing controller", // 0x11 B_TRANSLATE("Signal processing controller"), // 0x11
"Computer", // 0x12 (added later) B_TRANSLATE("Computer"), // 0x12 (added later)
"ACPI controller" // 0x13 (added later) B_TRANSLATE("ACPI controller") // 0x13 (added later)
}; };
@@ -46,10 +50,10 @@ Device::Device(Device* physicalParent, BusType busType, Category category,
fCategory(category), fCategory(category),
fPhysicalParent(physicalParent) fPhysicalParent(physicalParent)
{ {
SetAttribute("Device name", name); SetAttribute(B_TRANSLATE("Device name"), name);
SetAttribute("Manufacturer", manufacturer); SetAttribute(B_TRANSLATE("Manufacturer"), manufacturer);
SetAttribute("Driver used", driverUsed); SetAttribute(B_TRANSLATE("Driver used"), driverUsed);
SetAttribute("Device paths", devPathsPublished); SetAttribute(B_TRANSLATE("Device paths"), devPathsPublished);
} }
@@ -61,7 +65,7 @@ Device::~Device()
void void
Device::SetAttribute(const BString& name, const BString& value) Device::SetAttribute(const BString& name, const BString& value)
{ {
if (name == "Device name") { if (name == B_TRANSLATE("Device name")) {
SetText(value.String()); SetText(value.String());
} }
fAttributeMap[name] = value; fAttributeMap[name] = value;
@@ -72,8 +76,8 @@ Attributes
Device::GetBasicAttributes() Device::GetBasicAttributes()
{ {
Attributes attributes; Attributes attributes;
attributes.push_back(Attribute("Device name:", GetName())); attributes.push_back(Attribute(B_TRANSLATE("Device name:"), GetName()));
attributes.push_back(Attribute("Manufacturer:", GetManufacturer())); attributes.push_back(Attribute(B_TRANSLATE("Manufacturer:"), GetManufacturer()));
return attributes; return attributes;
} }
@@ -103,10 +107,10 @@ BString
Device::GetBasicStrings() Device::GetBasicStrings()
{ {
BString str; BString str;
str << "Device Name\t\t\t\t: " << GetName() << "\n"; str << B_TRANSLATE("Device Name\t\t\t\t: ") << GetName() << "\n";
str << "Manufacturer\t\t\t: " << GetManufacturer() << "\n"; str << B_TRANSLATE("Manufacturer\t\t\t: ") << GetManufacturer() << "\n";
str << "Driver used\t\t\t\t: " << GetDriverUsed() << "\n"; str << B_TRANSLATE("Driver used\t\t\t\t: ") << GetDriverUsed() << "\n";
str << "Device paths\t: " << GetDevPathsPublished(); str << B_TRANSLATE("Device paths\t: ") << GetDevPathsPublished();
return str; return str;
} }
+7 -7
View File
@@ -44,20 +44,20 @@ DeviceACPI::InitFromAttributes()
// Identify Predefined root namespaces (ACPI Spec 4.0a, p162) // Identify Predefined root namespaces (ACPI Spec 4.0a, p162)
if (rootACPIPath == "\\_SB_") { if (rootACPIPath == "\\_SB_") {
outlineName = "ACPI System Bus"; outlineName = B_TRANSLATE("ACPI System Bus");
} else if (rootACPIPath == "\\_TZ_") { } else if (rootACPIPath == "\\_TZ_") {
outlineName = "ACPI Thermal Zone"; outlineName = B_TRANSLATE("ACPI Thermal Zone");
} else if (rootACPIPath == "\\_PR_.") { } else if (rootACPIPath == "\\_PR_.") {
// each CPU node is considered a root node // each CPU node is considered a root node
outlineName << "ACPI Processor Namespace '" << nodeACPIPath << "'"; outlineName << B_TRANSLATE("ACPI Processor Namespace '") << nodeACPIPath << "'";
} else if (rootACPIPath == "\\_SI_") { } else if (rootACPIPath == "\\_SI_") {
outlineName = "ACPI System Indicator"; outlineName = B_TRANSLATE("ACPI System Indicator");
} else { } else {
outlineName << "ACPI node '" << nodeACPIPath << "'"; outlineName << B_TRANSLATE("ACPI node '") << nodeACPIPath << "'";
} }
SetAttribute("Device name", outlineName.String()); SetAttribute(B_TRANSLATE("Device name"), outlineName.String());
SetAttribute("Manufacturer", "Not implimented"); SetAttribute(B_TRANSLATE("Manufacturer"), B_TRANSLATE("Not implimented"));
SetText(outlineName.String()); SetText(outlineName.String());
} }
+4 -1
View File
@@ -10,7 +10,10 @@
#include "Device.h" #include "Device.h"
#include <Catalog.h>
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "DeviceACPI"
class DeviceACPI : public Device { class DeviceACPI : public Device {
public: public:
@@ -21,7 +24,7 @@ public:
virtual void InitFromAttributes(); virtual void InitFromAttributes();
virtual BString GetBusTabName() virtual BString GetBusTabName()
{ return "ACPI Information"; } { return B_TRANSLATE("ACPI Information"); }
}; };
#endif /* DEVICEACPI_H */ #endif /* DEVICEACPI_H */
+6 -5
View File
@@ -19,6 +19,7 @@ extern "C" {
} }
DevicePCI::DevicePCI(Device* parent) DevicePCI::DevicePCI(Device* parent)
: :
Device(parent), Device(parent),
@@ -94,11 +95,11 @@ DevicePCI::InitFromAttributes()
DeviceName << (devShort ? devShort : devFull); DeviceName << (devShort ? devShort : devFull);
} }
SetAttribute("Device name", DeviceName); SetAttribute(B_TRANSLATE("Device name"), DeviceName);
SetAttribute("Manufacturer", ManufacturerName); SetAttribute(B_TRANSLATE("Manufacturer"), ManufacturerName);
SetAttribute("Driver used", "Not implemented"); SetAttribute(B_TRANSLATE("Driver used"), B_TRANSLATE("Not implemented"));
SetAttribute("Device paths", "Not implemented"); SetAttribute(B_TRANSLATE("Device paths"), B_TRANSLATE("Not implemented"));
SetAttribute("Class info", classInfo); SetAttribute(B_TRANSLATE("Class info"), classInfo);
fCategory = (Category)fClassBaseId; fCategory = (Category)fClassBaseId;
BString outlineName; BString outlineName;
outlineName << ManufacturerName << " " << DeviceName; outlineName << ManufacturerName << " " << DeviceName;
+4 -1
View File
@@ -10,7 +10,10 @@
#include "Device.h" #include "Device.h"
#include <Catalog.h>
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "DevicePCI"
class DevicePCI : public Device { class DevicePCI : public Device {
public: public:
@@ -21,7 +24,7 @@ public:
virtual void InitFromAttributes(); virtual void InitFromAttributes();
virtual BString GetBusTabName() virtual BString GetBusTabName()
{ return "PCI Information"; } { return B_TRANSLATE("PCI Information"); }
private: private:
uint16 fClassBaseId; uint16 fClassBaseId;
+5 -2
View File
@@ -8,10 +8,13 @@
#include <Alert.h> #include <Alert.h>
#include <Application.h> #include <Application.h>
#include <Catalog.h>
#include <TextView.h> #include <TextView.h>
#include "DevicesView.h" #include "DevicesView.h"
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "DevicesApplication"
class DevicesApplication : public BApplication { class DevicesApplication : public BApplication {
public: public:
@@ -50,13 +53,13 @@ DevicesApplication::AboutRequested()
void void
DevicesApplication::ShowAbout() DevicesApplication::ShowAbout()
{ {
BAlert* alert = new BAlert("about", "Devices\n" BAlert* alert = new BAlert(B_TRANSLATE("about"), B_TRANSLATE("Devices\n"
"\twritten by Pieter Panman\n" "\twritten by Pieter Panman\n"
"\n" "\n"
"\tBased on listdev by Jérôme Duval\n" "\tBased on listdev by Jérôme Duval\n"
"\tand the previous Devices preference\n" "\tand the previous Devices preference\n"
"\tby Jérôme Duval and Sikosis\n" "\tby Jérôme Duval and Sikosis\n"
"\tCopyright 2009, Haiku, Inc.\n", "OK"); "\tCopyright 2009, Haiku, Inc.\n"), "OK");
BTextView* view = alert->TextView(); BTextView* view = alert->TextView();
BFont font; BFont font;
+19 -14
View File
@@ -8,12 +8,15 @@
#include <Application.h> #include <Application.h>
#include <Catalog.h>
#include <MenuBar.h> #include <MenuBar.h>
#include <iostream> #include <iostream>
#include "DevicesView.h" #include "DevicesView.h"
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "DevicesView"
DevicesView::DevicesView(const BRect& rect) DevicesView::DevicesView(const BRect& rect)
: BView(rect, "DevicesView", B_FOLLOW_ALL, B_WILL_DRAW | B_FRAME_EVENTS) : BView(rect, "DevicesView", B_FOLLOW_ALL, B_WILL_DRAW | B_FRAME_EVENTS)
@@ -30,20 +33,22 @@ DevicesView::CreateLayout()
SetLayout(new BGroupLayout(B_VERTICAL)); SetLayout(new BGroupLayout(B_VERTICAL));
BMenuBar* menuBar = new BMenuBar("menu"); BMenuBar* menuBar = new BMenuBar("menu");
BMenu* menu = new BMenu("Devices"); BMenu* menu = new BMenu(B_TRANSLATE("Devices"));
BMenuItem* item; BMenuItem* item;
menu->AddItem(new BMenuItem("Refresh devices", new BMessage(kMsgRefresh), 'R')); menu->AddItem(new BMenuItem(B_TRANSLATE("Refresh devices"),
menu->AddItem(item = new BMenuItem("Report compatibility", new BMessage(kMsgRefresh), 'R'));
menu->AddItem(item = new BMenuItem(B_TRANSLATE("Report compatibility"),
new BMessage(kMsgReportCompatibility))); new BMessage(kMsgReportCompatibility)));
item->SetEnabled(false); item->SetEnabled(false);
menu->AddItem(item = new BMenuItem("Generate system information", menu->AddItem(item = new BMenuItem(B_TRANSLATE(
new BMessage(kMsgGenerateSysInfo))); "Generate system information"), new BMessage(kMsgGenerateSysInfo)));
item->SetEnabled(false); item->SetEnabled(false);
menu->AddSeparatorItem(); menu->AddSeparatorItem();
menu->AddItem(item = new BMenuItem("About Devices" B_UTF8_ELLIPSIS, menu->AddItem(item = new BMenuItem(B_TRANSLATE("About Devices"
new BMessage(B_ABOUT_REQUESTED))); B_UTF8_ELLIPSIS), new BMessage(B_ABOUT_REQUESTED)));
menu->AddSeparatorItem(); menu->AddSeparatorItem();
menu->AddItem(new BMenuItem("Quit", new BMessage(B_QUIT_REQUESTED), 'Q')); menu->AddItem(new BMenuItem(B_TRANSLATE("Quit"),
new BMessage(B_QUIT_REQUESTED), 'Q'));
menu->SetTargetForItems(this); menu->SetTargetForItems(this);
item->SetTarget(be_app); item->SetTarget(be_app);
menuBar->AddItem(menu); menuBar->AddItem(menu);
@@ -60,33 +65,33 @@ DevicesView::CreateLayout()
// why? Bug? In scrollview or in outlinelistview? // why? Bug? In scrollview or in outlinelistview?
BPopUpMenu* orderByPopupMenu = new BPopUpMenu("orderByMenu"); BPopUpMenu* orderByPopupMenu = new BPopUpMenu("orderByMenu");
BMenuItem* byCategory = new BMenuItem("Category", BMenuItem* byCategory = new BMenuItem(B_TRANSLATE("Category"),
new BMessage(kMsgOrderCategory)); new BMessage(kMsgOrderCategory));
BMenuItem* byConnection = new BMenuItem("Connection", BMenuItem* byConnection = new BMenuItem(B_TRANSLATE("Connection"),
new BMessage(kMsgOrderConnection)); new BMessage(kMsgOrderConnection));
byCategory->SetMarked(true); byCategory->SetMarked(true);
fOrderBy = byCategory->IsMarked() ? ORDER_BY_CATEGORY : fOrderBy = byCategory->IsMarked() ? ORDER_BY_CATEGORY :
ORDER_BY_CONNECTION; ORDER_BY_CONNECTION;
orderByPopupMenu->AddItem(byCategory); orderByPopupMenu->AddItem(byCategory);
orderByPopupMenu->AddItem(byConnection); orderByPopupMenu->AddItem(byConnection);
fOrderByMenu = new BMenuField("Order by:", orderByPopupMenu); fOrderByMenu = new BMenuField(B_TRANSLATE("Order by:"), orderByPopupMenu);
fTabView = new BTabView("fTabView", B_WIDTH_FROM_LABEL); fTabView = new BTabView("fTabView", B_WIDTH_FROM_LABEL);
fBasicTab = new BTab(); fBasicTab = new BTab();
fBasicView = new PropertyListPlain("basicView"); fBasicView = new PropertyListPlain("basicView");
fTabView->AddTab(fBasicView, fBasicTab); fTabView->AddTab(fBasicView, fBasicTab);
fBasicTab->SetLabel("Basic information"); fBasicTab->SetLabel(B_TRANSLATE("Basic information"));
fDeviceTypeTab = new BTab(); fDeviceTypeTab = new BTab();
fBusView = new PropertyListPlain("busView"); fBusView = new PropertyListPlain("busView");
fTabView->AddTab(fBusView, fDeviceTypeTab); fTabView->AddTab(fBusView, fDeviceTypeTab);
fDeviceTypeTab->SetLabel("Bus"); fDeviceTypeTab->SetLabel(B_TRANSLATE("Bus"));
fDetailedTab = new BTab(); fDetailedTab = new BTab();
fAttributesView = new PropertyList("attributesView"); fAttributesView = new PropertyList("attributesView");
fTabView->AddTab(fAttributesView, fDetailedTab); fTabView->AddTab(fAttributesView, fDetailedTab);
fDetailedTab->SetLabel("Detailed"); fDetailedTab->SetLabel(B_TRANSLATE("Detailed"));
AddChild(BGroupLayoutBuilder(B_VERTICAL, 0) AddChild(BGroupLayoutBuilder(B_VERTICAL, 0)
.Add(menuBar) .Add(menuBar)
+12 -1
View File
@@ -72,10 +72,21 @@ Application Devices :
Device.cpp Device.cpp
PropertyList.cpp PropertyList.cpp
PropertyListPlain.cpp PropertyListPlain.cpp
: be libcolumnlistview.a tracker $(TARGET_LIBSUPC++) $(TARGET_LIBSTDC++) : be libcolumnlistview.a tracker $(TARGET_LIBSUPC++) $(TARGET_LIBSTDC++) $(HAIKU_LOCALE_LIBS)
: Devices.rdef : Devices.rdef
; ;
Includes [ FGristFiles DevicesInfo.cpp ] : [ FGristFiles isapnpids.h usbdevs.h Includes [ FGristFiles DevicesInfo.cpp ] : [ FGristFiles isapnpids.h usbdevs.h
usbdevs_data.h ] ; usbdevs_data.h ] ;
Includes [ FGristFiles ConfigurationWindow.cpp ] : [ FGristFiles pcihdr.h ] ; Includes [ FGristFiles ConfigurationWindow.cpp ] : [ FGristFiles pcihdr.h ] ;
DoCatalogs Devices :
x-vnd.Haiku-Devices
:
DevicesApplication.cpp
DevicesView.cpp
DevicePCI.h
DeviceACPI.h
Device.cpp
PropertyList.h
;
+2 -4
View File
@@ -8,12 +8,10 @@
#include "PropertyList.h" #include "PropertyList.h"
#include <ColumnTypes.h> #include <ColumnTypes.h>
//#include <stdio.h> //#include <stdio.h>
PropertyRow::PropertyRow(const char* name, const char* value) PropertyRow::PropertyRow(const char* name, const char* value)
: BRow(), : BRow(),
fName(name), fValue(value) fName(name), fValue(value)
@@ -49,10 +47,10 @@ PropertyList::PropertyList(const char* name)
B_NO_BORDER, true) B_NO_BORDER, true)
{ {
BStringColumn* nameColumn; BStringColumn* nameColumn;
AddColumn(nameColumn = new BStringColumn("Name", 150, 50, 500, AddColumn(nameColumn = new BStringColumn(B_TRANSLATE("Name"), 150, 50, 500,
B_TRUNCATE_MIDDLE), B_TRUNCATE_MIDDLE),
kNameColumn); kNameColumn);
AddColumn(new BStringColumn("Value", 150, 50, 500, B_TRUNCATE_END), AddColumn(new BStringColumn(B_TRANSLATE("Value"), 150, 50, 500, B_TRUNCATE_END),
kValueColumn); kValueColumn);
SetSortColumn(nameColumn, false, true); SetSortColumn(nameColumn, false, true);
} }
+4 -1
View File
@@ -13,7 +13,10 @@
#include <String.h> #include <String.h>
#include "Device.h" #include "Device.h"
#include <Catalog.h>
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "PropertyList"
struct Attribute; struct Attribute;
@@ -40,7 +43,7 @@ private:
class PropertyList : public BColumnListView { class PropertyList : public BColumnListView {
public: public:
PropertyList(const char* name = "Properties"); PropertyList(const char* name = B_TRANSLATE("Properties"));
virtual ~PropertyList(); virtual ~PropertyList();
void RemoveAll(); void RemoveAll();
void AddAttributes(const Attributes& attributes); void AddAttributes(const Attributes& attributes);
+8 -4
View File
@@ -16,6 +16,7 @@
// Includes ------------------------------------------------------------------------------------------ // // Includes ------------------------------------------------------------------------------------------ //
#include <Box.h> #include <Box.h>
#include <Catalog.h>
#include <Screen.h> #include <Screen.h>
#include <ScrollView.h> #include <ScrollView.h>
#include <stdio.h> #include <stdio.h>
@@ -25,6 +26,9 @@
#include "DevicesInfo.h" #include "DevicesInfo.h"
#include "DevicesWindows.h" #include "DevicesWindows.h"
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "ResourceUsageWindow"
class IRQDMAItem : public BListItem class IRQDMAItem : public BListItem
{ {
public: public:
@@ -241,16 +245,16 @@ void ResourceUsageWindow::InitWindow(BList &list)
BTab *tab = new BTab(); BTab *tab = new BTab();
tabView->AddTab(IRQScrollView, tab); tabView->AddTab(IRQScrollView, tab);
tab->SetLabel("IRQ"); tab->SetLabel(B_TRANSLATE("IRQ"));
tab = new BTab(); tab = new BTab();
tabView->AddTab(DMAScrollView, tab); tabView->AddTab(DMAScrollView, tab);
tab->SetLabel("DMA"); tab->SetLabel(B_TRANSLATE("DMA"));
tab = new BTab(); tab = new BTab();
tabView->AddTab(IORangeScrollView, tab); tabView->AddTab(IORangeScrollView, tab);
tab->SetLabel("IO Range"); tab->SetLabel(B_TRANSLATE("IO Range"));
tab = new BTab(); tab = new BTab();
tabView->AddTab(memoryScrollView, tab); tabView->AddTab(memoryScrollView, tab);
tab->SetLabel("Memory Range"); tab->SetLabel(B_TRANSLATE("Memory Range"));
{ {
uint32 mask = 1; uint32 mask = 1;