私は多言語対応のCMSを持っています。ユーザーが選択した言語を変更すると、システム全体で使用される約300の単語とフレーズが変更されます。英語がデフォルト言語です。いかなる言語でも、他の言語は完全に翻訳されていない可能性があります。私は、特定の単語やフレーズが選択された言語に翻訳されていないケースバイケースで、英語版をフォールバックしたいと思っています。 (スタックオーバーフローがテーブルのhtmlタグは使用できませんので、私は順不同リストを使用して2つのレコードが表示されます)SQLのフロー制御/条件(CASE)
language_id label translation
en your_account Your Account
zh your_account 您的賬戶
主キーは、私はMariaDBにPDOを使用していますLANGUAGE_IDとラベル
です。私は上で立ち往生しています私のクエリの一部は、私が知っていれば/ケースステートメントは、以下の完全に間違っているが、それは私が達成したいものを示しています
SELECT translation_result
FROM (SELECT translation as translation_result FROM languages WHERE
label='your_account' AND language_id = 'zh')A
CASE A.translation_result IS NOT NULL ELSE
(SELECT translation as translation_result FROM languages WHERE
label='your_account' AND language_id = 'en')B
これを行うにはいくつかの方法があります。翻訳テーブルから単語を取得する典型的なクエリを例として表示できますか? –
HTMLテーブルを試す代わりに、テキストテーブルに貼り付け、ハイライト、ctl-kまたは '{}'をコードブロックとしてフォーマットしてください。デモをセットアップするには、回答者のためにコピー/ペーストするのが最も簡単です。 –