メインコンテンツまでスキップ

WOVN SDKでサポート外コンポーネントを翻訳する方法(自動翻訳)

WOVN SDKは直接サポートされていないコンポーネントを翻訳するためのWovn().translateメソッドを提供しています。WovnListenableBuilderと組み合わせることで、言語やデータ変更時に翻訳が更新されることを保証できます。

  1. Wovn().translateを直接使用 - シンプルなユースケースに最適
  2. WovnListenableBuilderと併用 - 言語やデータ変更に対応が必要な複雑なシナリオに最適

1. Wovn().translate(String translate(String src, {BuildContext? context, String? screenName}))

シンプルなケースでは、サポート外コンポーネント内のテキストを直接翻訳するためにWovn().translateを使用します。

使用例

FlutterText(Wovn().translate(
'Wovn().translateを使用して任意のウィジェットを翻訳できます。',
screenName: "ExampleScreen"
)),

FlutterText(
'${Wovn().translate('テキストの一部のみ翻訳することも可能です。例: 次のメールは報告/翻訳されません:', screenName: "ExampleScreen")} important@client.email'
),

2. WovnListenableBuilderとの併用方法

言語やデータ変更時にウィジェットを更新する必要がある場合は、WovnListenableBuilderでラップしてください。これにより翻訳の更新が自動適用されます。

使用例

class WovnListenableBuilderScreen extends StatelessWidget {
final String title;

WovnListenableBuilderScreen({super.key, required this.title});

@override
Widget build(BuildContext context) {
return Scaffold(
appBar: wovnAppBar(title, context),
body: WovnListenableBuilder(
builder: (context, child) {
return ListView(
children: <Widget>[
FlutterText(Wovn().translate(
'このStatelessWidgetのテキストは、言語の変更が呼び出されたり、新しいデータが更新されたりすると自動的に更新されます。',
screenName: "ExampleScreen"
)),
FlutterText(Wovn().translate(
'Wovn().translateを使用して任意のウィジェットを翻訳できます。',
screenName: "ExampleScreen"
)),
FlutterText(
'${Wovn().translate('もちろんテキストの一部を翻訳することもできます。 例: 次の電子メールは報告または翻訳されません:', screenName: "ExampleScreen")} important@client.email'
),
],
);
},
),
);
}
}