<meta http-equiv="Content-Type" content="text/html; charset=gb2312"><link href="解读%20CheckVendor_log/Css/netbeans.css" type="text/css" rel="stylesheet"><style type="text/css"></style>
使用 SDLX 处理 *.properties 文件
前言
根据我们现在处理 properties 文件的方法,在将 properties 转换成 .htm 格式的文件,或是在使用 Trados 清理翻译好的 .properties.htm 格式的文件时,总会带出很多转义的实体, ( 例如:表 1) ,这为我们的工程工作造成了很大的麻烦,也增加了 properties 文件出错的机率。为此我们希望使用一种新的方法,可以直接处理 properties 文件, SDL Trados 2006 Freelance (SDLX) 的发布给我们带来了希望,本文将对此工具处理 *.properties 文件的可行性作一番探索,并与我们目前使用的方法进行比较。
表 1 :需要通替的实体 |
“ | “ |
” | ” |
– – | - |
— | — |
< | < |
> | > |
& | & |
" | " |
详见, Checklist_all_files.xls
认识 properties 文件
java.util
Class Properties
java.lang.Object java.util.Dictionary java.util.Hashtable java.util.Properties All Implemented Interfaces:
Cloneable , Map , Serializable
Direct Known Subclasses:
Provider
public class Properties
extends Hashtable
The Properties class represents a persistent set of properties. The Properties can be saved to a stream or loaded from a stream. Each key and its corresponding value in the property list is a string .
A property list can contain another property list as its "defaults"; this second property list is searched if the property key is not found in the original property list.
Because Properties inherits from Hashtable , the put and putAll methods can be applied to a Properties object. Their use is strongly discouraged as they allow the caller to insert entries whose keys or values are not Strings . The setProperty method should be used instead. If the store or save method is called on a "compromised" Properties object that contains a non- String key or value, the call will fail.
When saving properties to a stream or loading them from a stream, the ISO 8859-1 character encoding is used. For characters that cannot be directly represented in this encoding, Unicode escapes are used; however, only a single 'u' character is allowed in an escape sequence. The native2ascii tool can be used to convert property files to and from other character encodings.
• *.properites 文件中的属性列表中每个键及其对应值都是一个字符串。
• 在调用这些流形式的字符串时,使用的编码是 ISO 8859-1 ,对于不能使用这种编码显示的字符,将使用 Unicode 转义方法表示。
• 可以使用 native2ascii 工具将这些 Unicode 字符转换为其他编码。
流程:
关于 SDLX TM :
根据现有 NetBeans 版本,生成一个 TM 库 :
使用新工具存在一个最大的问题就是如何利用现有的 TM 资源,下面将介绍生成 netbeans5.5 UI 的 SDLX 使用的 TM 库的方法。我没有直接从现有的 TRADOS 库进行转换,而是使用最终的中英单语文件进行对照生成,这样做的好处是,文件是最终产品中提取出来的,经过校对和客户的认可,正确率高;二是可以剔除现有 TADDOS 库存在的问题。
所需软件:
• SDL Trados 2006 Freelance ( 自动翻译工具,基于 TM 库对文件执行分析、翻译、编辑、还原等动作 )
• NetBeans5.5 ( 用于 Java 开发的 IDE ,除了 IDE 核心外,只安装了 Visual Web Pack)
• UniRed ( 用于查看 Unicode <\uXXXX> 格式的 properties 文件 )
• 提取文件
找到 NetBeans5.5 的安装目录下所有的 *.jar 文件,解压,使用 BeyondCompare 查看所有的 *.properties 文件。这些文件大概分为两类,一类是用于资源映射,一类是用于本地化的字符串,后者具有规律的后缀,用于中文 NetBeans 的文件后缀为 *_zh_CN.properties ,并放在相应的源英文文件所在目录的 zh_CN 文件夹下。它们大多具有相同的名称,所以最好保持文件的目录结构。
下图是一个提取的中文 Properties 文件:
TIP :如果想看看文件的具体内容,可以使用 native2ascii 命令对其进行转换,也可以使用 UniRed 编辑器直接查看上面的文件,效果如图:
• 使用 Align 对库
TM 库以 *.mdb 的格式存储。
新建一个库和一个对比文件,一次只能对比一对文件。
如果需要,或者文件比较琐碎,可以用 DOS 命令把中英文件分别写到一个文件中 (copy <filelist> all.properties) 。
在操作界面中对库:
具体操作参考: SDLX - Align Module.pdf
对 SDLX TM 库的评估
将几千个 properties 文件入库以后,用得到的 TM 库翻译 nb_en 中 properties 文件的结果:
log.xls ,具体的翻译方法是使用 SDLX Apply 模块。
log.xls 的部分结果:
• 从整体结果来看,大多数文件都能得到 100% 的翻译,图中的黄色部分是没有匹配上的部分,这是因为库中没有相应的翻译单元造成的,根据已翻译的内容还是有一小部分 fuzz match 上了 ( 例如: C165-C169) 。
• 从单个文件的匹配结果来看,如果一个文件曾经入库,那么它可以得到极好的翻译效果, SDLX 不会对 properties 文件中的符号进行转换或修改 ( 例如将 < 表示成 <: 将不间断空格表示成 等等 )
• 缺点:翻译几百个文件比较费时。
具体操作
新建一个 SDLX 项目
创建项目的好处是可以对文件统一管理,批量操作。
使用 Project Wizard 创建项目。
根据向导导入要翻译的 properties 文件,向导会在源文件夹的根目录下创建 Chinese (PRC) 文件夹,其中是包含完整路径的 .itd 文件 (SDLX 的双语文件 ) 。 TRADOS 7.0 以上版本支持对 ITD 文件进行编辑,但 WorkBench 不支持此格式。 SDLX 是可以完全脱离 TRADOS 的 CAT 工具,但又可以与 TRADOS 很好地兼容,即可以使用 TRADOS 的 TM 库、 TagEditor 等功能。
分析文件
使用 Analysis 向导。 ( 相当于 TRADOS WorkBench 的 Tools --> Analysis 功能 )
根据向导的提示完成操作,
优点是可以生成良好格式的报告, .log/.csv 格式,如图:
使用 Apply 向导进行预翻译
使用 Apply 向导可以对 ITD 文件应用一个或者多个 TM 库进行预翻译,同时可以设置文件的语言、 encoding 、生成报告等等。 ( 相当于 TRADOS WorkBench 的 Tools --> Translate 功能 ) 。
编辑自动翻译的结果
如果有对自动翻译不满意的地方,可以使用 SDLX Eidt 模块对文件进行编辑。下图是进行编辑时的工作区:
在编辑时可以对文件实时预览:
从上图可以看出,除了文件名外,使用 SLDX 处理的 properties 文件不用经过其他的工程处理,就已经符合 properties 文件的标准了。
而我们目前使用的方法,还需要将翻译好的 *.properites.htm 使用 javatool0922.exe 进行转换,再通替实体等字符,再使用 native2ascii -reverse 命令才能达到 SDLX 的预览效果。
点击“预览”按钮时,会在源文件处生成相应的 properties 文件,为便于查看文件的具体内容,达到“预览”的效果,也可以使用 UniRed 打开这个文件:
再次使用 project wizard
将文件还原为 properties 格式。 ( 相当于 TRADOS WorkBench 的 Tools --> clean up 功能 ) ,而且文件内容直接显示为 unicode 字符。
使用 beyondcompare 、 CheckVendor 等工具进行检查。
存在的问题
SDLX 会将行尾单独出现的 \ 作为转义字符,例如下图中,行尾的 \ 就被转义掉了:
这种情况是否可以忽略?
如果不行,可以使用 BeyondCompare 检查并更正。
参考资料
分享到:
相关推荐
(*.xml)、Trados TagEditor 文件 (*.ttx)、Trados Word 未清理文件 (*.doc, *.rtf)、Trados Studio 文件 (*.sdlxliff, *.sdlproj)、SDLX ITD 文件 (*.itd)(注:该选项需要你的电脑安装 SDLX)、SDLX 记忆库 (*.mdb)、...
- Translator's Workbench/SDLX, Version 8.0, can be borrowed for 672 hours - Synergy Client, Version 8.0, can be borrowed for 672 hours ``` - 虽然显示为 “借用 672 小时”,但实际上不会减少。 #### ...
调用SDLX的必要文件 SDLX是SDL公司早期的一款本地化翻译工具,在2006年至2011年左右比较流行,SDL将SDLX和Trados合并打包在一起作为Translation Suite整体发布,同时SDLX还多年作为SDL 企业级系统TMS(Translation ...
名称SDLx :: Betweener-SDL Perl XS补间动画库概要 # simple linear tweenuse SDLx::Betweener;# if you are writting a Perl SDL program, you probably have an app object$sdlx_app = SDLx::App->new(...);# ...
“德语翻译员个人简历模板.doc”文件很可能提供了这样的结构和指导,帮助您构建一个专业且吸引人的简历。下载并使用这个模板时,确保根据自己的实际情况进行修改,使其个性化,这样才能更好地展现您的独特价值。祝您...
这些工具可能包括文件转换器、清理工具、记忆库和术语库的处理工具等,它们可以帮助用户更有效地操作和管理翻译项目。 总之,"CAT 转换 QA 工具"是一种全面的解决方案,它结合了多种翻译工具的优点,旨在提升翻译...
SDL Trados Studio是一款专业的翻译记忆库管理软件,主要用于帮助翻译人员和项目经理更加高效地管理和使用翻译记忆库资源。翻译记忆库(Translation Memory,简称TM)是翻译行业中的一个重要工具,它存储了大量的...
文档提到了Trados、MultiTerm、SDL PerfectMatch、SDLX、Passolo和TranslationZone等是SDL plc公司的注册商标,而Translator's Workbench、Trados Studio、TagEditor、QuickPlace和AutoSuggest则是其商标。...
计算机辅助翻译的发展现状显示,市场上已有多种专门的翻译软件,如Trados、WordFast、SDLX等,它们不仅包含翻译记忆功能,还具备术语管理、项目管理和协作工具等功能。此外,一些通用软件如Microsoft Word、电子辞书...
这也使用SDL2_image,SDL2_ttf和SDL2_mixer 这些在SDL2网站上,通过brew或在此存储库中在Dev / includes / SDL2下可用。 内容 该库包含动画,输入和显示工具。 -现在- h文件中的文档,有时在此处写摘要 已知的...