Issue 10043 - language & locale resources switching
Summary: language & locale resources switching
Status: CLOSED IRREPRODUCIBLE
Alias: None
Product: Internationalization
Classification: Code
Component: ui (show other issues)
Version: current
Hardware: All All
: P3 Trivial with 39 votes (vote)
Target Milestone: ---
Assignee: bettina.haberer
QA Contact: issues@l10n
URL:
Keywords: rfe_eval_ok
: 5844 11206 (view as issue list)
Depends on:
Blocks:
 
Reported: 2002-12-13 01:48 UTC by timokl
Modified: 2013-08-07 15:00 UTC (History)
22 users (show)

See Also:
Issue Type: FEATURE
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description timokl 2002-12-13 01:48:21 UTC
Hi,

in the Thai-Version of MS Office 2000 Suite there is a language switcher in the
Office bar. With it you can change the language of the whole UI (menus, help,
...) when you start an MS Office application the next time.

If you are in need of having different language versions of OOo available on the
same machine, then now you have to download different localized versions (all of
them at least 50 MB) and install them in different folders. With a comparable
language switcher you need to install only one distribution, you do not have to
take care that all the different versions have the same spellchecker etc.

And in addition, this would be a cance of re-integrating Pladao-Office back into
OOo, since Pladao 1.0 is based on OOo 638, an up to date version is not
available in Thai language.

Greets,
Timo Kozlowski
Comment 1 jurstud 2003-02-11 12:32:36 UTC
I agree of the idea of easy switching between multiple languages in 
the GUI. It would be great if there was only one version one could 
download and install, and then with an extra multilingual module 
switch between different GUI's without restarting the computer. With 
Microsoft office you can install a module that takes care of that. 

For Openoffice that would be a strong argument and a great feature 
for big corporations, schools and governments outside USA. In Europe 
it's quite common to have several different official languages in a 
country. I have witnessed this is a big problem also in Japan. Even 
in big western corporations not everyone can handle the english GUI 
or for that sake the japanese GUI.;) 

Personally I would like to see GUI's in 
Swedish/English/German/Japanese/Italian in the same program version, 
and the module doesn't have to have the different dictionaries for 
the languages.

Thanks in advance!
Comment 2 stefan.baltzer 2003-03-31 17:50:13 UTC
Reassigned to Bettina.
Comment 3 timokl 2003-04-01 04:51:22 UTC
In Pladao Office 2.0 (Preview Release), the Thai locale derivate of
OOo 1.0.1, there is such a language switching feature now available.
It is a commandline program  that allows you to switch between Thai
and English user interface.

See: http://www.pladao.org
Comment 4 arthit 2003-05-01 08:33:30 UTC
I also love to see this Multi-languages UI support feature in next
major version of OO.o :)

---

FYI, current version of Pladao Office is 2.0.
It is based on OpenOffice.org 1.0.2.

----

Briefly,
Pladao Office kept a "language id"
in a small file named "uilang",
which will be created in each user home directory.

When Pladao Office starts,
it will read "language id" from this file
then decided which set of resources
(UI texts, icons, help, etc.)
it will loaded for a current run.

"language id" value in "uilang" can be change by 
running a "uilangswitch" from command line.
The program will ask which UI language a user wants
(press "T" for Thai, press "E" for English)
then write a corresponding "language id" to "uilang" file.

----

Note:

The current implementation use ISO international calling number for
"language id",
just like OO.o has use.

Anyway, this is known to be a problem if there're lots of languages to
support.
So, I has purposed OO.o to change this to use a standard convention
like "xx_YY";
where "xx" is ISO language code, "YY" is country/territory code.

Please see issue 13735
Comment 5 pillai.shikha 2003-05-01 10:49:54 UTC
Hi,

  This is a great idea... had occurred to us too, because one main
problem we have here in India is all the 18 languages in our 
country. :-)

  Even though one person doesn't speak all, many do speak 2, and most
