<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="translate_v2.html">Translate API</a> . <a href="translate_v2.translations.html">translations</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#list">list(q, target, format=None, cid=None, source=None)</a></code></p>
<p class="firstline">Returns text translations from one language to another.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="list">list(q, target, format=None, cid=None, source=None)</code>
  <pre>Returns text translations from one language to another.

Args:
  q: string, The text to translate (required) (repeated)
  target: string, The target language into which the text should be translated (required)
  format: string, The format of the text
    Allowed values
      html - Specifies the input is in HTML
      text - Specifies the input is in plain textual format
  cid: string, The customization id for translate (repeated)
  source: string, The source language of the text

Returns:
  An object of the form:

    {
    "translations": [ # Translations contains list of translation results of given text
      {
        "detectedSourceLanguage": "A String", # Detected source language if source parameter is unspecified.
        "translatedText": "A String", # The translation.
      },
    ],
  }</pre>
</div>

</body></html>