GUI を備えた組み込みシステムの場合、カスタム翻訳システムを使用しています。文字列は、マイクロコントローラのコード ROM に格納されます。
現在、最大 10 の言語と約 400 の翻訳文字列があります (製品のバリエーションによって異なります)。
私たちの現在のシステムはかなり扱いにくいので、gettext の方が優れたソリューションになると思います。
私が理解している限り、gettext を使用しbindtextdomain
て、コンパイル済みの翻訳ファイル (*.mo) を含むディレクトリを設定する必要があります。
代わりにメモリから翻訳を読み取る方法はありますか? つまり、コンパイルされた *.mo ファイルをバイナリに含め、これらを使用するように gettext をセットアップしたいと考えています。あるいは、変換データは、ファイルシステムなしでデータ EEPROM に格納されます。
または、C インターフェイスを備えたマイクロコントローラ システム (16 ビットまたは 32 ビット、256 ~ 512 k バイトの ROM) で使用する別の変換システムを推奨できますか?
編集: マイクロコントローラのファームウェアとは別に翻訳を維持できることが、gettext に切り替える理由になることを付け加えておきます。適切な翻訳データは、当社のシステムで既に提供されている構成ソフトウェアを使用して、ユーザーによってロードされます。