Ticket #1504 (closed defect: fixed)

Opened 18 months ago

Last modified 17 months ago

NVIZ shows only English Menu

Reported by: Venkat Owned by: grass-dev@…
Priority: major Milestone: 6.4.2
Component: Packaging Version: svn-trunk
Keywords: tcl/tk, nviz, i18n, wingrass Cc:
Platform: MSWindows 7 CPU: Unspecified

Description

Tested with WinGRASS-6.4.SVN-r49327 and nviz2.2 (tcl/tk) menu is only in English despite changing locale to ja, de etc.

It seems that NVIZ (tcl/tk) is not i18N

Attachments

grass64svn_nviz_in_japanese.jpg Download (175.4 KB) - added by neteler 18 months ago.
NVIZ and wxGUI in Japanese
nviz_ja_win-7.png Download (98.7 KB) - added by Venkat 18 months ago.

Change History

  Changed 18 months ago by hamish

  • keywords tcl/tk, nviz, i18n, wingrass added
  • priority changed from blocker to major
  • component changed from Default to Translations

the message files seem to exist at least,

http://grass.osgeo.org/devel/i18n.php#statistics

GRASS NVIZ messages (grassnviz)

PO-Files	Translated messages	Fuzzy translations	Untranslated messages
Japanese 	grassnviz_ja.po 	534 	 	0 
German 	 	grassnviz_de.po 	380 	151  	3 
Latvian 	grassnviz_lv.po 	348 	13  	0 
Italian 	grassnviz_it.po 	327 	0  	207 

?, Hamish

  Changed 18 months ago by venkat

Yes, the message filesdo exist, but nviv2.2 menu are displayed only in English even when I set language to Japanese, German etc.

Changed 18 months ago by neteler

NVIZ and wxGUI in Japanese

  Changed 18 months ago by neteler

I have switched my Linux box to Japanese and both NVIZ and wxGUI come up in Japanese nicely (see attachment).

Venka, how did you set the language on your system?

To developers: I still value #879 ("Add a "change language" option in GRASS GUI") highly relevant to overcome these problems.

  Changed 18 months ago by neteler

Changed 18 months ago by Venkat

follow-up: ↓ 19   Changed 18 months ago by Venkat

nviz2.2 (tcl/tk) displays Japanese strings correctly (See attached image) with OSGeo4W (GRASS6.4.2RC2). I had to edit the apps/grass/grass-6.4.2RC2/etc/nviz2.2/msgs/ja.msg file and input Japanese UTF-8 as ascii string.

The same does not work with WinGRASS-6.4.SVN-r49327 which displays nviz2.2 menu only in English. My guess is that the problem maybe with the tcl/tk library in WinGRASS-6.4.SVN-r49327.

Hoping that solution can be found for helping nviz2.2 (tck/tk) translation in WinGRASS-6.4.SVN too.

  Changed 18 months ago by marisn

  • component changed from Translations to Packaging

This is a packaging issue, as my installed nightly native WinGRASS 6.4 lacks msgcat support and thus all tcl/tk should be only in English.

How to check that: go to C:\program files\grass 6.4 svn\tcl-tk\bin start tclsh.exe type in: "package require msgcat" (without quotes) if the answer is "can't find package", Your tcl/tk installation is missing it's core functionality.

  Changed 18 months ago by Venkat

MarisN, thanks for the insight. Yes, in the native WinGRASS-6.4.2RC2 "msgcat cannot be found". Hope msgcat support will be included in tcl/tk installation for WinGRASS-6.4.2.

  Changed 18 months ago by neteler

 http://gnuwin32.sourceforge.net/packages/gettext.htm

 http://sourceforge.net/projects/gnuwin32/files/gettext/ - 0.14.4 - 2005-05-07

Probably the gettext package is too old? I don't see much tck in there:

