赞
踩
相信做海外游戏代理的同学一定会遇到需要做本地化的问题,其中资源可以通过替换合图来处理。而文本是其中一个比较难处理的问题。其中主要难点在于UGUI本身没有提供相应的插件,而对于一开始没规划的项目来说,你需要去找出其中所有的外语文本,找到后再将对应Text
控件替换成你自定义的控件,替换后再需要填入对应的Key值。这对于策划来说简直是恶梦~
UGUI中的Text
控件只提供了text属性接口供你进行对文本的设置,那么要实现本地化有下面两种做法:
Text
控件初始化后使用代码将其text
属性修改,这样的话,我们需要在所有的有Text
控件的地方添加相应的修改代码,这显然是不符合可持续发展的。Text
控件,在编辑器阶段完成对Key值的设置。这种方案需要我们继承Text
控件,并修改其输入接口,从修改text
改为修改Key
,通过Key来得到相应语言的文本。综上,我们采取第二种方案来实现我们的LocalizationText
控件,通过对Key的设置得到文本,如图:
有了LocaliztionText
我们只需要输入Key**Help**而不需要直接填写帮助二字,通过为不同语言建立映射表我们就可得到对应语言的Help的文本。
这里我主要是先去看了UGUI源码,根据其中Text的实现做了修改。
using System;
using UnityEngine.UI;
using UnityEngine;
namespace Localization
{
public class LocalizationText : Text
{
#region Param
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。