欢迎访问广东 ‧ 东莞谍赞智能科技有限公司业务官网,咨询热线:13923452579
网站地图 工具中心
登录
当前位置:首页>技能晋升>技能技巧

【多语言】网站开发过程中如何针对不同国家访客访问自己当地语言类型的官网内容呢?

  • 发布时间:2024-01-06 付涛
  • 【简述:】在给客户进行网站内容开发的过程中,总会遇到一个问题,同一个域名默认为中文后,虽然有英文或者其它语言版本,但是都需要用户手工去寻找目标语言内容的入口,然后实施跳转,相对就会比较麻烦一点;为了方便在这里经过摸索、调测,找到两个比较可靠的实际方案; 在这里汇总一下,一方面方便需要的朋友,另一个方面留个
  • 二维码
    手机扫码分享好友

    在给客户进行网站内容开发的过程中,总会遇到一个问题,同一个域名默认为中文后,虽然有英文或者其它语言版本,但是都需要用户手工去寻找目标语言内容的入口,然后实施跳转,相对就会比较麻烦一点; 

    为了方便在这里经过摸索、调测,找到两个比较可靠的实际方案; 在这里汇总一下,一方面方便需要的朋友,另一个方面留个备注,以便日后使用; 

    1、不同语言版本根据访客ID国家不同,自动识别并跳转到对应语言网站版本里面;

    <!--当网站有多个语言版本,通过当前电脑网络IP判断国家代码,实现同一域名自动跳转当地语言版本网站的效果-->
    <?php
    // Step 1: 获取用户的IP地址
    $user_ip = $_SERVER['REMOTE_ADDR'];
    // 输出当前IP
    echo "当前IP地址:" . $user_ip;
    // Step 2: 使用免费的IP接口查询用户所在国家或地区
    $api_url = 'http://ip-api.com/php/' . $user_ip; // 替换为实际的免费IP接口地址
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $api_url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $response = curl_exec($ch);
    curl_close($ch);
    echo "<br><br>API返回字符串:" . $response;
    $data = unserialize($response);
    // Step 3: 确定用户所在国家或地区
    // Step 3: 确定用户所在国家或地区
    // 这里以简单的示例,只列举了部分国家或地区与语言和对应的网站URL版本,
    // 你可以根据实际需求添加更多的语言和对应关系
    $language = 'CN'; // 中国 - 简体中文
    $redirect_url = 'https://www.baidu.com'; // 中文版网站URL
    if ($data && isset($data['countryCode'])) {
        $countryCode = $data['countryCode'];
        
        if ($countryCode == 'US') {
            $language = 'en'; // 英语 - 英语
            $redirect_url = 'https://www.google.com/'; // 英语版网站URL
        } elseif ($countryCode == 'JP') {
            $language = 'ja'; // 日本 - 日语
            $redirect_url = 'https://www.google.jp'; // 日语版网站URL
        } elseif ($countryCode == 'FR') {
            $language = 'fr'; // 法国 - 法语
            $redirect_url = 'https://www.google.fr'; // 法语版网站URL
        }
        // 可以继续添加更多的国家或地区与语言和对应的网站URL版本
    }
    // Step 4: 设置网站语言版本的cookie
    setcookie('language', $language, time() + (86400 * 30), '/'); // 存储用户的语言偏好,有效期为30天
    // Step 5: 重定向用户到对应的语言版本URL
    header('Location: ' . $redirect_url);
    exit;
    ?>

    适用类型:当网站有多个语言版本的系统,并已经开发完拥有独立的入口链接; 

    将上述中涉及到的不同语言URL链接替换成多语言中不同语言的入口链接就可以了; 


    2、相同一个网站根据访客ID国家不同,自动识别并自动翻译当前网站内容为对应国家语言;

    <?php
    // Step 1: 获取用户的IP地址
    $user_ip = $_SERVER['REMOTE_ADDR'];
    // 输出当前IP
    echo "当前IP地址:" . $user_ip;
    // Step 2: 使用免费的IP接口查询用户所在国家或地区
    $api_url = 'http://ip-api.com/php/' . $user_ip; // 替换为实际的免费IP接口地址
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $api_url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $response = curl_exec($ch);
    curl_close($ch);
    $data = unserialize($response);
    // Step 3: 确定用户所在国家或地区
    // 这里以简单的示例,只列举了部分国家或地区与语言和对应的网站URL版本,
    // 你可以根据实际需求添加更多的语言和对应关系
    $languagemoren = 'zh-CN'; // 中国 - 简体中文
    if ($data && isset($data['countryCode'])) {
        $countryCode = $data['countryCode'];
        
        if ($countryCode != 'CN') {
            // 根据国家代码设置对应的语言参数
            $language = '';
            if ($countryCode == 'US') {
                $language = 'en';
            } elseif ($countryCode == 'JP') {
                $language = 'ja';
            }
            
            if ($language) {
                // 使用谷歌翻译的API将页面内容翻译成当地语言
                $target_url = 'https://translate.google.com/translate?sl=auto&tl=' . $language . '&hl=' . $languagemoren . '&u=' . urlencode('http://www.baidu.com') . '&client=webapp';
                echo $target_url;
            } else {
                $target_url = 'http://www.baidu.com';
            }
        } else {
            $target_url = 'http://www.baidu.com';
        }
    }
    // Step 5: 重定向用户到对应的语言版本URL
    header('Location: ' . $target_url);
    exit;
    ?>

    适用类型:当网站只有一个语言比如中文时,客户又不愿意多掏成本开发独立语言的其它语言版本,则可以使用此方案;

    如果网站访客是日本,则自动将当前中文翻译成日语后展示给客户; 

    如果网站访客是美国,则自动将当前中文翻译成英语后展示给客户; 

     如果网站访客是越南,则自动将当前中文翻译成越南语后展示给客户; 


    三、将上述固定www.baidu.com替换成当前网页链接; 

    修改一:添加获取当前URL的参数

    在上述代码中找到以下代码:

    echo "当前IP地址:" . $user_ip;

    在以下这句代码后面增加:

    $localurl = $_SERVER['REQUEST_URI'];
    echo "当前页面链接地址:" . $localurl;

    修改二:修改重新构建链接

    找到以下代码:

            if ($language) {
                // 使用谷歌翻译的API将页面内容翻译成当地语言
                $target_url = 'https://translate.google.com/translate?sl=auto&tl=' . $language . '&hl=' . $languagemoren . '&u=' . urlencode('http://www.baidu.com') . '&client=webapp';
                echo $target_url;
            } else {
                $target_url = 'http://www.baidu.com';
            }

    然后此上述段代码使用以下代码替换并保存

    if ($language) {
        // 使用谷歌翻译的API将页面内容翻译成当地语言
        $target_url = 'https://translate.google.com/translate?sl=auto&tl=' . $language . '&hl=' . $languagemoren . '&u=' . urlencode($localurl) . '&client=webapp';
        echo $target_url;
    } else {
        $target_url = $localurl;
    }


    四、关于国家代码与国家语言参数表

    下面整理了用的比较多的一些国家的代码和参数表,大家使用中可以参考:

    国家/地区国家代码语言参数
    美国USen
    南非ZAen
    香港HKzh
    新加坡SGen,zh
    德国DEde
    荷兰NLnl
    阿联酋AEar,en
    泰国THth
    英国GBen
    日本JPja
    马来西亚MYms
    越南VNvi
    埃及EGar
    法国FRfr
    澳洲AUen
    巴西BRpt
    柬埔寨KHkm
    加拿大CAen,fr
    印尼IDid
    巴林BHar
    印度INhi,en
    加纳GHen
    菲律宾PHen,fil
    沙特阿拉伯SAar
    尼日尼亚NGen
    俄罗斯RUru
    中国CNzh
    白俄罗斯BYbe
    肯尼亚KEen,sw
    哈萨克斯坦KZkk
    墨西哥MXes
    韩国KRko
    瑞典SEsv
    西班牙ESes
    芬兰FIfi
    波兰PLpl
    以色列ILhe
    智利CLes


    五、国际化,网页自动翻译

    国际化,网页自动翻译,同谷歌浏览器自动翻译的效果,适用于网站。 

    v2 版本:res.zvo.cn/translate/demo.html

    v1 版本:https://res.zvo.cn/translate/demo_v1.html


    RPA应用推荐浏览

    内容链接:https://www.diebaoyun.com/jinengjiqiao/554.html
    内容标题:【多语言】网站开发过程中如何针对不同国家访客访问自己当地语言类型的官网内容呢?
    内容版权:当前文章由【付涛】本人原创开发与文案内容写作,内容版权归当前平台所有,如需转载,请务必注明来源,谢谢合作!
    本文最后更新发布于【2024-01-06】,某些文章具有时效性,若有错误或已失效,请在联系客服
    争议处理:针对本站内容若有异义,亦可直接与【法律顾问:易兴俊,律师联系电话:13825799821】直接联系沟通;
  • 当前文章TAGS标签:
  • 上一篇:抖音平台实施自动化过程中常用到的快捷键下一篇:电脑系统开机后,影刀如何自动运行指定RPA应用?