phrase 4.22.0 → 4.24.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.
Files changed (209) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +20 -0
  3. data/README.md +8 -6
  4. data/docs/AccountDetails.md +1 -1
  5. data/docs/AuthorizationsApi.md +1 -1
  6. data/docs/Automation.md +6 -0
  7. data/docs/AutomationsApi.md +1 -1
  8. data/docs/AutomationsCreateParameters.md +5 -1
  9. data/docs/AutomationsCreateParameters1.md +5 -1
  10. data/docs/BlacklistedKeysApi.md +1 -1
  11. data/docs/Branch.md +2 -0
  12. data/docs/BranchCreateParameters.md +3 -1
  13. data/docs/BranchMergeParameters.md +1 -1
  14. data/docs/BranchSyncParameters.md +1 -1
  15. data/docs/BranchesApi.md +10 -10
  16. data/docs/CommentsApi.md +7 -7
  17. data/docs/Distribution.md +4 -4
  18. data/docs/{DistributionPreview.md → DistributionDetails.md} +9 -3
  19. data/docs/DistributionsApi.md +9 -9
  20. data/docs/DocumentDelete422Response.md +19 -0
  21. data/docs/{CustomMetadataPropertyCreate422ResponseErrorsInner.md → DocumentDelete422ResponseErrorsInner.md} +2 -2
  22. data/docs/DocumentsApi.md +4 -2
  23. data/docs/FigmaAttachmentsApi.md +1 -1
  24. data/docs/GlossariesApi.md +1 -1
  25. data/docs/Glossary.md +2 -0
  26. data/docs/GlossaryTerm.md +2 -0
  27. data/docs/GlossaryTermGlossary.md +19 -0
  28. data/docs/GlossaryTermTranslationsApi.md +1 -1
  29. data/docs/GlossaryTermsApi.md +1 -1
  30. data/docs/IcuSkeletonParameters.md +3 -1
  31. data/docs/Invitation.md +2 -2
  32. data/docs/InvitationsApi.md +1 -1
  33. data/docs/Job.md +5 -1
  34. data/docs/JobDetails.md +8 -2
  35. data/docs/JobTemplate.md +2 -0
  36. data/docs/JobTemplateDetails.md +2 -0
  37. data/docs/JobTemplatesApi.md +1 -1
  38. data/docs/JobsApi.md +15 -9
  39. data/docs/KeyCreateParameters.md +6 -2
  40. data/docs/KeyUpdateParameters.md +6 -2
  41. data/docs/KeysApi.md +1 -1
  42. data/docs/LocaleDownloadCreateParameters.md +4 -2
  43. data/docs/LocalesApi.md +12 -6
  44. data/docs/MembersApi.md +1 -1
  45. data/docs/NotificationsApi.md +3 -1
  46. data/docs/OrdersApi.md +4 -2
  47. data/docs/OrganizationJobTemplate.md +4 -0
  48. data/docs/OrganizationJobTemplateDetails.md +4 -0
  49. data/docs/OrganizationJobTemplatesApi.md +1 -1
  50. data/docs/ProjectCreateParameters.md +17 -1
  51. data/docs/ProjectDetails.md +7 -1
  52. data/docs/ProjectUpdateParameters.md +17 -3
  53. data/docs/ProjectsApi.md +10 -8
  54. data/docs/Release.md +2 -0
  55. data/docs/ReleasesApi.md +1 -1
  56. data/docs/RepoSync.md +2 -0
  57. data/docs/ScreenshotMarker.md +2 -2
  58. data/docs/ScreenshotMarkerPresentation.md +23 -0
  59. data/docs/ScreenshotMarkersApi.md +1 -1
  60. data/docs/ScreenshotUpdateParameters.md +1 -1
  61. data/docs/ScreenshotsApi.md +1 -1
  62. data/docs/SearchInAccountParameters.md +3 -1
  63. data/docs/StyleGuidesApi.md +1 -1
  64. data/docs/StyleguideCreateParameters.md +3 -3
  65. data/docs/StyleguideUpdateParameters.md +3 -3
  66. data/docs/Tag.md +2 -0
  67. data/docs/TagWithStats.md +2 -0
  68. data/docs/TagsApi.md +5 -3
  69. data/docs/TranslationCreateParameters.md +5 -1
  70. data/docs/TranslationOrder.md +2 -2
  71. data/docs/TranslationUpdateParameters.md +3 -1
  72. data/docs/TranslationsApi.md +4 -0
  73. data/docs/UploadBatch.md +4 -2
  74. data/docs/UploadSummary.md +1 -1
  75. data/docs/UploadsApi.md +3 -1
  76. data/docs/VariablesApi.md +1 -1
  77. data/docs/WebhooksApi.md +7 -6
  78. data/lib/phrase/api/authorizations_api.rb +2 -0
  79. data/lib/phrase/api/automations_api.rb +2 -0
  80. data/lib/phrase/api/blacklisted_keys_api.rb +2 -0
  81. data/lib/phrase/api/branches_api.rb +20 -14
  82. data/lib/phrase/api/comments_api.rb +18 -4
  83. data/lib/phrase/api/distributions_api.rb +14 -12
  84. data/lib/phrase/api/documents_api.rb +5 -0
  85. data/lib/phrase/api/figma_attachments_api.rb +2 -0
  86. data/lib/phrase/api/glossaries_api.rb +2 -0
  87. data/lib/phrase/api/glossary_term_translations_api.rb +2 -0
  88. data/lib/phrase/api/glossary_terms_api.rb +2 -0
  89. data/lib/phrase/api/invitations_api.rb +2 -0
  90. data/lib/phrase/api/job_templates_api.rb +2 -0
  91. data/lib/phrase/api/jobs_api.rb +18 -6
  92. data/lib/phrase/api/keys_api.rb +2 -0
  93. data/lib/phrase/api/locales_api.rb +15 -4
  94. data/lib/phrase/api/members_api.rb +2 -0
  95. data/lib/phrase/api/notifications_api.rb +3 -0
  96. data/lib/phrase/api/orders_api.rb +5 -0
  97. data/lib/phrase/api/organization_job_templates_api.rb +2 -0
  98. data/lib/phrase/api/projects_api.rb +23 -10
  99. data/lib/phrase/api/releases_api.rb +2 -0
  100. data/lib/phrase/api/screenshot_markers_api.rb +2 -0
  101. data/lib/phrase/api/screenshots_api.rb +2 -0
  102. data/lib/phrase/api/style_guides_api.rb +2 -0
  103. data/lib/phrase/api/tags_api.rb +7 -2
  104. data/lib/phrase/api/translations_api.rb +6 -0
  105. data/lib/phrase/api/uploads_api.rb +3 -0
  106. data/lib/phrase/api/variables_api.rb +2 -0
  107. data/lib/phrase/api/webhooks_api.rb +9 -5
  108. data/lib/phrase/models/account_details.rb +1 -0
  109. data/lib/phrase/models/authorization_create_parameters.rb +22 -0
  110. data/lib/phrase/models/authorization_update_parameters.rb +22 -0
  111. data/lib/phrase/models/automation.rb +34 -1
  112. data/lib/phrase/models/automations_create_parameters.rb +24 -4
  113. data/lib/phrase/models/automations_create_parameters1.rb +24 -4
  114. data/lib/phrase/models/branch.rb +46 -1
  115. data/lib/phrase/models/branch_create_parameters.rb +14 -4
  116. data/lib/phrase/models/branch_merge_parameters.rb +35 -1
  117. data/lib/phrase/models/branch_sync_parameters.rb +35 -1
  118. data/lib/phrase/models/distribution.rb +17 -20
  119. data/lib/phrase/models/{distribution_preview.rb → distribution_details.rb} +46 -7
  120. data/lib/phrase/models/{custom_metadata_property_create422_response.rb → document_delete422_response.rb} +4 -4
  121. data/lib/phrase/models/{custom_metadata_property_create422_response_errors_inner.rb → document_delete422_response_errors_inner.rb} +3 -3
  122. data/lib/phrase/models/glossary.rb +12 -1
  123. data/lib/phrase/models/glossary_term.rb +10 -1
  124. data/lib/phrase/models/glossary_term_glossary.rb +206 -0
  125. data/lib/phrase/models/icu_skeleton_parameters.rb +12 -2
  126. data/lib/phrase/models/invitation.rb +9 -8
  127. data/lib/phrase/models/job.rb +26 -4
  128. data/lib/phrase/models/job_details.rb +37 -4
  129. data/lib/phrase/models/job_template.rb +11 -1
  130. data/lib/phrase/models/job_template_details.rb +11 -1
  131. data/lib/phrase/models/key_create_parameters.rb +26 -4
  132. data/lib/phrase/models/key_update_parameters.rb +26 -4
  133. data/lib/phrase/models/locale_download_create_parameters.rb +13 -3
  134. data/lib/phrase/models/organization_job_template.rb +22 -1
  135. data/lib/phrase/models/organization_job_template_details.rb +22 -1
  136. data/lib/phrase/models/project_create_parameters.rb +115 -1
  137. data/lib/phrase/models/project_details.rb +31 -4
  138. data/lib/phrase/models/project_update_parameters.rb +75 -5
  139. data/lib/phrase/models/release.rb +10 -1
  140. data/lib/phrase/models/repo_sync.rb +12 -1
  141. data/lib/phrase/models/screenshot_marker.rb +2 -1
  142. data/lib/phrase/models/screenshot_marker_presentation.rb +224 -0
  143. data/lib/phrase/models/search_in_account_parameters.rb +16 -4
  144. data/lib/phrase/models/styleguide_create_parameters.rb +61 -3
  145. data/lib/phrase/models/styleguide_update_parameters.rb +61 -3
  146. data/lib/phrase/models/tag.rb +11 -1
  147. data/lib/phrase/models/tag_with_stats.rb +11 -1
  148. data/lib/phrase/models/translation_create_parameters.rb +24 -4
  149. data/lib/phrase/models/translation_order.rb +8 -7
  150. data/lib/phrase/models/translation_update_parameters.rb +14 -4
  151. data/lib/phrase/models/upload_batch.rb +24 -14
  152. data/lib/phrase/models/upload_summary.rb +1 -1
  153. data/lib/phrase/version.rb +1 -1
  154. data/lib/phrase.rb +5 -3
  155. data/spec/api/branches_api_spec.rb +7 -7
  156. data/spec/api/comments_api_spec.rb +2 -2
  157. data/spec/api/distributions_api_spec.rb +4 -4
  158. data/spec/api/documents_api_spec.rb +1 -0
  159. data/spec/api/jobs_api_spec.rb +4 -2
  160. data/spec/api/notifications_api_spec.rb +1 -0
  161. data/spec/api/orders_api_spec.rb +1 -0
  162. data/spec/api/projects_api_spec.rb +6 -5
  163. data/spec/api/tags_api_spec.rb +2 -1
  164. data/spec/api/translations_api_spec.rb +2 -0
  165. data/spec/api/webhooks_api_spec.rb +2 -2
  166. data/spec/models/authorization_create_parameters_spec.rb +4 -0
  167. data/spec/models/authorization_update_parameters_spec.rb +4 -0
  168. data/spec/models/automation_spec.rb +18 -0
  169. data/spec/models/automations_create_parameters1_spec.rb +12 -0
  170. data/spec/models/automations_create_parameters_spec.rb +12 -0
  171. data/spec/models/branch_create_parameters_spec.rb +6 -0
  172. data/spec/models/branch_merge_parameters_spec.rb +4 -0
  173. data/spec/models/branch_spec.rb +10 -0
  174. data/spec/models/branch_sync_parameters_spec.rb +4 -0
  175. data/spec/models/{distribution_preview_spec.rb → distribution_details_spec.rb} +24 -6
  176. data/spec/models/distribution_spec.rb +3 -3
  177. data/spec/models/{custom_metadata_property_create422_response_errors_inner_spec.rb → document_delete422_response_errors_inner_spec.rb} +6 -6
  178. data/spec/models/{custom_metadata_property_create422_response_spec.rb → document_delete422_response_spec.rb} +6 -6
  179. data/spec/models/glossary_spec.rb +6 -0
  180. data/spec/models/glossary_term_glossary_spec.rb +35 -0
  181. data/spec/models/glossary_term_spec.rb +6 -0
  182. data/spec/models/icu_skeleton_parameters_spec.rb +6 -0
  183. data/spec/models/invitation_spec.rb +1 -1
  184. data/spec/models/job_details_spec.rb +18 -0
  185. data/spec/models/job_spec.rb +12 -0
  186. data/spec/models/job_template_details_spec.rb +6 -0
  187. data/spec/models/job_template_spec.rb +6 -0
  188. data/spec/models/key_create_parameters_spec.rb +12 -0
  189. data/spec/models/key_update_parameters_spec.rb +12 -0
  190. data/spec/models/locale_download_create_parameters_spec.rb +6 -0
  191. data/spec/models/organization_job_template_details_spec.rb +12 -0
  192. data/spec/models/organization_job_template_spec.rb +12 -0
  193. data/spec/models/project_create_parameters_spec.rb +52 -0
  194. data/spec/models/project_details_spec.rb +18 -0
  195. data/spec/models/project_update_parameters_spec.rb +42 -0
  196. data/spec/models/release_spec.rb +6 -0
  197. data/spec/models/repo_sync_spec.rb +6 -0
  198. data/spec/models/screenshot_marker_presentation_spec.rb +47 -0
  199. data/spec/models/search_in_account_parameters_spec.rb +6 -0
  200. data/spec/models/styleguide_create_parameters_spec.rb +12 -0
  201. data/spec/models/styleguide_update_parameters_spec.rb +12 -0
  202. data/spec/models/tag_spec.rb +6 -0
  203. data/spec/models/tag_with_stats_spec.rb +6 -0
  204. data/spec/models/translation_create_parameters_spec.rb +12 -0
  205. data/spec/models/translation_order_spec.rb +1 -1
  206. data/spec/models/translation_update_parameters_spec.rb +6 -0
  207. data/spec/models/upload_batch_spec.rb +8 -2
  208. metadata +262 -254
  209. data/docs/CustomMetadataPropertyCreate422Response.md +0 -19
