Moodle LMS に Linguise 自動翻訳をインストールする

目次

Moodle LMS の技術要件

Moodle LMS で使用するニューラル自動翻訳には、PHP スクリプトを使用する必要があります (以下からダウンロードできます)。 Linguise スクリプトをインストールするには、次の要件が必要です。

  • PHP 7+を実行する
  • Apache、IIS、または NGINX サーバー
  • サーバー上で URL 書き換えが有効になっていることを確認してください

APIキーを生成します

Linguiseダッシュボードに接続または登録した後、まず新しいドメインをセットアップし、その設定を保存して API キーを取得する必要があります。

「その他の PHP」プラットフォームを選択して、このドキュメントやソース言語と宛先言語などの Linguise 登録ドメインを続行できます。

その後、次のものが得られます。

  • メンバーシップを検証する API キー
  • 言語スイッチャーの Linguise スクリプトへのリンク

API キーは、 Moodle LMS Web サイトで翻訳をアクティブ化するために必要なものです。基本的に、API キーはドメインでアクティブ化されている言語を確認し、コンテンツの自動翻訳を許可します。

現時点では、API キーをコピーしてクリップボードに保存できます。

Linguise 翻訳スクリプトをアップロードして接続する

Linguise 翻訳スクリプトは、 Moodle LMS がインストールされているサーバーにアップロードする必要があります。ここからダウンロードしてください。

スクリプトをダウンロードしたら、解凍し、 Moodle LMS がインストールされているルート フォルダーにアップロードします。

  • Web サイトのルート レベル Moodle LMS ファイルが配置されている場所)に配置されていることを確認してください。
  • フォルダーがデフォルト名 linguise
カービィのインストールlinguise

Linguise をサーバーにアップロードしたConfiguration.phpLinguise必要があります

config-php
URL の設定と言語スイッチャーの設定には少し技術が必要であることは理解しています。 しかし朗報です! 無料のインストールを提供します

Moodle LMS URL書き換えをセットアップする

デフォルトでは、 Moodle LMS では URL 書き換えが有効になっています。そうでない場合は、ホスティング プロバイダーからアクティブ化できます。

言語ごとの URL は .htaccess で設定する必要があります。デフォルトのMoodle LMS RewriteEngine on の後に以下のコードをコピーするだけです

				
					<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteRule ^(af|sq|am|ar|hy|az|eu|be|bn|bs|bg|ca|ceb|ny|zh-cn|zh-tw|co|hr|cs|da|nl|en|eo|et|tl|fi|fr|fy|gl|ka|de|el|gu|ht|ha|haw|iw|hi|hmn|hu|is|ig|id|ga|it|ja|jw|kn|kk|km|ko|ku|ky|lo|la|lv|lt|lb|mk|mg|ms|ml|mt|mi|mr|mn|ne|no|ps|fa|pl|pt|pa|ro|ru|sm|gd|sr|st|sn|sd|si|sk|sl|so|es|su|sw|sv|tg|ta|te|th|tr|uk|ur|uz|vi|cy|xh|yi|yo|zu|zz-zz)(?:$|/)(.*)$ linguise/linguise.php?linguise_language=$1&original_url=$2 [L,QSA]
</IfModule>
				
			

URL を使用して、翻訳されたすべてのページをロードできるようになりました。例: www.shop.com /fr/

言語スイッチャーをロードしましょう。

言語スイッチャーを有効にする

Linguise JavaScript をロードする

(SEO 目的で) HTML ヘッダーにフラグと代替 URL を含む言語スイッチャーを表示するには、 Linguise Javascript リンクをすべての Moodle LMS ページにロードする必要があります。

スクリプト リンクをコピーするには、 Linguise ダッシュボードからドメイン設定に移動し、スクリプト リンクをコピーします。

Moodle LMSにロードする最も簡単な方法は、 コード。

これは、次の手順で設定できます。サイト管理 に設定 > サイト管理 > 外観 > 追加の HTML に移動します。 デフォルトでは、この方法を使用できます。

以下のようにヘッダーセクションにスクリプトのリンクを含めます。

言語スイッチャーは、デフォルトで Web サイトの右下のフローティング位置に表示されます。 次の章で説明するようにカスタマイズしてください。

ExpressionEngine-cms 言語スイッチャー

SEO に関する重要事項:セットアップする言語の数は、SEO に大きな影響を与えます。 翻訳言語を設定するときに、大量のインデックス ページ (>500) がある場合、検索エンジンがそれらを処理するのに多くの時間がかかる場合があります。 元の言語での SEO に影響を与える可能性があります。 そのため、最初に最大 5 つの言語を追加することをお勧めします。その後、インデックスが作成されたら、月に 3 つのバッチで言語を追加できます。

言語スイッチャーをセットアップする

