游戏中的文字描述要考虑语言本地化的问题,这部分需要提前规划好.比如有些文字嵌在图片中,只能替换图片来实现;有些文字中英文长度不一致导致显示问题等.
最常用的做法是从语言包中读取所需的文字,传入同一个key,根据不同的语言环境返回对应的结果.
public class Localization
{
public enum ELanguage
{
Chinese,
English
}
private ELanguage eLanguage = ELanguage.Chinese;
public string Get(string s)
{
if (eLanguage == ELanguage.Chinese)
return s;
//语言包
//ExcelManager.language.get(key)
return "english";
}
public void SetLanguage(ELanguage e)
{
eLanguage = e;
}
}
由于本项目只显示中文即可,直接返回key作为返回结果.
如果以后扩展其他语言版本,其他逻辑不用变动,只需要在Localization中扩展语言包即可.