參考鏈接:https://forums.unrealengine.com/development-discussion/content-creation/34379-localization-dashboard-preview-and-explanation-of-ue4-s-text-localization-process?63394-Localization-Dashboard-preview-and-explanation-of-UE4-s-text-localization-process=
不過這個鏈接是很久之前的版本的了,現在的設置有些不同了!
打開Localization面板(默認好像是有選項的)
沒有的話打開Editor Settings,搜索Local就可以看到了!
添加中文
更細一點的話,可以添加簡體和繁體\
然後開始設置搜索路徑,2個都勾選上
藍圖設置:
stringtable路徑
cpp(這三個都是自己隨意設置的,key不能重複!,命名空間可以!,然後遊戲裏顯示的是value)
TextBlock_Name->SetText(FText::Format(NSLOCTEXT("VtLocText", "AttributeNameFmt", "{0} -Level {1}"),FText::FromString(Char->GetCharacterData().Title),FMath::FloorToInt(Level)));
查找字符串,主要時查找Referenced Text,藍圖中的Stringtable,C++ NSLOCTEXT宏
找到29個字符串
你可以選擇本地(Native)的語言爲中文,默認是English!
(這都是沒什麼區別的,只是更方便而已,如果你一開始用的是中文文本,那麼選Chinese就好了)
`````````````````````````````````````
(我的value用的是英文,我就不選本地(Native)爲中文了,用默認的English)
English不用就翻譯成English了(前提是你代碼用的就是英文,像圖下這種)
我們開始English到Chinese的翻譯
點擊紅色方框的按鈕
可以發現completed是空的
如果沒有這窗口,菜單欄可以打開
可以發現沒有任何的翻譯(右邊紅色方框)
雙擊對應的就可以修改
翻譯完畢
可以選擇字體,我選個宋體
現在我們有了Chinese和English2個語言的文本翻譯了!(每一個語言都要翻譯一下,然後都編譯,遊戲裏才能正常切換語言)
這一排按鈕
然後進行全部編譯
然後記住下圖紅色方框的,鼠標懸停在上面就可以看到,很重要,
Chinese是zn
English是en
測試一下:
在關卡藍圖連接如下的節點,參數看仔細!
選擇standalone模式,不然切換的是編輯器的語言設置(),而且你怎麼切換都沒反應
啓動後,自動設置爲中文了!Excuse me?但是我編輯器是English的.
可能在啓動的時候檢測了操作系統語言吧??
按N鍵查看當前的culture,是zh
按M鍵切換(我按了2下,因爲我先設置爲中文,再是英文,但是啓動的時候本來就是中文....)
可以發現變成了英文了
按N鍵查看,是en
打包的設置:
Project Settings->Packaging
可以看到懸停的提示是zh,我只勾選了Chinese
後面這些如果你要細分的話可以勾選,記住懸停的提示(zh,zh-Hans,zh-Hant)
簡體中文 zh-Hans
繁體中文 zh-Hant
然後打包就可以了
打包後啓動默認的也是中文,看來真的是在啓動的時候檢測操作系統語言了.
-----------------------------------------------------
如果你的native設置爲English,那麼在PIE模式下也是English,如果需要中文,可以在umg裏設置(前提是你有中文)
也可以在編輯器設置 EditorSettings-General-Region&Language-Preview Game Language
本人語言表述能力有些差,如果有看不懂的請見諒!