{
  "mtlsRootUrl": "https://translation.mtls.googleapis.com/",
  "rootUrl": "https://translation.googleapis.com/",
  "protocol": "rest",
  "name": "translate",
  "title": "Cloud Translation API",
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/cloud-platform": {
          "description": "View and manage your data across Google Cloud Platform services"
        },
        "https://www.googleapis.com/auth/cloud-translation": {
          "description": "Translate text from one language to another using Google Translate"
        }
      }
    }
  },
  "revision": "20201106",
  "version": "v3",
  "kind": "discovery#restDescription",
  "ownerDomain": "google.com",
  "baseUrl": "https://translation.googleapis.com/",
  "ownerName": "Google",
  "canonicalName": "Translate",
  "schemas": {
    "BatchTranslateTextRequest": {
      "type": "object",
      "description": "The batch translation request.",
      "id": "BatchTranslateTextRequest",
      "properties": {
        "models": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Optional. The models to use for translation. Map's key is target language code. Map's value is model name. Value can be a built-in general model, or an AutoML Translation model. The value format depends on model type: - AutoML Translation models: `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}` - General (built-in) models: `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`, `projects/{project-number-or-id}/locations/{location-id}/models/general/base` If the map is empty or a specific model is not requested for a language pair, then default google model (nmt) is used.",
          "type": "object"
        },
        "sourceLanguageCode": {
          "description": "Required. Source language code.",
          "type": "string"
        },
        "outputConfig": {
          "$ref": "OutputConfig",
          "description": "Required. Output configuration. If 2 input configs match to the same file (that is, same input path), we don't generate output for duplicate inputs."
        },
        "glossaries": {
          "description": "Optional. Glossaries to be applied for translation. It's keyed by target language code.",
          "additionalProperties": {
            "$ref": "TranslateTextGlossaryConfig"
          },
          "type": "object"
        },
        "targetLanguageCodes": {
          "description": "Required. Specify up to 10 language codes here.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "labels": {
          "type": "object",
          "description": "Optional. The labels with user-defined metadata for the request. Label keys and values can be no longer than 63 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. Label values are optional. Label keys must start with a letter. See https://cloud.google.com/translate/docs/advanced/labels for more information.",
          "additionalProperties": {
            "type": "string"
          }
        },
        "inputConfigs": {
          "items": {
            "$ref": "InputConfig"
          },
          "type": "array",
          "description": "Required. Input configurations. The total number of files matched should be \u003c= 1000. The total content size should be \u003c= 100M Unicode codepoints. The files must use UTF-8 encoding."
        }
      }
    },
    "TranslateTextResponse": {
      "type": "object",
      "id": "TranslateTextResponse",
      "properties": {
        "translations": {
          "description": "Text translation responses with no glossary applied. This field has the same length as `contents`.",
          "items": {
            "$ref": "Translation"
          },
          "type": "array"
        },
        "glossaryTranslations": {
          "type": "array",
          "description": "Text translation responses if a glossary is provided in the request. This can be the same as `translations` if no terms apply. This field has the same length as `contents`.",
          "items": {
            "$ref": "Translation"
          }
        }
      }
    },
    "LanguageCodePair": {
      "type": "object",
      "id": "LanguageCodePair",
      "properties": {
        "sourceLanguageCode": {
          "description": "Required. The BCP-47 language code of the input text, for example, \"en-US\". Expected to be an exact match for GlossaryTerm.language_code.",
          "type": "string"
        },
        "targetLanguageCode": {
          "description": "Required. The BCP-47 language code for translation output, for example, \"zh-CN\". Expected to be an exact match for GlossaryTerm.language_code.",
          "type": "string"
        }
      },
      "description": "Used with unidirectional glossaries."
    },
    "ListLocationsResponse": {
      "type": "object",
      "properties": {
        "locations": {
          "items": {
            "$ref": "Location"
          },
          "type": "array",
          "description": "A list of locations that matches the specified filter in the request."
        },
        "nextPageToken": {
          "description": "The standard List next-page token.",
          "type": "string"
        }
      },
      "id": "ListLocationsResponse",
      "description": "The response message for Locations.ListLocations."
    },
    "GcsSource": {
      "id": "GcsSource",
      "description": "The Google Cloud Storage location for the input content.",
      "type": "object",
      "properties": {
        "inputUri": {
          "description": "Required. Source data URI. For example, `gs://my_bucket/my_object`.",
          "type": "string"
        }
      }
    },
    "ListOperationsResponse": {
      "id": "ListOperationsResponse",
      "type": "object",
      "properties": {
        "nextPageToken": {
          "type": "string",
          "description": "The standard List next-page token."
        },
        "operations": {
          "type": "array",
          "items": {
            "$ref": "Operation"
          },
          "description": "A list of operations that matches the specified filter in the request."
        }
      },
      "description": "The response message for Operations.ListOperations."
    },
    "LanguageCodesSet": {
      "description": "Used with equivalent term set glossaries.",
      "properties": {
        "languageCodes": {
          "description": "The BCP-47 language code(s) for terms defined in the glossary. All entries are unique. The list contains at least two entries. Expected to be an exact match for GlossaryTerm.language_code.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object",
      "id": "LanguageCodesSet"
    },
    "DetectLanguageResponse": {
      "properties": {
        "languages": {
          "description": "The most probable language detected by the Translation API. For each request, the Translation API will always return only one result.",
          "items": {
            "$ref": "DetectedLanguage"
          },
          "type": "array"
        }
      },
      "id": "DetectLanguageResponse",
      "type": "object",
      "description": "The response message for language detection."
    },
    "GcsDestination": {
      "type": "object",
      "description": "The Google Cloud Storage location for the output content.",
      "properties": {
        "outputUriPrefix": {
          "type": "string",
          "description": "Required. The bucket used in 'output_uri_prefix' must exist and there must be no files under 'output_uri_prefix'. 'output_uri_prefix' must end with \"/\" and start with \"gs://\". One 'output_uri_prefix' can only be used by one batch translation job at a time. Otherwise an INVALID_ARGUMENT (400) error is returned."
        }
      },
      "id": "GcsDestination"
    },
    "Glossary": {
      "id": "Glossary",
      "type": "object",
      "description": "Represents a glossary built from user provided data.",
      "properties": {
        "endTime": {
          "format": "google-datetime",
          "readOnly": true,
          "description": "Output only. When the glossary creation was finished.",
          "type": "string"
        },
        "inputConfig": {
          "$ref": "GlossaryInputConfig",
          "description": "Required. Provides examples to build the glossary from. Total glossary must not exceed 10M Unicode codepoints."
        },
        "languagePair": {
          "description": "Used with unidirectional glossaries.",
          "$ref": "LanguageCodePair"
        },
        "name": {
          "description": "Required. The resource name of the glossary. Glossary names have the form `projects/{project-number-or-id}/locations/{location-id}/glossaries/{glossary-id}`.",
          "type": "string"
        },
        "submitTime": {
          "description": "Output only. When CreateGlossary was called.",
          "type": "string",
          "readOnly": true,
          "format": "google-datetime"
        },
        "languageCodesSet": {
          "description": "Used with equivalent term set glossaries.",
          "$ref": "LanguageCodesSet"
        },
        "entryCount": {
          "format": "int32",
          "readOnly": true,
          "type": "integer",
          "description": "Output only. The number of entries defined in the glossary."
        }
      }
    },
    "DetectLanguageRequest": {
      "description": "The request message for language detection.",
      "id": "DetectLanguageRequest",
      "type": "object",
      "properties": {
        "content": {
          "type": "string",
          "description": "The content of the input stored as a string."
        },
        "labels": {
          "description": "Optional. The labels with user-defined metadata for the request. Label keys and values can be no longer than 63 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. Label values are optional. Label keys must start with a letter. See https://cloud.google.com/translate/docs/advanced/labels for more information.",
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "model": {
          "description": "Optional. The language detection model to be used. Format: `projects/{project-number-or-id}/locations/{location-id}/models/language-detection/{model-id}` Only one language detection model is currently supported: `projects/{project-number-or-id}/locations/{location-id}/models/language-detection/default`. If not specified, the default model is used.",
          "type": "string"
        },
        "mimeType": {
          "description": "Optional. The format of the source text, for example, \"text/html\", \"text/plain\". If left blank, the MIME type defaults to \"text/html\".",
          "type": "string"
        }
      }
    },
    "Translation": {
      "properties": {
        "glossaryConfig": {
          "$ref": "TranslateTextGlossaryConfig",
          "description": "The `glossary_config` used for this translation."
        },
        "translatedText": {
          "description": "Text translated into the target language.",
          "type": "string"
        },
        "detectedLanguageCode": {
          "description": "The BCP-47 language code of source text in the initial request, detected automatically, if no source language was passed within the initial request. If the source language was passed, auto-detection of the language does not occur and this field is empty.",
          "type": "string"
        },
        "model": {
          "description": "Only present when `model` is present in the request. `model` here is normalized to have project number. For example: If the `model` requested in TranslationTextRequest is `projects/{project-id}/locations/{location-id}/models/general/nmt` then `model` here would be normalized to `projects/{project-number}/locations/{location-id}/models/general/nmt`.",
          "type": "string"
        }
      },
      "description": "A single translation response.",
      "id": "Translation",
      "type": "object"
    },
    "Operation": {
      "id": "Operation",
      "type": "object",
      "description": "This resource represents a long-running operation that is the result of a network API call.",
      "properties": {
        "response": {
          "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
          "type": "object",
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          }
        },
        "name": {
          "type": "string",
          "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`."
        },
        "error": {
          "$ref": "Status",
          "description": "The error result of the operation in case of failure or cancellation."
        },
        "metadata": {
          "type": "object",
          "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          }
        },
        "done": {
          "type": "boolean",
          "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available."
        }
      }
    },
    "Location": {
      "properties": {
        "name": {
          "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`",
          "type": "string"
        },
        "displayName": {
          "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".",
          "type": "string"
        },
        "metadata": {
          "description": "Service-specific metadata. For example the available capacity at the given location.",
          "type": "object",
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          }
        },
        "locationId": {
          "type": "string",
          "description": "The canonical id for this location. For example: `\"us-east1\"`."
        },
        "labels": {
          "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}",
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        }
      },
      "id": "Location",
      "description": "A resource that represents Google Cloud Platform location.",
      "type": "object"
    },
    "Status": {
      "id": "Status",
      "properties": {
        "code": {
          "description": "The status code, which should be an enum value of google.rpc.Code.",
          "format": "int32",
          "type": "integer"
        },
        "details": {
          "type": "array",
          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
          "items": {
            "type": "object",
            "additionalProperties": {
              "description": "Properties of the object. Contains field @type with type URL.",
              "type": "any"
            }
          }
        },
        "message": {
          "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.",
          "type": "string"
        }
      },
      "type": "object",
      "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors)."
    },
    "DetectedLanguage": {
      "type": "object",
      "description": "The response message for language detection.",
      "properties": {
        "languageCode": {
          "description": "The BCP-47 language code of source content in the request, detected automatically.",
          "type": "string"
        },
        "confidence": {
          "format": "float",
          "type": "number",
          "description": "The confidence of the detection result for this language."
        }
      },
      "id": "DetectedLanguage"
    },
    "GlossaryInputConfig": {
      "description": "Input configuration for glossaries.",
      "properties": {
        "gcsSource": {
          "$ref": "GcsSource",
          "description": "Required. Google Cloud Storage location of glossary data. File format is determined based on the filename extension. API returns [google.rpc.Code.INVALID_ARGUMENT] for unsupported URI-s and file formats. Wildcards are not allowed. This must be a single file in one of the following formats: For unidirectional glossaries: - TSV/CSV (`.tsv`/`.csv`): 2 column file, tab- or comma-separated. The first column is source text. The second column is target text. The file must not contain headers. That is, the first row is data, not column names. - TMX (`.tmx`): TMX file with parallel data defining source/target term pairs. For equivalent term sets glossaries: - CSV (`.csv`): Multi-column CSV file defining equivalent glossary terms in multiple languages. See documentation for more information - [glossaries](https://cloud.google.com/translate/docs/advanced/glossary)."
        }
      },
      "type": "object",
      "id": "GlossaryInputConfig"
    },
    "CancelOperationRequest": {
      "properties": {},
      "description": "The request message for Operations.CancelOperation.",
      "type": "object",
      "id": "CancelOperationRequest"
    },
    "WaitOperationRequest": {
      "properties": {
        "timeout": {
          "format": "google-duration",
          "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.",
          "type": "string"
        }
      },
      "description": "The request message for Operations.WaitOperation.",
      "type": "object",
      "id": "WaitOperationRequest"
    },
    "ListGlossariesResponse": {
      "type": "object",
      "properties": {
        "nextPageToken": {
          "type": "string",
          "description": "A token to retrieve a page of results. Pass this value in the [ListGlossariesRequest.page_token] field in the subsequent call to `ListGlossaries` method to retrieve the next page of results."
        },
        "glossaries": {
          "items": {
            "$ref": "Glossary"
          },
          "description": "The list of glossaries for a project.",
          "type": "array"
        }
      },
      "description": "Response message for ListGlossaries.",
      "id": "ListGlossariesResponse"
    },
    "OutputConfig": {
      "description": "Output configuration for BatchTranslateText request.",
      "id": "OutputConfig",
      "properties": {
        "gcsDestination": {
          "$ref": "GcsDestination",
          "description": "Google Cloud Storage destination for output content. For every single input file (for example, gs://a/b/c.[extension]), we generate at most 2 * n output files. (n is the # of target_language_codes in the BatchTranslateTextRequest). Output files (tsv) generated are compliant with RFC 4180 except that record delimiters are '\\n' instead of '\\r\\n'. We don't provide any way to change record delimiters. While the input files are being processed, we write/update an index file 'index.csv' under 'output_uri_prefix' (for example, gs://translation-test/index.csv) The index file is generated/updated as new files are being translated. The format is: input_file,target_language_code,translations_file,errors_file, glossary_translations_file,glossary_errors_file input_file is one file we matched using gcs_source.input_uri. target_language_code is provided in the request. translations_file contains the translations. (details provided below) errors_file contains the errors during processing of the file. (details below). Both translations_file and errors_file could be empty strings if we have no content to output. glossary_translations_file and glossary_errors_file are always empty strings if the input_file is tsv. They could also be empty if we have no content to output. Once a row is present in index.csv, the input/output matching never changes. Callers should also expect all the content in input_file are processed and ready to be consumed (that is, no partial output file is written). Since index.csv will be keeping updated during the process, please make sure there is no custom retention policy applied on the output bucket that may avoid file updating. (https://cloud.google.com/storage/docs/bucket-lock?hl=en#retention-policy) The format of translations_file (for target language code 'trg') is: gs://translation_test/a_b_c_'trg'_translations.[extension] If the input file extension is tsv, the output has the following columns: Column 1: ID of the request provided in the input, if it's not provided in the input, then the input row number is used (0-based). Column 2: source sentence. Column 3: translation without applying a glossary. Empty string if there is an error. Column 4 (only present if a glossary is provided in the request): translation after applying the glossary. Empty string if there is an error applying the glossary. Could be same string as column 3 if there is no glossary applied. If input file extension is a txt or html, the translation is directly written to the output file. If glossary is requested, a separate glossary_translations_file has format of gs://translation_test/a_b_c_'trg'_glossary_translations.[extension] The format of errors file (for target language code 'trg') is: gs://translation_test/a_b_c_'trg'_errors.[extension] If the input file extension is tsv, errors_file contains the following: Column 1: ID of the request provided in the input, if it's not provided in the input, then the input row number is used (0-based). Column 2: source sentence. Column 3: Error detail for the translation. Could be empty. Column 4 (only present if a glossary is provided in the request): Error when applying the glossary. If the input file extension is txt or html, glossary_error_file will be generated that contains error details. glossary_error_file has format of gs://translation_test/a_b_c_'trg'_glossary_errors.[extension]"
        }
      },
      "type": "object"
    },
    "InputConfig": {
      "type": "object",
      "properties": {
        "mimeType": {
          "type": "string",
          "description": "Optional. Can be \"text/plain\" or \"text/html\". For `.tsv`, \"text/html\" is used if mime_type is missing. For `.html`, this field must be \"text/html\" or empty. For `.txt`, this field must be \"text/plain\" or empty."
        },
        "gcsSource": {
          "$ref": "GcsSource",
          "description": "Required. Google Cloud Storage location for the source input. This can be a single file (for example, `gs://translation-test/input.tsv`) or a wildcard (for example, `gs://translation-test/*`). If a file extension is `.tsv`, it can contain either one or two columns. The first column (optional) is the id of the text request. If the first column is missing, we use the row number (0-based) from the input file as the ID in the output file. The second column is the actual text to be translated. We recommend each row be \u003c= 10K Unicode codepoints, otherwise an error might be returned. Note that the input tsv must be RFC 4180 compliant. You could use https://github.com/Clever/csvlint to check potential formatting errors in your tsv file. csvlint --delimiter='\\t' your_input_file.tsv The other supported file extensions are `.txt` or `.html`, which is treated as a single large chunk of text."
        }
      },
      "id": "InputConfig",
      "description": "Input configuration for BatchTranslateText request."
    },
    "TranslateTextRequest": {
      "id": "TranslateTextRequest",
      "properties": {
        "mimeType": {
          "description": "Optional. The format of the source text, for example, \"text/html\", \"text/plain\". If left blank, the MIME type defaults to \"text/html\".",
          "type": "string"
        },
        "glossaryConfig": {
          "$ref": "TranslateTextGlossaryConfig",
          "description": "Optional. Glossary to be applied. The glossary must be within the same region (have the same location-id) as the model, otherwise an INVALID_ARGUMENT (400) error is returned."
        },
        "model": {
          "type": "string",
          "description": "Optional. The `model` type requested for this translation. The format depends on model type: - AutoML Translation models: `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}` - General (built-in) models: `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`, `projects/{project-number-or-id}/locations/{location-id}/models/general/base` For global (non-regionalized) requests, use `location-id` `global`. For example, `projects/{project-number-or-id}/locations/global/models/general/nmt`. If missing, the system decides which google base model to use."
        },
        "contents": {
          "description": "Required. The content of the input in string format. We recommend the total content be less than 30k codepoints. The max length of this field is 1024. Use BatchTranslateText for larger text.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "sourceLanguageCode": {
          "description": "Optional. The BCP-47 language code of the input text if known, for example, \"en-US\" or \"sr-Latn\". Supported language codes are listed in Language Support. If the source language isn't specified, the API attempts to identify the source language automatically and returns the source language within the response.",
          "type": "string"
        },
        "targetLanguageCode": {
          "type": "string",
          "description": "Required. The BCP-47 language code to use for translation of the input text, set to one of the language codes listed in Language Support."
        },
        "labels": {
          "type": "object",
          "description": "Optional. The labels with user-defined metadata for the request. Label keys and values can be no longer than 63 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. Label values are optional. Label keys must start with a letter. See https://cloud.google.com/translate/docs/advanced/labels for more information.",
          "additionalProperties": {
            "type": "string"
          }
        }
      },
      "type": "object",
      "description": "The request message for synchronous translation."
    },
    "SupportedLanguage": {
      "description": "A single supported language response corresponds to information related to one supported language.",
      "id": "SupportedLanguage",
      "type": "object",
      "properties": {
        "languageCode": {
          "type": "string",
          "description": "Supported language code, generally consisting of its ISO 639-1 identifier, for example, 'en', 'ja'. In certain cases, BCP-47 codes including language and region identifiers are returned (for example, 'zh-TW' and 'zh-CN')"
        },
        "displayName": {
          "type": "string",
          "description": "Human readable name of the language localized in the display language specified in the request."
        },
        "supportSource": {
          "description": "Can be used as source language.",
          "type": "boolean"
        },
        "supportTarget": {
          "type": "boolean",
          "description": "Can be used as target language."
        }
      }
    },
    "Empty": {
      "type": "object",
      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.",
      "id": "Empty",
      "properties": {}
    },
    "SupportedLanguages": {
      "type": "object",
      "id": "SupportedLanguages",
      "properties": {
        "languages": {
          "description": "A list of supported language responses. This list contains an entry for each language the Translation API supports.",
          "items": {
            "$ref": "SupportedLanguage"
          },
          "type": "array"
        }
      },
      "description": "The response message for discovering supported languages."
    },
    "TranslateTextGlossaryConfig": {
      "description": "Configures which glossary should be used for a specific target language, and defines options for applying that glossary.",
      "properties": {
        "ignoreCase": {
          "type": "boolean",
          "description": "Optional. Indicates match is case-insensitive. Default value is false if missing."
        },
        "glossary": {
          "description": "Required. The `glossary` to be applied for this translation. The format depends on glossary: - User provided custom glossary: `projects/{project-number-or-id}/locations/{location-id}/glossaries/{glossary-id}`",
          "type": "string"
        }
      },
      "id": "TranslateTextGlossaryConfig",
      "type": "object"
    }
  },
  "parameters": {
    "key": {
      "type": "string",
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "location": "query"
    },
    "upload_protocol": {
      "location": "query",
      "type": "string",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\")."
    },
    "prettyPrint": {
      "location": "query",
      "type": "boolean",
      "description": "Returns response with indentations and line breaks.",
      "default": "true"
    },
    "uploadType": {
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "type": "string",
      "location": "query"
    },
    "alt": {
      "location": "query",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "default": "json",
      "description": "Data format for response.",
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "type": "string"
    },
    "$.xgafv": {
      "type": "string",
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "description": "V1 error format.",
      "location": "query",
      "enum": [
        "1",
        "2"
      ]
    },
    "quotaUser": {
      "location": "query",
      "type": "string",
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters."
    },
    "callback": {
      "description": "JSONP",
      "location": "query",
      "type": "string"
    },
    "access_token": {
      "type": "string",
      "description": "OAuth access token.",
      "location": "query"
    },
    "fields": {
      "type": "string",
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query"
    },
    "oauth_token": {
      "type": "string",
      "location": "query",
      "description": "OAuth 2.0 token for the current user."
    }
  },
  "id": "translate:v3",
  "batchPath": "batch",
  "fullyEncodeReservedExpansion": true,
  "documentationLink": "https://cloud.google.com/translate/docs/quickstarts",
  "discoveryVersion": "v1",
  "resources": {
    "projects": {
      "resources": {
        "locations": {
          "methods": {
            "get": {
              "description": "Gets information about a location.",
              "path": "v3/{+name}",
              "httpMethod": "GET",
              "id": "translate.projects.locations.get",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/cloud-translation"
              ],
              "parameterOrder": [
                "name"
              ],
              "flatPath": "v3/projects/{projectsId}/locations/{locationsId}",
              "parameters": {
                "name": {
                  "pattern": "^projects/[^/]+/locations/[^/]+$",
                  "required": true,
                  "type": "string",
                  "location": "path",
                  "description": "Resource name for the location."
                }
              },
              "response": {
                "$ref": "Location"
              }
            },
            "getSupportedLanguages": {
              "id": "translate.projects.locations.getSupportedLanguages",
              "path": "v3/{+parent}/supportedLanguages",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/cloud-translation"
              ],
              "description": "Returns a list of supported languages for translation.",
              "parameters": {
                "model": {
                  "description": "Optional. Get supported languages of this model. The format depends on model type: - AutoML Translation models: `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}` - General (built-in) models: `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`, `projects/{project-number-or-id}/locations/{location-id}/models/general/base` Returns languages supported by the specified model. If missing, we get supported languages of Google general base (PBMT) model.",
                  "type": "string",
                  "location": "query"
                },
                "displayLanguageCode": {
                  "description": "Optional. The language to use to return localized, human readable names of supported languages. If missing, then display names are not returned in a response.",
                  "location": "query",
                  "type": "string"
                },
                "parent": {
                  "description": "Required. Project or location to make a call. Must refer to a caller's project. Format: `projects/{project-number-or-id}` or `projects/{project-number-or-id}/locations/{location-id}`. For global calls, use `projects/{project-number-or-id}/locations/global` or `projects/{project-number-or-id}`. Non-global location is required for AutoML models. Only models within the same region (have same location-id) can be used, otherwise an INVALID_ARGUMENT (400) error is returned.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/locations/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "httpMethod": "GET",
              "response": {
                "$ref": "SupportedLanguages"
              },
              "parameterOrder": [
                "parent"
              ],
              "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/supportedLanguages"
            },
            "detectLanguage": {
              "path": "v3/{+parent}:detectLanguage",
              "flatPath": "v3/projects/{projectsId}/locations/{locationsId}:detectLanguage",
              "response": {
                "$ref": "DetectLanguageResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/cloud-translation"
              ],
              "request": {
                "$ref": "DetectLanguageRequest"
              },
              "parameterOrder": [
                "parent"
              ],
              "httpMethod": "POST",
              "id": "translate.projects.locations.detectLanguage",
              "description": "Detects the language of text within a request.",
              "parameters": {
                "parent": {
                  "required": true,
                  "description": "Required. Project or location to make a call. Must refer to a caller's project. Format: `projects/{project-number-or-id}/locations/{location-id}` or `projects/{project-number-or-id}`. For global calls, use `projects/{project-number-or-id}/locations/global` or `projects/{project-number-or-id}`. Only models within the same region (has same location-id) can be used. Otherwise an INVALID_ARGUMENT (400) error is returned.",
                  "type": "string",
                  "location": "path",
                  "pattern": "^projects/[^/]+/locations/[^/]+$"
                }
              }
            },
            "list": {
              "path": "v3/{+name}/locations",
              "response": {
                "$ref": "ListLocationsResponse"
              },
              "httpMethod": "GET",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/cloud-translation"
              ],
              "parameters": {
                "name": {
                  "pattern": "^projects/[^/]+$",
                  "description": "The resource that owns the locations collection, if applicable.",
                  "type": "string",
                  "required": true,
                  "location": "path"
                },
                "filter": {
                  "description": "The standard list filter.",
                  "type": "string",
                  "location": "query"
                },
                "pageSize": {
                  "format": "int32",
                  "type": "integer",
                  "description": "The standard list page size.",
                  "location": "query"
                },
                "pageToken": {
                  "description": "The standard list page token.",
                  "type": "string",
                  "location": "query"
                }
              },
              "parameterOrder": [
                "name"
              ],
              "flatPath": "v3/projects/{projectsId}/locations",
              "description": "Lists information about the supported locations for this service.",
              "id": "translate.projects.locations.list"
            },
            "batchTranslateText": {
              "id": "translate.projects.locations.batchTranslateText",
              "request": {
                "$ref": "BatchTranslateTextRequest"
              },
              "flatPath": "v3/projects/{projectsId}/locations/{locationsId}:batchTranslateText",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "pattern": "^projects/[^/]+/locations/[^/]+$",
                  "type": "string",
                  "required": true,
                  "description": "Required. Location to make a call. Must refer to a caller's project. Format: `projects/{project-number-or-id}/locations/{location-id}`. The `global` location is not supported for batch translation. Only AutoML Translation models or glossaries within the same region (have the same location-id) can be used, otherwise an INVALID_ARGUMENT (400) error is returned.",
                  "location": "path"
                }
              },
              "description": "Translates a large volume of text in asynchronous batch mode. This function provides real-time output as the inputs are being processed. If caller cancels a request, the partial results (for an input file, it's all or nothing) may still be available on the specified output location. This call returns immediately and you can use google.longrunning.Operation.name to poll the status of the call.",
              "path": "v3/{+parent}:batchTranslateText",
              "httpMethod": "POST",
              "response": {
                "$ref": "Operation"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "translateText": {
              "httpMethod": "POST",
              "id": "translate.projects.locations.translateText",
              "response": {
                "$ref": "TranslateTextResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/cloud-translation"
              ],
              "flatPath": "v3/projects/{projectsId}/locations/{locationsId}:translateText",
              "request": {
                "$ref": "TranslateTextRequest"
              },
              "description": "Translates input text and returns translated text.",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "Required. Project or location to make a call. Must refer to a caller's project. Format: `projects/{project-number-or-id}` or `projects/{project-number-or-id}/locations/{location-id}`. For global calls, use `projects/{project-number-or-id}/locations/global` or `projects/{project-number-or-id}`. Non-global location is required for requests using AutoML models or custom glossaries. Models and glossaries must be within the same region (have same location-id), otherwise an INVALID_ARGUMENT (400) error is returned.",
                  "pattern": "^projects/[^/]+/locations/[^/]+$",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v3/{+parent}:translateText"
            }
          },
          "resources": {
            "glossaries": {
              "methods": {
                "create": {
                  "parameters": {
                    "parent": {
                      "description": "Required. The project name.",
                      "type": "string",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "required": true
                    }
                  },
                  "path": "v3/{+parent}/glossaries",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "request": {
                    "$ref": "Glossary"
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/glossaries",
                  "response": {
                    "$ref": "Operation"
                  },
                  "id": "translate.projects.locations.glossaries.create",
                  "description": "Creates a glossary and returns the long-running operation. Returns NOT_FOUND, if the project doesn't exist.",
                  "httpMethod": "POST"
                },
                "list": {
                  "parameterOrder": [
                    "parent"
                  ],
                  "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/glossaries",
                  "response": {
                    "$ref": "ListGlossariesResponse"
                  },
                  "path": "v3/{+parent}/glossaries",
                  "description": "Lists glossaries in a project. Returns NOT_FOUND, if the project doesn't exist.",
                  "httpMethod": "GET",
                  "parameters": {
                    "parent": {
                      "description": "Required. The name of the project from which to list all of the glossaries.",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "type": "string",
                      "required": true,
                      "location": "path"
                    },
                    "pageToken": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. A token identifying a page of results the server should return. Typically, this is the value of [ListGlossariesResponse.next_page_token] returned from the previous call to `ListGlossaries` method. The first page is returned if `page_token`is empty or missing."
                    },
                    "pageSize": {
                      "description": "Optional. Requested page size. The server may return fewer glossaries than requested. If unspecified, the server picks an appropriate default.",
                      "type": "integer",
                      "format": "int32",
                      "location": "query"
                    },
                    "filter": {
                      "type": "string",
                      "location": "query",
                      "description": "Optional. Filter specifying constraints of a list operation. Specify the constraint by the format of \"key=value\", where key must be \"src\" or \"tgt\", and the value must be a valid language code. For multiple restrictions, concatenate them by \"AND\" (uppercase only), such as: \"src=en-US AND tgt=zh-CN\". Notice that the exact match is used here, which means using 'en-US' and 'en' can lead to different results, which depends on the language code you used when you create the glossary. For the unidirectional glossaries, the \"src\" and \"tgt\" add restrictions on the source and target language code separately. For the equivalent term set glossaries, the \"src\" and/or \"tgt\" add restrictions on the term set. For example: \"src=en-US AND tgt=zh-CN\" will only pick the unidirectional glossaries which exactly match the source language code as \"en-US\" and the target language code \"zh-CN\", but all equivalent term set glossaries which contain \"en-US\" and \"zh-CN\" in their language set will be picked. If missing, no filtering is performed."
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/cloud-translation"
                  ],
                  "id": "translate.projects.locations.glossaries.list"
                },
                "get": {
                  "id": "translate.projects.locations.glossaries.get",
                  "response": {
                    "$ref": "Glossary"
                  },
                  "httpMethod": "GET",
                  "path": "v3/{+name}",
                  "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}",
                  "description": "Gets a glossary. Returns NOT_FOUND, if the glossary doesn't exist.",
                  "parameterOrder": [
                    "name"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/cloud-translation"
                  ],
                  "parameters": {
                    "name": {
                      "required": true,
                      "description": "Required. The name of the glossary to retrieve.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+$",
                      "location": "path",
                      "type": "string"
                    }
                  }
                },
                "delete": {
                  "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}",
                  "parameters": {
                    "name": {
                      "type": "string",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+$",
                      "description": "Required. The name of the glossary to delete.",
                      "location": "path"
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/cloud-translation"
                  ],
                  "httpMethod": "DELETE",
                  "response": {
                    "$ref": "Operation"
                  },
                  "id": "translate.projects.locations.glossaries.delete",
                  "parameterOrder": [
                    "name"
                  ],
                  "description": "Deletes a glossary, or cancels glossary construction if the glossary isn't created yet. Returns NOT_FOUND, if the glossary doesn't exist.",
                  "path": "v3/{+name}"
                }
              }
            },
            "operations": {
              "methods": {
                "cancel": {
                  "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel",
                  "parameterOrder": [
                    "name"
                  ],
                  "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.",
                  "response": {
                    "$ref": "Empty"
                  },
                  "httpMethod": "POST",
                  "request": {
                    "$ref": "CancelOperationRequest"
                  },
                  "id": "translate.projects.locations.operations.cancel",
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "description": "The name of the operation resource to be cancelled.",
                      "type": "string",
                      "location": "path",
                      "required": true
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/cloud-translation"
                  ],
                  "path": "v3/{+name}:cancel"
                },
                "list": {
                  "response": {
                    "$ref": "ListOperationsResponse"
                  },
                  "parameters": {
                    "pageToken": {
                      "type": "string",
                      "description": "The standard list page token.",
                      "location": "query"
                    },
                    "name": {
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "type": "string",
                      "description": "The name of the operation's parent resource."
                    },
                    "pageSize": {
                      "location": "query",
                      "format": "int32",
                      "type": "integer",
                      "description": "The standard list page size."
                    },
                    "filter": {
                      "type": "string",
                      "location": "query",
                      "description": "The standard list filter."
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/cloud-translation"
                  ],
                  "id": "translate.projects.locations.operations.list",
                  "httpMethod": "GET",
                  "path": "v3/{+name}/operations",
                  "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as `\"/v1/{name=users/*}/operations\"` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.",
                  "parameterOrder": [
                    "name"
                  ],
                  "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/operations"
                },
                "wait": {
                  "path": "v3/{+name}:wait",
                  "httpMethod": "POST",
                  "description": "Waits for the specified long-running operation until it is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/cloud-translation"
                  ],
                  "response": {
                    "$ref": "Operation"
                  },
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "required": true,
                      "type": "string",
                      "description": "The name of the operation resource to wait on.",
                      "location": "path"
                    }
                  },
                  "id": "translate.projects.locations.operations.wait",
                  "parameterOrder": [
                    "name"
                  ],
                  "request": {
                    "$ref": "WaitOperationRequest"
                  },
                  "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:wait"
                },
                "delete": {
                  "httpMethod": "DELETE",
                  "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.",
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "Empty"
                  },
                  "path": "v3/{+name}",
                  "parameters": {
                    "name": {
                      "required": true,
                      "type": "string",
                      "location": "path",
                      "description": "The name of the operation resource to be deleted.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$"
                    }
                  },
                  "id": "translate.projects.locations.operations.delete",
                  "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/cloud-translation"
                  ]
                },
                "get": {
                  "id": "translate.projects.locations.operations.get",
                  "parameterOrder": [
                    "name"
                  ],
                  "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
                  "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
                  "parameters": {
                    "name": {
                      "location": "path",
                      "required": true,
                      "description": "The name of the operation resource.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "type": "string"
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/cloud-translation"
                  ],
                  "httpMethod": "GET",
                  "path": "v3/{+name}",
                  "response": {
                    "$ref": "Operation"
                  }
                }
              }
            }
          }
        }
      },
      "methods": {
        "detectLanguage": {
          "path": "v3/{+parent}:detectLanguage",
          "parameters": {
            "parent": {
              "description": "Required. Project or location to make a call. Must refer to a caller's project. Format: `projects/{project-number-or-id}/locations/{location-id}` or `projects/{project-number-or-id}`. For global calls, use `projects/{project-number-or-id}/locations/global` or `projects/{project-number-or-id}`. Only models within the same region (has same location-id) can be used. Otherwise an INVALID_ARGUMENT (400) error is returned.",
              "type": "string",
              "location": "path",
              "pattern": "^projects/[^/]+$",
              "required": true
            }
          },
          "response": {
            "$ref": "DetectLanguageResponse"
          },
          "flatPath": "v3/projects/{projectsId}:detectLanguage",
          "description": "Detects the language of text within a request.",
          "request": {
            "$ref": "DetectLanguageRequest"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform",
            "https://www.googleapis.com/auth/cloud-translation"
          ],
          "httpMethod": "POST",
          "parameterOrder": [
            "parent"
          ],
          "id": "translate.projects.detectLanguage"
        },
        "translateText": {
          "description": "Translates input text and returns translated text.",
          "parameters": {
            "parent": {
              "description": "Required. Project or location to make a call. Must refer to a caller's project. Format: `projects/{project-number-or-id}` or `projects/{project-number-or-id}/locations/{location-id}`. For global calls, use `projects/{project-number-or-id}/locations/global` or `projects/{project-number-or-id}`. Non-global location is required for requests using AutoML models or custom glossaries. Models and glossaries must be within the same region (have same location-id), otherwise an INVALID_ARGUMENT (400) error is returned.",
              "type": "string",
              "pattern": "^projects/[^/]+$",
              "location": "path",
              "required": true
            }
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform",
            "https://www.googleapis.com/auth/cloud-translation"
          ],
          "response": {
            "$ref": "TranslateTextResponse"
          },
          "id": "translate.projects.translateText",
          "path": "v3/{+parent}:translateText",
          "flatPath": "v3/projects/{projectsId}:translateText",
          "httpMethod": "POST",
          "request": {
            "$ref": "TranslateTextRequest"
          },
          "parameterOrder": [
            "parent"
          ]
        },
        "getSupportedLanguages": {
          "description": "Returns a list of supported languages for translation.",
          "parameterOrder": [
            "parent"
          ],
          "httpMethod": "GET",
          "id": "translate.projects.getSupportedLanguages",
          "parameters": {
            "parent": {
              "type": "string",
              "required": true,
              "location": "path",
              "pattern": "^projects/[^/]+$",
              "description": "Required. Project or location to make a call. Must refer to a caller's project. Format: `projects/{project-number-or-id}` or `projects/{project-number-or-id}/locations/{location-id}`. For global calls, use `projects/{project-number-or-id}/locations/global` or `projects/{project-number-or-id}`. Non-global location is required for AutoML models. Only models within the same region (have same location-id) can be used, otherwise an INVALID_ARGUMENT (400) error is returned."
            },
            "model": {
              "location": "query",
              "type": "string",
              "description": "Optional. Get supported languages of this model. The format depends on model type: - AutoML Translation models: `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}` - General (built-in) models: `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`, `projects/{project-number-or-id}/locations/{location-id}/models/general/base` Returns languages supported by the specified model. If missing, we get supported languages of Google general base (PBMT) model."
            },
            "displayLanguageCode": {
              "type": "string",
              "description": "Optional. The language to use to return localized, human readable names of supported languages. If missing, then display names are not returned in a response.",
              "location": "query"
            }
          },
          "response": {
            "$ref": "SupportedLanguages"
          },
          "path": "v3/{+parent}/supportedLanguages",
          "flatPath": "v3/projects/{projectsId}/supportedLanguages",
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform",
            "https://www.googleapis.com/auth/cloud-translation"
          ]
        }
      }
    }
  },
  "basePath": "",
  "version_module": true,
  "description": "Integrates text translation into your website or application.",
  "servicePath": "",
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  }
}
