明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2306|回复: 9

为汉化2004菜单,写了一个生成资源词典的程序

[复制链接]
发表于 2003-3-14 22:41:00 | 显示全部楼层 |阅读模式
这个文件可以利用2002版的中文和英文菜单来生成资源的词典,下来我还会写一个程序来直接汉化2004菜单:

(defun c:makemnudic()
  (vl-load-com)
  (setq mnuen "e:\\acad-en.mnu"
        mnucn "e:\\acad-cn1.mnu"
        mkdic "e:\\mnu.txt"
        )
;;;  (setq mnuen(getfiled "选择英文版菜单文件:" "" "mnu" 8)
;;;        mnucn(getfiled "选择中文版菜单文件:" "" "mnu" 8)
;;;        mkdic(getfiled "选择生成的菜单文件名称 :" "" "txt" 1)
;;;        )
  (setq fen(open mnuen "r")
        fcn(open mnucn "r")
        fdic(open mkdic "w")
        )
  (setq i 0)
  (while (setq len(read-line fen))
    (setq lcn(read-line fcn))
    (if (/= len lcn)
      (progn
        (if (and (setq lsen(vl-string-search "[" len ))
                 (setq leen(vl-string-search "]" len ))
                 (setq lscn(vl-string-search "[" lcn ))
                 (setq lecn(vl-string-search "]" lcn ))
                 (> leen lsen)(> lecn lscn)
                 )
          (progn
            (setq dicen(substr len  (+ 1 lsen) (+ 1( - leen lsen)))
                diccn(substr lcn (+ 1 lscn) (+ 1(- lecn lscn)))
                )
            (if (=(substr dicen 1 8)"[_Button")
              (setq lsen 9 lscn 9
                    leen(vl-string-search "\","dicen)
                    lecn(vl-string-search "\","diccn)
                    dicen(substr dicen  (+ 1 lsen) (+ 1( - leen lsen)))
                    diccn(substr diccn (+ 1 lscn) (+ 1(- lecn lscn)))
                    )
               
            
              (if (=(substr dicen 1 9)"[_Toolbar")
              (setq lsen 10 lscn 10
                    leen(vl-string-search "\","dicen)
                    lecn(vl-string-search "\","diccn)
                    dicen(substr dicen  (+ 1 lsen) (+ 1( - leen lsen)))
                    diccn(substr diccn (+ 1 lscn) (+ 1(- lecn lscn)))
                    )
              )
               )
            (write-line dicen fdic)
            (write-line diccn fdic)
            )
          )
        )
      )
    )
  (close fen)
  (close fcn)
  (close fdic)
  (princ "\n菜单词典已经生成,位置在e:\\mnu.txt文件中。")
  (princ)
  )
"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2003-3-15 09:01:00 | 显示全部楼层

再来一个生成2004汉化菜单的程序(Word-VBA)

Option Explicit

'用法:把2004的英文菜单在Words中打开,然后进入工具菜单->宏->VB编辑器。
'      再自己建立一个模块,把这些代码粘进去,运行就可以了。
'      注意把词典e:\mnu.txt的位置改过来改为你自己的位置。
Sub TranMnu()
Dim LineEn As String
Dim LineCn As String
    Open "e:\mnu.txt" For Input As #1
    Do While Not EOF(1)
        Line Input #1, LineEn
        Line Input #1, LineCn
        Selection.Find.ClearFormatting
        Selection.Find.Replacement.ClearFormatting
        With Selection.Find
            .Text = LineEn
            .Replacement.Text = LineCn
            .Forward = True
            .Wrap = wdFindContinue
            .Format = False
            .MatchCase = False
            .MatchWholeWord = False
            .MatchByte = True
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
        End With
        Selection.Find.Execute Replace:=wdReplaceAll
    Loop
    Close #1
End Sub
 楼主| 发表于 2003-3-15 19:54:00 | 显示全部楼层

然后用这两个程序再加上20分钟的后加工时间就实现了2004版的菜单汉化

以下就是刚制作的AutoCAD2004中文菜单文件:

后加工主要是手工汉化2004新增功能部分的内容,还有就是有些单词的调整。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2003-3-21 00:41:00 | 显示全部楼层

晕!汉化一个菜单要这么复杂吗?

20分钟手工就可以完成了(前提参考2002的中文菜单)
 楼主| 发表于 2003-3-22 10:48:00 | 显示全部楼层

用程序可以避免错误,因为新菜单有一些新的功能,如果单独的复制粘贴可能会把新增内

用程序可以避免错误,因为新菜单有一些新的功能,如果单独的复制粘贴可能会把新增内容遗忘掉[br]
 楼主| 发表于 2003-3-22 13:33:00 | 显示全部楼层

还有经过比较,你在晓东站提供的菜单还有以下内容找不到或有问题

文件菜单中:少了发布项
ID_Pub       [发布(&H)...]^C^C_publish

