公開APIリファレンス
Status APIs
getWovnStatus
getWovnStatus() -> WovnStatus
WOVN SDK の現在のステータスを取得します。ロードステータス、データセーフティ、権限、利用可能な言語などの情報が含まれます。
戻り値: SDK の状態に関する詳細情報を含む WovnStatus オブジェクト。
例:
let status = Wovn.getWovnStatus()
print("SDK ロードステータス: \(status.loadStatus)")
getCurrentLangCode
getCurrentLangCode(waitForInstance: Bool = true) -> String?
WOVN SDK によって選択された現在の言語コードを取得します。
パラメータ:
waitForInstance: WOVN インスタンスの準備が整うまで待機するかどうか。
戻り値: 現在の言語コード(例: "en", "ja")または利用できない場合は nil。
例:
if let langCode = Wovn.getCurrentLangCode() {
print("現在の言語コード: \(langCode)")
}
hasPermission
hasPermission(permission: WovnPermission) -> Bool
特定の WOVN 権限が現在有効かどうかを確認します。
パラメータ:
permission: 確認するWovnPermission。
戻り値: 有効であれば true、それ以外は false。
例:
let hasReportPermission = Wovn.hasPermission(permission: .report)
Setting APIs
start
start(appGroupIdentifier: String? = nil, isDebugMode: Bool = false, autoTranslateUIKit: Bool = true, isNotificationServiceEnv: Bool = false)
WOVN SDK を初期化および設定します。このメソッドは翻訳データや設定をセットアップし、オプションで UIKit メソッドをスウィズルして自動翻訳を行います。
パラメータ:
appGroupIdentifier: アプリグループの識別子(オプション)。isDebugMode: ログおよびテスト用にデバッグモードを有効にします。デバッグビルドでのみデバッグモードを有効にするために_isDebugAssertConfiguration()を使用することを推奨します。autoTranslateUIKit: UIKit メソッドをスウィズルして UI 要素を自動的に翻訳します。isNotificationServiceEnv:trueの場合、通知翻訳環境向けに SDK を最適化します。
例:
Wovn.start(
appGroupIdentifier: "group.io.wovn.workbox",
isDebugMode: _isDebugAssertConfiguration(),
autoTranslateUIKit: true,
isNotificationServiceEnv: false
)
eventTypeReport (非推奨)
eventTypeReport(_ isDebugMode: Bool = false)
v3.5.0 から非推奨: 新しいコードでは start を使用してください。
基本的なオプションで WOVN SDK を初期化・開始します。
パラメータ:
isDebugMode: ログおよびテスト用にデバッグモードを有効にするかどうか(デフォルト:false)。
例:
Wovn.eventTypeReport(true)
changeLang
changeLang(lang: String, callback: ((String) -> Void)? = nil)
現在の言語を指定された言語コードに変更します。
パラメータ:
lang: 目標の言語コード。callback: 変更完了後に新しい言語コードを受け取るクロージャ。(廃止予定)
例:
Wovn.changeLang(lang: "fr")
changeToSystemLang
changeToSystemLang(callback: ((String) -> Void)? = nil)
現在の言語をシステムのデフォルト言語に変更します。
パラメータ:
callback: 変更完了後に新しい言語コードを受け取るクロージャ。(廃止予定)
例:
Wovn.changeToSystemLang { newLang in
print("言語が変更されました: \(newLang)")
}
setUserPermission
setUserPermission(permission: WovnPermission, enabled: Bool)
特定の WOVN 機能(例: レポート、エラーレポート)の権限を設定します。
パラメータ:
permission: 設定するWovnPermissionタイプ。enabled: 権限を有効にする場合はtrue、無効にする場合はfalse。
例:
Wovn.setUserPermission(permission: .report, enabled: true)
Translation APIs
translate
translate(src: String, screenName: String) -> String
指定された screenName の翻訳を使用して、与えられたソーステキスト src を翻訳します。
パラメータ:
src: ソーステキスト。screenName: 翻訳に関連付けられた画面名。
戻り値: 翻訳されたテキスト、または翻訳が見つからない場合は元の src。
例:
let translatedText = Wovn.translate(src: "Hello", screenName: "MainScreen")
translate
translate(navigationItem: UINavigationItem, screenName: String? = nil, translationType: TranslationType = .translateView, completionHandler: @escaping () -> Void = {})
現在の言語を使用して UINavigationItem のタイトルや要素を翻訳します。
パラメータ:
navigationItem: 翻訳対象のナビゲーションアイテム。screenName: 翻訳のための画面名(オプショ ン)。translationType: 翻訳のタイプ(デフォルトは.translateView)。completionHandler: 翻訳完了後に呼び出されるクロージャ。(廃止予定)
例:
Wovn.translate(navigationItem: myNavItem, screenName: "DetailView")
translate
translate(navigationItem: UINavigationItem, viewController: UIViewController, translationType: TranslationType = .translateView, completionHandler: @escaping () -> Void = {})
前述のメソッドと似ていますが、UIViewController のクラス名から画面名を推測します。
パラメータ:
navigationItem: 翻訳対象のナビゲーションアイテム。viewController: 画面名を提供するコントローラ。translationType: 翻訳のタイプ。completionHandler: 翻訳完了後に呼び出されるクロージャ。(廃止予定)
例:
Wovn.translate(navigationItem: navigationItem, viewController: self)
translateView
translateView(view: UIView, screenName: String? = nil, translationType: TranslationType = .translateView, completionHandler: @escaping () -> Void = {})
指定された UIView を現在の言語に翻訳します。オプションで画面名と翻訳タイプを指定できます。
パラメータ:
view: 翻訳対象のビュー。screenName: 翻訳を取得する画面名(オプション)。translationType: 翻訳のタイプ(デフォルトは.translateView)。completionHandler: 翻訳完了後に呼び出されるクロージャ。(廃止予定)
例:
Wovn.translateView(view: myView, screenName: "MainScreen")
translateView
translateView(view: UIView, viewController: UIViewController, translationType: TranslationType = .translateView, completionHandler: @escaping () -> Void = {})
指定された UIViewController のクラス名から画面名を推測して UIView を翻訳します。
パラメータ:
view: 翻訳対象のビ ュー。viewController: 画面名を提供するビューコントローラ。translationType: 翻訳のタイプ(デフォルトは.translateView)。completionHandler: 翻訳後に呼び出されるクロージャ。(廃止予定)
例:
Wovn.translateView(view: myView, viewController: self)
translateNotificationContent
translateNotificationContent(notiContent: UNMutableNotificationContent) -> UNMutableNotificationContent
UNMutableNotificationContent の title、subtitle、および body フィールドを翻訳します。
パラメータ:
notiContent: 翻訳対象の通知コンテンツ。
戻り値: 翻訳されたフィールドを含む同じ通知コンテンツのインスタンス。
例:
let translatedContent = Wovn.translateNotificationContent(notiContent: originalContent)