Unity一键翻译并修改文件名为中文(批量操作)

这是一个Unity编辑器插件,使用百度翻译API实现批量翻译文件名,并进行一键修改。适用于快速将英文资源文件名翻译成中文,提高工作效率。

啊 ,好多英文,头晕,脑壳疼,看不懂?
没关系,EasyWork v0.01 版本来了

用的是百度翻译,使用前请先申请百度翻译开发者
Ctrl+F 搜索 害羞的代码 ,更改为自己的账号密码
代码放到工程中,选中资源文件夹,右键选择 EasyWork
直接上代码

/********************************************************
     文件: 一键翻译.cs
     作者: UserName
     日期: CreateTime
     寄语: 虎年 虎虎生威  大吉大利
     功能: Nothing
*********************************************************/

using System.Collections.Generic;
using UnityEngine;
using System.IO;
using System.Net;
using System.Security.Cryptography;
using System.Text;
using System.Web;
using UnityEditor;
using System.Threading.Tasks;


public class 一键翻译
{
   
   
    public class TranstionResult
    {
   
   
        //错误码,翻译结果无法正常返回
        public string Error_code {
   
    get; set; }
        public string Error_msg {
   
    get; set; }
        public string from {
   
    get; set; }
        public string to {
   
    get; set; }
        public string Query {
   
    get; set; }
        //翻译正确,返回的结果
        //这里是数组的原因是百度翻译支持多个单词或多段文本的翻译,在发送的字段q中用换行符(\n)分隔
        public Translation[] trans_result {
   
    get; set; }

        public Dictionary<string, string> GetStringList()
        {
   
   
            Dictionary<string, string> list = new Dictionary<string, string>();

            foreach (var item in trans_result)
            {
   
   
                list.Add(item.src, item.dst);
            }

            return list;
        }
    }


    [MenuItem("Assets/阿飞的EasyWork/修改当前所有子文件名为中文")]
    public static async void Click()
    {
   
   
        List<CustomFile> fils =GetChildFileAll();


        int num = 0;
        while (num < fils.Count)
        {
   
   
            string totranslationText = "";
            for (int i = num; i < num + 50; i++)
            {
   
   
                if 
<think>根据用户的问题,用户希望了解在Unity一键替换Text和TextMesh Pro字体的方法。结合提供的引用内容,我们可以总结出以下步骤: 1. **下载导入工具**:从提供的项目地址下载工具(引用[1]和[2])。 2. **使用工具替换字体**:在Unity编辑器中通过工具窗口选择新字体一键替换(引用[1]和[2])。 3. **注意事项**:替换前备份项目,确保新字体已正确导入(引用[1])。 具体步骤如下: ### 步骤1:下载导入工具 - 下载地址:https://gitcode.com/Resource-Bundle-Collection/33ca5(引用[1])。 - 将下载的资源文件导入Unity项目(通过Assets > Import Package > Custom Package)。 ### 步骤2:打开工具窗口 - 在Unity编辑器中,点击顶部菜单栏的 `Tools` > `UI` > `更换字体`(引用[2])。 ### 步骤3:选择新字体替换 - 在打开的编辑面板中,选择需要替换的新字体(引用[1])。 - 点击“一键替换”按钮,工具将自动替换项目中所有`Text`和`TextMesh Pro`组件的字体(引用[1])。 ### 拓展功能(可选) - 如果需要修改字体间距、样式或字号,可进一步拓展工具(引用[2])。 ### 注意事项 - **备份项目**:替换前务必备份项目(引用[1])。 - **字体路径**:确保新字体文件已正确导入项目,且路径无误(引用[1])。 - **兼容性**:工具适用于Unity 2018及以上版本(引用[1])。 ### 代码实现原理(引用[4]) - 工具内部会遍历所有`Text`和`TextMeshPro`组件,替换其字体属性。 - 路径处理:工具统一将路径中的反斜杠`\`替换为斜杠`/`,确保跨平台兼容性(引用[4])。 通过以上步骤,即可实现一键替换字体。如果遇到问题,可联系工具作者(引用[1])。 --- ### 相关问题 1. 如何拓展Unity字体替换工具的功能? 2. 替换字体后出现显示异常如何排查? 3. Unity中如何批量修改TextMesh Pro的字体样式?</think>### Unity一键替换Text和TextMesh Pro字体方法 根据提供的引用内容,实现一键替换字体需通过专用工具完成。以下是详细步骤: #### **核心步骤** 1. **下载导入工具** - 访问项目地址下载资源:[https://gitcode.com/Resource-Bundle-Collection/33ca5](https://gitcode.com/Resource-Bundle-Collection/33ca5)[^1] - 将资源包导入Unity(`Assets > Import Package > Custom Package`) 2. **打开工具面板** - 在Unity编辑器顶部菜单栏选择:`Tools > UI > 更换字体`[^2] 3. **一键替换操作** ```mermaid graph LR A[选择新字体文件] --> B[点击“一键替换”按钮] B --> C[自动替换所有Text组件] B --> D[自动替换所有TextMeshPro组件] ``` - 工具会自动扫描项目中所有`Text`和`TextMeshPro`组件 - 替换过程包含字体属性(字号、间距、样式等)[^2] 4. **路径处理机制** 工具内部自动处理路径兼容性问题: - 将Windows的反斜杠`\`统一转换为斜杠`/` - 确保跨平台兼容性(Windows/macOS)[^4] #### **注意事项** 1. **备份项目** - 替换前务必备份工程,防止意外[^1] 2. **字体准备** - 新字体需提前导入Unity的`Assets`目录 - 检查字体文件后缀名(如.ttf/.otf)是否支持 3. **版本兼容** - 工具支持Unity 2018+版本[^1] 4. **错误排查** - 如替换失败,检查控制台报错信息 - 确认字体未被其他脚本动态锁定 #### **拓展功能** - **批量修改属性**:可扩展工具代码,同时修改字号/颜色等[^2] - **自定义过滤**:添加场景/预制件筛选条件,精准替换 - **字体回滚**:建议扩展撤销功能(引用未提及,需自行开发) > **替代方案**:若无此工具,需手动遍历组件: > ```csharp > // 伪代码示例 > foreach (Text text in FindObjectsOfType<Text>()) { > text.font = newFont; > } > // 对TextMeshProUGUI执行相同操作 > ``` > 但手动实现无法处理嵌套预制件和资源依赖,**强烈推荐使用专用工具**。 --- ### 相关问题 1. 如何解决替换后TextMesh Pro字体显示异常? 2. Unity字体替换工具支持哪些特殊文本组件? 3. 替换字体后如何保持原有文本格式不变? 4. 能否不通过工具实现批量字体替换?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值