[neteler@north ~]$ unzip -l  gettext-0.14.4-bin.zip | grep tcl
        0  05-06-2005 23:54   contrib/gettext/0.14.4/gettext-0.14.4-src/gettext-tools/examples/hello-tcl/
      193  12-07-2003 13:43   contrib/gettext/0.14.4/gettext-0.14.4-src/gettext-tools/examples/hello-tcl/INSTALL
        0  05-06-2005 23:54   contrib/gettext/0.14.4/gettext-0.14.4-src/gettext-tools/examples/hello-tcl-tk/
      218  12-07-2003 13:43   contrib/gettext/0.14.4/gettext-0.14.4-src/gettext-tools/examples/hello-tcl-tk/INSTALL
[neteler@north ~]$ unzip -l  gettext-0.14.4-lib.zip | grep tcl
[neteler@north ~]$

Latest release is gettext-0.18.1.1.tar.gz. However:

neteler@north:~/gettext-0.18.1.1$ find . -name '*.tcl'
./gettext-tools/src/msgunfmt.tcl
./gettext-tools/examples/hello-tcl-tk/hello.tcl
./gettext-tools/examples/hello-tcl/hello.tcl

  Changed 18 months ago by marisn

Markus, gettext is OK. I can also see translated messages coming from the C part of GRASS. Issue is caused by a broken TCL version shipped with WinGRASS nightly. It lacks one of TCL core components - msgcat, that provides internationalization support for TCL code. It's easy to spot this issue - just ask for msgcat in any TCL script/shell like: "package require msgcat"

follow-up: ↓ 11   Changed 18 months ago by neteler

To check, I have downloaded a snapshot from  http://wingrass.fsv.cvut.cz/grass64/ and looked into C:\Programmi\GRASS 6.4.SVN\extrabin\ which contains the "msgcat.exe".

Don't you have it in GRASS 6.4.SVN\extrabin\? If yes, then the binary is there but not seen from Tcl.. (?)

in reply to: ↑ 10 ; follow-up: ↓ 17   Changed 18 months ago by marisn

Markus, I repeat. There are no problems with gettext. msgcat.exe is provided by gettext and has nothing to do with this issue. This issue comes from the lack of msgcat-VERSION.tm file (present in ActiveState? TCL). Replying to neteler:

To check, I have downloaded a snapshot from  http://wingrass.fsv.cvut.cz/grass64/ and looked into C:\Programmi\GRASS 6.4.SVN\extrabin\ which contains the "msgcat.exe". Don't you have it in GRASS 6.4.SVN\extrabin\? If yes, then the binary is there but not seen from Tcl.. (?)

follow-ups: ↓ 13 ↓ 15   Changed 18 months ago by neteler

Then I would suggest to package winGRASS with Activestate TCL as it seems to be done in OSGeo4W.

in reply to: ↑ 12 ; follow-up: ↓ 14   Changed 18 months ago by Venkat

Replying to neteler:

Then I would suggest to package winGRASS with Activestate TCL as it seems to be done in OSGeo4W.

MarisN, can you please clarify if this would help overcome "lack of msgcat-VERSION.tm" in winGRASS package.

Thanks in advance.

in reply to: ↑ 13   Changed 18 months ago by marisn

Replying to Venkat:

Replying to neteler:

Then I would suggest to package winGRASS with Activestate TCL as it seems to be done in OSGeo4W.

MarisN, can you please clarify if this would help overcome "lack of msgcat-VERSION.tm" in winGRASS package. Thanks in advance.

I'm not an expert on TCL packaging on Windows. I just checked that Activestate provided TCL version has msgcat support. Still it's strange that WinGRASS version doesn't as it is considered to be a part of TCL core functionality. Other option is to examine WinGRASS TCL packaging procedure to find out why msgcat is missing as normally it should be present.

in reply to: ↑ 12 ; follow-up: ↓ 16   Changed 18 months ago by jef

Replying to neteler:

Then I would suggest to package winGRASS with Activestate TCL as it seems to be done in OSGeo4W.

OSGeo4W doesn't ship Activestate TCL - as they don't allow redistribution. IIRC I think I did an own build.

in reply to: ↑ 15   Changed 18 months ago by venkat