@@ -59,6 +59,12 @@ module Phrase
59
59
  # Custom metadata property name and value pairs to be associated with key.
60
60
  attr_accessor :custom_metadata
61
61
 
62
+ # Locales for which translations of this key are excluded from exports. Pass an empty array to clear exclusions.
63
+ attr_accessor :excluded_in_locales
64
+
65
+ # Override of the value type for the key in the export. Most useful for formats like Android XML that distinguish string vs. plural resources.
66
+ attr_accessor :format_value_type
67
+
62
68
  # Attribute mapping from ruby-style variable name to JSON key.
63
69
  def self.attribute_map
64
70
  {
@@ -80,7 +86,9 @@ module Phrase
80
86
  :'original_file' => :'original_file',
81
87
  :'localized_format_string' => :'localized_format_string',
82
88
  :'localized_format_key' => :'localized_format_key',
83
- :'custom_metadata' => :'custom_metadata'
89
+ :'custom_metadata' => :'custom_metadata',
90
+ :'excluded_in_locales' => :'excluded_in_locales',
91
+ :'format_value_type' => :'format_value_type'
84
92
  }
85
93
  end
86
94
 
@@ -105,7 +113,9 @@ module Phrase
105
113
  :'original_file' => :'String',
106
114
  :'localized_format_string' => :'String',
