weixin_46664718 2024-04-25 00:30 采纳率: 0%
浏览 7
已结题

关于#c##的问题:最近需要用CAT工具Trados进行一些开发

最近需要用CAT工具Trados进行一些开发。
内容太多了
有谁能分享一下CHM版的SDK帮助文档?
想实现改变翻译状态,和字段加锁操作,有没有相关代码可以借鉴?

  • 写回答

20条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-04-25 00:30
    关注
    获得0.45元问题酬金

    引自免费微信小程序:皆我百晓生

    针对您在使用Trados CAT工具进行开发时的需求,具体涉及更改翻译状态和字段加锁操作,以下为您提供相应的解决方案与示例代码。由于Trados SDK并未公开提供CHM版帮助文档,建议您直接访问其官方开发者资源网站以获取最新、最准确的API文档和示例(SDL Developer Network)。以下代码示例基于Trados Studio API(.NET),假设您已正确安装并引用了所需的SDK库。

    1. 更改翻译状态

    要更改翻译单元(TranslationUnit)的翻译状态,您可以使用ITranslationProvider接口的SetTranslationStatus()方法。以下是一个示例代码片段:

    using Sdl.Core.Translation;
    using Sdl.ProjectAutomation.Core;
    
    // 获取当前项目实例
    var project = Project.GetProject(@"C:\Path\To\Your\Project.sdlproj");
    
    // 打开指定文件
    var file = project.Files["YourFileName.ext"];
    file.Open();
    
    // 获取翻译提供者
    var translationProvider = file.CreateTranslationProvider();
    
    // 遍历文件中的所有翻译单元
    foreach (var tu in file.TranslationUnits)
    {
        // 指定新的翻译状态(例如:已确认)
        var newStatus = TranslationStatus.Confirmed;
    
        // 调用SetTranslationStatus方法更改翻译状态
        translationProvider.SetTranslationStatus(tu.Id, newStatus);
    
        // 如果需要,同步更新到服务器(适用于协作项目)
        if (project.Type == ProjectType.Collaborative)
        {
            translationProvider.CommitChanges();
        }
    }
    
    // 关闭文件
    file.Close();
    

    2. 字段加锁

    在Trados Studio中,通常通过设置“锁定”属性(Locking)来控制特定字段是否可编辑。以下代码展示了如何锁定一个翻译单元(TranslationUnit)中的特定字段:

    using Sdl.Core.Formatting;
    using Sdl.Core.Translation;
    
    // 获取当前项目实例及文件、翻译提供者(同上)
    
    foreach (var tu in file.TranslationUnits)
    {
        // 选择要锁定的字段(例如:源文本)
        var fieldToLock = tu.Source;
    
        // 创建一个新的格式化属性集合(用于设置锁定属性)
        var newFormattingProperties = new FormattingProperties();
    
        // 设置锁定属性为True(锁定字段)
        newFormattingProperties.Locked = true;
    
        // 应用新的格式化属性到选定字段
        fieldToLock.ApplyFormattingProperties(newFormattingProperties);
    
        // 同步更新到服务器(适用于协作项目,同上)
    }
    
    // 关闭文件(同上)
    

    以上代码示例展示了如何使用Trados Studio API更改翻译状态和对字段进行加锁操作。请根据您的实际项目路径、文件名和翻译状态需求调整代码。在实际开发过程中,建议遵循良好的编程习惯,如异常处理、代码结构优化等,并确保已正确安装并引用Trados Studio SDK。

    请注意,尽管已尽力避免,但某些SDK方法或属性可能因版本更迭而发生变化。因此,建议始终参考最新的官方文档以获取最准确的信息。如果您遇到任何问题或需要进一步的帮助,请随时提问。

    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 5月3日
  • 创建了问题 4月25日

悬赏问题

  • ¥15 多址通信方式的抗噪声性能和系统容量对比
  • ¥15 winform的chart曲线生成时有凸起
  • ¥15 msix packaging tool打包问题
  • ¥15 finalshell节点的搭建代码和那个端口代码教程
  • ¥15 用hfss做微带贴片阵列天线的时候分析设置有问题
  • ¥15 Centos / PETSc / PETGEM
  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 海浪数据 南海地区海况数据,波浪数据