[sword-devel] i18n translators needed

Troy A. Griffitts sword-devel@crosswire.org
Thu, 04 Jul 2002 04:44:08 -0700


This is a multi-part message in MIME format.
--------------090800060503030909010901
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit

The Windows frontend should now be completely internationalized.  If you 
are a speaker of another language, we would love for you to make a 
locale file with the translations of all the strings in the program.

You will need the latest beta available here:

http://www.crosswire.org/sword/ALPHAcckswwlkrfre22034820285912/alpha/sword-1.5.4betaK.zip

inside you will find a directory: uilocales.d
in this directory is a sample (and still incomplete) german local, de.conf

You can use this as a starting point to copy and change the translation 
strings for your language.

Since the sample de.conf is still incomplete, below, you will find the 
actual code in the program that does the string substitutions.  You 
don't need to understand what it does, only look for the _tr() macro and 
translate all the strings you find contained therein.  Duplicates may 
exist, e.g. _tr("OK").  These only need to be included in the locale 
file once.

There are 2 bitmaps that we use for back and search buttons.  You may 
override these bitmaps with the locale entries, e.g.

BackBtnImage=back_de.bmp
SearchBtnImage=search_de.bmp

I've included our english versions that you might be able to use for 
reference (or to just paint over).
If you're not good at graphics, don't feel the bitmaps are manditory. 
We'd still like to have your translations.

Looking forward to all of your contributions!  Hoping many more people 
in many other countries will be brought the saving knowledge in the 
Gospel of our Lord!

	Thanks for your partnership in this ministry,
		-Troy.



