Visit the home of the ClipMate Clipboard Extender - the best software for enhancing your clipboard.
Home Order Download Support
 

Up
Guide
Details
Affiliate Info
Localization Forum
 

Translating ClipMate - Form by Form

Now the task is to go through the application, translating the relevant strings in the Strings unit, and the form strings.


Note: In v7, some of the form names have changed.  Several forms have converted to names with "float" in them. New forms TfrmFFDNews, TfrmSetTransparency, TfrmBarClassic,  TfrmCustomToolbar are new.  The list below has NOT been updated to reflect this.


Contents


Conventions

Convention Purpose
%s String replacement. This will be replaced by a string at runtime. 
ex:  "good %s" may show up as "good morning"
%d Decimal replacement. This will be replaced by a number at runtime. 
ex:  "You have %d uses left" may show up as "You have 5 uses left"
Note about % substitutions Do not remove any %d or %s placeholders. This will result in errors at runtime.
HTML Codes:  <a>, <font>, <br> etc. Many of ClipMate's controls are formatted with HTML.  This is very cool for the programmer, not so cool for the translator. You have to leave the HTML intact, and just translate the parts that the user sees. 
ex: <b><FONT bgcolor="#FFFF00">Highlight</FONT> selected keywords.</b>
Here, you'd translate the words "Highlight" and "selected keywords."
TIP:  To see what an HTML string would look like, copy the text into ClipMate, and use the "View Text as HTML" tab to "render" it as text. You'd see that the example above looks like:  Highlight selected keywords.
Note about HTML Some tags will look like regular English text that needs translating, but don't. Things like HREF, body, font, etc.  If text is between double quotes, it definitely does NOT need translating.  Text within angle brackets, such as <font>, don't need translating.  Preview the HTML in ClipMate's "View As Text" to see the results of  your translation, if you're unsure of what effect it will have.
RStrings_R_Caption* These are various captions that appear in ClipMate Explorer, on the status bar, or in the editor area when there is nothing to see. The captions of some of the tabs, where the content (HTML vs "Text as HTML") is determined at run-time.
RStrings_R_DIAG* Diagnostic messages, shown in the Clipboard Diagnostics dialog.
RStrings_R_ERR* Error messages.  The 411/511 codes are for catching crackers/pirates.
RStrings_R_Hint* Used to build tooltip hints dynamically at run-time.
RStrings_R_Hotkey* Hotkey Prompts, used in User Prefs | Hotkeys
RStrings_R_Lic* Strings used in About Box, to reflect registration/licensing status.
RStrings_R_Menu* Strings used dynamically in menus
RStrings_R_Msg* Misc messages, some displayed in msg boxes, some on the status bar.
RStrings_R_Stat* Status Bar Messages
RStrings_R_Prompt* Prompts in MsgBox dialogs
RStrings_R_Title* Titles of collections, clips, and parts thereof.
   

Resource Strings

Found under "[ResourceStrings]" section, these are error/warning messages, titles, status bar messages, etc..  Most irrelevant strings (database error message that the user would never see, for example) have been stripped out by our "stripper" utility.  

