多言語シンタックス

提供:MoodleDocs
移動先:案内検索

作成中です - Mitsuhiro Yoshida 2007年7月5日 (木) 14:34 (CDT)

ロケーション: 管理 > モジュール > フィルタ

多言語コンテンツフィルタでは、多言語のリソースを作成することができます。有効にした場合、 テキストが多言語を含んでいることを意味する <span lang="xx" class="multilang"> タグが探されます。そして、現在のユーザに対する最適な言語が選択され、リソースが表示されます。ユーザがMoodleの言語を変更することにより、リソースの言語も変更されます。


例) リソース内のコンテンツに下記内容が記載された場合、Moodle言語が英語の場合「This is English Text.」が表示され、日本語の場合「日本語のテキストです。」が表示されます。

<span lang="en" class="multilang">This is English Text.</span>
<span lang="ja" class="multilang">日本語のテキストです。</span>


多言語シンタックスは、Moodle 1.8で変更されました。今後、<lang> はサポートされません。多言語コンテンツを記述する場所で、<span>タグの中に class="multilang" を追加してください。新しいシンタックスには古いプラグインに対する下位互換性がありますので、古いバージョンのMoodleでも使用することができます。

コースでの使い方

この機能を使用するには、最初に多言語のコンテンツを同じリソースに作成してください。そして、それぞれの言語ブロック (別名 多言語ブロック) を次のタグで囲んでください:

      <span lang="XX" class="multilang">あなたのコンテンツです。</span>
      <span lang="YY" class="multilang">あなたの別の言語のコンテンツです。</span>

これらのタグを入力する場合、HTMLエディタでは必ず「コード編集モード」 ([<>]をクリック) にしてください。スペース、タブおよびそれぞれの内容のみ多言語ブロックの個々の言語で使用されます。class="multilang" は、Moodle 1.8以前のバージョンでは必須ではありません。

次のコードは、

      <lang="XX">あなたのコンテンツです。</lang>
      <lang="YY">あなたの別のコンテンツです。</lang>

動作しません。

次の古いHTMLタグは、

      <lang lang="XX">あなたのコンテンツです。</lang>
      <lang lang="YY">あなたの別のコンテンツです。</lang>

      <span lang="XX">あなたのコンテンツです。</span>
      <span lang="YY">あなたの別のコンテンツです。</span>

Moodle 1.8以降のバージョンでは動作しません。Moodle 1.8で class="multilang" を使用しない言語属性は、テキスト言語をマークするために使用されます - 詳細は、http://www.w3.org/TR/html4/struct/dirlang.html をご覧ください。

内部的にどのように動作するか

  1. 最初にテキスト内で多言語ブロックを探すためフィルタします。
  2. それぞれの多言語ブロックでは:
    • 現在の使用言語と同じ言語がテキスト内にある場合、そのテキストを表示します。
    • 現在の使用言語の親言語と同じ言語がテキスト内にある場合、そのテキストを表示します。
    • テキスト内で発見された最初の言語を表示します。
  3. 多言語ブロックの外にあるテキストは常に表示されます。

コース要約およびタイトルタグ

リソースタイトルおよびコース要約等のテキストをできるようにするには、管理者はサイト管理 (管理 > 外観 > フィルタ設定) の「すべての文字をフィルタする filterall」を有効にする必要があります。

 <span lang="en" class="multilang">Mathematics</span> <span lang="ja" class="multilang">数学 (日本語)</span>

は、英語のタイトルでも日本語のタイトルでも動作します。

コースタイトル (名称および省略名) では動作しないようです。

コース要約で、:

<span lang="en" class="multilang">Growth is often a major concern in planning society. How can one avoid superficial conclusions? <br> (Exists in Japanese too. 日本語でも記述できます。)</span> <span lang="sv" class="multilang">社会計画の主要な関心事は成長です。私たちはどのようにして表面的な結果を避けることができるのでしょうか? (日本語でも記述できます。. Exists in English too.) <br /></span>

は、選択された言語で表示され、他の言語の記述もあることを示すことができます。class="multilang" は、Moodle 1.8以前のバージョンでは必要ではありません。

Translations with tags

If you wish to translate a word or phrase in an English text to another language:

If I want to include an explanation <span lang="en"> </span>
 <span lang="sv" class="multilang">(sv: förklaring)</span> in a running text can I do it?
<br />
<br /><span lang="en" class="multilang>If I want to include an explanation in a running text
 can I do it? </span>
<span lang="sv" class="multilang>If I want to include an explanation (sv: förklaring) in a 
running text can I do it?</span>

would both work, but not:

If I want to include an explanation <span lang="en" class="multilang></span>
 <span lang="sv" class="multilang>(sv: förklaring)</span> in a running text can I do it?
<br />If I want to include an explanation <span lang="sv" class="multilang>(sv: förklaring)</span>
 in a running text can I do it?<br />

which would show the Swedish even if English was the chosen language. NOTE that before 1.8 the "span lang=en" must contain something, at least a space.

New multilang syntax

Moodle 1.8

  • <span lang="xx"> and <lang> should not be used anymore
  • Existing content can be upgraded using the admin/multilangupgrade.php script, there is a link in the admin notification page if a multilang upgrade is required.
  • The multilang filter can be configured to use old syntax only - see Multi-Language Content Settings; this setting may be removed in 1.9
  • New syntax is forced during a new 1.8 installation, for upgraded sites the new syntax is enabled after the multilang upgrade

Common problems

  • The multilang filter is not enabled - go to filter settings and enable it
  • Filter all strings not enabled on sites that need multilang in titles, navigation, headings, etc.
  • Extra characters between language span tags - editor might add <br /> or other tags, please review the html in source view
  • Extra spaces in language span tag

関連情報