zoukankan      html  css  js  c++  java
  • [Go] GO语言实战-gin框架项目实现中英文切换

    如果项目中需要有多语言的展示,类似网站中英文切换,可以使用下面这个方法来实现

    主要思路就是,页面html内容展示的时候,不能固定写死在页面上,需要从控制器部分分配过来变量,展示输出这个变量

    这个变量的内容来自一个结构体的成员,该结构体在创建实例的时候,可以根据传递参数的不同,实例的成员内容不同

    实际展示的地址是:

    http://gofly.sopans.com/

    直达地址

    控制器部分就是分配变量,在这里是通过get传递lang这个参数cn就是中文,en就是英文

    engine.GET("/index", tmpl.PageIndex)
    
    //首页
    func PageIndex(c *gin.Context) {
        lang := c.Query("lang")
        if lang == "" ||lang!="cn"{
            lang = "en"
        }
        language:=config.CreateLanguage(lang)
        c.HTML(http.StatusOK, "index.html", gin.H{
            "Copyright":language.WebCopyRight,
            "WebDesc":language.MainIntro,
            "SubIntro":language.IndexSubIntro,
            "Document":language.IndexDocument,
            "VisitorBtn":language.IndexVisitors,
            "AgentBtn":language.IndexAgent,
            "OnlineChat":language.IndexOnlineChat,
            "IndexSend":language.Send,
            "Lang":lang,
        })
    }

    langguage这个结构体部分,根据不同的参数,创建不同的实例成员

    package config
    
    type Language struct {
        WebCopyRight string
        MainIntro string
        Send string
        Notice string
        IndexSubIntro,IndexVisitors,IndexAgent,IndexDocument,IndexOnlineChat string
    }
    
    func CreateLanguage(lang string)*Language{
        var language *Language
    
        if lang=="en"{
            language=&Language{
                WebCopyRight: "TaoShihan",
                MainIntro: "Simple and Powerful Go language online customer chat system",
                IndexSubIntro: "GO-FLY, a Vue 2.0-based online customer service instant messaging system for PHP engineers and Golang engineers",
                IndexDocument:"API Documents",
                IndexVisitors:"Visitors Here",
                IndexAgent:"Agents Here",
                IndexOnlineChat:"Let’s chat. - We're online",
                Send:"Send",
                Notice:"Hello and welcome to go-fly - how can we help?",
            }
        }
        if lang=="cn"{
            language=&Language{
                WebCopyRight: "陶士涵的菜地版权所有",
                MainIntro:"极简强大的Go语言在线客服系统",
                IndexSubIntro:"GO-FLY,一套为PHP工程师、Golang工程师准备的基于 Vue 2.0的在线客服即时通讯系统",
                IndexVisitors:"访客入口",
                IndexAgent:"客服入口",
                IndexDocument:"接口文档",
                IndexOnlineChat:"在线咨询",
                Send:"发送",
                Notice:"欢迎您访问go-fly!有什么我能帮助您的?",
            }
        }
        return language
    }

      

    
    
  • 相关阅读:
    VB Treeview控件 介绍与使用
    基于V4L2的视频驱动开发
    Jlinkv8 灯不亮重新烧写固件的办法
    使用JLink间接烧写S3C2410、S3C2440开发板Nor、Nand Flash的方法
    linux 开机自动执行脚本或者一些指定的程序
    FrameBuffer编程二(简单程序下)
    c语言内存分配函数
    FrameBuffer编程二(简单的程序上)
    FrameBuffer编程一(数据结构)
    mmap函数介绍
  • 原文地址:https://www.cnblogs.com/taoshihan/p/13376908.html
Copyright © 2011-2022 走看看