首页 > 解决方案 > 错误:使用 EasyLocalization Flutter 更改翻译文件的路径

问题描述

我是使用颤振的新手,我正在尝试在我的项目中实现 EasyLocalization,我有两个项目,一个用于 json 文件,另一个用于应用程序,但我不知道如何设置路径以识别文件托管在翻译项目中。在我的代码下面:

import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:jarvis_ui/jarvis_ui.dart';

import './src/ui/view/view.dart';
import 'idle.dart';
import 'src/ui/ui.dart';
import 'src/ui/view/error/error.dart';

Future<void> main() async {
  String defaultRoute = window.defaultRouteName;
  Uri _uri = Uri.parse(defaultRoute);
  WidgetsFlutterBinding.ensureInitialized();
  await EasyLocalization.ensureInitialized();
  await SystemChrome.setPreferredOrientations(
    <DeviceOrientation>[
      DeviceOrientation.portraitUp,
      DeviceOrientation.portraitDown,
    ],
  );
  runApp(
    EasyLocalization(
      supportedLocales: <Locale>[
        Locale('es', 'CL'),
        Locale('es', 'CO'),
        Locale('es', 'PE'),
      ],
      fallbackLocale: Locale('es', 'CL'),
      path: 'packages/ui_shared/assets/languages',
      assetLoader: RootBundleAssetLoader(),
      child: ProviderScope(
        observers: <ProviderObserver>[
          // Logger(),
        ],
        child: MyApp(params: _uri.queryParameters),
      ),
    ),
  );
}

class MyApp extends HookWidget {
  const MyApp({required this.params});
  final Map<String, dynamic> params;

  @override
  Widget build(BuildContext context) => IdleApp(params: params);
}

Inimport 'package:jarvis_ui/jarvis_ui.dart';托管了用于翻译的 json 文件。然后,我认为分配路径的正确方法是: path: 'packages/ui_shared/assets/languages',但我错了。错误在这里:

在此处输入图像描述

在我存储了 json 文件的项目的 pubspec.yaml 中,我有这个:

flutter:
  assets:
    - assets/languages/

如果你能帮我解决这个问题,非常感谢。

标签: flutter

解决方案


推荐阅读