107
115
  :'localized_format_key' => :'String',
108
- :'custom_metadata' => :'Object'
116
+ :'custom_metadata' => :'Object',
117
+ :'excluded_in_locales' => :'Array<String>',
118
+ :'format_value_type' => :'String'
109
119
  }
110
120
  end
111
121
 
@@ -205,6 +215,16 @@ module Phrase
205
215
  if attributes.key?(:'custom_metadata')
206
216
  self.custom_metadata = attributes[:'custom_metadata']
207
217
  end
218
+
219
+ if attributes.key?(:'excluded_in_locales')
220
+ if (value = attributes[:'excluded_in_locales']).is_a?(Array)
221
+ self.excluded_in_locales = value
222
+ end
223
+ end
224
+
225
+ if attributes.key?(:'format_value_type')
226
+ self.format_value_type = attributes[:'format_value_type']
227
+ end
208
228
  end
209
229
 
210
230
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -248,7 +268,9 @@ module Phrase
248
268
  original_file == o.original_file &&
249
269
  localized_format_string == o.localized_format_string &&
250
270
  localized_format_key == o.localized_format_key &&
251
- custom_metadata == o.custom_metadata
271
+ custom_metadata == o.custom_metadata &&
272
+ excluded_in_locales == o.excluded_in_locales &&
273
+ format_value_type == o.format_value_type
252
274
  end
253
275
 
254
276
  # @see the `==` method
@@ -260,7 +282,7 @@ module Phrase
260
282
  # Calculates hash code according to all attributes.
261
283
  # @return [Integer] Hash code
262
284
  def hash
263
- [branch, name, description, plural, use_ordinal_rules, name_plural, data_type, tags, max_characters_allowed, screenshot, remove_screenshot, unformatted, default_translation_content, autotranslate, xml_space_preserve, original_file, localized_format_string, localized_format_key, custom_metadata].hash
285
+ [branch, name, description, plural, use_ordinal_rules, name_plural, data_type, tags, max_characters_allowed, screenshot, remove_screenshot, unformatted, default_translation_content, autotranslate, xml_space_preserve, original_file, localized_format_string, localized_format_key, custom_metadata, excluded_in_locales, format_value_type].hash
264
286
  end
265
287
 
266
288
  # Builds the object from hash
@@ -53,6 +53,12 @@ module Phrase
53
53
  # Updates/Creates custom metadata property name and value pairs to be associated with key. If you want to delete a custom metadata property, you can set its value to null. If you want to update a custom metadata property, you can set its value to the new value.
54
54
  attr_accessor :custom_metadata
55
55
 
