Depolamak ve en hızlı yolu

1 Cevap php

Ben farklı dillerde çalışmak için sitemizi yükseltme üzerinde çalışıyorum.

Planım Mulitple dilde metin paragraf saklayabilir ve her paragraf bir tanımlayıcı vermektir.

Example
id => '1'
brief => 'welcome_paragraph'
en => 'Welcome to our website!'
de => 'Willkommen auf unserer Website!'

Gereksinimler

  • hızla retreived
  • her zaman CMS ile düzenlenmiş
  • yeni diller eklemek için kolay

Yani bir veritabanı tablosundaki bu depolamak için en iyi çözüm nedir? Ve eğer öyleyse, aşağıdakilerden hangisine en iyi masa kurulum:

Bir tablo, her bir kısa için her dil ve satır için bir sütun:

ID, brief, en, de, es

Ya da iki tablo, breifs ile bir, çevirileri ile bir:

ID, brief

ID, language, translation

Her sayfasında, ben yapmak niyetinde ....

echo $ sayfa-> çevirmek ($ dil, $ kısa);

Metin gerektiren parça dışarı çıkarmak için birden çok kez .... Bu ile bir veritabanı arama tutmak için yavaş olacaktır:

SELECT translation FROM translations 
WHERE language = 'es' AND brief = 'welcome_paragraph'
LIMIT 1

Her sayfada birden çok kez? Flatfile olarak depolamak için daha iyi bir yolu bu nedenle var mı? Veya on update çeviriler büyük bir dizi içeren oluşturulan bir PHP dosyası?

$english = array(
'message1' => 'message1',
'message2' => 'message2',
'message3' => 'message3');


$german = array(
'message1' => 'Nachricht1',
'message2' => 'Nachricht2',
'message3' => 'Nachricht3');

Much like the example on the Zend Translate page I'm not considdering using Zend Translate at this time... I assume there is a cost to it?

1 Cevap

http://php.net/manual/en/book.gettext.php çoklu dil site için the çözüm

Eğer eylem gettext izlemek için wordpress de bir göz atabilirsiniz.