Updated 2-26-24
Fatal error if text string = 80 characters.

In Version 1.1 Additional characters added to "Alternate characters" feature including box drawing characters.
In Version 1.2 Enhanced "Search" feature. You do not have to press [CTRL] when scrolling.
In version 1.3 To the entire file you can now...
Restore original text to the program you are editing
Copy the program text strings to the translations.
Clear the translations.
And the "Search" feature is even more improved.
Current version is Version is 1.3
Change "Cash Register" into a different language.

The Spanish version of Cash Register.
Since this program came out many, many people have asked me to create a version in their language. I have always said that in it's current form that it would be impossible for 2 main reasons.

1. I speak no other language so I can't do it and I do not give out the source code so no one else can do it either.

2. Even if it could be done, when a new version came out it would all have to be converted again.

So what has changed? The current version is very robust and bug free. It has also reached the size limit for a DOS program. I cannot put anything more in to it. So there will be no upgrades of the DOS version of the program. (However I am working on a 64 bit version.)

So now I have created a "Hex Editor." This is how it works.

The Cash Register program consists of many program files like POS.EXE, FILEINFO.EXE, POSCONFG.EXE and so on. I have written a new program POS_EDIT.EXE that will find all of the texts in a Cash Register program file and allow you to type in a new text in a different language to replace the English text.

This will not be an easy chore for you. Some of the Cash Register program files will have about a thousand texts. Most of the texts will be short and none of the texts will be longer than 80 characters. For example here is a list of all of the text strings in the POS.EXE file.

However you do not have to change all of the Cash Register program files. If you do not use a feature, like "Tickets" or "Time sales" then there is no point in translating the program files for those features. If you only want your employees that ring up sales to see a different language then you do not have to translate the setup program files like POSCONFG.EXE.

It is also possible that you may know someone else using this program that would wish to share the load, you translate some files and he translates others.

I have also created a forum on the DHPOS BBS where folks translating to the same language can work together. NOTE: To use the forum you must go there and register. Then you must also send me an E-MAIL telling me why you want to join and I will approve your registration. We are having a lot of spam-bots trying to register and the email dodge is a way to keep them out.

You can also join the conversation on Facebook.

Just so you know the problems you are signing up for, the manual for this program is below the download links.

To accomplish the translations will require several things...

1. You must download the POS_EDIT.EXE program below.

2. You must have the current version 7.1J of all the program files. Attempting to translate a different version will cause a disaster.

3. To translate a program file you must also have the corresponding text data file. For example if you wish to translate the POS.EXE file you must also have the POS_EDIT.DAT file. To translate FILEINFO.EXE you must have FILEINFO_EDIT.DAT. Currently I do not have a data file for each program file. I am working on it as fast as I can. The ones I do have can be downloaded below.

Want to share?

When you do come up with a translation do you want to share it? You can either send it to me to post on this page, or post it on your own page and I will provide a link to it.

To download POSEDIT.EXE
which when run on 32 bit system
will extract the POS_EDIT.EXE
file which is the program file
you use to run the program.
Version 1.3 - Released 2-26-24
Requires windows XP or later.
Does not require DOSBox.
Click here to download POSEDIT.EXE

Click to download.
600 Kilobyte file

Click here to download POSEDIT.ZIP

Click to download.
600 Kilobyte file

To download POSEDIT.ZIP
for 64 bit system and must use
unzipping utility to extract the
POS_EDIT.EXE file which is the
program file you use to run the program.
Version 1.3 - Released 2-26-24
Requires Windows XP or later.
Does not require DOSBox.

Here are the currently available text data files...

GIFTCARD_EDIT.DATSells gift cards
FILEINFO_EDIT.DATPerforms the "Reports" function.
POS_EDIT.DATThe main program that rings up sales.
THEATER_EDIT.DATSets up and sells tickets.

The next data file I will do will be "by request." Send me an E-MAIL and vote for the one I should do next.

Below is the manual for the hex editor....

Cash Register program hex editor.

Note: the document below contains non-standard characters which will be printed as [?] on your browser.

POS_EDIT.EXE is a program that will allow you to change the program files in the Cash Register software into a different language. There are a few conditions.


The first is that the replacement text cannot be even one character longer than the original text.

The second is that the text must use the Latin alphabet and the other characters on the standard American keyboard. You may also use the foreign language characters like "

In addition there are several characters that may be in your text but will have an effect on how the program operates. Be careful of the following.

