返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >Thinkphp3.2.3多语言翻译以及使用百度翻译的示例分析
  • 314
分享到

Thinkphp3.2.3多语言翻译以及使用百度翻译的示例分析

2024-04-02 19:04:59 314人浏览 安东尼
摘要

这篇文章将为大家详细讲解有关ThinkPHP3.2.3多语言翻译以及使用百度翻译的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、Thinkphp多语言翻译首先

这篇文章将为大家详细讲解有关ThinkPHP3.2.3多语言翻译以及使用百度翻译的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

一、Thinkphp多语言翻译

首先在Common/conf/config.php文件中写入如下内容:

<?php
return array(
    //'配置项'=>'配置值'
    //语言包配置
    'LANG_SWITCH_ON' => true, // 开启语言包功能
    'LANG_AUTO_DETECT' => true, // 自动侦测语言 开启多语言功能后有效
    'LANG_LIST' => 'zh-cn,en-us,zh-tw', //必须写可允许的语言列表
    'VAR_LANGUAGE' => 'l', // 默认语言切换变量
);
?>

然后在Common/conf文件夹下新建一个tags.php文件,写入内容:

<?php

return array(
    // 添加下面一行定义即可
    'app_begin'     => array('Behavior\CheckLangBehavior'),  
);
?>

当然还要写入自己的语言包文件,在Think/Lang/下面有四个语言包文件,你可以在这四个或新建语言包文都可以,或者你在模块下面新建一个Lang文件夹,比如Home/Lang,在下面新增zh-cn.php,en-us.php等等语言包文件。简体中文语言包可以这样写如下:

<?php


return array(
    '_Login' => "登录",
);

英文语言包可以这样写如下:

<?php


return array(
    '_Login' => "Login",
);

然后随便在一个页面,写入如下内容:

{$Think.lang._Login}

最后在浏览器访问该页面,即可看到,比如在地址栏输入如下URL:

Http://localhost/index.php?l=zh-cn
http://localhost/index.php?l=en-us

这样就可以看到中英文切换了,大家可以自己试一试。

二、使用百度翻译

我这里说的百度翻译并不是在http://fanyi.baidu.com/这个网址中输入内容点击翻译这样的,这里我是以代码的形式利用CURL进行翻译的。

翻译文件放在/Home/Common/function.php中,内容如下:

<?php
class Translate {
    
    static $Lang = Array (
        'auto' => '自动检测',
        'en' => '英语',
        'zh' => '中文',
        'cht' => '中文繁体',
    );
    
    static function getLang() {
        return self::$Lang;
    }
    
    static function exec($text, $from = 'zh', $to = 'en') {
        $url = "http://fanyi.baidu.com/v2transapi";
        $data = array (
            'from' => $from,
            'to' => $to,
            'query' => $text
        );
        $data = http_build_query ( $data );
        $ch = curl_init ();
        curl_setopt ( $ch, CURLOPT_URL, $url );
        curl_setopt ( $ch, CURLOPT_REFERER, "http://fanyi.baidu.com" );
        curl_setopt ( $ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (windows NT 6.1; rv:37.0) Gecko/20100101 Firefox/37.0' );
        curl_setopt ( $ch, CURLOPT_HEADER, 0 );
        curl_setopt ( $ch, CURLOPT_POST, 1 );
        curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data );
        curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
        curl_setopt ( $ch, CURLOPT_TIMEOUT, 5 );
        $result = curl_exec ( $ch );
        curl_close ( $ch );
        $result = JSON_decode ( $result, true );
        // 出错状态码 999
        if ($result ['error']) {
            return false;
        }
        return $result ['trans_result'] ['data'] ['0'] ['dst'];
    }
}
?>

大家可以根据自己的需求对其进行修改。

echo Translate::exec ( "大家好","zh",“en”); //这里输出是:Hello everyone

这样就翻译成功了。

关于“Thinkphp3.2.3多语言翻译以及使用百度翻译的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: Thinkphp3.2.3多语言翻译以及使用百度翻译的示例分析

