SLI(Site Language Injection)-サイトで多言語をすばやく作成するためのPHPスクリプト。
おそらく、すべてのWeb開発者は、少なくとも一度はサイトで多言語を作成する必要がありました。 そして、これを行ったすべての人は、タスクの実装の退屈な作業のために「殺される」必要がある時間だけでなく、困難を完全に理解しています。
独自のソリューションを作成する前に、さまざまなプログラマーが多言語の問題をどのように解決したかに関する多くの記事を読みましたが、普遍的な解決方法を見つけた人はいませんでした。 新しいプロジェクトごとに、テキストとリンクの「ラッパー」機能を再利用し、翻訳付きのテーブルを作成し、管理パネルをアップグレードしてコンテンツをローカライズする必要がありました。 小さなサイトの作成にも時間がかかったため、説明したオプションはどれも好きではありませんでした。 最初は、翻訳されたテキストを保存/選択する機能を実装し、ローカライズのために管理パネルを変更してから、コンテンツをローカライズするための機能ですべてのテキストとリンクをラップする必要がありました。
解決すべきタスク:
- ソリューションは、システムのソースコードに干渉することなく、PHPで記述されたサイトにシームレスに接続する必要があります。
- 「ラッパー」はありません。 システム自体は、どのリンクをローカライズする必要があるか、どのテキストを目的の言語バージョンに翻訳する必要があるかを理解する必要があります。
- インストールと構成のプロセスには、最小限の労力が必要です。
- ローカライズされたバージョンは、検索エンジンでインデックスを作成する必要があります。
- ページアドレス、元のテキスト、翻訳されたテキストで検索できる便利な管理パネルが必要です。
- システムは言語の数に制限があってはなりません。
- システムは可能な限り高速に動作するはずです。
- 文字のみが異なるテキストは1回翻訳する必要があります。 たとえば、「10回購入」と「20回購入」は1回翻訳する必要があります。
タスクの解決策:
システムを接続するには、.htaccessファイル「php_value auto_prepend_file」の設定を使用します。 したがって、サイトのソースに干渉することなく、翻訳システムを接続できます。
システムが接続されています。 現在では、サイトの機能に「何も変更されていない」という方法で、作業に含まれています。
- アドレスバーからデータを傍受します。 現在選択されている言語を示す言語エイリアスの存在を確認します。 言語が選択されている場合、REQUEST_URIから言語エイリアスを削除して、サイト自体の作業で「何も変更されていない」ようにします。
- コンテンツを返すためにハンドラーを切断します:ob_start( 'SLITranslate :: autoInit');
- ハンドラーが受信したコンテンツは解析され(システム設定を考慮に入れて)、翻訳する必要があるテキストと属性が描画されます。
- データベースを検索するために、配列をインデックスに変換します(翻訳に不要な文字はすべてテキストから削除されます)。
- 1つの要求で、データベースからすべてのデータを目的の言語で取得します。
- 元のテキストを翻訳済みのテキストに置き換えます。
- ローカルエイリアスをすべてのローカルリンク、フォーム内のアクション、およびJavaSctipt-th location.hrefに追加します。 これは、サイトを使用するときに、選択した言語なしでバージョンに戻らないようにするために必要です。
- ユーザーにローカライズされたページを提供します。
よくある質問に事前に回答します。
- 「画像に書かれたラベルを翻訳する方法」 -異なる言語で画像を作成し、「変数」モジュールで置換を作成します。 「オリジナル」フィールドに写真のアドレスを入力し、翻訳フィールドに使用する各言語のローカライズされたキャプション付きの写真のアドレスを入力します。
- 「ウェブサイト上に、翻訳したくないコメント (特に重要ではない絶えず更新されるコンテンツ)のブロックがある場合はどうすればよいですか?」-翻訳者の「ポインター」として役立つコメントでこのコンテンツをラップします。 コメント内にあるコンテンツは無視され、転送されません。
- 「 サイトには翻訳する必要のないページがたくさんあります。 ”-パーサーの設定には、「アドレスを無視する」という項目があります。 必要なページをそこに書き留めます。
プログラムのセットアップと操作の詳細については、ドキュメントをご覧ください : http : //sli.su/documentation/
プログラムは、公式Webサイトhttp://sli.su/download/からダウンロードできます。
(更新を受信するために)電子メールを入力するのが面倒な場合は、直接リンク: http : //sli.su/files/models/Release/2/file/sli_ver1_0.zip
GitHub: https : //github.com/ganjar/sli