56
+ # Locales for which translations of this key are excluded from exports. Pass an empty array to clear exclusions.
57
+ attr_accessor :excluded_in_locales
58
+
59
+ # Override of the value type for the key in the export. Most useful for formats like Android XML that distinguish string vs. plural resources.
60
+ attr_accessor :format_value_type
61
+
56
62
  # Attribute mapping from ruby-style variable name to JSON key.
57
63
  def self.attribute_map
58
64
  {
@@ -72,7 +78,9 @@ module Phrase
72
78
  :'original_file' => :'original_file',
73
79
  :'localized_format_string' => :'localized_format_string',
74
80
  :'localized_format_key' => :'localized_format_key',
75
- :'custom_metadata' => :'custom_metadata'
81
+ :'custom_metadata' => :'custom_metadata',
82
+ :'excluded_in_locales' => :'excluded_in_locales',
83
+ :'format_value_type' => :'format_value_type'
76
84
  }
77
85
  end
78
86
 
@@ -95,7 +103,9 @@ module Phrase
95
103
  :'original_file' => :'String',
96
104
  :'localized_format_string' => :'String',
97
105
  :'localized_format_key' => :'String',
98
- :'custom_metadata' => :'Object'
106
+ :'custom_metadata' => :'Object',
107
+ :'excluded_in_locales' => :'Array<String>',
108
+ :'format_value_type' => :'String'
99
109
  }
100
110
  end
101
111
 
@@ -187,6 +197,16 @@ module Phrase
187
197
  if attributes.key?(:'custom_metadata')
188
198
  self.custom_metadata = attributes[:'custom_metadata']
189
199
  end
200
+
201
+ if attributes.key?(:'excluded_in_locales')
202
+ if (value = attributes[:'excluded_in_locales']).is_a?(Array)
203
+ self.excluded_in_locales = value
204
+ end
205
+ end
206
+
207
+ if attributes.key?(:'format_value_type')
208
+ self.format_value_type = attributes[:'format_value_type']
209
+ end
190
210
  end
191
211
 
192
212
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -223,7 +243,9 @@ module Phrase
223
243
  original_file == o.original_file &&
224
244
  localized_format_string == o.localized_format_string &&
225
245
  localized_format_key == o.localized_format_key &&
226
- custom_metadata == o.custom_metadata
246
+ custom_metadata == o.custom_metadata &&
247
+ excluded_in_locales == o.excluded_in_locales &&
248
+ format_value_type == o.format_value_type
227
249
  end
228
250
 
229
251
  # @see the `==` method
@@ -235,7 +257,7 @@ module Phrase
235
257
  # Calculates hash code according to all attributes.
236
258
  # @return [Integer] Hash code
237
259
  def hash
238
- [branch, name, description, plural, use_ordinal_rules, name_plural, data_type, tags, max_characters_allowed, screenshot, remove_screenshot, unformatted, xml_space_preserve, original_file, localized_format_string, localized_format_key, custom_metadata].hash
260
+ [branch, name, description, plural, use_ordinal_rules, name_plural, data_type, tags, max_characters_allowed, screenshot, remove_screenshot, unformatted, xml_space_preserve, original_file, localized_format_string, localized_format_key, custom_metadata, excluded_in_locales, format_value_type].hash
239
261
  end
240
262
 
241
263
  # Builds the object from hash
@@ -38,12 +38,15 @@ module Phrase
38
38
  # Locale IDs or locale names
39
39
  attr_accessor :locale_ids
40
40
 
41
- # If a key has no translation in the locale being downloaded, the translation in the fallback locale will be used. Provide the ID of the locale that should be used as the fallback. Requires `include_empty_translations` to be set to `true`. Mutually exclusive with `use_locale_fallback`.
41
+ # If a key has no translation in the locale being downloaded, the translation in the fallback locale will be used. Provide the ID of the locale that should be used as the fallback. Requires `include_empty_translations` to be set to `true` unless `fallback_for_unverified_translations` is also set to `true`. Mutually exclusive with `use_locale_fallback`.
42
42
  attr_accessor :fallback_locale_id
43
43
 
44
- # If a key has no translation in the locale being downloaded, the translation in the fallback locale will be used. Fallback locale is defined in [locale's settings](/en/api/strings/locales/update-a-locale#body-fallback-locale-id). Requires `include_empty_translations` to be set to `true`. Mutually exclusive with `fallback_locale_id`.
44
+ # If a key has no translation in the locale being downloaded, the translation in the fallback locale will be used. Fallback locale is defined in [locale's settings](/en/api/strings/locales/update-a-locale#body-fallback-locale-id). Requires `include_empty_translations` to be set to `true` unless `fallback_for_unverified_translations` is also set to `true`. Mutually exclusive with `fallback_locale_id`.
45
45
  attr_accessor :use_locale_fallback
46
46
 
47
+ # If set to `true`, translations in a non-final state are replaced by the fallback locale's translation at export time. In the simple workflow, \"non-final\" means `unverified`. In the review workflow, it additionally includes `translated` (awaiting review). No stored translations are modified. Requires `fallback_locale_id` or `use_locale_fallback` to be set; a `422` validation error is returned otherwise.
48
+ attr_accessor :fallback_for_unverified_translations
49
+
47
50
  # Provides the source language of a corresponding job as the source language of the generated locale file. This parameter will be ignored unless used in combination with a `tag` parameter indicating a specific job.
48
51
  attr_accessor :source_locale_id
49
52
 
@@ -70,6 +73,7 @@ module Phrase
70
73
  :'locale_ids' => :'locale_ids',
71
74
  :'fallback_locale_id' => :'fallback_locale_id',
72
75
  :'use_locale_fallback' => :'use_locale_fallback',
76
+ :'fallback_for_unverified_translations' => :'fallback_for_unverified_translations',
73
77
  :'source_locale_id' => :'source_locale_id',
74
78
  :'custom_metadata_filters' => :'custom_metadata_filters',
75
79
  :'updated_since' => :'updated_since'
@@ -93,6 +97,7 @@ module Phrase
93
97
  :'locale_ids' => :'Array<String>',
94
98
  :'fallback_locale_id' => :'String',
95
99
  :'use_locale_fallback' => :'Boolean',
