hiro_rwのvcl的な何か

gettext

最終更新:

handk

- view
だれでも歓迎! 編集
C++ Builder 2010 で "GNU Gettext for Delphi and C++ Builder"を使ってみた。

インストールするファイルはググレ。

サンプルコードを触る


  • dxgettext内にあるcppbuilderのサンプルプロジェクトをコンパイル・・・・失敗。
  • webにDelphi9用のgnugettext.pasがあったので導入・・・・失敗
gnugettext.pasファイルを変更することでコンパイルできます。

390行あたりの
//const
//  LOCALE_SISO639LANGNAME = $59;    // Used by Lazarus software development tool
//  LOCALE_SISO3166CTRYNAME = $5A;   // Used by Lazarus software development tool

これでok

  • poファイルの作成
コマンドラインから
ggdxgettext "C:\Program Files\dxgettext\example\cppbuilder"
を実行するとdefault.poが出来ます。

# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-01-14 11:24+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <[email protected]>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"

#. Form1..Caption
#: MainForm.dfm:4
msgid "GNU gettext sample application"
msgstr ""

#. Form1..Font.Name
#: MainForm.dfm:11
msgid "MS Sans Serif"
msgstr ""

#. Form1..Button1..Caption
#: MainForm.dfm:22
msgid "Click me"
msgstr ""

#: C:\Program Files\dxgettext\example\cppbuilder\MainForm.cpp:21
msgid "Thank you for clicking this button"
msgstr ""


で、.poファイルを編集するんだけど・・・Poeditを使ってみた。
gettextマクロ前にコメントなどがあるとエラーが出るの

;
Button1->Caption = _("Button1Caption");
Button2->Caption = _("Button2Caption");

こんな感じで回避。
ウィキ募集バナー