SLI-サイトで多言語の迅速な作成

こんにちは、Habrachelovek! ガンジャープログラマーのリクエストに応じて投稿を公開します。 彼は私たちのオンラインストアが多言語主義をこのSLIにするのを手伝ってくれました。これについては後で説明します。 コメントで、彼はすべての質問に答えます。



SLI(Site Language Injection)-サイトで多言語をすばやく作成するためのPHPスクリプト。



おそらく、すべてのWeb開発者は、少なくとも一度はサイトで多言語を作成する必要がありました。 そして、これを行ったすべての人は、タスクの実装の退屈な作業のために「殺される」必要がある時間だけでなく、困難を完全に理解しています。



独自のソリューションを作成する前に、さまざまなプログラマーが多言語の問題をどのように解決したかに関する多くの記事を読みましたが、普遍的な解決方法を見つけた人はいませんでした。 新しいプロジェクトごとに、テキストとリンクの「ラッパー」機能を再利用し、翻訳付きのテーブルを作成し、管理パネルをアップグレードしてコンテンツをローカライズする必要がありました。 小さなサイトの作成にも時間がかかったため、説明したオプションはどれも好きではありませんでした。 最初は、翻訳されたテキストを保存/選択する機能を実装し、ローカライズのために管理パネルを変更してから、コンテンツをローカライズするための機能ですべてのテキストとリンクをラップする必要がありました。



解決すべきタスク:





タスクの解決策:



システムを接続するには、.htaccessファイル「php_value auto_prepend_file」の設定を使用します。 したがって、サイトのソースに干渉することなく、翻訳システムを接続できます。



システムが接続されています。 現在では、サイトの機能に「何も変更されていない」という方法で、作業に含まれています。



  1. アドレスバーからデータを傍受します。 現在選択されている言語を示す言語エイリアスの存在を確認します。 言語が選択されている場合、REQUEST_URIから言語エイリアスを削除して、サイト自体の作業で「何も変更されていない」ようにします。
  2. コンテンツを返すためにハンドラーを切断します:ob_start( 'SLITranslate :: autoInit');
  3. ハンドラーが受信したコンテンツは解析され(システム設定を考慮に入れて)、翻訳する必要があるテキストと属性が描画されます。
  4. データベースを検索するために、配列をインデックスに変換します(翻訳に不要な文字はすべてテキストから削除されます)。
  5. 1つの要求で、データベースからすべてのデータを目的の言語で取得します。
  6. 元のテキストを翻訳済みのテキストに置き換えます。
  7. ローカルエイリアスをすべてのローカルリンク、フォーム内のアクション、およびJavaSctipt-th location.hrefに追加します。 これは、サイトを使用するときに、選択した言語なしでバージョンに戻らないようにするために必要です。
  8. ユーザーにローカライズされたページを提供します。


よくある質問に事前に回答します。







プログラムのセットアップと操作の詳細については、ドキュメントをご覧ください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



All Articles