Index: [Article Count Order] [Thread]

Date:  Tue, 30 Oct 2007 23:36:36 +0200
From:  Arthur Sherman <arturs (at mark) netvision.net.il>
Subject:  [coba-e:11016] Re: Translate in French (Howto: translations)
To:  coba-e (at mark) bluequartz.org
Message-Id:  <01e901c81b3c$f30bbe80$7002a8c0@dell>
In-Reply-To:  <200710302051.33333.bq (at mark) solarspeed.net>
X-Mail-Count: 11016

 

> -----Original Message-----
> From: Michael Stauber [mailto:bq (at mark) solarspeed.net] 
> Sent: Tuesday, October 30, 2007 9:52 PM
> To: coba-e (at mark) bluequartz.org
> Subject: [coba-e:11012] Re: Translate in French (Howto: translations)
> 
> Hi Pascal,
> 
> > Who as translate the bluequarzt in French ? and if  It's  
> done  where 
> > can  we find the file.
> 
> As far as I know nobody has taken up the translation to 
> French yet, but if you're willing to give it a try, then 
> you're more than welcome.
> 
> The language support uses regular I18n methods, so the 
> language files reside in the 
> /usr/share/locale/<LANG>/LC_MESSAGES/ directories:
> 
> English:
> /usr/share/locale/en/LC_MESSAGES/
> 
> Japanese:
> /usr/share/locale/ja/LC_MESSAGES/
> 
> Each software package for the GUI has its own language file:
> 
> base-vsite.mo <- for base-vsite (deals with Site management) 
> base-user.mo <- for base-user (deals with user management) 
> ... and so on. Just check out the directory with the English 
> language files and you'll see there are quite a few.
> 
> As you'll notice, the *.mo files can't be edited directly. 
> You need the program "gettext" to "decrypt" them back into 
> plain text. 
> 
> So how to do the translation?
> 
> First of all, copy all the 
> /usr/share/locale/en/LC_MESSAGES/*.mo files to a new 
> directory. Like this:
> 
> mkdir /home/my-translation
> cp /usr/share/locale/en/LC_MESSAGES/*.mo 
> /home/my-translation/ rm /home/my-translation/_swupdate* 
> 
> Then install "gettext":
> 
> yum install gettext
> 
> Next "decrypt" the textfiles one by one. For that you use the 
> "msgunfmt" 
> command like this:
> 
> msgunfmt base-user.mo -o base-user.po
> 
> This takes base-user.mo, decrypts it and stores the plain 
> text version of it under the name base-user.po.
> 
> Then you edit base-user.po and replace the English text with 
> French. You will have to do that for each and any of the *.po 
> files to make it a full translation. 
> 
> When you look at a *.po file you'll see that the text is 
> usually in this format in there:
> 
> msgid "ipAddr"
> msgstr "IP Address"
> 
> msgid "ipAddr_help"
> msgstr "This is the IP address of the site."
> 
> The prefix "msgid" defines an identifier and the prefix 
> "msgstr" contains which text is to be displayed when the code 
> for the GUI uses the "msgid".
> 
> msgid's with the suffix "_help" at the end usually denote the 
> "Help" text that is shown in the bottom frame in the GUI when 
> you move the mouse over an item in the GUI.
> 
> For example if you move the mouse over "IP Address" in the 
> GUI, it will show the help text "ipAddr_help" in the helper 
> frame at the bottom.
> 
> Eventually when all files are translated, you can turn them 
> back into *.mo files this way:
> 
> msgfmt base-user.po -o base-user.mo
> 
> Once you've done that, you can copy all the translated *.mo 
> files to the correct language directory:
> 
> cp /home/my-translation/*.mo /usr/share/locale/fr/LC_MESSAGES/
> 
> As you can see, that command moves them to the "fr" 
> directory, which will be used for French.
> 
> Now how do you make the new language available in the GUI? 
> After all, in "Personal Profile" / "Account" / "Language" you 
> have only "Japanese" 
> and "English" as choices. Well, here is how to do that:
> 
> Run this command:
> 
> /usr/sausalito/bin/cceclient
> 
> That starts "cceclient" which allows you to manipulate the 
> CODB (Cobalt Object Database), into which the GUI stores its 
> configuration. We need to find which Object ID the class 
> "System" has. 
> 
> It will respond with this:
> 
> 100 CSCP/0.80
> 200 READY
> 
> Now type:
> 
> find System
> 
> It will responds something like this:
> 
> 104 OBJECT 1
> 201 OK
> 
> Now we know that Class "System" has the Object ID 1. Let us 
> take a look at which data that Object contains:
> 
> get 1
> 
> This shows us what's stored inside:
> 
> 102 DATA productBuild = "5102R"
> 102 DATA NAMESPACE = ""
> 102 DATA productIdentity = "20061012"
> 102 DATA CLASSVER = "1.2"
> 102 DATA isRegistered = "0"
> 102 DATA CLASS = "System"
> 102 DATA gateway = "192.168.0.1"
> 102 DATA serialNumber = ""
> 102 DATA domainname = "smd.net"
> 102 DATA productName = "BlueQuartz 5100R Series"
> 102 DATA productBuildString = "build 20061012 for a 5102R in en_US"
> 102 DATA isLicenseAccepted = "1"
> 102 DATA OID = "1"
> 102 DATA productLanguage = "en"
> 102 DATA productSerialNumber = ""
> 102 DATA console = "1"
> 102 DATA productVendor = ""
> 102 DATA dns = "&192.168.2.1&192.168.10.1&68.166.46.236&"
> 102 DATA hostname = "cbq"
> 102 DATA locales = "&ja&en&"
> 201 OK
> 
> The line ...
> 
> 102 DATA locales = "&ja&en&"
> 
> ... contains what we're looking for. The Object "System" has 
> the entry "locales", which currently only holds the values 
> "ja" for Japanese and "en" for English. Let us add French to that:
> 
> set 1 locales = "&ja&en&fr&"
> 
> When you get the response ...
> 
> 201 OK
> 
> ... the change has been made just fine.
> 
> Now let us restart CCEd and AdmServ for good measure (just to 
> be sure):
> 
> /etc/init.d/cced.init restart
> /etc/init.d/admserv restart
> 
> Now login to the GUI and under "Personal Profile" / "Account" 
> / "Language" you should be able to choose "French" as your 
> default language for the account that you just logged in with.
> 
> You could also change "productLanguage" from "en" to "fr", 
> but this will require additional tweaking on the command line 
> to make French the default language for the entire GUI. Which 
> is a bit beyond the scope of this documentation.
> 
> Once you have the translation done and want to contribute it 
> to the BlueQuartz project, please let us know here. We'd 
> really appreciate that!
> 
> --
> With best regards,
> 
> Michael Stauber
> http://www.solarspeed.net


Well, I believe Michael ansewred my request for language files even before
it reached the list.
:) LOL

Thanks, Michael.

Arthur