(RStrings) String Name or portion Purpose
RStrings_R_0_LANGUAGE Identifies the language used. Should be in user's native language.
ex:  Deutsch, Français, etc.
RStrings_R_0_SpellLang Language of spellchecker user interface (not dictionary).  ltEnglish, ltAfrikaans, ltBrPort, ltCzech, ltDanish, ltDutch, ltEnglish, ltFrench, ltGerman, ltItalian, ltNorwegianBok, ltPolish, ltRussian, ltSpanish, ltSwedish
RStrings_R_0_TranslatorBUYNOWURL "Buy Now" URL, within program. Must be approved by Thornsoft.  If you are an authorized reseller, this could point to your online store. Or if you sign up with our eSellerate affiliate program, this would be your "buy ClipMate" URL, containing your affiliate ID in the string.  By becoming an affiliate through eSellerate, you can earn commission on sales made in your region.
RStrings_R_0_XLATE_VER This identifies the version of the translation and will be used for "alignment" tests in future releases. i.e. to see if the translation matches.   Move this line directly into the translation with no changes, to mark your translation as "up to date".  If you use the PGRecon tool, it will automatically move this line over for you.
RStrings_R_0_XLATE_DIST Identifies the type of distribution.  Do not translate, it must match the English.Lng file exactly.  'REGULAR' for normal distributions, but you could have 'EST' if this translation is for an eSellerate EST download (affiliate download).  In this case, you would use an EST version of English.Lng. 
This is needed because the compiler will re-assign resource IDs when compiling for EST distribution.  It's a simple matter of re-running the PGRecon program for the EST version.
R_0_XLATE_HELPFILE Name of the help file, if provided. Otherwise defaults to CLIPMATE.CHM
Ex:  if you have made a German helpfile, call it CLIPMATE_GERMAN.CHM, and set this string to that name, and it will be used when the user requests help within the program.
R_0_XLATE_BABELFISH_FROMTO In the case where no helpfile has been translated, the user can still get help from a machine translation.  For example, set this to "en_fr", and when the user requests help, a machine translation will provide a translated help page via the internet.  Currently, we're using AltaVista's Babelfish, so the "from-to" coding is using their convention. Here are possible values:
  • en_ja = Japan
  • en_zt Chinese trad
  • en_zh Cchinese simp
  • en_pt = Portuguese
  • en_it = Italian
  • en_ko = Korea
  • en_fr = French
  • en_el = Greek
  • en_es = Spanish
  • en_nl = Dutch (Netherlands)
  • en_de = German
  • en_ru = Russian

The default value is "en_en", which means "no translation".

Testing:  Set the value (en_fr, en_de, etc..), but do NOT translate R_0_XLATE_HELPFILE.  Then go into ClipMate's Help menu, and select "Tutorial".  It should launch a page like this sample page. (It's our tutorial, translated into French by babelfish).  If it works, it'll re-direct through a PHP page at our site, and then bring up a translation - either through babelfish, or possibly from a cached page at our site.  Or if there IS a translated helpfile, our PHP re-director will provide instructions for downloading the new file. 