本文链接: https://lsjlt.com/news/80262.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Thinkphp3.2.3多语言翻译以及使用百度翻译的示例分析
    这篇文章将为大家详细讲解有关Thinkphp3.2.3多语言翻译以及使用百度翻译的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、Thinkphp多语言翻译首先...
    99+
    2024-04-02
  • C#调用百度翻译实现翻译HALCON的示例
    目录准备工作参数简介输入参数输出参数使用HttpClient翻译工具类应用:翻译HALCON的示例描述准备工作 HALCON示例程序的描述部分一直是英文的,看起来很不方便。我决定汉化...
    99+
    2024-04-02
  • 利用go语言和百度翻译API实现中冰岛文翻译
    要利用Go语言和百度翻译API实现中文到冰岛文的翻译,你可以按照以下步骤进行操作:1. 首先,你需要在百度翻译开放平台上注册一个账号...
    99+
    2023-10-12
    Go语言
  • 用go语言开发百度翻译API实现中印尼文互相翻译
    要使用Go语言开发百度翻译API实现中印尼文互相翻译,你需要进行以下步骤:1. 在百度翻译开放平台注册账号,并创建一个应用,获取到A...
    99+
    2023-10-12
    Go语言
  • python利用有道翻译实现"语言翻译器"的功能实例
    实例如下: import urllib.request import urllib.parse import json while True: content = input('请输入需要翻译的内...
    99+
    2022-06-04
    翻译器 实例 语言
  • Android开发使用strings.xml多语言翻译解决方案
    目录概述使用步骤1 XML转XLS2 XLS转XML英文日文韩文概述 在实际项目开发中如果需要支持多语言,我们需要整理项目中所有的字符串并翻译成对应的语种放在相应的文件夹下,就像这样...
    99+
    2024-04-02
  • PHP 多语言翻译:让你的应用会说各国语言
    随着全球化的发展,应用跨越国界和语言障碍变得至关重要。通过提供多语言翻译,企业可以扩大其用户群,提高用户体验并增加应用的竞争力。 多语言翻译的优势 扩大用户群:多語言翻譯使企業能夠接觸到更廣泛的受眾,包括不懂應用原生語言的用戶。 提升用戶...
    99+
    2024-04-02
  • Android开发使用strings.xml多语言翻译的方法是什么
    这篇“Android开发使用strings.xml多语言翻译的方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“And...
    99+
    2023-07-02
  • dreamweaver翻译器没有被装载错误的示例分析
    小编给大家分享一下dreamweaver翻译器没有被装载错误的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!在使用dreamweaver出现以下错误:一打开dw弹出错误信息,以下翻译器没有被装载,由于错误asp.h...
    99+
    2023-06-08
  • C语言中程序编译系统的示例分析
    这篇文章主要介绍C语言中程序编译系统的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!程序的翻译环境和执行环境在ANSI C的任何一种实现中,存在两个不同的环境 :第1种是翻译环境,在这个环境中源代码被转换为可...
    99+
    2023-06-29
  • WebStorm ES6语法支持设置&babel使用及自动编译的示例分析
    这篇文章将为大家详细讲解有关WebStorm ES6语法支持设置&babel使用及自动编译的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、语法支持设置...
    99+
    2024-04-02
  • Vue3.0新特性以及使用的示例分析
    这篇文章给大家分享的是有关Vue3.0新特性以及使用的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。为什么要升级 Vue3使用 Vue2.x 的小伙伴都熟悉,Vue2.x...
    99+
    2024-04-02
  • Go语言使用指针的示例分析
    这篇文章给大家分享的是有关Go语言使用指针的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。普通指针和C语言一样, 允许用一个变量来存放其它变量的地址, 这种专门用于存储其它变量地址的变量, 我们称之为指针...
    99+
    2023-06-20
  • Go语言非main包编译为静态库并使用的示例代码
    Go语言项目中基本上都是以源码的形式提供包,对公司或者企业而言,如果想要隐藏关键代码怎么办? 我们可以将Go的非main包编译为静态库提供给用户使用。下面以Windows为例,介绍一...
    99+
    2024-04-02
  • vue.js中vue-cli脚手架使用百度地图API的示例分析
    小编给大家分享一下vue.js中vue-cli脚手架使用百度地图API的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!第...
    99+
    2024-04-02
  • 使用R语言与多元线性回归分析计算的示例
    这篇文章主要为大家展示了“使用R语言与多元线性回归分析计算的示例”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“使用R语言与多元线性回归分析计算的示例”这篇文章吧。计算实例例 6.9 某大型牙膏制...
    99+
    2023-06-20
  • win7系统中文语言包下载及使用方法的示例分析
    这篇文章给大家分享的是有关win7系统中文语言包下载及使用方法的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体教程:1.Win7中文语言包下载(Win7 64位):Chinese (Simplifie...
    99+
    2023-06-27
  • 使用Python编程语言进行实践的示例分析
    这篇文章将为大家详细讲解有关使用Python编程语言进行实践的示例分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。其实Python真的挺有意思的,用Python用做过不少有趣好玩的事儿,这...
    99+
    2023-06-02
  • C语言中使用结构体计算内存占用的示例分析
    小编给大家分享一下C语言中使用结构体计算内存占用的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!    c语言中结构体使用是非常广泛的,但是结构体有一个问题,就是如果开头的字段属性是字符类型(c...
    99+
    2023-06-20
  • Docker中Dockerfile多阶段构建原理及使用场景的示例分析
    小编给大家分享一下Docker中Dockerfile多阶段构建原理及使用场景的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!老版本Docker中为什么不支持多个 FROM 指令在17.05版本之前的Docker,只...
    99+
    2023-06-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作