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

目次

TYPO3 CMS の技術要件

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

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

1. APIキーを生成する

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

このドキュメントやソース言語、ターゲット言語などの Linguise 登録ドメインに進むには、「その他の PHP」プラットフォームを選択できます。.

ウェブサイトのプラットフォームと翻訳言語の設定

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

  • メンバーシップを検証するAPIキー
  • 言語切り替え用の Linguise スクリプトへのリンク

 

ウェブサイトの翻訳に関するビデオが掲載されたウェブページのスクリーンショット

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

今のところ、API キーをコピーしてクリップボードに保存しておくことができます。.

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

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

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

  • ウェブサイトのルートレベル TYPO3 CMSファイルが配置されている場所)にあることを確認してください
  • フォルダ名がデフォルト名の linguise
TYPO3-CMS-ファイル

Linguise Script Interface にアクセスするにはどうすればいいですか?

Linguiseが完了したら、次のURL形式でウェブサイトにアクセスしてダッシュボードにアクセスできます:
https://www.domain.com/ linguise

ウェブサイトのアドレスに合わせてドメインアドレスを変更します*
Linguise適切な読み取りおよび書き込み権限があることを確認します

パスワードとデータベース接続の設定

スクリプト インターフェイスにアクセスすると、パスワードを作成して希望のデータベースに接続できるセットアップ画面が表示されます。.

あなたはできる:

  • 今後このインターフェースにアクセスする際に必要となるパスワードを設定します。.
  • 設定と好みに応じて、データベースの種類(MySQL または SQLite)を選択します。.

この初期設定により、安全なアクセスが確保され、環境に応じてスクリプトを構成できるようになります。.

MySQLデータベース接続

MySQL を選択した場合は、以下の MySQL 構成フィールドの接続詳細を尋ねる別のインターフェイスが表示されます。

MySQL データベースへの接続を正常に確立するには、情報が正しいことを確認してください。. 

MySQLとSQLiteの違いとは?
MySQLとSQLiteはどちらも、ウェブサイトやアプリケーションのデータの保存と管理によく使われる人気のデータベースシステムです。しかし、それぞれ異なるユースケースを想定して設計されており、いくつかの重要な違いがあります。

機能SQLiteMySQL
設定非常に簡単(SQLiteのインストールが必要)サーバーのセットアップが必要です
ストレージ単一ファイルMySQLサーバーによって管理
パフォーマンス小規模アプリに最適大規模で高トラフィックのシステムに最適
使用事例ローカルアプリ、テスト、小規模サイトウェブアプリ、eコマース、エンタープライズシステム

Linguise スクリプトインターフェース: PHP プラットフォームのセットアップ

これまで Joomla と WordPressのみに対応していた Linguise 翻訳ダッシュボードが、PHPをはじめとする他のプラットフォームにもサポートを拡大しました。このアップデートにより、ユーザーはCMSやフレームワークを問わず、統一されたインターフェースから、表示オプション、フラグスタイル、外観のカスタマイズといった言語設定をシームレスに行うことができます。.

APIインターフェース

管理者は、言語選択ポップアップ、影の効果、地域固有のフラグ選択のバリエーションといった一貫した機能により、 Linguise 設定をより効率的に管理できます。ダッシュボードはユーザーフレンドリーなデザインを維持しながら、多様なWeb環境への幅広い互換性を提供します。.

ディスプレイインターフェース
外観インターフェース
URLの設定と言語スイッチャーの設定は少し技術的であることは承知しておりますが、朗報です!無料でインストールいたします。

3. TYPO3 CMS URL書き換えの設定

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

CMSのデフォルトの.htaccessにあるTYPO3 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 でこのコードを読み込む最も簡単な方法は、ウェブサイトのヘッダー内に追加するか、コード。TYPO3 TYPO3には特別な環境が付属しており、ヘッダーにスクリプトを追加するには特定のファイルを作成する必要があります。

これを実現するには、以下の手順に従います。

  1. Typo3 Adminにログインし
  2. ページ」>「 +コンテンツ」を選択>「特別な要素」タブをクリック>「プレーンHTML」

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

TYPO3スクリプト cms

言語スイッチャーは、ウェブサイトの右上にデフォルトで表示されます。次の章で説明するように、自由にカスタマイズできます。.

TYPO3-CMS言語スイッチャー

SEOに関する重要な注意:設定する言語の数はSEOに大きな影響を与えます。翻訳言語を設定する際、インデックス登録されたページ数が多い場合(500ページ以上)、検索エンジンによる処理に時間がかかる可能性があります。これは、元の言語でのSEOに影響を与える可能性があります。そのため、最初は最大5言語を追加し、インデックス登録が完了したら、月に3言語ずつまとめて追加することをお勧めします。

TYPO3 CMSで言語スイッチャーを設定する

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

英語のオプションを含む言語設定を選択するためのドロップダウン メニューを示すスクリーンショット。.

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

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

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

フラグ位置のインプレース

TYPO3内の特定の場所に言語スイッチャーを表示するには、位置を「In place」に設定する必要があります。Linguise
で位置を設定したら、以下のショートコードを追加して表示できます。以下のコードをクリックすると、クリップボードにコピーされますLinguise

				
					<div>&#091;linguise&#093;</div>
				
			

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

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

オプションとして、URLと関連する多言語コンテンツを保存するローカルキャッシュシステムを有効にすることで、ページの表示速度を向上できます。ローカルキャッシュは、 Linguise サーバーとお客様のウェブサイトサーバー間のデータ転送を節約します。このキャッシュは、ページが既に翻訳済みで更新されていない場合にのみ使用されます。優先的に保持されるキャッシュは、最も閲覧されている多言語ページのキャッシュです。.

これを補完するために、保存するキャッシュの量をMB単位で定義できます。次の例では、キャッシュが有効になっており、保持するキャッシュの量は500MBです。.

Laravel 翻訳設定コード例。翻訳を設定するための設定。.
				
					    /** Basic configuration **/
    public $cache_enabled = true;
    public $cache_max_size = 500; // In megabyte
				
			

NGINXサーバーでの自動翻訳

NGINX サーバー構成ブロックに CMS に対応する行を追加します。.
これは、他のリダイレクト、特に 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ファイルに、ウェブサイトビルダーに対応する行を追加します。
この行は、他のリダイレクト、特に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へ

また、Configuration.php には、サーバーに SQLite がインストールされていない場合に、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 = '';