0

我正在向我的 Codeingiter/PHP 应用程序添加多语言支持,并且我正在尝试确定一种处理图像的好方法。

对于文本,我使用 i18n 和 Codeingiter 的本地语言类。

动态图像选择的建议代码:

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

对于 CSS 文件中的图像,我计划将它们作为 PHP 文件处理,然后使用与上述相同的代码。

这种方法有任何潜在的缺陷吗?看起来很麻烦,想知道这些是否是一种更有效的方法。

4

2 回答 2

1

我建议将语言存储在会话中并根据 URI 的段进行修改。if在构造函数中执行此操作将为您节省很多else代码。

为了动态加载图像,请使用以下命名约定:imagename_lang.ext、 IE: homepage_br.jpg

加载将如下所示:echo "homepage_$this->session->userdata('lang').jpg"或者如果您首先将其存储在这样的变量中: echo "homepage_$lang.jpg"

对于 CSS 中的图像,将 CSS 文件分成三份:

  1. style.css - 存储所有对语言不敏感的样式。
  2. style_en.css - 存储英文版的所有图像。
  3. style_br.css - 存储巴西版本的所有图像。

这样,当您包含适当的 CSS 文件时,您只需对语言进行一次检查。

于 2012-05-01T08:07:29.793 回答
0

我没有看到任何使用 PHP 或其他脚本语言来获得可变 CSS 的方法。这个页面可能会给你一些想法。

如何向 CSS 文件添加变量

于 2012-04-30T23:23:28.407 回答