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 キーをコピーしてクリップボードに保存しておくことができます。.

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

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

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

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

Linguise Scriptインターフェイスにアクセスする方法は?

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

あなたのウェブサイトに従ってドメインアドレスを変更するアドレス*
Linguise適切な読み取りと書き込みの許可があることを確認

パスワードとデータベース接続のセットアップ

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

あなたはできる:

  • このインターフェイスへの将来のアクセスに必要なパスワードを設定します。
  • セットアップと好みに応じて、データベースタイプ(MySQLまたはSQLiteのいずれか)を選択します。

この最初のセットアップにより、安全なアクセスが保証され、環境に応じてスクリプトを構成できます。

MySQLデータベース接続

MySQLを選択すると、以下のMySQL構成フィールドの次の接続の詳細を要求する別のインターフェイスが表示されます。

情報が正しいことを確認して、MySQLデータベースへの接続が成功していることを確認してください。 

mysql vs sqlite - 違いは何ですか?
MySQLとSQLiteはどちらも、Webサイトとアプリケーションのデータを保存および管理するために使用される一般的なデータベースシステムです。ただし、さまざまなユースケース向けに設計されており、いくつかの重要な違いがあります。

特徴sqlitemysql
設定非常に簡単(SQLiteのインストールが必要)サーバーのセットアップが必要です
ストレージ単一ファイルMySQL Serverによって管理されています
パフォーマンス小規模なアプリに最適です大規模で高トラフィックシステムの方が適しています
使用事例ローカルアプリ、テスト、小さなサイトWebアプリ、eコマース、エンタープライズシステム

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

以前は Joomla と WordPressでのみ利用可能な Linguise Translation Dashboardは、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 サーバーと Web サイト サーバー間のデータ転送を節約します。 キャッシュは、ページが既に翻訳されていて更新されていない場合にのみ使用されます。 優先的に保持されるキャッシュは、最も閲覧数の多い多言語ページのキャッシュになります。

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

Laravel 翻訳設定コードの例。翻訳を設定するための設定。
				
					    /** 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 = '';