论坛风格切换切换到宽版
  • 1525阅读
  • 4回复

把两种不同的字典整理到一块,请教高手 [复制链接]

上一主题 下一主题
离线myidcn
 

发帖
19
金钱
180
威望
18
只看楼主 倒序阅读 0 发表于: 2016-03-15
请教高手帮忙:
我现在有2个语言版本的翻译,php文件,utf8格式,用记事本打开可以看见内容。
字符串=字符串的英文,版本。
字符串=字符串的中文版本。
现在我想让这两个版本合并,成passolo的字典
字符串=字符串的英文=字符串的中文。
在两个版本中,有些顺序和字符串不一样,请问高手有什么办法合并。
另外我用passolo打开我的中文版翻译(utf8格式,php格式源文件)显示乱码?有高手能告诉怎么能不显示乱码吗?
多谢了。
离线gnatix

发帖
7696
金钱
-8279
威望
-828
只看该作者 1 发表于: 2016-03-17
关于合并,答案是肯定的,但是你最好把那两个文件发上来。
关于显示乱码的问题,没有人知道你的具体情况,无法笼统回答的,最好你也把相关的文件发上来。
离线myidcn

发帖
19
金钱
180
威望
18
只看该作者 2 发表于: 2016-03-30
回 1楼(gnatix) 的帖子
如下面附件压缩包中有2个文件,他们的内容字段有些是一致的,但是顺序是乱的。
chs.zip (3 K) 下载次数:5
中文如下:


    'Ownership' => '所有者',
    'Phone' => '常用电话',
    'Press'=>'新闻媒体',
    'Prospect'=>'值得期待',
    'Reseller'=>'经销商',
    'SIC Code' => '标准产业分类代码',
    'SINGLE_Accounts' => '客户',    
    'Ticker Symbol' => '股票代码',
    'Website' => '网站',

英文如下:



    'LBL_ACCOUNT_INFORMATION' => 'Account Details',
    'LBL_ADD_RECORD' => 'Add Account',
    'LBL_COPY_BILLING_ADDRESS' => 'Copy Billing Address',
    'LBL_COPY_SHIPPING_ADDRESS' => 'Copy Shipping Address',
    'LBL_DUPLICATES_EXIST' => 'Account Name already exists',
    'LBL_END_DATE' => 'End Date',
    'LBL_RECORDS_LIST' => 'Account List',
    'LBL_SHOW_ACCOUNT_HIERARCHY' => 'Account Hierarchy',
    'LBL_START_DATE' => 'Start Date',
    'Member Of' => 'Member Of',
    'Other Email' => 'Secondary Email',
    'Other Phone' => 'Secondary Phone',
    'Ownership' => 'Ownership',
    'Phone' => 'Primary Phone',
    'Press'=>'Press',
    'Prospect'=>'Prospect',
    'Reseller'=>'Reseller',
    'SIC Code' => 'SIC Code',
    'SINGLE_Accounts' => 'Account',
    'Ticker Symbol' => 'Ticker Symbol',
    'Payment balance' => 'Payment balance',
    //OpenSaaS
    'LBL_CREATING_NEW' => 'New',
    'Fax' => 'Fax',



我想利用字段对应的关系,比如

    'Ownership' => '所有者',


    'Ownership' => 'Ownership',


生成passolo的字典。如下:
9 1 42
Ownership  所有者
SIC Code  标准产业分类代码






有没有这样的程序可以让2个文件中的对应字段生成字典。
这样的文件有1百多个。最好能够一下子全对应出来。



离线myidcn

发帖
19
金钱
180
威望
18
只看该作者 3 发表于: 2016-03-31
有没有高手回答一下啊。
离线wanfu

发帖
2683
金钱
11680
威望
1168
只看该作者 4 发表于: 2016-03-31
这个很简单啊,先定义一个 PHP 文件解析器规则,然后将 Accounts-en.php 这个文件添加到 Passolo 方案中,选用刚定义的 PHP 规则,创建字串列表并添加简体中文目标语言,然后打开翻译列表,使用字串列表菜单下的扫描目标文件功能,选择 Accounts-cn.php 文件导入翻译。其他 100 多个文件也可以用此方法。


该方法的要点是定义 PHP 文件解析器规则时要同时定义一个字串 ID,因为 Passolo 扫描导入和现有文件不同序的目标文件时,可以按照相同字串 ID 来导入翻译,不管二者是否同序或者不同行数。

下图中的 '(.+)'\x20*=>\x20*' 中的 (.+) 就是正则表达式中的子表达式,字串的 ID 栏中的第 n 个参数可以指定到这个子表达式,有多个这样的子表达式时可以选择想要的那个。


以上方法无需再生成字典。如果要生成,可以使用文件菜单下的导出菜单,选择 Passolo 术语表制作程序导出为 Passolo 字典即可。

PHP 文件解析器规则和方案文件如下:
PHP 文件解析规则.rar (2 K) 下载次数:3
chs.rar (14 K) 下载次数:3