遊戲實現多語言版本 國際化

2021-07-09 20:52:05 字數 988 閱讀 6590

自從換了專案組之後一直都很忙,沒什麼時間寫部落格了,目前這個專案是自己挑的,希望多花點時間,把它做好。

因為專案還沒有對外公開,關於專案就不透露資訊,只能說一些實現方式。

到新專案之後第乙個著手做的就是多語言版本,也就是國際化。

多語言的實現最基本的實現方式就是根據id去讀語言配置,不同的語言新建乙個語言配置表。

細分下來,分了如下三個部分:

一 ui

ui是指在ui編輯器中的一些文字,比如最常用的按鈕上面的文字,標籤上面的提示等等。

我的做法是:

1 根據ui檔名和空間名,配置對應的語言id;

2 然後在根據id去讀對應的文字;

3 在介面建立完成之後將控制項中的內容設定成2中讀取到的文字。

二 配置表

配置表主要是指道具表,裝備表等,其中含有的一些文字,如裝備名稱,裝備名稱等。

這個也可以用上面類似的方法實現,在需要多語言的專案配id,然後就根據id再去讀文字。

但策劃認為這樣不直觀,我們換了另一種方式。

1 在配表中需要做多語言的相中加乙個標記,如*;

2 讀表時如果是中文版本就直接取對應的值;

3 如果是其它語言則將取出來的中文作為key,然後去語言表中取值。

個人覺得這種做法不好,這樣不僅讓多語言的流程不同意,而且在其它語言中,必須有中文在裡面。

另外還可能導致key重複,因為在同樣的中文,在不同的語言中可能翻譯不一樣,比如成功,可能是success,也可能是successful,另外動詞還有不同時態。

所以不推薦上面這種做法。

三 錯誤資訊

錯誤資訊就是客戶端隊使用者操作的一些提示,如角色名不能為空,或者服務端返回的一些資訊,如登陸成功或者密碼錯誤等。

這種處理就是配置乙個錯誤碼表,在互動的過程中都使用錯誤碼,在最終顯示的時候再去讀表就可以了。

因為現在的多語言並沒有實際的做起來,只是把框架做了,具體效果還未知,如果將來有改動再來更新。

換乘有點時間,找了個咖啡廳,把這個發了。

android國際化(多語言)

1.很大程度上,為什麼我們能如此方便的實現國際化 解析度匹配等?主要就是得益於 android 中這種獨特的資源管理方式。程式設計師的 可以不直接和資源發生關係。android 中,我們通常通過 r 檔案提供的索引來間接的引用某乙個資源。而如何維護資源索引和真正的資源之間的關係,這個活,卻是 and...

springboot多語言國際化

實現localresolve介面,定義messageservice bean 自定義messages服務,指定國際化配置路徑 return bean name messagesource public resourcebundlemessagesource getmessageresource co...

iOS APP多語言開發(國際化)

static dispatch once t oncetoken dispatch once oncetoken,objc setassociatedobject nsbundle mainbundle bundle,language nsbundle bundlewithpath nsbundle...