论坛风格切换切换到宽版
  • 6508阅读
  • 17回复

【已解决】SDL Passolo的txt/xml解析器,如何自定义特殊的需求?以及双语翻译 [复制链接]

上一主题 下一主题
离线shutude
 

发帖
36
金钱
360
威望
36
只看楼主 倒序阅读 0 发表于: 2014-03-10
比如txt解析器和xml解析器,普通的直接选就可以了,没问题
但是有几种情况,我试验了半天都搞不定
先说xml的,比如下面这句,这是软件自带的多国语言文件,默认的模板
  1. <label tag="lclzEDUVersion" devLabel=" - EDUCATIONAL VERSION" label=" "/>
devLabel=英文原文,label=多国语言翻译的文字,但是这里默认是空白的
对应的多国语言文件是这样,有英法德日,就是没中文
  1. 德文 <label tag="lclzEDUVersion" devLabel=" - EDUCATIONAL VERSION" label=" - SCHULUNGSVERSION"/>
  2. 日文 <label tag="lclzEDUVersion" devLabel=" - EDUCATIONAL VERSION" label=" - 教育機関限定製品"/>
怎么设置解析器才能提取devLabel=,然后把翻译结果写入到label=" "里面?

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
还有一种,举个例子
  1. 102=New
  2. 103=Open
这种的很简单,直接txt/xml解析器设置=后面是字串就可以了
但是有的时候,软件自带的翻译文件,没有英文,直接内置,只有其它语言
比如,****代表其它英法德日等等语言
  1. 102=****
  2. 103=**
这个时候该怎么办呢?
例如,左边是英文原文,=右边是其它国家语言
  1. Open=*****
或者=号右边干脆就是空白的,需要自己填写翻译
  1. Open=
对于更新频繁的,比如火狐浏览器插件什么的,每次手动太麻烦了

像这种不能直接替换英文字串的情况,该怎么办呢?







离线shutude

发帖
36
金钱
360
威望
36
只看该作者 1 发表于: 2014-03-10
还有一个问题,举个例子,如果我想把某些翻译,弄成中英双语,在SDL Passolo中该如何操作?
如果只是几个手动改就行了,如果是大量的改,就麻烦了


因为有些大段的功能提示或者错误提示,不好翻译,所以我想把英文原文和在线翻译的结果放到一起,不想只显示翻译


离线gnatix

发帖
7696
金钱
-8279
威望
-828
只看该作者 2 发表于: 2014-03-12
回 1楼(shutude) 的帖子
shutude:还有一个问题,举个例子,如果我想把某些翻译,弄成中英双语,在SDL Passolo中该如何操作?如果只是几个手动改就行了,如果是大量的改,就麻烦了 因为有些大段的功能提示或者错误提示,不 .. (2014-03-10 14:56)

这样的操作只能编写一个宏来完成。建议你按照正常方式翻译你的简体中文字串列表,不要破坏它。只是在创建目标文件时,你添加一个新的其它语言,比如阿尔巴尼亚语,再把 “原文+简体中文” 写入到新添加的语言中。

离线gnatix

发帖
7696
金钱
-8279
威望
-828
只看该作者 3 发表于: 2014-03-12
[注意:下面的宏只是解决 1 楼所说的问题!]

这是所需要的宏,供参考。
使用时把下载的文件解压后复制到你的宏文件夹中。

宏已更新。




离线gnatix

发帖
7696
金钱
-8279
威望
-828
只看该作者 4 发表于: 2014-03-12
效果图





离线wanfu

发帖
2657
金钱
11420
威望
1142
只看该作者 5 发表于: 2014-03-13
回 3楼(gnatix) 的帖子
gnatix:这是所需要的宏,供参考。使用时把下载的文件解压后复制到你的宏文件夹中。 ....... (2014-03-12 22:40)

这个办法怕不行吧?每添加一种语言都需要插入一行的吧。
离线caodaping

发帖
121
金钱
170
威望
17
只看该作者 6 发表于: 2014-03-13
楼主最好上传一个文件便于分析!
我原来用EmEditor加上正则表达式,查找和替换添加一种语言!

找到了以前做的笔记,供参考!


BLOG:http://www.caodaping.com
离线gnatix

发帖
7696
金钱
-8279
威望
-828
只看该作者 7 发表于: 2014-03-13
回 5楼(wanfu) 的帖子
wanfu:这个办法怕不行吧?每添加一种语言都需要插入一行的吧。 (2014-03-13 09:55) 

可以的。具体过程是这样:
1。按正常途径创建方案,里面有简体中文翻译列表
2。按正常途径翻译简体中文列表。根据这个列表产生的目标文件就是纯中文的目标文件。
3。再添加任意一种新的语言(不能是简体中文),比如阿尔巴尼亚语。新语言列表的属性可以和之前的简体中文列表完全一样,直接语言不能“简体中文”而已。
4。选择该新语言的翻译列表,运行上面给的宏。新语言列表的内容将自动填充为“原文”+"简体中文"。
5。接下来可以把新语言属性的语言更改为“简体中文”,根据这个翻译列表产生的目标文件将和 2。中产生的目标文件完全一样,只不过不是纯中文,而是“原文+中文”而已。
离线wanfu

发帖
2657
金钱
11420
威望
1142
只看该作者 8 发表于: 2014-03-13
我也修改了 INI 文件转换宏,增加了“插入行”和“删除行”转换类型,可以很方便地实现 LZ 想要的功能。
实际使用时要注意分隔符的灵活运用。

离线shutude

发帖
36
金钱
360
威望
36
只看该作者 9 发表于: 2014-03-15
回 8楼(wanfu) 的帖子
wanfu:我也修改了 INI 文件转换宏,增加了“插入行”和“删除行”转换类型,可以很方便地实现 LZ 想要的功能。实际使用时要注意分隔符的灵活运用。  (2014-03-13 22:27) 

非常感谢!成功了,转换类型还挺多,我再研究研究