目次
TYPO3 CMS の技術要件
TYPO3 CMSで使用するニューラル自動翻訳には、PHPスクリプト(以下からダウンロードできます)が必要です。Linguise Linguise をインストールするには、以下の要件を満たす必要があります。
- PHP 7以降を実行
- Apache、LiteSpeed、NGINX、IIS サーバー
- サーバーでURL書き換えが有効になっていることを確認してください
- TYPO3 CMS 9以上
1. APIキーを生成する

その後、次のものが得られます。
- メンバーシップを検証するAPIキー
- 言語切り替え用の Linguise スクリプトへのリンク

APIキーは、 TYPO3 CMSウェブサイトで翻訳を有効にするために必要です。基本的に、APIキーはドメインで有効になっている言語を確認し、コンテンツの自動翻訳を可能にします。.
今のところ、API キーをコピーしてクリップボードに保存しておくことができます。.
2. Linguise 翻訳スクリプトをアップロードして接続する
Linguise 翻訳スクリプトは、 TYPO3 CMS がインストールされているサーバーにアップロードする必要があります。
スクリプトをダウンロードしたら、解凍して、 TYPO3 CMS がインストールされているルート フォルダーにアップロードします。.
- ウェブサイトのルートレベル TYPO3 CMSファイルが配置されている場所)にあることを確認してください
- フォルダ名がデフォルト名の「 linguise 」

Linguise Script Interface にアクセスするにはどうすればいいですか?
Linguiseが完了したら、次のURL形式でウェブサイトにアクセスしてダッシュボードにアクセスできます:
https://www.domain.com/ linguise
ウェブサイトのアドレスに合わせてドメインアドレスを変更します*
Linguise適切な読み取りおよび書き込み権限があることを確認します
パスワードとデータベース接続の設定
スクリプト インターフェイスにアクセスすると、パスワードを作成して希望のデータベースに接続できるセットアップ画面が表示されます。.
あなたはできる:
- 今後このインターフェースにアクセスする際に必要となるパスワードを設定します。.
- 設定と好みに応じて、データベースの種類(MySQL または SQLite)を選択します。.
この初期設定により、安全なアクセスが確保され、環境に応じてスクリプトを構成できるようになります。.

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

MySQL データベースへの接続を正常に確立するには、情報が正しいことを確認してください。.
MySQLとSQLiteの違いとは?
MySQLとSQLiteはどちらも、ウェブサイトやアプリケーションのデータの保存と管理によく使われる人気のデータベースシステムです。しかし、それぞれ異なるユースケースを想定して設計されており、いくつかの重要な違いがあります。
| 機能 | SQLite | MySQL |
|---|---|---|
| 設定 | 非常に簡単(SQLiteのインストールが必要) | サーバーのセットアップが必要です |
| ストレージ | 単一ファイル | MySQLサーバーによって管理 |
| パフォーマンス | 小規模アプリに最適 | 大規模で高トラフィックのシステムに最適 |
| 使用事例 | ローカルアプリ、テスト、小規模サイト | ウェブアプリ、eコマース、エンタープライズシステム |
Linguise スクリプトインターフェース: PHP プラットフォームのセットアップ
これまで Joomla と WordPressのみに対応していた Linguise 翻訳ダッシュボードが、PHPをはじめとする他のプラットフォームにもサポートを拡大しました。このアップデートにより、ユーザーはCMSやフレームワークを問わず、統一されたインターフェースから、表示オプション、フラグスタイル、外観のカスタマイズといった言語設定をシームレスに行うことができます。.

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


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
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]
最終的に、 TYPO3 CMS .htaccess ファイルは次のようになります。
# Set PHP version to 7.4
AddHandler application/x-httpd-php74 .php
# 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/
言語スイッチャーをロードしてみましょう。.
4.言語スイッチャーを有効にする
4.1 Linguise JSスクリプトをロードする
HTML ヘッダーにフラグと代替 URL を含む言語スイッチャーを表示するには、 Linguise JS スクリプト リンクをすべての TYPO3 CMS ページに読み込む必要があります (SEO 目的)。.
スクリプト リンクをコピーするには、 Linguise ダッシュボードからドメイン設定に移動し、スクリプト リンクをコピーします。.

TYPO3 でこのコードを読み込む最も簡単な方法は、ウェブサイトのヘッダー内に追加するか、コード。TYPO3 TYPO3には特別な環境が付属しており、ヘッダーにスクリプトを追加するには特定のファイルを作成する必要があります。
これを実現するには、以下の手順に従います。
- Typo3 Adminにログインし
- 「ページ」>「 +コンテンツ」を選択>「特別な要素」タブをクリック>「プレーンHTML」
スクリプト ファイルを編集して、以下のように HTML コード セクションにスクリプト リンクを含めます。.

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

SEOに関する重要な注意:設定する言語の数はSEOに大きな影響を与えます。翻訳言語を設定する際、インデックス登録されたページ数が多い場合(500ページ以上)、検索エンジンによる処理に時間がかかる可能性があります。これは、元の言語でのSEOに影響を与える可能性があります。そのため、最初は最大5言語を追加し、インデックス登録が完了したら、月に3言語ずつまとめて追加することをお勧めします。
TYPO3 CMSで言語スイッチャーを設定する
言語スイッチャーは、 Linguise ダッシュボード > 設定 > 言語フラグ表示からカスタマイズできます。ここで行った変更はすべてウェブサイトに反映されます。.

画面右側に言語スイッチャーのプレビューが表示されます。設定できる要素は以下のとおりです。
- 3つのレイアウト: サイドバイサイド、ドロップダウン、ポップアップ
- 言語スイッチャーの位置
- 言語切り替えコンテンツ
- 英語または母国語での言語名
- 旗の形と大きさ
- 色とボックスシャドウ
TYPO3 CMSコンテンツに言語スイッチャーをロードする

TYPO3内の特定の場所に言語スイッチャーを表示するには、位置を「In place」に設定する必要があります。Linguise
で位置を設定したら、以下のショートコードを追加して表示できます。以下のコードをクリックすると、クリップボードにコピーされますLinguise
[linguise]
追加されると、フロントエンドで、コードを追加した HTML 領域にフラグと言語名が表示されます。.
ローカルキャッシュシステムオプションを有効にする
オプションとして、URLと関連する多言語コンテンツを保存するローカルキャッシュシステムを有効にすることで、ページの表示速度を向上できます。ローカルキャッシュは、 Linguise サーバーとお客様のウェブサイトサーバー間のデータ転送を節約します。このキャッシュは、ページが既に翻訳済みで更新されていない場合にのみ使用されます。優先的に保持されるキャッシュは、最も閲覧されている多言語ページのキャッシュです。.
これを補完するために、保存するキャッシュの量をMB単位で定義できます。次の例では、キャッシュが有効になっており、保持するキャッシュの量は500MBです。.

/** Basic configuration **/
public $cache_enabled = true;
public $cache_max_size = 500; // In megabyte
NGINXサーバーでの自動翻訳
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メインファイルへのリダイレクトよりも前に設定する必要があります。
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 = '';