Многоязычный сайт

shtoss

Новичок
Здравствуйте!

Я новичок в php и msql. Пишу для себя сайт. Я решил сделать версии сайта на разных языках. Если нужно вывести какую-то фразу на странице, выполняется следующая функция:

PHP:
function put_phrase ($phrase_id, $language) {
	$query = 'SELECT * FROM languages WHERE id="'.$phrase_id.'"';
	$create_phrase_result = mysql_query($query) or die("Invalid query: " . mysql_error());
	$create_phrase = mysql_fetch_array($create_phrase_result);
	$phrase = $create_phrase[$language];
	if ($phrase == NULL) {
		$phrase = $create_phrase[en];
	} 
	echo $phrase;
}
У таблицы languages первый столбец - это некий id фразы (например, index_description), а остальные столбцы - это перевод фразы на разные языки. Если перевода не существует, то используем английскую фразу.

Мой вопрос: насколько такое решение правильное? Ведь, если на странице 20 фраз, то мы дергаем базу 20 раз.
И при этом мы загружаем фразы, которые явно никогда не будут использованы. Т.е. если мы находимся на русской версии сайта, то нам понадобятся русская или английская фразы, но никогда не понадобится китайская.
 

fixxxer

К.О.
Партнер клуба
translations
phrase_id | language_id | phrase


select phrase from translations where language_id = $language_id and phrase_id in (1,20,304)
 
Сверху