lhj-tools 0.2.66 → 0.2.68
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/lhj/command/local/fetch.rb +49 -15
- data/lib/lhj/command/local/local.rb +91 -112
- data/lib/lhj/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c23165c469fd6d71c90bdd7084b586791467fa476c5b7900bf6a6390c75c5a77
|
|
4
|
+
data.tar.gz: 0d2c4a52513393230ed54e001639e6bc86cc0eabcbd015ef753429785cfc5af8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c7cb08beec96cd9b1ab1c92c55c99aa364531ccae929a87a0dacff18d35e10b08af4616de77034641728ab208452e2253d71fe301f50fc8eda76c1d56035c9a4
|
|
7
|
+
data.tar.gz: 6bbbe3a17f63e7b8431a15d9e6e2e2345ab3993e41080aa8c03c7c024708133ae733336cce2a69ef51c9f4d8c64121aac091e2400b13504602b55518ab5ccfe4
|
|
@@ -1,30 +1,33 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
require 'csv'
|
|
3
|
+
require 'highline'
|
|
3
4
|
|
|
4
5
|
module Lhj
|
|
5
6
|
class Command
|
|
6
7
|
class Fetch < Command
|
|
7
8
|
self.summary = '提取源码的中文字符串,并生成中英文对照csv文件'
|
|
8
9
|
|
|
9
|
-
def self.options
|
|
10
|
-
[
|
|
11
|
-
%w[--file-type 从文件扩展名中查找中文字符串,默认为m,h],
|
|
12
|
-
%w[--file-name 生成csv文件名,默认为gen_cn_key.csv]
|
|
13
|
-
]
|
|
14
|
-
end
|
|
15
|
-
|
|
16
10
|
def initialize(argv)
|
|
17
11
|
@current_path = argv.shift_argument || Dir.pwd
|
|
18
|
-
@file_type = argv.option('file-type', 'm,h')
|
|
19
|
-
@file_name = argv.option('file-name', 'gen_cn_key.csv')
|
|
20
12
|
@cn_keys = []
|
|
21
13
|
@key_map = {}
|
|
14
|
+
@cli = HighLine.new
|
|
22
15
|
super
|
|
23
16
|
end
|
|
24
17
|
|
|
25
18
|
def handle
|
|
19
|
+
@file_name = @cli.ask(HighLine.color('生成csv文件名:', :green), String) do |q|
|
|
20
|
+
time = Time.now.strftime('%Y%m%d_%H%M')
|
|
21
|
+
q.default = "gen_cn_key_#{time}.csv"
|
|
22
|
+
end
|
|
23
|
+
@file_type = @cli.ask(HighLine.color('从哪些源码中查找中文字符串, 默认为m,h:', :green), String) do |q|
|
|
24
|
+
q.default = 'm,h'
|
|
25
|
+
end
|
|
26
|
+
@remove_duplicate = @cli.agree('是否要过滤重复中文yes?:'.green)
|
|
27
|
+
|
|
26
28
|
handle_files
|
|
27
29
|
gen_csv
|
|
30
|
+
gen_csv_unique if @remove_duplicate
|
|
28
31
|
# update_source_header
|
|
29
32
|
end
|
|
30
33
|
|
|
@@ -34,18 +37,34 @@ module Lhj
|
|
|
34
37
|
file_name
|
|
35
38
|
end
|
|
36
39
|
|
|
40
|
+
def unique_csv_file_name
|
|
41
|
+
"#{csv_file_name.split('.')[0]}_unique.csv"
|
|
42
|
+
end
|
|
43
|
+
|
|
37
44
|
def gen_csv
|
|
38
45
|
file = File.join(@current_path, csv_file_name)
|
|
39
46
|
FileUtils.rm_rf(file) if File.exist?(file)
|
|
40
47
|
CSV.open(file, 'wb:utf-8') do |csv|
|
|
41
|
-
csv << %w[国际化key 中文 英文 所在文件 文件路径]
|
|
48
|
+
csv << %w[国际化key 中文 英文 所在文件 文件路径 行号]
|
|
42
49
|
@cn_keys.each do |k|
|
|
43
|
-
csv << [k[:key], k[:cn], k[:en], k[:fname], k[:dirname]]
|
|
50
|
+
csv << [k[:key], k[:cn], k[:en], k[:fname], k[:dirname], k[:idx]]
|
|
44
51
|
end
|
|
45
52
|
end
|
|
46
53
|
puts "生成csv文件完成.\n文件路径:#{File.absolute_path(file)}"
|
|
47
54
|
end
|
|
48
55
|
|
|
56
|
+
def gen_csv_unique
|
|
57
|
+
file = File.join(@current_path, unique_csv_file_name)
|
|
58
|
+
FileUtils.rm_rf(file) if File.exist?(file)
|
|
59
|
+
CSV.open(file, 'wb:utf-8') do |csv|
|
|
60
|
+
csv << %w[国际化key 中文 英文 所在文件 文件路径 行号]
|
|
61
|
+
@cn_keys.uniq { |k| k[:cn] }.each do |k|
|
|
62
|
+
csv << [k[:key], k[:cn], k[:en], k[:fname], k[:dirname], k[:idx]]
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
puts "生成唯一键csv文件完成.\n文件路径:#{File.absolute_path(file)}"
|
|
66
|
+
end
|
|
67
|
+
|
|
49
68
|
def handle_files
|
|
50
69
|
Dir.glob("#{@current_path}/**/*.{#{@file_type}}").each do |f|
|
|
51
70
|
dir_name = File.dirname(f)
|
|
@@ -64,13 +83,28 @@ module Lhj
|
|
|
64
83
|
|
|
65
84
|
def handle_file(file)
|
|
66
85
|
File.open(file, 'r') do |f|
|
|
67
|
-
|
|
68
|
-
|
|
86
|
+
multi_comment = false
|
|
87
|
+
f.readlines.each_with_index do |line, idx|
|
|
88
|
+
multi_comment = true if line =~ %r{/\*} && line !~ %r{\*/} && !multi_comment
|
|
89
|
+
if line !~ %r{/\*} && line =~ %r{\*/} && multi_comment
|
|
90
|
+
multi_comment = false
|
|
91
|
+
next
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
next if multi_comment
|
|
95
|
+
next if line =~ %r{/\*.*\*/}
|
|
96
|
+
next unless zh_ch_reg =~ line
|
|
97
|
+
next if line =~ /#pragma/
|
|
98
|
+
next if line =~ /log|Log|LOG|NSCAssert/
|
|
99
|
+
next unless line =~ /[\u4e00-\u9fa5]/
|
|
100
|
+
next if line =~ %r{//.*ignore}
|
|
101
|
+
|
|
102
|
+
handle_line(file, line, idx)
|
|
69
103
|
end
|
|
70
104
|
end
|
|
71
105
|
end
|
|
72
106
|
|
|
73
|
-
def handle_line(file, line)
|
|
107
|
+
def handle_line(file, line, idx)
|
|
74
108
|
line.scan(zh_ch_reg) do |str|
|
|
75
109
|
fname = File.basename(file)
|
|
76
110
|
dir_name = File.dirname(file)
|
|
@@ -79,7 +113,7 @@ module Lhj
|
|
|
79
113
|
key = "#{mod_name}.#{File.basename(file, '.*')}.#{rand(36 ** 8).to_s(36)}"
|
|
80
114
|
cn_str = str[2, str.length - 3]
|
|
81
115
|
en_str = cn_str.gsub(/[\u4e00-\u9fa5]/, 'x')
|
|
82
|
-
@cn_keys << { key: key, cn: cn_str, en: en_str, fname: fname, dirname: dir_name }
|
|
116
|
+
@cn_keys << { key: key, cn: cn_str, en: en_str, fname: fname, dirname: dir_name, idx: idx + 1 }
|
|
83
117
|
end
|
|
84
118
|
end
|
|
85
119
|
|
|
@@ -3,44 +3,59 @@
|
|
|
3
3
|
require 'csv'
|
|
4
4
|
require 'lhj/helper/trans_helper'
|
|
5
5
|
require 'lhj/helper/oss_helper'
|
|
6
|
-
require '
|
|
6
|
+
require 'highline'
|
|
7
7
|
|
|
8
8
|
module Lhj
|
|
9
9
|
class Command
|
|
10
10
|
class Local < Command
|
|
11
|
-
self.summary = '根据中英文对照csv
|
|
12
|
-
|
|
13
|
-
def self.options
|
|
14
|
-
[
|
|
15
|
-
%w[--key-col 国际化key在csv中第几列,默认为0],
|
|
16
|
-
%w[--cn-col 中文在csv中第几列,默认为1],
|
|
17
|
-
%w[--en-col 英文在csv中第几列,默认为2],
|
|
18
|
-
%w[--download-csv 云端下载cvs的文件名],
|
|
19
|
-
%w[--read-csv-file 读取csv的文件名,默认为当前目录下所有csv文件],
|
|
20
|
-
%w[--gen-file 生成配置文件名,默认名为:Localizable.strings],
|
|
21
|
-
%w[--modify-source 修改源码,使用国际化key代替中文字符串],
|
|
22
|
-
%w[--modify-file-type 需要修改源码的文件类型,默认为m,h],
|
|
23
|
-
%w[--modify-format-string 修改为国际化后的字符格式,默认为NSLocalizedString(%s,@"")]
|
|
24
|
-
]
|
|
25
|
-
end
|
|
11
|
+
self.summary = '根据中英文对照csv文件,生成国际化配置(.strings文件)、修复源码(.m.h等)'
|
|
26
12
|
|
|
27
13
|
def initialize(argv)
|
|
28
14
|
@current_path = argv.shift_argument || Dir.pwd
|
|
29
|
-
@
|
|
30
|
-
@
|
|
31
|
-
@
|
|
32
|
-
@download_csv_files = argv.option('download-csv')
|
|
33
|
-
@read_csv_file = argv.option('read-csv-file', Lhj::LocalConfig.instance.config['read_csv_file'])
|
|
34
|
-
@gen_file_name = argv.option('gen-file', Lhj::LocalConfig.instance.config['gen_file_name'])
|
|
35
|
-
@modify_source_flag = argv.flag?('modify-source', false)
|
|
36
|
-
@modify_file_type = argv.option('modify-file-type', 'm,h')
|
|
37
|
-
@modify_format_string = argv.option('modify-format-string', Lhj::LocalConfig.instance.config['source_format_string'])
|
|
15
|
+
@modify_file_type = 'm,h'
|
|
16
|
+
@modify_format_string = 'MLLocalizedString(%s)'
|
|
17
|
+
@cli = HighLine.new
|
|
38
18
|
@key_map = {}
|
|
39
19
|
super
|
|
40
20
|
end
|
|
41
21
|
|
|
42
22
|
def handle
|
|
43
|
-
|
|
23
|
+
@cli.say(HighLine.color('选择中英对应照csv文件:', :green))
|
|
24
|
+
path = File.join(@current_path, '**', '*.csv')
|
|
25
|
+
@csv_file = @cli.choose(*Dir.glob(path))
|
|
26
|
+
puts "选择对照文档>>>>>>>>> #{@csv_file}"
|
|
27
|
+
|
|
28
|
+
@gen_file_name = @cli.ask('生成.strings文件的名称: '.green, String) do |q|
|
|
29
|
+
q.default = 'Localizable.strings'
|
|
30
|
+
end
|
|
31
|
+
@key_col = @cli.ask('中英对应照csv中key所在的列, 默认为0: '.yellow, Integer) do |q|
|
|
32
|
+
q.default = 0
|
|
33
|
+
end
|
|
34
|
+
@cn_col = @cli.ask('中英对应照csv<<中文>>所在的列, 默认为1: '.yellow, Integer) do |q|
|
|
35
|
+
q.default = 1
|
|
36
|
+
end
|
|
37
|
+
@en_col = @cli.ask('中英对应照csv<<英文>>所在的列, 默认为2: '.yellow, Integer) do |q|
|
|
38
|
+
q.default = 2
|
|
39
|
+
end
|
|
40
|
+
@en_dir_name = @cli.ask('生成英文.strings文件对应路径: '.yellow, String) do |q|
|
|
41
|
+
q.default = 'MacauLife/en.lproj'
|
|
42
|
+
end
|
|
43
|
+
@zh_hk_dir_name = @cli.ask('生成繁体.strings文件对应路径: '.yellow, String) do |q|
|
|
44
|
+
q.default = 'MacauLife/zh-Hant.lproj'
|
|
45
|
+
end
|
|
46
|
+
@zh_cn_dir_name = @cli.ask('生成简体.strings文件对应路径: '.yellow, String) do |q|
|
|
47
|
+
q.default = 'MacauLife/zh-Hans.lproj'
|
|
48
|
+
end
|
|
49
|
+
@modify_source_flag = @cli.agree(HighLine.color('是否要修改源码yes?:', :red))
|
|
50
|
+
if @modify_source_flag
|
|
51
|
+
@modify_file_type = @cli.ask('需要修改源码的文件类型: '.yellow, String) do |q|
|
|
52
|
+
q.default = 'm,h'
|
|
53
|
+
end
|
|
54
|
+
@modify_format_string = @cli.ask('修改为国际化后的字符格式: '.yellow, String) do |q|
|
|
55
|
+
q.default = 'MLLocalizedString(%s)'
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
|
|
44
59
|
read_csv
|
|
45
60
|
if @key_map.keys.length.positive?
|
|
46
61
|
write_en_strings
|
|
@@ -52,95 +67,32 @@ module Lhj
|
|
|
52
67
|
end
|
|
53
68
|
end
|
|
54
69
|
|
|
55
|
-
def en_dir_name
|
|
56
|
-
Lhj::LocalConfig.instance.config['gen_en_dir']
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
def zh_hk_dir_name
|
|
60
|
-
Lhj::LocalConfig.instance.config['gen_zh_hk_dir']
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
def zh_cn_dir_name
|
|
64
|
-
Lhj::LocalConfig.instance.config['gen_zh_cn_dir']
|
|
65
|
-
end
|
|
66
|
-
|
|
67
70
|
def generate_file_name
|
|
68
71
|
@gen_file_name
|
|
69
72
|
end
|
|
70
73
|
|
|
71
|
-
def need_download
|
|
72
|
-
@download_csv_files || Lhj::LocalConfig.instance.config['download']
|
|
73
|
-
end
|
|
74
|
-
|
|
75
|
-
def download_cvs_str
|
|
76
|
-
@download_csv_files || Lhj::LocalConfig.instance.config['download_csv']
|
|
77
|
-
end
|
|
78
|
-
|
|
79
|
-
def read_csv_file_name
|
|
80
|
-
file_name = @read_csv_file
|
|
81
|
-
file_name = "#{@read_csv_file}.csv" unless /.csv$/ =~ @read_csv_file
|
|
82
|
-
file_name
|
|
83
|
-
end
|
|
84
|
-
|
|
85
|
-
def down_load_csv_file
|
|
86
|
-
ary = get_download_keys
|
|
87
|
-
ary.each do |key|
|
|
88
|
-
file_name = File.basename(key)
|
|
89
|
-
file = File.join(@current_path, file_name)
|
|
90
|
-
backup_csv_file file if File.exist?(file)
|
|
91
|
-
puts "下载csv文件:#{Lhj::OSS::Helper.instance.object_url(key)} 到目录#{file}\n"
|
|
92
|
-
Lhj::OSS::Helper.instance.down_load(key, file)
|
|
93
|
-
end
|
|
94
|
-
UI.puts "下载云端csv文件完成 \n".green
|
|
95
|
-
end
|
|
96
|
-
|
|
97
|
-
def backup_csv_file(file)
|
|
98
|
-
dest_file = bak_file(file)
|
|
99
|
-
FileUtils.mkdir_p(File.dirname(dest_file)) unless File.exist?(File.dirname(dest_file))
|
|
100
|
-
UI.puts "备份csv文件:#{file} 到目录#{dest_file}".green
|
|
101
|
-
FileUtils.cp file, dest_file
|
|
102
|
-
FileUtils.rm_rf file
|
|
103
|
-
end
|
|
104
|
-
|
|
105
74
|
def bak_file(file)
|
|
106
75
|
dest_file = File.join(File.dirname(file), 'csv_bak', File.basename(file))
|
|
107
76
|
File.exist?(dest_file) ? bak_file(dest_file) : dest_file
|
|
108
77
|
end
|
|
109
78
|
|
|
110
|
-
def get_download_keys
|
|
111
|
-
download_keys = []
|
|
112
|
-
csv_files = download_cvs_str.split(/,/).map(&:strip)
|
|
113
|
-
all_keys = Lhj::OSS::Helper.instance.list.map(&:key)
|
|
114
|
-
csv_files.each do |f|
|
|
115
|
-
arr = all_keys.select { |k| %r{^csv/} =~ k && /#{f}/ =~ k }
|
|
116
|
-
if arr.count.positive?
|
|
117
|
-
arr.sort! { |a, b| b.split(%r{/})[1].to_i <=> a.split(%r{/})[1].to_i }
|
|
118
|
-
download_keys << arr[0]
|
|
119
|
-
end
|
|
120
|
-
end
|
|
121
|
-
download_keys
|
|
122
|
-
end
|
|
123
|
-
|
|
124
79
|
def read_csv
|
|
125
|
-
|
|
126
|
-
Dir.glob(path).each do |f|
|
|
127
|
-
read_csv_file f
|
|
128
|
-
end
|
|
80
|
+
read_csv_file @csv_file
|
|
129
81
|
end
|
|
130
82
|
|
|
131
83
|
def read_csv_file(file)
|
|
132
|
-
key_c =
|
|
133
|
-
cn_c =
|
|
134
|
-
en_c =
|
|
135
|
-
trans_hk =
|
|
136
|
-
trans_cn =
|
|
84
|
+
key_c = @key_col
|
|
85
|
+
cn_c = @cn_col
|
|
86
|
+
en_c = @en_col
|
|
87
|
+
# trans_hk = false
|
|
88
|
+
# trans_cn = true
|
|
137
89
|
CSV.foreach(file) do |row|
|
|
138
90
|
if row.length > 2
|
|
139
91
|
key = row[key_c]
|
|
140
92
|
cn_str = row[cn_c]
|
|
141
93
|
hk_str = row[cn_c]
|
|
142
|
-
cn_str = Lhj::Trans::Helper.instance.trans_zh_cn_str(cn_str) if trans_cn
|
|
143
|
-
hk_str = Lhj::Trans::Helper.instance.trans_zh_hk_str(hk_str) if trans_hk
|
|
94
|
+
# cn_str = Lhj::Trans::Helper.instance.trans_zh_cn_str(cn_str) if trans_cn
|
|
95
|
+
# hk_str = Lhj::Trans::Helper.instance.trans_zh_hk_str(hk_str) if trans_hk
|
|
144
96
|
@key_map[key] = { key: key, cn: cn_str, hk: hk_str, en: row[en_c] } unless key =~ /[\u4e00-\u9fa5]/
|
|
145
97
|
end
|
|
146
98
|
end
|
|
@@ -171,8 +123,41 @@ module Lhj
|
|
|
171
123
|
def modify_file_string(file)
|
|
172
124
|
str = ''
|
|
173
125
|
File.open(file, 'r') do |f|
|
|
174
|
-
|
|
175
|
-
|
|
126
|
+
multi_comment = false
|
|
127
|
+
f.readlines.each_with_index do |line, idx|
|
|
128
|
+
multi_comment = true if line =~ %r{/\*} && line !~ %r{\*/} && !multi_comment
|
|
129
|
+
if line !~ %r{/\*} && line =~ %r{\*/} && multi_comment
|
|
130
|
+
multi_comment = false
|
|
131
|
+
str += line
|
|
132
|
+
next
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
if multi_comment
|
|
136
|
+
str += line
|
|
137
|
+
next
|
|
138
|
+
end
|
|
139
|
+
if line =~ %r{/\*.*\*/}
|
|
140
|
+
str += line
|
|
141
|
+
next
|
|
142
|
+
end
|
|
143
|
+
unless zh_ch_reg =~ line
|
|
144
|
+
str += line
|
|
145
|
+
next
|
|
146
|
+
end
|
|
147
|
+
if line =~ /#pragma/
|
|
148
|
+
str += line
|
|
149
|
+
next
|
|
150
|
+
end
|
|
151
|
+
if line =~ /log|Log|LOG|NSCAssert/
|
|
152
|
+
str += line
|
|
153
|
+
next
|
|
154
|
+
end
|
|
155
|
+
if line =~ %r{//.*ignore}
|
|
156
|
+
str += line
|
|
157
|
+
next
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
str += handle_modify_line(f, line)
|
|
176
161
|
end
|
|
177
162
|
end
|
|
178
163
|
str
|
|
@@ -182,12 +167,6 @@ module Lhj
|
|
|
182
167
|
/@"[^"]*[\u4e00-\u9fa5]+[^"]*"/
|
|
183
168
|
end
|
|
184
169
|
|
|
185
|
-
def modify_format_string(file, line)
|
|
186
|
-
result = line
|
|
187
|
-
result = handle_modify_line(file, line) if zh_ch_reg =~ line && !((/DDLog/ =~ line) || (/NSLog/ =~ line))
|
|
188
|
-
result
|
|
189
|
-
end
|
|
190
|
-
|
|
191
170
|
def handle_modify_line(file, line)
|
|
192
171
|
result = line
|
|
193
172
|
line.scan(zh_ch_reg) do |m|
|
|
@@ -203,8 +182,8 @@ module Lhj
|
|
|
203
182
|
def find_key_by_cn_val(file, val)
|
|
204
183
|
file_name = File.basename(file, '.*')
|
|
205
184
|
cn_key = val[2, val.length - 3]
|
|
206
|
-
index = @key_map.values.find_index { |obj| cn_key.eql?(obj[:
|
|
207
|
-
index ||= @key_map.values.find_index { |obj| cn_key.eql?(obj[:
|
|
185
|
+
index = @key_map.values.find_index { |obj| cn_key.eql?(obj[:hk]) && /#{file_name}/ =~ obj[:key] }
|
|
186
|
+
index ||= @key_map.values.find_index { |obj| cn_key.eql?(obj[:hk]) }
|
|
208
187
|
@key_map.values[index][:key] if index
|
|
209
188
|
end
|
|
210
189
|
|
|
@@ -230,7 +209,7 @@ module Lhj
|
|
|
230
209
|
end
|
|
231
210
|
|
|
232
211
|
def write_en_strings
|
|
233
|
-
file = File.join(@current_path, en_dir_name, generate_file_name)
|
|
212
|
+
file = File.join(@current_path, @en_dir_name, generate_file_name)
|
|
234
213
|
generate_file(file, :en)
|
|
235
214
|
puts "生成英文配置完成.文件路径:#{File.absolute_path(file)}\n"
|
|
236
215
|
end
|
|
@@ -240,21 +219,21 @@ module Lhj
|
|
|
240
219
|
end
|
|
241
220
|
|
|
242
221
|
def gen_zh_cn_strings_file
|
|
243
|
-
file = File.join(@current_path, zh_cn_dir_name, generate_file_name)
|
|
222
|
+
file = File.join(@current_path, @zh_cn_dir_name, generate_file_name)
|
|
244
223
|
content = format_str(:cn)
|
|
245
224
|
write_to_file(file, content)
|
|
246
225
|
puts "生成简体中文配置完成.文件路径:#{File.absolute_path(file)}\n"
|
|
247
226
|
end
|
|
248
227
|
|
|
249
228
|
def copy_hk_to_cn_file
|
|
250
|
-
source_file = File.join(@current_path, zh_hk_dir_name, generate_file_name)
|
|
251
|
-
dest_file = File.join(@current_path, zh_cn_dir_name, generate_file_name)
|
|
229
|
+
source_file = File.join(@current_path, @zh_hk_dir_name, generate_file_name)
|
|
230
|
+
dest_file = File.join(@current_path, @zh_cn_dir_name, generate_file_name)
|
|
252
231
|
FileUtils.cp source_file, dest_file
|
|
253
232
|
puts "繁体中文配置覆盖简体中文配置\n"
|
|
254
233
|
end
|
|
255
234
|
|
|
256
235
|
def write_zh_hk_strings
|
|
257
|
-
file = File.join(@current_path, zh_hk_dir_name, generate_file_name)
|
|
236
|
+
file = File.join(@current_path, @zh_hk_dir_name, generate_file_name)
|
|
258
237
|
content = format_str(:hk)
|
|
259
238
|
write_to_file(file, content)
|
|
260
239
|
puts "生成繁体中文配置完成.文件路径:#{File.absolute_path(file)}\n"
|
data/lib/lhj/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: lhj-tools
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.2.
|
|
4
|
+
version: 0.2.68
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- lihaijian
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2023-12-
|
|
11
|
+
date: 2023-12-28 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: xcodeproj
|