PHP でデータベース コンテンツを含む多言語設計を実装するにはどうすればよいですか?
これをやった人はいますか? (APPLE の公式 Web サイトのコンテンツの多言語切り替えと同様) 助けていただけますか、ありがとう
ディスカッションへの返信 (解決策)
みんなはどうやってそれを達成しましたか?フィールドを使用しますか?データベースを切り替えますか?スイッチテーブル?または、他の何か?
テーブル内のフィールドに単語を追加します。
例:
sc_title、en_title、tc_title
多言語インターフェイスまたは多言語コンテンツ?
テーブルのフィールドに単語を追加します。
例:
sc_title、en_title、tc_title
このアプローチは非常に信頼性が高くありません。言語を追加するときにフィールドを追加する必要がありますか? データベースを変更せずに言語を変更する方法
テーブル: res (id, .. .)
テーブル: res_lang (id, res_id, language, content...)
テーブルを追加するということはデータベースを変更することを意味するのではありませんか?
データベースを変更せずに言語を変更する方法
テーブル: res (id, ...)
テーブル: res_lang (id, res_id, language, content...)
テーブルを追加する必要がありますか言語を追加するには
テーブルを追加するということはデータベースを変更することを意味するのではありませんか?
データベースを変更せずに言語を変更する方法
テーブル: res (id, ...)
テーブル: res_lang (id, res_id, language, content...)
この使用法では追加する必要はありません上記のテーブル
フィールドやタグを追加する必要はありません。次のようにテーブルをデザインするだけです
以前にこれを行いました:
CREATE TABLE `article` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `albumID` int(11) DEFAULT NULL, `category` mediumint(8) unsigned NOT NULL DEFAULT '0', `title` varchar(120) NOT NULL, `uid` int(10) unsigned NOT NULL DEFAULT '0', `description` mediumtext NOT NULL, `content` text NOT NULL, `puttime` int(10) unsigned NOT NULL DEFAULT '0', `listorder` int(10) unsigned NOT NULL DEFAULT '999', `lang` varchar(20) NOT NULL DEFAULT 'zh_cn', PRIMARY KEY (`id`), KEY `category` (`category`), KEY `lang` (`lang`) ) ENGINE=MyISAM AUTO_INCREMENT=5961 DEFAULT CHARSET=utf8
lang フィールドは、さまざまな言語とすべての言語を識別するために使用されます。は、このテーブルに保存されます
フィールドを追加するか、テーブルを追加することで、異なる言語のコンテンツを簡単に関連付けることができます
レコードを使用して保存することを賢く考えている場合、結果はアクセス オーバーヘッドが増加するだけです
フィールドやテーブルを追加することで、異なる言語を簡単に関連付けることができます。コンテンツは相互に関連付けられています
レコードを使用して保存することを賢明に考えている場合、結果はアクセス オーバーヘッドが無駄に増加するだけです
このタイプのデータの 99% をキャッシュに保存する必要があります。このクエリではどのくらいのオーバーヘッドが増加する可能性がありますか?
インターフェイスが多言語になっているだけでしょうか?
ドイツ語インターフェースで日本の記事を読めるのは誰ですか?
フィールドやテーブルを追加することで、異なる言語のコンテンツを簡単に関連付けることができます
レコードを使用して保存するのが賢明だと思っている場合、結果はアクセス オーバーヘッドの無駄な増加にすぎません
99%このタイプのデータをキャッシュに保存する必要がある場合、このクエリにはどのくらいのオーバーヘッドが追加されますか?
インターフェースが多言語対応しているだけでしょうか?
ドイツ語インターフェースで日本の記事を読めるのは誰ですか?
フィールドやテーブルを追加すると、異なる言語のコンテンツを簡単に関連付けることができます
レコードと一緒に保存することが賢明であると考えている場合、結果はアクセス オーバーヘッドの無駄な増加にすぎません
このタイプのデータ99 % をキャッシュに保存する必要があります。このクエリではどのくらいのオーバーヘッドが追加されますか?
奇妙なことに、記事がキャッシュできないのですか?
具体的な解決策は製品の要件によって異なります
公開データをできる限り再利用します
たとえば、複数の言語でタイトルとコンテンツのみが必要で、画像が共有できる場合は、フィールドを分割します
ニュースの場合異なる言語で出版されているものはまったく異なるので、分けてください 独立した記録としてください
モデルが異なる場合は、テーブルの分割を検討してください

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

PHPロギングは、Webアプリケーションの監視とデバッグ、および重要なイベント、エラー、ランタイムの動作をキャプチャするために不可欠です。システムのパフォーマンスに関する貴重な洞察を提供し、問題の特定に役立ち、より速いトラブルシューティングをサポートします

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。
