Delphi10を使っています。
プロジェクト-->言語-->追加から英語と日本語を追加して各コンポーネントのキャプション等を多言語化できるようになったのですが、
プログラム中の多言語化をすることができません。
(たとえば、StatusBar1.Panels[0].Text := '実行中';を英語化)
XXX_DRC.rcファイルを修正するのかと思ったのですが、これではないようです。

質問者からの補足コメント

  • うーん・・・

    回答ありがとうございます。

    No.1の回答に寄せられた補足コメントです。 補足日時:2015/11/27 12:09

このQ&Aに関連する最新のQ&A

A 回答 (1件)

Delphi は使ったことがないのでわからないのですが、一般的にはメッセージ文字列を定数化して、その定数に対する複数言語の文字列をリソースとして持っておくもんではないでしょうかね。



http://docwiki.embarcadero.com/RADStudio/XE8/ja/ …
この回答への補足あり
    • good
    • 0
この回答へのお礼

ありがとうございます。
implementation
resourcestring
Status1 = '実行中';
//------
StatusBar1.Panels[0].Text := Status1;
という感じでトランスレーションエディタにも表示されるようになりました。
でも、動作確認はどうやったらいいんでしょうか?

お礼日時:2015/11/27 09:50

このQ&Aに関連する人気のQ&A

このQ&Aと関連する良く見られている質問

QVS2013 CommunityでUIを多言語化したいのですが、できますか?

Visual Studio 2013Communityでアプリを作っています。
ユーザーインターフェイスを日本語のほかに英語でも(切り替えて)表示できるようにしたいのですが、できますか?
検索したら、次の頁が見つかり、
https://msdn.microsoft.com/ja-jp/library/windows/apps/jj569303.aspx
多言語アプリ ツールキットを有効にする方法:
1.プロジェクト ソリューション ファイルを開きます。
2.ソリューション エクスプローラーで、目的のプロジェクトを選びます。
3.[ツール] メニューの [Enable Multilingual App Toolkit] (多言語アプリ ツールキットの有効化) を選びます。
と書かれているのですが、[ツール] メニューの [Enable Multilingual App Toolkit] というのが見つかりません。
Communityではできないということなんでしょうか?

Aベストアンサー

うーん、念のためにお伺いしますが、その前に書いてあるステップ2の「多言語アプリ ツールキットに関するページから、ツールキットをダウンロードしてインストールします。」は実行済みですよね?

Q「 '&lng='」の&の意味が分かりません。

下記はgooglemapで中心点(lat:緯度 lng:経度)からのある半径(radius)以内のマーカーを求めるプログラムの一部ですが「 '&lng='  '&radius='」に出てくる「&」の意味・機能がわかりません。
どなたかお分かりになれば教えていただきたく。

var radius = document.getElementById('radiusSelect').value;
var searchUrl = 'phpsqlsearch_genxml.php?lat=' + center.lat() + '&lng=' + center.lng() + '&radius=' + radius;

Aベストアンサー

URLパラメータの区切りです。

phpsqlsearch_genxml.php?lat=●●&lng=▲▲&radius=★★


■IT用語辞典 e-Words
クエリ文字列 【 query string 】 クエリストリング / URLパラメータ / URL parameter

http://e-words.jp/w/E382AFE382A8E383AAE69687E5AD97E58897.html

Qサーバー言語でコンパイル(ソース不可視化)できるものは?

この度、ウェブアプリケーションを作ることになりました。

クライアントから入力された値をウェブサーバー上のデータベースに反映し、
逆にクライアントでそのデータベースの値を表示するという、
ごくごくありきたりのものです。
プログラムはあまり得意ではないのですが、
PHPならなんとか私でもできそうです。

でも、これをいろんなお客様のウェブサーバーで動作させる必要があります。
そうすると、プログラムもお客様が見ることができることになってしまうので、困ります。

コンパイルできる言語はありますでしょうか。
あるいは、ソースを不可視にするような方策はありますでしょうか。

大抵のお客様は、普通にありふれたレンタルサーバーを利用されています。

よろしくお願いします。

Aベストアンサー

No.1です。

「おまけ」の場合、開発したWebアプリケーションのプログラムソースは納品物ですか?
そうでないのでしたらPHPのようなインタプリター言語ではなく、コンパイル言語で書けばよいと思います。
そうすれば逆コンパイルしない限り人が簡単に読むことはできません。
まぁアセンブラでしたらバイナリーコードをそのまま16進ダンプすれば慣れた人なら何をしているか読めますが、高級言語のコンパイル結果のバイナリーコードを読める人はそうそういません。

また、おまけにしろ「ソースコードを見られると恥ずかしい」と感じるようなコードを書くのは“プロとして恥ずかしい”と私は思います。
ましてやWebアプリケーションは1画面送出ごとにプログラムが分かれます。前の画面で入植したデータを受け取ってその処理を行い、結果の画面(のHTML)を送出する。それだけのことですから、処理手順さえ踏まえていればそうそう“見られて恥ずかしい”ソースコードにはならないと思います。論理的にちゃんと考えを整理できる人が処理手順を設計するならです。

参考まで。

QDelphiの多言語化について

1つの実行ファイルで複数の言語に対応しているんですか?
それとも、言語ごとの実行ファイルができるのでしょうか?

(まだ作成途中ですけど、各言語ごとのdfmファイルとかXXX_DRC.rc、XXX_DRC.rcn、XXX_DRC.RESファイルとかが出来ています。)

Aベストアンサー

>1つの実行ファイルで複数の言語に対応
普通は↑

QDelphiで10数個のボタンのキャプションを変更するとき

スマートな書き方ってありませんか?
//-----------
button1.Caption := btn_cap[1];
button2.Caption := btn_cap[2];
...
button16.Caption := btn_cap[16];
こんなプログラムを書きたいと思っています。
右辺はfor ループで書けますが、左辺は(forループを使えるような)上記以外の書き方はないのでしょうか?
Delpghi XE5を使用しています。

Aベストアンサー

ボタンの親コントロールが全部同じ(例えば、Panel1)なら、ボタンのTagに1~16を設定しておいて、

for i := 0 to Panel1.ControlCount - 1 do
if Panel1.Controls[i] is TButton then
TButton(Panel1.Controls[i]).Caption := btn_cap[Panel1.Controls[i].Tag];

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード


人気Q&Aランキング

おすすめ情報