1. RK7 localization


1.1. Main scheme

1.1.0. In modern versions there are 2 translation methods: LANGER and POOTLE. This manual is about LANGER method only.

1.1.1. The main scheme is that you translate some files and areas that contain strings with messages, element names, names of the sections, etc. - strings, which are used in RK7 interface and documents.

1.1.2. Translation files are created with extension XXX, which is 3-lettered English abbreviation of your language (that is approved for Windows and set in ISO 639-3 standard).

Note: If you don’t know your language TLA, please visit http://www-01.sil.org/iso639-3/codes.asp

XXX is result that is returned by function Windows GetLocaleInfo (language, LOCALE_SABBREVLANGNAME, ...).

1.1.3. Objects saved to reference DB should be translated separately using built-in editors. You won't be able to read original (RUS) content if not set RUS to be at least 1 of 2 RK7 system languages.

1.1.4. In general, RK7 uses 2+1 translation scheme: Application user interface (1) and Database data (2) + objects extra (3).

1.1.5. Mind that you got resulting GUI made from all 3 components mentioned in 1.1.4. So, it is possible to get mess of languages in GUI in case of translation applied wrong way.

1.2. Files to translate

1.2.1. RefSrv.RUS / RefSrv.ENG (in standard supply)
1.2.2. RK7man.RUS / rk7man.eng (in standard supply)  - for manager station
1.2.3. MidServ.RUS / MidServ.eng (in standard supply)
1.2.4. RK7CASH.RUS (in standard supply): this file is uploaded to cash station \localize\ folder (from loc_rus.udb) on wincash.bat start.
1.2.5. upgradepresets.xxx (before 7.5. - Upgrade.XXX) : (created on Reference server start in \base\ folder or manually after RefSrv.XXX is fully translated).

1.2.6. rkReportsServer.Rus (in standard supply): this file is uploaded to report server folder on its start.

1.2.7. upgradedevices.xxx (before 7.5. - upgradedev.XXX) : (created on Reference server start in \base\ folder or manually after RefSrv.XXX is fully translated).

1.3. How does it work

1.3.1. User gets GUI in front office (cash station) in that language which is set to him in 'user' object property 'Complementary'->'Alt DB language' (if enabled - he gets Alternative language, if disabled - he gets Main language).

1.3.2. User gets GUI in back office (manager station) in that language which is chosen in runtime from the list in menu 'User'->'Language' of this application. But those data which come from DB (saved to DB) will take Main or Alternative language according to the setting of 'user' object property 'Complementary'->'Alt DB language'. And that data come from built-in objects (like layouts) will be given as is.

1.3.3. If GUI translation file to necessary language is not found in working folder, system language will be applied (english).

1.3.4. As shown in 1.1.5., you have resulting translated strings and other data taken from 3 places which are translated different way: common interface and messages - from application translation file, database objects - from database translation file, extra objects - from saved into database objects.

1.3.5. Moreover, data coming to RK7 core from outside (additional modules or external separate applications) - bring its own language (strings) set otside of RK7 core.

1.3.6. There is main language and alternative language.

1.3.6.1. In case you want the RK7 system work in only one language, you may set only "Main language" or set both main language and alternative language to the same language.

1.3.6.2. In case you need two languages (different), you have to set national language as Main language.

1.3.6.2. Usually, you set English as alternative language. This fits any Main language, because of character set.

1.3.6.3.. Sometimes, you set Russian or some other language as alternative. In this case you will be limited in their usage, because of character set.

1.4. User language

1.4.1. Since there are 2 languages in the system - main and alternative - you can choose lang for each user.

1.4.2. This option will change both GUI and DB language elements for front office applications.


2. Langer.exe


2.1. Get

2.1.1. Download Langer.exe (version 2.07 or newer) from UCS file server- ftp:/ftp.ucs.ru/Foreigns/TOOLS/For_translation/langer 2.5.zip

2.1.2. Translation files with actual string set get from newest RK7 distributive (some of them are created during this application uptime - start that to get files).

2.1.3. You may try to find translation files from other people - you have to check that actuality than and add new strings if necessary.

2.2. Use

2.2.1. Files *.XXX are created and translated with the help of Langer.exe.

2.2.2. Every file is displayed like simplified table. Left column - system strings, right one - translated to local language.

2.2.3. Main thing is to set charset correctly. Keyboard layout is set by pressing button “keyboard” (if system keyboard is set correctly and switched to local lang at the moment).

2.2.4. In the column “Translate” you add strings in your language using current input method and character set.

ATTENTION: Variables (format strings) should not be translated – they contain parts such as «%d», «%s». It is also important to check order and quantity of such fragments. If you want to replace fragments, you should indicate indexes.