_______________________
Locale code:

     tmp = _tr("BackBtnImage");
     if (strcmp("BackBtnImage", tmp)) {
         pic->LoadFromFile(tmp);
         bitmap = pic->Bitmap;
     }
     else bitmap = BackBtnImage->Picture->Bitmap;

     TColor transColor = bitmap->Canvas->Pixels[0][0];
     ImageList1->AddMasked(bitmap, transColor);

     tmp = _tr("SearchBtnImage");
     if (strcmp("SearchBtnImage", tmp)) {
         pic->LoadFromFile(tmp);
         bitmap = pic->Bitmap;
     }
     else bitmap = SearchBtnImage->Picture->Bitmap;

     transColor = bitmap->Canvas->Pixels[0][0];
     ImageList1->AddMasked(bitmap, transColor);

     bitmap = BookmarkBtnImage->Picture->Bitmap;
     transColor = bitmap->Canvas->Pixels[0][0];
     ImageList2->AddMasked(bitmap, transColor);

     delete pic;

     // MainForm
     File1->Caption = _tr("&File");
     SaveLayout1->Caption = _tr("S&ave Layout");
     Exit1->Caption = _tr("E&xit");
     Edit1->Caption = _tr("&Edit");
     Copy1->Caption = _tr("&Copy");
     Copy2->Caption = _tr("&Copy");
     Copy3->Caption = _tr("&Copy");
     Copy4->Caption = _tr("&Copy");
     CopyasBGreekTransliteration1->Caption = _tr("Copy as &B-Greek 
Transliteration");
     MenuItem1->Caption = _tr("Dictionary Lookup");
     Copy4->Caption = _tr("&Copy");
     Copy4->Caption = _tr("&Copy");
     Copy4->Caption = _tr("&Copy");
     Options2->Caption = _tr("Options");
     Options1->Caption = _tr("&Preferences...");
     Search1->Caption = _tr("&Search");
     NewSearchWindow1->Caption = _tr("&New Search Window");
     Tools1->Caption = _tr("&Tools");
     InstallManager1->Caption = _tr("Install Manager");
     Help1->Caption = _tr("&Help");
     Contents1->Caption = _tr("Contents");
     DevotionaloftheDay1->Caption = _tr("Devotional of the Day");
     About1->Caption = _tr("&About");
     Bookmarkbtn->Caption = _tr("Bookmark");
     DictionaryLookup1->Caption = _tr("Dictionary Lookup");
     DictionaryLookup2->Caption = _tr("Dictionary Lookup");
     EditEntry1->Caption = _tr("&Edit Entry");
     DeleteEntry1->Caption = _tr("&Delete Entry");
     LinktoVerse1->Caption = _tr("Link to Comment for Verse...");
     AddBookmark1->Caption = _tr("&Add Bookmark");
     EditBookmarks1->Caption = _tr("&Edit Bookmarks / Tree View...");
     HideShowModules1->Caption = _tr("Hide / Show Modules");

     // AboutBox
     AboutBox->Caption = _tr("About The SWORD Project");
     AboutBox->OKButton->Caption = _tr("OK");

     // bookmarkForm
     bookmarkForm->Caption = _tr("Bookmarks");

     // DevOfTheDay2
     DevOfTheDay2->Caption = _tr("Devotion for Today");
     DevOfTheDay2->ckShowTip->Caption = _tr("Show Devotional at Startup");
     DevOfTheDay2->btnOK->Caption = _tr("&Close");

     // EditEntryForm
     EditEntryForm->Caption = _tr("Edit Entry");
     EditEntryForm->Label1->Caption = _tr("Font Size:");



     // ModInstForm
     ModInstFrm->Caption = _tr("Found New Module...");
     ModInstFrm->OkBtn->Caption = _tr("OK");

     // ModVisForm
     ModVisForm->Caption = _tr("Check Modules To Show As Tabs");
     ModVisForm->modList->Columns->Items[0]->Caption = _tr("Module");
     ModVisForm->modList->Columns->Items[1]->Caption = _tr("Description");
     ModVisForm->OkBtn->Caption = _tr("OK");
     ModVisForm->CancelBtn->Caption = _tr("Cancel");

     // NewBMfrm
     NewBMfrm->Caption = _tr("Add New Bookmark File");
     NewBMfrm->Label1->Caption = _tr("File Name (without extension):");
     NewBMfrm->Label2->Caption = _tr("Bookmark Section Title:");
     NewBMfrm->OkBtn->Caption = _tr("OK");
     NewBMfrm->CancelBtn->Caption = _tr("Cancel");

     // OptionsForm
     Optionsfrm->Caption = _tr("Preferences");
     Optionsfrm->TabSheet1->Caption = _tr("General");
     Optionsfrm->TabSheet2->Caption = _tr("Special Modules");
     Optionsfrm->TabSheet3->Caption = _tr("Display");
     Optionsfrm->gbPersonalize->Caption = _tr("Personalize");
     Optionsfrm->AutoBMPersonal->Caption = _tr("Save Personal Bookmarks");
     Optionsfrm->AutoBMOther->Caption = _tr("Save Other Bookmarks");
     Optionsfrm->HintPopups->Caption = _tr("Show Hint Pop-ups");
     Optionsfrm->Label4->Caption = _tr("Language");
     Optionsfrm->AutoLayout->Caption = _tr("Save Screen Layout");
     Optionsfrm->HintStrongs->Caption = _tr("Show Hint Over Strongs 
Numbers");
     Optionsfrm->OkBtn->Caption = _tr("OK");
     Optionsfrm->CancelBtn->Caption = _tr("Cancel");
     Optionsfrm->gbDefModules->Caption = _tr("Original Language Support 
- Default Modules");
     Optionsfrm->Label7->Caption = _tr("Definitions");
     Optionsfrm->Label8->Caption = _tr("Parsing");
     Optionsfrm->Label5->Caption = _tr("Greek");
     Optionsfrm->Label6->Caption = _tr("Hebrew");
     Optionsfrm->Label10->Caption = _tr("Strong's Numbered Text");
     Optionsfrm->gbDevos->Caption = _tr("Daily Devotionals");
     Optionsfrm->Label9->Caption = _tr("Default Devotional");
     Optionsfrm->devSplashCB->Caption = _tr("Show Devotional Splash 
Screen on Startup");
     Optionsfrm->devsAsDictsCB->Caption = _tr("Show Devotionals as 
Dictionaries");
     Optionsfrm->gbGloss->Caption = _tr("Glossaries");
     Optionsfrm->glosAsDictsCB->Caption = _tr("Show Glossaries as 
Dictionaries");
     Optionsfrm->gbColors->Caption = _tr("Display Colors");
     Optionsfrm->Label2->Caption = _tr("Preview");
     Optionsfrm->Label3->Caption = _tr("Module Type");
     Optionsfrm->Label14->Caption = _tr("Scheme");
     Optionsfrm->Label11->Caption = _tr("Text Font");
     Optionsfrm->btnFont->Caption = _tr("Select Font...");
     Optionsfrm->Label13->Caption = _tr("Verse Number Color");
     Optionsfrm->btnNumClr->Caption = _tr("Select Color...");
     Optionsfrm->AutoVSColor->Caption = _tr("Current Verse Color");
     Optionsfrm->btnCurrVerse->Caption = _tr("Select Color...");
     Optionsfrm->Label15->Caption = _tr("Combo/Edit Fields");
     Optionsfrm->btnFieldClr->Caption = _tr("Select Color...");
     Optionsfrm->Label1->Caption = _tr("Individual Modules (Font Only)");
     Optionsfrm->btnModFonts->Caption = _tr("Select Font...");

     // RangeMaintForm
     RangeMaintForm->Caption = _tr("Maintain Custom Ranges");
     RangeMaintForm->Label1->Caption = _tr("Range Name");
     RangeMaintForm->Label2->Caption = _tr("Range Text");
     RangeMaintForm->Label3->Caption = _tr("eg. mat-jo;rev4");
     RangeMaintForm->SpeedButton1->Caption = _tr("&Add");
     RangeMaintForm->SpeedButton2->Caption = _tr("&Remove");
     RangeMaintForm->SpeedButton3->Caption = _tr("&Save");
     RangeMaintForm->SpeedButton4->Caption = _tr("&Cancel");

     // searchForm
     searchForm->Caption = _tr("Search...");
     searchForm->searchBtn->Caption = _tr("Search");
     searchForm->searchTypeGroup->Caption = _tr("Search Type");
     searchForm->searchTypeGroup->Items->CommaText = _tr("\"Mult 
Word\",\"Phrase\",\"Regular Expression\"");
     searchForm->caseSensitiveCkBx->Caption = _tr("Case Sensitive");
     searchForm->searchOptionsGroup->Caption = _tr("Search Options");
     searchForm->scopeGroup->Caption = _tr("Scope");
     searchForm->scopeGroup->Items->CommaText = _tr("\"Entire 
Module\",\"Current Results\",\"Custom Range\"");
     searchForm->customRangeBtn->Caption = _tr("Define Custom Range");
     searchForm->resultsLV->Columns->Items[0]->Caption = _tr("Reference");
     searchForm->resultsLV->Columns->Items[1]->Caption = _tr("Preview...");

     // VerseSelFrm
     VerseSelFrm->Caption = _tr("Type Verse");
     VerseSelFrm->OkBtn->Caption = _tr("OkBtn");
     VerseSelFrm->CancelBtn->Caption = _tr("Cancel");

     // VerseListFrm
     VerseListFrm->Caption = _tr("Verse List");

--------------090800060503030909010901
Content-Type: image/bmp;
 name="search.bmp"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
 filename="search.bmp"

Qk0MAwAAAAAAAGIAAAAoAAAAJgAAACIAAAABAAQAAAAAAAAAAAASCwAAEgsAAAsAAAALAAAA
////APL1/wD/9+EAusDPAH6CjwDbuXcAxIYjAPb/DAACAAYAta7OAAAAAACZmZmZmZmZmZmZ
mZmZmZmZiZmZAJmZmZmZmZmZmZmZmZmZmZmYmZkAmZmZmZmZmZmZmZmZmZmZmZiZmQCZiImZ
iImYiZiJiZmZiImYmYmZAJiZmJiJmJiYmJmJmZiZmJiZmJkAmJmYmJmYmJiImYiZmJmYmImY
mQCZmZiYiJmYmZiZiJmYmZmYiZmJAJmZiZiZiJmJmJmImZiZmZiImYkAmYiZmJmYmYmYmYmJ
mJmYmIiZiQCYiZmZiZiZmJiYiIiZiZiZiYmJAJiZmZmYiZmZiJmYmJmYiJmJmIkAmImJmZmZ
mZmZmZmZmZmZmYmZmQCZiImZmIiZmZmZmZmZmZmZiZmZAJmZmZmGZomZmZmZmZmZmZmJmZkA
mZmZmWd2aJmZmZmZmZmZmYmZmQCZmZmZVneGiZmZmZmZmZmZmJmZAJmZmZmVaHhomZmZmZmZ
mZmYmZkAmZmZmZlWh4aJmZmZmZmZmZiJmQCZmZmZmZVodEhEiIiJmZmZmZmZAJmZmZmZmVZz
RIiIiIiJmZmZmZkAmZmZmZmZlWFIiCIiIoiZmZmZmQCZmZmZmZmZU4iCIiIiKImZmZmZAJmZ
mZmZmZmYiCIiIiIiiZmZmZkAmZmZmZmZmZiCIiIiIiIomZmZmQCZmZmZmZmZmIIiIiIiIiSZ
mZmZAJmZmZmZmZmYQiIiIiIiJJmZmZkAmZmZmZmZmZhCIiIiIiIkmZmZmQCZmZmZmZmZmEIi
IiIiIiSZmZmZAJmZmZmZmZmYQiIiIiIiJJmZmZkAmZmZmZmZmZmCIiIiIiJJmZmZmQCZmZmZ
mZmZmYkiIiIiIkmZmZmZAJmZmZmZmZmZlJIiIiIkmZmZmZkAmZmZmZmZmZmZRCIiJEmZmZmZ
mQCZmZmZmZmZmZmZRERJmZmZmZmZAAAA
--------------090800060503030909010901
Content-Type: image/bmp;
 name="back.bmp"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
 filename="back.bmp"

Qk0KAwAAAAAAAGIAAAAoAAAAJgAAACIAAAABAAQAAAAAAKgCAAABAAAAAQAAAAsAAAALAAAA
////AP/PzgC1rs4AhIKEAJz/MQAhICEAAP8AAISCAAAAggAAOTQAAAAAAAB3d3d3d3d3d3d3
d3d3d3d3d3d3AHd3d3d3d3d3d3d3d3d3d3end3cAd3d3d3d3d3d3d3d3d3d3end3dwB3d3qn
qqd6p3qneqp3p3end3d3AHd3d3p3enp6enend6end6d3d3cAd3d3end6enqqd6d3p6p6d3d3
dwB3d3d6d3p6d3p3p3d3eqp3d3d3AHd3d3p3qnenenend3d6d6d3d3cAd3d3eqqnd6d6d6d3
p3qnend3dwB3d3d6d6p3enp3enenenp6d3d3AHd3d3p3end3qnd3qqd6d6p3d3cAd3d3end6
d3d3d3d3d3p3d3d3dwB3d3qqqqd3d3d3VXd3end3d3d3AHd3d3d3d3d3d3aFd3d6d3d3d3cA
d3d3d3d3d3d3aGh3d3end3d3dwB3d3d3d3d3d3aGiHd3d6d3d3d3AHd3d3d3d3d3aGhod3d3
p3d3d3cAd3d3d3d3d3aGhoh3d3eqd3d3dwB3d3d3d3d3aGhoaHd3d3d3d3d3AHd3d3d3d3aG
hoaGhpd3d3d3d3cAd3d3d3d3aGhoaGhoN3d3d3d3dwB3d3d3d3aGhoaGhoZXd3d3d3d3AHd3
d3d3eGhIaGhoaFd3d3d3d3cAd3d3d3d0IUFBYWFhV3d3d3d3dwB3d3d3d3dCFBQWFhY3d3d3
d3d3AHd3d3d3d3QhQUFhYZd3d3d3d3cAd3d3d3d3d0IUFBh3d3d3d3d3dwB3d3d3d3d3dCFB
aHd3d3d3d3d3AHd3d3d3d3d3QhQYd3d3d3d3d3cAd3d3d3d3d3d0IWh3d3d3d3d3dwB3d3d3
d3d3d3dCGHd3d3d3d3d3AHd3d3d3d3d3d3Qld3d3d3d3d3cAd3d3d3d3d3d3d0N3d3d3d3d3
dwB3d3d3d3d3d3d3d3d3d3d3d3d3AA==
--------------090800060503030909010901--