["] The programming language in many cases uses quote marks to mark the ends of texts. In the original text quote marks are replaced by apostrophes ['] which you may also use. Do not for any reason enter a quote mark into your text.

[,] The programming language in many cases uses commas to mark the boundary between texts. If the original text does not include a comma you may not use a comma in your text.

[#] Pound signs are used to format how numbers are displayed. If your text removes or changes the pound signs the program may either crash or display weird numerical data. The exception to this is if there is only one [#] at the end of a text. In that case the [#] sign is there to tell the user that a number is supposed to be entered.

[!] Exclimation points may be used to format a single digit number.

[\] Back slashes are used to format how strings are displayed. If you add, remove, or move a back slash the program will either crash or display weird data.

Numbers. If a string begins with single digit like [2. Remove] then the number may be a menu option. Removing or changing the number may be confusing.

[POSCONFG.EXE] Program file names. Do not change program file names in your new text.

The program uses graphics characters to draw lines and boxes on the screen. It is not a good idea to move or change them. Although you can use the "Alternate characters" to re-enter box characters if you accidentally delete one.

[:] A colon usually indicates that a text is right justified so if your text is smaller than the original put your filler spaces on the left.

When you search for a text to change, the program will display several adjacent original texts on the screen because one message may span more than one text string. For example...

This register is programmed to use APRINT6.EXE
to print. Is this program running? Y - N

You do not have to translate each text separately. Your new text can span the two (or more) text strings.


POS_EDIT.EXE screen.

Translation entry screen.

To use this program create a new folder on your hard drive. Copy all the files (program and data) to this new folder. Download this program to the new folder. This is the folder that you will use to translate and test the Cash Register program.

Now run the POS_EDIT.EXE program and from the main menu option 1 will be to 'Choose program file.' When you select this you will be shown the list of Cash Register program files and a short description of each file. Note: Some programs are actually spread out over several files. For example the POSCONFG.EXE program actually consists of the POSCONFG.EXE, CF.EXE and CF2.EXE files. To completely translate the POSCONFG.EXE program you would have to translate all 3 files.

Choose the program file you wish to work on. To work on each program file you will need the corresponding text string file for that program file. If the text string file is not located you will be asked to choose a different program file.

As I create the text string files for each program file they will be posted for download at http://keyhut.com/language.htm

Menu option 2 is 'Search for and change text.' when you choose this option you will be shown the list of the original texts in the program file you have chosen. However you can choose to display the translations if you wish. Press [TAB] to toggle between displaying the original text or the translations. NOTE: When you start on a text list there will be no translations yet, so if you display the translation list it will be all blank.

Scroll through the list of texts (or press [F2] to search the list) At the bottom of the screen you will be shown the original text, the current translation, and what is now in the program file. There will also be an 'input box' where you can type in a new translation. Pressing [F1] will copy the original text to the input box. Pressing [F4] will copy the current translation into the input box. Pressing [F5] copies the original text to the program. (You would use this if you have made some horrible error to try to fix it.) Pressing [F8] copies the stored translation to the program. Pressing [F9] copies the input box to the stored translation. So getting the text in the input box to the program is a two step process. Press [F9] to copy the input box to the stored translation then press [F8] to copy the stored translation to the actual program file.

To enter extended characters like o etc. press [F6]. Press [F2] to search for another text to translate. NOTE: When searching, if you are displying the original texts you will search the original texts. If you are displaying the saved translation texts you will search the saved translation texts.


If you are already running the program file you are translating, when you insert a new translation it will not appear in the running program. Only the copy of the program on the disk will be changed. To test the translation you must start the program file after the translation has been saved. Odds are, this will not go perfectly. The best case is that the translation will be just fine. More likely (if you have changed many texts) is that some of the translations will not look just right. They may not be centered or correctly justified to the left or right. It may also be possible that you modified a restricted character and the data will display or print weird. The worst case is that the program will either not run or crash.

If the program runs you will not be able to find any potential weird results or crashes unless you use a feature that tries to display or print with the bad translation. So you will need to be creative to make changes to the POSCONFG.EXE program settings to try to test as many features of the program file you are working on to try to make it act weird or crash.

If weirdness is the problem it should be easy to determine what text is causing the problem to try to correct it. If the program crashes you may go back to the working version in your original folder to see what will be printed / displayed just after the point where the problem occurs.

As a last resort you can use the POS_EDIT.EXE program's 'bulk change' feature. This feature will show you how many texts are in the program and ask you at what point do you want the translations to end and the original texts to be restored.

For example if the program you are translating has 128 texts you can ask the 'bulk' feature to have the first 64 translated and the last 64 restored to the original. If that solves the problem then ask the bulk feature to stop the translation at 96 and restore the last 32. Repeat until the program works and you have found the problem text. NOTE: The number you set is where the translations start. For example if you set the midpoint at 25 then the program will reset the translated texts to texts 1 to 24 and then set the original texts to texts 25 to the end.

If the 'bulk' feature is set to put a translation into the file but the saved translation text is blank, it will put in the original text instead. This way if you find a text that just cannot be translated, because the if it is the program will not work, just leave the saved translation blank and you will not have to worry that the 'bulk' feature will translated it anyway.

Once you have a program file fully translated and tested you can go to the folder on your hard drive that stores your actual cash register program that you are using to ring up actual sales and make a backup of the original program file. Then replace it with the translated program file.

Click on [BACK] on your web browser to return to the previous page, or