我正在为Android和iOS开发Flutter应用程序。我需要同时支持英语和法语。公司名称会根据语言而变化。因此,如果用户将其设备设置为英语,则应用程序名称应为“ MyCompanyEN”,如果用户将其设备设置为法语,则应用程序名称应为“ MyCompanyFR”。
我已经在应用程序中设置了本地化。用户可以使用应用内设置页面更改应用的语言。效果很好。
这是我设置main.dart文件的方式。
import 'package:flutter/material.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:job_bank_mobile/services/translation_service.dart';
import 'package:job_bank_mobile/pages/splashscreen.dart';
import 'package:job_bank_mobile/nested_tab_navigation/my_navigator.dart';
void main() async {
await translationService.init();
runApp(new MyApp());
}
class MyApp extends StatelessWidget {
// ROOT OF APPLICATION BUILD PROCESS
@override
Widget build(BuildContext context) {
return new MaterialApp(
localizationsDelegates: [
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,
],
// Tells the system the supported languages
supportedLocales: translationService.supportedLocales(),
title: translationService.text("app_title"),
home: Splashscreen(MyNavigator()),
);
}
}
但这仅适用于内部应用程序。
当设备的语言更改时,我想更改应用程序的名称。
例如: 在android设备上,当用户将设备设置为英语时,Clock应用程序称为“时钟”,但是在其设备设置为法语时,Clock应用程序则称为“ Horloge”。