TYPO3 CMS に Linguise 自動翻訳をインストールする

目次

TYPO3 CMS の技術要件

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

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

1.APIキーを生成します

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

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

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

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

 

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

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

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

Linguise 翻訳スクリプトは、 TYPO3 CMS がインストールされているサーバーにアップロードする必要があります。

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

  • それがウェブサイトのルートレベル TYPO3 CMS ファイルが配置されている場所)
  • フォルダーがデフォルト名 linguise
TYPO3-CMS-ファイル

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

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

3. TYPO3 CMS URL書き換えをセットアップする

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

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

				
					# Set PHP version to 7.4 >> Please Add this code before the Rewrite rules to ensure Linguise works in PHP v7.4
AddHandler application/x-httpd-php74 .php

<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|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 [L,QSA]
</IfModule>
				
			

最終的に、 TYPO3 CMS .htaccess ファイルは次のようになります。

				
					# Set PHP version to 7.4
AddHandler application/x-httpd-php74 .php

<IfModule mod_rewrite.c>

	# Enable URL rewriting
	RewriteEngine On
	RewriteBase /typo10/   # Set the RewriteBase to the subfolder

    # Add a condition to check if the request starts with the subfolder
    RewriteCond %{REQUEST_URI} !^/typo10/

    # Rewrite requests that don't start with the subfolder to include it
    RewriteRule ^(.*)$ /typo10/$1 [L]
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-l

	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|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)(?:$|/)(.*)$ /typo10/linguise/linguise.php?linguise_language=$1&original_url=$2 [L,QSA]

				
			

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

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

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

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

4.1 Linguise JS スクリプトをロードする

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

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

TYPO3 にロードする最も簡単な方法は、Webサイトのヘッダー内に追加するか、 コード。 TYPO3 CMS には特別な環境が付属しており、ヘッダーにスクリプトを追加するには特定のファイルを作成する必要があります。

これは、以下の手順に従って行うことで実現できます。

  1. Typo3 にログインし
  2. ページ」 > 「 +コンテンツ特殊要素タブをクリック

以下のように、スクリプト ファイルを編集して HTML コード セクションにスクリプト リンクを含めます。

TYPO3-cms のスクリプト

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

TYPO3-CMS言語スイッチャー

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

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

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

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

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

TYPO3 CMS コンテンツに言語スイッチャーをロードします

フラグの定位置

TYPO3内の特定の場所に言語スイッチャーを表示するには、その位置を「その場」に設定する必要があります。 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 = '';