100
+ :'fallback_for_unverified_translations' => :'Boolean',
96
101
  :'source_locale_id' => :'String',
97
102
  :'custom_metadata_filters' => :'Object',
98
103
  :'updated_since' => :'String'
@@ -178,6 +183,10 @@ module Phrase
178
183
  self.use_locale_fallback = attributes[:'use_locale_fallback']
179
184
  end
180
185
 
186
+ if attributes.key?(:'fallback_for_unverified_translations')
187
+ self.fallback_for_unverified_translations = attributes[:'fallback_for_unverified_translations']
188
+ end
189
+
181
190
  if attributes.key?(:'source_locale_id')
182
191
  self.source_locale_id = attributes[:'source_locale_id']
183
192
  end
@@ -228,6 +237,7 @@ module Phrase
228
237
  locale_ids == o.locale_ids &&
229
238
  fallback_locale_id == o.fallback_locale_id &&
230
239
  use_locale_fallback == o.use_locale_fallback &&
240
+ fallback_for_unverified_translations == o.fallback_for_unverified_translations &&
231
241
  source_locale_id == o.source_locale_id &&
232
242
  custom_metadata_filters == o.custom_metadata_filters &&
233
243
  updated_since == o.updated_since
@@ -242,7 +252,7 @@ module Phrase
242
252
  # Calculates hash code according to all attributes.
243
253
  # @return [Integer] Hash code
244
254
  def hash
245
- [file_format, branch, tags, include_empty_translations, exclude_empty_zero_forms, include_translated_keys, keep_notranslate_tags, format_options, encoding, include_unverified_translations, use_last_reviewed_version, locale_ids, fallback_locale_id, use_locale_fallback, source_locale_id, custom_metadata_filters, updated_since].hash
255
+ [file_format, branch, tags, include_empty_translations, exclude_empty_zero_forms, include_translated_keys, keep_notranslate_tags, format_options, encoding, include_unverified_translations, use_last_reviewed_version, locale_ids, fallback_locale_id, use_locale_fallback, fallback_for_unverified_translations, source_locale_id, custom_metadata_filters, updated_since].hash
246
256
  end
247
257
 
248
258
  # Builds the object from hash
@@ -8,6 +8,12 @@ module Phrase
8
8
 
9
9
  attr_accessor :briefing
10
10
 
11
+ # When `true`, jobs created from this template are auto-translated on creation. Maps to the `autotranslate` field on the request body.
12
+ attr_accessor :autotranslate_enabled
13
+
14
+ # Optional. ID of the source locale used by jobs created from this template. When omitted, the project's default source locale is used.
15
+ attr_accessor :source_locale_id
16
+
11
17
  attr_accessor :created_at
12
18
 
13
19
  attr_accessor :updated_at
@@ -18,6 +24,8 @@ module Phrase
18
24
  :'id' => :'id',
19
25
  :'name' => :'name',
20
26
  :'briefing' => :'briefing',
27
+ :'autotranslate_enabled' => :'autotranslate_enabled',
28
+ :'source_locale_id' => :'source_locale_id',
21
29
  :'created_at' => :'created_at',
22
30
  :'updated_at' => :'updated_at'
23
31
  }
@@ -29,6 +37,8 @@ module Phrase
29
37
  :'id' => :'String',
30
38
  :'name' => :'String',
31
39
  :'briefing' => :'String',
40
+ :'autotranslate_enabled' => :'Boolean',
41
+ :'source_locale_id' => :'String',
32
42
  :'created_at' => :'DateTime',
33
43
  :'updated_at' => :'DateTime'
34
44
  }
@@ -37,6 +47,7 @@ module Phrase
37
47
  # List of attributes with nullable: true
38
48
  def self.openapi_nullable
39
49
  Set.new([
50
+ :'source_locale_id',
40
51
  ])
41
52
  end
42
53
 
@@ -67,6 +78,14 @@ module Phrase
67
78
  self.briefing = attributes[:'briefing']
68
79
  end
69
80
 
81
+ if attributes.key?(:'autotranslate_enabled')
82
+ self.autotranslate_enabled = attributes[:'autotranslate_enabled']
83
+ end
84
+
85
+ if attributes.key?(:'source_locale_id')
86
+ self.source_locale_id = attributes[:'source_locale_id']
87
+ end
88
+
70
89
  if attributes.key?(:'created_at')
71
90
  self.created_at = attributes[:'created_at']
72
91
  end
@@ -97,6 +116,8 @@ module Phrase
97
116
  id == o.id &&
98
117
  name == o.name &&
99
118
  briefing == o.briefing &&
119
+ autotranslate_enabled == o.autotranslate_enabled &&
120
+ source_locale_id == o.source_locale_id &&
100
121
  created_at == o.created_at &&
101
122
  updated_at == o.updated_at
102
123
  end
@@ -110,7 +131,7 @@ module Phrase
110
131
  # Calculates hash code according to all attributes.
111
132
  # @return [Integer] Hash code
112
133
  def hash
113
- [id, name, briefing, created_at, updated_at].hash
134
+ [id, name, briefing, autotranslate_enabled, source_locale_id, created_at, updated_at].hash
114
135
  end
115
136
 
116
137
  # Builds the object from hash
@@ -8,6 +8,12 @@ module Phrase
8
8
 
9
9
  attr_accessor :briefing
10
10
 
11
+ # When `true`, jobs created from this template are auto-translated on creation. Maps to the `autotranslate` field on the request body.
12
+ attr_accessor :autotranslate_enabled
13
+
14
+ # Optional. ID of the source locale used by jobs created from this template. When omitted, the project's default source locale is used.
15
+ attr_accessor :source_locale_id
16
+
11
17
  attr_accessor :created_at
12
18
 
13
19
  attr_accessor :updated_at
@@ -24,6 +30,8 @@ module Phrase
24
30
  :'id' => :'id',
25
31
  :'name' => :'name',
26
32
  :'briefing' => :'briefing',
33
+ :'autotranslate_enabled' => :'autotranslate_enabled',
34
+ :'source_locale_id' => :'source_locale_id',
27
35
  :'created_at' => :'created_at',
