Вы можете получить список языков из sfCultureInfo
:
/*
* displayLanguage defaults to the current culture set in the session,
* or you can supply your own - to override it...
* this will return an array of all languages like array('en' => 'english')
*/
sfCultureInfo::getInstance($dipslayLanguage)->getLanguages();
Если вы используете для этого форму sf, вы также можете просто использовать удобный виджет:
//in your form
$this->widgetSchema['language'] = new sfWidgetFormI18nChoiceLanguage();
Однако вам, вероятно, не нужно связывать языки в БД, за исключением записей, которые имеют переводы, и тогда вам будет лучше использовать функции I18n для автоматической обработки всего этого за вас.Тогда все, что вам нужно сделать, это позволить пользователю увидеть культуру, и все будет волшебным образом отображаться на соответствующем языке ... Конечно, это немного сложнее, но вы можете автоматизировать большую часть работы и настройки.