people know English too. We have got many requests so far, to have our
localized binaries support more that 1 UI language, with a switching
mechanism supported at runtime. Typically, English+NativeLang+more.. 
or NativeLang1+NativeLang2+more..

  We were trying to get a menu item or module added, through which the
user can select the UIs he'd like to work with, and later switch at
runtime. The corresponding resources could be loaded appropriately. 
Any implementation will be good - atleast, we would not have to 
install each binary separately. +1 to this issue.

Regards,
Shikha <hi.openoffice.org><http://www.ncb.ernet.in/bharateeyaoo>
Comment 6 ohallot 2003-05-01 11:00:32 UTC
I suspect that the size of the OO file to copy/download will increase
if all Languages are packed together (e.g. UI, help and dictionaries).
Think on having separated downloadable languages packs, having en_US
as default.
Comment 7 quetschke 2003-05-01 11:14:08 UTC
Yes, a full version with one language and additional language packs
sounds like a good plan.
Comment 8 arthit 2003-05-01 13:14:32 UTC
In Thailand, the case of Pladao Office (Thai localized version of OO.o),
the internet cafes really like this UI language switch feature of
Pladao Office.
Since they have both Thai and foreigner customers sharing same machine.

Yes, language packs is a good idea. MS Office also use this approach.
Comment 9 arthit 2003-05-04 03:42:39 UTC
A language pack may include "fonts".
Comment 10 maho.nakata 2003-05-04 04:26:45 UTC
quite dupulicating to my issue
http://www.openoffice.org/issues/show_bug.cgi?id=11206
Comment 11 maho.nakata 2003-05-04 05:05:44 UTC
Hi all,
Followings are my comments
a. For including fonts,
I would like to note Sander's comment:

> unless the licence is GPL + special provisions
> then effectively any PDF file made using these
> is technicaly GPL licenced.
So including fonts are quite dangerous.
http://www.openoffice.org/servlets/ReadMsg?msgId=672135&listName=dev
http://www.openoffice.org/servlets/ReadMsg?msgId=672143&listName=dev

b. OOo distributed with Debian and RedHat have
simular language package, see my newer (duplicating) issue.
Curtis Hall told me about it.

c. Technical issue
For Japanese, special setting is needed for
comfortable use. 
Tools" -> "Options"-> "Language Settings" -> 
"Languages" -> "Asian languages support"
How do we do when we install Japanese version ->
English version then again Japanese version?
When Japanese version installed, this setting should be
"ON" however for English version, this setting should be
"OFF", then again Japanese version. This may cause
a confusion for casual users.

d. And my former comment was wrong. This issue was
opend 2002-12-12 but my issue was opened at 2003-02-05
Comment 12 simonbr 2003-05-04 08:04:49 UTC
I have voted for this issue, and would like to add the following 
remarks: 
1) Especially for the "smaller" languages, this may also reduce 
download time, as OOo may be alreadily available in another language 
on e.g. a magazine CD-ROM. In that case only the language pack needs 
to be downloaded instead of the whole package. 
2) I assume the total download time of full English version + 
language pack will be considerably greater than that of a full 
version in the desired language. It could be considered to offer 
a "barebone" package as well, i.e. OOo /without/ the GUI, which can 
then be combined with a language pack.
3) Non-GUI language-specific features should be installed in such a 
way that they can be used independently of the currently selected GUI 
language. For example the list of replacements in autocorrection for 
a specific language should be available even if another language is 
used for the GUI.
Comment 13 maho.nakata 2003-05-04 17:58:17 UTC
reply for simon's comment:

1. We can also supply OOo with language pack (lp).
lp can be located at somewhere on the Internet or
local CD-ROM drive in the same directory. Only smart
installer is necessary.

2. Template and Cliparts are distributed at OOoExtra.
My memory is quite volatile, but as I remember
spellcheckers are also separate packages.

3. I'm wondering Sander's comment. PDF document generated
by Writer using GPL'ed fonts is GPL'ed PDF file?

