JPBE.net | 日本BeOSネットワーク JPBE.net | 日本BeOSネットワーク
トップ ページ 掲示板トップ ページ ハードウェア互換データベース 日本語 BeTips よくある質問 問い合わせとメンバー参加方法 寄付のお願い
Japan BeOS Network

コンテンツ


  • ニュースアーカイブ
  • イベントアーカイブ
  • 掲示板
  • ハードウェア互換データベース
  • 日本語 BeTips
  • ダウンロード
  • …………………………
  • 過去のコンテンツ
↑

Haiku を使う

  • はじめよう! Haiku
  • Haiku Live CD/Live USB「Basho」
  • Haiku のビルド
  • ソフトウェア紹介
  • …………………………
  • 復習 BeOS
  • Haiku の歴史
↑

Haiku で開発

  • 目指せ! BeOS プログラマ
  • Programming the Be Operating System 日本語版
  • Archive Translator プログラミングガイド
  • …………………………
  • 開発関連情報まとめ
↑

ZETA

  • ZETA Live CD 特集
  • ZETA ラインナップ一覧
↑

JPBE.net について

  • JPBE.net とは
  • JPBE.net の歩み
  • 連絡先
  • 掲示板ユーザ登録のご案内
  • JPBE.net サイトのご利用について
  • 最近更新されたページ
  • アクセスランキング
  • コンテンツ作成方法
  • 事務員一覧
  • …………………………
  • 寄付のお願い
  • 寄付者一覧
↑