28
36
  :'updated_at' => :'updated_at',
29
37
  :'owner' => :'owner',
@@ -38,6 +46,8 @@ module Phrase
38
46
  :'id' => :'String',
39
47
  :'name' => :'String',
40
48
  :'briefing' => :'String',
49
+ :'autotranslate_enabled' => :'Boolean',
50
+ :'source_locale_id' => :'String',
41
51
  :'created_at' => :'DateTime',
42
52
  :'updated_at' => :'DateTime',
43
53
  :'owner' => :'UserPreview',
@@ -49,6 +59,7 @@ module Phrase
49
59
  # List of attributes with nullable: true
50
60
  def self.openapi_nullable
51
61
  Set.new([
62
+ :'source_locale_id',
52
63
  ])
53
64
  end
54
65
 
@@ -86,6 +97,14 @@ module Phrase
86
97
  self.briefing = attributes[:'briefing']
87
98
  end
88
99
 
100
+ if attributes.key?(:'autotranslate_enabled')
101
+ self.autotranslate_enabled = attributes[:'autotranslate_enabled']
102
+ end
103
+
104
+ if attributes.key?(:'source_locale_id')
105
+ self.source_locale_id = attributes[:'source_locale_id']
106
+ end
107
+
89
108
  if attributes.key?(:'created_at')
90
109
  self.created_at = attributes[:'created_at']
91
110
  end
@@ -130,6 +149,8 @@ module Phrase
130
149
  id == o.id &&
131
150
  name == o.name &&
132
151
  briefing == o.briefing &&
152
+ autotranslate_enabled == o.autotranslate_enabled &&
153
+ source_locale_id == o.source_locale_id &&
133
154
  created_at == o.created_at &&
134
155
  updated_at == o.updated_at &&
135
156
  owner == o.owner &&
@@ -146,7 +167,7 @@ module Phrase
146
167
  # Calculates hash code according to all attributes.
147
168
  # @return [Integer] Hash code
148
169
  def hash
149
- [id, name, briefing, created_at, updated_at, owner, creator, locales].hash
170
+ [id, name, briefing, autotranslate_enabled, source_locale_id, created_at, updated_at, owner, creator, locales].hash
150
171
  end
151
172
 
152
173
  # Builds the object from hash
@@ -74,9 +74,55 @@ module Phrase
74
74
  # (Optional) Requires autotranslate_enabled to be true
75
75
  attr_accessor :autotranslate_overwrite_unverified_translations
76
76
 
77
+ # (Optional) Enable autocomplete-job behavior so that newly created keys and locales are automatically added to in-progress jobs.
78
+ attr_accessor :autocomplete_job_enabled
79
+
80
+ # (Optional) When enabled, translations are locked once a job moves into review.
81
+ attr_accessor :job_locking_enabled
82
+
83
+ # (Optional) Enable Smart Suggest for the project. Defaults to `true` when omitted.
84
+ attr_accessor :smart_suggest_enabled
85
+
86
+ # (Optional) Allow Smart Suggest to source suggestions from the project glossary. Defaults to `true` when omitted.
87
+ attr_accessor :smart_suggest_use_glossary
88
+
89
+ # (Optional) Allow Smart Suggest to source suggestions from machine translation. Defaults to `true` when omitted.
90
+ attr_accessor :smart_suggest_use_machine_translation
91
+
92
+ # (Optional) Collation used when sorting translation keys alphabetically. Defaults to `unicode_ci` when omitted.
93
+ attr_accessor :translation_keys_sort_collation
94
+
95
+ # (Optional) Sets the default encoding for Uploads. If you leave it empty, we will try to guess it automatically for you when you Upload a file. You can still override this value by setting the [`file_encoding`](/en/api/strings/uploads/upload-a-new-file) parameter for Uploads.
96
+ attr_accessor :default_encoding
97
+
98
+ # (Optional) CLDR plural-rule version used by the project.
99
+ attr_accessor :cldr_version
100
+
77
101
  # (Optional) List of placeholder styles enabled for the project.
78
102
  attr_accessor :placeholder_styles
79
103
 
104
+ class EnumAttributeValidator
105
+ attr_reader :datatype
106
+ attr_reader :allowable_values
107
+
108
+ def initialize(datatype, allowable_values)
109
+ @allowable_values = allowable_values.map do |value|
110
+ case datatype.to_s
111
+ when /Integer/i
112
+ value.to_i
113
+ when /Float/i
114
+ value.to_f
115
+ else
116
+ value
117
+ end
118
+ end
119
+ end
120
+
121
+ def valid?(value)
122
+ !value || allowable_values.include?(value)
123
+ end
124
+ end
125
+
80
126
  # Attribute mapping from ruby-style variable name to JSON key.
81
127
  def self.attribute_map
82
128
  {
@@ -104,6 +150,14 @@ module Phrase
104
150
  :'autotranslate_use_machine_translation' => :'autotranslate_use_machine_translation',
105
151
  :'autotranslate_use_translation_memory' => :'autotranslate_use_translation_memory',
106
152
  :'autotranslate_overwrite_unverified_translations' => :'autotranslate_overwrite_unverified_translations',
153
+ :'autocomplete_job_enabled' => :'autocomplete_job_enabled',
154
+ :'job_locking_enabled' => :'job_locking_enabled',
155
+ :'smart_suggest_enabled' => :'smart_suggest_enabled',
156
+ :'smart_suggest_use_glossary' => :'smart_suggest_use_glossary',
157
+ :'smart_suggest_use_machine_translation' => :'smart_suggest_use_machine_translation',
158
+ :'translation_keys_sort_collation' => :'translation_keys_sort_collation',
159
+ :'default_encoding' => :'default_encoding',
160
+ :'cldr_version' => :'cldr_version',
107
161
  :'placeholder_styles' => :'placeholder_styles'
108
162
  }
109
163
  end
@@ -135,6 +189,14 @@ module Phrase
135
189
  :'autotranslate_use_machine_translation' => :'Boolean',
136
190
  :'autotranslate_use_translation_memory' => :'Boolean',
137
191
  :'autotranslate_overwrite_unverified_translations' => :'Boolean',
