google-cloud-translate 2.3.0 → 3.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +5 -8
  3. data/AUTHENTICATION.md +67 -81
  4. data/LICENSE.md +201 -0
  5. data/MIGRATING.md +302 -0
  6. data/README.md +139 -0
  7. data/lib/google-cloud-translate.rb +5 -146
  8. data/lib/google/cloud/translate.rb +79 -178
  9. data/lib/google/cloud/translate/helpers.rb +107 -0
  10. data/lib/google/cloud/translate/version.rb +6 -2
  11. metadata +38 -138
  12. data/CHANGELOG.md +0 -164
  13. data/CODE_OF_CONDUCT.md +0 -40
  14. data/CONTRIBUTING.md +0 -188
  15. data/LICENSE +0 -201
  16. data/OVERVIEW.md +0 -390
  17. data/TROUBLESHOOTING.md +0 -37
  18. data/lib/google/cloud/translate/v2.rb +0 -169
  19. data/lib/google/cloud/translate/v2/api.rb +0 -255
  20. data/lib/google/cloud/translate/v2/credentials.rb +0 -58
  21. data/lib/google/cloud/translate/v2/detection.rb +0 -132
  22. data/lib/google/cloud/translate/v2/language.rb +0 -68
  23. data/lib/google/cloud/translate/v2/service.rb +0 -209
  24. data/lib/google/cloud/translate/v2/translation.rb +0 -120
  25. data/lib/google/cloud/translate/v3.rb +0 -144
  26. data/lib/google/cloud/translate/v3/credentials.rb +0 -42
  27. data/lib/google/cloud/translate/v3/doc/google/cloud/translate/v3/translation_service.rb +0 -663
  28. data/lib/google/cloud/translate/v3/doc/google/longrunning/operations.rb +0 -51
  29. data/lib/google/cloud/translate/v3/doc/google/protobuf/any.rb +0 -131
  30. data/lib/google/cloud/translate/v3/doc/google/protobuf/timestamp.rb +0 -113
  31. data/lib/google/cloud/translate/v3/doc/google/rpc/status.rb +0 -39
  32. data/lib/google/cloud/translate/v3/translation_service_client.rb +0 -930
  33. data/lib/google/cloud/translate/v3/translation_service_client_config.json +0 -66
  34. data/lib/google/cloud/translate/v3/translation_service_pb.rb +0 -226
  35. data/lib/google/cloud/translate/v3/translation_service_services_pb.rb +0 -68
