Cyrillic support for QNX4

We are looking into what it would take to develop a Photon application for
a Bulgarian customer. Is there any support for Cyrillic/Bulgarian for
QNX4/Photon? I didn’t see any languages using a Cyrillic alphabet in
languages.def.

  • Will

On Fri, 19 Aug 2005 17:17:10 +0400, Will Parsons <wbp@nodomain.invalid>
wrote:

Is there any support for Cyrillic/Bulgarian for QNX4/Photon?
There is absolutely no difference in the coding and the symbol repertoire

required for both Bulgarian and Russian languages, so I assume you could
use the Cyrillic Supplement for Photon.

(I personally do not use Photon at all but I was quite satisfied when I
tryed to view Russian sites with Voyager)

Tony.

Will Parsons wrote:

We are looking into what it would take to develop a Photon application for
a Bulgarian customer. Is there any support for Cyrillic/Bulgarian for
QNX4/Photon? I didn’t see any languages using a Cyrillic alphabet in
languages.def.

The Cyrillic package was primarily meant to support Russian, but unless
Bulgarian uses some extra characters outside the main Cyrillic Unicode
range, you should be fine.

The only thing languages.def is used for is to provide a list of
human-readable language names and their ISO codes to the language
editor. You can add languages to it using any text editor. The only
reason that not an officially recommended method is because the file may
get wiped out the next time you install a new release of Photon; but it
works.

If you don’t like the idea of modifying “system” files, another possible
method is to pretend that your Bulgarian translation is not Bulgarian
but, for instance, Norwegian. Create a Norwegian translation file, put
the Bulgarian strings in it, and when you’re installing it on the
target, change the filename extension from no_NO to bg_BG.

Wojtek Lerch wrote:

Will Parsons wrote:
We are looking into what it would take to develop a Photon application for
a Bulgarian customer. Is there any support for Cyrillic/Bulgarian for
QNX4/Photon? I didn’t see any languages using a Cyrillic alphabet in
languages.def.

The Cyrillic package was primarily meant to support Russian, but unless
Bulgarian uses some extra characters outside the main Cyrillic Unicode
range, you should be fine.

OK - It looks like Bugarian is a subset of Russian.

The only thing languages.def is used for is to provide a list of
human-readable language names and their ISO codes to the language
editor. You can add languages to it using any text editor. The only
reason that not an officially recommended method is because the file may
get wiped out the next time you install a new release of Photon; but it
works.

So the first step is to get the Cyrillic supplement from QSSL. (I assume
this is a separate purchase item?) Then applications can be developed using
English strings and the language editor used to transform these into the
target language. How do the translations get entered? The developer will
be using a US-English keyboard and will most likely be ignorant of
Bulgarian, so how does he actually generate Bulgarian text? Does he have
to enter unicode escape sequences or the like?

  • Will

Will Parsons wrote:

So the first step is to get the Cyrillic supplement from QSSL. (I assume
this is a separate purchase item?) Then applications can be developed using
English strings and the language editor used to transform these into the

Yes; or, if you prefer, you can create it with Bulgarian strings right
away. Running an application in its native language requires less
memory than running it with a translation applied.

target language. How do the translations get entered? The developer will
be using a US-English keyboard and will most likely be ignorant of
Bulgarian, so how does he actually generate Bulgarian text? Does he have
to enter unicode escape sequences or the like?

Well, where are you going to get the Bulgarian text from? For sure, at
least one Bulgarian-speaking person must be involved at some point?
Isn’t that person going to have access to a computer with a Bulgarian
keyboard?

I can think of several possible scenarios:

  • Enter the Bulgarian strings into PhAB or the language editor using the
    Russian keyboard mapping. You don’t need a physical Russian keyboard
    for this – just can set the keyboard mapping to Russian even if your
    keyboard is really English. Launch ped. Hit each key and draw the
    character that comes out on a little piece of paper attached to the key.
    (Don’t laugh. That’s how I taught myself to type on a traditional
    Polish QWERTZ keyboard. I don’t need the little pieces of paper any more.)

  • Create a Bulgarian keyboard mapping for Photon (check “mkkbd” in the
    docs), and use it to enter the Bulgarian strings into PhAB or the
    language editor.

  • Type the Bulgarian strings into a UTF-8 text file under Windows. FTP
    the file to a QNX box, load it into ped and cut and paste them into PhAB
    or the language editor under Photon.

  • Write your own program that exports PhAB translation files to your
    favourite file format and then imports them back, and then add the
    Bulgarian strings using whatever method is suitable for your chosen file
    format. This is not necessarily as scary as it may sound – there’s a
    set of Al functions in the library that’s there exactly for that purpose
    (our language editor uses the Al functions, too). The functions aren’t
    documented under QNX4, but the online 6.1 docs describe them pretty
    accurately:

http://www.qnx.com/developers/docs/qnx_6.1_docs/photon/lib_ref/al/alopendbase.html

Wojtek Lerch wrote:

Will Parsons wrote:
So the first step is to get the Cyrillic supplement from QSSL. (I assume
this is a separate purchase item?) Then applications can be developed using
English strings and the language editor used to transform these into the

Yes; or, if you prefer, you can create it with Bulgarian strings right
away. Running an application in its native language requires less
memory than running it with a translation applied.

target language. How do the translations get entered? The developer will
be using a US-English keyboard and will most likely be ignorant of
Bulgarian, so how does he actually generate Bulgarian text? Does he have
to enter unicode escape sequences or the like?

Well, where are you going to get the Bulgarian text from? For sure, at
least one Bulgarian-speaking person must be involved at some point?
Isn’t that person going to have access to a computer with a Bulgarian
keyboard?

This is all very preliminary right now. I was envisioning that the customer
would provide the text but that the actual construction of displays would be
done by a non-Bulgarian on an ordinary keyboard. (The displays are actually
going to be modelled on an existing system where the text is in Czech.)

I can think of several possible scenarios:

  • Enter the Bulgarian strings into PhAB or the language editor using the
    Russian keyboard mapping. You don’t need a physical Russian keyboard
    for this – just can set the keyboard mapping to Russian even if your
    keyboard is really English. Launch ped. Hit each key and draw the
    character that comes out on a little piece of paper attached to the key.
    (Don’t laugh. That’s how I taught myself to type on a traditional
    Polish QWERTZ keyboard. I don’t need the little pieces of paper any more.)

Seems perfectly reasonable to me :slight_smile:

  • Create a Bulgarian keyboard mapping for Photon (check “mkkbd” in the
    docs), and use it to enter the Bulgarian strings into PhAB or the
    language editor.

  • Type the Bulgarian strings into a UTF-8 text file under Windows. FTP
    the file to a QNX box, load it into ped and cut and paste them into PhAB
    or the language editor under Photon.

  • Write your own program that exports PhAB translation files to your
    favourite file format and then imports them back, and then add the
    Bulgarian strings using whatever method is suitable for your chosen file
    format. This is not necessarily as scary as it may sound – there’s a
    set of Al functions in the library that’s there exactly for that purpose
    (our language editor uses the Al functions, too). The functions aren’t
    documented under QNX4, but the online 6.1 docs describe them pretty
    accurately:

http://www.qnx.com/developers/docs/qnx_6.1_docs/photon/lib_ref/al/alopendbase.html

Thanks, I’ll look into these possibilities.

  • Will