2010-11-10 52 views
1

我有這兩個表(簡體)關聯:Symfony的1.4:多語言的表

Website: 
    columns: 
    user_id:   { type: integer, notnull: true } 
    domain_name:  { type: string(30), notnull: true, unique: true } 

WebsiteLanguage: 
    columns: 
    website_id: { type: integer, notnull: true } 
    language: { type: string(5), notnull: true, country: true } 
    indexes: 
    website_id_language: 
     fields: [website_id, language] 
     type: unique 

就像你看到的,我想給一個或多個語言我的網站相關聯。我不想翻譯這些網站,我只想將它們與我想爲國家做的語言聯繫起來。

我需要顯示一個網站表單,其中包含與語言一樣多的複選框。語言不在桌子上,所以我不知道該怎麼做!如果你使用的一個科幻的形式爲這你也可以只使用便利的小部件

/* 
* 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(); 

回答

0

您可以從sfCultureInfo獲得語言列表

//in your form 

$this->widgetSchema['language'] = new sfWidgetFormI18nChoiceLanguage(); 

不過,你可能不需要在語言的分貝,除了在有翻譯,然後你們會有最好使用國際化功能來自動處理這一切都爲你記錄相關聯。然後,所有你需要做的就是讓用戶siwthc文化和一切會奇蹟般地出現在正確的語言......就算它比這要複雜一些,但您可以自動化最繁重的工作和設置。

+0

非常感謝您的回覆,但我不知道這就是我要找的;)當我編輯的網站形式,我想有很多的複選框(與價值觀「FR」,「恩」 ,'sp'等)。如果我檢查'fr'和'en',我需要symfony在我的WebsiteLanguage表中創建2個條目,將這兩種語言與我的網站相關聯。 – Manu 2010-11-10 09:09:45

+0

我不需要翻譯我的網站;)我只需要知道哪些語言可在我的網站。如果我想許多國家到我的網站(也許我的問題會比較清楚)相關聯,我可以有同樣的問題。 – Manu 2010-11-10 09:22:51