R_ARM Strings dealing with registration keys, expirations, violations.
DBZIP Backup/Restore messages
FilterFrame Dealing with Application Profile entries - mostly tips about working with various apps and formats
nag Common strings dealing with the nag screen, frm_Nag
PSCommon Used by the print/preview library
R_HTML HTML code, used on various html-aware buttons, hints, and labels.  See Note(1)
R_QP_String QuickPaste Formatting Strings.  Be careful with these. Only translate the text between the first set of brackets.  ex: [Paste Ctrl+V],[],[^V],[],[*].  You can translate "Paste Ctrl+V", but nothing else.
RStrings_zR_N
RStrings_zR_Y
"Yes/No" indicators.  This will globally change most Y/N prompts.  Use whatever single-character is used in your region. For example, "J" is used (Ja) in some countries instead of "Y".  (I know that because I took an SAP course one, and you had to type J everywhere you meant YES.
Note (1)  Be careful with the HTML. 

String Lists

"Strings" Notes
Description String lists are used to hold several options in a control, such as column headings, radio buttons, items in a listbox. 
Accessing There are lots, but here's an example:
Tools | Options | Font/Language | Bi-Direction Mode
Notes
  • They appear as ".Strings" objects in the translation file.  ex:
    PageControl1.tsFonts.rgBiDiMode.Items.Strings
  • These normally appear in the translation file separated by quotes and commas. ex:  'item 1','item2','item3'
  • The quotes need to be stripped by the import DLL, so a "placeholder" is used when working within IniTrans.  You'll see the example above showing up as:  item1|<br>|item2|<br>|item3
  • Ignore the |<br>| marks, as they'll be converted back into ',' in the output file when you export from iniTrans.  You have to leave them in place, otherwise the strings will run together.
Screen Shots Here is a screenshot showing how the |<br>| tags look in the translator. 

Forms

frmMain Notes
Description This form is hidden, but is the "container" for lots of things, including the main menu, and most of the "actions".  Actions are later attached to menus and buttons, so many of the buttons and menus on the other forms actually get their strings from the actions buried in frmMain.
Accessing You cannot access this form, it's hidden.
Notes  
ClipView Ignore all attributes of object: ClipView. There is nothing that you can/should translate here.

 

frmExplorer Notes
Description An editor window, as seen in Classic and Explorer.  Very complex, with several toolbars and editor/viewer panes, and several local "actions".
Accessing Ctrl+E, or right-click on systray, ClipMate Explorer.
Notes ClipMate Explorer. This is mostly an "empty frame", populated with a docked editor, tree, and cliplist.  Because of that, there isn't much translating to do here.

 

frmDockEditor Notes
Description An editor window, as seen in Classic and Explorer.  Very complex, with several toolbars and editor/viewer panes, and several local "actions".
Accessing It's in the lower portion of ClipMate Explorer.
Fields  
tsText Text tab, containing editor and text editing toolbar
tsRTF RTF Viewer
tsBitmap Bitmap viewer. Copy a bitmap into ClipMate, and view with this tab.
tsPicture Metafile viewer.  Used for line art, etc..
tsHTML HTML Tab.  Is the parent of an embedded frame_Web1
tsBinary Hex Dump. Turn on in Tools | Options | Advanced.
lblNothing This displays when there is no viewable data
frmDockClipList ClipList, as seen in Explorer and Classic.
frmDockTree Treeview, in upper-left of Explorer
frmGenericDialog Base class for all dialogs
frmCleanupOptions Text Clean-Up dialog. Accessed from "magic hat" icon on editor toolbar
  Take a look at the dialog prior to translating.  Leave things like #>| alone.
  If "RegEx" (Regular Expression) isn't a common term in your language, don't worry, it's not a common term in MINE either.  But technical users will know what it means.  Avoid making a nonsense translation here.

 

frmAbout Notes
Description About Box
Accessing Help | About. Hold down CTRL to force display of the "Local" tab. 
Notes
  • On the "local" tab, you can put information about your company, service, etc..  There are several fields, and the English strings are merely a recommendation of what you can use on there. 
    All translators are encouraged to translate the Local tab (substitute your country for "local").  At a minimum, you should include something like "Antarctic translation by Rodger Frostbite, e-mail: rodger@frostbite.co.ant "
  • Don't bother with contact info that is irrelevant to your region. The contact tabs can be hidden/shown by setting the aa_Show*.Caption (where * is Europe, Germany, India, Japan, Local). If they are 'y', then the tab shows. Otherwise it is hidden. The "local" one is where you can enter your own information - if you are a registration partner (where you take orders and provide tech support in your region).   For example, Rodger from Antarctica would turn on Local, but would use 'n' for Germany, Europe, India, Japan.

 

 

frmNag  Notes
Description Shareware Info/Warning/Expiration/Registration 
Accessing Help | Enter Key
Notes Click on the ClipMate Icon, and it will show the other "panes" of the display.   There are two pre-sales panes, and then the 3rd one shows when you click on the "enter key" button.
  There are lots of HTML strings here.

 

frmCaptureSpecial  Notes
Description Capture Special dialog - allows overriding autocapture and/or filter
Accessing Edit | Capture Special
Notes  

 

frmCleanupOptions  Notes
Description E-Mail and text Clean-Up
Accessing From ClipMate Explorer's editor, there is a toolbar button for this.
Notes Lots of symbols >>, etc., won't need translating.

 

frmExport Notes
Description Export Clips to TXT, BMP, or JPG files.
Accessing File | Export from the main menu
Notes  

 

frmClipProperties  Notes
Description properties of a clip
Accessing Right-click on any clip, "properties" menu.
Notes  

 

frmClassic Notes
Description ClipMate Classic. Like Explorer, also contains a ClipList and Editor.  But also contains special controls for QuickPaste.
Accessing Classic Right-click on Systray, ClipMate Classic.
Accessing QuickPaste From another application, Ctrl+Shift+Q
Notes  

 

frmSettings Notes
Description Lots and lots of settings.
Accessing Tools | Options
Notes Here is where you'll have trouble making translations fit in the allowed space.  Contact us if it looks like a field can be expanded to accommodate more length.
  The Application Profile tab actually contains an instance of frame_filter.

 

frmDSProp Notes
Description Database Properties
Accessing Tools | Options | Databases | Edit
Notes  

 

frmDoSQL Notes
Description SQL "back door"
Accessing Tools | SQL Window
Notes Low priority - most users don't use this.

 

Tframe_Web Notes
Description Embedded web viewer, within frmDockEdit
Accessing HTML or Text as HTML TAB in Editor
Notes  

 

frmCreateNewCollection Notes
Description Dialog for new collections
Accessing From Explorer, right-click on MyClips database, Add New Collection.
Notes  

 

frmClipProperties Notes
Description Clip Properties Dialog
Accessing Right-click on a clip, Properties
Notes  

 

frmEncryptKey Notes
Description Encryption dialog
Accessing Right-click on clip, Encrypt
Notes  

 

frmQuery Notes
Description Database Search dialog
Accessing View | Find
Notes Lots of 3rd-party controls on this page.

 

frmPasteTrace Notes
Description Diagnostic
Accessing Tools | Paste Trace
Notes The list of formats can not, and should not, be translated.

 

frmCaptureSpecial Notes
Description Like "paste special" in other apps.
Accessing Edit | Capture Special
Notes The list of formats can not, and should not, be translated.

 

frmQPFormats Notes
Description QuickPaste Format String editing
Accessing Tools | Options | Pasting | Edit
Notes  

 

frmReName Notes
Description Rename a clip, change a shortcut.
Accessing Right-click on a clip, Rename
Notes  

 

frmStartMenu Notes
Description Emergency maintenance startup menu
Accessing Hold down SHIFT as you start the program.
Notes Due to the way that the translations are loaded at run-time, this form cannot currently be translated. This form shows before the application initializes, so the translations aren't yet loaded, so the form won't translate. 

 

frmDBZip Notes
Description Database backup/restore.
Accessing File | Database Maintenance | (Backup|Restore)
Notes There are two panes on the dialog, run each way to see the results.

Fonts and Charsets:

The fonts listed on the Language/Fonts screen can be pre-populated by you, the translator.  This lets you recommend font/charset settings for your region. Here are the relevant settings in the translation file:

Font Setting String  ("FontFix_" prefix) Purpose Typical Values
R_SETTING_FONT Default charset for fonts. 
See Note (1)
ANSI = 0;
DEFAULT = 1;
SYMBOL = 2;
SHIFTJIS = 128;
HANGEUL = 129;
GB2312 = 134;
CHINESEBIG5 = 136;
OEM = 255;
JOHAB = 130;
HEBREW = 177;
ARABIC = 178;
GREEK = 161;
TURKISH = 162;
VIETNAMESE = 163;
THAI = 222;
EASTEUROPE = 238;
RUSSIAN = 204;
MAC = 77;
BALTIC = 186;
R_SETTING_FONT_NAME_FIXED Default fixed pitched font, used in the editor window Courier New
R_SETTING_FONT_NAME Default variable-pitch font. MS Sans Serif
MS Gothic  (Japan)
R_SETTING_FONT_DIALOG_OVERRIDE If "Y", the font named above is used in every dialog box.  Affects "all other controls" font setting. y/n
R_SETTING_FONT_SIZE Default font size in dialogs, cliplist, editor. 8
R_SETTING_FONT_BIDIMODE Switch from left-right to right-left fonts, for regions that write right to left. 0 = left-right
1=right-left
Notes:

(1) To determine font charsets, first find a working font combination within ClipMate. Then use the registry editor (regedit.exe) to inspect the value of HKEY_CURRENT_USER\Software\Thornsoft\ClipMate6\Fonts\<language>  Then inspect the various "charset" settings.

 

  Up ] Guide ] [ Details ] Affiliate Info ] Localization Forum ]