google-cloud-translate 1.4.0 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/AUTHENTICATION.md +6 -2
  3. data/CHANGELOG.md +33 -0
  4. data/CONTRIBUTING.md +1 -1
  5. data/LICENSE +1 -1
  6. data/OVERVIEW.md +223 -18
  7. data/lib/google-cloud-translate.rb +79 -91
  8. data/lib/google/cloud/translate.rb +127 -114
  9. data/lib/google/cloud/translate/v2.rb +169 -0
  10. data/lib/google/cloud/translate/v2/api.rb +255 -0
  11. data/lib/google/cloud/translate/v2/credentials.rb +58 -0
  12. data/lib/google/cloud/translate/v2/detection.rb +132 -0
  13. data/lib/google/cloud/translate/v2/language.rb +68 -0
  14. data/lib/google/cloud/translate/v2/service.rb +205 -0
  15. data/lib/google/cloud/translate/v2/translation.rb +120 -0
  16. data/lib/google/cloud/translate/v3.rb +144 -0
  17. data/lib/google/cloud/translate/v3/credentials.rb +42 -0
  18. data/lib/google/cloud/translate/v3/doc/google/cloud/translate/v3/translation_service.rb +663 -0
  19. data/lib/google/cloud/translate/v3/doc/google/longrunning/operations.rb +51 -0
  20. data/lib/google/cloud/translate/v3/doc/google/protobuf/any.rb +131 -0
  21. data/lib/google/cloud/translate/v3/doc/google/protobuf/timestamp.rb +113 -0
  22. data/lib/google/cloud/translate/v3/doc/google/rpc/status.rb +87 -0
  23. data/lib/google/cloud/translate/v3/translation_service_client.rb +927 -0
  24. data/lib/google/cloud/translate/v3/translation_service_client_config.json +66 -0
  25. data/lib/google/cloud/translate/v3/translation_service_pb.rb +226 -0
  26. data/lib/google/cloud/translate/v3/translation_service_services_pb.rb +68 -0
  27. data/lib/google/cloud/translate/version.rb +1 -1
  28. metadata +47 -37
  29. data/lib/google/cloud/translate/api.rb +0 -274
  30. data/lib/google/cloud/translate/credentials.rb +0 -57
  31. data/lib/google/cloud/translate/detection.rb +0 -139
  32. data/lib/google/cloud/translate/language.rb +0 -70
  33. data/lib/google/cloud/translate/service.rb +0 -206
  34. data/lib/google/cloud/translate/translation.rb +0 -125