Example:
Element “%s” was not found in collection “%s”           will output:         Element “Cake” was not found in collection “Food”
In collection “%1:s” element “%0:s” was not found            will output:      In collection “Food” element “Cake” was not found

2.2.5. You could add new strings to old translation files using Langer "on compare" method. Open old translated file first.

2.2.6. Add newest russian translation of the same type by pressing "compare with source". Fill in empty strings and save.


3. upgradepresets.xxx (upgrade.XXX)


3.1. You should translate upgradepresets.xxx manually as all the other localization files.
3.2. After you fully translated RefSrv.RUS / RefSrv.ENG, place it in BIN/WIN and set file rk7srv.ini:

[REFSERVER]
Server=ref_serv_name
UDBFILE=..\..\base\rk7.udb

MainLang=.\RefSrv.XXX

AltLang=.\RefSrv.ENG

WorkModules=..\..\base\workmods
UpgradeTranslateRussian=0
UpgradeAltTranslateRussian=0

UpgadeAnyTime=1

3.3. After that place upgradepresets.abs (upgrade.udb) (if not yet there) in folder with reference database (by default, it is folder BASE), start reference server and it will recreate rk7.udb copying your old one and applying translated strings.

3.4. If not yet there, the file upgradepresets.abs (upgrade.XXX) will appear in the folder BASE. It should be translated in the usual way like other files using Langer application.
3.5. Your upgradepresets.xxx will be created with fields in the left column in English, so you’ll translate from English to your language.
3.6. If you want to translate from Russian instead of English, in rk7srv.ini [REFSERVER] section set UpgradeTranslateRussian=1 (for main language) and UpgradeAltTranslateRussian=1 (for alternative language) and do not change these 2 parameters in future.

3.7. By default (if no corresponding string set in .ini file) UpgradeTranslateRussian=0 and UpgradeAltTranslateRussian=1 ! This means that Main language strings will be translated from English and alternative language strings will be translated from Russian.

3.8. If you set both languages to be the same or haven't set alt.lang at all these 2 parameters must have equal values (UpgradeTranslateRussian=UpgradeAltTranslateRussian).


4. How to apply translated files


4.1. Reference server

4.1.1. As it was said above, in rk7srv.ini you set parameter 'MainLang=', 'AltLang=' and as temporary action 'UpgradeAnyTime=1'.

4.1.2. Place upgrade.udb in folder with database (folder BASE).
4.1.3. Start reference server – file without translation of pre-defined values will be created (if not yet there) - upgradepresets.XXX.
4.1.4. Translate created upgradepresets.XXX
4.1.5. Start reference server again  – pre-defined values will be translated.
4.1.6. Set back UpgradeAnyTime=0 in rk7srv.ini. For clients simply put upgrade.XXX near upgrade.udb.
4.1.7. Do not change "UpgradeTranslateRussian=" and "UpgradeAltTranslateRussian=" values in future after DB creation.

4.1.8. It is recommended to decide 2 system languages before reference DB creation and never change languages chosen in future.

4.2. Manager station

4.2.1. Put translation file(s) (rk7man.XXX) to the application folder (default: /BIN/WIN/).
4.2.2. After starting manager station, choose language in: "top menu row" -> User -> Language -> [choose language from the list].

4.3. Midserver

4.3.1. Place file MidServ.XXX in the same folder with application exe (default - BIN/WIN) and in file RKEEPER.INI set start language

[Config]
Client = CASH_SERV
RefServer = REF_SERV
BasePath = ..\..\MIDBASE
TwoFilesMode=1
StartLang=.\MidServ.XXX

4.3.2. After that run midserver in usual way.

4.4. Cash station

4.4.1. Add language driver to DOS (if any) cash station drivers list. Not necessary for windows.

4.4.2. If you have got no your language driver among those in a list - you have to create development issue and wait for.

4.4.3. Put your translated RK7Cash.XXX file into folder \localize\ (folder near cash station application). This step is different from servers, where you put files to the same folder with exe.

4.4.4. Add [Config] StartLang=.\rk7cash.XXX to wincash.ini.


5. Additional translation


5.1. Forms

If on cash station there are still non-translated symbols, please make sure that used forms have property AutoTranslation switched on.
(On manager: Options --> User interface --> Forms --> Property of the form --> AutoTranslation --> put tick)

5.2. Printed documents (checks, reports, bills, etc)

On manager station go to Options --> Printing --> Documents and layouts
Copy-paste pre-defined layouts and open them for editing. Translate all fields there. Don’t forget to make layouts active.

 

After that go to Options --> Printing --> Printing schemes and add translated layouts into printing schemes.