Mathias Michaelis wrote:

> >> + Another possibility is to use the gnuwin32 port of gettext. This is
> >> + recommended especially if you use already gnuwin32 tools to gunzip, 
> >> bunzip,
> >> + patch etc. these files. You find the gnuwin32 version of gettext here:
> >> +
> >> +         http://gnuwin32.sourceforge.net/packages/gettext.htm
> >> +
> >> + Yet another very strait forward way is to get the sources of gettext from
> >> +
> >> +         http://www.gnu.org/software/gettext/gettext.html
> >> +
> >> + and build your own version of these tools. The documentation states that 
> >> this
> >> + should be possible with MSVC4.0, MSVC5.0, MSVC6.0 or MSVC7.0, but you can
> >> + build it even successfully with MSVC8.0.
> >>
> > Did you try these versions?  I recall there were problems with some
> > ported versions of gettext and tools, but perhaps these are fixed by
> > now.
>
> Yes. I do all my work with gnuwin32. I once compiled gettext with
> the Visual C++ Toolkit, and yet it works well. With the new Visual
> 2005 Express Edition (VCEE) you must handle the .manifest files in a
> similar way as in one of my patches of gvimext.dll. But I didn't
> make expensive tests with the gettext package compiled by VCEE.

OK, I'll include it then.

> The gnuwin32 version as well as the version I once compiled with VC
> Toolkit of the msgfmt tool has one little problem: I can
> successfully compile all po files of Vim to mo files -- with one
> exception:
> 
>    msgfmt -o "vim\vim70\src\po\ja.sjis\LC_MESSAGES\vim.mo" \
>      "vim\vim70\src\po\ja.sjis.po"
> 
> says:
> 
>    vim\vim70\src\po\ja.sjis.po:61:23: invalid control sequence
>    vim\vim70\src\po\ja.sjis.po:208:18: invalid control sequence
>    [...]
>    vim\vim70\src\po\ja.sjis.po:1544:34: invalid control sequence
>    vim\vim70\src\po\ja.sjis.po:1566:20: invalid control sequence
>    msgfmt: too many errors, aborting
> 
> But since the official vim70lang.zip file also doesn't contain a
> ja.sjis language I thought this behaviour of msgfmt is normal. When
> I run the Vim version compiled myself on a German computer, all
> menus and messages are German.

There is an encoding, and I think it's sjis, that may use the backslash
in the second byte of a double-byte character.  How this is handled
inside a C string is ambiguous.  The meaning of the string may actually
change when using a different environment while compiling.  When used as
the format string for printf() this may cause a crash.  Very annoying
and totally unexpected for western people.

In my opinion the string should be handled as-is, thus the backslashes
need to be doubled to avoid their special meaning, but in some C
standard this changed (so that people using this encoding can type their
characters directly).  That's a convenience issue against possible
crashes...

-- 
Close your shells, or I'll kill -9 you
Tomorrow I'll quota you
Remember the disks'll always be full
And then while I'm away
I'll write ~ everyday
And I'll send-pr all my buggings to you.
    [ CVS log "Beatles style" for FreeBSD ports/INDEX, Satoshi Asami ]

 /// Bram Moolenaar -- [EMAIL PROTECTED] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\        download, build and distribute -- http://www.A-A-P.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

Reply via email to