AMOSマニュアル

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


AMOS は Automated Manipulation Of Strings (文字列の自動操作) の略です。AMOS は Moodle の文字列およびその履歴の中央リポジトリです。AMOS は Moodle コードへの英語文字列の追加を追跡し、翻訳を収集し、一般的な翻訳タスクを処理し、Moodle サーバに配置する言語パッケージを生成します。

この名前は、Janua linguarum reserata (Gate to Languages Unlocked) の著者である John Amos Comenius に敬意を表してつけられました。ごめんなさい、Tori ;-)

AMOSは、私たちの Moodle翻訳サイト にホストされています。

基本的な概念

AMOS は、メインのナビゲーションブロックを介して利用可能な複数のツールで構成されています - Translator(翻訳者)、Stage(ステージ)、Stashes(スタッシュ)、Contributions(寄稿)および Log(ログ)。

  • Translator - は、作業したい文字列をフィルタリングして翻訳することができるツールです。
  • Stage - は、現在のセッションで翻訳した文字列を保持する一時的な作業領域です。メンテナンス担当者は、ステージを文字列リポジトリに恒久的にコミットすることができます。寄稿者は、メンテナのためにステージを投稿することができます。
  • Stashes - は、ステージのスナップショットです。パソコンにある、作品を保存するための普通のファイルをイメージしてください。言語パックのメンテナにスタッシュを提出することができます。
  • Contributions - は、投稿されたすべての寄稿とその現在の状況を追跡するデータベースです。このデータベースの記録は、翻訳された文字列が添付された Moodle トラッカー内の課題のようなものです。
  • Repository - lang.moodle.org サーバで動作する、すべての Moodle 文字列とその履歴のデータベースです。
  • Log - は、Moodle の文字列を変更したすべてのログを表示します。

翻訳のワークフロー

以下のデータフロー図は、翻訳プロセス中にAMOSツールがどのように使用されるかを示しています。

amos-workflow4.png

AMOSのキーコンポーネントは、ステージングエリア、略してステージです。現在のログインセッションの間、翻訳された文字列を一時的に保持します。ログアウトすると、ステージはクリアされます(ただし、バックアップはあります - 下記参照)。翻訳をステージ化する方法、つまり翻訳された文字列をステージに入れる方法はいくつかあります:

  • AMOSトランスレータを使用する
  • アップロードされたファイルから文字列を取り込む
  • 事前に作成したスタッシュを適用する
  • 投稿された寄稿を適用する

言語パックのメンテナは、AMOS文字列リポジトリへの書き込みアクセス権を持っています。そのため、ステージを永続的にコミットすることが可能です。ステージがコミットされると、ステージ化された文字列はAMOSリポジトリに保存されます。AMOSは1時間ごとに、リポジトリの最新のスナップショットからZIPパッケージを生成します。これらのZIPパッケージは、言語パックのダウンロードページ https://download.moodle.org/langpack/ で公開されています。さらに、Moodleサイトでは、サイト管理 > 言語 > 言語パック によって、言語パッケージを自動的にインストールおよび更新することができます。

コミュニティメンバーはリポジトリへの書き込み権限がないため、自分のステージをコミットすることができません。その代わり、メンテナに提出することも可能です。ステージを投稿することで、新しい投稿記録が作成され、言語パックメンテナには自動メールメッセージで通知されます。メンテナは、提出された投稿を確認し、承諾すれば、投稿者に代わってコミットすることができます。

ステージは保存することも可能ですので、作業を中断して次回サイトに戻った時に続けることができます。ステージは、いわゆる 'スタッシュエリア(隠し場所)’に保存されます。スタッシュエリアは、スタッシュで構成されています。新しいスタッシュは、現在のステージのスナップショットコピーにすぎません。AMOS は、最新のステージのバックアップコピーとして、あなたのために1つのスタッシュを自動的に保持します。スタッシュは、メンテナに提出することもできます。

AMOSツール

翻訳ツールの使用

AMOS 翻訳ツール

翻訳ツールページは、主に2つの部分から構成されています。上部には、フィルタフォーム (1) があります。そのフィルタを使って、翻訳したい文字列を取得します。フィルタ設定を保存すると (2)、フィルタされた文字列を含む表が以下に表示されます。

テーブルの各行は、1つの文字列を表します。テーブルには4つの列があります。最初の列 (3) には、その文字列が使用されているバージョン(またはブランチ)、その識別子、その構成要素が記述されています。以下のようなテキストを見ることができます。

4.0 [completiondate,coursereport_completion]

この文字列はMoodle 4.0で使用され、その識別子は 'completiondate' で、'courserepor_completion' コンポーネントに属しています。

第2列 (4) には、文字列の英語原文が記載されています。テキストの下には、Googleのアイコンが表示されています。このアイコンをクリックすると、文字列が翻訳対象の言語に自動翻訳されます。次の列には、この文字列が翻訳される言語のコード(例えば、チェコ語は "cs")が含まれます。

