Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search

[REBOL] Re: locale

From: petr:krenzelok:trz:cz at: 25-Aug-2002 23:38

Francesco De Napoli wrote:
>Hello Petr > >On 24-Ago-02, Petr Krenzelok wrote: > >>Yes, I know. But then we have to decide, if we add system-wide >>directories as /catalogues, /skins, etc., or each app will use its own >>directory? Because - in rebol, the app = few KB script in many cases, so >>maybe it would be sufficient to look at app directory subdir, or >>directly at directory where script resides (no /catalogues subdir, just >>catalogue files) >> >> > >I think to put %app-name.r & %catalog/ in the same directory, so they >maybe installed, copied, removed together :) >
OK, then remember the directory can contain more than one app (script) .... just a note :-)
>Yes! Rebol applications requires few KB and to collect many catalogs colud >enlarge them, but we should consider to distribute them with few or only >one catalog file (p.e. english one) and modify make-catalog function or add >another function to autodownload prefered catalog file(s) if in the user >setup are specified different languages, so only first application launch >needs to start with "wrong" catalog and download correct one if we can't do >catalogs download during app installation and then re-define catalog. > >Another approch could be this: an application is distributed with all >avaible >catalog files and on the first launch are removed unused ones or user force >their deletion. > >I think first solution is the best one :) >
hmm, IIRC Amiga has some organisation called ATO (Amiga Translation Organisation). If someone develops app, he/she can contact ATO to do translation to other languages, which can be ready till app release time. I am not sure ppl here + RT will agree to: 1) have default language pack external to script. It would mean EVERY script would have to have two files - script itself, and catalogue. On the other hand - if author doesn't wish to support localisation, he does not need to create catalogue. 2) to have it downloadable. I am not sure app itself should download it dynamically. Such capability should be provided by app itself, if author wishes to do so.
>Do you want a global locale/catalog directory? No problem!! > works fine even with global locale/catalog directory >until two or more application haven't the same "app-name" :) >
correct :-)
>I've an opened mind: that was only my first experiment on "Rebol Scripts >Localization" not the ultimate solution :) >
hey, I am not guru either :-)
>>we could e.g. use or even app-name.czech and use >>suffix? func to get language name. But it could look confusing having >> >> > >Their are both valid solution, but I think .cat suffix is better to make >searches or use wildcard ;) >
hmm, you are right here. What about .catalogue or .language suffix? Are we really all influenced by MS Win3.1 era crap? :-)
>>app-name.r containing app itself, default catalogue and app-name.czech >>to contain only language catalogue, not script ... >> >> > >If app-name.r contains code & default catalog we may waste KB, i.e. I'm >Italian and I like use Italian Language but default catalog is Czech, >source code contains Czech strings definition even if at runtime them will >be replaced by Italian ones, but they are still there and even on harddisk! >Otherwise if all catalog are external file I could delete Czech and all >other unused catalogs, app-name.r will be as tiny as it needs to be and >only one or few catalogs will be stored on harddisk. To have default >catalog as an external file may help translators to make their dirty job :) >
Well, I always liked componentisation, but some ppl here will tell you stories about so called "dll hell" - if you don't find a component, your app is not operable. That's why we have Rebol in one executable file and scripts are mostly one .r files and everything-inside-aproach is often used :-) Think e.g. of Rebol itself. It contains many messages. They are in English. How to translate them? Well, main rebol dir could contain something like suggested Then we need to tell Rebol to use Czech language, right? How? Is the user.r the right place? What word should be used? What about using system/locale object? System/locale/preferred-language: "Czech". Then: - Rebol - would load that catalogue, checking version number of course - other app : a) does not support localisation and nothing happens b) support localisation - should call some helper function switch-to-language doing two things - 1) look at system/locale/preferred-language 2) checking its dir if is available -pekr-