cocoapods-aqara-localzedLoader 0.1.17 → 0.1.19
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/cocoapods-aqara-localzedLoader/DownloadNewLanguage.py +6 -5
- data/lib/cocoapods-aqara-localzedLoader/__pycache__/DownloadNewLanguage.cpython-310.pyc +0 -0
- data/lib/cocoapods-aqara-localzedLoader/gem_version.rb +1 -1
- data/lib/cocoapods-aqara-localzedLoader/ios_bundle_generate.rb +42 -36
- 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: e0872fb98493ce6fa9062bc52692dfdc8bcbd887c03dc788db4b487816734063
|
|
4
|
+
data.tar.gz: 56a9a54e72c32ae5bea75440aa77d80e9cde59998dc54d937741fff3fe6f51bc
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0b44fd6f5494b0dff6fc8d0dd84f85d9f3ebe53f53f6ef4e671f9bc77c4bcd3bed22eeb9d875ff3781d6c47e36c72e788173c25c4a5da1a2829d9679928e4284
|
|
7
|
+
data.tar.gz: cb2ce1639ad048231e5f748ece6cf2d3549af6442b4c9849c68dd277ba7dcf0d080c8097c2848249a8a7d9c6c7d7b1f56ef375f9eba836704801ac2becdf49cb
|
|
@@ -281,16 +281,17 @@ DEFAULT_LIFE_SOURCE_FILE_NAME = "APP_Life_APP.xlsx"
|
|
|
281
281
|
DEFAULT_TARGET_FILE_NAME = "APP.xlsx"
|
|
282
282
|
|
|
283
283
|
CROWDIN_PROJECTS = (
|
|
284
|
-
("crowdin_life.yml", DEFAULT_LIFE_PROJECT_ID),
|
|
285
|
-
("
|
|
284
|
+
("crowdin_life.yml", DEFAULT_LIFE_PROJECT_ID, "AqaraLife"),
|
|
285
|
+
("crowdin_space.yml", DEFAULT_LIFE_PROJECT_ID, "AqaraSpace"),
|
|
286
|
+
("crowdin.yml", DEFAULT_LEGACY_PROJECT_ID, "AqaraHome"),
|
|
286
287
|
)
|
|
287
288
|
|
|
288
289
|
|
|
289
290
|
def resolve_crowdin_project(localizable_path: str) -> tuple[Optional[str], Optional[str]]:
|
|
290
|
-
for config_name, project_id in CROWDIN_PROJECTS:
|
|
291
|
+
for config_name, project_id, app_dir in CROWDIN_PROJECTS:
|
|
291
292
|
candidate_paths = (
|
|
292
293
|
os.path.join(localizable_path, config_name),
|
|
293
|
-
os.path.join(localizable_path,
|
|
294
|
+
os.path.join(localizable_path, app_dir, "Common", config_name),
|
|
294
295
|
)
|
|
295
296
|
for config_path in candidate_paths:
|
|
296
297
|
if os.path.exists(config_path):
|
|
@@ -328,7 +329,7 @@ if __name__ == '__main__':
|
|
|
328
329
|
if crowdin:
|
|
329
330
|
config_path, project_id = resolve_crowdin_project(localizable_path)
|
|
330
331
|
if not config_path or not project_id:
|
|
331
|
-
raise FileNotFoundError("未找到 crowdin.yml 或
|
|
332
|
+
raise FileNotFoundError("未找到 crowdin.yml、crowdin_life.yml 或 crowdin_space.yml,无法确定 Crowdin project_id")
|
|
332
333
|
|
|
333
334
|
print(f"检测到 Crowdin 配置: {config_path},project_id={project_id}")
|
|
334
335
|
platform = CrowdinPlatform(resolve_crowdin_access_token(crowdin_access_token), project_id)
|
|
Binary file
|
|
@@ -7,13 +7,11 @@ require 'open3'
|
|
|
7
7
|
# require 'colored2'
|
|
8
8
|
class BundleGenerater
|
|
9
9
|
CROWDIN_PROJECTS = {
|
|
10
|
-
"crowdin_life.yml" => "85",
|
|
11
|
-
"
|
|
12
|
-
|
|
13
|
-
PROJECT_APP_DIRS = {
|
|
14
|
-
"85" => "AqaraLife",
|
|
15
|
-
"71" => "AqaraHome"
|
|
10
|
+
"crowdin_life.yml" => { project_id: "85", app_dir: "AqaraLife" },
|
|
11
|
+
"crowdin_space.yml" => { project_id: "85", app_dir: "AqaraSpace" },
|
|
12
|
+
"crowdin.yml" => { project_id: "71", app_dir: "AqaraHome" }
|
|
16
13
|
}.freeze
|
|
14
|
+
SKIP_INFO_PLIST_APP_DIRS = %w[AqaraLife AqaraSpace].freeze
|
|
17
15
|
|
|
18
16
|
|
|
19
17
|
# INFO_PLIST_ARRAY = [NSAppleMusicUsageDescription","NSLocalNetworkUsageDescription"]
|
|
@@ -61,13 +59,13 @@ class BundleGenerater
|
|
|
61
59
|
|
|
62
60
|
@@download_Count = 1
|
|
63
61
|
|
|
64
|
-
def self.
|
|
65
|
-
|
|
62
|
+
def self.skip_info_plist?(app_dir)
|
|
63
|
+
SKIP_INFO_PLIST_APP_DIRS.include?(app_dir)
|
|
66
64
|
end
|
|
67
65
|
|
|
68
66
|
def self.resolve_crowdin_project(project_path)
|
|
69
|
-
CROWDIN_PROJECTS.each do |config_name,
|
|
70
|
-
app_dir =
|
|
67
|
+
CROWDIN_PROJECTS.each do |config_name, project_info|
|
|
68
|
+
app_dir = project_info[:app_dir]
|
|
71
69
|
[
|
|
72
70
|
"#{project_path}/#{config_name}",
|
|
73
71
|
"#{project_path}/#{app_dir}/Common/#{config_name}"
|
|
@@ -77,7 +75,8 @@ class BundleGenerater
|
|
|
77
75
|
return {
|
|
78
76
|
enabled: true,
|
|
79
77
|
config_path: config_path,
|
|
80
|
-
project_id: project_id
|
|
78
|
+
project_id: project_info[:project_id],
|
|
79
|
+
app_dir: app_dir
|
|
81
80
|
}
|
|
82
81
|
end
|
|
83
82
|
end
|
|
@@ -85,7 +84,8 @@ class BundleGenerater
|
|
|
85
84
|
{
|
|
86
85
|
enabled: false,
|
|
87
86
|
config_path: nil,
|
|
88
|
-
project_id: nil
|
|
87
|
+
project_id: nil,
|
|
88
|
+
app_dir: "AqaraHome"
|
|
89
89
|
}
|
|
90
90
|
end
|
|
91
91
|
|
|
@@ -123,11 +123,11 @@ class BundleGenerater
|
|
|
123
123
|
|
|
124
124
|
crowdin_info = self.resolve_crowdin_project(project_path)
|
|
125
125
|
crowdin = crowdin_info[:enabled]
|
|
126
|
-
app_dir =
|
|
126
|
+
app_dir = crowdin_info[:app_dir]
|
|
127
127
|
|
|
128
128
|
f_path = "#{project_path}/download.xlsx"
|
|
129
129
|
if crowdin
|
|
130
|
-
puts "检测到 Crowdin 配置: #{crowdin_info[:config_path]},project_id=#{crowdin_info[:project_id]}"
|
|
130
|
+
puts "检测到 Crowdin 配置: #{crowdin_info[:config_path]},project_id=#{crowdin_info[:project_id]},app_dir=#{app_dir}"
|
|
131
131
|
crowdin_token = self.resolve_crowdin_token(crowdin_token)
|
|
132
132
|
f_path = "#{project_path}/APP/APP.xlsx"
|
|
133
133
|
end
|
|
@@ -193,22 +193,24 @@ class BundleGenerater
|
|
|
193
193
|
end
|
|
194
194
|
|
|
195
195
|
#如果是infoplist里的key,就写入指定的文件
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
File.open(file, "a") do |io|
|
|
201
|
-
io.write str
|
|
202
|
-
end
|
|
203
|
-
elsif INFO_PLIST_MAP.has_key?(key.to_sym)
|
|
204
|
-
# puts "---key:#{key}"
|
|
205
|
-
keys = INFO_PLIST_MAP[key.to_sym]
|
|
206
|
-
keys.each do |info_key|
|
|
196
|
+
unless self.skip_info_plist?(app_dir)
|
|
197
|
+
if key === nil
|
|
198
|
+
puts "key值为空,#{stringElement.ios_list}"
|
|
199
|
+
elsif key === "NSAppleMusicUsageDescription" || key === "NSLocalNetworkUsageDescription"
|
|
207
200
|
file = "./#{lang}.lproj/InfoPlist.strings"
|
|
208
|
-
str = %Q|"#{info_key}" = "#{value}";\n|
|
|
209
201
|
File.open(file, "a") do |io|
|
|
210
202
|
io.write str
|
|
211
203
|
end
|
|
204
|
+
elsif INFO_PLIST_MAP.has_key?(key.to_sym)
|
|
205
|
+
# puts "---key:#{key}"
|
|
206
|
+
keys = INFO_PLIST_MAP[key.to_sym]
|
|
207
|
+
keys.each do |info_key|
|
|
208
|
+
file = "./#{lang}.lproj/InfoPlist.strings"
|
|
209
|
+
str = %Q|"#{info_key}" = "#{value}";\n|
|
|
210
|
+
File.open(file, "a") do |io|
|
|
211
|
+
io.write str
|
|
212
|
+
end
|
|
213
|
+
end
|
|
212
214
|
end
|
|
213
215
|
end
|
|
214
216
|
|
|
@@ -231,9 +233,11 @@ class BundleGenerater
|
|
|
231
233
|
# puts "\e[31m 开始校验多语言包格式\e[0m"
|
|
232
234
|
file_til.getLangList.each do |lang|
|
|
233
235
|
localized_file = "./#{lang}.lproj/Localizable.strings"
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
236
|
+
unless self.skip_info_plist?(app_dir)
|
|
237
|
+
file = "./#{lang}.lproj/InfoPlist.strings"
|
|
238
|
+
if File.exist?(file)
|
|
239
|
+
system("plutil #{file}")
|
|
240
|
+
end
|
|
237
241
|
end
|
|
238
242
|
if File.exist?(localized_file)
|
|
239
243
|
system("plutil #{localized_file}")
|
|
@@ -265,13 +269,15 @@ class BundleGenerater
|
|
|
265
269
|
FileUtils.cp(path,dest2)
|
|
266
270
|
FileUtils.mv("#{path}",dest,force:true)
|
|
267
271
|
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
272
|
+
unless self.skip_info_plist?(app_dir)
|
|
273
|
+
info_plist_file = "./#{lang}.lproj/InfoPlist.strings"
|
|
274
|
+
# puts "path::::::#{info_plist_file}"
|
|
275
|
+
if File.exist? info_plist_file
|
|
276
|
+
copy_info_plist = true
|
|
277
|
+
dest = "./#{app_dir}/Resource/#{lang}.lproj"
|
|
278
|
+
FileUtils.mkdir_p dest
|
|
279
|
+
FileUtils.mv("#{info_plist_file}",dest,force:true)
|
|
280
|
+
end
|
|
275
281
|
end
|
|
276
282
|
# FileUtils.rm_rf (File.dirname(path))
|
|
277
283
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: cocoapods-aqara-localzedLoader
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.19
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- zhaoxifan
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-09-18 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|