JLChnToZ / VVMW

VizVid - Brand new original video player frontend for VRChat, aims for flexibility.
https://xtl.booth.pm/items/5056077
MIT License
70 stars 6 forks source link

游戏语言设置的简中,进入世界后vizvid的语言会被设置为繁体中文 #24

Closed LHT02 closed 4 months ago

LHT02 commented 4 months ago

设备语言,玩家显示语言和玩家偏好语言标签都设置为了简体中文,但是进入世界后vizvid的语言会被设置为繁体中文

JLChnToZ commented 4 months ago

設備語言不會影響語言設置(Udon 無從得知設備的系統語言),偏好設置只會在初始化(進入世界)的時候自動更改。

JLChnToZ commented 4 months ago

至於時區判定,因為中國的時區跟香港有重疊,故此預設是判定為繁體。如果需要預設為簡體中文,還請把語言檔繁體中文裡的中國時區(China Standard Time)設定移除。

Sonic853 commented 4 months ago

設備語言不會影響語言設置(Udon 無從得知設備的系統語言),偏好設置只會在初始化(進入世界)的時候自動更改。

目前 VRChat 主分支更新了繁体中文,设置后通过 VRCPlayerApi.GetCurrentLanguage() 读取的内容为 zh-HK,理论可以根据此设置来更改繁体中文(zh-HK)或简体中文(zh-CN)

JLChnToZ commented 4 months ago

目前 VRChat 主分支更新了繁体中文,设置后通过 VRCPlayerApi.GetCurrentLanguage() 读取的内容为 zh-HK,理论可以根据此设置来更改繁体中文(zh-HK)或简体中文(zh-CN)

你說的相關邏輯其實早就有了 https://github.com/JLChnToZ/VVMW/blob/c14724985a3f04eeb95282c0c7be6c2feaad5d8c/Packages/idv.jlchntoz.vvmw/Runtime/I18N/LanguageManager.cs#L39

它會先讀取語言檔裡面的 _vrclang 欄位,只要有匹配就會優先選擇該語言。 不過這 API 只能在 VRChat 客戶端有設置過介面語言的情況才有效,所以後備方案(時區檢測)還是有保留。

不過比較在意的是現在改成回傳 zh_CNzh_HK 了?

Sonic853 commented 4 months ago

你說的相關邏輯其實早就有了

https://github.com/JLChnToZ/VVMW/blob/c14724985a3f04eeb95282c0c7be6c2feaad5d8c/Packages/idv.jlchntoz.vvmw/Runtime/I18N/LanguageManager.cs#L39

它會先讀取語言檔裡面的 _vrclang 欄位,只要有匹配就會優先選擇該語言。 不過這 API 只能在 VRChat 客戶端有設置過介面語言的情況才有效,所以後備方案(時區檢測)還是有保留。

不過比較在意的是現在改成回傳 zh_CNzh_HK 了?

是的,目前为繁体中文 zh-HK 和简体中文 zh-CN

JLChnToZ commented 4 months ago

那改一下語言檔的 _vrclang 問題就解決了,那邊可以用單一字串或者陣列。