iT邦幫忙

0

關於vue-i18n(轉換多語系的套件) 取值問題

vue

小弟從商科轉跑道
從認識到寫網頁程式經歷:6個月
課程:資策會-智慧人才培育系列(90天)
javascript(有上課30天)>自學vue(35天)

問題起源
源自此篇https://ithelp.ithome.com.tw/articles/10202791

此部分

問題
關於vue-i18n 套件 只能由圖片上的方法取值嗎?
若是這樣一個龐大的網站上面原本的文字不就要全部換上{{}}這種鬍子符號....? XD
我天真的以為是寫好幾個json檔案然後按"切換語系按鈕"可以直接在原本做好的網站上直接幫你套好文字耶

DanSnow iT邦好手 1 級 ‧ 2020-01-25 19:36:12 檢舉
基本上這還是必要的,畢竟你要讓它知道哪個部份需要多國語系之類的
dragonH iT邦超人 5 級 ‧ 2020-01-25 20:15:29 檢舉
不這樣寫他怎麼知道你那些要切換語言呢?
哈 我知道了
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

1
ddtet
iT邦新手 5 級 ‧ 2020-01-26 11:21:41
最佳解答

沒錯!整個網站… 不管龐不龐大都是使用這種方式。
也不光是網站,像是 Android 或 iOS 的 APP 也是有相似的機制在進行多語系。

為什麼要這麼作?因為要把翻譯和程式碼分開,
你不會想要把每一種語系的文字,放在程式碼中,讓一樣的流程(邏輯)的程式,
因為要滿足不同的語系,而有許許多多的套…
相同程式,有 3 個語系,就要存成 3 檔案,未來修改就要改 3 個地方。
語系一多,程式碼的修改與管理就會是一連串的災難。

所以,程式碼中 {{}} 或類似的語法,就是把需要翻譯的文字命名,或給予編號。
「定位」在程式碼的某個地方,把命名(編號)與實際文字的對應,寫在另一個檔案中,
json 檔案(有其它模式是 xml 或其它格式)是必要的,而格式大多是沒程式基礎也能編輯的…
這種檔案可以交付給翻譯公司來進行翻譯,而不會接到程式碼 (減少被動到,改壞的可能) 。

引用文章的裡的 message 變數內容,通常就是存在其它地方的檔案而來。
只是為了要說明,把它放在同一個程式碼中…

看更多先前的回應...收起先前的回應...

再借串問一下 請問切換語系的json檔案 有一定要寫在後端用呼叫的嗎 還是寫在前端資料夾也可以?

ddtet iT邦新手 5 級 ‧ 2020-01-26 22:04:03 檢舉

沒有輕視的意思… 以樓主學習程式 6 個月的經驗。
我大膽猜測,所以使用的 vue.js 是運作在前端的,也就是用瀏覽器執行的,所以 json 檔案大多是靜態的檔案,不太涉及後端程式的運作。

我會接api喔 至少六角學院有教喔XD

大哥新年快樂阿

我要發表回答

立即登入回答