192
+ :'autocomplete_job_enabled' => :'Boolean',
193
+ :'job_locking_enabled' => :'Boolean',
194
+ :'smart_suggest_enabled' => :'Boolean',
195
+ :'smart_suggest_use_glossary' => :'Boolean',
196
+ :'smart_suggest_use_machine_translation' => :'Boolean',
197
+ :'translation_keys_sort_collation' => :'String',
198
+ :'default_encoding' => :'String',
199
+ :'cldr_version' => :'String',
138
200
  :'placeholder_styles' => :'Array<String>'
139
201
  }
140
202
  end
@@ -256,6 +318,38 @@ module Phrase
256
318
  self.autotranslate_overwrite_unverified_translations = attributes[:'autotranslate_overwrite_unverified_translations']
257
319
  end
258
320
 
321
+ if attributes.key?(:'autocomplete_job_enabled')
322
+ self.autocomplete_job_enabled = attributes[:'autocomplete_job_enabled']
323
+ end
324
+
325
+ if attributes.key?(:'job_locking_enabled')
326
+ self.job_locking_enabled = attributes[:'job_locking_enabled']
327
+ end
328
+
329
+ if attributes.key?(:'smart_suggest_enabled')
330
+ self.smart_suggest_enabled = attributes[:'smart_suggest_enabled']
331
+ end
332
+
333
+ if attributes.key?(:'smart_suggest_use_glossary')
334
+ self.smart_suggest_use_glossary = attributes[:'smart_suggest_use_glossary']
335
+ end
336
+
337
+ if attributes.key?(:'smart_suggest_use_machine_translation')
338
+ self.smart_suggest_use_machine_translation = attributes[:'smart_suggest_use_machine_translation']
339
+ end
340
+
341
+ if attributes.key?(:'translation_keys_sort_collation')
342
+ self.translation_keys_sort_collation = attributes[:'translation_keys_sort_collation']
343
+ end
344
+
345
+ if attributes.key?(:'default_encoding')
346
+ self.default_encoding = attributes[:'default_encoding']
347
+ end
348
+
349
+ if attributes.key?(:'cldr_version')
350
+ self.cldr_version = attributes[:'cldr_version']
351
+ end
352
+
259
353
  if attributes.key?(:'placeholder_styles')
260
354
  if (value = attributes[:'placeholder_styles']).is_a?(Array)
261
355
  self.placeholder_styles = value
@@ -278,9 +372,21 @@ module Phrase
278
372
  # @return true if the model is valid
279
373
  def valid?
280
374
  return false if @name.nil?
375
+ default_encoding_validator = EnumAttributeValidator.new('String', ["UTF-8", "UTF-16", "UTF-16BE", "UTF-16LE", "ISO-8859-1"])
376
+ return false unless default_encoding_validator.valid?(@default_encoding)
281
377
  true
282
378
  end
283
379
 
380
+ # Custom attribute writer method checking allowed values (enum).
381
+ # @param [Object] default_encoding Object to be assigned
382
+ def default_encoding=(default_encoding)
383
+ validator = EnumAttributeValidator.new('String', ["UTF-8", "UTF-16", "UTF-16BE", "UTF-16LE", "ISO-8859-1"])
384
+ unless validator.valid?(default_encoding)
385
+ fail ArgumentError, "invalid value for \"default_encoding\", must be one of #{validator.allowable_values}."
386
+ end
387
+ @default_encoding = default_encoding
388
+ end
389
+
284
390
  # Checks equality by comparing each attribute.
285
391
  # @param [Object] Object to be compared
286
392
  def ==(o)
@@ -310,6 +416,14 @@ module Phrase
310
416
  autotranslate_use_machine_translation == o.autotranslate_use_machine_translation &&
311
417
  autotranslate_use_translation_memory == o.autotranslate_use_translation_memory &&
312
418
  autotranslate_overwrite_unverified_translations == o.autotranslate_overwrite_unverified_translations &&
419
+ autocomplete_job_enabled == o.autocomplete_job_enabled &&
420
+ job_locking_enabled == o.job_locking_enabled &&
421
+ smart_suggest_enabled == o.smart_suggest_enabled &&
422
+ smart_suggest_use_glossary == o.smart_suggest_use_glossary &&
423
+ smart_suggest_use_machine_translation == o.smart_suggest_use_machine_translation &&
424
+ translation_keys_sort_collation == o.translation_keys_sort_collation &&
425
+ default_encoding == o.default_encoding &&
426
+ cldr_version == o.cldr_version &&
313
427
  placeholder_styles == o.placeholder_styles
314
428
  end
315
429
 
@@ -322,7 +436,7 @@ module Phrase
322
436
  # Calculates hash code according to all attributes.
323
437
  # @return [Integer] Hash code
324
438
  def hash
325
- [name, main_format, media, shares_translation_memory, project_image, remove_project_image, account_id, point_of_contact, source_project_id, workflow, machine_translation_enabled, enable_branching, protect_master_branch, enable_all_data_type_translation_keys_for_translators, enable_icu_message_format, zero_plural_form_enabled, autotranslate_enabled, autotranslate_check_new_translation_keys, autotranslate_check_new_uploads, autotranslate_check_new_locales, autotranslate_mark_as_unverified, autotranslate_use_machine_translation, autotranslate_use_translation_memory, autotranslate_overwrite_unverified_translations, placeholder_styles].hash
439
+ [name, main_format, media, shares_translation_memory, project_image, remove_project_image, account_id, point_of_contact, source_project_id, workflow, machine_translation_enabled, enable_branching, protect_master_branch, enable_all_data_type_translation_keys_for_translators, enable_icu_message_format, zero_plural_form_enabled, autotranslate_enabled, autotranslate_check_new_translation_keys, autotranslate_check_new_uploads, autotranslate_check_new_locales, autotranslate_mark_as_unverified, autotranslate_use_machine_translation, autotranslate_use_translation_memory, autotranslate_overwrite_unverified_translations, autocomplete_job_enabled, job_locking_enabled, smart_suggest_enabled, smart_suggest_use_glossary, smart_suggest_use_machine_translation, translation_keys_sort_collation, default_encoding, cldr_version, placeholder_styles].hash
326
440
  end
