首页 文章

使用CSS和PHP实现多语言

提问于
浏览
2

我正在构建一个小型站点,需要为同一页面支持2种语言 .
每种语言在页面上都有不同的按钮,按钮基本上是一些带有文本的图像 . 按钮的定位使用CSS文件完成,每个语言一个 . 问题是如何为每个图像实现按钮的更改 . 我可以放一个php if语句,并使用其他一些src如果lang ==英语或其他东西如果lang ==俄语,或者可以用css文件实现这个(我可以用div做这个并在CSS中设置它的背景)?
你会推荐什么?

干杯 .

2 回答

  • 0

    您可以创建三个CSS文件:

    • 一个用于英文按钮

    • 一个俄罗斯按钮

    • 其余的一个

    这基本上可以这样工作:例如,您可以使用后备名称创建按钮

    <button id="button_ok">OK</button>
    

    并在您的英语/俄语CSS文件中定义不同的背景图像:

    (english.css)

    #button_ok {
      background-image: url(images/buttons/eng/ok.gif);
    }
    

    和(russian.css)

    #button_ok {
      background-image: url(images/buttons/rus/ok.gif);
    }
    

    选择语言时不会更改的所有其他元素都在第三个文件中:

    p {
      font-size: 1em; /* whatever*/
    }
    

    最后一步是在每个页面的顶部选择要加载的文件:

    if ($_GET['lang'] == 'eng')
        $cssFile = 'english.css';
    elseif ($_GET['lang'] == 'rus')
        $cssFile = 'russian.css';
    

    并在头脑中包含特殊和通用的css文件:

    <link rel="stylesheet" type="text/css" href="general.css" />
    <link rel="stylesheet" type="text/css" href="<?php echo $cssFile; ?>" />
    
  • 3

    我建议通过设置按钮的背景和大小来使用CSS .

    使用<button>标签,它更好,因为您可以使用像“按钮{}”这样的CSS,而无需在其上放置类 . 只是提醒<button>有类似输入的类型,如果我没记错的话,它是默认的“提交” .

    顺便说一下,总是试着依赖CSS而不是PHP,因为在下一个manutenance你会很高兴你做到了 .

    或者,如果你要使用PHP,尝试使用函数而不是硬编码,即使只是一个按钮,我们也不知道以后是否会使用它 .

    希望它有所帮助,

相关问题