Translating Unsupported Components with WOVN SDK
The WOVN SDK provides the Wovn().translate
method to translate components that are not directly supported. You can also combine it with WovnListenableBuilder
to ensure translations are updated when the language or data changes.
- Use
Wovn().translate
directly – Best for simple use cases. - Use
Wovn().translate
withWovnListenableBuilder
– Ideal for more complex scenarios where you need to react to changes in language or data.
1. Wovn().translate(String translate(String src, {BuildContext? context, String? screenName}))
For straightforward cases, use Wovn().translate
directly to translate text in unsupported components.
Example
FlutterText(Wovn().translate(
'Wovn().translateを使用して任意のウィジェットを翻訳できます。',
screenName: "ExampleScreen"
)),
FlutterText(
'${Wovn().translate('もちろんテキストの一部を翻訳することもできます。 例: 次の電子メールは報告または翻訳されません:', screenName: "ExampleScreen")} important@client.email'
),
2. Wovn().translate
with WovnListenableBuilder
If your widget needs to update when the language or data changes, wrap it with WovnListenableBuilder
. This ensures that translation updates are applied automatically.
Example
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'
),
],
);
},
),
);
}
}