查找界面预设中的中文

  需求如上一篇。

  预设中很多UILabel,是在编辑器阶段直接赋值,因此需要逐个替换,可以将简体和繁体替换的文字做成字典,简体为key,繁体为value。

  对UIlabel中的text进行逐行替换。

  需要注意换行符

  上代码

 [MenuItem("Assets/misc/批量替换text中的中文")]
    static void 批量替换text中的中文()
    {
        Dictionary<string, string> replaceDic = new Dictionary<string, string>();//替换列表,示例
        replaceDic.Add("简体第一行", "繁体第一行");
        replaceDic.Add("简体第二行", "繁体第二行");

        EditorUtility.DisplayProgressBar("处理中 请稍等", "请勿操作", 0);
        StringBuilder info = new StringBuilder();
        var gameObjects = Selection.GetFiltered(typeof(Object), SelectionMode.DeepAssets);
        for (int i = 0; i < gameObjects.Length; i++)
        {

            EditorUtility.DisplayProgressBar("处理中 请稍等", "正在处理:" + gameObjects[i].name, (i + 1f) / gameObjects.Length);
            string path = AssetDatabase.GetAssetPath(gameObjects[i]);
            if (!path.Contains(".prefab"))
            {
                continue;
            }
            GameObject go = PrefabUtility.InstantiatePrefab(gameObjects[i]) as GameObject;
            UILabel[] uiLabel = go.GetComponentsInChildren<UILabel>(true);
            //获取物体路径
            if (uiLabel.Length > 0)
            {
                for (int j = 0; j < uiLabel.Length; j++)
                {
                    string[] str = uiLabel[j].text.Split("\n".ToCharArray());
                    for (int k = 0; k < str.Length; k++)
                    {
                        if (replaceDic.ContainsKey(str[k]))
                        {
                            string key = str[k];
                            str[k] = replaceDic[key];
                        }
                    }
                    string allStr = "";
                    for (int k = 0; k < str.Length; k++)
                    {
                        allStr += str[k];
                        if (k != str.Length - 1)
                        {
                            allStr += "\n";
                        }
                    }
                    uiLabel[j].text = allStr;
                }
            }
            PrefabUtility.ReplacePrefab(go, gameObjects[i]);//替换
            Object.DestroyImmediate(go);
        }
        AssetDatabase.SaveAssets();//保存
        AssetDatabase.Refresh();
        EditorUtility.ClearProgressBar();
    }
时间: 2024-11-09 03:49:18

查找界面预设中的中文的相关文章

IOS中UIImagePickerController中文界面问题

今天沈阳斌子,写IOS项目遇到一个调用照相机的问题,找到解决方法,快速解决了拿给PM看,结果PM说程序调用的照相机不是中文的是英文的,必须改成中文,上网找到了方法,试用后好用拿出来和大家分享.方法如下,总共分两步: 一: Target-->Localization native development region : China 本地化的开发语言版本选择China 没有的话添加一下. 二:Project-->Localizations  添加Chinese 中文包 这点挺重要的要想实现中文显

查找代码中的中文

上周的需求要发繁体版,用繁体中文替换简体中文,本来想直接转换,但是对方提出很多简体.繁体之间表达方式不同,因此需要批量替换. 尽管前期规划过海外版本,但是最后规范管理不够严格,还是有很多界面上的文字是在代码中写死的. 因此需要开发一个检索代码中中文的工具. 代码给UILabel赋值,必然是uilabel.text = "简体中文";因此检查一行代码中双引号的内容是否有中文,即可完成需求. 需要注意的是编码格式,默认是UTF-8(带签名). 上代码: [MenuItem("As

CentOS中的中文乱码问题的解决

在使用CentOS系统时,安装的时候可能你会遇到英文的CentOS系统,在这中情况下安装CentOS系统时是默认安装(即英文).安装完毕后,出现 的各种中文乱码.那么,我们如何解决这种问题呢. 一.CentOS系统访问 g.cn ,发现中文乱码. 于是用以前的方 式:yum -y install fonts-chineseCentOS系统安装后,还是不能显示中文字体.我使用 gedit 编辑源码,其中文注释也为乱码. 后来,终于找到以下方法可以解决,需要两个中文支持的包:fonts-chines

深入剖析Java编程中的中文问题及建议最优解决方法

摘录自:http://fafeng.blogbus.com/logs/3062998.html http://www.blogbus.com/fafeng-logs/3063006.html 深入剖析Java编程中的中文问题及建议最优解决方法 说明:本文为作者原创,作者联系地址为:[email protected].由于Java编程中的中文问题是一个老生常谈的问题,在阅读了许多关于Java中文问题解决方法之后,结合作者的编程实践,我发现过去谈的许多方法都不能清晰地说明问题及解决问题,尤其是跨平台

在Python中处理中文路径

最近在Windows下使用Python进行Swift API的开发,其中对象(相当于文件)上传和下载会涉及到中文路径,可是纠结了好长时间,总是提示路径不存在,后来经过多方查找资料和咨询,终于找到问题所在.对文件路径需要使用Unicode编码: local_path = unicode(local_path, 'utf8) file = open(local_path, 'rb') 文章出自:http://blog.csdn.net/twlkyao/article/details/26715443

CAD技巧-CAD编辑器中怎么查找CAD图纸中的文字

大家都知道,在绘制CAD图纸的时候需要给一些地方做文字标注,但是当我们绘制一整张CAD图纸时图纸内容比较多,如果一个一个去查找标注的文字就特别的麻烦,那怎么查找CAD图纸中的文字,具体应该怎么操作?如何快速查找CAD图纸中的文字?下面小编就教教大家在迅捷CAD编辑器中怎么查找CAD图纸中的文字,想要了解的朋友就一起来看看吧. 第一步:首先,在电脑中任意打开一个浏览器,在浏览器中搜索迅捷CAD编辑器标准版,点击下载安装最新版本的CAD编辑器,然后双击打开软件,进入到软件的操作界面即可. 第二步:进

url中含有中文造成文件下载失败

一.场景 前段时间由于安卓客户端并发播放视频的需求量太大,造成视频卡顿的现象,因此使用java做了一套缓存视频的服务,把远程服务器的视频下载到内网服务器来解决这个问题. 二.问题引入 可是在使用流进行视频下载的时候,不含有中文的url会正常下载视频,包含中文的就会下载失败,后来经过一番查找解决办法之后发现只需要将url中的中文进行UTF-8转码即可,需要注意的是: 不能对整个url进行UTF-8转码,必须用正则表达式对url进行中文过滤板,只转码中文即可: 正则匹配方法: public stat

PHP中的中文截取乱码问题_gb2312_utf-8

一.字符串编码为gb2312,一个中文占俩字节 ? public static function chinesesubstr($str, $start, $len) { // $str指字符串,$start指字符串的起始位置,$len指字符串长度         $strlen = $start + $len; // 用$strlen存储字符串的总长度,即从字符串的起始位置到字符串的总长度         for($i = $start; $i < $strlen;) {            

eclipse中输入中文为繁体

http://blog.163.com/guomaolin_gavin/blog/static/199618307201218104452930/ eclipse中输入中文为繁体! 2012-02-08 10:44:52|  分类: eclipse|举报|字号 订阅 今天不小心在java编辑的时候发现eclipse中输入出来的是繁体! 百思不得其解之后发现了问题!是我的输入法和java中的快捷键进行了冲突.ctrl+shift+F 这个快捷方式和搜狗中的繁体是一样的! 当然还有其他的类似情况!