Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pelaksanaan pengantarabangsaan aplikasi web pembelajaran Golang

Pelaksanaan pengantarabangsaan aplikasi web pembelajaran Golang

WBOY
WBOYasal
2023-06-24 12:15:32811semak imbas

Dengan trend globalisasi, pengantarabangsaan telah menjadi semakin penting, dan aplikasi web tidak terkecuali. Apabila membangunkan aplikasi web, kita perlu mereka bentuk aplikasi untuk menyokong bahasa dan budaya yang berbeza Ini adalah pengantarabangsaan. Khususnya, apabila aplikasi menggunakan pangkalan kod yang sama di kawasan dan budaya yang berbeza, mereka boleh menukar teks dan bahasa secara automatik untuk menyesuaikan diri dengan lebih baik kepada keperluan pengguna yang berbeza.

Golang, sebagai bahasa pengaturcaraan yang sangat popular, juga boleh digunakan untuk melaksanakan pengantarabangsaan aplikasi web. Dalam artikel ini, saya akan memperkenalkan cara menggunakan Golang untuk melaksanakan fungsi pengantarabangsaan aplikasi web.

Langkah 1: Pasang pakej Golang yang diperlukan

Untuk mencapai pengantarabangsaan aplikasi web, kami perlu memasang beberapa pakej Golang yang diperlukan. Pakej yang paling penting ialah pakej "i18n", yang merupakan teras pengantarabangsaan. Anda boleh memasang pakej ini menggunakan arahan berikut:

go get github.com/astaxie/beego/i18n

Langkah 2: Konfigurasi pakej i18n

Seterusnya, kita perlu mengkonfigurasi pakej i18n dalam aplikasi. Dalam aplikasi ini, kita perlu mengkonfigurasi pakej i18n supaya ia boleh menukar teks dan bahasa dengan betul kepada bahasa yang berbeza. Anda boleh menggunakan kod berikut untuk mengkonfigurasi pakej i18n:

import (
    "github.com/astaxie/beego"
    "github.com/astaxie/beego/i18n"
)
var LangTypes []string //支持的语言列表const (
    LANG_ENGLISH = "en-US"
    LANG_CHINA   = "zh-CN"
)
func SetUpI18n() {
    langs := beego.AppConfig.String("langs")
    LangTypes = strings.Split(langs, "|")
    for _, lang := range LangTypes {
        if lang == "en-US" {
            err := i18n.SetMessage(lang, "conf/locale_en-US.ini")
            if err != nil {
                beego.Error(err)
                continue
            }
            continue
        }
        if lang == "zh-CN" {
            err := i18n.SetMessage(lang, "conf/locale_zh-CN.ini")
            if err != nil {
                beego.Error(err)
                continue
            }
            continue
        }
    }
}

Dalam kod ini, kami mula-mula mendapatkan senarai bahasa yang disokong dalam sistem melalui beego.AppConfig. Kemudian, kami mengulangi semua bahasa dan memuatkan fail bahasa yang sepadan untuk setiap bahasa. Dalam contoh ini, kami hanya menyediakan bahasa "en-US" dan "zh-CN".

Langkah 3: Tulis templat

Dengan pakej i18n dan fail bahasa, kami boleh mula menulis aplikasi web. Dalam aplikasi ini kita perlu menulis templat supaya kita boleh bertukar dengan mudah antara bahasa yang berbeza. Berikut ialah contoh templat:

{{.i18n "welcome"}}, {{.i18n "userName"}}!

Dalam kod templat di atas, {{.i18n "selamat datang"}} dan {{.i18n "userName"}} ialah teks yang ingin kami terjemahkan. Berikut ialah pelaksanaan fungsi terjemahan yang disediakan dalam pakej i18n:

func (c *LangController) Lang() {
    lang := c.Ctx.Input.Param(":lang")
    if lang == "" {
        lang = "en-US"
    }
    c.SetLang(lang)
    c.Redirect("/", 302)
}
func (c *LangController) SetLang(lang string) {
    beego.Trace(lang)
    if lang != "" {
        c.Ctx.SetCookie("lang", lang, 1<<31-1, "/")
    } else {
        c.Ctx.SetCookie("lang", "", -1, "/")
    }
    c.Data["Lang"] = lang
}
func (c *BaseController) Prepare() {
    lang := c.Ctx.GetCookie("lang")

    if lang == "" {
        lang = LANG_ENGLISH
        c.SetLang(lang)
    }

    c.Data["Lang"] = lang
    trans := i18n.GetLangByType(lang)
    c.Data["i18n"] = trans
}

Dalam kod di atas, kami mentakrifkan LangController untuk menukar bahasa, fungsi SetLang untuk menetapkan bahasa dan BaseController untuk menetapkan tempat setempat. . Melalui fungsi ini, kita boleh menukar dan menetapkan tempat setempat dengan mudah.

Langkah 4: Jalankan aplikasi web

Akhir sekali, kita perlu menjalankan aplikasi web supaya ia boleh menyokong bahasa yang berbeza dengan betul. Kita boleh menggunakan arahan berikut untuk menjalankan aplikasi web:

bee run

Perintah ini akan memulakan aplikasi web dan secara lalai ia akan mendengar pada port 8080 untuk permintaan HTTP. Kami boleh menguji sama ada aplikasi telah menterjemah teks dengan betul dengan melawati http://localhost:8080/en-US/welcome atau http://localhost:8080/zh-CN/welcome dalam penyemak imbas.

Kesimpulan

Dalam artikel ini, kami memperkenalkan cara menggunakan Golang untuk melaksanakan fungsi pengantarabangsaan aplikasi web. Melalui pakej i18n dan fail bahasa, kami boleh melaksanakan pengantarabangsaan dengan mudah untuk menyesuaikan diri dengan keperluan pengguna yang berbeza dengan lebih baik. Jika anda sedang membangunkan aplikasi web, maka kami amat mengesyorkan anda menggunakan Golang untuk melaksanakan ciri pengantarabangsaan untuk meningkatkan pengalaman pengguna aplikasi anda.

Atas ialah kandungan terperinci Pelaksanaan pengantarabangsaan aplikasi web pembelajaran Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn