この記事では、Flutter SDK の主な機能について説明します。
目次
- runAppWithWovn()
- changeLang()
- changeToSystemLang()
- translate()
- startVisualUpdating()
- setPermission()
void runAppWithWovn(Widget app)
このメソッドは runApp() を置き換え、Wovn SDK を初期化します。初期化中に、SDK は Wovn サーバーから必要なデータを取得し、端末言語を取得します。これは、クライアント アプリの main.dart ファイル内、またはメイン メソッドが配置されている場所で呼び出す必要があります。
例:
void main() async {
Wovn().runAppWithWovn(const MyApp());
}
void changeLang(Locale newLang)
このメソッドは、アプリに表示される言語を渡された newLang Locale に変更します。 これが呼び出されると、選択したロケールに一致するように表示される翻訳も変更されます。
注: このメソッドは、Wovn ダッシュボードに登録されている言語に基づいて、国コードの有無にかかわらずロケールを処理できます。
例:
Wovn().changeLang(const Locale("en", "GB"));
Wovn().changeLang(const Locale("en"));
void changeToSystemLang()
このメソッドは、アプリに表示される言語を現在のデバイス システム ロケールに変更します。 これが呼び出されると、システム ロケールに一致するように表示される翻訳も変更されます。
例:
Wovn().changeToSystemLang()
String translate(String src, {BuildContext? context, String? screenName})
このメソッドは、SDK 内で現在選択されているロケールに基づいて、渡された src 文字列と一致する翻訳された値を返します。 翻訳が見つからない場合は、未翻訳の src を返し、その値を翻訳のために Wovn ダッシュボードに報告します。
注: この関数は、WovnText や WovnRichTexts などの Wovn UI 拡張機能を使用して翻訳できないテキストにのみ使用してください。
例:
TextSpan(
text: Wovn().translate('こんにちは', context: context),
style: const TextStyle(fontStyle: FontStyle.italic, color: Color.fromARGB(255, 248, 125, 116)),
)
void startVisualUpdating(BuildContext context, {int refreshIntervalMS = 100})
このメソッドが呼び出されると、SDK は自動的に UI をスキャンし、refreshIntervalMS パラメータに基づいてその中のすべての値をレポート/変換します。
注: この機能は UI のちらつきを引き起こすため、これを回避する必要があるアプリには推奨されません
例:
Widget build(BuildContext context) {
Wovn().startVisualUpdating(context, refreshIntervalMS:100);
...
}
void setPermission(DataSafetyPermission permission, bool value)
このメソッドを使用すると、クライアントはブール値パラメーターに基づいて特定の権限を有効または無効にすることで、SDK によって報告されるデータの種類を選択できます。
-
「DataSafetyPermission.report」を有効にすると、SDK がアプリの UI 値を Wovn ダッシュボードにレポートできるようになります。
-
「DataSafetyPermission.dynamic」を有効にすると、SDK がアプリの動的な値を Wovn ダッシュボードにレポートできるようになります (これは、ワイルドカードを含む値を変換するために必要です)。
-
「DataSafetyPermission.error」を有効にすると、デバッグや将来の機能開発に役立つように、SDK が SDK のエラーを Wovn サーバーに報告できるようになります。
-
例:
Wovn().setPermission(DataSafetyPermission.report, true);
Wovn().setPermission(DataSafetyPermission.dynamic, true);
Wovn().setPermission(DataSafetyPermission.error, true);