Translating PageStream

Hi! Here is the info you need to help translate PageStream into the language of your choice, or just get the most out of PageStream!

First, please communicate on the PageStreamSupport or beta mailing lists of your desire to translate into a new language, or make changes to an existing translation. Someone else may be doing the same thing, and perhaps working together will make the process quicker and better!

I've finished the last of the support for the new multiplatform localization for PageStream. Basically, each localization has a text file for each rsc (resource) file loading with words (plus some comments to indicated the original american words.) and the file is in UTF8 (you can edit it in any character set you want, but the final product is in UTF8 so that it truly doesn't matter what platform you are in. Obviously if you have a UTF8 capable text editor it is easier. PageStream automatically translates that to the local character set if/as needed.

I have old PageStream3.2 translations that can become the basis of new translations. Even without any additional work, at least _some_ of the text will be translated :-) I won't make this translations available until someone will actually have the time to look at them, so if you don't see something, again, ask!

All translations (including the sample american files) are contained in directories named Locale that are in the main PageStream folder, and in SoftLogik/Engines, SoftLogik/Printers, SoftLogik/Filters and SoftLogik/Effects. Others in the SoftLogik folder may also exist in future releases.

The names are based on the original .rsc file, with the language_COUNTRY name appended before the .rsc extension. For example, "PageStream4.rsc" is the base resource file. In the Locale folder is the file "PageStream4_en_US.rsc". This is the text translations for en_US (english- US variation). This is not actually used since the PageStream.rsc file is in the same language.

If you want to create a British version, then you would copy PageStream_en_US.rsc to PageStream_en_GB.rsc and then translated the text. (In this case, simple things like color to colour...)

You can also name them based just on the root language (and leave out the country part) so that for example German would be "PageStream4_de.rsc" and not "PageStream4_de_DE.rsc". If later on folks want to create Austrian/German versions ("de_AT") or Luxemburg-German versions ("de_LU"), that can still be done.

Now to use the localized text, you need to edit the PageStream pref file and add the line:


To make PageStream apply the translation by the given name. Or simple select the locale in the PageStream prefs!

Any text (or entire rsc files) not translated will just show the original American text in it's place.

If by some chance your language of choice does not have a language module in PageStream that properly supports hyphenation, spelling, and proper spelling of variables such as day of the week, months, and numbers, please see the end of this document for a simple way in which you can help with that also.

Deron Kazmaier -

Translation FAQ

SectionQUESTION: I'm not sure what I'm getting: a new textfile (.rsc) already translated, but needs to be tightened up?
Basically yes. I have to do some minor conversion for each language for the main PageStream text file that takes about an hour so I will do them as people offer to look at them. I have not converted the various add ons because I think it will take me as much time to convert to be edited as it would for someone to just retranslate them (and they would have to be checked anyway).

I could be wrong...

Anyway, the localized text is from PageStream Amiga 3.2, so it is lacking some strings, and some strings have changed. Users will appreciate whatever assistance you can provide. Here is a sample from the nl localization I just convert:

STRING R#1052 :Z Spelling
#DEFAULT :Check Spelling
#DEFAULT :PGSuser/spellchecking.html
STRING A#10 :Taal
#DEFAULT :La_nguage:
#DEFAULT :_Word:

The first line is the title of the requester. In this case, the original (DEFAULT:) text is "Check Spelling". The translation from the 3.2 file is "Z Spelling". If that is correct (Check == Z ?) then you don't need to do anything for that line.

The next group is


#DEFAULT :PGSuser/spellchecking.html

Since this is a URL, you can just leave the line as is ("STRING HINT :"). PageStream will use the english text if it can't find the translated text.

The next group is

STRING A#10 :Taal
#DEFAULT :La_nguage:

Again, if "Taal" is the translation for "Language:" you can leave it. You can add the : after Taal, and if you want you can choose a keyboard shortcut. Or just leave it as is. So you could change it to "_Taal:" or some such. As a note, everything after the first : is used as is until the end of the line. You can also put double or single quotes around it if you want to show leading or trailing spaces.

Last group in this example is