最後の欄には、翻訳そのものが書かれています。空であれば、文字列はまだ翻訳されておらず、そうでなければ、現在の翻訳を表示します。セル内をクリックすると、入力エディタになります。 訳文を挿入し、セルの外側をクリックすると訳文がステージ化されます。なお、送信ボタンはなく、テキストはバックグラウンドで自動的にステージに送信されます。セルの色が青くなったのがわかると思います。青い色は、現在、翻訳が段階的に進行していることを知らせています。

文字列フィルタの使い方には、さまざまなオプションがあります。単一のコンポーネントを処理することも、すべての欠落した文字列を一度に処理することも可能です。指定したテキストを含む文字列(英語または翻訳された文字列)などを検索することができます。古いバージョンの文字列をチェックすることもできますが、これらの文字列は読み取り専用です。これらの文字列は、1.x の翻訳の CVS リポジトリから自動的に AMOS に取り込まれます。

フィルタの送信ボタンの下にある 'パーマリンク' は、現在のフィルタ設定を保持するために使用することができます。例えば、いつも使っている設定をブックマークしたり、リンクのURLをコピーして誰かに送れば、そのURLにアクセスするだけでフィルタが設定できるようになります。

翻訳が終わったら、ステージのページを見ることを忘れないでください。おそらく、コミットするか(言語パックのメンテナである場合)、メンテナに提出し、彼らがあなたの作業をレビューして言語パックに含めることができるようにしたいでしょう。

