首页
社区
课程
招聘
[原创]点睛 Localize Plus 对照文件辅助脚本
发表于: 2011-6-13 01:14 3452

[原创]点睛 Localize Plus 对照文件辅助脚本

2011-6-13 01:14
3452
Localize Plus 对照文件辅助脚本

    做汉化的恐怕都知道点睛的 Lephone Localize Plus 吧,有时它生成的对照文件有好几万行,吓死人,其中不少是垃圾字符,为了减少工作量,小菜我写了这个用 JavaScript 结合 EmEditor 宏写的脚本.

    其功能是删除或保留所有包含 CJk 统一汉字字符集的行,换句话说就是,
    只要该行中有汉字就保留,这样所有没汉字的行都删掉咯,
    或者删除所有有汉字的行,这样就只留下英文和数字行咯.

    其实还可以进一步写出其它功能,比如文本格式化(不用一个个改了)以及翻译完毕对照文件后,删除那些未变动的行.

    这里只提供脚本 LocPlus_Aider.jsee ,以后写出其它脚本给大家
    内容如下:

---------------------------------------------------------------------------------
//Localize Plus 对照文件辅助工具
//WSLVIC 原创,电邮:wslvic@163.com

var bReserveASCII
//调用 Windows Popup 弹出窗口
WshShell = new ActiveXObject( "WScript.Shell" );
n = WshShell.Popup( "按 <是> 保留所有 ASCII 行\n按 <否> 保留所有 UniCode 行\n按 <取消> 不进行任何操作", 30,"Localize Plus 对照文件处理辅助脚本", 3);

switch(n)
{ case 6://按下了 <是> 按钮
  bReserveASCII = true;
  break;
  case 7://按下了 <否> 按钮
  bReserveASCII = false;
  break;
  case 2://按下了 <取消> 按钮
  break;
  default:
}

nLine = document.GetLines();
for (i=1;i<=nLine;i++)
{ strCurLine = document.GetLine(i);
  if (strCurLine.length<=0)
  {
    if (isReservedEmptyLine(i)==false)
    {
              document.selection.SetActivePoint(eePosLogical,1,i);
              document.selection.Replace("\\r\\n","",eeFindReplaceQuiet && eeFindReplaceRegExp);
              //删除空行
              if (i>0) {--i; --nLine;}
     }
   }
  else
  { if (isReservedLine(strCurLine) == false)
            {
                      document.selection.SetActivePoint(eePosLogical,1,i);
                document.selection.Delete(strCurLine.length);
                document.selection.Replace("\\r\\n","",eeFindReplaceQuiet && eeFindReplaceRegExp);
                if (i>0) {--i; --nLine;}
             }
   }
   status ="已完成: "+ Math.round(i*100/nLine) + "%" + "   当前行 " + i + " | 共 " + nLine + " 行";
}

function isReservedEmptyLine(x)
//判定是否为要保留的空行
//如果前一行为非空行,则该空行为要保留的空行
{
        if (x-1>0)
        { if (document.GetLine(x-1).length>0)
                return true;
          else
                  return false;
         }
        else //第一行是空行
        {
                return false;
         }
}

function isReservedLine(strLine)
//判定是否为保留行
{
        for (j=0;j<strLine.length;j++)
          { if (isCJKChineseChar(strLine.charCodeAt(j)) == true)
                    { return !bReserveASCII;
                      break;
                     }
           }
         return bReserveASCII;
}

function isCJKChineseChar(theCharCode)
//判定是否是 CJK 中日韩统一汉字
//┌───────────────────────┐
//│( U+3400 – U+4DBF)   中日韩统一汉字扩展集 A│
//│( U+4E00 – U+9FBF)   中日韩统一汉字        │
//│( U+20000 – U+2A6DF) 中日韩统一汉字扩展集 B│
//└───────────────────────┘
{ var x
//if ((theCharCode >= 13312 && theCharCode <= 19903) || (theCharCode >= 19968 && theCharCode <= 40895) || (theCharCode >= 131072 && theCharCode <= 173791))
if (theCharCode >= 0x3400 && theCharCode <= 0x4DBF)
  { x=1;}
else if (theCharCode >= 0x4E00 && theCharCode <= 0x9FBF)
  { x=2;}
else if (theCharCode >= 0x20000 && theCharCode <= 0x2A6DF)
  { x=3;}
else
  { x=0;}

switch(x)
  {
         case 1:
           return true
           break
         case 2:
           return true
           break
         case 3:
           return true
           break
         case 0:
           return false
           break
         default:
           return false
   }
}

----------------------------------------------------------------------------------------------
以上内容请复制到 EmEditor 或 任何文本编辑器中,然后保存为 .jsee 格式即可,然后在 EmEditor 中选择菜单 "宏->选择" 指定该文件后,即可在宏菜单中点击运行.

注意:不要复制 "----------------------------------------------------------------------"

[课程]Android-CTF解题方法汇总!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 350
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hcg
2
感謝分享下載試用研習
2011-6-13 07:50
0
雪    币: 161
活跃值: (261)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
感謝分享腳本!
2011-6-13 21:17
0
雪    币: 161
活跃值: (261)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
試用後發現

144384:Background Selection
背景選擇部份

144408:Background
背景

144420:Text Current Line
文字目前的直線行

144440:Text Selection
文字選擇部份

無法刪除空行
2011-6-13 22:00
0
雪    币: 434
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
感谢分享,学习一下,谢谢!
2011-11-4 09:12
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
感谢分享,学习一下,谢谢!
2012-3-3 13:06
0
雪    币: 191
活跃值: (335)
能力值: ( LV9,RANK:450 )
在线值:
发帖
回帖
粉丝
7
mark 一下.
2012-3-5 01:09
0
游客
登录 | 注册 方可回帖
返回
//