美文网首页
Flutter国际化intl

Flutter国际化intl

作者: 小青蛙的花 | 来源:发表于2022-11-21 16:54 被阅读0次

    使用:

    flutter pub add intl
    还需要添加:
    flutter_localizations: # Add this line
        sdk: flutter         # Add this line
    
    1. 使用vscode插件 Flutter Intl


      1669106290349.jpg
    2. Ctrl+Shift+p (windows)打开控制台 选择输出化,成功后会生成。这里默认只能生成英文库


      image.png
    3. Ctrl+Shift+p (windows)打开控制台 选择添加中文库,输入 zh。会自动生成I10n的arb文件
    4. 修改对应arb文件添加字符串,保存会自动生成相应文件无需手动操作


      image.png
    5. 使用
              return MaterialApp(
                builder: EasyLoading.init(),
                routes: AppRouter.routeMaps,
                title: 'TOUR_GUIDE',
                theme: ThemeData(
                  primarySwatch: Colors.blue,
                ),
                localizationsDelegates: const [
                  S.delegate,
                  GlobalMaterialLocalizations.delegate,
                  GlobalWidgetsLocalizations.delegate,
                  GlobalCupertinoLocalizations.delegate,
                ],
                //设置初始语言
                locale: const Locale('en', ''), 
                supportedLocales: const [
                  Locale('en', ''), // English, no country code
                  Locale('zh', ''), // Chinese, no country code
                ],
              );
    
        //需要使用的地方调用S().home,
       TabIconModel(
            title: S().home,
            image: 'assets/images/home.png',
            selectImage: 'assets/images/home_sd.png'),
    
    每次保存会自动在S类生成对应get方法
    
    image.png
    1. 切换语言
    ///通过S load方法修改语言
    S.load(const Locale('zh', ''));
    
    1. 注意的地方
      貌似不支持嵌套,不知道是打开的方式不对,还是不支持。有知道的可以交流一波

    相关文章

      网友评论

          本文标题:Flutter国际化intl

          本文链接:https://www.haomeiwen.com/subject/radnxdtx.html