可翻译的文本字段
一个文本字段,可根据您的选择以不同语言显示文本。
它的基本思想是将这些字段放置在有状态的Widget中,并将其与某种语言选择器结合使用来更改字段中的值。这不提供翻译功能。它只是一个Text widget,用于在UI中轻松切换以显示相同字符串的其他语言。
入门
要显示的Widget。
TranslatableText(
displayLanguage: Languages.german, //Chosen language to be displayed
options: [
TranslateOption(
language: Languages.english,
text: 'Hello',
),
TranslateOption(
language: Languages.spanish,//Language of the text
text: 'Hola',//The actual text
),
TranslateOption(
language: Languages.german,
text: 'Hallo',
),
], //List of possible language options and its related text
)/*The actual widget that gets placed in your flutter app. Its the exact same Text widget with the added feature
of having the displayLanguage and options properties. It supports all of the other Text field properties*/
注意:您也可以使用自己的自定义语言,而不是使用语言枚举(实际上它是一个返回Language类的类,该类又返回一个String :))。
示例
TranslatableText(
displayLanguage: Language('wookie'), //Chosen language to be displayed
options: [
TranslateOption(
language: Language('wookie'),
text: 'Grrrr....!',
),
]
)
完整示例
import 'package:flutter/material.dart';
import 'package:translatable_text_field/translatable_text.dart';
void main() {
runApp(MaterialApp(
home: Scaffold(
body: SafeArea(
child: TranslatableText(
displayLanguage: Languages.german,
options: [
TranslateOption(
language: Languages.english,
text: 'Hello',
),
TranslateOption(
language: Languages.spanish,
text: 'Hola',
),
TranslateOption(
language: Languages.german,
text: 'Hallo',
),
],
style: TextStyle(
color: Colors.blue,
fontSize: 40,
),
),
),
),
));
}
由Radamés J. Valentín Reyes在??制作