fastlane-plugin-ovo_poeditor 1.1.0 → 1.2.0
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
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4a6b97335c1077586b4617d579b464f8bc8134dd21d81eae54e9c3e8561513c6
|
|
4
|
+
data.tar.gz: ac35af035115242393ae1bd18e1ed7e1d5e92621470736a880b28dee4a96ae33
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 94bf45f0d99fdd8e8656da176fe21d60738ea575347cbd5fdd2f8377b11e38b10bef638b8b80ee391532453134d786f0970e773ba9bd573971cb0106d668624a
|
|
7
|
+
data.tar.gz: 12f2c5c367e245ae76cb1d74a133523c395823ea3a822eea90fbaffe7e5ed0ede3529e61995a581e1869bd7f7f7da1848dcb8b9fa263c71c6479fb2e11461a8f
|
|
@@ -14,6 +14,7 @@ module Fastlane
|
|
|
14
14
|
default_language = params[:default_language]
|
|
15
15
|
language_map = params[:language_map]
|
|
16
16
|
unquoted_strings = params[:unquoted_strings]
|
|
17
|
+
bypass_default_language = params[:bypass_default_language]
|
|
17
18
|
|
|
18
19
|
Helper::OvoPoeditorHelper.sync_strings(
|
|
19
20
|
api_token: api_token,
|
|
@@ -24,7 +25,8 @@ module Fastlane
|
|
|
24
25
|
file_name: file_name,
|
|
25
26
|
default_language: default_language,
|
|
26
27
|
language_map: language_map,
|
|
27
|
-
unquoted_strings: unquoted_strings
|
|
28
|
+
unquoted_strings: unquoted_strings,
|
|
29
|
+
bypass_default_language: bypass_default_language
|
|
28
30
|
)
|
|
29
31
|
end
|
|
30
32
|
|
|
@@ -33,16 +35,14 @@ module Fastlane
|
|
|
33
35
|
end
|
|
34
36
|
|
|
35
37
|
def self.authors
|
|
36
|
-
['Alessio Arsuffi']
|
|
38
|
+
['Alessio Arsuffi', 'Christian Borsato']
|
|
37
39
|
end
|
|
38
40
|
|
|
39
41
|
def self.return_value
|
|
40
|
-
# If your method provides a return value, you can describe here what it does
|
|
41
42
|
'Return a file with all POEditor terms'
|
|
42
43
|
end
|
|
43
44
|
|
|
44
45
|
def self.details
|
|
45
|
-
# Optional:
|
|
46
46
|
'Fetch latest POEditor terms and download them as .strings/.xml/.xcstrings file'
|
|
47
47
|
end
|
|
48
48
|
|
|
@@ -93,26 +93,34 @@ module Fastlane
|
|
|
93
93
|
FastlaneCore::ConfigItem.new(
|
|
94
94
|
key: :default_language,
|
|
95
95
|
env_name: 'POEDITOR_DEFAULT_LANGUAGE',
|
|
96
|
-
description: 'Default/fallback language code for the project',
|
|
96
|
+
description: 'Optional. Default/fallback language code for the project',
|
|
97
97
|
optional: true,
|
|
98
98
|
type: String
|
|
99
99
|
),
|
|
100
100
|
FastlaneCore::ConfigItem.new(
|
|
101
101
|
key: :language_map,
|
|
102
|
-
description: 'Map POEditor language codes to platform-specific folder names',
|
|
102
|
+
description: 'Optional. Map POEditor language codes to platform-specific folder names',
|
|
103
103
|
optional: true,
|
|
104
104
|
type: Hash
|
|
105
105
|
),
|
|
106
106
|
FastlaneCore::ConfigItem.new(
|
|
107
107
|
key: :unquoted_strings,
|
|
108
108
|
env_name: 'POEDITOR_UNQUOTED_STRINGS',
|
|
109
|
-
description: 'Set to 1 to export Android strings without quotes (unquoted). Allowed values: 0 or 1',
|
|
109
|
+
description: 'Optional. Set to 1 to export Android strings without quotes (unquoted). Allowed values: 0 or 1',
|
|
110
110
|
optional: true,
|
|
111
111
|
type: Integer,
|
|
112
112
|
default_value: 0,
|
|
113
113
|
verify_block: proc do |value|
|
|
114
114
|
UI.user_error!("unquoted_strings (POEDITOR_UNQUOTED_STRINGS) must be 0 or 1. Received: #{value}.") unless [0, 1].include?(value)
|
|
115
115
|
end
|
|
116
|
+
),
|
|
117
|
+
FastlaneCore::ConfigItem.new(
|
|
118
|
+
key: :bypass_default_language,
|
|
119
|
+
env_name: 'POEDITOR_BYPASS_DEFAULT_LANGUAGE',
|
|
120
|
+
description: 'Optional. Skip the default language check when the output path is built',
|
|
121
|
+
optional: true,
|
|
122
|
+
type: Boolean,
|
|
123
|
+
default_value: false
|
|
116
124
|
)
|
|
117
125
|
]
|
|
118
126
|
end
|
|
@@ -21,7 +21,8 @@ module Fastlane
|
|
|
21
21
|
file_name:,
|
|
22
22
|
default_language:,
|
|
23
23
|
language_map:,
|
|
24
|
-
unquoted_strings
|
|
24
|
+
unquoted_strings:,
|
|
25
|
+
bypass_default_language:
|
|
25
26
|
)
|
|
26
27
|
unless @supported_export_types.include?(file_format)
|
|
27
28
|
UI.error("Invalid export type '#{file_format}'. Allowed values: #{@supported_export_types.join(', ')}")
|
|
@@ -46,7 +47,7 @@ module Fastlane
|
|
|
46
47
|
strings_data = download_file(export_url, language)
|
|
47
48
|
next unless strings_data
|
|
48
49
|
|
|
49
|
-
output_path = build_output_path(output_dir, language, file_name, file_format, default_language, language_map)
|
|
50
|
+
output_path = build_output_path(output_dir, language, file_name, file_format, default_language, language_map, bypass_default_language)
|
|
50
51
|
|
|
51
52
|
begin
|
|
52
53
|
FileUtils.mkdir_p(File.dirname(output_path))
|
|
@@ -96,22 +97,24 @@ module Fastlane
|
|
|
96
97
|
nil
|
|
97
98
|
end
|
|
98
99
|
|
|
99
|
-
def self.build_output_path(base_dir, language, file_name, format, default_language, language_map)
|
|
100
|
+
def self.build_output_path(base_dir, language, file_name, format, default_language, language_map, bypass_default_language)
|
|
100
101
|
if format == 'xcstrings'
|
|
101
102
|
"#{base_dir}/#{file_name}"
|
|
102
103
|
elsif format == 'apple_strings'
|
|
103
104
|
"#{base_dir}/#{language}.lproj/#{file_name}"
|
|
104
|
-
elsif
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
105
|
+
elsif format == 'android_strings'
|
|
106
|
+
if language == default_language && !bypass_default_language
|
|
107
|
+
"#{base_dir}/values/#{file_name}"
|
|
108
|
+
else
|
|
109
|
+
mapped_language = language_map&.[](language.to_s)
|
|
110
|
+
values_folder = if mapped_language.nil? || mapped_language.empty?
|
|
111
|
+
"values-#{language}"
|
|
112
|
+
else
|
|
113
|
+
"values-#{mapped_language}"
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
"#{base_dir}/#{values_folder}/#{file_name}"
|
|
117
|
+
end
|
|
115
118
|
end
|
|
116
119
|
end
|
|
117
120
|
end
|