ロシア語を表示したいのですが、ラベルやボタンの
Captionは文字化けせず、FormやTabSheetのキャプション、
Hintは文字化けします。FormのFontはCharset=RUSSIAN_CHARSET、
Name=Arialで、その他は初期値のままです。
コードも記載いたしますので、ご指導お願い致します。
メッセージをINIファイルにしましたのは、多言語化したかった為です。
var
//infoMsg:ロシア語で"Информация"(情報)が入るはず
infoMsg : string;
procedure TForm1.FormCreate(Sender: TObject);
var
IniFile : TIniFile;
path : string;
begin
path:=ExtractFilePath(Application.ExeName)+'RUSSIAN.INI';
IniFile:=TIniFile.Create(path);
infoMsg:=IniFile.ReadString('RUSSIAN','INFORMATION','');
IniFile.Free;
end;
procedure TForm1.FormShow(Sender: TObject);
begin
Self.Caption:=infoMsg;//文字化け
Label1.Caption:=infoMsg;//文字化けせず
Label1.Hint:=infoMsg;//文字化け
Button1.Caption:=infoMsg;//文字化けせず
Button1.Hint:=infoMsg;//文字化け
SpeedButton1.Caption:=infoMsg;//文字化けせず
SpeedButton1.Hint:=infoMsg;//文字化け
TabSheet1.Caption:=infoMsg;//文字化け
TabSheet1.Hint:=infoMsg;//文字化け
end;
[RUSSIAN.INIのダンプ内容]
000000: 5B 52 55 53 53 49 41 4E [RUSSIAN
000008: 5D 0D 0A 49 4E 46 4F 52 ]..INFOR
000010: 4D 41 54 49 4F 4E 3D C8 MATION=ネ
000018: ED F4 EE F0 EC E0 F6 E8 エ◆ヲ鼡000020: FF 0D 0A 00 00 00 00 00 ........
000028: 00 00 00 00 00 00 00 00 ........
Delphiの言語処理を使ってみたらいかがでしょう。
メッセージ類はresorcestringに定義し
[プロジェクト|言語|追加]でロシア語を追加します。
トランスレーションエディタで翻訳すれば日本語ロシア語の切り替えが簡単に出来ます。
pekesukeさん、早速ありがとうございます。
[プロジェクト|言語|追加]でロシア語を追加し、完了をクリック
すると、エラーが発生し、
E1026 ファイル'Project1.drf'が見つかりませんと表示されます。
また、resorcestringの定義とは、どうすればよいのでしょうか。
もう少し、具体的に教えてください。お願い致します。
>E1026 ファイル'Project1.drf'が見つかりませんと表示されます。
日本語で作成したプロジェクトのコンパイルエラーは無くなっていますか。
>また、resorcestringの定義とは、どうすればよいのでしょうか。
implementation
uses ・・・
{$R *.DFM}
resourcestring
XXXError = '何とかエラーです';
procedure TForm1.Button1Click(Sender: TObject);
begin
MessageDlg(XXXError,mtWarning,[mbOK],0);
end;
と日本語で作成して完成後[プロジェクト|言語|追加]でロシア語を追加するとトランスレーションエディタが立ち上がってきますので、プロジェクトマネージャーにプロジェクト名.exeの下にプロジェクト名.XXX(XXXは言語によって異なる)が表示されますので展開してユニット名をクリックすると翻訳候補一覧が表示されます。この一覧で1行ずつ翻訳していきます。
翻訳が全て完了したら[プロジェクト|言語|アクティブ言語の設定]で
ロシア語を選択しコンパイル実行すると日本語の画面がロシア語の画面に変わります。
テストでフォームにボタンを1つ付けただけのプロジェクト
でしたので、コンパイルエラーは出ていません。
今朝行ってみました所、エラーが発生しなくなりました。
私の環境が不安定なのでしょうか。
プロジェクトマネージャのdfmファイルにボタンCaptionが、
resoucestringの文字列が、rcファイルにありましたので、入力しなおし
アクティブ言語をロシア語にしてコンパイル&実行してみましたが、
ボタンのCaptionとMessageDlgが日本語のままです。
OSはXPSP2で、BDS2006を使用しています。
[プロジェクト|すべてのプロジェクトをコンパイル]を実行してください。
コンパイルできました。
実際にロシア語を入れてやってみます。
ありがとうございました。
pekesukeさん
ご親切にありがとうございました。
ツイート | ![]() |