Flutter 从远程服务器初始化翻译源代码?
我试图使用getX作为颤振状态管理工具。GetX有自己处理语言翻译的方法。我不确定的一件事是,如何从远程服务器初始化翻译源代码,而不是硬编码翻译。通过这种方式,我可以在不需要发布新应用程序的情况下修改翻译Flutter 从远程服务器初始化翻译源代码?,flutter,getx,Flutter,Getx,我试图使用getX作为颤振状态管理工具。GetX有自己处理语言翻译的方法。我不确定的一件事是,如何从远程服务器初始化翻译源代码,而不是硬编码翻译。通过这种方式,我可以在不需要发布新应用程序的情况下修改翻译 欢迎任何建议。谢谢。我有DotNet WebAPI后端,我正在发送以下格式的翻译: [ApiController] [Route("[controller]")] public class TranslationsController : ControllerBase {
欢迎任何建议。谢谢。我有DotNet WebAPI后端,我正在发送以下格式的翻译:
[ApiController]
[Route("[controller]")]
public class TranslationsController : ControllerBase
{
[HttpGet]
public async Task<IActionResult> GetAll()
{
return Ok(new
{
en_US = new
{
hi = "Hi",
bye = "Bye"
},
bn_BD = new
{
hi = "ওহে",
bye = "বিদায়"
}
});
}
}
这是我的MyApp:
class TranslationProvider extends GetConnect {
Future<AppTranslations?> getTranslations() async {
final url = 'http://192.168.0.106:5000/translations';
final response = await get(url, decoder: AppTranslations.fromJson);
if (response.hasError) {
return Future.error(response.statusText!);
}
return response.body;
}
}
class MyApp extends StatelessWidget {
final AppTranslations translations;
const MyApp({Key? key, required this.translations}) : super(key: key);
@override
Widget build(BuildContext context) {
return GetMaterialApp(
translations: translations,
locale: Locale("en_US"),
home: MyHomePage(),
);
}
}
你完了!现在,您可以在API中更新您的翻译,更新将反映在应用程序上
void main() async {
final translationProvider = TranslationProvider();
final translations = await translationProvider.getTranslations();
runApp(MyApp(translations: translations!));
}
class MyApp extends StatelessWidget {
final AppTranslations translations;
const MyApp({Key? key, required this.translations}) : super(key: key);
@override
Widget build(BuildContext context) {
return GetMaterialApp(
translations: translations,
locale: Locale("en_US"),
home: MyHomePage(),
);
}
}