Replying to jef:

Replying to neteler:

Then I would suggest to package winGRASS with Activestate TCL as it seems to be done in OSGeo4W.

OSGeo4W doesn't ship Activestate TCL - as they don't allow redistribution. IIRC I think I did an own build.

If you can suggest your build options for TCL on OSGeo4W, maybe rebuilding TCL will the same options for WinGRASS TCL should do the trick.

in reply to: ↑ 11 ; follow-up: ↓ 18   Changed 17 months ago by hellik

Replying to marisn:

Markus, I repeat. There are no problems with gettext. msgcat.exe is provided by gettext and has nothing to do with this issue. This issue comes from the lack of msgcat-VERSION.tm file (present in ActiveState? TCL).

just searched within my osgeo4w-build-tree here, there is

C:\OSGeo4W\lib\tcl8\8.5\msgcat-1.4.2.tm

would this be enough if included in osgeo4w-based-wingrass?

Helmut

in reply to: ↑ 17   Changed 17 months ago by hellik

Replying to hellik:

Replying to marisn:

Markus, I repeat. There are no problems with gettext. msgcat.exe is provided by gettext and has nothing to do with this issue. This issue comes from the lack of msgcat-VERSION.tm file (present in ActiveState? TCL).

just searched within my osgeo4w-build-tree here, there is C:\OSGeo4W\lib\tcl8\8.5\msgcat-1.4.2.tm would this be enough if included in osgeo4w-based-wingrass?

and where should msgcat-1.4.2.tm be in?

at the moment we have

i.e. C:\Program Files\GRASS 6.5.SVN\tcl-tk\lib\tcl8.5 C:\Program Files\GRASS 6.5.SVN\tcl-tk\lib\tk8.5

any hints?

Helmut

in reply to: ↑ 5 ; follow-ups: ↓ 20 ↓ 21   Changed 17 months ago by hellik

Replying to Venkat:

Hoping that solution can be found for helping nviz2.2 (tck/tk) translation in WinGRASS-6.4.SVN too.

see wingrass65: r49793 attempt to fix #1504: NVIZ shows only English Menu

wingrass70: r49794 attempt to fix #1504: NVIZ shows only English Menu

not yet in wingrass64svn, please test with nightly builds >r49793:

 http://wingrass.fsv.cvut.cz/grass65/  http://wingrass.fsv.cvut.cz/grass70/

Helmut

p.s. maybe there has to be opened another ticket, because here (winvista/win 7 german)

"GRASS 6.5.SVN with MSYS" => partly translated "GRASS 6.5.SVN" => more translated as above

in reply to: ↑ 19   Changed 17 months ago by hellik

Replying to hellik:

p.s. maybe there has to be opened another ticket, because here (winvista/win 7 german) "GRASS 6.5.SVN with MSYS" => partly translated "GRASS 6.5.SVN" => more translated as above

see ticket #1514

in reply to: ↑ 19 ; follow-up: ↓ 22   Changed 17 months ago by marisn

Replying to hellik:

Replying to Venkat:

Hoping that solution can be found for helping nviz2.2 (tck/tk) translation in WinGRASS-6.4.SVN too.

see wingrass65: r49793 attempt to fix #1504: NVIZ shows only English Menu wingrass70: r49794 attempt to fix #1504: NVIZ shows only English Menu not yet in wingrass64svn, please test with nightly builds >r49793:  http://wingrass.fsv.cvut.cz/grass65/  http://wingrass.fsv.cvut.cz/grass70/ Helmut

Seems to work just fine. Please backport to 6.4 too.

in reply to: ↑ 21   Changed 17 months ago by hellik

Replying to marisn:

Seems to work just fine. Please backport to 6.4 too.

done: r49805

please test.

Helmut

  Changed 17 months ago by venkat

  • status changed from new to closed
  • resolution set to fixed

Works fine with WinGRASS-6.4.SVN-r49805 with Japanese local.

Helmut, many thanks for the GRASS-6.4 backport.

Note: See TracTickets for help on using tickets.