無料でロボットをダウンロードする方法を見る
Twitter上で私たちを見つけてください。
私たちのファンページに参加してください
私たちのファンページに参加してください
記事を気に入りましたか?MetaTrader 5ターミナルの中でそれを試してみてください。
翻訳者 - MetaTrader 5のためのライブラリ
- ビュー:
- 934
- 評価:
- パブリッシュ済み:
- 2016.09.20 10:53
- アップデート済み:
- 2016.11.22 07:34
- このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動
クラスはMQL5プログラム内のメッセージのローカライズのために設計されています。簡単に説明すると、Print() 関数との助けを借りてのログへの出力のすべてや、Alert()、Comment()、MessageBox() は、1つのコード内で多言語で行うことができます。
クラスメソッド:
- bool init(string progName, ENUM_LANGUAGES lang) - オブジェクトを初期化する。エントリでは、プログラム名とLanguagesEnum.mqhからの言語のコードを設定します。
- string tr(string str) - str* 文字列を翻訳する。
- void print(string str) - ログでの str* 文字列の翻訳を出力する
- void alert(string str) - 翻訳されたstring*でアラートを表示する
- void comment(string str) - 翻訳されたstring*でコメントを表示する
- int messageBox(string text, string caption=NULL, int flags=0) - メッセージウィンドウで翻訳された text*を表示し、window*のタイトルを変換するMessageBox() リターンコードの1つが返されます。MessageBox()同様、このメソッドはユーザー指標では用いることができません。
- * - 言語ファイルに同等の翻訳がない場合は入力された文字列が表示/返されます。
使用法:
- Translator.mqhとLanguagesEnum.mqhファイルをMetaTrader 5\MQL5\Includeフォルダにダウンロードします。クラスは自体は最初のファイル、言語リストはISO 639標準に応じて第2のファイルに位置しています(この段階では端末が翻訳されている言語のみがファイルに記載されています。必要な場合は、混乱を避けるために、好ましくはISO 639規格に従って、他の言語のコードを追加することができます。
- 「Alias = Translation」の形式で、その言語テキストファイルを作成します。ここでAliasは翻訳可能な文字列のエイリアス名と、続いて呼び出されるクラスメソッドの文字列引数、Translationは最終的に表示されるテキストの翻訳したものです。
- 言語ファイルのコーディング:UTF8(BOMなし)
- ファイル名は厳密に<MQL5 code name>.<Language code in latin capital letter>.ini形式に対応している必要があります。例えば、MyCodeコードのためのロシア語への翻訳テキストファイルはMyCode.ru.iniと呼ばれなければなりません。
最終的に、言語ファイルの数は、メッセージの翻訳先となる言語の数に対応している必要があります。
- 作成された言語ファイルをMetaTrader 5\MQL5\Files\Languagesフォルダに配置します。
コードでは:
- コードに翻訳ファイルを接続します(# include <Traslator.mqh>)(エキスパートアドバイザー、指標、スクリプト)。
- オブジェクトを作成します。例はCTranslator ruです。
- 翻訳の入力パラメータを追加します。例はinput ENUM_LANGUAGES InpToLanguage = RU;です。
- オブジェクトを初期化します。例は ru.init(MQL5InfoString(MQL5_PROGRAM_NAME), InpToLanguage);です。
- 必要に応じてこれらのメソッドのいずれかを使用します。例は ru.print("Your text")です。
重要事項:必要なファイルが存在しないかファイルが適切なエイリアスを持っていない場合は、引数としてメソッドに渡された文字列が表示されます。
例示的な実施例として、Sample.mq5スクリプトと2つの言語ファイルは、ロシア語と日本語への翻訳のために接続されています。スクリプトの作業の結果は(最初にはロシア語、その後日本語に翻訳するためにパラメータを指定してチャートで実行):
推奨:
エイリアスは任意の言語で記述することができ、また、全体のフレーズではなく略語でも可能ですが、英語で略語なしに記述するのが一番です。よって:- 何の言語ファイルが存在しない場合でも、すべてのメッセージが英語で表示されます。
- 英語への翻訳のための特別なファイルを記述する必要は自動的に排除されます(これは、JoomlaのCMSエクステンションで書いた人たちには論理が同じなので、おそらく、もっとわかりやすいでしょう)。
MetaQuotes Ltdによってロシア語から翻訳されました。
元のコード: https://www.mql5.com/ru/code/1484