悲しいことに、AMOS はリクエストURIが大きすぎて処理しきれないと判断することがあります。 :(

amos permalink request -uri too large4.png

ステージの使用

寄稿者によってステージされた文字列

翻訳された文字列は、カーソルがエディタフィールドから離れた直後に ステージ と呼ばれる一時領域に置かれます。このステージは、(あなたが言語パックのメンテナであれば)リポジトリにコミットされるか、メンテナに提出されて組み込まれるか、あるいはスタッシュされる前にあなたの作業を保持します。

ステージはログアウトするとクリアされます。ステージを永続的に保存するためには、明示的にコミットまたはスタッシュする必要があります。もし、それを忘れたり、接続に問題があったり、ブラウザがクラッシュしたりしても、オートセーブスタッシュでステージの最新のスナップショットを見つけることができます。

言語パックメンテナであれば、ステージをリポジトリにコミットすることで、あなたの作業が登録され、翻訳された文字列は公式言語パッケージの一部となります。また、伝播ボタンを選択し、文字列を送りたいブランチを選ぶことで、他のブランチにも文字列を伝えることができます。そうすることで、作業の手間を省き、バージョンアップしても文言の一貫性を保つことができるのは、賢明なことだと思います。


毎時更新されるZIP形式の言語パッケージは、https://download.moodle.org/langpack/4.0/ で公開されています。最新の更新を確認するには、ページの最下部をご覧ください。同時に、Moodleのサイトでも自動更新が可能になります。

ステージは、ファイルから文字列をインポートしたり、言語パックのバージョンをマージしたり比較したりするのにも使用できます。

ファイルのインポート

空のステージでは、ファイルから文字列を取り込むことができます

文字列はオフラインで翻訳することができ、ステージページを使用して AMOS に再アップロードすることができます。現在サポートされているのは、Moodle で使用されている一般的な PHP フォーマットで、文字列は $string という連想配列で定義されています。明らかなセキュリティ上の理由から、AMOS はユーザがアップロードした PHP ファイルを実際に実行することができません。代わりに、AMOS は PHP パーサと同様の方法でアップロードされたファイルを解析し、有効な文字列定義として認識されるパターンを探します。つまり、すべての有効な PHP コードが有効な文字列定義であるとは限らないということです。AMOS パーサは、以下の条件を満たす必要があります:

  • ファイル名は Moodle で使用される有効なコンポーネント名です。例えば、moodle.php、enrol_manual.php または workshop.phpです。
  • ファイルは、構文エラーのない有効な PHP コードです。つまり、PHP の lint チェックをパスする必要があります。
  • 文字列は、グローバル配列 $string の要素として定義されます。
  • 文字列はシングルクォーテーションで囲まれた定数です。

AMOSにインポートするための有効なファイルの例(ファイル名 countries.php、チェコ語訳)。

<?php

$string['AE'] = 'Spojené Arabské emiráty';
$string['AF'] = 'Afghánistán';
$string['CH'] = 'Švýcarsko';
$string['HU'] = 'Maďarsko';

?>

インポート中、ファイル内で見つかった文字列は、ウェブ経由で翻訳されたかのように、ステージに追加されます。特権を持っている場合は、それらをリポジトリにコミットすることができます。

複数の .php ファイルを一度にインポートすることができます。それらを ZIP ファイルにまとめて配置し(最大サイズ: 2MB)、この ZIP ファイルをインポートします。

スタッシュの使用

いつでも、現在のステージのスナップショットを保存することができます。このようなスナップショットを スタッシュ と呼びます。スタッシュされた文字列は手動で削除するまで永久に保持されます(この機能を乱用せず、スタッシュを適度な大きさに保つようにしてください)。スタッシュの管理は、AMOS の右メニューにあるスタッシュをクリックしてください。スタッシュの一覧が表示されます。スタッシュ上にマウスをホバーすると、"peekaboo" ボタンが表示されます。 スタッシュを 適用 することで、スタッシュされた文字列がステージにコピーバックされます。 pop(ポップ) が行うのは、スタッシュを適用して drop(削除)することです。drop(ドロップ) は削除のようなものです。submit to maintainer(メンテナに提出) は、それを行うためのフォームを開くものです。

各ユーザには、オートセーブスタッシュ という特別なスタッシュレコードが1つあります。このスタッシュには、ステージの最新の状態が保持されています。ブラウザがクラッシュしたり、インターネット接続が切れたり、誤ってすべての文字列のステージを解除してしまったりと、何らかの理由で現在のステージが失われた場合に便利です。そんな時はオートセーブスタッシュを適用すれば、作業を取り戻せます。オートセーブスタッシュは、文字列をステージ化するたびに更新されます。つまり、ステージが空で、オートセーブスタッシュが文字列でいっぱいであり、スタッシュを適用せずに先にトランスレータに進む場合、オートセーブが新しい翻訳文字列に置き換わります。この機能を最初に少し試してみることをおすすめします。

ログツールの使用

ログページでは、匿名ユーザでも AMOS が追跡しているコミットの履歴を検索することができます。ページの上部には、特定の情報やレポートを検索するためのフィルタがあります。フィルタが実際にどのように機能するかを理解することは重要です。検索とフィルタリングは2つのステップで行われます(これはパフォーマンスのために必要でした):

  • まず、コミットフィルタフォームで指定された条件に基づいて、コミットレコードが検索されます。フィルタ設定に一致するコミットが複数ある場合、最新の100件のコミットのみが処理されます。
  • そして、見つかったコミットの中で、すべての文字列変更レコードを返すか、これらのレコードもフィルタリングすることができます。この場合、文字列フィルタフォームセクションの設定が使用されます。

デフォルトでは、最後にログインした時以降のすべてのコミットを探し、そのコミットによって変更された現在翻訳されているブランチの文字列のみを表示します。

言語パックおよびMoodleのバージョン

新しい Moodle バージョンがリリースされると、あなたの AMOS - トランスレータページのデフォルトバージョンになります (上部にあるチェックボックスをご覧ください)。

推奨される作業フローは、新しいMoodleバージョンの翻訳作業を継続し、古いバージョンでの作業を統合することです。 少し前までは、AMOS - ステージのページを使ってやっていた人もいたようです: ソースのバージョンを、作業中のバージョンに設定し、ターゲットのバージョンを、文字列をコピーしたいバージョンに設定してください。現在の AMOS では、(ほとんどの)文字列は自動的にすべての適切なブランチに伝播されます。

'お気に入り'のプラグインの翻訳文字列を追跡する

パーマリンク 機能を使用して、不足しているまたは古くなった文字列があるかどうか、頻繁に確認するために追加のプラグインの有限なセットをチェックすることができます。

パーマリンク機能は、このような仕組みになっているそうです:

  • AMOS のフィルタ設定を使用します(つまり、どのバージョン、どのコンポーネントなどを表示するかを定義します)。例えば、バージョン 4.0 を選択し、次にすべてのコアコンポーネントといくつかの追加コンポーネントを選択することができます。
  • "フィルタ設定を保存する" を押して、AMOS に文字列を表示させます。
  • そして、"パーマリンク" リンクから利用できる URL をコピーしたり、ブックマークしたりすることができます。
  • そのURLをたどると、フィルタが現在の設定に戻されるはずです。
  • 現在の問題は、AMOS がコンポーネントの異なるバージョンの文字列を混在させることを許可していないことです。そのため、"ワークショップ 3.11の文字列とエッセンシャル 3.9の文字列" といったものを一緒に表示することはできません。3.11 と 3.9 の両方のバージョンフィールドと、ワークショップとエッセンシャルの両方のコンポーネントを選択する必要があります。しかし、それではワークショップの文字列が2回表示されることになります。
注意: バージョンごとにブックマーク/保存されたパーマリンクがいくつかあると便利だと思います。したがって、"4.0のコアと興味深い追加プラグイン" 用の1つ、そして "3.11の興味深いプラグイン" 用の別の1つ、"3.10の興味深いプラグイン" 用の別の1つなどが必要になります。この方法で、定期的にこれらの3つまたは4つのリンクをチェックすることができ、興味のあるエリアをきちんと監視することができます。

関連項目