2011-03-14 20 views
2

小さな組み込みシステム用に最小限のgettext実装が存在しますか?私はいくつかの異なる言語に私のアプリケーションを翻訳する必要があります。このアプリケーションはFreeRTOSと最小限のlibcを持つ50MHz ARM7 CPU上で動作しますが、ファイルシステムはありません。私はGNU gettextツールを見てきましたが、私のプラットフォームでlibintlを移植する作業は少し難解です。何か案は?組み込みシステムのgettext?

答えて

5

ローカライゼーションは、組み込みシステムでは大きな苦痛になる可能性があります。最初に検討することがいくつかあります:翻訳された言語で代替の文字セットが必要ですか?テキストをグラフィックディスプレイやシリアルコンソールのようなものに表示していますか?

翻訳された言語のセットが比較的少なく、一連のテキスト文字列が明確に定義されている場合は、本格的な翻訳ライブラリを避けることができます。私は、言語固有の文字列テーブルのセットを使用する組み込み製品を継承しました。各テキスト要素はテーブル内に位置していたため、翻訳された特定のテキストが、言語別、要素別に2次元テーブルで検索されました。 (これらのテーブルはこのアプリケーションではROMに格納されていました)

このルートに進む場合は、考慮すべき他の多くの問題があります。いくつかの言語は、英語よりも簡潔に内容を表現することができます。ドイツ語は良い例です - 単純なフレーズは文章のような長さを取ることができます。結果として、1つのテキスト要素が言語ごとに長さが大きく異なる場合に備える必要があります。継承されたアプリケーションでは、これは、テキスト要素が複数の「行」を持つことができるように、テーブルを3Dに拡張することによって行われました。もちろん、テキストのレイアウト(略語、文の長さ、改ページなど)もこの部分から拡張されています。

ROMのスペースが限られている場合、句の翻訳スニペットを検討し、必要に応じてそれらを一緒に貼り付けることができます。所望のローカライズされたフレーズが不器用にスニペットに変換される可能性があるため、このいわゆる文字列連結アプローチは難しいことがあります。言い換えれば、翻訳されたテキストのスニペットを自由に貼り付けることができれば、 "エンリグリッシュ"の準備が必要です。 Babelfishらは助けることができるが、防衛はネイティブスピーカーによる最終製品の国内レビューで良い。 (注:ネイティブスピーカーは「平均」方言を表す必要があります)

1

LCDを駆動している場合は、EasyGui - www.easygui.comを見る価値があります翻訳を管理する。

PC上の表示レイアウトを見て、その場で言語を変更して、割り当てられたスペースにテキストが収まるかどうかを確認できます。

翻訳アドオンは翻訳者に送信できるので、さまざまな言語や画面での動作を確認することができます。

関連する問題