@@ -1,120 +0,0 @@
1
- # Copyright 2016 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 V2
20
- ##
21
- # # Translation
22
- #
23
- # Represents a translation query result. Returned by {Google::Cloud::Translate::V2::Api#translate}.
24
- #
25
- # @see https://cloud.google.com/translation/docs/translating-text#Translate Translating Text
26
- #
27
- # @example
28
- # require "google/cloud/translate"
29
- #
30
- # translate = Google::Cloud::Translate.new version: :v2
31
- #
32
- # translation = translate.translate "Hello world!", to: "la"
33
- #
34
- # translation.to_s #=> "Salve mundi!"
35
- #
36
- # translation.from #=> "en"
37
- # translation.origin #=> "Hello world!"
38
- # translation.to #=> "la"
39
- # translation.text #=> "Salve mundi!"
40
- #
41
- class Translation
42
- ##
43
- # The translated result.
44
- #
45
- # @return [String]
46
- attr_reader :text
47
- alias to_s text
48
- alias to_str text
49
-
50
- ##
51
- # The original query text that was translated.
52
- #
53
- # @return [String]
54
- attr_reader :origin
55
-
56
- ##
57
- # The target language into which the text was translated.
58
- #
59
- # @return [String]
60
- attr_reader :to
61
- alias language to
62
- alias target to
63
-
64
- ##
65
- # The source language from which the text was translated.
66
- #
67
- # @return [String]
68
- attr_reader :from
69
- alias source from
70
-
71
- ##
72
- # The translation model. Can be either `base` for the Phrase-Based Machine Translation (PBMT) model, or `nmt`
73
- # for the Neural Machine Translation (NMT) model. If you did not include a model parameter with your request,
74
- # then this field is not included in the response.
75
- #
76
- # @return [String]
77
- attr_reader :model
78
-
79
- ##
80
- # @private Create a new object.
81
- def initialize text, to, origin, from, model, detected
82
- @text = text
83
- @to = to
84
- @origin = origin
85
- @from = from
86
- @model = model
87
- @detected = detected
88
- end
89
-
90
- ##
91
- # Determines if the source language was detected by the Google Cloud Cloud Translation API.
92
- #
93
- # @return [Boolean] `true` if the source language was detected by the Cloud Translation API, `false` if the
94
- # source language was provided in the request
95
- def detected?
96
- @detected
97
- end
98
-
99
- ##
100
- # @private New Translation from a TranslationsListResponse object as defined by the Google API Client object.
101
- def self.from_gapi_list gapi, text, to, from
102
- res = text.zip(Array(gapi["translations"])).map do |origin, g|
103
- from_gapi g, to, origin, from
104
- end
105
- return res.first if res.size == 1
106
- res
107
- end
108
-
109
- ##
110
- # @private New Translation from a TranslationsResource object as defined by the Google API Client object.
111
- def self.from_gapi gapi, to, origin, from
112
- from ||= gapi["detectedSourceLanguage"]
113
- detected = !gapi["detectedSourceLanguage"].nil?
114
- new gapi["translatedText"], to, origin, from, gapi["model"], detected
115
- end
116
- end
117
- end
118
- end
119
- end
120
- end
@@ -1,144 +0,0 @@
1
- # Copyright 2020 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
- require "google/cloud/translate/v3/translation_service_client"
16
-
17
- module Google
18
- module Cloud
19
- module Translate
20
- # rubocop:disable LineLength
21
-
22
- ##
23
- # # Ruby Client for Cloud Translation API
24
- #
25
- # [Cloud Translation API][Product Documentation]:
26
- # Integrates text translation into your website or application.
27
- # - [Product Documentation][]
28
- #
29
- # ## Quick Start
30
- # In order to use this library, you first need to go through the following
31
- # steps:
32
- #
33
- # 1. [Select or create a Cloud Platform project.](https://console.cloud.google.com/project)
34
- # 2. [Enable billing for your project.](https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project)
35
- # 3. [Enable the Cloud Translation API.](https://console.cloud.google.com/apis/library/translate.googleapis.com)
36
- # 4. [Setup Authentication.](https://googleapis.dev/ruby/google-cloud-translate/latest/file.AUTHENTICATION.html)
37
- #
38
- # ### Installation
39
- # ```
40
- # $ gem install google-cloud-translate
41
- # ```
42
- #
43
- # ### Next Steps
44
- # - Read the [Cloud Translation API Product documentation][Product Documentation]
45
- # to learn more about the product and see How-to Guides.
46
- # - View this [repository's main README](https://github.com/googleapis/google-cloud-ruby/blob/master/README.md)
47
- # to see the full list of Cloud APIs that we cover.
48
- #
49
- # [Product Documentation]: https://cloud.google.com/translate
50
- #
51
- # ## Enabling Logging
52
- #
53
- # To enable logging for this library, set the logger for the underlying [gRPC](https://github.com/grpc/grpc/tree/master/src/ruby) library.
54
- # The logger that you set may be a Ruby stdlib [`Logger`](https://ruby-doc.org/stdlib-2.5.0/libdoc/logger/rdoc/Logger.html) as shown below,
55
- # or a [`Google::Cloud::Logging::Logger`](https://googleapis.dev/ruby/google-cloud-logging/latest)
56
- # that will write logs to [Stackdriver Logging](https://cloud.google.com/logging/). See [grpc/logconfig.rb](https://github.com/grpc/grpc/blob/master/src/ruby/lib/grpc/logconfig.rb)
57
- # and the gRPC [spec_helper.rb](https://github.com/grpc/grpc/blob/master/src/ruby/spec/spec_helper.rb) for additional information.
58
- #
59
- # Configuring a Ruby stdlib logger:
60
- #
61
- # ```ruby
62
- # require "logger"
63
- #
64
- # module MyLogger
65
- # LOGGER = Logger.new $stderr, level: Logger::WARN
66
- # def logger
67
- # LOGGER
68
- # end
69
- # end
70
- #
71
- # # Define a gRPC module-level logger method before grpc/logconfig.rb loads.
72
- # module GRPC
73
- # extend MyLogger
74
- # end
75
- # ```
76
- #
77
- module V3
78
- # rubocop:enable LineLength
79
-
80
- ##
81
- # Provides natural language translation operations.
82
- #
83
- # @param credentials [Google::Auth::Credentials, String, Hash, GRPC::Core::Channel, GRPC::Core::ChannelCredentials, Proc]
84
- # Provides the means for authenticating requests made by the client. This parameter can
85
- # be many types.
86
- # A `Google::Auth::Credentials` uses a the properties of its represented keyfile for
87
- # authenticating requests made by this client.
88
- # A `String` will be treated as the path to the keyfile to be used for the construction of
89
- # credentials for this client.
90
- # A `Hash` will be treated as the contents of a keyfile to be used for the construction of
91
- # credentials for this client.
92
- # A `GRPC::Core::Channel` will be used to make calls through.
93
- # A `GRPC::Core::ChannelCredentials` for the setting up the RPC client. The channel credentials
94
- # should already be composed with a `GRPC::Core::CallCredentials` object.
95
- # A `Proc` will be used as an updater_proc for the Grpc channel. The proc transforms the
96
- # metadata for requests, generally, to give OAuth credentials.
97
- # @param scopes [Array<String>]
98
- # The OAuth scopes for this service. This parameter is ignored if
99
- # an updater_proc is supplied.
100
- # @param client_config [Hash]
101
- # A Hash for call options for each method. See
102
- # Google::Gax#construct_settings for the structure of
103
- # this data. Falls back to the default config if not specified
104
- # or the specified config is missing data points.
105
- # @param timeout [Numeric]
106
- # The default timeout, in seconds, for calls made through this client.
107
- # @param metadata [Hash]
108
- # Default metadata to be sent with each request. This can be overridden on a per call basis.
109
- # @param service_address [String]
110
- # Override for the service hostname, or `nil` to leave as the default.
111
- # @param service_port [Integer]
112
- # Override for the service port, or `nil` to leave as the default.
113
- # @param exception_transformer [Proc]
114
- # An optional proc that intercepts any exceptions raised during an API call to inject
115
- # custom error handling.
116
- def self.new \
117
- credentials: nil,
118
- scopes: nil,
119
- client_config: nil,
120
- timeout: nil,
121
- metadata: nil,
122
- service_address: nil,
123
- service_port: nil,
124
- exception_transformer: nil,
125
- lib_name: nil,
126
- lib_version: nil
127
- kwargs = {
128
- credentials: credentials,
129
- scopes: scopes,
130
- client_config: client_config,
131
- timeout: timeout,
132
- metadata: metadata,
133
- exception_transformer: exception_transformer,
134
- lib_name: lib_name,
135
- service_address: service_address,
136
- service_port: service_port,
137
- lib_version: lib_version
138
- }.select { |_, v| v != nil }
139
- Google::Cloud::Translate::V3::TranslationServiceClient.new(**kwargs)
140
- end
141
- end
142
- end
143
- end
144
- end
@@ -1,42 +0,0 @@
1
- # Copyright 2020 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
@@ -1,663 +0,0 @@
1
- # Copyright 2020 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