#DEFAULT :_Word:

This is a new entry since 3.2. If the translation for Word is xyz, and you want a : and a keyboard shortcut, then you would change the first line to

STRING A#15 :_xyz:
#DEFAULT :_Word:

Hope that explains! Thanks for offering to help!

SectionQUESTION: What texteditor do I use
You can use Notepad and Open Office that comes to mind for Windows. I would bet that Word also supports UTF-8 now a days. If not, you can import the file into PageStream using UTF-8 and either edit it in PageStream or export it back out into the character set you want. Just reverse the process to create a file PageStream can use. Obviously if you can find a UTF-8 compatible text editor all the better!

SectionQUESTION: What is UTF8?
UTF8 is a way to encode Unicode text using just 8 bit characters. PageStream store text internally in a similar way, but not the same (I would have used UTF8, but it wasn't developed when I did this work in PageStream). Basically, characters are encoding using a variable number of bytes. A number of programs out there support UTF8 now. It is basically a character set encoding method like Latin 1, CP1252, Shift JIS, etc that has a one to one with Unicode :-)

SectionKnown language_COUNTRY prefixes
af_ZA Afrikaans locale for South Africa
am_ET Amharic language locale for Ethiopia
ar_AE Arabic language locale for United Arab Emirates
ar_BH Arabic language locale for Bahrein
ar_DZ Arabic language locale for Algeria
ar_EG Arabic language locale for Egypt
ar_IN Arabic language locale for India
ar_IQ Arabic language locale for Iraq
ar_JO Arabic language locale for Jordan
ar_KW Arabic language locale for Kuwait
ar_LB Arabic language locale for Lebanon
ar_LY Arabic language locale for Libyan Arab Jamahiriya
ar_MA Arabic language locale for Morocco
ar_OM Arabic language locale for Oman
ar_QA Arabic language locale for Qatar
ar_SA Arabic locale for Saudi Arabia
ar_SD Arabic language locale for Sudan
ar_SY Arabic language locale for Syrian Arab Republic
ar_TN Arabic language locale for Tunisia
ar_YE Arabic language locale for Yemen
az_AZ Azeri language locale for Azerbaijan (latin)
be_BY Belarusian locale for Belarus
bg_BG Bulgarian locale for Bulgaria
bn_IN Bengali language locale for India
br_FR Breton language locale for France
bs_BA Bosnian language locale for Bosnia and Herzegowina
ca_ES Catalan locale for Catalonia
cs_CZ Czech locale for the Czech Republic
cy_GB Welsh language locale for Great Britain
da_DK Danish locale for Denmark
de_AT German locale for Austria
de_BE German locale for Belgium
de_CH German locale for Switzerland
de_DE German locale for Germany
de_LU German locale for Luxemburg
el_GR Greek locale for Greece
en_AU English locale for Australia
en_BW English locale for Botswana
en_CA English locale for Canada
en_DK English locale for Denmark
en_GB English locale for Britain
en_HK English locale for Hong Kong
en_IE English locale for Ireland
en_IN English language locale for India
en_NZ English locale for New Zealand
en_PH English language locale for Philippines
en_SG English language locale for Singapore
en_US English locale for the USA
en_ZA English locale for South Africa
en_ZW English locale for Zimbabwe
eo_EO Esperanto locale
es_AR Spanish locale for Argentina
es_BO Spanish locale for Bolivia
es_CL Spanish locale for Chile
es_CO Spanish locale for Colombia
es_CR Spanish locale for Costa Rica
es_DO Spanish locale for Dominican Republic
es_EC Spanish locale for Equador
es_ES Spanish locale for Spain
es_GT Spanish locale for Guatemala
es_HN Spanish locale for Honduras
es_MX Spanish locale for Mexico
es_NI Spanish locale for Nicaragua
es_PA Spanish locale for Panama
es_PE Spanish locale for Peru
es_PR Spanish locale for Puerto Rico
es_PY Spanish locale for Paraguay
es_SV Spanish locale for El Salvador
es_US Spanish locale for the USA
es_UY Spanish locale for Uruguay
es_VE Spanish locale for Venezuela
et_EE Estonian locale for Estonia
eu_ES Basque locale for Spain
fa_IR Persian locale for Iran
fi_FI Finnish locale for Finland
fo_FO Faroese locale for Faroe Islands
fr_BE French locale for Belgium
fr_CA French locale for Canada
fr_CH French locale for Switzerland
fr_FR French locale for France
fr_LU French locale for Luxemburg
ga_IE Irish locale for Ireland
gd_GB Scots Gaelic language locale for Great Britain
gl_ES Galician locale for Spain
gv_GB Manx Gaelic locale for Britain
he_IL Hebrew locale for Israel
hi_IN Hindi language locale for India
hr_HR Croatian locale for Croatia
hu_HU Hungarian locale for Hungary
hy_AM Armenian language locale for Armenia
id_ID Indonesian locale for Indonesia
is_IS Icelandic locale for Iceland
it_CH Italian locale for Switzerland
it_IT Italian locale for Italy
iw_IL Hebrew locale for Israel
ja_JP Japanese language locale for Japan
ka_GE Georgian language locale for Georgia
kl_GL Greenlandic locale for Greenland
ko_KR Korean locale for Republic of Korea
kw_GB Cornish locale for Britain
lt_LT Lithuanian locale for Lithuania
lv_LV Latvian locale for Latvia
mi_NZ Maori language locale for New Zealand
mk_MK Macedonian locale for Macedonia
mr_IN Marathi language locale for India
ms_MY Malay language locale for Malaysia
mt_MT Maltese language locale for Malta
nl_BE Dutch locale for Belgium
nl_NL Dutch locale for the Netherlands
nn_NO Nynorsk language locale for Norway
no_NO Norwegian locale for Norway
oc_FR Occitan Language Locale for France
pl_PL Polish locale for Poland
pt_BR Portuguese locale for Brasil
pt_PT Portuguese locale for Portugal
ro_RO Romanian locale for Romania
ru_RU Russian locale for Russia
ru_UA Russian locale for Ukraine
se_NO Northern Saami language locale for Norway
sk_SK Slovak locale for Slovak
sl_SI Slovenian locale for Slovenia
sq_AL Albanian language locale for Albania
sr_YU Serbian locale for Yugoslavia
sv_FI Swedish locale for Finland
sv_SE Swedish locale for Sweden
ta_IN Tamil language locale for India
te_IN Telgu language locale for India
tg_TJ Tajik language locale for Tajikistan
th_TH Thai locale for Thailand
ti_ER Tigrigna language locale for Eritrea
ti_ET Tigrigna language locale for Ethiopia
tl_PH Tagalog language locale for Philipines
tr_TR Turkish locale for Turkey map
tt_RU Tatar language locale for Tatarstan
uk_UA Ukrainian locale for Ukraine
ur_PK Urdu Language Locale for Pakistan
uz_UZ Uzbek locale for Uzbekistan
vi_VN Vietnamese language locale for Vietnam
wa_BE Walloon Language Locale for Belgium
yi_US Yiddish Language locale
zh_CN Chinese locale for Peoples Republic of China
zh_HK Chinese language locale for Hong Kong
zh_SG Chinese language locale for Singapore
zh_TW Chinese locale for Taiwan R.O.C.

Please fill out each of the sections below replacing the american words with the proper words for your language. Include any special rules after the translated text in each section that needs them.

Any known character set an be used, just indicate which character set you have used in the text below. UTF-8 is the prefered character set to use.

What is the name for this language in English?

What is the name for this language in that language?
Please provide both a 7bit ASCII version and a proper version.
"American", "American"

We want to give you credit for helping us, so please tell us who you are and an email address where we can reach you.
"Deron Kazmaier"


What are the general rules for capitalizing names of days and months? For example, one should not normally spell "Monday" in all lowercase in English, and one shouldn't capitalize "lundi" in French. This isn't too important now because you can specify any capitalization, but we may change the presets in the future.

In American, first letter is uppercase for day of week and month.

Please provide the names of the days of the week starting with sunday. Note that it doesn't matter if the week does not start on sunday in your language's calendar.

"sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday",

It's common to abbreviate days of the week to three letters in many languages. Please provide a suitable abbreviation. If this isn't common or if there is a more common tradition, please provide a note explaning it to us.

"sun", "mon", "tue", "wed", "thr", "fri", "sat",

It's common to abbreviate the day of the week to one letter for tables. In English, some days start with the same letter so this format allows 1-2 letters. Use 2 letters only if required.

"su", "m", "tu", "w", "th", "f", "sa",

FORMS SUCH AS 1st, 2nd, 3rd AND 4th
In English, we use "th" for everything except 1, 2 and 3. If your language uses something that doesn't fit into this format, let us know.
What is the normal capitalization of these?

"st", "nd", "rd", "th",

Please provide the names of the months starting with january.

"january", "february", "march", "april", "may", "june", "july", "august", "september", "october", "november", "december",

Please provide a suitable three to four letter abbreviation for the month names.

"jan", "feb", "mar", "apr", "may", "june", "july", "aug", "sept", "oct", "nov", "dec",

Please provide a suitable three letter abbreviation for the month names.

"jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec",

Please provide the most common and useful date formats used by this language. Use the PageStream3 date format if possible, otherwise just give examples.

"October 19, 1997"

Please explain how to spell numbers in your language. This is only used for spelling out page numbers and so only numbers in the range of 0 to 9999 will be spelled.

numbers 0 to 19 have unique names.
From then on, just pre-prend 20, 30 and so on to 1 - 9.
For the hundreds (100 to 999) add the name for 1 to 9 to " hundred".
The thousands are handled just like the hundreds.

NUMBERS (0 to 9)
Please provide the names of the numbers 0 to 9 and any special rules governing their use.

"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine",

NUMBERS (11 to 19)
Please provide the names of the numbers from 11 to 19 and any special rules governing their use. If your language does not use special names for these numbers you can skip this section.

"eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen",

NUMBERS (10, 20, 30, 40, 50, 60, 70, 80, 90)
Please provide the names of the numbers listed above and any special rules governing their use.

"ten", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety",

NUMBERS (100, 200, 300, 400, 500, 600, 700, 800, 900)
Please provide the names of the numbers listed above and any special rules governing their use.

"one hundred", "two hundred", "three hundred", "four hundred", "five hundred", "six hundred", "seven hundred", "eight hundred", "nine hundred"

NUMBERS (1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000)
Please provide the names of the numbers listed above and any special rules governing their use.

"one thousand", "two thousand", "three thousand", "four thousand", "five thousand", "six thousand", "seven thousand", "eight thousand", "nine thousand"

NUMBERS (100, 1000)
Please provide the names of the numbers listed above and any special rules governing their use.

"hundred", "thousand"

Prepended to each of these is the name for 1 - 9. For example, the number 100 is spelled "one hundred" not just "hundred".

Please spell out each of the following numbers (feel free to add any others that are not covered by the examples) so that we can create a correct algorithm for generating the text:

1: "one"
2: "two"
11: "eleven"
21: "twenty one"
22: "twenty two"
101: "one hundred one"
111: "one hundred eleven",
121: "one hundred twenty one"
234: "two hundred thirty four"
1001: "one thousand one",
1011: "one thousand eleven",
1111: "one thousand one hundred eleven"
2345: "two thousand three hundred forty five"

What are the standard double quote marks used in your language? Note that this is for the Smart Quotes feature.

Open: Open Double Upper
Close: Close Double Upper

What are the standard single quote marks used in your language? Note that this is for the Smart Quotes feature.

Open: Open Single Upper
Close: Close Single Upper

This is the list of entry topic headings used conditionally when creating indexes. List in sorted order.




Translating PageStream  Section  url:PGSguide/translating
  created:2007-10-16 14:48:16   last updated:2007-10-16 15:08:15
  Copyright © 1985-2023 GrasshopperLLC. All Rights Reserved.

User Contributed Comments For Translating PageStream
There are no user contributed comments for this page.