2012-04-30 39 views
0

我正在爲我的Codeingiter/PHP應用程序添加多種語言支持,並試圖確定一種處理圖像的好方法。在PHP/Codeigniter中使用多種語言的動態圖像選擇

對於文本我使用國際化和Codeingiter的母語語言課程。

動態圖像選擇建議代碼:

if ($this->uri->segment(1) == 'br') { Brazilian image link } else { English image link } 

對於CSS文件中的圖片,我打算在處理它們的PHP文件,然後使用與上述相同的代碼。

這種方法有沒有什麼潛在的缺陷?這看起來很麻煩,想知道這是否是一種更有效的方法。

回答

0

我沒有看到任何使用PHP或其他腳本語言來變量CSS的方法。這個頁面可能會給你一些想法。

How to Add Variables to Your CSS Files

+0

謝謝。這幾乎是我的想法。感謝您的確認,鏈接看起來相當不錯。 – jsuissa

1

我建議存儲在會話語言和根據URI的分段修改它。在構造函數中執行此操作將在您的代碼中爲您節省很多ifelse

爲了動態加載圖像,請使用這種命名約定:imagename_lang.ext,IE:homepage_br.jpg

裝貨將是這樣的:echo "homepage_$this->session->userdata('lang').jpg"或者,如果你在一個變量第一存儲這樣的: echo "homepage_$lang.jpg"

對於在CSS圖像,CSS文件分爲三個:

  1. 風格.css - 存儲所有不是語言敏感的樣式。
  2. style_en.css - 存儲英文版的所有圖像。
  3. style_br.css - 存儲巴西版本的所有圖像。

這樣,當您包含相應的CSS文件時,您只需對語言進行一次檢查即可。