Visual Studio による双方向言語用アプリケーションの作成Creating Applications in Bi-directional Languages

Visual Studio では、アラビア語やヘブライ語など、右から左に書く言語で正しくテキストが表示されるアプリケーションを作成できます。You can use Visual Studio to create applications that correctly display text in languages written right-to-left, including Arabic and Hebrew. いくつかの機能については、単にプロパティを設定するだけで済みます。For some features, you can simply set properties. それ以外の場合は、コードで機能を実装する必要があります。In other cases, you must implement features in code.

注意

双方向言語を入力したり表示したりするには、適切な言語に設定されたバージョンの Windows を使用する必要があります。In order to enter and display bi-directional languages, you must be working with a version of Windows that is configured with the appropriate language. 英語バージョンの Windows に適切な Language Pack をインストールする方法と、適切にローカライズされたバージョンの Windows を使用する方法があります。This can either be an English version of Windows with the appropriate language pack installed, or the appropriately localized version of Windows.

双方向言語をサポートするアプリケーションの種類Types of Application that Support Bi-Directional Languages

  1. Windows アプリケーション。Windows applications. 双方向テキスト、右から左への読み取り順序、およびミラー化 (ウィンドウ、メニュー、ダイアログ ボックスなどのレイアウトの反転) をサポートする、完全な双方向アプリケーションを作成できます。You can create fully bi-directional applications that include support for bi-directional text, right-to-left reading order, and mirroring (reversing the layout of windows, menus, dialog boxes, and so on). ミラー化を除き、これらの機能は、既定またはプロパティ設定により使用できるようになっています。Except for mirroring, these features are available by default or as property settings. ミラー化は、メッセージ ボックスなどいくつかの機能に対してはあらかじめサポートされています。Mirroring is supported inherently for some features, such as message boxes. ただし、それ以外の場合には、ミラー化をコードで実装する必要があります。However, in other cases you must implement mirroring in code. 詳しくは、「Windows フォーム アプリケーションの双方向サポート」をご覧ください。For more information, see Bi-Directional Support for Windows Forms Applications.

  2. Web アプリケーション。Web applications. Web サービスは UTF-8 および Unicode のテキストの送受信をサポートしているため、双方向言語を使用するアプリケーションに適しています。Web services support and receiving sending UTF-8 and Unicode text, making them suitable for applications involving bi-directional languages. Web クライアント アプリケーションのユーザー インターフェイスはブラウザーに依存しているため、Web アプリケーションでの双方向サポートの内容は、ユーザーのブラウザーが双方向機能をどの程度サポートしているかによって異なります。Web client applications rely on browsers for their user interface, so the degree of bi-directional support in a Web application is dependent on how well the user's browser supports those bi-directional features. Visual Studio では、アラビア語またはヘブライ語のテキスト、右から左への読み取り順序、ファイルのエンコーディング、およびローカル カルチャ設定をサポートするアプリケーションを作成できます。In Visual Studio, you can create applications with support for Arabic or Hebrew text, right-to-left reading order, file encoding, and local culture settings. 詳しくは、「ASP.NET Web アプリケーションに対する双方向サポート」をご覧ください。For more information, see Bidirectional Support for ASP.NET Web Applications.

  3. コンソール アプリケーションConsole applications. コンソール アプリケーションでは、双方向言語のテキストがサポートされません。Console applications do not include text support for bi-directional languages. これは、Windows におけるコンソール アプリケーションの動作のしくみによるものです。This is a consequence of how Windows works with console applications.

完全にサポートされている Visual Studio の機能Visual Studio Features That Are Fully Supported

Visual Studio でのデザイン時における双方向言語の使い方としては、次のようなものが挙げられます。At design time in Visual Studio, you can use bi-directional languages in these ways:

  • テキスト入力 Visual Studio は Unicode をサポートしているため、システムで適切なロケールと入力言語が設定されていれば、アラビア語またはヘブライ語でテキストを入力できます。Text entry Visual Studio supports Unicode, so if your system is set to the appropriate locale and input language, you can enter text in Arabic or Hebrew. アラビア語のサポートには Kashida および Diacritics も含まれています。(Arabic support includes Kashida and Diacritics.)

  • オブジェクト名 ソリューション、プロジェクト、ファイル、フォルダーなどに、双方向言語で名前を付けることができます。Object names You can use bi-directional languages to assign names to solutions, projects, files, folders, and so on. コード内では、変数、クラス、オブジェクト、属性、メタデータなどの要素の名前に双方向言語を使用できます。In code, you can use bi-directional languages for the names of variables, classes, object, attributes, metadata, and other elements.

  • ファイルのエンコーディング 言語固有のエンコーディングまたは Unicode エンコーディングでファイルを保存したり開いたりすることができます。File encoding You can save and open files with a language-specific or Unicode encoding. 詳しくは、「方法 : エンコーディングを使用してファイルを保存および開く」をご覧ください。For more information, see How to: Save and Open Files with Encoding.

制限付きの機能、およびサポートされていない機能Features with Limited or No Support

