<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="youtube_v3.html">YouTube Data API v3</a> . <a href="youtube_v3.i18nRegions.html">i18nRegions</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#list">list(part, hl=None, x__xgafv=None)</a></code></p>
<p class="firstline">Retrieves a list of resources, possibly filtered.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="list">list(part, hl=None, x__xgafv=None)</code>
  <pre>Retrieves a list of resources, possibly filtered.

Args:
  part: string, The &lt;code&gt;&lt;strong&gt;part&lt;/strong&gt;&lt;/code&gt; parameter specifies the
&lt;code&gt;i18nRegion&lt;/code&gt; resource properties that the API response will
include. Set the parameter value to &lt;code&gt;snippet&lt;/code&gt;. (required) (repeated)
  hl: string, A parameter
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    {
    &quot;etag&quot;: &quot;A String&quot;, # Etag of this resource.
    &quot;kind&quot;: &quot;youtube#i18nRegionListResponse&quot;, # Identifies what kind of resource this is. Value: the fixed string
        # &lt;code&gt;&quot;youtube#i18nRegionListResponse&quot;&lt;/code&gt;.
    &quot;eventId&quot;: &quot;A String&quot;, # Serialized EventId of the request which produced this response.
    &quot;visitorId&quot;: &quot;A String&quot;, # The &lt;code&gt;visitorId&lt;/code&gt; identifies the visitor.
    &quot;items&quot;: [ # A list of regions where YouTube is available. In this map, the i18n region
        # ID is the map key, and its value is the corresponding
        # &lt;code&gt;i18nRegion&lt;/code&gt; resource.
      { # A &lt;code&gt;&lt;strong&gt;i18nRegion&lt;/strong&gt;&lt;/code&gt; resource identifies a region where
          # YouTube is available.
        &quot;snippet&quot;: { # Basic details about an i18n region, such as region code and human-readable # The &lt;code&gt;snippet&lt;/code&gt; object contains basic details about the i18n
            # region, such as region code and human-readable name.
            # name.
          &quot;name&quot;: &quot;A String&quot;, # The human-readable name of the region.
          &quot;gl&quot;: &quot;A String&quot;, # The region code as a 2-letter ISO country code.
        },
        &quot;id&quot;: &quot;A String&quot;, # The ID that YouTube uses to uniquely identify the i18n region.
        &quot;etag&quot;: &quot;A String&quot;, # Etag of this resource.
        &quot;kind&quot;: &quot;youtube#i18nRegion&quot;, # Identifies what kind of resource this is. Value: the fixed string
            # &lt;code&gt;&quot;youtube#i18nRegion&quot;&lt;/code&gt;.
      },
    ],
  }</pre>
</div>

</body></html>