【问题标题】:Implementing multi languages with CSS and PHP使用 CSS 和 PHP 实现多语言
【发布时间】:2023-04-05 17:24:01
【问题描述】:

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

干杯。

【问题讨论】:

    标签: php css multilingual


    【解决方案1】:

    您可以创建三个 CSS 文件:

    • 一个用于英文按钮
    • 一个用于俄语按钮
    • 剩下的一个

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

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

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

    (英文.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; ?>" />
    

    【讨论】:

    • 我不想使用
    • 如果您只想显示图像而不让用户点击它,您可以简单地使用 div 元素。因此,您只需使用&lt;div ...,而不是&lt;button ...。然后,您必须在 css 类中定义宽度和高度,否则它会按上述方式工作
    • 是的,这就是我最后使用的解决方案,谢谢。但我认为这是错误的,因为它让你必须设置宽度和高度(我闻起来很腥)
    • 从严格的角度来看,在css中设置宽度和高度(这是一个样式的东西)是唯一正确的解决方案;-)
    【解决方案2】:

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

    使用

    顺便说一句,总是尝试依赖 CSS 而不是 PHP,因为在下一次维护中你会很高兴你做到了。

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

    希望对你有帮助,

    【讨论】:

    • 根本不回答问题。
    • 大声笑? (我可以用一个 div 来做到这一点,并在 CSS 中设置它的背景)。他知道该怎么做,他在问最好的方法,用 PHP 或 CSS,我给了他我认为最好的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多