我正在开发一个遵循干净代码架构的 Flutter 项目,并使用 ARB 文件进行本地化。我想组织每个功能和组件中的翻译文件,但我不确定构建它们的最佳方法。目前,我的项目如下所示:
lib/
├── features/
│ ├── feature_1/
│ │ ├── data/
│ │ ├── domain/
│ │ ├── presentation/
├── l10n/
└── main.dart
我的目标是将本地化文件移近每个功能,如下所示:
lib/
├── features/
│ ├── feature_1/
│ │ ├── data/
│ │ ├── domain/
│ │ ├── presentation/
│ │ │ └── l10n/
│ │ │ ├── feature_1_en.arb
│ │ │ └── feature_1_de.arb
└── main.dart
我有一些具体问题:
.arb
文件,以便它们驻留在每个功能的 presentation
文件夹中(例如,lib/features/feature_1/presentation/l10n
)?任何建议或例子将不胜感激!
您的目标是干净的代码架构并考虑功能级别的本地化,这真是太好了。
虽然代码干净,但重要的是不要使解决方案过于复杂或紧密耦合。集中式本地化文件的通用结构已经过优化,并且遵循干净的代码原则。在重组之前,问问自己:
根据我的经验,集中式方法更容易,因为许多字符串被重用。它通过单一来源处理所有内容,简化了更新并使本地化管理更加高效。
示例: