Loading ...
Sorry, an error occurred while loading the content.
 

Re: vim tutor in Chinese to update

Expand Messages
  • Bram Moolenaar
    ... We definitely need two Chinese tutors. Calling them with the five letter name is appropriate. This requires changing tutor/tutor.vim. Currently it cuts
    Message 1 of 5 , Sep 3, 2012
      Alick Zhao wrote:

      > Recently I find that the English version of vim tutor file has version
      > 1.7 while the Chinese version v1.5. I would like to help update the
      > Chinese translation. In particular I will try to update the Simplified
      > Chinese version. Should I use hg to clone the repo and then after making
      > my changes, post the patch to vim_dev list?
      >
      > Also there's an issue about Chinese version of vim tutor file. Nowadays
      > Simplified Chinese user typically use zh_CN.UTF-8 locale in Linux/Unix
      > systems. When they(including me) type the command 'vimtutor', they will
      > get tutor in Traditional Chinese. The reason is that the tutor file
      > 'tutor.zh.utf-8' is in Traditional Chinese, and there is no Simplified
      > Chinese UTF-8 version. I see in the manual that language is a two-letter
      > name, but I don't think *two*-letter is required indeed. Is it so? Can
      > we have separate tutor files 'tutor.zh_cn.utf-8' and
      > 'tutor.zh_tw.utf-8', like the case in gui menu translation?

      We definitely need two Chinese tutors. Calling them with the five
      letter name is appropriate.

      This requires changing tutor/tutor.vim. Currently it cuts off
      everything after the first two characters in line 44. That will require
      some work. Probably by using s:lang around line 78, where Chinese is
      handled. That avoids having to change much in the rest of the file.

      --
      LAUNCELOT leaps into SHOT with a mighty cry and runs the GUARD through and
      hacks him to the floor. Blood. Swashbuckling music (perhaps).
      LAUNCELOT races through into the castle screaming.
      SECOND SENTRY: Hey!
      "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD

      /// Bram Moolenaar -- Bram@... -- http://www.Moolenaar.net \\\
      /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
      \\\ an exciting new programming language -- http://www.Zimbu.org ///
      \\\ help me help AIDS victims -- http://ICCF-Holland.org ///

      --
      You received this message from the "vim_use" maillist.
      Do not top-post! Type your reply below the text you are replying to.
      For more information, visit http://www.vim.org/maillist.php
    • Alick Zhao
      ... Use iconv to get a usable (a bit outdated though) tutor.zh_cn.utf-8 : iconv -f CP936 -t UTF-8 tutor.zh.euc tutor.zh_cn.utf8 And rename tutor.zh.utf-8 to
      Message 2 of 5 , Sep 4, 2012
        On Mon, 03 Sep 2012 23:14:13 +0200, Bram Moolenaar wrote:
        >
        > Alick Zhao wrote:
        >
        >> Also there's an issue about Chinese version of vim tutor file. Nowadays
        >> Simplified Chinese user typically use zh_CN.UTF-8 locale in Linux/Unix
        >> systems. When they(including me) type the command 'vimtutor', they will
        >> get tutor in Traditional Chinese. The reason is that the tutor file
        >> 'tutor.zh.utf-8' is in Traditional Chinese, and there is no Simplified
        >> Chinese UTF-8 version. I see in the manual that language is a two-letter
        >> name, but I don't think *two*-letter is required indeed. Is it so? Can
        >> we have separate tutor files 'tutor.zh_cn.utf-8' and
        >> 'tutor.zh_tw.utf-8', like the case in gui menu translation?
        >
        > We definitely need two Chinese tutors. Calling them with the five
        > letter name is appropriate.
        >
        > This requires changing tutor/tutor.vim. Currently it cuts off
        > everything after the first two characters in line 44. That will require
        > some work. Probably by using s:lang around line 78, where Chinese is
        > handled. That avoids having to change much in the rest of the file.
        >

        Use iconv to get a usable (a bit outdated though) 'tutor.zh_cn.utf-8':

        iconv -f CP936 -t UTF-8 tutor.zh.euc > tutor.zh_cn.utf8

        And rename tutor.zh.utf-8 to tutor.zh_tw.utf-8 (to be more consistent).

        And then with the following patch the issue should be fixed.
        (Last change info at line 4 of tutor.vim should be updated too.)

        --- tutor.vim.bak 2012-09-04 21:15:23.330111701 +0800
        +++ tutor.vim 2012-09-04 21:57:46.597714283 +0800
        @@ -80,6 +80,12 @@
        let s:ext = ".zh.big5"
        elseif &enc != 'utf-8'
        let s:ext = ".zh.euc"
        + elseif exists("s:lang")
        + if s:lang =~? 'zh_cn'
        + let s:ext = ".zh_cn"
        + else
        + let s:ext = ".zh_tw"
        + endif
        endif
        endif


        --
        alick
        Fedora 16 (Verne) user
        https://fedoraproject.org/wiki/User:Alick

        --
        You received this message from the "vim_use" maillist.
        Do not top-post! Type your reply below the text you are replying to.
        For more information, visit http://www.vim.org/maillist.php
      • Bram Moolenaar
        ... If we rename tutor.zh.utf-8 to tutor.zh_tw.utf-8, then we need to have a fallback for when s:lang is not defined. Using the zh_cn one is the best guess,
        Message 3 of 5 , Sep 5, 2012
          Alick Zhao wrote:

          > On Mon, 03 Sep 2012 23:14:13 +0200, Bram Moolenaar wrote:
          > >
          > > Alick Zhao wrote:
          > >
          > >> Also there's an issue about Chinese version of vim tutor file. Nowadays
          > >> Simplified Chinese user typically use zh_CN.UTF-8 locale in Linux/Unix
          > >> systems. When they(including me) type the command 'vimtutor', they will
          > >> get tutor in Traditional Chinese. The reason is that the tutor file
          > >> 'tutor.zh.utf-8' is in Traditional Chinese, and there is no Simplified
          > >> Chinese UTF-8 version. I see in the manual that language is a two-letter
          > >> name, but I don't think *two*-letter is required indeed. Is it so? Can
          > >> we have separate tutor files 'tutor.zh_cn.utf-8' and
          > >> 'tutor.zh_tw.utf-8', like the case in gui menu translation?
          > >
          > > We definitely need two Chinese tutors. Calling them with the five
          > > letter name is appropriate.
          > >
          > > This requires changing tutor/tutor.vim. Currently it cuts off
          > > everything after the first two characters in line 44. That will require
          > > some work. Probably by using s:lang around line 78, where Chinese is
          > > handled. That avoids having to change much in the rest of the file.
          > >
          >
          > Use iconv to get a usable (a bit outdated though) 'tutor.zh_cn.utf-8':
          >
          > iconv -f CP936 -t UTF-8 tutor.zh.euc > tutor.zh_cn.utf8
          >
          > And rename tutor.zh.utf-8 to tutor.zh_tw.utf-8 (to be more consistent).
          >
          > And then with the following patch the issue should be fixed.
          > (Last change info at line 4 of tutor.vim should be updated too.)
          >
          > --- tutor.vim.bak 2012-09-04 21:15:23.330111701 +0800
          > +++ tutor.vim 2012-09-04 21:57:46.597714283 +0800
          > @@ -80,6 +80,12 @@
          > let s:ext = ".zh.big5"
          > elseif &enc != 'utf-8'
          > let s:ext = ".zh.euc"
          > + elseif exists("s:lang")
          > + if s:lang =~? 'zh_cn'
          > + let s:ext = ".zh_cn"
          > + else
          > + let s:ext = ".zh_tw"
          > + endif
          > endif
          > endif

          If we rename tutor.zh.utf-8 to tutor.zh_tw.utf-8, then we need to have a
          fallback for when s:lang is not defined. Using the zh_cn one is the
          best guess, so this should work:

          if s:ext =~? '\.zh'
          if &enc =~ 'big5\|cp950'
          let s:ext = ".zh.big5"
          elseif &enc != 'utf-8'
          let s:ext = ".zh.euc"
          elseif exists("s:lang") && s:lang =~? 'zh_tw'
          let s:ext = ".zh_tw"
          else
          let s:ext = ".zh_cn"
          endif
          endif

          Please check.

          --
          This is the polymorph virus! Follow these instructions carefully:
          1. Send this message to everybody you know.
          2. Format your harddisk.
          Thank you for your cooperation in spreading the most powerful virus ever!

          /// Bram Moolenaar -- Bram@... -- http://www.Moolenaar.net \\\
          /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
          \\\ an exciting new programming language -- http://www.Zimbu.org ///
          \\\ help me help AIDS victims -- http://ICCF-Holland.org ///

          --
          You received this message from the "vim_use" maillist.
          Do not top-post! Type your reply below the text you are replying to.
          For more information, visit http://www.vim.org/maillist.php
        • Alick Zhao
          ... If s:lang does not exist, the user should be providing lang code in the command line, like vimtutor zh_tw . This change will make vimtutor zh_tw also
          Message 4 of 5 , Sep 5, 2012
            On Wed, 05 Sep 2012 16:48:06 +0200, Bram Moolenaar wrote:
            >
            > Alick Zhao wrote:
            >
            >> On Mon, 03 Sep 2012 23:14:13 +0200, Bram Moolenaar wrote:
            >>>
            >>> Alick Zhao wrote:
            >>>
            >>>> Also there's an issue about Chinese version of vim tutor file. Nowadays
            >>>> Simplified Chinese user typically use zh_CN.UTF-8 locale in Linux/Unix
            >>>> systems. When they(including me) type the command 'vimtutor', they will
            >>>> get tutor in Traditional Chinese. The reason is that the tutor file
            >>>> 'tutor.zh.utf-8' is in Traditional Chinese, and there is no Simplified
            >>>> Chinese UTF-8 version. I see in the manual that language is a two-letter
            >>>> name, but I don't think *two*-letter is required indeed. Is it so? Can
            >>>> we have separate tutor files 'tutor.zh_cn.utf-8' and
            >>>> 'tutor.zh_tw.utf-8', like the case in gui menu translation?
            >>>
            >>> We definitely need two Chinese tutors. Calling them with the five
            >>> letter name is appropriate.
            >>>
            >>> This requires changing tutor/tutor.vim. Currently it cuts off
            >>> everything after the first two characters in line 44. That will require
            >>> some work. Probably by using s:lang around line 78, where Chinese is
            >>> handled. That avoids having to change much in the rest of the file.
            >>>
            >>
            >> Use iconv to get a usable (a bit outdated though) 'tutor.zh_cn.utf-8':
            >>
            >> iconv -f CP936 -t UTF-8 tutor.zh.euc > tutor.zh_cn.utf8
            >>
            >> And rename tutor.zh.utf-8 to tutor.zh_tw.utf-8 (to be more consistent).
            >>
            >> And then with the following patch the issue should be fixed.
            >> (Last change info at line 4 of tutor.vim should be updated too.)
            >>
            >> --- tutor.vim.bak 2012-09-04 21:15:23.330111701 +0800
            >> +++ tutor.vim 2012-09-04 21:57:46.597714283 +0800
            >> @@ -80,6 +80,12 @@
            >> let s:ext = ".zh.big5"
            >> elseif &enc != 'utf-8'
            >> let s:ext = ".zh.euc"
            >> + elseif exists("s:lang")
            >> + if s:lang =~? 'zh_cn'
            >> + let s:ext = ".zh_cn"
            >> + else
            >> + let s:ext = ".zh_tw"
            >> + endif
            >> endif
            >> endif
            >
            > If we rename tutor.zh.utf-8 to tutor.zh_tw.utf-8, then we need to have a
            > fallback for when s:lang is not defined. Using the zh_cn one is the
            > best guess, so this should work:
            >
            > if s:ext =~? '\.zh'
            > if &enc =~ 'big5\|cp950'
            > let s:ext = ".zh.big5"
            > elseif &enc != 'utf-8'
            > let s:ext = ".zh.euc"
            > elseif exists("s:lang") && s:lang =~? 'zh_tw'
            > let s:ext = ".zh_tw"
            > else
            > let s:ext = ".zh_cn"
            > endif
            > endif
            >
            > Please check.
            >

            If s:lang does not exist, the user should be providing lang code in the
            command line, like 'vimtutor zh_tw'. This change will make 'vimtutor
            zh_tw' also return a zh_cn tutor file, which is not the expected
            behavior IMO.

            --
            alick
            Fedora 16 (Verne) user
            https://fedoraproject.org/wiki/User:Alick

            --
            You received this message from the "vim_use" maillist.
            Do not top-post! Type your reply below the text you are replying to.
            For more information, visit http://www.vim.org/maillist.php
          Your message has been successfully submitted and would be delivered to recipients shortly.