User Tools

Site Tools


Translating Pelles C

Version: 1.00 — Christian Heffner 2008/06/09 01:22

Version: 1.01 — Christian Heffner 2008/08/03 11:08

Version: 1.02 — Christian Heffner 2008/08/07 15:23

Version: 1.03 — Christian Heffner 2014/08/08 21:22

Please don't translate this page into other languages,
so we have a common place for the Pelles C translators here!

This page is the place for the people, who want to have Pelles C in their native language. I will describe, how to translate Pelles C and you will find here the needed files and hints for this job. If you have any question about the translation process, just write a mail to


You don't need much for the translation:

  1. Pelles C, Version 7.00 or 8.00 (no older version!), available here
  2. The template project of a translation dll in english, available here (Version 8.00)
  3. Knowledge of the english language and (of course) your own language ;-)
  4. Basic knowledge, how Windows apps work and rc-files are used.

Translation progress

Unzip the files

Unzip the file anywhere you want. You will have the following structure now:

\rsrc0009\ ids.h //(The header file for the project)//
           intl\ eng.rc //(The resource file itself)//
                 rsrc0009.ppj //(The Pelles C 7.00/8.00 project file)//

Get the language identifier

To create a translation for your native language, you need the primary language identifier for your country. You can find it in the following table:

Language: LCID: Language: LCID: Language: LCID:
Afrikaans0036 Gujarati0047 Rhaeto-Romance0017
Albanian001c Hausa0068 Romanian0018
Amharic005e Hawaiian0075 Russian0019
Arabic0001 Hindi0039 Sami(Lappish)003b
Armenian002b Hungarian000e Sanskrit004f
Assamese004d Ibibio0069 Serbian001a
Azerbaijani002c Icelandic000f Sindhi0059
Basque002d Igbo0070 Sinhalese005b
Bengali(Bangla)0045 Inuktitut005d Slovak001b
Bulgarian0002 Irish003c Slovenian0024
Burmese0055 Italian0010 Somali0077
Byelorussian(Belarusian)0023 Japanese0011 Spanish000a
Cambodian0053 Kannada004b Swahili(Kiswahili)0041
Catalan0003 Kanuri0071 Swedish001d
Cherokee005c Kashmiri0060 Syriac005a
Chinese(Traditional)0004 Kazakh003f Tagalog0064
Croatian001a Kirghiz0040 Tajik0028
Czech0005 Konkani0057 Tamazight005f
Danish0006 Korean0012 Tamil0049
Divehi0065 Laothian0054 Tatar0044
Dutch0013 Latin0076 Telugu004a
Edo0066 Latvian(Lettish)0026 Thai001e
English0009 Lithuanian0027 Tibetan0051
Estonian0025 Macedonian002f Tigrinya0073
Faeroese0038 Malay003e Tsonga0031
Farsi0029 Malayalam004c Turkish001f
Finnish000b Maltese003a Turkmen0042
Flemish0013 Marathi004e Ukrainian0022
French000c Mongolian0050 Urdu0020
Frisian0062 Nepali0061 Uzbek0043
Fulfulde0067 Norwegian0014 Venda0033
Gaelic(Scottish)003c Oriya0048 Vietnamese002a
Galician0056 Papiamentu0079 Welsh0052
Georgian0037 Pashto(Pushto)0063 Xhosa0034
German0007 Polish0015 Yi0078
Greek0008 Portuguese0016 Yoruba006a
Guarani0074 Punjabi0046 Zulu0035

Prepare the files

Now you have to rename the files. All files and folders with a rsrc0009 you have to rename to the language of LCID of your country. Please change the name of the .rc-file also to a suitable name, to make it recognizable.

Here the example for german translation:

\rsrc0007\ ids.h 
           intl\ ger.rc //(Changed from eng.rc)//
                 rsrc0007.ppj //(Changed from rsrc0009.ppj)//

The ppj file has to be changed too. Open this file with a suitable text editor and change some things. Important is the part after the .SILENT:

Here is the original code:

# Build rsrc0009.dll.
rsrc0009.dll: \
	$(LINK) $(LINKFLAGS) -out:"$@" $**

# Build eng.res.
output\eng.res: \
	eng.rc \
	$(RC) $(RCFLAGS) "$!" -Fo"$@"


So, you have to replace all the rsrc0009 to the LCID of your country, e.g. rsrc0007 for german resources.

Now replace all the eng. to your choosen language token, e.g. ger. for german.

The file should now look like this: (german example!)

# Build rsrc0007.dll.
rsrc0007.dll: \
	$(LINK) $(LINKFLAGS) -out:"$@" $**

# Build ger.res.
output\ger.res: \
	ger.rc \
	$(RC) $(RCFLAGS) "$!" -Fo"$@"


Start translation

Now you can open the project file rsrcXXXX.ppj (where XXXX is your LCID) with Pelles C.

REMEMBER: Use only Pelles C 7.00 and higher!!!

Open the rc-file in the right treeview and you can see the resources:

Translate all the parts of the rc-file.

HINT: If you change after translating a part the language within the properties 
of the object, you have an overview of the translated parts.

Build and use the translation

To build the translated dll, just use the menu item ProjectBuild rsrcXXXX.dll. Now you'll have a 32 bit language dll for Pelles C.

If you'll build a 64 bit dll, just change within the ''Project options'' 
the ''Machine'' properties under the ''Compiler'' and ''Linker'' tab to X64.

To use this dll, first close Pelles C.

Now copy the rsrcXXX.dll to the folder \bin\intl within the Pelles C application folder.

Start Pelles C again. It will use the new language automatic, if your system language is the new created language.

If you have a different system language, you can choose the command line option /l followed by th LCID written in the table above. For example, to start Pelles C in Basque use the option /l 0x2d.

Last steps

Publish your translation

Test your new dll for errors or for to small dialog boxes. If possible, ask another one to test it, too. If you are sure, that everything is ok, send the complete folder with all files to the following address:

I will publish the files at first here in the wiki and I will forward them to Pelle.

Voilà, that's it!

translating.txt · Last modified: 2014/08/08 21:25 by christian