4. I also want to comment Adobe's standard fonts.
As I many times have been explaining, if GPL'ed fonts
can be distributed with OOo or separate package, why not
use URW fonts? We are using Times Roman, Avant Garde, and
so on, and for Japanese, Ryumin-light, Gothic-BBB.
Better font substituting mechanism will solve any kind of
legal stuff and safely use them. And side effect of this
is that no layout change will occur.
Comment 14 arthit 2003-05-04 18:16:29 UTC
spellchecker + dictionaries from lingucomponent project
are now distributed as separated packages.
Comment 15 chris 2003-05-05 16:45:55 UTC
*** Issue 11206 has been marked as a duplicate of this issue. ***
Comment 16 nrad6949 2003-05-09 00:59:26 UTC
In my ideas, OO.o user can select default language for suite in 
setup process, not when finished and select it in lang-switcher.
Comment 17 bobonov 2003-05-14 12:08:02 UTC
I am happy to see that I am not the only person looking for this 
functionality.
Many thinks are already in this tread and is not easy to add 
something new beside some consideration.
A multilanguage openoffice version allow the user to use always an up 
to date version (if they do not dislike to use oo in english). 
Sometime localized version take lot of time to be ready (this is not 
a remark to the people that work on localizing oo).
With this functionality you can download oo immediately and later on 
the language pack when it is ready.
This is going also to create a lightweight and easy configuration for 
multilanguage oo installation.
On the developer side I think is going to be much easier and faster 
doing the porting to other language.

Beside everithing I would like to know if somebody from the developer 
side is reading this tread since I think there are no post form them.

At least I would like to see something like, " yes this functionality 
is planned for 1.5" or "not untill 2.0 it is not going to see the 
light"
Comment 18 chris 2003-05-14 12:45:42 UTC
haggai->Bobonov: I'm reading this, and I'm actively working on .debs
for 1.1.  We already include langpacks for 1.0.x, but there are
several problems in 1.0.x that make the langpack version inferior to
the official version.  I am hoping that these will all work properly
in 1.1, but I don't have everything ready yet to test this out.

I now have the scripts to pick out the files needed for the langpacks
but these need integrating into the instsetoo project makefiles.

We also need a mechanism to switch user interface language.  So far we
have done this using the user's language environment on Unix, but I
guess that will not work on Windows.  It may be too late for a GUI
interface to this in 1.1.

haggai->bh:  Do you want me to take this issue?
Comment 19 arthit 2003-05-14 21:56:52 UTC
Just in case that anyone of you wants an access to Pladao Office
source code
(which contains code for language switching)

how to make a CVS access
http://www.pladao.org/index.php?newlang=english

CVS Web
http://www.pladao.org/cgi-bin/cvsweb.cgi/

note:
i'm not the programmer for that code,
and have no idea about what exact it do.

----

P'Nusorn:
can you point out some important files/part of them
to look out, for language switching feature?
thank you :)
Comment 20 bobonov 2003-05-15 15:08:14 UTC
Chris thanks for your reaply. I am sure a lot of people are looking 
for this functionality.
Another remarks, should be possible to set the language for each 
user, but I think is quite obvious.
Comment 21 Rainer Bielefeld 2003-06-06 16:16:09 UTC
I also would like a flexible localization- handling with
language-packs (as "addons") as I am used from Mozilla.

I think this concept would it also make easier to create such
"language-switching".

Rainer
Comment 22 bettina.haberer 2003-07-07 17:36:12 UTC
See also in addition issue 11206, duplicate closed to this one.
Comment 23 bettina.haberer 2003-07-23 17:23:11 UTC
Hello Falko, this L10N-issue is one for you.
Comment 24 falko.tesch 2003-09-10 13:46:31 UTC
Yes, it is a desirable goal. 
Bettina: Please put this issue on the table to your feature discussions.

From what I know this issue is _not_ on our roadmap for 2.0 though and
the effort to make OO.o fully UI-language independent is no such easy
task anyway.