言語スイッチャーは、 Linguise ダッシュボード > 設定 > 言語フラグ表示からカスタマイズできます。 ここでの変更はすべてウェブサイトに反映されます。

画面の右側には言語スイッチャーのプレビューが表示されます。 設定できる要素は次のとおりです。

  • 3 つのレイアウト: サイドバイサイド、ドロップダウン、またはポップアップ
  • 言語スイッチャーの位置
  • 言語スイッチャーのコンテンツ
  • 英語または母国語の言語名
  • 旗の形と大きさ
  • 色とボックスの影

Moodle LMS コンテンツに言語スイッチャーをロードする

フラグの定位置

CMS コンテンツ内の特定の場所に言語スイッチャーを表示するには、その位置を「その場」に設定する必要があります。
Linguiseで位置を設定したら、以下のショートコードを追加してその位置を含めることができます。 以下のコードをクリックしてクリップボードに置きます。

[linguise]

追加すると、フロントエンドでコードを追加した HTML 領域にフラグと言語名が表示されます。

ローカル キャッシュ システム オプションを有効にする

オプションとして、URL とそれに関連する多言語コンテンツを格納するローカル キャッシュ システムを有効にして、ページをより高速に提供することができます。 ローカル キャッシュは、 Linguise サーバーと Web サイト サーバー間のデータ転送を節約します。 キャッシュは、ページが既に翻訳されていて更新されていない場合にのみ使用されます。 優先的に保持されるキャッシュは、最も閲覧数の多い多言語ページのキャッシュになります。

それを補完するために、保存されるキャッシュの量を MB 単位で定義できます。 次の例では、キャッシュがアクティブ化され、保持するキャッシュの量は 500 MB です。

				
					    /** Basic configuration **/
    public $cache_enabled = true;
    public $cache_max_size = 500; // In megabyte
				
			

NGINX サーバーでの自動翻訳

CMS に対応する行を NGINX サーバー構成ブロックに追加します。
これは、他のリダイレクト、特に PHP メイン ファイル内のリダイレクトの前に設定する必要があります。
				
					rewrite ^/(af|sq|am|ar|hy|az|eu|be|bn|bs|bg|ca|ceb|ny|zh-cn|zh-tw|co|hr|cs|da|nl|en|eo|et|tl|fi|fr|fy|gl|ka|de|el|gu|ht|ha|haw|iw|hi|hmn|hu|is|ig|id|ga|it|ja|jw|kn|kk|km|ko|ku|ky|lo|la|lv|lt|lb|mk|mg|ms|ml|mt|mi|mr|mn|my|ne|no|ps|fa|pl|pt|pa|ro|ru|sm|gd|sr|st|sn|sd|si|sk|sl|so|es|su|sw|sv|tg|ta|te|th|tr|uk|ur|uz|vi|cy|xh|yi|yo|zu|zz-zz)(?:$|/)(.*)$ /linguise/linguise.php?linguise_language=$1&original_url=$2 last;
				
			

Windows IIS サーバーでの自動翻訳

Web.config ファイルに、Web サイト ビルダーに対応する行を追加します。
これは、他のリダイレクト、特に PHP メイン ファイルへのリダイレクトの前に設定する必要があります。

				
					<rule name="Linguise" stopProcessing="true">
<match url="^(af|sq|am|ar|hy|az|eu|be|bn|bs|bg|ca|ceb|ny|zh-cn|zh-tw|co|hr|cs|da|nl|en|eo|et|tl|fi|fr|fy|gl|ka|de|el|gu|ht|ha|haw|iw|hi|hmn|hu|is|ig|id|ga|it|ja|jw|kn|kk|km|ko|ku|ky|lo|la|lv|lt|lb|mk|mg|ms|ml|mt|mi|mr|mn|my|ne|no|ps|fa|pl|pt|pa|ro|ru|sm|gd|sr|st|sn|sd|si|sk|sl|so|es|su|sw|sv|tg|ta|te|th|tr|uk|ur|uz|vi|cy|xh|yi|yo|zu|zz-zz)(?:$|/)(.*)$" ignoreCase="false" />
        <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
            <action type="Rewrite" url="linguise/linguise.php?linguise_language={R:1}&amp;original_url={R:2}" appendQueryString="true" />
</rule>
				
			

SQLiteからMySQLへ

SQLite がサーバーにインストールされていない場合に備えて、Configuration.php には SQLite の代わりに MySQL の使用を強制する設定があります。

この場合、 Configuration.php ファイルのこの部分に MySQL 情報を入力する必要があります。

				
					    /** Advanced database configuration **/
    /*
     *  In case you don't want to use Sqlite, you can use MySQL
     *  To do so, you need to fill the following variables
     *  Linguise will create the tables for you
     */
    public static $db_host = '';
    public static $db_user = '';
    public static $db_password = '';
    public static $db_name = '';
    public static $db_prefix = '';