duanchai0028 2013-11-07 20:08
浏览 278
已采纳

使用PHP更改语言

I need a help with my php code. I don't know how to imrove it. On my website viewer can choose language between polish (pl) and english (en) and I want to put spanish (es) but I don't know how to do that.

Please help.

<?php
$lang = $_COOKIE['lang'];
if (!is_null($_GET['lang']) && !empty($_GET['lang'])) {
    $lang = $_GET['lang'];
}

switch ($lang) {
    case 'pl':
        setcookie('lang', 'pl');
        include('pl.php');
        break;
    case 'en':
        setcookie('lang', 'en');
        include('en.php');
        break;
    case 'es':
        setcookie('lang', 'es');
        include('es.php');
        break;
}
?>
  • 写回答

2条回答 默认 最新

  • duanhuan6857 2013-11-07 20:22
    关注

    Improved:

    <?php
    session_start();
    $lang = isset($_SESSION['lang']) ? $_SESSION['lang'] : 'en';
    if (isset($_GET['lang']) && in_array($_GET['lang'], array('en', 'esp', 'br')))
      $_SESSION['lang'] = $lang = $_GET['lang'];
    
    include_once $lang.'.php';
    var_dump($_lng['welcome']);
    

    en.php

    <?php
    $_lng = array(
                  'welcome' => 'Welcome',
                  'save' => 'Save',
                  'cancel' => 'Cancel',
                  );
    

    br.php

    <?php
    $_lng = array(
                  'welcome' => 'Bem-vindo(a)',
                  'save' => 'Salvar',
                  'cancel' => 'Cancelar',
                  );
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 AT89C51控制8位八段数码管显示时钟。
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题