Nevertheless IMO we must address this issue at least in version
succeding 2.0.
Comment 25 falko.tesch 2003-09-10 14:23:05 UTC
- Changed to started -
Comment 26 davidfraser 2003-10-02 11:22:25 UTC
Can anyone from the Pladao Office team comment on how this
functionality was achieved, or provide a patch, or point towards a
developer who might provide such info? That would enable us to help
get this included in OpenOffice.org which would be much appreciated!
Comment 27 nusorn 2003-10-02 16:18:37 UTC
UI Resource method.
We did enable build process to build both Thai UI (66) and English 
UI (01) and include all *01.res and *66.res into setup script for 
instsetoo will include all English and Thai UI along.

Language Switch.
We had create small command line application that do small thing by 
create small file contain language number, 01 for English or 66 for 
Thai. [TODO] add this UI selection number into configure XML file.

Programmatically UI Selection.
These will only done by first start of soffice, if any instance were 
runing in any memory process, user need to terminate those process 
and has to restart themselves.
We had desired to enable resource selection in class ResMgr, 
tools\source\rc\resmgr.cxx, at function CreateResMgr. (See below).
Please note that, the code attached below was just create for 
support only Thai and English UI.

ResMgr* ResMgr::CreateResMgr( const sal_Char* pPrefixName,
                              LanguageType nType,
                              const UniString* pAppName,
                              const UniString* pResPath )
{
    // Suchreihenfolge festlegen
    const sal_Char* pLang[6];

    // Resourcefile suchen
    UniString aName;
    InternalResMgr* pInternalResMgr = NULL;
    int i;
// THAI #######################################
	NAMESPACE_VOS(OSecurity) aSecurity;
	::rtl::OUString aConfigDir;
	::rtl::OUString cutURL;
// THAI #######################################

    for ( i = 0; i < 6; i++ )
    {
        pLang[i] = GetLang( nType, i );

        if ( pLang[i] && (i == 0 || pLang[i] != pLang[0]) )
        {
// THAI #######################################
// Add to use user interface language switcher
// that registry in file named "uilang"
			aSecurity.getConfigDir(aConfigDir);
			osl::FileBase::getSystemPathFromFileURL
(aConfigDir, cutURL);
			UniString aUILangFile = cutURL;		
	
			aUILangFile.AppendAscii("/uilang");

			FILE* pFile;
			char pUILang[3];
			memset(pUILang, 0, 3);
			pUILang[0] = '6';
			pUILang[1] = '6';
			pFile = fopen(STR2THAI(aUILangFile), "r");

			if (!pFile)
			{
				pFile = fopen(STR2THAI
(aUILangFile), "w");
				fwrite(pUILang, sizeof(char), 2, 
pFile);
			}
			else
				fread(pUILang, sizeof(char), 2, 
pFile);
			fclose(pFile);

			if ( !(((pUILang[0]=='0')&&(pUILang[1]
=='1')) || ((pUILang[0]=='6')&&(pUILang[1]=='6'))) )
			{
				pUILang[0] = '6';
				pUILang[1] = '6';
			}

            aName.AppendAscii( pPrefixName );
            aName.AppendAscii( pUILang );
// THAI #######################################
            aName.AppendAscii( ".res" );
            pInternalResMgr = InternalResMgr::GetInternalResMgr( 
aName, pAppName, pResPath );
            if ( pInternalResMgr )
                return new ResMgr( pInternalResMgr );
        }
    }

    return NULL;
}
Comment 28 davidfraser 2003-10-06 09:26:40 UTC
Thanks for the patch Nusorn!
I think if we want to get this included we will need to adjust it for
using iso codes (en, th, de, etc) instead of the current number
system. But that should be fairly easy. The other important thing
would be to add the User Interface to allow language switching. Does
anyone know how to do this?
Comment 29 Rainer Bielefeld 2003-10-08 05:57:44 UTC
*** Issue 5844 has been marked as a duplicate of this issue. ***
Comment 30 moy 2003-10-21 19:58:33 UTC
We have the problem for the GNU Win project : (http://gnuwin.epfl.ch/)

We want to put as much free software as possible, in as many languages
as possible on the same CD. For that, a multi-lingual installer would
save a lot of space (We have 9 languages, so, 9 full installers would
fill the CD, whereas one full installer + language packs may take
around 100Mb)

I think Mozilla's approach can be a good one :

* You have the software in english
* You can download a language pack. It is installed automatically
* Then, you can select the language in the preferences.

And you can also download a package with the software + a preinstalled
language pack.

I would just add one thing : In the preferences of Mozilla, I don't
see any option "obey the LANG variable". I think this should exist,
and be the default.

So, can you do better than Mozilla ? ;-)

