SmartlingContextKit 0.12.0

SmartlingContextKit 0.12.0

测试已测试
语言语言 Obj-CObjective C
许可 商业
发布上次发布2017年2月

Scott RossilloEmilien Huet 维护。



Smartling 上下文捕获库

注意:此库已弃用。请使用具有改进字符串匹配功能的更新的 Smartling 上下文捕获框架

从原生 iOS 应用程序捕获上下文并将其上传到 Smartling 的翻译管理系统。查看下面的演示视频和说明。

针对 iOS 的翻译上下文

Smartling 上下文插件提供捕获原生 iOS 应用程序视图的能力,为 Smartling 翻译界面中显示的源内容提供上下文。Smartling 分析上传的视图以获取上下文并与 Smartling 项目中的字符串进行匹配。当 Smartling 找到匹配项时,捕获的视图成为用户在 Smartling 翻译界面中看到的视觉上下文。Smartling 不会创建上传到上下文匹配服务的任何新内容,Smartling 中的每个唯一字符串只能有一个上下文。

入门

如果您还没有 Smartling 账户,请在 Smartling.com 上注册。

将 Smartling 属性文件添加到项目中

在主项目中创建名为 Smartling.plist 的文件。内容应类似于以下内容

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>enabled</key>
    <true/>
    <key>apiKey</key>
    <string>your-key-here</string>
    <key>projectId</key>
    <string>your-project-id-here</string>
</dict>
</plist>

可选,您可以选择省略 enabled 或将其设置为 <false/> 并以编程方式启用上下文捕获(如下所示)。

注意:您可以在 Smartling 控制板中的 项目设置 -> API 下找到您的项目 ID 和 API 密钥。

安装

Podfile

pod 'SmartlingContextKit', :configurations => ['Debug']

下载框架

  1. 下载 Smartling Context Kit 的最新版本 最新发布
  2. 解压缩发布压缩文件并将 SmartlingContextKit.framework 拖入您的项目框架文件夹
  3. 添加 "-ObjC" 链接器标志(见截图
  4. 请确保链接以下 iOS 框架
    1. CFNetwork
    2. MobileCoreServices
    3. Security
    4. SystemConfiguration

如需进一步帮助,请参阅苹果的应用程序配置指南

在 Smartling 项目中本地化字符串

1) 请确保您的资源文件已上传到 Smartling 项目。请参阅我们的帮助中心以了解 Smartling 中资源文件的详细信息。

2) 请确保在主项目中 Smartling.plist 文件中正确输入您的 ProjectID 和 APIKey。

3) 在测试环境中启动您的应用。点击任意屏幕上的“HI”按钮以捕获该屏幕的上下文。

Image of Yaktocat

4) Smartling 将在您的 Smartling 项目中搜索匹配的字符串,并使用您刚才拍摄的快照显示这些字符串的动态上下文。

自动捕获上下文

如果您正在自动化 UI 测试,您可以从 UI 测试脚本中以编程方式捕获上下文。使用以下代码片段捕获每个视图的上下文

var appWindow = target.frontMostApp().mainWindow();
appWindow.buttons()["Smartling Capture Context"].tap();

请注意

  1. UIAlertViews 和 UIActionSheets 会自动捕获。显示这些视图之一后,请不要调用 .tap()
  2. 每个视图仅轻击一次上下文捕获按钮。按钮在一次轻击后将被移除。

在运行时启用或禁用上下文捕获库

从版本 0.11.0 开始,您可以使用通知在应用运行时启用或禁用 Smartling 上下文捕获库。

启用上下文捕获库

Objective-C

[[NSNotificationCenter defaultCenter] postNotificationName:@"SMContextCaptureEnable" object:self];

Swift

NSNotificationCenter.defaultCenter().postNotificationName("SMContextCaptureEnable", object: self)

禁用上下文捕获库

Objective-C

[[NSNotificationCenter defaultCenter] postNotificationName:@"SMContextCaptureDisable" object:self];

Swift

NSNotificationCenter.defaultCenter().postNotificationName("SMContextCaptureDisable", object: self)

反馈

iOS 上下文目前处于测试阶段。这意味着我们需要您的反馈。请将任何问题或建议发送至 [email protected]。如果某个特定字符串的上下文不满意,请发送屏幕截图或仪表板链接。