新着ハードウェア互換情報

    ↑

    新着 BeBits

    • xicon 1.3-H(.2)
    • Haiku'ed BB icons 4.9
    • BurnItNow Beta 3
    • Cdrtools 3.00
    • WebConcept Creator 1.2b
    • Paladin 1.3
    • Paladin 1.2.1
    • DjVu Viewer 1.2.0 (gcc4)
    • Mafoo-Ga 3.7 Release 2
    • Mafoo-Ga 3.7 Release 2
    ↑

    リンク集

    • リンク集

    ページビュー
    159 

    サイトビュー

    Haiku Locale Kit プログラミング †

    Haiku には、OS やアプリケーションを多言語対応にする仕組み「Locale Kit」が備わっています。ここでは、Locale Kit を用いて、多言語対応のアプリケーションを開発するやり方を解説します。

    • Haiku Locale Kit プログラミング
      • サンプルプログラムの動作確認
      • 内容物の確認
      • Haiku Locale Kit プログラミングの手順
        • ソースファイルの作成
        • ビルド
        • カタログファイルの作成
    ↑

    サンプルプログラムの動作確認 †

    Locale Kit 対応のサンプルプログラムを用意したので、まずは、サンプルプログラムの動作を確認してみましょう。

    ダウンロードページから、Haiku Locale Kit サンプルプログラム一式をダウンロード&解凍して下さい。

    CopyCatalog.sh をダブルクリックして下さい。カタログファイル(辞書ファイル)が所定の場所にコピーされます。

    Terminal で TestLocaleKit を実行してみて下さい。日本語で「ファイル」「ふぁいる」と表示されることと思います。元々、プログラム中では「File」と表示する指定になっており、日本語に対応していることが確認できることと思います。

    「File」のまま出力されてしまう場合は、OS の Locale 設定(Haiku メニュー→Preferences→Locale)で日本語が指定されていることを確認して下さい。

    ※haiku-nightly-r37466-x86gcc2hybrid-vmware で動作を確認しています。

    ↑

    内容物の確認 †

    サンプルプログラム一式には、以下のものが含まれています。

    • CopyCatalog.sh……カタログファイルを所定の位置にコピーするスクリプト
    • ja.catalog……カタログファイル
    • TestLocaleKit……ビルド済みのサンプルプログラム(実行バイナリ)
    • TestLocaleKit.cpp……ソースコード
    • TestLocaleKit.cpp.catkeys……カタログキーファイル(テキスト形式のカタログファイル)
    • TestLocaleKit.cpp.prep……プリプロセス済みソースコード
    • TestLocaleKit.pld……Paladin 用プロジェクトファイル
    • TestLocaleKit.rsrc……シグニチャ指定用リソースファイル
    ↑

    Haiku Locale Kit プログラミングの手順 †

    サンプルプログラム一式を見ながら、Locale Kit に対応したアプリケーションの開発手順を解説していきます。

    ↑

    ソースファイルの作成 †

    ソースファイルの内容は以下のようになっています。

    #include <iostream>
    #include <Catalog.h>
    
    int		main(int oArgC, char* oArgV[])
    {
    #undef	B_TRANSLATE_CONTEXT
    #define	B_TRANSLATE_CONTEXT	"ContextA"
    	cout << B_TRANSLATE("File") << endl;
    
    #undef	B_TRANSLATE_CONTEXT
    #define	B_TRANSLATE_CONTEXT	"ContextB"
    	cout << B_TRANSLATE("File") << endl;
    
    	return 0;
    }

    Locale Kit を使うには、Catalog.h のヘッダをインクルードする必要があります。

    B_TRANSLATE_CONTEXT で、文脈/単語の使用状況を定義します。B_TRANSLATE_CONTEXT を切り替えることによって、同じ英単語を、複数の日本語訳に対応させることができます。

    翻訳を行うのは B_TRANSLATE マクロです。引数に英語を渡します。

    2 つの B_TRANSLATE マクロで、同じ「File」という単語を翻訳させていますが、B_TRANSLATE_CONTEXT を切り替えているため、訳語を変えることができます。

    ↑

    ビルド †

    ソースファイルのコンパイル・リンクを行います。

    統合開発環境 Paladin をお持ちの方は、TestLocaleKit.pld をお使い下さい。

    Locale Kit を使ったアプリケーションをビルドする際は、通常使うライブラリの他に、liblocale.so と liblocalestub.a を加える必要があります。

    Haiku は、カタログファイル(辞書ファイル)を検索する際にシグニチャを用います。ビルドの際は、シグニチャを含むリソースファイルも、合わせてリンクしましょう。リソースファイルを結合せず、手動で実行バイナリにシグニチャをつけたい場合は、実行ファイルを右クリックして File Type に送り、「application/x-vnd.JPBE-TestLocaleKit」のようなシグニチャを付与します。

    ↑

    カタログファイルの作成 †

    カタログファイル(辞書ファイル)を作ります。ソースコードから、キーとなる英単語を抜き出します。Terminal で

    gcc -E TestLocaleKit.cpp > TestLocaleKit.cpp.prep
    collectcatkeys -pvw -l japanese -s x-vnd.JPBE-TestLocaleKit TestLocaleKit.cpp.prep

    を実行します。

    最初の gcc では、ソースコードをプリプロセスにかけています。

    続く collectcatkeys でカタログファイルを生成。japanese の j は英語的には大文字だと思うのですが、Haiku のソースがみんな小文字なのでとりあえず小文字にしておきます。-s で、先ほどと同じシグニチャ(ただし application/ を除く)を与えます。TestLocaleKit.cpp.catkeys という名前でカタログファイル(テキスト形式)が生成されます。

    collectcatkeys 実行時に「Warning: couldn't resolve catalog-access」という警告が出ますが、カタログファイルは生成されます。

    生成されたカタログファイル TestLocaleKit.cpp.catkeys はテキストファイルなので、StyledEdit 等で開き、翻訳語を記入していきます。

    1	japanese	x-vnd.JPBE-TestLocaleKit	1301022979
    File	ContextA		ファイル
    File	ContextB		ふぁいる

    catkeys ファイルの 1 行目は、カタログの情報です。最後の数字はチェックサムのようなもので、これをいじるとカタログファイルとして機能しなくなるので注意して下さい。

    2 行目以降がカタログです。英単語(B_TRANSLATE の引数)、コンテキスト(B_TRANSLATE_CONTEXT の値)、翻訳語の順にならんでいます。英語とコンテキストの間はタブ 1 つですが、コンテキストと翻訳語の間はタブ 2 になっているので注意して下さい。

    カタログファイルの編集を終えたら、バイナリのカタログファイルを生成します。

    linkcatkeys -l japanese -s x-vnd.JPBE-TestLocaleKit -o ja.catalog TestLocaleKit.cpp.catkeys

    できあがった ja.catalog を、カタログフォルダの下のシグニチャと同じフォルダ名配下に置きます。

    /boot/home/config/data/locale/catalogs/x-vnd.JPBE-TestLocaleKit/ja.catalog

    以上で、Locale Kit 対応アプリケーションの作成と、日本語カタログ(辞書ファイル)の作成が完了しました。

    =============================

    [memo] (びぁ)

    すいません、実際に試してないので、とりあえずmemoとしておきます。 確認次第、本文を更新します、もしくは、更新してください。←補足ありがとうございます。更新よろしくお願いします。(SHINTA)

    カタログファイルの内容(2行目以降)ですが、 英単語(B_TRANSLATE の引数)、コンテキスト(B_TRANSLATE_CONTEXT の値)、コメント、翻訳語です。 コメントは省略可能なので、省略した場合tabが2つ続くことになります。

    コメントの利用法ですが、 B_TRANSLATE(原文) の代わりに B_TRANSLATE_COMMENT(原文,コメント) とすれば使えるはずです。 同じ原文を複数に翻訳したい場合に利用できそうです。

      [ トップ ]   ( 編集方法 )   [ 編集 | 凍結 | 差分 | バックアップ | 添付 | リロード ]   [ 新規 | 一覧 | 単語検索 | 最終更新 | ヘルプ ]

    トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
    PukiWiki 1.4.7 Copyright © 2001-2006 PukiWiki Developers Team. License is GPL.
    Based on "PukiWiki" 1.3 by yu-ji. Powered by PHP 5.2.5. HTML convert time: 0.036 sec.

    Contact: a d m i n 【 a t 】 j p b e 【 d o t 】 n e t | JPBE.net サイトのご利用について