[ruby-gnome2-doc-cvs] [Hiki] update - libgade2-tut-l10n

Back to archive index

ruby-****@sourc***** ruby-****@sourc*****
2004年 11月 8日 (月) 21:21:53 JST


-------------------------
REMOTE_ADDR = 15.211.169.100
REMOTE_HOST = 
        URL = http://ruby-gnome2.sourceforge.jp/ja/?libgade2-tut-l10n
-------------------------
- == Localization(L10n): 文字列の地域化
+ = Localization(L10n): 文字列の地域化
  さて仕上げのL10n化です。Ruby/Libglade2を用いた場合、Glade XMLファイル、Rubyスクリプトファイルの2種類のファイル中に現れる文字列が対象になります。
  
- === スクリプトをL10n対応させる
+ == スクリプトをL10n対応させる
  Rubyスクリプトの方はRuby-GetText-Packageを用いますので詳しくは((<そちら|URL:http://ponx.s5.xrea.com/hiki/ja/ruby-gettext.html>))を参照してください。簡単に説明すると、Rubyスクリプト中のL10n化したい文字列を_("foo")とかN_("bar")いう形で括り出します。
  
  (例)
      def on_save_as1_activate(widget)
        ret = select_file(Gtk::FileChooser::ACTION_SAVE)
        if @filename and ret == Gtk::Dialog::RESPONSE_OK
  	      if FileTest.exist?(@filename)
            dialog = Gtk::MessageDialog.new(@main_window, Gtk::Dialog::MODAL, 
                                          Gtk::MessageDialog::ERROR, 
                                          Gtk::MessageDialog::BUTTONS_OK_CANCEL, 
                                          _("The file has already existed. Do you override it?"))  #ここ!
            ret = dialog.run
            dialog.destroy
            save_file if ret == Gtk::Dialog::RESPONSE_OK
          else
            save_file
          end
        end
      end
  
  また、initializeにGetText.bindtextdomainを呼び出していることに注意してください。
  
      def initialize(path_or_data, root = nil, domain = nil, localedir = nil, flag = GladeXML::FILE)
        GetText.bindtextdomain(domain, localedir, nil, "UTF-8")
        super(path_or_data, root = nil, domain = nil, localedir = nil, flag = GladeXML::FILE)
      end
  
  
  この"domain"名が、本アプリケーション用のIDであり、リソースファイル(moファイル)のファイル名となります。
  #したがって、ここでは、hwedit.moというファイル名になります。
  
  
- === rgettextによるカタログファイル(poファイルの抽出)
+ == rgettextによるカタログファイル(poファイルの抽出)
  元ネタは揃ったので、あとはカタログファイルという翻訳ファイルを作ります。((<Ruby-GetText-Package|URL:http://ponx.s5.xrea.com/hiki/ja/ruby-gettext.html>))に付属のrgettextというコマンドを使います。
  
  
   (MS Windows)
   C:\>rgettext *.glade *.rb -o hwedit.pot
  
   (Linux/FreeBSD)
   $ rgettext *.glade *.rb -o hwedit.pot
   
  ここでは、対象となる全てのファイル(*.rb, *.glade)を指定します。
  日本語のリソースを作る場合は、hwedit.potをja/hwedit.poとディレクトリを分けておいてその中身を修正していけばよいでしょう。
  
  これ以降はまだ書きかけなりm(__)m。





ruby-gnome2-cvs メーリングリストの案内
Back to archive index