@@ -0,0 +1,42 @@
1
+ # Copyright 2019 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # https://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+
16
+ require "googleauth"
17
+
18
+ module Google
19
+ module Cloud
20
+ module Translate
21
+ module V3
22
+ class Credentials < Google::Auth::Credentials
23
+ SCOPE = [
24
+ "https://www.googleapis.com/auth/cloud-platform",
25
+ "https://www.googleapis.com/auth/cloud-translation"
26
+ ].freeze
27
+ PATH_ENV_VARS = %w(TRANSLATE_CREDENTIALS
28
+ TRANSLATE_KEYFILE
29
+ GOOGLE_CLOUD_CREDENTIALS
30
+ GOOGLE_CLOUD_KEYFILE
31
+ GCLOUD_KEYFILE)
32
+ JSON_ENV_VARS = %w(TRANSLATE_CREDENTIALS_JSON
33
+ TRANSLATE_KEYFILE_JSON
34
+ GOOGLE_CLOUD_CREDENTIALS_JSON
35
+ GOOGLE_CLOUD_KEYFILE_JSON
36
+ GCLOUD_KEYFILE_JSON)
37
+ DEFAULT_PATHS = ["~/.config/gcloud/application_default_credentials.json"]
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,663 @@
1
+ # Copyright 2019 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # https://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+
16
+ module Google
17
+ module Cloud
18
+ module Translate
19
+ module V3
20
+ # Configures which glossary should be used for a specific target language,
21
+ # and defines options for applying that glossary.
22
+ # @!attribute [rw] glossary
23
+ # @return [String]
24
+ # Required. Specifies the glossary used for this translation. Use
25
+ # this format: projects/*/locations/*/glossaries/*
26
+ # @!attribute [rw] ignore_case
27
+ # @return [true, false]
28
+ # Optional. Indicates match is case-insensitive.
29
+ # Default value is false if missing.
30
+ class TranslateTextGlossaryConfig; end
31
+
32
+ # The request message for synchronous translation.
33
+ # @!attribute [rw] contents
34
+ # @return [Array<String>]
35
+ # Required. The content of the input in string format.
36
+ # We recommend the total content be less than 30k codepoints.
37
+ # Use BatchTranslateText for larger text.
38
+ # @!attribute [rw] mime_type
39
+ # @return [String]
40
+ # Optional. The format of the source text, for example, "text/html",
41
+ # "text/plain". If left blank, the MIME type defaults to "text/html".
42
+ # @!attribute [rw] source_language_code
43
+ # @return [String]
44
+ # Optional. The BCP-47 language code of the input text if
45
+ # known, for example, "en-US" or "sr-Latn". Supported language codes are
46
+ # listed in Language Support. If the source language isn't specified, the API
47
+ # attempts to identify the source language automatically and returns the
48
+ # source language within the response.
49
+ # @!attribute [rw] target_language_code
50
+ # @return [String]
51
+ # Required. The BCP-47 language code to use for translation of the input
52
+ # text, set to one of the language codes listed in Language Support.
53
+ # @!attribute [rw] parent
54
+ # @return [String]
55
+ # Required. Project or location to make a call. Must refer to a caller's
56
+ # project.
57
+ #
58
+ # Format: `projects/{project-number-or-id}` or
59
+ # `projects/{project-number-or-id}/locations/{location-id}`.
60
+ #
61
+ # For global calls, use `projects/{project-number-or-id}/locations/global` or
62
+ # `projects/{project-number-or-id}`.
63
+ #
64
+ # Non-global location is required for requests using AutoML models or
65
+ # custom glossaries.
66
+ #
67
+ # Models and glossaries must be within the same region (have same
68
+ # location-id), otherwise an INVALID_ARGUMENT (400) error is returned.
69
+ # @!attribute [rw] model
70
+ # @return [String]
71
+ # Optional. The `model` type requested for this translation.
72
+ #
73
+ # The format depends on model type:
74
+ #
75
+ # * AutoML Translation models:
76
+ # `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}`
77
+ #
78
+ # * General (built-in) models:
79
+ # `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`,
80
+ # `projects/{project-number-or-id}/locations/{location-id}/models/general/base`
81
+ #
82
+ #
83
+ # For global (non-regionalized) requests, use `location-id` `global`.
84
+ # For example,
85
+ # `projects/{project-number-or-id}/locations/global/models/general/nmt`.
86
+ #
87
+ # If missing, the system decides which google base model to use.
88
+ # @!attribute [rw] glossary_config
89
+ # @return [Google::Cloud::Translate::V3::TranslateTextGlossaryConfig]
90
+ # Optional. Glossary to be applied. The glossary must be
91
+ # within the same region (have the same location-id) as the model, otherwise
92
+ # an INVALID_ARGUMENT (400) error is returned.
93
+ # @!attribute [rw] labels
94
+ # @return [Hash{String => String}]
95
+ # Optional. The labels with user-defined metadata for the request.
96
+ #
97
+ # Label keys and values can be no longer than 63 characters
98
+ # (Unicode codepoints), can only contain lowercase letters, numeric
99
+ # characters, underscores and dashes. International characters are allowed.
100
+ # Label values are optional. Label keys must start with a letter.
101
+ #
102
+ # See https://cloud.google.com/translate/docs/labels for more information.
103
+ class TranslateTextRequest; end
104
+
105
+ # @!attribute [rw] translations
106
+ # @return [Array<Google::Cloud::Translate::V3::Translation>]
107
+ # Text translation responses with no glossary applied.
108
+ # This field has the same length as
109
+ # {Google::Cloud::Translate::V3::TranslateTextRequest#contents `contents`}.
110
+ # @!attribute [rw] glossary_translations
111
+ # @return [Array<Google::Cloud::Translate::V3::Translation>]
112
+ # Text translation responses if a glossary is provided in the request.
113
+ # This can be the same as
114
+ # {Google::Cloud::Translate::V3::TranslateTextResponse#translations `translations`}
115
+ # if no terms apply. This field has the same length as
116
+ # {Google::Cloud::Translate::V3::TranslateTextRequest#contents `contents`}.
117
+ class TranslateTextResponse; end
118
+
119
+ # A single translation response.
120
+ # @!attribute [rw] translated_text
121
+ # @return [String]
122
+ # Text translated into the target language.
123
+ # @!attribute [rw] model
124
+ # @return [String]
125
+ # Only present when `model` is present in the request.
126
+ # `model` here is normalized to have project number.
127
+ #
128
+ # For example:
129
+ # If the `model` requested in TranslationTextRequest is
130
+ # `projects/{project-id}/locations/{location-id}/models/general/nmt` then
131
+ # `model` here would be normalized to
132
+ # `projects/{project-number}/locations/{location-id}/models/general/nmt`.
133
+ # @!attribute [rw] detected_language_code
134
+ # @return [String]
135
+ # The BCP-47 language code of source text in the initial request, detected
136
+ # automatically, if no source language was passed within the initial
137
+ # request. If the source language was passed, auto-detection of the language
138
+ # does not occur and this field is empty.
139
+ # @!attribute [rw] glossary_config
140
+ # @return [Google::Cloud::Translate::V3::TranslateTextGlossaryConfig]
141
+ # The `glossary_config` used for this translation.
142
+ class Translation; end
143
+
144
+ # The request message for language detection.
145
+ # @!attribute [rw] parent
146
+ # @return [String]
147
+ # Required. Project or location to make a call. Must refer to a caller's
148
+ # project.
149
+ #
150
+ # Format: `projects/{project-number-or-id}/locations/{location-id}` or
151
+ # `projects/{project-number-or-id}`.
152
+ #
153
+ # For global calls, use `projects/{project-number-or-id}/locations/global` or
154
+ # `projects/{project-number-or-id}`.
155
+ #
156
+ # Only models within the same region (has same location-id) can be used.
157
+ # Otherwise an INVALID_ARGUMENT (400) error is returned.
158
+ # @!attribute [rw] model
159
+ # @return [String]
160
+ # Optional. The language detection model to be used.
161
+ #
162
+ # Format:
163
+ # `projects/{project-number-or-id}/locations/{location-id}/models/language-detection/{model-id}`
164
+ #
165
+ # Only one language detection model is currently supported:
166
+ # `projects/{project-number-or-id}/locations/{location-id}/models/language-detection/default`.
167
+ #
168
+ # If not specified, the default model is used.
169
+ # @!attribute [rw] content
170
+ # @return [String]
171
+ # The content of the input stored as a string.
172
+ # @!attribute [rw] mime_type
173
+ # @return [String]
174
+ # Optional. The format of the source text, for example, "text/html",
175
+ # "text/plain". If left blank, the MIME type defaults to "text/html".
176
+ # @!attribute [rw] labels
177
+ # @return [Hash{String => String}]
178
+ # Optional. The labels with user-defined metadata for the request.
179
+ #
180
+ # Label keys and values can be no longer than 63 characters
181
+ # (Unicode codepoints), can only contain lowercase letters, numeric
182
+ # characters, underscores and dashes. International characters are allowed.
183
+ # Label values are optional. Label keys must start with a letter.
184
+ #
185
+ # See https://cloud.google.com/translate/docs/labels for more information.
186
+ class DetectLanguageRequest; end
187
+
188
+ # The response message for language detection.
189
+ # @!attribute [rw] language_code
190
+ # @return [String]
191
+ # The BCP-47 language code of source content in the request, detected
192
+ # automatically.
193
+ # @!attribute [rw] confidence
194
+ # @return [Float]
195
+ # The confidence of the detection result for this language.
196
+ class DetectedLanguage; end
197
+
198
+ # The response message for language detection.
199
+ # @!attribute [rw] languages
200
+ # @return [Array<Google::Cloud::Translate::V3::DetectedLanguage>]
201
+ # A list of detected languages sorted by detection confidence in descending
202
+ # order. The most probable language first.
203
+ class DetectLanguageResponse; end
204
+
205
+ # The request message for discovering supported languages.
206
+ # @!attribute [rw] parent
207
+ # @return [String]
208
+ # Required. Project or location to make a call. Must refer to a caller's
209
+ # project.
210
+ #
211
+ # Format: `projects/{project-number-or-id}` or
212
+ # `projects/{project-number-or-id}/locations/{location-id}`.
213
+ #
214
+ # For global calls, use `projects/{project-number-or-id}/locations/global` or
215
+ # `projects/{project-number-or-id}`.
216
+ #
217
+ # Non-global location is required for AutoML models.
218
+ #
219
+ # Only models within the same region (have same location-id) can be used,
220
+ # otherwise an INVALID_ARGUMENT (400) error is returned.
221
+ # @!attribute [rw] display_language_code
222
+ # @return [String]
223
+ # Optional. The language to use to return localized, human readable names
224
+ # of supported languages. If missing, then display names are not returned
225
+ # in a response.
226
+ # @!attribute [rw] model
227
+ # @return [String]
228
+ # Optional. Get supported languages of this model.
229
+ #
230
+ # The format depends on model type:
231
+ #
232
+ # * AutoML Translation models:
233
+ # `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}`
234
+ #
235
+ # * General (built-in) models:
236
+ # `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`,
237
+ # `projects/{project-number-or-id}/locations/{location-id}/models/general/base`
238
+ #
239
+ #
240
+ # Returns languages supported by the specified model.
241
+ # If missing, we get supported languages of Google general base (PBMT) model.
242
+ class GetSupportedLanguagesRequest; end
243
+
244
+ # The response message for discovering supported languages.
245
+ # @!attribute [rw] languages
246
+ # @return [Array<Google::Cloud::Translate::V3::SupportedLanguage>]
247
+ # A list of supported language responses. This list contains an entry
248
+ # for each language the Translation API supports.
249
+ class SupportedLanguages; end
250
+
251
+ # A single supported language response corresponds to information related
252
+ # to one supported language.
253
+ # @!attribute [rw] language_code
254
+ # @return [String]
255
+ # Supported language code, generally consisting of its ISO 639-1
256
+ # identifier, for example, 'en', 'ja'. In certain cases, BCP-47 codes
257
+ # including language and region identifiers are returned (for example,
258
+ # 'zh-TW' and 'zh-CN')
259
+ # @!attribute [rw] display_name
260
+ # @return [String]
261
+ # Human readable name of the language localized in the display language
262
+ # specified in the request.
263
+ # @!attribute [rw] support_source
264
+ # @return [true, false]
265
+ # Can be used as source language.
266
+ # @!attribute [rw] support_target
267
+ # @return [true, false]
268
+ # Can be used as target language.
269
+ class SupportedLanguage; end
270
+
271
+ # The Google Cloud Storage location for the input content.
272
+ # @!attribute [rw] input_uri
273
+ # @return [String]
274
+ # Required. Source data URI. For example, `gs://my_bucket/my_object`.
275
+ class GcsSource; end
276
+
277
+ # Input configuration for BatchTranslateText request.
278
+ # @!attribute [rw] mime_type
279
+ # @return [String]
280
+ # Optional. Can be "text/plain" or "text/html".
281
+ # For `.tsv`, "text/html" is used if mime_type is missing.
282
+ # For `.html`, this field must be "text/html" or empty.
283
+ # For `.txt`, this field must be "text/plain" or empty.
284
+ # @!attribute [rw] gcs_source
285
+ # @return [Google::Cloud::Translate::V3::GcsSource]
286
+ # Required. Google Cloud Storage location for the source input.
287
+ # This can be a single file (for example,
288
+ # `gs://translation-test/input.tsv`) or a wildcard (for example,
289
+ # `gs://translation-test/*`). If a file extension is `.tsv`, it can
290
+ # contain either one or two columns. The first column (optional) is the id
291
+ # of the text request. If the first column is missing, we use the row
292
+ # number (0-based) from the input file as the ID in the output file. The
293
+ # second column is the actual text to be
294
+ # translated. We recommend each row be <= 10K Unicode codepoints,
295
+ # otherwise an error might be returned.
296
+ # Note that the input tsv must be RFC 4180 compliant.
297
+ #
298
+ # You could use https://github.com/Clever/csvlint to check potential
299
+ # formatting errors in your tsv file.
300
+ # csvlint --delimiter='\t' your_input_file.tsv
301
+ #
302
+ # The other supported file extensions are `.txt` or `.html`, which is
303
+ # treated as a single large chunk of text.
304
+ class InputConfig; end
305
+
306
+ # The Google Cloud Storage location for the output content.
307
+ # @!attribute [rw] output_uri_prefix
308
+ # @return [String]
309
+ # Required. There must be no files under 'output_uri_prefix'.
310
+ # 'output_uri_prefix' must end with "/" and start with "gs://", otherwise an
311
+ # INVALID_ARGUMENT (400) error is returned.
312
+ class GcsDestination; end
313
+
314
+ # Output configuration for BatchTranslateText request.
315
+ # @!attribute [rw] gcs_destination
316
+ # @return [Google::Cloud::Translate::V3::GcsDestination]
317
+ # Google Cloud Storage destination for output content.
318
+ # For every single input file (for example, gs://a/b/c.[extension]), we
319
+ # generate at most 2 * n output files. (n is the # of target_language_codes
320
+ # in the BatchTranslateTextRequest).
321
+ #
322
+ # Output files (tsv) generated are compliant with RFC 4180 except that
323
+ # record delimiters are '\n' instead of '\r\n'. We don't provide any way to
324
+ # change record delimiters.
325
+ #
326
+ # While the input files are being processed, we write/update an index file
327
+ # 'index.csv' under 'output_uri_prefix' (for example,
328
+ # gs://translation-test/index.csv) The index file is generated/updated as
329
+ # new files are being translated. The format is:
330
+ #
331
+ # input_file,target_language_code,translations_file,errors_file,
332
+ # glossary_translations_file,glossary_errors_file
333
+ #
334
+ # input_file is one file we matched using gcs_source.input_uri.
335
+ # target_language_code is provided in the request.
336
+ # translations_file contains the translations. (details provided below)
337
+ # errors_file contains the errors during processing of the file. (details
338
+ # below). Both translations_file and errors_file could be empty
339
+ # strings if we have no content to output.
340
+ # glossary_translations_file and glossary_errors_file are always empty
341
+ # strings if the input_file is tsv. They could also be empty if we have no
342
+ # content to output.
343
+ #
344
+ # Once a row is present in index.csv, the input/output matching never
345
+ # changes. Callers should also expect all the content in input_file are
346
+ # processed and ready to be consumed (that is, no partial output file is
347
+ # written).
348
+ #
349
+ # The format of translations_file (for target language code 'trg') is:
350
+ # gs://translation_test/a_b_c_'trg'_translations.[extension]
351
+ #
352
+ # If the input file extension is tsv, the output has the following
353
+ # columns:
354
+ # Column 1: ID of the request provided in the input, if it's not
355
+ # provided in the input, then the input row number is used (0-based).
356
+ # Column 2: source sentence.
357
+ # Column 3: translation without applying a glossary. Empty string if there
358
+ # is an error.
359
+ # Column 4 (only present if a glossary is provided in the request):
360
+ # translation after applying the glossary. Empty string if there is an
361
+ # error applying the glossary. Could be same string as column 3 if there is
362
+ # no glossary applied.
363
+ #
364
+ # If input file extension is a txt or html, the translation is directly
365
+ # written to the output file. If glossary is requested, a separate
366
+ # glossary_translations_file has format of
367
+ # gs://translation_test/a_b_c_'trg'_glossary_translations.[extension]
368
+ #
369
+ # The format of errors file (for target language code 'trg') is:
370
+ # gs://translation_test/a_b_c_'trg'_errors.[extension]
371
+ #
372
+ # If the input file extension is tsv, errors_file contains the following:
373
+ # Column 1: ID of the request provided in the input, if it's not
374
+ # provided in the input, then the input row number is used (0-based).
375
+ # Column 2: source sentence.
376
+ # Column 3: Error detail for the translation. Could be empty.
377
+ # Column 4 (only present if a glossary is provided in the request):
378
+ # Error when applying the glossary.
379
+ #
380
+ # If the input file extension is txt or html, glossary_error_file will be
381
+ # generated that contains error details. glossary_error_file has format of
382
+ # gs://translation_test/a_b_c_'trg'_glossary_errors.[extension]
383
+ class OutputConfig; end
384
+
385
+ # The batch translation request.
386
+ # @!attribute [rw] parent
387
+ # @return [String]
388
+ # Required. Location to make a call. Must refer to a caller's project.
389
+ #
390
+ # Format: `projects/{project-number-or-id}/locations/{location-id}`.
391
+ #
392
+ # The `global` location is not supported for batch translation.
393
+ #
394
+ # Only AutoML Translation models or glossaries within the same region (have
395
+ # the same location-id) can be used, otherwise an INVALID_ARGUMENT (400)
396
+ # error is returned.
397
+ # @!attribute [rw] source_language_code
398
+ # @return [String]
399
+ # Required. Source language code.
400
+ # @!attribute [rw] target_language_codes
401
+ # @return [Array<String>]
402
+ # Required. Specify up to 10 language codes here.
403
+ # @!attribute [rw] models
404
+ # @return [Hash{String => String}]
405
+ # Optional. The models to use for translation. Map's key is target language
406
+ # code. Map's value is model name. Value can be a built-in general model,
407
+ # or an AutoML Translation model.
408
+ #
409
+ # The value format depends on model type:
410
+ #
411
+ # * AutoML Translation models:
412
+ # `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}`
413
+ #
414
+ # * General (built-in) models:
415
+ # `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`,
416
+ # `projects/{project-number-or-id}/locations/{location-id}/models/general/base`
417
+ #
418
+ #
419
+ # If the map is empty or a specific model is
420
+ # not requested for a language pair, then default google model (nmt) is used.
421
+ # @!attribute [rw] input_configs
422
+ # @return [Array<Google::Cloud::Translate::V3::InputConfig>]
423
+ # Required. Input configurations.
424
+ # The total number of files matched should be <= 1000.
425
+ # The total content size should be <= 100M Unicode codepoints.
426
+ # The files must use UTF-8 encoding.
427
+ # @!attribute [rw] output_config
428
+ # @return [Google::Cloud::Translate::V3::OutputConfig]
429
+ # Required. Output configuration.
430
+ # If 2 input configs match to the same file (that is, same input path),
431
+ # we don't generate output for duplicate inputs.
432
+ # @!attribute [rw] glossaries
433
+ # @return [Hash{String => Google::Cloud::Translate::V3::TranslateTextGlossaryConfig}]
434
+ # Optional. Glossaries to be applied for translation.
435
+ # It's keyed by target language code.
436
+ # @!attribute [rw] labels
437
+ # @return [Hash{String => String}]
438
+ # Optional. The labels with user-defined metadata for the request.
439
+ #
440
+ # Label keys and values can be no longer than 63 characters
441
+ # (Unicode codepoints), can only contain lowercase letters, numeric
442
+ # characters, underscores and dashes. International characters are allowed.
443
+ # Label values are optional. Label keys must start with a letter.
444
+ #
445
+ # See https://cloud.google.com/translate/docs/labels for more information.
446
+ class BatchTranslateTextRequest; end
447
+
448
+ # State metadata for the batch translation operation.
449
+ # @!attribute [rw] state
450
+ # @return [Google::Cloud::Translate::V3::BatchTranslateMetadata::State]
451
+ # The state of the operation.
452
+ # @!attribute [rw] translated_characters
453
+ # @return [Integer]
454
+ # Number of successfully translated characters so far (Unicode codepoints).
455
+ # @!attribute [rw] failed_characters
456
+ # @return [Integer]
457
+ # Number of characters that have failed to process so far (Unicode
458
+ # codepoints).
459
+ # @!attribute [rw] total_characters
460
+ # @return [Integer]
461
+ # Total number of characters (Unicode codepoints).
462
+ # This is the total number of codepoints from input files times the number of
463
+ # target languages and appears here shortly after the call is submitted.
464
+ # @!attribute [rw] submit_time
465
+ # @return [Google::Protobuf::Timestamp]
466
+ # Time when the operation was submitted.
467
+ class BatchTranslateMetadata; end
468
+
469
+ # Stored in the
470
+ # {Google::Longrunning::Operation#response}
471
+ # field returned by BatchTranslateText if at least one sentence is translated
472
+ # successfully.
473
+ # @!attribute [rw] total_characters
474
+ # @return [Integer]
475
+ # Total number of characters (Unicode codepoints).
476
+ # @!attribute [rw] translated_characters
477
+ # @return [Integer]
478
+ # Number of successfully translated characters (Unicode codepoints).
479
+ # @!attribute [rw] failed_characters
480
+ # @return [Integer]
481
+ # Number of characters that have failed to process (Unicode codepoints).
482
+ # @!attribute [rw] submit_time
483
+ # @return [Google::Protobuf::Timestamp]
484
+ # Time when the operation was submitted.
485
+ # @!attribute [rw] end_time
486
+ # @return [Google::Protobuf::Timestamp]
487
+ # The time when the operation is finished and
488
+ # {Google::Longrunning::Operation#done} is
489
+ # set to true.
490
+ class BatchTranslateResponse; end
491
+
492
+ # Input configuration for glossaries.
493
+ # @!attribute [rw] gcs_source
494
+ # @return [Google::Cloud::Translate::V3::GcsSource]
495
+ # Required. Google Cloud Storage location of glossary data.
496
+ # File format is determined based on the filename extension. API returns
497
+ # [google.rpc.Code.INVALID_ARGUMENT] for unsupported URI-s and file
498
+ # formats. Wildcards are not allowed. This must be a single file in one of
499
+ # the following formats:
500
+ #
501
+ # For unidirectional glossaries:
502
+ #
503
+ # * TSV/CSV (`.tsv`/`.csv`): 2 column file, tab- or comma-separated.
504
+ # The first column is source text. The second column is target text.
505
+ # The file must not contain headers. That is, the first row is data, not
506
+ # column names.
507
+ #
508
+ # * TMX (`.tmx`): TMX file with parallel data defining source/target term
509
+ # pairs.
510
+ #
511
+ # For equivalent term sets glossaries:
512
+ #
513
+ # * CSV (`.csv`): Multi-column CSV file defining equivalent glossary terms
514
+ # in multiple languages. The format is defined for Google Translation
515
+ # Toolkit and documented in [Use a
516
+ # glossary](https://support.google.com/translatortoolkit/answer/6306379?hl=en).
517
+ class GlossaryInputConfig; end
518
+
519
+ # Represents a glossary built from user provided data.
520
+ # @!attribute [rw] name
521
+ # @return [String]
522
+ # Required. The resource name of the glossary. Glossary names have the form
523
+ # `projects/{project-number-or-id}/locations/{location-id}/glossaries/{glossary-id}`.
524
+ # @!attribute [rw] language_pair
525
+ # @return [Google::Cloud::Translate::V3::Glossary::LanguageCodePair]
526
+ # Used with unidirectional glossaries.
527
+ # @!attribute [rw] language_codes_set
528
+ # @return [Google::Cloud::Translate::V3::Glossary::LanguageCodesSet]
529
+ # Used with equivalent term set glossaries.
530
+ # @!attribute [rw] input_config
531
+ # @return [Google::Cloud::Translate::V3::GlossaryInputConfig]
532
+ # Required. Provides examples to build the glossary from.
533
+ # Total glossary must not exceed 10M Unicode codepoints.
534
+ # @!attribute [rw] entry_count
535
+ # @return [Integer]
536
+ # Output only. The number of entries defined in the glossary.
537
+ # @!attribute [rw] submit_time
538
+ # @return [Google::Protobuf::Timestamp]
539
+ # Output only. When CreateGlossary was called.
540
+ # @!attribute [rw] end_time
541
+ # @return [Google::Protobuf::Timestamp]
542
+ # Output only. When the glossary creation was finished.
543
+ class Glossary
544
+ # Used with unidirectional glossaries.
545
+ # @!attribute [rw] source_language_code
546
+ # @return [String]
547
+ # Required. The BCP-47 language code of the input text, for example,
548
+ # "en-US". Expected to be an exact match for GlossaryTerm.language_code.
549
+ # @!attribute [rw] target_language_code
550
+ # @return [String]
551
+ # Required. The BCP-47 language code for translation output, for example,
552
+ # "zh-CN". Expected to be an exact match for GlossaryTerm.language_code.
553
+ class LanguageCodePair; end
554
+
555
+ # Used with equivalent term set glossaries.
556
+ # @!attribute [rw] language_codes
557
+ # @return [Array<String>]
558
+ # The BCP-47 language code(s) for terms defined in the glossary.
559
+ # All entries are unique. The list contains at least two entries.
560
+ # Expected to be an exact match for GlossaryTerm.language_code.
561
+ class LanguageCodesSet; end
562
+ end
563
+
564
+ # Request message for CreateGlossary.
565
+ # @!attribute [rw] parent
566
+ # @return [String]
567
+ # Required. The project name.
568
+ # @!attribute [rw] glossary
569
+ # @return [Google::Cloud::Translate::V3::Glossary]
570
+ # Required. The glossary to create.
571
+ class CreateGlossaryRequest; end
572
+
573
+ # Request message for GetGlossary.
574
+ # @!attribute [rw] name
575
+ # @return [String]
576
+ # Required. The name of the glossary to retrieve.
577
+ class GetGlossaryRequest; end
578
+
579
+ # Request message for DeleteGlossary.
580
+ # @!attribute [rw] name
581
+ # @return [String]
582
+ # Required. The name of the glossary to delete.
583
+ class DeleteGlossaryRequest; end
584
+
585
+ # Request message for ListGlossaries.
586
+ # @!attribute [rw] parent
587
+ # @return [String]
588
+ # Required. The name of the project from which to list all of the glossaries.
589
+ # @!attribute [rw] page_size
590
+ # @return [Integer]
591
+ # Optional. Requested page size. The server may return fewer glossaries than
592
+ # requested. If unspecified, the server picks an appropriate default.
593
+ # @!attribute [rw] page_token
594
+ # @return [String]
595
+ # Optional. A token identifying a page of results the server should return.
596
+ # Typically, this is the value of [ListGlossariesResponse.next_page_token]
597
+ # returned from the previous call to `ListGlossaries` method.
598
+ # The first page is returned if `page_token`is empty or missing.
599
+ # @!attribute [rw] filter
600
+ # @return [String]
601
+ # Optional. Filter specifying constraints of a list operation.
602
+ # Filtering is not supported yet, and the parameter currently has no effect.
603
+ # If missing, no filtering is performed.
604
+ class ListGlossariesRequest; end
605
+
606
+ # Response message for ListGlossaries.
607
+ # @!attribute [rw] glossaries
608
+ # @return [Array<Google::Cloud::Translate::V3::Glossary>]
609
+ # The list of glossaries for a project.
610
+ # @!attribute [rw] next_page_token
611
+ # @return [String]
612
+ # A token to retrieve a page of results. Pass this value in the
613
+ # [ListGlossariesRequest.page_token] field in the subsequent call to
614
+ # `ListGlossaries` method to retrieve the next page of results.
615
+ class ListGlossariesResponse; end
616
+
617
+ # Stored in the
618
+ # {Google::Longrunning::Operation#metadata}
619
+ # field returned by CreateGlossary.
620
+ # @!attribute [rw] name
621
+ # @return [String]
622
+ # The name of the glossary that is being created.
623
+ # @!attribute [rw] state
624
+ # @return [Google::Cloud::Translate::V3::CreateGlossaryMetadata::State]
625
+ # The current state of the glossary creation operation.
626
+ # @!attribute [rw] submit_time
627
+ # @return [Google::Protobuf::Timestamp]
628
+ # The time when the operation was submitted to the server.
629
+ class CreateGlossaryMetadata; end
630
+
631
+ # Stored in the
632
+ # {Google::Longrunning::Operation#metadata}
633
+ # field returned by DeleteGlossary.
634
+ # @!attribute [rw] name
635
+ # @return [String]
636
+ # The name of the glossary that is being deleted.
637
+ # @!attribute [rw] state
638
+ # @return [Google::Cloud::Translate::V3::DeleteGlossaryMetadata::State]
639
+ # The current state of the glossary deletion operation.
640
+ # @!attribute [rw] submit_time
641
+ # @return [Google::Protobuf::Timestamp]
642
+ # The time when the operation was submitted to the server.
643
+ class DeleteGlossaryMetadata; end
644
+
645
+ # Stored in the
646
+ # {Google::Longrunning::Operation#response}
647
+ # field returned by DeleteGlossary.
648
+ # @!attribute [rw] name
649
+ # @return [String]
650
+ # The name of the deleted glossary.
651
+ # @!attribute [rw] submit_time
652
+ # @return [Google::Protobuf::Timestamp]
653
+ # The time when the operation was submitted to the server.
654
+ # @!attribute [rw] end_time
655
+ # @return [Google::Protobuf::Timestamp]
656
+ # The time when the glossary deletion is finished and
657
+ # {Google::Longrunning::Operation#done} is
658
+ # set to true.
659
+ class DeleteGlossaryResponse; end
660
+ end
661
+ end
662
+ end
663
+ end