公開APIリファレンス
このリファレンスでは Flutter SDK v4 が公開している主要メソッドをまとめています。SDK の初期化、翻訳、言語切り替え、WebView 連携に利用してください。
設定 API
initialize
Wovn.initialize({required String token, LocalSettings? config})
SDK を起動します。翻訳対象のウィジェットを描画する前に呼び出してください。
Parameters:
token: WOVN が発行するプロジェクトトークン。config: 任意のLocalSettings。logLevel(0=trace, 1=info, 2=warning) とtranslationPreviewMode(bool) を指定できます。
Example:
await Wovn.initialize(
token: 'YOUR_TOKEN',
config: const LocalSettings(
logLevel: 0, // 0 = trace, 2 = warn
translationPreviewMode: false,
),
);
wrapApp
Wovn.wrapApp(Widget app) -> Widget
ルートウィジェットをラップし、言語変更の通知を受け取れるようにします。
Parameters:
app: ルートウィジェット。
Returns: runApp に渡すウィジェットを返します。
Example:
runApp(Wovn.wrapApp(const MyApp()));
翻訳 API
translate
Wovn().translate(String text, {BuildContext? context, String? screenName}) -> String
未対応ウィジェットやログ出力など、任意の文字列を翻訳します。
Parameters:
text: 翻訳元の文字列。context: 画面名推定に使うBuildContext(任意)。screenName: 明示的に指定する画面名 (任意)。
Returns: 翻訳結果。該当がない場合は元の文字列を返します。
Example:
final label = Wovn().translate('Welcome!', screenName: 'HomeScreen');
WovnText, WovnRichText, WovnListenableBuilder
言語変更に合わせて自動で再描画される置き換え用ウィジェットです。利用するには package:wovn_flutter/wovn_flutter.dart を import します。
Notes:
- すべての WOVN ウィジェットは
isIgnoredプロパティをサポートしています。isIgnored: trueを設定すると特定のテキストを翻訳から除外できます。 - 詳細な例や代替アプローチについては 翻訳の除外 を参照してください。
Example:
WovnText('Welcome!', isIgnored: false);
言語 API
changeLang
Wovn().changeLang(Locale locale)
指定のロケールへ切り替えます。
Parameters:
locale: 例const Locale('ja')。
changeLangUsingLocaleString
Wovn().changeLangUsingLocaleString(String code)
IETF 言語タグを指定してロケールを切り替えます。
Parameters:
code:en-USやjaなど。
changeToSystemLang
Wovn().changeToSystemLang()
端末のシステム言語に合わせます。
lang / langCode
Wovn().lang -> Locale および Wovn().langCode -> String
現在のロケールを Locale または言語タグで返します。
languagesListCode
Wovn().languagesListCode -> List<String>
利用可能な言語コードの一覧を返します。
sourceLanguage / secondaryLanguage
Wovn().sourceLanguage -> Locale および Wovn().secondaryLanguage -> Locale?
プロジェクトに設定されたソース言語とセカンダリ言語を返します。
有効化/無効化 API
v4.1.0 以降で利用可能
isWovnEnabled
Wovn().isWovnEnabled -> bool
WOVN 機能が現在有効かどうかを返します。
Returns: WOVN が有効な場合 (翻 訳が動作し、レポートが有効な状態) は true、それ以外は false を返します。
Example:
if (Wovn().isWovnEnabled) {
debugPrint('WOVN translations are active');
}
enable
Wovn().enable()
WOVN 機能を有効化します。
有効化された状態では:
- テキストの翻訳が実行されます
- 未翻訳の文字列が WOVN サーバーにレポートされます
- WebView が翻訳されます
Example:
Wovn().enable();
disable
Wovn().disable()
WOVN 機能を無効化します。
無効化された状態では:
- 元の (未翻訳の) テキストが返されます
- WOVN サーバーへのレポートは行われません
- WebView は翻訳されません
- 言語設定は再度有効化されるまで保持されます
Example:
Wovn().disable();
WebView API
followWebViewController
Wovn().followWebViewController(WebViewController controller, {bool shouldTranslateImmediately = true})
webview_flutter で作成した WebViewController を登録します。
Parameters:
controller: 追跡するWebViewController。shouldTranslateImmediately:falseの場合はページ遷移ごとにtranslateWebViewsを呼び出してください。
Example:
late final WebViewController controller;
void initState() {
controller = WebViewController()
..setJavaScriptMode(JavaScriptMode.unrestricted)
..setNavigationDelegate(
NavigationDelegate(onPageFinished: (_) => Wovn().translateWebViews()),
);
Wovn().followWebViewController(controller, shouldTranslateImmediately: false);
}
translateWebViews
Wovn().translateWebViews()
追跡中の WebView へ翻訳を注入します。
getTranslateWebViewScript
Wovn().getTranslateWebViewScript() -> String
WebView 用の JavaScript スニペットを返します (高度な用途向け)。
旧 API
startVisualUpdating
Wovn().startVisualUpdating(BuildContext context)
旧方式のポーリング翻訳です。WovnListenableBuilder を使う場合は避けてください。
runAppWithWovn / init
Wovn().runAppWithWovn(...) と Wovn().init()
v1 で提供されていた API です。Wovn.initialize と Wovn.wrapApp を利用してください。
ステータス API
Wovn.isInitialized
Wovn.isInitialized -> bool
Wovn.initialize が完了したら true を返します。
Example:
if (Wovn.isInitialized) {
debugPrint('WOVN is ready');
}
getWovnStatus
Wovn().getWovnStatus() -> String
トークン、言語、利用可能言語、プレビューフラグ、Client ID を含む複数行のサマリー文字列を返します。
Example:
final status = Wovn().getWovnStatus();
debugPrint(status);
getClientId
Wovn().getClientId() -> String
Development Mode 登録に使う Client ID を返します。
isRunningInDevelopmentMode
Wovn().isRunningInDevelopmentMode() -> bool
端末がダッシュボードで承認済みかどうかを返します。
token
Wovn().token -> String
現在のプロジェクトトークンを返します。
version
Wovn.version -> String
SDK バージョン文字列を返します。
translationPreviewMode
Wovn().translationPreviewMode -> bool
プレビューモードが有効かつ端末が認証済みの場合のみ true を返します。