diff options
author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:42:52 -0500 |
---|---|---|
committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:42:52 -0500 |
commit | 074785cea106179cb3305637055ab0a009ca74f2 (patch) | |
tree | e6ae371cccd642aa2b67f39752a2cdf1fd4eb040 /files/pt-br/web/javascript/reference/global_objects/intl | |
parent | da78a9e329e272dedb2400b79a3bdeebff387d47 (diff) | |
download | translated-content-074785cea106179cb3305637055ab0a009ca74f2.tar.gz translated-content-074785cea106179cb3305637055ab0a009ca74f2.tar.bz2 translated-content-074785cea106179cb3305637055ab0a009ca74f2.zip |
initial commit
Diffstat (limited to 'files/pt-br/web/javascript/reference/global_objects/intl')
5 files changed, 894 insertions, 0 deletions
diff --git a/files/pt-br/web/javascript/reference/global_objects/intl/datetimeformat/index.html b/files/pt-br/web/javascript/reference/global_objects/intl/datetimeformat/index.html new file mode 100644 index 0000000000..6c060cd838 --- /dev/null +++ b/files/pt-br/web/javascript/reference/global_objects/intl/datetimeformat/index.html @@ -0,0 +1,188 @@ +--- +title: Intl.DateTimeFormat +slug: Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat +translation_of: Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat +--- +<div>{{JSRef}}</div> + +<p><span class="seoSummary">O objeto Intl.DateTimeFormat é um constructor para objetos que habilita o formato de data e hora no idioma padrão.</span> </p> + +<div>{{EmbedInteractiveExample("pages/js/intl-datetimeformat.html")}}</div> + +<div class="hidden">The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> and send us a pull request.</div> + +<h2 id="Constructor">Constructor</h2> + +<dl> + <dt><code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat/DateTimeFormat">Intl.DateTimeFormat()</a></code></dt> + <dd>Creates a new <code>DateTimeFormat</code> object.</dd> +</dl> + +<h2 id="Static_methods">Static methods</h2> + +<dl> + <dt>{{jsxref("DateTimeFormat.supportedLocalesOf", "Intl.DateTimeFormat.supportedLocalesOf()")}}</dt> + <dd>Returns an array containing those of the provided locales that are supported without having to fall back to the runtime's default locale.</dd> +</dl> + +<h2 id="Instance_methods">Instance methods</h2> + +<dl> + <dt>{{jsxref("DateTimeFormat.format", "Intl.DateTimeFormat.prototype.format()")}}</dt> + <dd>Getter function that formats a date according to the locale and formatting options of this {{jsxref("DateTimeFormat", "DateTimeFormat")}} object.</dd> + <dt>{{jsxref("DateTimeFormat.formatToParts", "Intl.DateTimeFormat.prototype.formatToParts()")}}</dt> + <dd>Returns an {{jsxref("Array")}} of objects representing the date string in parts that can be used for custom locale-aware formatting.</dd> + <dt>{{jsxref("DateTimeFormat.resolvedOptions", "Intl.DateTimeFormat.prototype.resolvedOptions()")}}</dt> + <dd>Returns a new object with properties reflecting the locale and formatting options computed during initialization of the object.</dd> + <dt>{{jsxref("DateTimeFormat.formatRange", "Intl.DateTimeFormat.prototype.formatRange()")}}</dt> + <dd>This method receives two <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/">Dates</a> and formats the date range in the most concise way based on the locale and options provided when instantiating {{jsxref("DateTimeFormat", "DateTimeFormat")}}.</dd> + <dt>{{jsxref("DateTimeFormat.formatRangeToParts", "Intl.DateTimeFormat.prototype.formatRangeToParts()")}}</dt> + <dd>This method receives two <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/">Dates</a> and returns an Array of objects containing the locale-specific tokens representing each part of the formatted date range.</dd> +</dl> + +<h2 id="Examples">Examples</h2> + +<h3 id="Using_DateTimeFormat">Using <code>DateTimeFormat</code></h3> + +<p>In basic use without specifying a locale, <code>DateTimeFormat</code> uses the default locale and default options.</p> + +<pre class="brush: js">var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0)); + +// toLocaleString without arguments depends on the implementation, +// the default locale, and the default time zone +console.log(new Intl.DateTimeFormat().format(date)); +// → "12/19/2012" if run with en-US locale (language) and time zone America/Los_Angeles (UTC-0800) +</pre> + +<h3 id="Using_locales">Using <code>locales</code></h3> + +<p>This example shows some of the variations in localized date and time formats. In order to get the format of the language used in the user interface of your application, make sure to specify that language (and possibly some fallback languages) using the <code>locales</code> argument:</p> + +<pre class="brush: js">var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0)); + +// Results below use the time zone of America/Los_Angeles (UTC-0800, Pacific Standard Time) + +// US English uses month-day-year order +console.log(new Intl.DateTimeFormat('en-US').format(date)); +// → "12/19/2012" + +// British English uses day-month-year order +console.log(new Intl.DateTimeFormat('en-GB').format(date)); +// → "19/12/2012" + +// Korean uses year-month-day order +console.log(new Intl.DateTimeFormat('ko-KR').format(date)); +// → "2012. 12. 19." + +// Arabic in most Arabic speaking countries uses real Arabic digits +console.log(new Intl.DateTimeFormat('ar-EG').format(date)); +// → "١٩<span dir="rtl">/١٢/٢٠١٢</span>" + +// for Japanese, applications may want to use the Japanese calendar, +// where 2012 was the year 24 of the Heisei era +console.log(new Intl.DateTimeFormat('ja-JP-u-ca-japanese').format(date)); +// → "24/12/19" + +// when requesting a language that may not be supported, such as +// Balinese, include a fallback language, in this case Indonesian +console.log(new Intl.DateTimeFormat(['ban', 'id']).format(date)); +// → "19/12/2012" +</pre> + +<h3 id="Using_options">Using <code>options</code></h3> + +<p>The date and time formats can be customized using the <code>options</code> argument:</p> + +<pre class="brush: js">var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0, 200)); + +// request a weekday along with a long date +var options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' }; +console.log(new Intl.DateTimeFormat('de-DE', options).format(date)); +// → "Donnerstag, 20. Dezember 2012" + +// an application may want to use UTC and make that visible +options.timeZone = 'UTC'; +options.timeZoneName = 'short'; +console.log(new Intl.DateTimeFormat('en-US', options).format(date)); +// → "Thursday, December 20, 2012, GMT" + +// sometimes you want to be more precise +options = { + hour: 'numeric', minute: 'numeric', second: 'numeric', + timeZone: 'Australia/Sydney', + timeZoneName: 'short' +}; +console.log(new Intl.DateTimeFormat('en-AU', options).format(date)); +// → "2:00:00 pm AEDT" + +// sometimes you want to be very precise +options.fractionalSecondDigits = 3; +console.log(new Intl.DateTimeFormat('en-AU', options).format(date)); +// → "2:00:00.200 pm AEDT" + + +// sometimes even the US needs 24-hour time +options = { + year: 'numeric', month: 'numeric', day: 'numeric', + hour: 'numeric', minute: 'numeric', second: 'numeric', + hour12: false, + timeZone: 'America/Los_Angeles' +}; +console.log(new Intl.DateTimeFormat('en-US', options).format(date)); +// → "12/19/2012, 19:00:00" + + +// to specify options but use the browser's default locale, use 'default' +console.log(new Intl.DateTimeFormat('default', options).format(date)); +// → "12/19/2012, 19:00:00" + +// sometimes it's helpful to include the period of the day +options = {hour: "numeric", dayPeriod: "short"}; +console.log(new Intl.DateTimeFormat('en-US', options).format(date)); +// → 10 at night +</pre> + +<p>The used calendar and numbering formats can also be set independently via <code>options</code> arguments:</p> + +<pre class="brush: js">var options = {calendar: 'chinese', numberingSystem: 'arab'}; +var dateFormat = new Intl.DateTimeFormat('default', options); +var usedOptions = dateFormat.resolvedOptions(); + +console.log(usedOptions.calendar); +// → "chinese" + +console.log(usedOptions.numberingSystem); +// → "arab" + +console.log(usedOptions.timeZone); +// → "America/New_York" (the users default timezone) +</pre> + +<h2 id="Specifications">Specifications</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Specification</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName('ES Int Draft', '#datetimeformat-objects', 'Intl.DateTimeFormat')}}</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility">Browser compatibility</h2> + +<div> + + +<p>{{Compat("javascript.builtins.Intl.DateTimeFormat")}}</p> +</div> + +<h2 id="See_also">See also</h2> + +<ul> + <li><code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl">Intl</a></code></li> +</ul> diff --git a/files/pt-br/web/javascript/reference/global_objects/intl/index.html b/files/pt-br/web/javascript/reference/global_objects/intl/index.html new file mode 100644 index 0000000000..02e5b8f205 --- /dev/null +++ b/files/pt-br/web/javascript/reference/global_objects/intl/index.html @@ -0,0 +1,168 @@ +--- +title: Intl +slug: Web/JavaScript/Reference/Global_Objects/Intl +translation_of: Web/JavaScript/Reference/Global_Objects/Intl +--- +<div>{{JSRef}}</div> + +<p>O objeto <strong><code>Intl</code></strong> é o namespace para a API de Internacionalização do ECMAScript , que fornece comparação de string sensível à línguagem, formatação de números, e formatação de data e hora. Os construtores para os objetos {{jsxref("Collator")}}, {{jsxref("NumberFormat")}}, e {{jsxref("DateTimeFormat")}} são propriedades do objecto <code>Intl</code>. Esta página documenta essas propriedades, bem como funcionalidades comuns aos construtores de internacionalização e outras funções sensíveis de linguagem.</p> + +<h2 id="Propriedades">Propriedades</h2> + +<dl> + <dt>{{jsxref("Global_Objects/Collator", "Intl.Collator")}}</dt> + <dd>Construtor para <em>collators</em>, objetos que permitem comparação de string sensível a linguagem.</dd> + <dt>{{jsxref("Global_Objects/DateTimeFormat", "Intl.DateTimeFormat")}}</dt> + <dd>Construtor para objetos que permitem formatação de data e hora sensível a linguagem.</dd> + <dt>{{jsxref("Global_Objects/NumberFormat", "Intl.NumberFormat")}}</dt> + <dd>Construtor para objetos que permitem formatação de número sensível a linguagem.</dd> +</dl> + +<h2 id="Métodos">Métodos</h2> + +<dl> + <dt>{{jsxref("Intl.getCanonicalLocales()")}}</dt> + <dd>Retorna os nomes canônicos de local (ex.: en-US, pt-BR).</dd> +</dl> + +<h2 id="Identificação_e_negociação_de_local">Identificação e negociação de local</h2> + +<p>Os construtores de internacionalização, assim como diversos métodos de outros construtores que são sensíveis a idioma (listados em {{anch("See_also", "Veja também")}}) usam um padrão comum para identificar locais e determinar qual será utilizado: todos aceitam argumentos <code>locales</code> e <code>options</code> e negociam o(s) local(is) requisitado entre os locais suportados usando um algoritmo especificado na propriedade <code>options.localeMatcher</code>.</p> + +<h3 id="Argumento_locales">Argumento <code>locales</code></h3> + +<p>O argumento <code>locales</code> deve ser uma string contendo uma <a href="http://tools.ietf.org/html/rfc5646">tag de linguagem BCP 47</a> ou um array dessas tags. Se o argumento <code>locales</code> não for passado ou estiver indefinido, será utilizado o local padrão do runtime.</p> + +<p>Uma tag de linguagem BCP 47 identifica um idioma ou local (a diferença entre ambos neste caso é difusa). Em sua forma mais comum, ela pode conter, nesta ordem: um código de idioma, um código de escrita e um código de país, todos eparados por hífen. Exemplos:</p> + +<ul> + <li><code>"hi"</code>: Hindi.</li> + <li><code>"de-AT"</code>: Alemão como usado na Áustria.</li> + <li><code>"zh-Hans-CN"</code>: Chinês com escrita simplificada como usado na China.</li> +</ul> + +<p>As subtags identificando idiomas, escritas, países (regiões) e (raramente utilizadas) variantes nas tags de linguagem BCP 47 podem ser consultadas no <a href="http://www.iana.org/assignments/language-subtag-registry">Registro de Subtags de Linguagem da IANA</a>.</p> + +<p>BCP 47 também permite extensões, e uma delas é relevante para as funções JavaScript de internacionalização: a extensão <code>"u"</code> (Unicode). Ela pode ser utilizada para requisitar uma customização do comportamento específico local de um objeto {{jsxref("Collator")}}, {{jsxref("NumberFormat")}}, ou {{jsxref("DateTimeFormat")}}. Exemplos:</p> + +<ul> + <li><code>"de-DE-u-co-phonebk"</code>: Use the phonebook variant of the German sort order, which expands umlauted vowels to character pairs: ä → ae, ö → oe, ü → ue.</li> + <li><code>"th-TH-u-nu-thai"</code>: Use Thai digits (๐, ๑, ๒, ๓, ๔, ๕, ๖, ๗, ๘, ๙) in number formatting.</li> + <li><code>"ja-JP-u-ca-japanese"</code>: Use the Japanese calendar in date and time formatting, so that 2013 is expressed as the year 25 of the Heisei period, or 平成25.</li> +</ul> + +<h3 id="Locale_negotiation">Locale negotiation</h3> + +<p>The <code>locales</code> argument, after stripping off all Unicode extensions, is interpreted as a prioritized request from the application. The runtime compares it against the locales it has available and picks the best one available. Two matching algorithms exist: the <code>"lookup"</code> matcher follows the Lookup algorithm specified in <a href="http://tools.ietf.org/html/rfc4647#section-3.4">BCP 47</a>; the <code>"best fit"</code> matcher lets the runtime provide a locale that's at least, but possibly more, suited for the request than the result of the Lookup algorithm. If the application doesn't provide a <code>locales</code> argument, or the runtime doesn't have a locale that matches the request, then the runtime's default locale is used. The matcher can be selected using a property of the <code>options</code> argument (see below).</p> + +<p>If the selected language tag had a Unicode extension substring, that extension is now used to customize the constructed object or the behavior of the function. Each constructor or function supports only a subset of the keys defined for the Unicode extension, and the supported values often depend on the language tag. For example, the <code>"co"</code> key (collation) is only supported by {{jsxref("Collator")}}, and its <code>"phonebk"</code> value is only supported for German.</p> + +<h3 id="options_argument"><code>options</code> argument</h3> + +<p>The <code>options</code> argument must be an object with properties that vary between constructors and functions. If the <code>options</code> argument is not provided or is undefined, default values are used for all properties.</p> + +<p>One property is supported by all language sensitive constructors and functions: The <code>localeMatcher</code> property, whose value must be a string <code>"lookup"</code> or <code>"best fit"</code> and which selects one of the locale matching algorithms described above.</p> + +<h2 id="Specifications">Specifications</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Specification</th> + <th scope="col">Status</th> + <th scope="col">Comment</th> + </tr> + <tr> + <td>{{SpecName('ES Int 1.0', '#sec-8', 'Intl')}}</td> + <td>{{Spec2('ES Int 1.0')}}</td> + <td>Initial definition.</td> + </tr> + <tr> + <td>{{SpecName('ES Int 2.0', '#sec-8', 'Intl')}}</td> + <td>{{Spec2('ES Int 2.0')}}</td> + <td> </td> + </tr> + <tr> + <td>{{SpecName('ES Int Draft', '#intl-object', 'Intl')}}</td> + <td>{{Spec2('ES Int Draft')}}</td> + <td>Added Intl.getCanonicalLocales in the 4th edition.</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility">Browser compatibility</h2> + +<div>{{CompatibilityTable}}</div> + +<div id="compat-desktop"> +<table class="compat-table"> + <tbody> + <tr> + <th>Feature</th> + <th>Chrome</th> + <th>Firefox (Gecko)</th> + <th>Internet Explorer</th> + <th>Opera</th> + <th>Safari (WebKit)</th> + </tr> + <tr> + <td>Basic support</td> + <td>{{CompatChrome("24")}}</td> + <td>{{CompatGeckoDesktop("29")}}</td> + <td>{{CompatIE("11")}}</td> + <td>{{CompatOpera("15")}}</td> + <td>{{CompatSafari("10.0")}} [2]</td> + </tr> + </tbody> +</table> +</div> + +<div id="compat-mobile"> +<table class="compat-table"> + <tbody> + <tr> + <th>Feature</th> + <th>Android</th> + <th>Chrome for Android</th> + <th>Firefox Mobile (Gecko)</th> + <th>IE Phone</th> + <th>Opera Mobile</th> + <th>Safari Mobile</th> + </tr> + <tr> + <td>Basic support</td> + <td>{{CompatNo}}</td> + <td>{{CompatChrome("26")}}</td> + <td>{{CompatGeckoMobile("54")}} (nightly-only) [1]</td> + <td>{{CompatNo}}</td> + <td>{{CompatNo}}</td> + <td>{{CompatSafari("10.0")}} [2]</td> + </tr> + </tbody> +</table> +</div> + +<p>[1] Starting with Gecko 44 {{geckoRelease(44)}}, the Intl API is available on <a href="https://people.mozilla.org/~fdesre/b2gdroid/">b2gdroid</a>.<br> + [2] <a href="https://developer.apple.com/library/content/releasenotes/General/WhatsNewInSafari/Articles/Safari_10_0.html">Safari 10.0 Release Notes</a></p> + +<h2 id="Veja_também">Veja também</h2> + +<ul> + <li>Introduction: <a href="http://norbertlindenberg.com/2012/12/ecmascript-internationalization-api/index.html">The ECMAScript Internationalization API</a></li> + <li>Constructors + <ul> + <li>{{jsxref("Collator", "Intl.Collator")}}</li> + <li>{{jsxref("DateTimeFormat", "Intl.DateTimeFormat")}}</li> + <li>{{jsxref("NumberFormat", "Intl.NumberFormat")}}</li> + </ul> + </li> + <li>Methods + <ul> + <li>{{jsxref("String.prototype.localeCompare()")}}</li> + <li>{{jsxref("Number.prototype.toLocaleString()")}}</li> + <li>{{jsxref("Date.prototype.toLocaleString()")}}</li> + <li>{{jsxref("Date.prototype.toLocaleDateString()")}}</li> + <li>{{jsxref("Date.prototype.toLocaleTimeString()")}}</li> + </ul> + </li> +</ul> diff --git a/files/pt-br/web/javascript/reference/global_objects/intl/numberformat/index.html b/files/pt-br/web/javascript/reference/global_objects/intl/numberformat/index.html new file mode 100644 index 0000000000..ac698fd883 --- /dev/null +++ b/files/pt-br/web/javascript/reference/global_objects/intl/numberformat/index.html @@ -0,0 +1,242 @@ +--- +title: Intl.NumberFormat +slug: Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat +tags: + - Internacionalização + - JavaScript + - NumberFormat +translation_of: Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat +--- +<h5 id="JSRef">{{JSRef}}</h5> + +<p>O objeto <strong><code>Intl.NumberFormat</code></strong> é um construtor para objetos que habilita formatação de número sensível a linguagem.</p> + +<p>{{EmbedInteractiveExample("pages/js/intl-numberformat.html")}}</p> + +<p>The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> and send us a pull request.</p> + + + +<h2 id="Sintaxe">Sintaxe</h2> + +<pre class="syntaxbox"><code>new Intl.NumberFormat([<var>locales</var>[, <var>options</var>]]) +Intl.NumberFormat.call(<var>this</var>[, <var>locales</var>[, <var>options</var>]]) +</code></pre> + +<h3 id="Parâmetros">Parâmetros</h3> + +<dl> + <dt><code>locales</code></dt> + <dd> + <p>Opcional. Uma string com uma tag de linguagem BCP 47 ou uma matriz delas. Para a forma geral e interpretação do argumento <code>locales</code>, veja {{jsxref("Intl", "Intl page", "#Locale_identification_and_negotiation", 1)}}. A seguinte chave extendida Unicode é permitida:</p> + + <dl> + <dt><code>nu</code></dt> + <dd>O sistema de numeração que será usado. Os valores permitidos são: <code>"arab"</code>, <code>"arabext"</code>, <code>"bali"</code>, <code>"beng"</code>, <code>"deva"</code>, <code>"fullwide"</code>, <code>"gujr"</code>, <code>"guru"</code>, <code>"hanidec"</code>, <code>"khmr"</code>, <code>"knda"</code>, <code>"laoo"</code>, <code>"latn"</code>, <code>"limb"</code>, <code>"mlym"</code>, <code>"mong"</code>, <code>"mymr"</code>, <code>"orya"</code>, <code>"tamldec"</code>, <code>"telu"</code>, <code>"thai"</code>, <code>"tibt"</code>.</dd> + </dl> + </dd> + <dt><code>options</code></dt> + <dd> + <p>Opcional. Um objeto com alguns ou todas as seguintes propriedades:</p> + + <dl> + <dt><code>localeMatcher</code></dt> + <dd>O algoritmo de comparação de localização para utilizar. Os valores permitidos são <code>"lookup"</code> e <code>"best fit"</code>; o padrão é <code>"best fit"</code>. Para mais informações sobre esta opção, veja {{jsxref("Global_Objects/Intl", "Intl page", "#Locale_negotiation", 1)}}.</dd> + <dt><code>style</code></dt> + <dd>O estilo do formato a ser utilizado. Os valores permitidos são <code>"decimal"</code> para formato de número simples, <code>"currency"</code> para formato monetário e <code>"percent"</code> para formato percentual; o padrão é <code>"decimal"</code>.</dd> + <dt><code>currency</code></dt> + <dd>A moeda para usar na formatação monetária. Os valores permitidos são os códigos de moedas da ISO 4217, como <code>"USD"</code> para dólar estadunidense, <code>"EUR"</code> para euro, ou <code>"CNY"</code> para RMB chinês — veja a <a href="http://www.currency-iso.org/en/home/tables/table-a1.html">Lista de códigos de moedas e fundos atuais</a>. Não há valor padrão; se o <code>style</code> for <code>"currency"</code>, a propriedade <code>currency</code> deverá ser informada.</dd> + <dt><code>currencyDisplay</code></dt> + <dd>Como será mostrada a moeda na formatação monetária. Os valores permitidos são<code> "symbol"</code> para usar um símbolo de moeda localizado como €, <code>"code"</code> para usar o código de moeda ISO, <code>"name"</code> para usar o nome da moeda localizado como <code>"dollar"</code>; o padrão é <code>"symbol"</code>.</dd> + <dt><code>useGrouping</code></dt> + <dd>Se usar separadores de agrupamento, como separadores de milhares ou milhares/cem mil/dez milhões. Os valores permitidos são <code>true</code> e <code>false</code>; o padrão é <code>true</code>.</dd> + </dl> + + <p>As próximas propriedades se dividem em dois grupos: <code>minimumIntegerDigits</code>, <code>minimumFractionDigits</code>, e <code>maximumFractionDigits</code> no primeiro grupo, <code>minimumSignificantDigits</code> and <code>maximumSignificantDigits</code> em outro. Se pelo menos uma propriedade do segundo grupo for informado, então o primeiro grupo é ignorado.</p> + + <dl> + <dt><code>minimumIntegerDigits</code></dt> + <dd>A quantidade mínima de dígitos inteiros para utilizar. É possível usar valores de 1 a 21; o padrão é 1.</dd> + <dt><code>minimumFractionDigits</code></dt> + <dd>A quantidade mínima de dígitos fracionados para utilizar. É possível usar valores de 0 a 20; o padrão para formatos de números simples e percentuais é 0; o padrão para formatos monetários é a menor unidade de dígitos fornecidos pela <a href="http://www.currency-iso.org/en/home/tables/table-a1.html">lista de códigos de moedas ISO 4217</a> (2 se a lista não fornecer a informação).</dd> + <dt><code>maximumFractionDigits</code></dt> + <dd>O número máximo de dígitos fracionados para utilizar. É possível usar valores de 0 a 20; o padrão para a formatação de número simples é o maior entre <code>minimumFractionDigits</code> e 3; o padrão para formatos monetários é o maior número de dígitos entre <code>minimumFractionDigits</code> e o fornecido pela <a href="http://www.currency-iso.org/en/home/tables/table-a1.html">lista de códigos de moedas ISO 4217</a> (2 se a lista não fornecer a informação); o padrão para a formatação percentual é o maior número entre <code>minimumFractionDigits</code> e 0.</dd> + <dt><code>minimumSignificantDigits</code></dt> + <dd>A quantidade mínima de dígitos significantes para usar. Os valores permitidos são de 1 a 21; o padrão é 1.</dd> + <dt><code>maximumSignificantDigits</code></dt> + <dd>A quantidade máxima de dígitos significantes para usar. Os valores permitidos são de 1 a 21; o padrão é <code>minimumSignificantDigits</code>.</dd> + </dl> + </dd> +</dl> + +<h2 id="Descrição">Descrição</h2> + +<h3 id="Propriedades">Propriedades</h3> + +<dl> + <dt>{{jsxref("NumberFormat.prototype", "Intl.NumberFormat.prototype")}}</dt> + <dd>Pertime a inclusão de propriedades a todos os objetos.</dd> +</dl> + +<h3 id="Métodos">Métodos</h3> + +<dl> + <dt>{{jsxref("NumberFormat.supportedLocalesOf", "Intl.NumberFormat.supportedLocalesOf()")}}</dt> + <dd>Retorna uma matriz contendo as localizações fornecidas que são suportadas sem retornar a localização padrão em tempo de execução.</dd> +</dl> + +<h2 id="Instâncias_NumberFormat">Instâncias <code>NumberFormat</code></h2> + +<h3 id="Propriedades_2">Propriedades</h3> + +<p>As instâncias de <code>NumberFormat</code> herdam as seguntes propriedades de seu protótipo:</p> + +<div>{{page('/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/NumberFormat/prototype', 'Propriedades')}}</div> + +<h3 id="Methods">Methods</h3> + +<p>As instâncias de <code>NumberFormat</code> herdam os seguintes métodos de seu protótipo:</p> + +<div>{{page('/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/NumberFormat/prototype', 'Métodos')}}</div> + +<h2 id="Exemplos">Exemplos</h2> + +<h3 id="Uso_básico">Uso básico</h3> + +<p>No uso básico sem a especificação de uma localização, o método retornará uma string formatada com a localização e as opções padrão.</p> + +<pre class="brush: js">var numero = 3500; + +console.log(new Intl.NumberFormat().format(numero)); +// → '3,500' se a localização for U.S. English +</pre> + +<h3 id="Usando_locales">Usando <code>locales</code></h3> + +<p>Este exemplo mostra algumas variações de formatos de números localizados. A fim de obter o formato da linguagem utilizada na interface do usuário da sua aplicação, tenha certeza de especificar a língua (e possivelmente algumas línguas reservas) usando o argumento<code> locales</code>:</p> + +<pre class="brush: js">var numero = 123456.789; + +// O alemão usa vírgula como separador de decimal e ponto para milhares +console.log(new Intl.NumberFormat('de-DE').format(numero)); +// → 123.456,789 + +// O árabe usa dígitos reais árabes em muitos países que falam árabe +console.log(new Intl.NumberFormat('ar-EG').format(numero)); +// → ١٢٣٤٥٦٫٧٨٩ + +// A Índia usa separadores de milhares/cem mil/dez milhões +console.log(new Intl.NumberFormat('en-IN').format(numero)); +// → 1,23,456.789 + +// A chave de extensão nu requer um sistema de numeração, ex. decimal chinês +console.log(new Intl.NumberFormat('zh-Hans-CN-u-nu-hanidec').format(numero)); +// → 一二三,四五六.七八九 + +// Quando informada uma língua sem suporte, como balinês, +// inclua uma língua reseva, neste caso indonésio +console.log(new Intl.NumberFormat(['ban', 'id']).format(numero)); +// → 123.456,789 +</pre> + +<h3 id="Usando_options">Usando <code>options</code></h3> + +<p>Os resultados podem ser personalizados usando o argumento <code>options</code>:</p> + +<pre class="brush: js">var numero = 123456.789; + +// informando um formato de moeda +console.log(new Intl.NumberFormat('de-DE', { style: 'currency', currency: 'EUR' }).format(numero)); +// → 123.456,79 € + +// o yen japonês não tem uma unidade menor +console.log(new Intl.NumberFormat('ja-JP', { style: 'currency', currency: 'JPY' }).format(numero)); +// → ¥123,457 + +// limitando a três dígitos significativos +console.log(new Intl.NumberFormat('en-IN', { maximumSignificantDigits: 3 }).format(numero)); +// → 1,23,000 +</pre> + +<h2 id="Especificações">Especificações</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Especificação</th> + <th scope="col">Status</th> + <th scope="col">Comentário</th> + </tr> + <tr> + <td>{{SpecName('ES Int 1.0', '#sec-11.1', 'Intl.NumberFormat')}}</td> + <td>{{Spec2('ES Int 1.0')}}</td> + <td>Definição inicial.</td> + </tr> + <tr> + <td>{{SpecName('ES Int 2.0', '#sec-11.1', 'Intl.NumberFormat')}}</td> + <td>{{Spec2('ES Int 2.0')}}</td> + <td></td> + </tr> + <tr> + <td>{{SpecName('ES Int Draft', '#numberformat-objects', 'Intl.NumberFormat')}}</td> + <td>{{Spec2('ES Int Draft')}}</td> + <td></td> + </tr> + </tbody> +</table> + +<h2 id="Compatibilidade_do_navegador">Compatibilidade do navegador</h2> + +<div>{{CompatibilityTable}}</div> + +<div id="compat-desktop"> +<table class="compat-table"> + <tbody> + <tr> + <th>Característica</th> + <th>Chrome</th> + <th>Firefox (Gecko)</th> + <th>Internet Explorer</th> + <th>Opera</th> + <th>Safari (WebKit)</th> + </tr> + <tr> + <td>Suporte básico</td> + <td>{{CompatChrome("24")}}</td> + <td>{{CompatGeckoDesktop("29")}}</td> + <td>{{CompatIE("11")}}</td> + <td>{{CompatOpera("15")}}</td> + <td>{{CompatNo}}</td> + </tr> + </tbody> +</table> +</div> + +<div id="compat-mobile"> +<table class="compat-table"> + <tbody> + <tr> + <th>Característica</th> + <th>Android</th> + <th>Chrome for Android</th> + <th>Firefox Mobile (Gecko)</th> + <th>IE Phone</th> + <th>Opera Mobile</th> + <th>Safari Mobile</th> + </tr> + <tr> + <td>Suporte básico</td> + <td>{{CompatNo}}</td> + <td>{{CompatChrome("26")}}</td> + <td>{{CompatNo}}</td> + <td>{{CompatNo}}</td> + <td>{{CompatNo}}</td> + <td>{{CompatNo}}</td> + </tr> + </tbody> +</table> +</div> + +<h2 id="Veja_também">Veja também</h2> + +<div>{{page('/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Intl', 'Veja_tambem')}}</div> diff --git a/files/pt-br/web/javascript/reference/global_objects/intl/numberformat/prototype/index.html b/files/pt-br/web/javascript/reference/global_objects/intl/numberformat/prototype/index.html new file mode 100644 index 0000000000..badd2d1946 --- /dev/null +++ b/files/pt-br/web/javascript/reference/global_objects/intl/numberformat/prototype/index.html @@ -0,0 +1,125 @@ +--- +title: Intl.NumberFormat.prototype +slug: Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/prototype +tags: + - Internacionalização + - JavaScript + - NumberFormat + - Property + - Propriedade + - Prototipo + - Prototype +translation_of: Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat +--- +<div>{{JSRef}}</div> + +<p>A propriedade <strong><code>Intl.NumberFormat.prototype</code></strong> representa o objeto do protótipo do construtor de {{jsxref("NumberFormat", "Intl.NumberFormat")}}.</p> + +<div>{{js_property_attributes(0, 0, 0)}}</div> + +<h2 id="Descrição">Descrição</h2> + +<p>Veja {{jsxref("NumberFormat")}} para uma descrição sobre instâncias de <code>Intl.NumberFormat</code>.</p> + +<p>As instâncias de {{jsxref("NumberFormat", "Intl.NumberFormat")}} herdam de <code>Intl.NumberFormat.prototype</code>. Modificações ao objeto do protótipo são herdados por todas as instâncias de {{jsxref("NumberFormat", "Intl.NumberFormat")}}.</p> + +<h2 id="Propriedades">Propriedades</h2> + +<dl> + <dt><code>Intl.NumberFormat.prototype.constructor</code></dt> + <dd>Uma referência a <code>Intl.NumberFormat</code>.</dd> + <dt>{{jsxref("NumberFormat.format", "Intl.NumberFormat.prototype.format")}}</dt> + <dd>Getter; retorna uma função que formata um número de acordo com a localização e as opçõe de formatação do objeto {{jsxref("NumberFormat")}}.</dd> +</dl> + +<h2 id="Métodos">Métodos</h2> + +<dl> + <dt>{{jsxref("NumberFormat.resolvedOptions", "Intl.NumberFormat.prototype.resolvedOptions()")}}</dt> + <dd>Retorna um novo objeto com propriedades refletindo a localização e as opções de agrupamento obtidos durante a inicialização do objeto.</dd> +</dl> + +<h2 id="Especificações">Especificações</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Especificação</th> + <th scope="col">Status</th> + <th scope="col">Comentários</th> + </tr> + <tr> + <td>{{SpecName('ES Int 1.0', '#sec-11.2.1', 'Intl.NumberFormat.prototype')}}</td> + <td>{{Spec2('ES Int 1.0')}}</td> + <td>Definição inicial.</td> + </tr> + <tr> + <td>{{SpecName('ES Int 2.0', '#sec-11.2.1', 'Intl.NumberFormat.prototype')}}</td> + <td>{{Spec2('ES Int 2.0')}}</td> + <td> </td> + </tr> + <tr> + <td>{{SpecName('ES Int Draft', '#sec-Intl.NumberFormat.prototype', 'Intl.NumberFormat.prototype')}}</td> + <td>{{Spec2('ES Int Draft')}}</td> + <td> </td> + </tr> + </tbody> +</table> + +<h2 id="Compatibilidade_do_navegador">Compatibilidade do navegador</h2> + +<div>{{CompatibilityTable}}</div> + +<div id="compat-desktop"> +<table class="compat-table"> + <tbody> + <tr> + <th>Características</th> + <th>Chrome</th> + <th>Firefox (Gecko)</th> + <th>Internet Explorer</th> + <th>Opera</th> + <th>Safari (WebKit)</th> + </tr> + <tr> + <td>Suporte básico</td> + <td>{{CompatChrome("24")}}</td> + <td>{{CompatGeckoDesktop("29")}}</td> + <td>{{CompatIE("11")}}</td> + <td>{{CompatOpera("15")}}</td> + <td>{{CompatNo}}</td> + </tr> + </tbody> +</table> +</div> + +<div id="compat-mobile"> +<table class="compat-table"> + <tbody> + <tr> + <th>Características</th> + <th>Android</th> + <th>Chrome for Android</th> + <th>Firefox Mobile (Gecko)</th> + <th>IE Phone</th> + <th>Opera Mobile</th> + <th>Safari Mobile</th> + </tr> + <tr> + <td>Suporte básico</td> + <td>{{CompatNo}}</td> + <td>{{CompatChrome("26")}}</td> + <td>{{CompatNo}}</td> + <td>{{CompatNo}}</td> + <td>{{CompatNo}}</td> + <td>{{CompatNo}}</td> + </tr> + </tbody> +</table> +</div> + +<h2 id="Veja_também">Veja também</h2> + +<ul> + <li>{{jsxref("NumberFormat", "Intl.NumberFormat")}}</li> +</ul> diff --git a/files/pt-br/web/javascript/reference/global_objects/intl/relativetimeformat/index.html b/files/pt-br/web/javascript/reference/global_objects/intl/relativetimeformat/index.html new file mode 100644 index 0000000000..bc6b5c0b22 --- /dev/null +++ b/files/pt-br/web/javascript/reference/global_objects/intl/relativetimeformat/index.html @@ -0,0 +1,171 @@ +--- +title: Intl.RelativeTimeFormat +slug: Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat +tags: + - Internacionalização + - Intl +translation_of: Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat +--- +<div>{{JSRef}}</div> + +<p>O objeto <strong><code>Intl.RelativeTimeFormat</code></strong> é um construtor de objetos que permitem uma formatação de tempo relativa sensível ao idioma.</p> + +<div>{{EmbedInteractiveExample("pages/js/intl-relativetimeformat.html")}}</div> + +<p class="hidden">A fonte deste exemplo interativo está armazenada num repositório no GitHub. Se você quiser contribuir para o projeto de exemplos interativos, por favor clone <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> e nos envie um pull request.</p> + +<h2 id="Sintaxe">Sintaxe</h2> + +<pre><code>new Intl.RelativeTimeFormat([<var>locales</var>[, <var>options</var>]]) +</code></pre> + +<h3 id="Parâmetros">Parâmetros</h3> + +<dl> + <dt><code>locales</code></dt> + <dd> + <p>Opcional. Uma string com uma tag da linguagem BCP 47, ou um array dessas strings. Para a forma geral e interpretação do argumento <code>locales</code> , acesse: {{jsxref("Global_Objects/Intl", "Página Intl", "#Locale_identification_and_negotiation", 1)}}.</p> + </dd> + <dt><code>options</code></dt> + <dd>Opcional. Um objeto com algumas ou todas as seguintes propriedades: + <ul> + <li><code>localeMatcher</code><br> + O algoritmo para comparação de local a ser usado. Os valores possíveis são <code>"lookup"</code> e <code>"best fit"</code>; o padrão é <code>"best fit"</code>. Para informações sobre esta opção, veja <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl#Locale_negotiation" rel="nofollow"><code>Intl</code></a>.</li> + <li><code>numeric</code><br> + O formato de saída da mensagem. Valores possíveis são: + <ul> + <li><code>"always"</code> (padrão, e.g., <code>há 1 dia</code>),</li> + <li>ou <code>"auto"</code> (e.g., <code>ontem</code>). O valor<code>"auto"</code> permite que não seja sempre necessário o uso de valores númericos na saída.</li> + </ul> + </li> + <li><code>style</code><br> + O comprimento da mensagem internacionalizada. Valores possíveis são: + <ul> + <li><code>"long"</code> (padrão, e.g., <code>in 1 month</code>)</li> + <li><code>"short"</code> (e.g., <code>in 1 mo.</code>),</li> + <li>ou <code>"narrow"</code> (e.g., <code>in 1 mo.</code>). O estilo narrow pode ser similar ao short em alguns locais.</li> + </ul> + </li> + </ul> + </dd> +</dl> + +<h2 id="Descrição">Descrição</h2> + +<h3 id="Propriedades">Propriedades</h3> + +<dl> + <dt>{{jsxref("RelativeTimeFormat.prototype", "Intl.RelativeTimeFormat.prototype")}}</dt> + <dd>Permite a adição de propriedades para todos os objetos.</dd> +</dl> + +<h3 id="Métodos">Métodos</h3> + +<dl> + <dt>{{jsxref("RelativeTimeFormat.supportedLocalesOf", "Intl.RelativeTimeFormat.supportedLocalesOf()")}}</dt> + <dd>Retorna um array contendo os valores disponíveis dentre os que foram passados como parâmetro sem ter de recorrer ao local padrão do ambiente.</dd> +</dl> + +<h2 id="Instâncias_RelativeTimeFormat">Instâncias <code>RelativeTimeFormat</code> </h2> + +<h3 id="Propriedades_2">Propriedades</h3> + +<p>Instâncias <code>RelativeTimeFormat</code> herdam as seguintes propriedades do seu protótipo:</p> + +<p>{{page('/en-US/docs/Web/JavaScript/Reference/Global_Objects/RelativeTimeFormat/prototype', 'Properties')}}</p> + +<h3 id="Métodos_2">Métodos</h3> + +<p>Instâncias <code>RelativeTimeFormat</code> herdam as seguintes propriedades do seu protótipo:</p> + +<p>{{page('/en-US/docs/Web/JavaScript/Reference/Global_Objects/RelativeTimeFormat/prototype', 'Methods')}}</p> + +<h2 id="Exemplos">Exemplos</h2> + +<h3 id="Uso_básico_do_format">Uso básico do <code>format</code></h3> + +<p>O exemplo a seguir mostra como criar um formatador de tempo relativo usando a língua portuguesa.</p> + +<pre class="brush: js">// Crie um formatador de tempo relativo no seu local +// com os valores padrão sendo passados explicitamente. +const rtf = new Intl.RelativeTimeFormat("pt", { + localeMatcher: "best fit", // outros valores: "lookup" + numeric: "always", // outros valores: "auto" + style: "long", // outros valores: "short" ou "narrow" +}); + +// Formatação de tempo relativa usando valor negativo (-1). +rtf.format(-1, "day"); +// > "há 1 dia" + +// Formatação de tempo relativa usando valor positivo (1). +rtf.format(1, "day"); +// > "em 1 dia"</pre> + +<h3 id="Usando_a_opção_auto">Usando a opção <code>auto</code></h3> + +<p>Se a opção <code>numeric:auto</code> é passada, serão produzidas as strings <code>ontem</code> ou <code>amanhã</code> ao invés de <code>há 1 dia</code> ou <code>em 1 dia</code>. Isso permite que não seja necessário sempre utilizar valores numéricos na saída.</p> + +<pre class="brush: js">// Crie um formatador de tempo relativo no seu local +// com o valor "auto" passado para a propriedade numeric. +const rtf = new Intl.RelativeTimeFormat("pt", { numeric: "auto" }); + +// Formatação de tempo relativa usando valor negativo (-1). +rtf.format(-1, "day"); +// > "ontem" + +// Formatação de tempo relativa usando valor positivo (1). +rtf.format(1, "day"); +// > "amanhã" +</pre> + +<h3 id="Usando_formatToParts">Usando <code>formatToParts</code></h3> + +<p>O exemplo a seguir mostra como criar um formatador de tempo relativo que retorna partes formatadas</p> + +<pre class="brush: js">const rtf = new Intl.RelativeTimeFormat("en", { numeric: "auto" }); + +// Formatação de tempo relativa usando a unidade day. +rtf.formatToParts(-1, "day"); +// > [{type: "literal", value: "ontem"}] + +rtf.formatToParts(100, "day"); +// > [{type: "literal", value: "em "}, +// > { type: "integer", value: "100", unit: "day" }, +// > {type: "literal", value: " dias"] +</pre> + +<h2 id="Especificações">Especificações</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Especificação</th> + <th scope="col">Estágio</th> + <th scope="col">Comentário</th> + </tr> + <tr> + <td><a href="https://tc39.github.io/proposal-intl-relative-time/#sec-intl-relativetimeformat-constructor">Intl.RelativeTime proposal</a></td> + <td>Stage 3</td> + <td> </td> + </tr> + </tbody> +</table> + +<h2 id="Compatibilidade_com_Browsers">Compatibilidade com Browsers</h2> + +<div> + + +<p>{{Compat("javascript.builtins.Intl.RelativeTimeFormat")}}</p> + +<p> </p> + +<h2 id="Veja_também">Veja também</h2> + +<ul> + <li><a href="https://developers.google.com/web/updates/2018/10/intl-relativetimeformat">The Intl.RelativeTimeFormat API</a></li> +</ul> + +<p> </p> +</div> |