Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
100 user(s) are online (60 user(s) are browsing Forums)

Members: 0
Guests: 100

more...

Headlines

 
  Register To Post  

(1) 2 »
Problem with input/locale
Home away from home
Home away from home


See User information
@all
Today plays with system, and want to be able to have the same current English locale, but be able to type in Russian.

And then, it come to some strange moment, that input:prefs settings didn't make any differences until i didn't set Russian locale !

I.e. i just go to input prefs, choice Russian, save, reboot , all system fonts have DejaVu (which have Russian symbols of course), and then i can't type in Russian with or without holding 'alt'.

Then if i go to prefs:locale, delete there English, and set Russian, then it start to works ! But wtf, i do not need Russian locale, i only want type in Russian.

Question is: why it didn't works with English locale, while fonts of course contain Russian symbols (as they works when i set Russian locale). Even if i set English first, and Russian next in locale it didn't work. It works only when Russian are first one in the list of preferred locales. Is settings of locale set some ENV which didn't sets by some reasons when i do choice Russian in input.prefs ? Like default-codepage or something .. Maybe i can somehow set something pure from shell, to enable what enable locale when Russian is sets ?


Edited by kas1e on 2013/10/15 8:28:11
Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: Problem with input/locale
Home away from home
Home away from home


See User information
@kas1e

@kas1e

It must be down to the fact that the code page used by the system is defined by your choise of laguage.

Since english uses iso-8859-15 (or 1)

and russian uses iso-8859-5

which are not compatable

I'm not complertely sure though.

Also I couldn't see a russian keyboard map, to try with.

Ultimatly to use two languages with two different completely alphabets at once you need unicode support, which we don't have.

Go to top
Re: Problem with input/locale
Home away from home
Home away from home


See User information
@broadblues

Quote:

It must be down to the fact that the code page used by the system is defined by your choice of language.


Then imho it should be possible somehow setup code page globally without involving of setting Russian in languages ? I mean do that "code page used by system" without involving of locale settings.

Quote:

Also I couldn't see a Russian keyboard map, to try with.


That because those Russian keymaps which come by default with os4, all "classic amiga keyboard" (so you need to tick that option in input prefs to see them). In general that no big difference between PC keyboards (when option didn't ticked) so in our case it should be the same for tests. But if you want to help and to try, then there is ready new keymaps: http://kawai.spb.ru/files/amiga/rus_keymaps.zip (still you need to tick ClassicAmiga option in input.prefs to see them).

Quote:

Ultimatly to use two languages with two different completely alphabets at once you need unicode support, which we don't have.


All what i want, its to be able via SetDefaultKeymap() choice in what language to type : Russian or English, so we can then just put that code inside of switcher and be happy with.

Currently , its all works only when i set Russian in languages, but i do not want to see whole system in Russian, as it just ugly (and translation itself, and Russian itself is not so "computer" language, while in English all those terms looks clean and small).

Some time ago we discuss that problem on one Russian forum, and we come to the 3 ways of solving this:

1). Delete whole Russian translation files, so everything will be in Russian, and typing in Russian will works (but still it looks like ugly solution imho).

2). Understand how to change default codepage on amiga-1251 for English locale.

3). Understand how to set default codepage on amiga-1251 when we use 2 and more locales at one time.

Just i didn't get now , why to type in Russian i should have Russian locale, if, fonts which i use by default (DejaVu Sans) are contain and Russian and English symbols. All its need its right keymap and that should be enough imho, but for now its not.



Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: Problem with input/locale
Amigans Defender
Amigans Defender


See User information
It would make sense to separate the charset and language into two separate options if possible.

In the meantime, it should be easy to create an ISO-8859-5 English language driver, there's only a couple of things that need changing in the example source code. I just tried it myself but I can't get it to compile for some reason and don't have time to investigate right now.

Go to top
Re: Problem with input/locale
Home away from home
Home away from home


See User information
@Chris
Quote:

