「多言語シンタックス」の版間の差分

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


== How it works internally ==
== 内部的にどのように動作するか ==


# Filter first looks for ''multilang blocks'' in the text
# 最初にテキスト内で多言語ブロックを探すためフィルタします。
# For each multilang block:
# それぞれの多言語ブロックでは:
#* If there are texts in the currently active language, print them
#* If 現在の使用言語と同じ言語がテキスト内にある場合、そのテキストを表示します。
#* Else, if there exists texts in the current parent language, print them
#* elseif 現在の使用言語の親言語と同じ言語がテキスト内にある場合、そのテキストを表示します。
#* Else, print the first language found in the text
#* elseif テキスト内で発見された最初の言語を表示します。
# Text outside of multilang blocks will be shown always
# 多言語ブロックの外にあるテキストは常に表示されます。


==Course summary and title tags==
==Course summary and title tags==

2007年7月8日 (日) 16:34時点における版

作成中です - 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. それぞれの多言語ブロックでは:
    • If 現在の使用言語と同じ言語がテキスト内にある場合、そのテキストを表示します。
    • elseif 現在の使用言語の親言語と同じ言語がテキスト内にある場合、そのテキストを表示します。
    • elseif テキスト内で発見された最初の言語を表示します。
  3. 多言語ブロックの外にあるテキストは常に表示されます。

Course summary and title tags

To be able to change text such as resource titles and summaries, an administrator must choose Filter all strings in the site administration.

 <span lang="en" class="multilang">Matematically</span> <span lang="sv" class="multilang">Matematiskt (svenska)</span>

functions as English or Swedish title.

It doesn't seem to work for course titles (neither long nor short version).

In the course summary:

<span lang="en" class="multilang">Growth is often a major concern in planning society.
 How can one avoid superficial conclusions? <br>
(Exists in Swedish too. Finns på svenska också)</span>
 <span lang="sv" class="multilang">Tillväxt är ofta använt i samhällsdebatten. 
Hur kan man undvika ytliga slutsatser? 
 (Finns på engelska också. Exists in English too.)
<br /></span> 

Can show in the chosen language (and point out that the other language is there). Please note that class="multilang" is not required prior to 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

関連情報