首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >抖动国际化,intl代码生成不起作用

抖动国际化,intl代码生成不起作用
EN

Stack Overflow用户
提问于 2021-02-13 14:04:05
回答 1查看 5.8K关注 0票数 2

我用Android创建了一个新的项目。我使用的是code-generation空安全,我在物理设备上运行应用程序,但是无法工作,在.dart_tool文件夹中没有flutter_gen文件夹,只有flutter_build文件夹。

我遵循了Flutter的官方国际化文件中的步骤

我不使用颤振输入插件,因为它不支持空安全(我知道您可以创建一个脚本,在每个生成的文件顶部添加一个旧的省道版本作为解决办法)

颤振医生命令输出:

代码语言:javascript
复制
[✓] Flutter (Channel beta, 1.26.0-17.5.pre, on Microsoft Windows [Versión 10.0.19042.804], locale es-ES)
    • Flutter version 1.26.0-17.5.pre at <PATH>
    • Framework revision 1fe38dcb5f (3 days ago), 2021-02-10 16:25:47 -0800
    • Engine revision d4453f6018
    • Dart version 2.12.0 (build 2.12.0-259.9.beta)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at <PATH>
    • Platform android-30, build-tools 30.0.2
    • Java binary at: <PATH>
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    • All Android licenses accepted.

[✓] Android Studio (version 4.1.0)
    • Android Studio at <PATH>
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[✓] VS Code (version 1.53.2)
    • VS Code at <PATH>
    • Flutter extension version 3.19.0

[✓] Connected device (1 available)
    • <DEVICE> • android-arm • Android 8.1.0 (API 27)

• No issues found!

/pubscpec.yaml:

代码语言:javascript
复制
name: example_app
description: A new Flutter application.
publish_to: 'none' 
version: 1.0.0+1

environment:
  sdk: ">=2.12.0-0 <3.0.0"
  
dependencies:
  flutter:
    sdk: flutter
  flutter_localizations:
    sdk: flutter
  intl: ^0.17.0-nullsafety.2
  cupertino_icons: ^1.0.1
  
dev_dependencies:
  flutter_test:
    sdk: flutter
  integration_test:
    sdk: flutter

flutter:
  uses-material-design: true
  generate: true

/lib/main.dart:

代码语言:javascript
复制
import 'package:example_app/ui/screen/home_page.dart';
import 'package:flutter/material.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
// TODO: uncomment the line below after codegen
// import 'package:flutter_gen/gen_l10n/app_localizations.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage('Flutter Demo Home Page'),
      localizationsDelegates: [
        // ... app-specific localization delegate[s] here
        // TODO: uncomment the line below after codegen
        // AppLocalizations.delegate,
        GlobalMaterialLocalizations.delegate,
        GlobalWidgetsLocalizations.delegate,
        GlobalCupertinoLocalizations.delegate,
      ],
      supportedLocales: [
        const Locale('en', ''), // English, no country code
        const Locale('es', ''), // Spanish, no country code
      ],
    );
  }
}

/lib/l10n.yaml:

代码语言:javascript
复制
arb-dir: lib/l10n
template-arb-file: app_en.arb
output-localization-file: app_localizations.dart

lib/l10n/app_en.arb

代码语言:javascript
复制
{
  "helloWorld": "Hello World!"
}

lib/l10n/app_es.arb

代码语言:javascript
复制
{
  "helloWorld": "Hola mundo!"
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-16 19:23:16

这是我的错误,将/lib/l10n.yaml/迁移到/l10n.yaml/解决了这个问题。

科尔沁回答。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66185977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档