Ah, if you want to do something perfect, then, during install, check
the current language environement, and if the corresponding pack is
not available, offer the user to download it.
Comment 31 bettina.haberer 2003-12-05 17:06:54 UTC
Falko, you meant target OO.o later and accidentally switched OO.o 2.0.
I correct it and it is considered for later.
Comment 32 pavel 2004-09-24 15:47:31 UTC
is: from your presentation here on OOOCon2004, I realised that this is/will be
solved in 2.0. Right?
Comment 33 pseudo_daoist 2004-09-24 23:19:35 UTC
OOo 1.13 ZA lets you switch between English,Afrikaans, Zulu, Tswana, and
Sesutho.  The downside is that the download is roughly 300 MB. [Noproblemfor a
CD-ROM installation, though.]

David Fraser of the translate.org.za wrote the tool that they used to achieve
that result.

"The tool is written in Python and is almost portable except that to make life
easy I used some bash commands (cp, mv, chmod) and command-line zip to create
the files. Also there's a bash for loop that uses convert (from ImageMagick) to
handle icon creation for Gnome/KDE targets.
...
You don't need to build from scratch to use the tool, as long as the
resource files etc are all compatible (i.e. they must be generated from
the same source)."

So developers who want to try it out, can contact him for a copy of the tool.

xan

jonathon
Comment 34 ingo.schmidt-rosbiegal 2004-10-13 10:10:25 UTC
IS -> MOY: With the introduction of the native installer, we will also introduce
language packs. You can build them in the instsetooo_native project. The
OpenOffice.org 2.0 installation sets can be created in any langugage
Additionally it is possible to create language packs in any available language. 
After installing a language pack (that automatically detects the existing
OpenOffice installation) you can choose the new language at "Tools -> Options ->
Language ...". The default setting is, that the locale is interpreted and
OpenOffice starts in the language of the locale (if this language is available). 
I think, this is not far away from your suggestions :-)



Comment 35 lohmaier 2005-01-06 15:21:24 UTC
please close as fixed for 2.0 or worksforme.

If the language packs of OOo2.0 do not fullfill your requirements, then please
give a detailed description on what is missing (desireable in a new issue since
this grew large already)
Comment 36 arthit 2005-02-13 18:33:11 UTC
Does the current OOo 2 language pack can contains/installs fonts?
Comment 37 ingo.schmidt-rosbiegal 2005-02-14 10:50:26 UTC
OpenOffice.org does not contain language dependent fonts (defined in scp2).
Therefore the OpenOffice.org language packs do not contain fonts.
Comment 38 arthit 2005-02-14 12:01:49 UTC
arthit -> is:
Thanks. And what about spelling dictionary, thesaurus, cliparts, templates,
other extras?

I'm trying to find a spec of OOo 2 language pack but haven't found.
Anybody know where it is please help, thank you :)
Comment 39 ingo.schmidt-rosbiegal 2005-02-14 12:30:24 UTC
The spec does not describe the content of the language pack. The content is
absolutely variable and can be defined in the scp2 project. Every file that is
marked as language dependent is included into a language pack.

The specs can be found here:

http://specs.openoffice.org/g11n/index.html
Comment 40 andreschnabel 2005-10-17 15:44:41 UTC
as language switching (for the GUI) has been implemented for OOo 2.0 I'm closing
as worksforme.

For those things, that are not covered yet by language packs (e.g. fonts,
spellchecker) please file new issues, so it was more easy to enhance the
specification.
Comment 41 andreschnabel 2005-10-17 15:45:46 UTC
.
Comment 42 huntpacbabors 2010-11-10 23:21:10 UTC
Created attachment 73836