[REBOL] locale Re: Re: %Maoww_english.r
From: petr::krenzelok::trz::cz at: 23-Aug-2002 19:44
Jason Cunliffe wrote:
>>And if you want czech translation - I'll try my best :)
>>
>>
>
>Yes please. It would be nice to get Volker's multi-language block approach
>going..
>./Jason
>
OK, trying once again, with mozilla settings slightly changed ...
I earlier outlined how localisation could work. I think that simple
strings in block - flat structure - is not enough. If you think in terms
of AmigaOS e.g., user will want to switch his desktop to Czech e.g., and
will expect all his apps to appear in Czech. How do you know what
position in block is Czech language at? What about something like:
1)
locale: [
english [
"this" "that" "something"
]
czech [
"toto" "tamto" "neco"
]
]
locale*: locale/czech ; or
locale*: select locale 'czech ; or
2) maybe we have to think in terms of named system messages (constants) ....
locale: [
MENU_ITEM_1 [
czech "Otevrit ..."
english "Open ..."
]
locale/MENU_ITEM_1/czech .....
3) last but not least - on Amiga, IIRC, if e.g. system was switched to
Czech, and there was no catalogu available for czech language, default
one was used ... how to set (and where) what is default?
under AmigaOS:
/catalogs
myapp.czech
myapp.spanish
etc.
so maybe we would be too - better with separate file per language?
myapp.english (or myapp.default?)
[MENU_ITEM_1 "Open ..."
MENU_ITEM_2 "Close"
]
get-locale: func [my-app /local temp][either not exists? temp: join
to-file my-app current-locale [join to-file my-app ".default"][temp]
my-app-locale*: load get-locale my-app
Well, just a brainstorming ... you get the idea .... Anyway - I will
need similar system sooner than later, so if you are not lazy, let's
develop it further :-)
-pekr-