It would make sense to separate the charset and language into two separate options if possible.


Where ? In prefs:locale ?

Quote:

In the meantime, it should be easy to create an ISO-8859-5 English language driver


By language drivers you mean system:locale/languages/ ?

ISO-8859-5 are old and almost didn't have use in Russian, only cp1251. And in all Russian keymaps which come with OS, for the CHARSET we have "Amiga-1251" and for LOCALINFOCHARSET also "Amiga-1251".

Quote:

there's only a couple of things that need changing in the example source code. I just tried it myself but I can't get it to compile for some reason and don't have time to investigate right now.


Yes, will be good to have just English language driver where codepage will be set to Amiga-1251. If that will solve problem, of course. Or, what can be solution too, is somehow "globaly" set codepage to Amiga-1251, and does not matter what language driver is choicen in locale.


Edited by kas1e on 2013/10/17 10:54:15
Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Anonymous
Re: Problem with input/locale
@kas1e

Havent tested Serbian cyrillic support, which is a bit different in few letters from Russian one, but we might there be in a same boat: it always required special fonts.

Go to top
Re: Problem with input/locale
Just popping in
Just popping in


See User information
@Kas1e: This is exactly the problem I ran into with mixing Japanese with English on Linux, Windows and Android systems.

The presentation and input of given languages are not based on where the locale settings are based.

Just because I live in Japan does not mean I know the language,
Even with your own English/Russian combination where you have comprehension of both... this assumption with location and languages is annoying and detrimental.

As you have stated, you want the favored languages to not have interference from other locale settings.

Incomplete --- more later

Go to top
Re: Problem with input/locale
Just popping in
Just popping in


See User information
@Kas1e: This is exactly the problem I ran into with mixing Japanese with English on Linux, Windows and Android systems.

The presentation and input of given languages are not based on where the locale settings are based.

Just because I live in Japan does not mean I know the language,
Even with your own English/Russian combination where you have comprehension of both... this assumption with location and languages is annoying and detrimental.

As you have stated, you want the favored languages to not have interference from other locale settings.

Incomplete --- more later

Go to top
Re: Problem with input/locale
Home away from home
Home away from home


See User information
@Belxander
Quote:

Incomplete --- more later


Not need it, i mostly wait for Andy's and Chris's answers :) Problem is here, no big needs to repeat it. And its about os4 only, on win32 everything fine in that terms for me.

@All
Problem is that to see russian-cp1251, i should choice russian-cp1251 locale, and while it looks logical, it do 2 different things :

1. It make whole system start to be in Russian.
2. It give ability to type/read Russian.

Not everyone want 1 with 2. Someone may want only 1 or only 2.

I do not know how it should be done in end. Maybe it can be just one single options in locale prefs in languages tab, like:

"Only set codepage, no system translate" ON/OFF

By this way it will be pretty logical. I.e. locale to choice locale/codepage as it should be. Just you can choice translate whole system (that mean enabling of necessary codepage as well of course, as it now), or just enable necessary codepage, without system translation. And if it enabled, then "preffered language" area will be just ghosted, as when there is no needs for translate, then preferred languages also have no use.

Because, if for example, it will be possible to make some language driver which will set codepage as it now, but keep option for system translate to be default, how it should be called ? "russian_Amiga-1251-no-translate-system-message.language" ?:) And then we will need to do the same language drivers for every cyrilic langauge (russian, serbian, whatever else).

While changing of prefs:locale and add that option can be good and handy, dunno if / when / else, so maybe for time begin it better to create our own language drivers ..

@Chris
Quote:

In the meantime, it should be easy to create an ISO-8859-5 English language driver, there's only a couple of things that need changing in the example source code. I just tried it myself but I can't get it to compile for some reason and don't have time to investigate right now.


If talk about Russian, then it should be Amiga-1251, as in all keymaps. So should be default Language driver which will mean all system should be non-translated, just with code page setting to Amiga-1251. Preferable of course should be the same english language driver just with ISO-8859-5 instead, so both will be covered.

EDIT: i give a go to compile language driver from sdk:examples/language. All what was need to fix it just replace in cflags including of ../include, as well as use ppc makefile.

I go futher, and shorten everything to one single test language build (i just choice czech one). There is archive:
http://kas1e.mikendezign.com/temp/lang_driver_test.lha

So unpack it, and just type "make", and you will have 2 elf drives (debug and no debug) ready to use.

Now, there is 2 problems. In SDK examples there is no russian_Amiga-1251.c file, while original makefiles contain it. As well, as i do not know what we need to do/change in that driver to be able to says from that code "system messages keep in english, but set codepage to Amiga-cp1251".

In end just want something like:
russian_cp1251_sys-messages-eng.language
russian_cp1251_sys-messages-rus.language

While it will looks like some fast fix, at least it will works , until (if ever) that "skip" for system translate can be added to whole locale thing.


Edited by kas1e on 2013/10/17 8:50:04
Edited by kas1e on 2013/10/17 8:54:09
Edited by kas1e on 2013/10/17 8:55:38
Edited by kas1e on 2013/10/17 8:58:19
Edited by kas1e on 2013/10/17 8:59:42
Edited by kas1e on 2013/10/17 9:01:09
Edited by kas1e on 2013/10/17 9:33:14
Edited by kas1e on 2013/10/17 9:35:37
Edited by kas1e on 2013/10/17 9:39:46
Edited by kas1e on 2013/10/17 9:43:57
Edited by kas1e on 2013/10/17 9:44:56
Edited by kas1e on 2013/10/17 10:37:44
Edited by kas1e on 2013/10/17 10:39:54
Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: Problem with input/locale
Amigans Defender
Amigans Defender


See User information
@kas1e

Quote:
Now, there is 2 problems. In SDK examples there is no russian_Amiga-1251.c file, while original makefiles contain it. As well, as i do not know what we need to do/change in that driver to be able to says from that code "system messages keep in english, but set codepage to Amiga-cp1251".

In end just want something like:
russian_cp1251_sys-messages-eng.language
russian_cp1251_sys-messages-rus.language


That's the wrong way round - what you want is
english_Amiga-1251.language

I don't have the code in front of me, but if you rename the english_ISO-8859-1.c file (to english_Amiga-1251.c), there are a few things which need changing near the top:

The codeset (MIBenum) needs to be 2104
Any mention of ISO-8859-1 needs to be changed to Amiga-1251
The language "english" local charset name should be changed to something like "english (rus)" so it can be easily identified. (I think there's a common name string as well - leave that as "english")

Right at the bottom there are translation tables for capitalising letters. These probably will need editing, but personally I'd ignore them until you have confirmed that the driver does what you expect it to do. If you can find source code for an Amiga-1251 language driver you can probably copy this section from there.

If you select your new "english (rus)" language in Locale you should then get English text with Amiga-1251 charset.

Go to top
Re: Problem with input/locale
Home away from home
Home away from home


See User information
@Chris
Quote:

but if you rename the english_ISO-8859-1.c file (to english_Amiga-1251.c)


I only have english_ISO-8859-15.c (not 1.c but 15.c). But i assume it doesn't matter a lot, will try to change that one.

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: Problem with input/locale
Just popping in
Just popping in


See User information
What is required for additional language drivers to show as selectable in the input and locale preferences?

Go to top
Re: Problem with input/locale
Home away from home
Home away from home


See User information
@Chris

Quote:

The codeset (MIBenum) needs to be 2104


Ok, #define CODESET 111 changed to 2104 (right, its Amiga-1251 from l:charsets/character-sets file).

Quote:

Any mention of ISO-8859-1 needs to be changed to Amiga-1251


Done.

Quote:

The language "english" local charset name should be changed to something like "english (rus)" so it can be easily identified. (I think there's a common name string as well - leave that as "english")


Do you mean #define GLS_LANGNAME ? Currently its:

Quote:

#define GLS_LANGNAME "english (E)" /* native language name */
/* in this language and charset */


So just changed that on "english (rus)".


Quote:

Right at the bottom there are translation tables for capitalising letters. These probably will need editing, but personally I'd ignore them until you have confirmed that the driver does what you expect it to do. If you can find source code for an Amiga-1251 language driver you can probably copy this section from there.

If you select your new "english (rus)" language in Locale you should then get English text with Amiga-1251 charset.


Done ! Everything works !

I.e. if i choice our new language driver, i have all the system messages in the english, and can type/see in russian-cp1251. But if i choice default inbuild with os (russian_Amiga-1251), then system in Russian and everything types in russian.

Horray ! There is ready to build archive with english_Amiga1251 language driver: http://kas1e.mikendezign.com/aos4/english_Amiga-1251.lha

And even better, small/big letters works fine as well. Will do now some more testing, but yeah ! :)

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: Problem with input/locale
Amigans Defender
Amigans Defender


See User information
@kas1e

Hooray!

@Belxjander

To get them in Locale you need to build a language driver (basically what kas1e has just done). For Input you need a keymap file

Go to top
Anonymous
Re: Problem with input/locale
@kas1e

Great, is it possible to do the same for Serbian cyrillic which is just few letters away?

http://en.wikipedia.org/wiki/Windows-1251
http://www.phespirit.info/alphabet/serbian_cyrillic.htm

Go to top
Re: Problem with input/locale
Home away from home
Home away from home


See User information
@Vox
Quote:

Great, is it possible to do the same for Serbian cyrillic which is just few letters away?


If Serbian also uses Amiga-1251, then its all should be the same. Just use the same language driver which i upload, only your choice of keymap in input prefs will be different.


Edited by kas1e on 2013/10/17 13:47:07
Edited by kas1e on 2013/10/17 13:48:30
Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: Problem with input/locale
Home away from home
Home away from home


See User information
@Vox
I upload on os4depot that driver, with small change so it will fits all the cyrilic languages (in upload query now). Try it. But pretty possible you will need to create new serbian keymap, as those which come by default with os4, seems iso-8859-2 and iso-8859-5 only.

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: Problem with input/locale
Just popping in
Just popping in


See User information
@kas1e

And what about Polish? It's use ISO-2 in keyboard. I should create spacial keyboard with Amiga-1251?

Amiga 2000 2 MB Chip ECS, Blizzard 2060/60 MHz 128 MB Fast, Picasso II+, Deneb USB, 160 GB & DVD-RW / OS 3.9
Amiga 1200, Blizzard PPC 233/040 256 MB Fast, BVision / OS4.0, OS3.9
Pegasos II 1 GB Radeon 9250 / OS4.1
---
http://radzikowski.ovh.org
Go to top
Re: Problem with input/locale
Home away from home
Home away from home


See User information
@Radzik
Quote:

And what about Polish? It's use ISO-2 in keyboard. I should create spacial keyboard with Amiga-1251?


If you want to use that driver which on os4depot now, then imho yep. Just grab from devs/keymaps some "rus" keymaps, and have a look how it done, and then just recreate the same for polish.

@All

Javier release KMS switcher on os4depot, so if you have setup now new dock panel with 24x24 of size, and put it on top bar of wb, then you can have tasty keymap switcher (currently without commoditie broker, so no key-combos, only choice by mouse, but javier will add it for next release).

Fancy screenshot:

Resized Image

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: Problem with input/locale
Home away from home
Home away from home


See User information
@kas1e

Already on my topbar, pretty nice can say

Go to top

  Register To Post
(1) 2 »

 




Currently Active Users Viewing This Thread: 1 ( 0 members and 1 Anonymous Users )




Powered by XOOPS 2.0 © 2001-2023 The XOOPS Project