327
441
 
328
442
  # Builds the object from hash
@@ -52,6 +52,10 @@ module Phrase
52
52
 
53
53
  attr_accessor :autotranslate_use_translation_memory
54
54
 
55
+ attr_accessor :autotranslate_overwrite_unverified_translations
56
+
57
+ attr_accessor :autocomplete_job_enabled
58
+
55
59
  attr_accessor :default_encoding
56
60
 
57
61
  attr_accessor :cldr_version
@@ -60,6 +64,8 @@ module Phrase
60
64
 
61
65
  attr_accessor :placeholder_styles
62
66
 
67
+ attr_accessor :branch
68
+
63
69
  # Attribute mapping from ruby-style variable name to JSON key.
64
70
  def self.attribute_map
65
71
  {
@@ -88,10 +94,13 @@ module Phrase
88
94
  :'autotranslate_mark_as_unverified' => :'autotranslate_mark_as_unverified',
89
95
  :'autotranslate_use_machine_translation' => :'autotranslate_use_machine_translation',
90
96
  :'autotranslate_use_translation_memory' => :'autotranslate_use_translation_memory',
97
+ :'autotranslate_overwrite_unverified_translations' => :'autotranslate_overwrite_unverified_translations',
98
+ :'autocomplete_job_enabled' => :'autocomplete_job_enabled',
91
99
  :'default_encoding' => :'default_encoding',
92
100
  :'cldr_version' => :'cldr_version',
93
101
  :'job_locking_enabled' => :'job_locking_enabled',
94
- :'placeholder_styles' => :'placeholder_styles'
102
+ :'placeholder_styles' => :'placeholder_styles',
103
+ :'branch' => :'branch'
95
104
  }
96
105
  end
97
106
 
@@ -123,10 +132,13 @@ module Phrase
123
132
  :'autotranslate_mark_as_unverified' => :'Boolean',
124
133
  :'autotranslate_use_machine_translation' => :'Boolean',
125
134
  :'autotranslate_use_translation_memory' => :'Boolean',
135
+ :'autotranslate_overwrite_unverified_translations' => :'Boolean',
136
+ :'autocomplete_job_enabled' => :'Boolean',
126
137
  :'default_encoding' => :'String',
127
138
  :'cldr_version' => :'String',
128
139
  :'job_locking_enabled' => :'Boolean',
129
- :'placeholder_styles' => :'Array<String>'
140
+ :'placeholder_styles' => :'Array<String>',
141
+ :'branch' => :'Branch'
130
142
  }
131
143
  end
132
144
 
@@ -258,6 +270,14 @@ module Phrase
258
270
  self.autotranslate_use_translation_memory = attributes[:'autotranslate_use_translation_memory']
259
271
  end
260
272
 
273
+ if attributes.key?(:'autotranslate_overwrite_unverified_translations')
274
+ self.autotranslate_overwrite_unverified_translations = attributes[:'autotranslate_overwrite_unverified_translations']
275
+ end
276
+
277
+ if attributes.key?(:'autocomplete_job_enabled')
278
+ self.autocomplete_job_enabled = attributes[:'autocomplete_job_enabled']
279
+ end
280
+
261
281
  if attributes.key?(:'default_encoding')
262
282
  self.default_encoding = attributes[:'default_encoding']
263
283
  end
@@ -275,6 +295,10 @@ module Phrase
275
295
  self.placeholder_styles = value
276
296
  end
277
297
  end
298
+
299
+ if attributes.key?(:'branch')
300
+ self.branch = attributes[:'branch']
301
+ end
278
302
  end
279
303
 
280
304
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -320,10 +344,13 @@ module Phrase
320
344
  autotranslate_mark_as_unverified == o.autotranslate_mark_as_unverified &&
321
345
  autotranslate_use_machine_translation == o.autotranslate_use_machine_translation &&
322
346
  autotranslate_use_translation_memory == o.autotranslate_use_translation_memory &&
347
+ autotranslate_overwrite_unverified_translations == o.autotranslate_overwrite_unverified_translations &&
348
+ autocomplete_job_enabled == o.autocomplete_job_enabled &&
323
349
  default_encoding == o.default_encoding &&
324
350
  cldr_version == o.cldr_version &&
325
351
  job_locking_enabled == o.job_locking_enabled &&
326
- placeholder_styles == o.placeholder_styles
352
+ placeholder_styles == o.placeholder_styles &&
353
+ branch == o.branch
327
354
  end
328
355
 
329
356
  # @see the `==` method
@@ -335,7 +362,7 @@ module Phrase
335
362
  # Calculates hash code according to all attributes.
336
363
  # @return [Integer] Hash code
337
364
  def hash
338
- [id, name, slug, main_format, project_image_url, media, account, space, point_of_contact, created_at, updated_at, shares_translation_memory, machine_translation_enabled, zero_plural_form_enabled, enable_all_data_type_translation_keys_for_translators, enable_icu_message_format, enable_branching, protect_master_branch, autotranslate_enabled, autotranslate_check_new_translation_keys, autotranslate_check_new_uploads, autotranslate_check_new_locales, autotranslate_mark_as_unverified, autotranslate_use_machine_translation, autotranslate_use_translation_memory, default_encoding, cldr_version, job_locking_enabled, placeholder_styles].hash
365
+ [id, name, slug, main_format, project_image_url, media, account, space, point_of_contact, created_at, updated_at, shares_translation_memory, machine_translation_enabled, zero_plural_form_enabled, enable_all_data_type_translation_keys_for_translators, enable_icu_message_format, enable_branching, protect_master_branch, autotranslate_enabled, autotranslate_check_new_translation_keys, autotranslate_check_new_uploads, autotranslate_check_new_locales, autotranslate_mark_as_unverified, autotranslate_use_machine_translation, autotranslate_use_translation_memory, autotranslate_overwrite_unverified_translations, autocomplete_job_enabled, default_encoding, cldr_version, job_locking_enabled, placeholder_styles, branch].hash
339
366
  end
340
367
 
341
368
  # Builds the object from hash