Bläddra i källkod

[new]增加语言类型配置功能

zk 8 månader sedan
förälder
incheckning
1ae56117cf
5 ändrade filer med 19 tillägg och 2 borttagningar
  1. 8 0
      CHANGELOG.md
  2. 1 0
      README.md
  3. 7 0
      lib/flutter_string_get_config.dart
  4. 2 1
      lib/string_get_runner.dart
  5. 1 1
      pubspec.yaml

+ 8 - 0
CHANGELOG.md

@@ -1,3 +1,11 @@
 ## 0.0.1
 
 * 增加 build_runner build/watch时自动生成string.gen.dart文件的功能
+
+## 0.0.3
+
+* 增加可配置输入输出目录功能
+
+## 0.0.4
+
+* 增加配置语言类型功能

+ 1 - 0
README.md

@@ -11,6 +11,7 @@
 flutter_string_get:
   input: assets/string/base/*.xml           # 输入目录
   output: lib/resource/string.gen.dart      # 输出文件
+  language: 'zh_CN'                         # 语言类型 默认为中文
 ```
 
 ### 清理build_runner命令

+ 7 - 0
lib/flutter_string_get_config.dart

@@ -5,16 +5,19 @@ import 'package:path/path.dart' as path;
 class FlutterStringGetConfig {
   String inputDir;
   String outputFile;
+  String language;
 
   FlutterStringGetConfig({
     required this.inputDir,
     required this.outputFile,
+    this.language = 'zh_CN',
   });
 
   factory FlutterStringGetConfig.defaults() {
     return FlutterStringGetConfig(
       inputDir: 'assets/string/base/*.xml',
       outputFile: 'lib/resource/string.gen.dart',
+      language: 'zh_CN',
     );
   }
 
@@ -31,6 +34,7 @@ class FlutterStringGetConfig {
       if (config == null) return getConfig;
       String input = _normalizePath(config['input']?.toString());
       String output = _normalizePath(config['output']?.toString());
+      String language = _normalizePath(config['language']?.toString());
 
       if (input.isNotEmpty) {
         getConfig.inputDir = input;
@@ -38,6 +42,9 @@ class FlutterStringGetConfig {
       if (output.isNotEmpty) {
         getConfig.outputFile = output;
       }
+      if (language.isNotEmpty) {
+        getConfig.language = language;
+      }
       return getConfig;
     } catch (e) {
       print('Error parsing flutter_string_get config: $e');

+ 2 - 1
lib/string_get_runner.dart

@@ -21,6 +21,7 @@ class StringXmlWatcherBuilder implements Builder {
 
     print('string_get_runner inputDir ${_config.inputDir}');
     print('string_get_runner outputFile ${_config.outputFile}');
+    print('string_get_runner language ${_config.language}');
     // 动态生成Glob监听模式
     _targetXmlGlob = Glob(_config.inputDir);
   }
@@ -54,7 +55,7 @@ class StringXmlWatcherBuilder implements Builder {
     multiBuffer.writeln('  StringMultiSource._();');
     multiBuffer
         .writeln('  static const Map<String, Map<String, String>> values = {');
-    multiBuffer.writeln('    \'zh_CN\': {'); // 默认基准语言
+    multiBuffer.writeln('    \'${_config.language}\': {'); // 默认基准语言
 
     // 遍历所有 XML 文件
     for (final file in xmlFiles) {

+ 1 - 1
pubspec.yaml

@@ -1,6 +1,6 @@
 name: string_get_runner
 description: Multilingual String Generation Plugin for GetX
-version: 0.0.3
+version: 0.0.4
 homepage: http://git.atmob.com/Atmob-Flutter/string_get_runner
 repository: http://git.atmob.com/Atmob-Flutter/string_get_runner
 documentation: http://git.atmob.com/Atmob-Flutter/string_get_runner