双方向言語アプリケーションで一般的に使用される機能の中には、Visual Studio では完全にはサポートされていないものや、まったくサポートされていないものもあります。Other features common to bi-directional language applications are not fully supported in Visual Studio, or in some cases, not at all. 次の設定があります。These include:

  • 右から左への読み取り順序 既定では、Visual Studio で使用するテキスト入力コントロールでは左から右への読み取り順序が使用されます。Right-to-left reading order By default, text-entry controls you use in Visual Studio use left-to-right reading order. ほとんどの場合は、Windows の標準のジェスチャを使用して読み取り順序を切り替えることができます。In most cases, you can use standard Windows gestures to switch reading order. たとえば、Ctrl キーを押しながら RightShift キーを押すことにより、プロパティ ウィンドウが右から左への読み取り順序のプロパティ値をサポートするように切り替えることができます。For example, you can press Ctrl+Right Shift to switch the Properties window to support right-to-left reading order for property values.

    ただし、右から左への読み取り順序は Visual Studio のすべての場所でサポートされているわけではありません。However, right-to-left reading order is not supported everywhere in Visual Studio. サポートされない例を次に示します。Exceptions include:

    • Visual Studio ダイアログ ボックス内のチェック ボックス、ドロップダウン リスト、およびその他のコントロールでは、常に左から右への読み取り順序が使用されます。Check boxes, drop-down lists, and other controls in Visual Studio dialog boxes always use left-to-right reading order.

    • コード エディター (およびテキスト エディター) では、右から左への読み取り順序がサポートされていません。The code editor (and text editor) does not support right-to-left reading order. 双方向言語でテキストを入力することはできますが、読み取り順序は常に左から右です。You can enter text in a bi-directional language, but the reading order is always left-to-right.

アラビア語またはヘブライ語のテキストによる名前付けNaming Things Using Arabic or Hebrew Text

アラビア語およびヘブライ語のテキストは、フォルダー、変数、またはその他のオブジェクトの名前に使用できます。You can use Arabic or Hebrew text to assign names to folders, variables, or other objects. アラビア語を使用する場合、Kashida と Diacritics を含むすべてのアラビア語文字を使用できます。When working with Arabic, you can use any Arabic characters including Kashida and Diacritics.

次の要素は、アラビア語またはヘブライ語で名前を付けることができ、Visual Studio で正しく処理されます。The following elements can be named using Arabic or Hebrew and will be handled correctly in Visual Studio:

  • ソリューション名、プロジェクト名、およびファイル名。プロジェクト パスに含まれるフォルダー名も対応します。Solution, project, and file names, including any folders you include in the project path. ソリューション エクスプローラーで、ソリューション名と要素名を正しく表示できます。Solution Explorer will display solution and element names correctly.

  • ファイルの内容。File contents. Unicode エンコーディングまたは選択したコード ページでファイルを開いたり保存したりできます。You can open or save files with Unicode encoding or with a selected code page.

    注意

    コード エディターについては特別に制限があります。The code editor is a special case. 詳細については、後の説明を参照してください。For details, see below.

  • データ要素。Data elements. これらのデータ要素はサーバー エクスプローラーで正しく表示されます。要素の編集もできます。Server Explorer will display these elements correctly and allow you to edit them.

  • Windows クリップボードにコピーされた要素。Elements copied to the Windows Clipboard.

  • 属性とメタデータ。Attributes and metadata.

  • プロパティ値。Property values. アラビア語およびヘブライ語のテキストは、プロパティ ウィンドウで使用できます。You can use Arabic or Hebrew text in the Properties window. プロパティ ウィンドウで、Windows の標準のキーストロークを使用して、右から左への読み取り順序と左から右への読み取り順序を切り替えることができます。Ctrl キーを押しながら右 Shift キーを押すと右から左への読み取り順序、Ctrl キーを押しながら左 Shift キーを押すと左から右への読み取り順序になります。The window allows you to switch between right-to-left and left-to-right reading order using standard Windows keystrokes (CTRL+RightShift for right-to-left, and CTRL+LeftShift for left-to-right).

  • コードおよびリテラル テキスト。Code and literal text. (テキスト エディターでもある) コード エディターで、アラビア語またはヘブライ語を使用してクラス、関数、変数、プロパティ、リテラル文字列、属性などに名前を付けることができます。In the code editor (which is also the text editor), you can use Arabic or Hebrew to name classes, functions, variables, properties, string literals, attributes, and so on. ただし、エディターでは右から左への読み取り順序がサポートされていません。テキストは常に左の余白から開始されます。However, the editor does not support right-to-left reading order; text always starts at the left margin.

    ヒント

    リテラル文字列は、プログラムにハードコーディングするのではなく、リソース ファイルに配置することをお勧めします。It is recommended that you place string literals in resource files instead of hard-coding them into your programs. 詳しくは、「チュートリアル: Windows フォームのローカリゼーション」をご覧ください。For more information, see Walkthrough: Localizing Windows Forms.

    注意

    これらの言語で名前を付けたオブジェクトは、一貫した方法で参照する必要があります。You must be consistent in how you refer to objects named in these languages. たとえば、アラビア語の変数に Kashida を使用して名前を付けた場合は、その変数を参照するときに常に Kashida を使用する必要があります。そうしないと、エラーが発生します。For example, if you use Kashida in naming an Arabic variable, you must always use Kashida when referring to that variable, or errors will result.

  • コードのコメント。Code comments. アラビア語およびヘブライ語は、コメントに使用できます。You can create comments in Arabic or Hebrew. また、コメント ビルダー ツールでもこれらの言語を使用できます。You can also use these languages in the comment builder tool.

参照See Also

Windows フォーム アプリケーションの双方向サポート Bi-Directional Support for Windows Forms Applications
ASP.NET Web アプリケーションに対する双方向サポート Bidirectional Support for ASP.NET Web Applications
アプリケーションのグローバル化 Globalizing Applications
アプリケーションのローカライズLocalizing Applications