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

目次

Concrete CMS 技術要件

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

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

1.APIキーを生成します

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

				
					<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>
				
			

最終的に、Concrete CMS .htaccess は次のようになります。

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

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME}/index.html !-f
    RewriteCond %{REQUEST_FILENAME}/index.php !-f
    RewriteRule . /concretee/index.php [L]
</IfModule>

				
			

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

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

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

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

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

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

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

Concrete CMSにロードする最も簡単な方法は、Web サイトのheader.phpまたは コード。

これは、次の手順で設定できます。管理パネル、右側で[システムと設定] > [SEO と統計] > [トラッキング コード]。 デフォルトでは、この方法を使用できます。

CMS Web サイトのテーマ フォルダheader.php ファイルにコードを挿入する必要があります。

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

コンクリート cms のスクリプト

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

具体的な cms 言語スイッチャー

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

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

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

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

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

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

フラグの定位置

Concrete 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 = '';