编辑菜单中:重做的宏命令没有改为新版内容,应为
ID_Redo      [重做(&R)\tCtrl+Y]^C^C_mredo 1
  带基点复制少了快捷键:
ID_Copybase  [带基点复制(&B)\tCtrl+Shift+C]^C^C_copybase
  少了全屏显示项:
ID_CleanScreen [$(if,$(and,$(getvar,CleanScreenState),1),!.)全屏显示(&C)\tCtrl+0]$M=$(if,$(and,$(getvar,CleanScreenState),1),^C^C_CleanScreenOFF,^C^C_CleanScreenON)

工具菜单中:少了工具板项:
ID_TPalette    [$(if,$(and,$(getvar,tpstate),1),!.)工具板窗口(&)\tCtrl+3]$M=$(if,$(and,$(getvar,tpstate),1),'_ToolPalettesClose,'_ToolPalettes)
  徒手画项应在蒙片项下并改名为云线,少了蒙片项:
ID_Wipeout   [蒙片(&W)]^C^C_wipeout
ID_Revcloud  [云线(&U)]^C^C_revcloud

修改菜单中:其中一项放弃参考编辑应改为关闭参照
ID_RefDscrd    [<-$(if,$(eq,$(getvar,refeditname),""),~,)关闭参照(&C)]$M=$(if,$(eq,$(getvar,refeditname),""),^C^C^P(ai_refedit_alert)^P,^C^C_refclose _disc)

视口对象上下文菜单中:有两项未翻译
ID_Vport_asdisp  [与显示一致(&A)]^C^C_-vports _shadeplot _as _p;;
ID_Vport_wframe  [线框(&W)]^C^C_-vports _shadeplot _wireframe _p;;

显示顺序工具栏未翻译:
**TB_DRAWORDER
ID_TbDrawOrd [_Toolbar("显示顺序", _Floating, _Hide, 100, 150, 1)]
ID_BringFrnt [_Button("前置", RCDATA_16_BN2FNT, RCDATA_16_BN2FNT)]^C^C^P(ai_draworder "_f") ^P
ID_SendBack  [_Button("后置", RCDATA_16_SN2BCK, RCDATA_16_SN2BCK)]^C^C^P(ai_draworder "_b") ^P
ID_BringAbov [_Button("置于对象之上", RCDATA_16_BNGFWD, RCDATA_16_BNGFWD)]^C^C^P(ai_draworder "_a") ^P
ID_SendUnder [_Button("置于对象之下", RCDATA_16_SNDBCK, RCDATA_16_SNDBCK)]^C^C^P(ai_draworder "_u") ^P

对象特性工具栏多出了两项:
               [--]
               [_Control(_TxtStyle)]
               [--]
               [_Control(_DimStyle)]
图层工具栏中以下内容是没有的:
               [--]
[_Control(_Color)]
[--]
[_Control(_Linetype)]
ID_Style       [_Button("字型样式管理器", "RCDATA_16_TXTSTYLE", "RCDATA_16_TXTSTYLE")]'_style
[_Control(_TxtStyle)]
               [--]
ID_Ddim        [_Button("标注样式管理器", "RCDATA_16_DIMSTY", "RCDATA_16_DIMSTY")]'_dimstyle
[_Control(_DimStyle)]
发表于 2003-3-26 08:14:00 | 显示全部楼层

go

很好
发表于 2003-3-28 19:09:00 | 显示全部楼层

着急啊!求助:陈老师

陈老师,最近我在华储网邮购了《AutoCAD2002高级应用技术》一书,书上说附加光盘提供了三个字体文件及NewC.LSP、CDIM等程序,但没见附加光盘。承蒙你给我发来了邮件,但我在cad2004中总是不能使用NewC.LSP程序.我的方法是:①使用GBCBIG.SHX大汉字字库②加载NewC.LSP程序( NewC.DCL 2000.SLD两个文件加载不上,不知怎样处理?③在“命令:”提示下,用IText启动本程序,出现以下对话:
命令: itext
; 错误: no function definition: SETIERR
   请指教!!!
我的地址为:xiachangju@163.com
发表于 2003-3-28 19:10:00 | 显示全部楼层

着急啊!求助:陈老师

陈老师,最近我在华储网邮购了《AutoCAD2002高级应用技术》一书,书上说附加光盘提供了三个字体文件及NewC.LSP、CDIM等程序,但没见附加光盘。承蒙你给我发来了邮件,但我在cad2004中总是不能使用NewC.LSP程序.我的方法是:①使用GBCBIG.SHX大汉字字库②加载NewC.LSP程序( NewC.DCL 2000.SLD两个文件加载不上,不知怎样处理?③在“命令:”提示下,用IText启动本程序,出现以下对话:
命令: itext
; 错误: no function definition: SETIERR
   请指教!!!
我的地址为:xiachangju@163.com
发表于 2003-3-31 15:15:00 | 显示全部楼层

已经回复E-Mail

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-26 07:34 , Processed in 0.189329 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表