This commit is contained in:
RobertJoonas 2024-04-29 08:31:14 +00:00
parent 62e62abe54
commit 64e7e8d8df
29 changed files with 672 additions and 672 deletions

View File

@ -1143,23 +1143,23 @@ pool to disconnect within the given interval.</p><p>See <a href="https://hexdocs
<section class="docstring">
<p>Similar to <a href="#insert_all/2"><code class="inline">insert_all/2</code></a> but with the following differences:</p><ul><li>accepts rows as streams or lists</li><li>sends rows as a chunked request</li><li>doesn't autogenerate ids or does any other preprocessing</li></ul><p>Example:</p><pre><code class="makeup elixir" translate="no"><span class="nc">Repo</span><span class="o">.</span><span class="n">query!</span><span class="p" data-group-id="2111694587-1">(</span><span class="s">&quot;create table ecto_ch_demo(a UInt64, b String) engine Null&quot;</span><span class="p" data-group-id="2111694587-1">)</span><span class="w">
<p>Similar to <a href="#insert_all/2"><code class="inline">insert_all/2</code></a> but with the following differences:</p><ul><li>accepts rows as streams or lists</li><li>sends rows as a chunked request</li><li>doesn't autogenerate ids or does any other preprocessing</li></ul><p>Example:</p><pre><code class="makeup elixir" translate="no"><span class="nc">Repo</span><span class="o">.</span><span class="n">query!</span><span class="p" data-group-id="1365350651-1">(</span><span class="s">&quot;create table ecto_ch_demo(a UInt64, b String) engine Null&quot;</span><span class="p" data-group-id="1365350651-1">)</span><span class="w">
</span><span class="kd">defmodule</span><span class="w"> </span><span class="nc">Demo</span><span class="w"> </span><span class="k" data-group-id="2111694587-2">do</span><span class="w">
</span><span class="kd">defmodule</span><span class="w"> </span><span class="nc">Demo</span><span class="w"> </span><span class="k" data-group-id="1365350651-2">do</span><span class="w">
</span><span class="kn">use</span><span class="w"> </span><span class="nc">Ecto.Schema</span><span class="w">
</span><span class="na">@primary_key</span><span class="w"> </span><span class="no">false</span><span class="w">
</span><span class="n">schema</span><span class="w"> </span><span class="s">&quot;ecto_ch_demo&quot;</span><span class="w"> </span><span class="k" data-group-id="2111694587-3">do</span><span class="w">
</span><span class="n">schema</span><span class="w"> </span><span class="s">&quot;ecto_ch_demo&quot;</span><span class="w"> </span><span class="k" data-group-id="1365350651-3">do</span><span class="w">
</span><span class="n">field</span><span class="w"> </span><span class="ss">:a</span><span class="p">,</span><span class="w"> </span><span class="nc">Ch</span><span class="p">,</span><span class="w"> </span><span class="ss">type</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;UInt64&quot;</span><span class="w">
</span><span class="n">field</span><span class="w"> </span><span class="ss">:b</span><span class="p">,</span><span class="w"> </span><span class="ss">:string</span><span class="w">
</span><span class="k" data-group-id="2111694587-3">end</span><span class="w">
</span><span class="k" data-group-id="2111694587-2">end</span><span class="w">
</span><span class="k" data-group-id="1365350651-3">end</span><span class="w">
</span><span class="k" data-group-id="1365350651-2">end</span><span class="w">
</span><span class="n">rows</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">Stream</span><span class="o">.</span><span class="n">map</span><span class="p" data-group-id="2111694587-4">(</span><span class="mi">1</span><span class="o">..</span><span class="mi">100_000</span><span class="p">,</span><span class="w"> </span><span class="k" data-group-id="2111694587-5">fn</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="p" data-group-id="2111694587-6">%{</span><span class="ss">a</span><span class="p">:</span><span class="w"> </span><span class="n">i</span><span class="p">,</span><span class="w"> </span><span class="ss">b</span><span class="p">:</span><span class="w"> </span><span class="n">to_string</span><span class="p" data-group-id="2111694587-7">(</span><span class="n">i</span><span class="p" data-group-id="2111694587-7">)</span><span class="p" data-group-id="2111694587-6">}</span><span class="w"> </span><span class="k" data-group-id="2111694587-5">end</span><span class="p" data-group-id="2111694587-4">)</span><span class="w">
</span><span class="p" data-group-id="2111694587-8">{</span><span class="mi">100_000</span><span class="p">,</span><span class="w"> </span><span class="no">nil</span><span class="p" data-group-id="2111694587-8">}</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">Repo</span><span class="o">.</span><span class="n">insert_stream</span><span class="p" data-group-id="2111694587-9">(</span><span class="nc">Demo</span><span class="p">,</span><span class="w"> </span><span class="n">rows</span><span class="p" data-group-id="2111694587-9">)</span><span class="w">
</span><span class="n">rows</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">Stream</span><span class="o">.</span><span class="n">map</span><span class="p" data-group-id="1365350651-4">(</span><span class="mi">1</span><span class="o">..</span><span class="mi">100_000</span><span class="p">,</span><span class="w"> </span><span class="k" data-group-id="1365350651-5">fn</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="p" data-group-id="1365350651-6">%{</span><span class="ss">a</span><span class="p">:</span><span class="w"> </span><span class="n">i</span><span class="p">,</span><span class="w"> </span><span class="ss">b</span><span class="p">:</span><span class="w"> </span><span class="n">to_string</span><span class="p" data-group-id="1365350651-7">(</span><span class="n">i</span><span class="p" data-group-id="1365350651-7">)</span><span class="p" data-group-id="1365350651-6">}</span><span class="w"> </span><span class="k" data-group-id="1365350651-5">end</span><span class="p" data-group-id="1365350651-4">)</span><span class="w">
</span><span class="p" data-group-id="1365350651-8">{</span><span class="mi">100_000</span><span class="p">,</span><span class="w"> </span><span class="no">nil</span><span class="p" data-group-id="1365350651-8">}</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">Repo</span><span class="o">.</span><span class="n">insert_stream</span><span class="p" data-group-id="1365350651-9">(</span><span class="nc">Demo</span><span class="p">,</span><span class="w"> </span><span class="n">rows</span><span class="p" data-group-id="1365350651-9">)</span><span class="w">
</span><span class="c1"># schemaless</span><span class="w">
</span><span class="p" data-group-id="2111694587-10">{</span><span class="mi">100_000</span><span class="p">,</span><span class="w"> </span><span class="no">nil</span><span class="p" data-group-id="2111694587-10">}</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">Repo</span><span class="o">.</span><span class="n">insert_stream</span><span class="p" data-group-id="2111694587-11">(</span><span class="s">&quot;ecto_ch_demo&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">rows</span><span class="p">,</span><span class="w"> </span><span class="ss">types</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="2111694587-12">[</span><span class="ss">a</span><span class="p">:</span><span class="w"> </span><span class="nc">Ch.Types</span><span class="o">.</span><span class="n">u64</span><span class="p" data-group-id="2111694587-13">(</span><span class="p" data-group-id="2111694587-13">)</span><span class="p">,</span><span class="w"> </span><span class="ss">b</span><span class="p">:</span><span class="w"> </span><span class="ss">:string</span><span class="p" data-group-id="2111694587-12">]</span><span class="p" data-group-id="2111694587-11">)</span></code></pre>
</span><span class="p" data-group-id="1365350651-10">{</span><span class="mi">100_000</span><span class="p">,</span><span class="w"> </span><span class="no">nil</span><span class="p" data-group-id="1365350651-10">}</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">Repo</span><span class="o">.</span><span class="n">insert_stream</span><span class="p" data-group-id="1365350651-11">(</span><span class="s">&quot;ecto_ch_demo&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">rows</span><span class="p">,</span><span class="w"> </span><span class="ss">types</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="1365350651-12">[</span><span class="ss">a</span><span class="p">:</span><span class="w"> </span><span class="nc">Ch.Types</span><span class="o">.</span><span class="n">u64</span><span class="p" data-group-id="1365350651-13">(</span><span class="p" data-group-id="1365350651-13">)</span><span class="p">,</span><span class="w"> </span><span class="ss">b</span><span class="p">:</span><span class="w"> </span><span class="ss">:string</span><span class="p" data-group-id="1365350651-12">]</span><span class="p" data-group-id="1365350651-11">)</span></code></pre>
</section>
</section>
<section class="detail" id="load/2">

View File

@ -727,12 +727,12 @@ this user owns + StatsAPI if the user has a configured Stats API key.</p><p>Give
<p>Queries the ClickHouse database for the monthly pageview usage. If the given user's
subscription is <code class="inline">active</code>, <code class="inline">past_due</code>, or a <code class="inline">deleted</code> (but not yet expired), a map
with the following structure is returned:</p><pre><code class="makeup elixir" translate="no"><span class="p" data-group-id="4430272189-1">%{</span><span class="w">
</span><span class="ss">current_cycle</span><span class="p">:</span><span class="w"> </span><span class="n">usage_cycle</span><span class="p" data-group-id="4430272189-2">(</span><span class="p" data-group-id="4430272189-2">)</span><span class="p">,</span><span class="w">
</span><span class="ss">last_cycle</span><span class="p">:</span><span class="w"> </span><span class="n">usage_cycle</span><span class="p" data-group-id="4430272189-3">(</span><span class="p" data-group-id="4430272189-3">)</span><span class="p">,</span><span class="w">
</span><span class="ss">penultimate_cycle</span><span class="p">:</span><span class="w"> </span><span class="n">usage_cycle</span><span class="p" data-group-id="4430272189-4">(</span><span class="p" data-group-id="4430272189-4">)</span><span class="w">
</span><span class="p" data-group-id="4430272189-1">}</span></code></pre><p>In all other cases of the subscription status (or a <code class="inline">free_10k</code> subscription which
does not have a <code class="inline">last_bill_date</code> defined) - the following structure is returned:</p><pre><code class="makeup elixir" translate="no"><span class="p" data-group-id="1480687154-1">%{</span><span class="ss">last_30_days</span><span class="p">:</span><span class="w"> </span><span class="n">usage_cycle</span><span class="p" data-group-id="1480687154-2">(</span><span class="p" data-group-id="1480687154-2">)</span><span class="p" data-group-id="1480687154-1">}</span></code></pre><p>Given only a user as input, the usage is queried from across all the sites that the
with the following structure is returned:</p><pre><code class="makeup elixir" translate="no"><span class="p" data-group-id="1982581818-1">%{</span><span class="w">
</span><span class="ss">current_cycle</span><span class="p">:</span><span class="w"> </span><span class="n">usage_cycle</span><span class="p" data-group-id="1982581818-2">(</span><span class="p" data-group-id="1982581818-2">)</span><span class="p">,</span><span class="w">
</span><span class="ss">last_cycle</span><span class="p">:</span><span class="w"> </span><span class="n">usage_cycle</span><span class="p" data-group-id="1982581818-3">(</span><span class="p" data-group-id="1982581818-3">)</span><span class="p">,</span><span class="w">
</span><span class="ss">penultimate_cycle</span><span class="p">:</span><span class="w"> </span><span class="n">usage_cycle</span><span class="p" data-group-id="1982581818-4">(</span><span class="p" data-group-id="1982581818-4">)</span><span class="w">
</span><span class="p" data-group-id="1982581818-1">}</span></code></pre><p>In all other cases of the subscription status (or a <code class="inline">free_10k</code> subscription which
does not have a <code class="inline">last_bill_date</code> defined) - the following structure is returned:</p><pre><code class="makeup elixir" translate="no"><span class="p" data-group-id="1466531334-1">%{</span><span class="ss">last_30_days</span><span class="p">:</span><span class="w"> </span><span class="n">usage_cycle</span><span class="p" data-group-id="1466531334-2">(</span><span class="p" data-group-id="1466531334-2">)</span><span class="p" data-group-id="1466531334-1">}</span></code></pre><p>Given only a user as input, the usage is queried from across all the sites that the
user owns. Alternatively, given an optional argument of <code class="inline">site_ids</code>, the usage from
across all those sites is queried instead.</p>
</section>

View File

@ -148,7 +148,7 @@ Pages
the set of natural languages that are preferred as a response to the request.
Language tags function are provided in <a href="https://hexdocs.pm/ex_cldr/2.37.5/Cldr.LanguageTag.html"><code class="inline">Cldr.LanguageTag</code></a>.</p><p>The format of an <code class="inline">Accept-Language</code> header is as follows in <code class="inline">ABNF</code> format:</p><pre><code class="makeup elixir" translate="no"><span class="w"> </span><span class="nc">Accept</span><span class="o">-</span><span class="nc">Language</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;Accept-Language&quot;</span><span class="w"> </span><span class="s">&quot;:&quot;</span><span class="w">
</span><span class="mi">1</span><span class="c1">#( language-range [ &quot;;&quot; &quot;q&quot; &quot;=&quot; qvalue ] )</span><span class="w">
</span><span class="n">language</span><span class="o">-</span><span class="n">range</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p" data-group-id="2340414674-1">(</span><span class="w"> </span><span class="p" data-group-id="2340414674-2">(</span><span class="w"> </span><span class="mi">1</span><span class="o">*</span><span class="mi">8</span><span class="nc">ALPHA</span><span class="w"> </span><span class="o">*</span><span class="p" data-group-id="2340414674-3">(</span><span class="w"> </span><span class="s">&quot;-&quot;</span><span class="w"> </span><span class="mi">1</span><span class="o">*</span><span class="mi">8</span><span class="nc">ALPHA</span><span class="w"> </span><span class="p" data-group-id="2340414674-3">)</span><span class="w"> </span><span class="p" data-group-id="2340414674-2">)</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="s">&quot;*&quot;</span><span class="w"> </span><span class="p" data-group-id="2340414674-1">)</span></code></pre><p>Each language-range MAY be given an associated quality value which represents an
</span><span class="n">language</span><span class="o">-</span><span class="n">range</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p" data-group-id="9974468058-1">(</span><span class="w"> </span><span class="p" data-group-id="9974468058-2">(</span><span class="w"> </span><span class="mi">1</span><span class="o">*</span><span class="mi">8</span><span class="nc">ALPHA</span><span class="w"> </span><span class="o">*</span><span class="p" data-group-id="9974468058-3">(</span><span class="w"> </span><span class="s">&quot;-&quot;</span><span class="w"> </span><span class="mi">1</span><span class="o">*</span><span class="mi">8</span><span class="nc">ALPHA</span><span class="w"> </span><span class="p" data-group-id="9974468058-3">)</span><span class="w"> </span><span class="p" data-group-id="9974468058-2">)</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="s">&quot;*&quot;</span><span class="w"> </span><span class="p" data-group-id="9974468058-1">)</span></code></pre><p>Each language-range MAY be given an associated quality value which represents an
estimate of the user's preference for the languages specified by that range. The
quality value defaults to &quot;q=1&quot;. For example,</p><pre><code class="makeup elixir" translate="no"><span class="w"> </span><span class="nc">Accept</span><span class="o">-</span><span class="ss">Language</span><span class="p">:</span><span class="w"> </span><span class="n">da</span><span class="p">,</span><span class="w"> </span><span class="n">en</span><span class="o">-</span><span class="n">gb</span><span class="p">;</span><span class="n">q</span><span class="o">=</span><span class="mf">0.8</span><span class="p">,</span><span class="w"> </span><span class="n">en</span><span class="p">;</span><span class="n">q</span><span class="o">=</span><span class="mf">0.7</span></code></pre><p>would mean: &quot;I prefer Danish, but will accept British English and other types of English.&quot;</p>
</section>
@ -261,54 +261,54 @@ a configured <a href="https://hexdocs.pm/ex_cldr/2.37.5/Cldr.html"><code class="
</a>
<span class="text">Examples</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.AcceptLanguage</span><span class="o">.</span><span class="n">best_match</span><span class="p" data-group-id="4530723751-1">(</span><span class="s">&quot;da;q=0.1,zh-TW;q=0.3&quot;</span><span class="p">,</span><span class="w"> </span><span class="nc">TestBackend.Cldr</span><span class="p" data-group-id="4530723751-1">)</span><span class="w">
</span><span class="p" data-group-id="4530723751-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="4530723751-3">%</span><span class="nc" data-group-id="4530723751-3">Cldr.LanguageTag</span><span class="p" data-group-id="4530723751-3">{</span><span class="w">
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.AcceptLanguage</span><span class="o">.</span><span class="n">best_match</span><span class="p" data-group-id="6079327621-1">(</span><span class="s">&quot;da;q=0.1,zh-TW;q=0.3&quot;</span><span class="p">,</span><span class="w"> </span><span class="nc">TestBackend.Cldr</span><span class="p" data-group-id="6079327621-1">)</span><span class="w">
</span><span class="p" data-group-id="6079327621-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="6079327621-3">%</span><span class="nc" data-group-id="6079327621-3">Cldr.LanguageTag</span><span class="p" data-group-id="6079327621-3">{</span><span class="w">
</span><span class="ss">backend</span><span class="p">:</span><span class="w"> </span><span class="nc">TestBackend.Cldr</span><span class="p">,</span><span class="w">
</span><span class="ss">canonical_locale_name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;zh-TW&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">cldr_locale_name</span><span class="p">:</span><span class="w"> </span><span class="ss">:&quot;zh-Hant&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">language_subtags</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4530723751-4">[</span><span class="p" data-group-id="4530723751-4">]</span><span class="p">,</span><span class="w">
</span><span class="ss">extensions</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4530723751-5">%{</span><span class="p" data-group-id="4530723751-5">}</span><span class="p">,</span><span class="w">
</span><span class="ss">language_subtags</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="6079327621-4">[</span><span class="p" data-group-id="6079327621-4">]</span><span class="p">,</span><span class="w">
</span><span class="ss">extensions</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="6079327621-5">%{</span><span class="p" data-group-id="6079327621-5">}</span><span class="p">,</span><span class="w">
</span><span class="ss">gettext_locale_name</span><span class="p">:</span><span class="w"> </span><span class="no">nil</span><span class="p">,</span><span class="w">
</span><span class="ss">language</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;zh&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4530723751-6">%{</span><span class="p" data-group-id="4530723751-6">}</span><span class="p">,</span><span class="w">
</span><span class="ss">private_use</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4530723751-7">[</span><span class="p" data-group-id="4530723751-7">]</span><span class="p">,</span><span class="w">
</span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="6079327621-6">%{</span><span class="p" data-group-id="6079327621-6">}</span><span class="p">,</span><span class="w">
</span><span class="ss">private_use</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="6079327621-7">[</span><span class="p" data-group-id="6079327621-7">]</span><span class="p">,</span><span class="w">
</span><span class="ss">rbnf_locale_name</span><span class="p">:</span><span class="w"> </span><span class="ss">:&quot;zh-Hant&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">requested_locale_name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;zh-TW&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">script</span><span class="p">:</span><span class="w"> </span><span class="ss">:Hant</span><span class="p">,</span><span class="w">
</span><span class="ss">territory</span><span class="p">:</span><span class="w"> </span><span class="ss">:TW</span><span class="p">,</span><span class="w">
</span><span class="ss">transform</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4530723751-8">%{</span><span class="p" data-group-id="4530723751-8">}</span><span class="p">,</span><span class="w">
</span><span class="ss">language_variants</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4530723751-9">[</span><span class="p" data-group-id="4530723751-9">]</span><span class="w">
</span><span class="p" data-group-id="4530723751-3">}</span><span class="p" data-group-id="4530723751-2">}</span><span class="w">
</span><span class="ss">transform</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="6079327621-8">%{</span><span class="p" data-group-id="6079327621-8">}</span><span class="p">,</span><span class="w">
</span><span class="ss">language_variants</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="6079327621-9">[</span><span class="p" data-group-id="6079327621-9">]</span><span class="w">
</span><span class="p" data-group-id="6079327621-3">}</span><span class="p" data-group-id="6079327621-2">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.AcceptLanguage</span><span class="o">.</span><span class="n">best_match</span><span class="p" data-group-id="4530723751-10">(</span><span class="s">&quot;da;q=0.1,zh-TW;q=0.3&quot;</span><span class="p">,</span><span class="w"> </span><span class="nc">TestBackend.Cldr</span><span class="p" data-group-id="4530723751-10">)</span><span class="w">
</span><span class="p" data-group-id="4530723751-11">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="4530723751-12">%</span><span class="nc" data-group-id="4530723751-12">Cldr.LanguageTag</span><span class="p" data-group-id="4530723751-12">{</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.AcceptLanguage</span><span class="o">.</span><span class="n">best_match</span><span class="p" data-group-id="6079327621-10">(</span><span class="s">&quot;da;q=0.1,zh-TW;q=0.3&quot;</span><span class="p">,</span><span class="w"> </span><span class="nc">TestBackend.Cldr</span><span class="p" data-group-id="6079327621-10">)</span><span class="w">
</span><span class="p" data-group-id="6079327621-11">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="6079327621-12">%</span><span class="nc" data-group-id="6079327621-12">Cldr.LanguageTag</span><span class="p" data-group-id="6079327621-12">{</span><span class="w">
</span><span class="ss">backend</span><span class="p">:</span><span class="w"> </span><span class="nc">TestBackend.Cldr</span><span class="p">,</span><span class="w">
</span><span class="ss">canonical_locale_name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;zh-TW&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">cldr_locale_name</span><span class="p">:</span><span class="w"> </span><span class="ss">:&quot;zh-Hant&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">language_subtags</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4530723751-13">[</span><span class="p" data-group-id="4530723751-13">]</span><span class="p">,</span><span class="w">
</span><span class="ss">extensions</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4530723751-14">%{</span><span class="p" data-group-id="4530723751-14">}</span><span class="p">,</span><span class="w">
</span><span class="ss">language_subtags</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="6079327621-13">[</span><span class="p" data-group-id="6079327621-13">]</span><span class="p">,</span><span class="w">
</span><span class="ss">extensions</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="6079327621-14">%{</span><span class="p" data-group-id="6079327621-14">}</span><span class="p">,</span><span class="w">
</span><span class="ss">gettext_locale_name</span><span class="p">:</span><span class="w"> </span><span class="no">nil</span><span class="p">,</span><span class="w">
</span><span class="ss">language</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;zh&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4530723751-15">%{</span><span class="p" data-group-id="4530723751-15">}</span><span class="p">,</span><span class="w">
</span><span class="ss">private_use</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4530723751-16">[</span><span class="p" data-group-id="4530723751-16">]</span><span class="p">,</span><span class="w">
</span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="6079327621-15">%{</span><span class="p" data-group-id="6079327621-15">}</span><span class="p">,</span><span class="w">
</span><span class="ss">private_use</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="6079327621-16">[</span><span class="p" data-group-id="6079327621-16">]</span><span class="p">,</span><span class="w">
</span><span class="ss">rbnf_locale_name</span><span class="p">:</span><span class="w"> </span><span class="ss">:&quot;zh-Hant&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">requested_locale_name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;zh-TW&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">script</span><span class="p">:</span><span class="w"> </span><span class="ss">:Hant</span><span class="p">,</span><span class="w">
</span><span class="ss">territory</span><span class="p">:</span><span class="w"> </span><span class="ss">:TW</span><span class="p">,</span><span class="w">
</span><span class="ss">transform</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4530723751-17">%{</span><span class="p" data-group-id="4530723751-17">}</span><span class="p">,</span><span class="w">
</span><span class="ss">language_variants</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4530723751-18">[</span><span class="p" data-group-id="4530723751-18">]</span><span class="w">
</span><span class="p" data-group-id="4530723751-12">}</span><span class="p" data-group-id="4530723751-11">}</span><span class="w">
</span><span class="ss">transform</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="6079327621-17">%{</span><span class="p" data-group-id="6079327621-17">}</span><span class="p">,</span><span class="w">
</span><span class="ss">language_variants</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="6079327621-18">[</span><span class="p" data-group-id="6079327621-18">]</span><span class="w">
</span><span class="p" data-group-id="6079327621-12">}</span><span class="p" data-group-id="6079327621-11">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.AcceptLanguage</span><span class="o">.</span><span class="n">best_match</span><span class="p" data-group-id="4530723751-19">(</span><span class="s">&quot;xx,yy;q=0.3&quot;</span><span class="p" data-group-id="4530723751-19">)</span><span class="w">
</span><span class="p" data-group-id="4530723751-20">{</span><span class="ss">:error</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="4530723751-21">{</span><span class="nc">Cldr.NoMatchingLocale</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;No configured locale could be matched to </span><span class="se">\&quot;</span><span class="s">xx,yy;q=0.3</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p" data-group-id="4530723751-21">}</span><span class="p" data-group-id="4530723751-20">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.AcceptLanguage</span><span class="o">.</span><span class="n">best_match</span><span class="p" data-group-id="6079327621-19">(</span><span class="s">&quot;xx,yy;q=0.3&quot;</span><span class="p" data-group-id="6079327621-19">)</span><span class="w">
</span><span class="p" data-group-id="6079327621-20">{</span><span class="ss">:error</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="6079327621-21">{</span><span class="nc">Cldr.NoMatchingLocale</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;No configured locale could be matched to </span><span class="se">\&quot;</span><span class="s">xx,yy;q=0.3</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p" data-group-id="6079327621-21">}</span><span class="p" data-group-id="6079327621-20">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.AcceptLanguage</span><span class="o">.</span><span class="n">best_match</span><span class="p" data-group-id="4530723751-22">(</span><span class="s">&quot;invalid_tag&quot;</span><span class="p" data-group-id="4530723751-22">)</span><span class="w">
</span><span class="p" data-group-id="4530723751-23">{</span><span class="ss">:error</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="4530723751-24">{</span><span class="nc">Cldr.LanguageTag.ParseError</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;Expected a BCP47 language tag. Could not parse the remaining </span><span class="se">\&quot;</span><span class="s">g</span><span class="se">\&quot;</span><span class="s"> starting at position 11&quot;</span><span class="p" data-group-id="4530723751-24">}</span><span class="p" data-group-id="4530723751-23">}</span></code></pre>
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.AcceptLanguage</span><span class="o">.</span><span class="n">best_match</span><span class="p" data-group-id="6079327621-22">(</span><span class="s">&quot;invalid_tag&quot;</span><span class="p" data-group-id="6079327621-22">)</span><span class="w">
</span><span class="p" data-group-id="6079327621-23">{</span><span class="ss">:error</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="6079327621-24">{</span><span class="nc">Cldr.LanguageTag.ParseError</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;Expected a BCP47 language tag. Could not parse the remaining </span><span class="se">\&quot;</span><span class="s">g</span><span class="se">\&quot;</span><span class="s"> starting at position 11&quot;</span><span class="p" data-group-id="6079327621-24">}</span><span class="p" data-group-id="6079327621-23">}</span></code></pre>
</section>
</section>
<section class="detail" id="parse/1">
@ -369,95 +369,95 @@ wuth an error tuple for each invalid tag added at the end of the list.</p><h2 id
</a>
<span class="text">Example</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Cldr.AcceptLanguage</span><span class="o">.</span><span class="n">parse</span><span class="p" data-group-id="4393207144-1">(</span><span class="s">&quot;da,zh-TW;q=0.3&quot;</span><span class="p">,</span><span class="w"> </span><span class="nc">TestBackend.Cldr</span><span class="p" data-group-id="4393207144-1">)</span><span class="w">
</span><span class="p" data-group-id="4393207144-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="4393207144-3">[</span><span class="w">
</span><span class="p" data-group-id="4393207144-4">{</span><span class="mf">1.0</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="4393207144-5">%</span><span class="nc" data-group-id="4393207144-5">Cldr.LanguageTag</span><span class="p" data-group-id="4393207144-5">{</span><span class="w">
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Cldr.AcceptLanguage</span><span class="o">.</span><span class="n">parse</span><span class="p" data-group-id="7321353679-1">(</span><span class="s">&quot;da,zh-TW;q=0.3&quot;</span><span class="p">,</span><span class="w"> </span><span class="nc">TestBackend.Cldr</span><span class="p" data-group-id="7321353679-1">)</span><span class="w">
</span><span class="p" data-group-id="7321353679-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="7321353679-3">[</span><span class="w">
</span><span class="p" data-group-id="7321353679-4">{</span><span class="mf">1.0</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="7321353679-5">%</span><span class="nc" data-group-id="7321353679-5">Cldr.LanguageTag</span><span class="p" data-group-id="7321353679-5">{</span><span class="w">
</span><span class="ss">backend</span><span class="p">:</span><span class="w"> </span><span class="nc">TestBackend.Cldr</span><span class="p">,</span><span class="w">
</span><span class="ss">canonical_locale_name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;da&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">cldr_locale_name</span><span class="p">:</span><span class="w"> </span><span class="ss">:da</span><span class="p">,</span><span class="w">
</span><span class="ss">language_subtags</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4393207144-6">[</span><span class="p" data-group-id="4393207144-6">]</span><span class="p">,</span><span class="w">
</span><span class="ss">extensions</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4393207144-7">%{</span><span class="p" data-group-id="4393207144-7">}</span><span class="p">,</span><span class="w">
</span><span class="ss">language_subtags</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7321353679-6">[</span><span class="p" data-group-id="7321353679-6">]</span><span class="p">,</span><span class="w">
</span><span class="ss">extensions</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7321353679-7">%{</span><span class="p" data-group-id="7321353679-7">}</span><span class="p">,</span><span class="w">
</span><span class="ss">gettext_locale_name</span><span class="p">:</span><span class="w"> </span><span class="no">nil</span><span class="p">,</span><span class="w">
</span><span class="ss">language</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;da&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4393207144-8">%{</span><span class="p" data-group-id="4393207144-8">}</span><span class="p">,</span><span class="w">
</span><span class="ss">private_use</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4393207144-9">[</span><span class="p" data-group-id="4393207144-9">]</span><span class="p">,</span><span class="w">
</span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7321353679-8">%{</span><span class="p" data-group-id="7321353679-8">}</span><span class="p">,</span><span class="w">
</span><span class="ss">private_use</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7321353679-9">[</span><span class="p" data-group-id="7321353679-9">]</span><span class="p">,</span><span class="w">
</span><span class="ss">rbnf_locale_name</span><span class="p">:</span><span class="w"> </span><span class="ss">:da</span><span class="p">,</span><span class="w">
</span><span class="ss">requested_locale_name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;da&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">script</span><span class="p">:</span><span class="w"> </span><span class="ss">:Latn</span><span class="p">,</span><span class="w">
</span><span class="ss">territory</span><span class="p">:</span><span class="w"> </span><span class="ss">:DK</span><span class="p">,</span><span class="w">
</span><span class="ss">transform</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4393207144-10">%{</span><span class="p" data-group-id="4393207144-10">}</span><span class="p">,</span><span class="w">
</span><span class="ss">language_variants</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4393207144-11">[</span><span class="p" data-group-id="4393207144-11">]</span><span class="w">
</span><span class="p" data-group-id="4393207144-5">}</span><span class="p" data-group-id="4393207144-4">}</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="4393207144-12">{</span><span class="mf">0.3</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="4393207144-13">%</span><span class="nc" data-group-id="4393207144-13">Cldr.LanguageTag</span><span class="p" data-group-id="4393207144-13">{</span><span class="w">
</span><span class="ss">transform</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7321353679-10">%{</span><span class="p" data-group-id="7321353679-10">}</span><span class="p">,</span><span class="w">
</span><span class="ss">language_variants</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7321353679-11">[</span><span class="p" data-group-id="7321353679-11">]</span><span class="w">
</span><span class="p" data-group-id="7321353679-5">}</span><span class="p" data-group-id="7321353679-4">}</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="7321353679-12">{</span><span class="mf">0.3</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="7321353679-13">%</span><span class="nc" data-group-id="7321353679-13">Cldr.LanguageTag</span><span class="p" data-group-id="7321353679-13">{</span><span class="w">
</span><span class="ss">backend</span><span class="p">:</span><span class="w"> </span><span class="nc">TestBackend.Cldr</span><span class="p">,</span><span class="w">
</span><span class="ss">canonical_locale_name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;zh-TW&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">cldr_locale_name</span><span class="p">:</span><span class="w"> </span><span class="ss">:&quot;zh-Hant&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">language_subtags</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4393207144-14">[</span><span class="p" data-group-id="4393207144-14">]</span><span class="p">,</span><span class="w">
</span><span class="ss">extensions</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4393207144-15">%{</span><span class="p" data-group-id="4393207144-15">}</span><span class="p">,</span><span class="w">
</span><span class="ss">language_subtags</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7321353679-14">[</span><span class="p" data-group-id="7321353679-14">]</span><span class="p">,</span><span class="w">
</span><span class="ss">extensions</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7321353679-15">%{</span><span class="p" data-group-id="7321353679-15">}</span><span class="p">,</span><span class="w">
</span><span class="ss">gettext_locale_name</span><span class="p">:</span><span class="w"> </span><span class="no">nil</span><span class="p">,</span><span class="w">
</span><span class="ss">language</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;zh&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4393207144-16">%{</span><span class="p" data-group-id="4393207144-16">}</span><span class="p">,</span><span class="w">
</span><span class="ss">private_use</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4393207144-17">[</span><span class="p" data-group-id="4393207144-17">]</span><span class="p">,</span><span class="w">
</span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7321353679-16">%{</span><span class="p" data-group-id="7321353679-16">}</span><span class="p">,</span><span class="w">
</span><span class="ss">private_use</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7321353679-17">[</span><span class="p" data-group-id="7321353679-17">]</span><span class="p">,</span><span class="w">
</span><span class="ss">rbnf_locale_name</span><span class="p">:</span><span class="w"> </span><span class="ss">:&quot;zh-Hant&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">requested_locale_name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;zh-TW&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">script</span><span class="p">:</span><span class="w"> </span><span class="ss">:Hant</span><span class="p">,</span><span class="w">
</span><span class="ss">territory</span><span class="p">:</span><span class="w"> </span><span class="ss">:TW</span><span class="p">,</span><span class="w">
</span><span class="ss">transform</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4393207144-18">%{</span><span class="p" data-group-id="4393207144-18">}</span><span class="p">,</span><span class="w">
</span><span class="ss">language_variants</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4393207144-19">[</span><span class="p" data-group-id="4393207144-19">]</span><span class="w">
</span><span class="p" data-group-id="4393207144-13">}</span><span class="p" data-group-id="4393207144-12">}</span><span class="w">
</span><span class="p" data-group-id="4393207144-3">]</span><span class="p" data-group-id="4393207144-2">}</span><span class="w">
</span><span class="ss">transform</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7321353679-18">%{</span><span class="p" data-group-id="7321353679-18">}</span><span class="p">,</span><span class="w">
</span><span class="ss">language_variants</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7321353679-19">[</span><span class="p" data-group-id="7321353679-19">]</span><span class="w">
</span><span class="p" data-group-id="7321353679-13">}</span><span class="p" data-group-id="7321353679-12">}</span><span class="w">
</span><span class="p" data-group-id="7321353679-3">]</span><span class="p" data-group-id="7321353679-2">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.AcceptLanguage</span><span class="o">.</span><span class="n">parse</span><span class="p" data-group-id="4393207144-20">(</span><span class="s">&quot;invalid_tag&quot;</span><span class="p" data-group-id="4393207144-20">)</span><span class="w">
</span><span class="p" data-group-id="4393207144-21">{</span><span class="ss">:error</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="4393207144-22">{</span><span class="nc">Cldr.LanguageTag.ParseError</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;Expected a BCP47 language tag. Could not parse the remaining </span><span class="se">\&quot;</span><span class="s">g</span><span class="se">\&quot;</span><span class="s"> starting at position 11&quot;</span><span class="p" data-group-id="4393207144-22">}</span><span class="p" data-group-id="4393207144-21">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.AcceptLanguage</span><span class="o">.</span><span class="n">parse</span><span class="p" data-group-id="7321353679-20">(</span><span class="s">&quot;invalid_tag&quot;</span><span class="p" data-group-id="7321353679-20">)</span><span class="w">
</span><span class="p" data-group-id="7321353679-21">{</span><span class="ss">:error</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="7321353679-22">{</span><span class="nc">Cldr.LanguageTag.ParseError</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;Expected a BCP47 language tag. Could not parse the remaining </span><span class="se">\&quot;</span><span class="s">g</span><span class="se">\&quot;</span><span class="s"> starting at position 11&quot;</span><span class="p" data-group-id="7321353679-22">}</span><span class="p" data-group-id="7321353679-21">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.AcceptLanguage</span><span class="o">.</span><span class="n">parse</span><span class="p" data-group-id="4393207144-23">(</span><span class="s">&quot;da,zh-TW;q=0.3,invalid_tag&quot;</span><span class="p" data-group-id="4393207144-23">)</span><span class="w">
</span><span class="p" data-group-id="4393207144-24">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="4393207144-25">[</span><span class="w">
</span><span class="p" data-group-id="4393207144-26">{</span><span class="mf">1.0</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="4393207144-27">%</span><span class="nc" data-group-id="4393207144-27">Cldr.LanguageTag</span><span class="p" data-group-id="4393207144-27">{</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.AcceptLanguage</span><span class="o">.</span><span class="n">parse</span><span class="p" data-group-id="7321353679-23">(</span><span class="s">&quot;da,zh-TW;q=0.3,invalid_tag&quot;</span><span class="p" data-group-id="7321353679-23">)</span><span class="w">
</span><span class="p" data-group-id="7321353679-24">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="7321353679-25">[</span><span class="w">
</span><span class="p" data-group-id="7321353679-26">{</span><span class="mf">1.0</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="7321353679-27">%</span><span class="nc" data-group-id="7321353679-27">Cldr.LanguageTag</span><span class="p" data-group-id="7321353679-27">{</span><span class="w">
</span><span class="ss">backend</span><span class="p">:</span><span class="w"> </span><span class="nc">TestBackend.Cldr</span><span class="p">,</span><span class="w">
</span><span class="ss">canonical_locale_name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;da&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">cldr_locale_name</span><span class="p">:</span><span class="w"> </span><span class="ss">:da</span><span class="p">,</span><span class="w">
</span><span class="ss">language_subtags</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4393207144-28">[</span><span class="p" data-group-id="4393207144-28">]</span><span class="p">,</span><span class="w">
</span><span class="ss">extensions</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4393207144-29">%{</span><span class="p" data-group-id="4393207144-29">}</span><span class="p">,</span><span class="w">
</span><span class="ss">language_subtags</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7321353679-28">[</span><span class="p" data-group-id="7321353679-28">]</span><span class="p">,</span><span class="w">
</span><span class="ss">extensions</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7321353679-29">%{</span><span class="p" data-group-id="7321353679-29">}</span><span class="p">,</span><span class="w">
</span><span class="ss">gettext_locale_name</span><span class="p">:</span><span class="w"> </span><span class="no">nil</span><span class="p">,</span><span class="w">
</span><span class="ss">language</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;da&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4393207144-30">%{</span><span class="p" data-group-id="4393207144-30">}</span><span class="p">,</span><span class="w">
</span><span class="ss">private_use</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4393207144-31">[</span><span class="p" data-group-id="4393207144-31">]</span><span class="p">,</span><span class="w">
</span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7321353679-30">%{</span><span class="p" data-group-id="7321353679-30">}</span><span class="p">,</span><span class="w">
</span><span class="ss">private_use</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7321353679-31">[</span><span class="p" data-group-id="7321353679-31">]</span><span class="p">,</span><span class="w">
</span><span class="ss">rbnf_locale_name</span><span class="p">:</span><span class="w"> </span><span class="ss">:da</span><span class="p">,</span><span class="w">
</span><span class="ss">requested_locale_name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;da&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">script</span><span class="p">:</span><span class="w"> </span><span class="ss">:Latn</span><span class="p">,</span><span class="w">
</span><span class="ss">territory</span><span class="p">:</span><span class="w"> </span><span class="ss">:DK</span><span class="p">,</span><span class="w">
</span><span class="ss">transform</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4393207144-32">%{</span><span class="p" data-group-id="4393207144-32">}</span><span class="p">,</span><span class="w">
</span><span class="ss">language_variants</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4393207144-33">[</span><span class="p" data-group-id="4393207144-33">]</span><span class="w">
</span><span class="p" data-group-id="4393207144-27">}</span><span class="p" data-group-id="4393207144-26">}</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="4393207144-34">{</span><span class="mf">0.3</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="4393207144-35">%</span><span class="nc" data-group-id="4393207144-35">Cldr.LanguageTag</span><span class="p" data-group-id="4393207144-35">{</span><span class="w">
</span><span class="ss">transform</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7321353679-32">%{</span><span class="p" data-group-id="7321353679-32">}</span><span class="p">,</span><span class="w">
</span><span class="ss">language_variants</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7321353679-33">[</span><span class="p" data-group-id="7321353679-33">]</span><span class="w">
</span><span class="p" data-group-id="7321353679-27">}</span><span class="p" data-group-id="7321353679-26">}</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="7321353679-34">{</span><span class="mf">0.3</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="7321353679-35">%</span><span class="nc" data-group-id="7321353679-35">Cldr.LanguageTag</span><span class="p" data-group-id="7321353679-35">{</span><span class="w">
</span><span class="ss">backend</span><span class="p">:</span><span class="w"> </span><span class="nc">TestBackend.Cldr</span><span class="p">,</span><span class="w">
</span><span class="ss">canonical_locale_name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;zh-TW&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">cldr_locale_name</span><span class="p">:</span><span class="w"> </span><span class="ss">:&quot;zh-Hant&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">language_subtags</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4393207144-36">[</span><span class="p" data-group-id="4393207144-36">]</span><span class="p">,</span><span class="w">
</span><span class="ss">extensions</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4393207144-37">%{</span><span class="p" data-group-id="4393207144-37">}</span><span class="p">,</span><span class="w">
</span><span class="ss">language_subtags</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7321353679-36">[</span><span class="p" data-group-id="7321353679-36">]</span><span class="p">,</span><span class="w">
</span><span class="ss">extensions</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7321353679-37">%{</span><span class="p" data-group-id="7321353679-37">}</span><span class="p">,</span><span class="w">
</span><span class="ss">gettext_locale_name</span><span class="p">:</span><span class="w"> </span><span class="no">nil</span><span class="p">,</span><span class="w">
</span><span class="ss">language</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;zh&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4393207144-38">%{</span><span class="p" data-group-id="4393207144-38">}</span><span class="p">,</span><span class="w">
</span><span class="ss">private_use</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4393207144-39">[</span><span class="p" data-group-id="4393207144-39">]</span><span class="p">,</span><span class="w">
</span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7321353679-38">%{</span><span class="p" data-group-id="7321353679-38">}</span><span class="p">,</span><span class="w">
</span><span class="ss">private_use</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7321353679-39">[</span><span class="p" data-group-id="7321353679-39">]</span><span class="p">,</span><span class="w">
</span><span class="ss">rbnf_locale_name</span><span class="p">:</span><span class="w"> </span><span class="ss">:&quot;zh-Hant&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">requested_locale_name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;zh-TW&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">script</span><span class="p">:</span><span class="w"> </span><span class="ss">:Hant</span><span class="p">,</span><span class="w">
</span><span class="ss">territory</span><span class="p">:</span><span class="w"> </span><span class="ss">:TW</span><span class="p">,</span><span class="w">
</span><span class="ss">transform</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4393207144-40">%{</span><span class="p" data-group-id="4393207144-40">}</span><span class="p">,</span><span class="w">
</span><span class="ss">language_variants</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4393207144-41">[</span><span class="p" data-group-id="4393207144-41">]</span><span class="w">
</span><span class="p" data-group-id="4393207144-35">}</span><span class="p" data-group-id="4393207144-34">}</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="4393207144-42">{</span><span class="ss">:error</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="4393207144-43">{</span><span class="nc">Cldr.LanguageTag.ParseError</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;Expected a BCP47 language tag. Could not parse the remaining </span><span class="se">\&quot;</span><span class="s">g</span><span class="se">\&quot;</span><span class="s"> starting at position 11&quot;</span><span class="p" data-group-id="4393207144-43">}</span><span class="p" data-group-id="4393207144-42">}</span><span class="w">
</span><span class="p" data-group-id="4393207144-25">]</span><span class="p" data-group-id="4393207144-24">}</span></code></pre>
</span><span class="ss">transform</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7321353679-40">%{</span><span class="p" data-group-id="7321353679-40">}</span><span class="p">,</span><span class="w">
</span><span class="ss">language_variants</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7321353679-41">[</span><span class="p" data-group-id="7321353679-41">]</span><span class="w">
</span><span class="p" data-group-id="7321353679-35">}</span><span class="p" data-group-id="7321353679-34">}</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="7321353679-42">{</span><span class="ss">:error</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="7321353679-43">{</span><span class="nc">Cldr.LanguageTag.ParseError</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;Expected a BCP47 language tag. Could not parse the remaining </span><span class="se">\&quot;</span><span class="s">g</span><span class="se">\&quot;</span><span class="s"> starting at position 11&quot;</span><span class="p" data-group-id="7321353679-43">}</span><span class="p" data-group-id="7321353679-42">}</span><span class="w">
</span><span class="p" data-group-id="7321353679-25">]</span><span class="p" data-group-id="7321353679-24">}</span></code></pre>
</section>
</section>
<section class="detail" id="parse!/1">
@ -502,92 +502,92 @@ wuth an error tuple for each invalid tag added at the end of the list.</p><h2 id
</a>
<span class="text">Example</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.AcceptLanguage</span><span class="o">.</span><span class="n">parse!</span><span class="p" data-group-id="7524783965-1">(</span><span class="s">&quot;da,zh-TW;q=0.3&quot;</span><span class="p" data-group-id="7524783965-1">)</span><span class="w">
</span><span class="p" data-group-id="7524783965-2">[</span><span class="w">
</span><span class="p" data-group-id="7524783965-3">{</span><span class="mf">1.0</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="7524783965-4">%</span><span class="nc" data-group-id="7524783965-4">Cldr.LanguageTag</span><span class="p" data-group-id="7524783965-4">{</span><span class="w">
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.AcceptLanguage</span><span class="o">.</span><span class="n">parse!</span><span class="p" data-group-id="3956293984-1">(</span><span class="s">&quot;da,zh-TW;q=0.3&quot;</span><span class="p" data-group-id="3956293984-1">)</span><span class="w">
</span><span class="p" data-group-id="3956293984-2">[</span><span class="w">
</span><span class="p" data-group-id="3956293984-3">{</span><span class="mf">1.0</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="3956293984-4">%</span><span class="nc" data-group-id="3956293984-4">Cldr.LanguageTag</span><span class="p" data-group-id="3956293984-4">{</span><span class="w">
</span><span class="ss">backend</span><span class="p">:</span><span class="w"> </span><span class="nc">TestBackend.Cldr</span><span class="p">,</span><span class="w">
</span><span class="ss">canonical_locale_name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;da&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">cldr_locale_name</span><span class="p">:</span><span class="w"> </span><span class="ss">:da</span><span class="p">,</span><span class="w">
</span><span class="ss">language_subtags</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7524783965-5">[</span><span class="p" data-group-id="7524783965-5">]</span><span class="p">,</span><span class="w">
</span><span class="ss">extensions</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7524783965-6">%{</span><span class="p" data-group-id="7524783965-6">}</span><span class="p">,</span><span class="w">
</span><span class="ss">language_subtags</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="3956293984-5">[</span><span class="p" data-group-id="3956293984-5">]</span><span class="p">,</span><span class="w">
</span><span class="ss">extensions</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="3956293984-6">%{</span><span class="p" data-group-id="3956293984-6">}</span><span class="p">,</span><span class="w">
</span><span class="ss">gettext_locale_name</span><span class="p">:</span><span class="w"> </span><span class="no">nil</span><span class="p">,</span><span class="w">
</span><span class="ss">language</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;da&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7524783965-7">%{</span><span class="p" data-group-id="7524783965-7">}</span><span class="p">,</span><span class="w">
</span><span class="ss">private_use</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7524783965-8">[</span><span class="p" data-group-id="7524783965-8">]</span><span class="p">,</span><span class="w">
</span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="3956293984-7">%{</span><span class="p" data-group-id="3956293984-7">}</span><span class="p">,</span><span class="w">
</span><span class="ss">private_use</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="3956293984-8">[</span><span class="p" data-group-id="3956293984-8">]</span><span class="p">,</span><span class="w">
</span><span class="ss">rbnf_locale_name</span><span class="p">:</span><span class="w"> </span><span class="ss">:da</span><span class="p">,</span><span class="w">
</span><span class="ss">requested_locale_name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;da&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">script</span><span class="p">:</span><span class="w"> </span><span class="ss">:Latn</span><span class="p">,</span><span class="w">
</span><span class="ss">territory</span><span class="p">:</span><span class="w"> </span><span class="ss">:DK</span><span class="p">,</span><span class="w">
</span><span class="ss">transform</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7524783965-9">%{</span><span class="p" data-group-id="7524783965-9">}</span><span class="p">,</span><span class="w">
</span><span class="ss">language_variants</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7524783965-10">[</span><span class="p" data-group-id="7524783965-10">]</span><span class="w">
</span><span class="p" data-group-id="7524783965-4">}</span><span class="p" data-group-id="7524783965-3">}</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="7524783965-11">{</span><span class="mf">0.3</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="7524783965-12">%</span><span class="nc" data-group-id="7524783965-12">Cldr.LanguageTag</span><span class="p" data-group-id="7524783965-12">{</span><span class="w">
</span><span class="ss">transform</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="3956293984-9">%{</span><span class="p" data-group-id="3956293984-9">}</span><span class="p">,</span><span class="w">
</span><span class="ss">language_variants</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="3956293984-10">[</span><span class="p" data-group-id="3956293984-10">]</span><span class="w">
</span><span class="p" data-group-id="3956293984-4">}</span><span class="p" data-group-id="3956293984-3">}</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="3956293984-11">{</span><span class="mf">0.3</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="3956293984-12">%</span><span class="nc" data-group-id="3956293984-12">Cldr.LanguageTag</span><span class="p" data-group-id="3956293984-12">{</span><span class="w">
</span><span class="ss">backend</span><span class="p">:</span><span class="w"> </span><span class="nc">TestBackend.Cldr</span><span class="p">,</span><span class="w">
</span><span class="ss">canonical_locale_name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;zh-TW&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">cldr_locale_name</span><span class="p">:</span><span class="w"> </span><span class="ss">:&quot;zh-Hant&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">language_subtags</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7524783965-13">[</span><span class="p" data-group-id="7524783965-13">]</span><span class="p">,</span><span class="w">
</span><span class="ss">extensions</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7524783965-14">%{</span><span class="p" data-group-id="7524783965-14">}</span><span class="p">,</span><span class="w">
</span><span class="ss">language_subtags</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="3956293984-13">[</span><span class="p" data-group-id="3956293984-13">]</span><span class="p">,</span><span class="w">
</span><span class="ss">extensions</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="3956293984-14">%{</span><span class="p" data-group-id="3956293984-14">}</span><span class="p">,</span><span class="w">
</span><span class="ss">gettext_locale_name</span><span class="p">:</span><span class="w"> </span><span class="no">nil</span><span class="p">,</span><span class="w">
</span><span class="ss">language</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;zh&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7524783965-15">%{</span><span class="p" data-group-id="7524783965-15">}</span><span class="p">,</span><span class="w">
</span><span class="ss">private_use</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7524783965-16">[</span><span class="p" data-group-id="7524783965-16">]</span><span class="p">,</span><span class="w">
</span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="3956293984-15">%{</span><span class="p" data-group-id="3956293984-15">}</span><span class="p">,</span><span class="w">
</span><span class="ss">private_use</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="3956293984-16">[</span><span class="p" data-group-id="3956293984-16">]</span><span class="p">,</span><span class="w">
</span><span class="ss">rbnf_locale_name</span><span class="p">:</span><span class="w"> </span><span class="ss">:&quot;zh-Hant&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">requested_locale_name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;zh-TW&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">script</span><span class="p">:</span><span class="w"> </span><span class="ss">:Hant</span><span class="p">,</span><span class="w">
</span><span class="ss">territory</span><span class="p">:</span><span class="w"> </span><span class="ss">:TW</span><span class="p">,</span><span class="w">
</span><span class="ss">transform</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7524783965-17">%{</span><span class="p" data-group-id="7524783965-17">}</span><span class="p">,</span><span class="w">
</span><span class="ss">language_variants</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7524783965-18">[</span><span class="p" data-group-id="7524783965-18">]</span><span class="w">
</span><span class="p" data-group-id="7524783965-12">}</span><span class="p" data-group-id="7524783965-11">}</span><span class="w">
</span><span class="p" data-group-id="7524783965-2">]</span><span class="w">
</span><span class="ss">transform</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="3956293984-17">%{</span><span class="p" data-group-id="3956293984-17">}</span><span class="p">,</span><span class="w">
</span><span class="ss">language_variants</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="3956293984-18">[</span><span class="p" data-group-id="3956293984-18">]</span><span class="w">
</span><span class="p" data-group-id="3956293984-12">}</span><span class="p" data-group-id="3956293984-11">}</span><span class="w">
</span><span class="p" data-group-id="3956293984-2">]</span><span class="w">
</span><span class="nc">Plausible.Cldr.AcceptLanguage</span><span class="o">.</span><span class="n">parse!</span><span class="w"> </span><span class="s">&quot;invalid_tag&quot;</span><span class="w">
</span><span class="gt">** (Cldr.AcceptLanguageError) &quot;Expected a BCP47 language tag. Could not parse the remaining &quot;g&quot; starting at position 11
(ex_cldr) lib/cldr/accept_language.ex:304: Cldr.AcceptLanguage.parse!/1</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.AcceptLanguage</span><span class="o">.</span><span class="n">parse!</span><span class="p" data-group-id="7524783965-19">(</span><span class="s">&quot;da,zh-TW;q=0.3,invalid_tag&quot;</span><span class="p" data-group-id="7524783965-19">)</span><span class="w">
</span><span class="p" data-group-id="7524783965-20">[</span><span class="w">
</span><span class="p" data-group-id="7524783965-21">{</span><span class="mf">1.0</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="7524783965-22">%</span><span class="nc" data-group-id="7524783965-22">Cldr.LanguageTag</span><span class="p" data-group-id="7524783965-22">{</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.AcceptLanguage</span><span class="o">.</span><span class="n">parse!</span><span class="p" data-group-id="3956293984-19">(</span><span class="s">&quot;da,zh-TW;q=0.3,invalid_tag&quot;</span><span class="p" data-group-id="3956293984-19">)</span><span class="w">
</span><span class="p" data-group-id="3956293984-20">[</span><span class="w">
</span><span class="p" data-group-id="3956293984-21">{</span><span class="mf">1.0</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="3956293984-22">%</span><span class="nc" data-group-id="3956293984-22">Cldr.LanguageTag</span><span class="p" data-group-id="3956293984-22">{</span><span class="w">
</span><span class="ss">backend</span><span class="p">:</span><span class="w"> </span><span class="nc">TestBackend.Cldr</span><span class="p">,</span><span class="w">
</span><span class="ss">canonical_locale_name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;da&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">cldr_locale_name</span><span class="p">:</span><span class="w"> </span><span class="ss">:da</span><span class="p">,</span><span class="w">
</span><span class="ss">language_subtags</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7524783965-23">[</span><span class="p" data-group-id="7524783965-23">]</span><span class="p">,</span><span class="w">
</span><span class="ss">extensions</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7524783965-24">%{</span><span class="p" data-group-id="7524783965-24">}</span><span class="p">,</span><span class="w">
</span><span class="ss">language_subtags</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="3956293984-23">[</span><span class="p" data-group-id="3956293984-23">]</span><span class="p">,</span><span class="w">
</span><span class="ss">extensions</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="3956293984-24">%{</span><span class="p" data-group-id="3956293984-24">}</span><span class="p">,</span><span class="w">
</span><span class="ss">gettext_locale_name</span><span class="p">:</span><span class="w"> </span><span class="no">nil</span><span class="p">,</span><span class="w">
</span><span class="ss">language</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;da&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7524783965-25">%{</span><span class="p" data-group-id="7524783965-25">}</span><span class="p">,</span><span class="w">
</span><span class="ss">private_use</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7524783965-26">[</span><span class="p" data-group-id="7524783965-26">]</span><span class="p">,</span><span class="w">
</span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="3956293984-25">%{</span><span class="p" data-group-id="3956293984-25">}</span><span class="p">,</span><span class="w">
</span><span class="ss">private_use</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="3956293984-26">[</span><span class="p" data-group-id="3956293984-26">]</span><span class="p">,</span><span class="w">
</span><span class="ss">rbnf_locale_name</span><span class="p">:</span><span class="w"> </span><span class="ss">:da</span><span class="p">,</span><span class="w">
</span><span class="ss">requested_locale_name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;da&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">script</span><span class="p">:</span><span class="w"> </span><span class="ss">:Latn</span><span class="p">,</span><span class="w">
</span><span class="ss">territory</span><span class="p">:</span><span class="w"> </span><span class="ss">:DK</span><span class="p">,</span><span class="w">
</span><span class="ss">transform</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7524783965-27">%{</span><span class="p" data-group-id="7524783965-27">}</span><span class="p">,</span><span class="w">
</span><span class="ss">language_variants</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7524783965-28">[</span><span class="p" data-group-id="7524783965-28">]</span><span class="w">
</span><span class="p" data-group-id="7524783965-22">}</span><span class="p" data-group-id="7524783965-21">}</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="7524783965-29">{</span><span class="mf">0.3</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="7524783965-30">%</span><span class="nc" data-group-id="7524783965-30">Cldr.LanguageTag</span><span class="p" data-group-id="7524783965-30">{</span><span class="w">
</span><span class="ss">transform</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="3956293984-27">%{</span><span class="p" data-group-id="3956293984-27">}</span><span class="p">,</span><span class="w">
</span><span class="ss">language_variants</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="3956293984-28">[</span><span class="p" data-group-id="3956293984-28">]</span><span class="w">
</span><span class="p" data-group-id="3956293984-22">}</span><span class="p" data-group-id="3956293984-21">}</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="3956293984-29">{</span><span class="mf">0.3</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="3956293984-30">%</span><span class="nc" data-group-id="3956293984-30">Cldr.LanguageTag</span><span class="p" data-group-id="3956293984-30">{</span><span class="w">
</span><span class="ss">backend</span><span class="p">:</span><span class="w"> </span><span class="nc">TestBackend.Cldr</span><span class="p">,</span><span class="w">
</span><span class="ss">canonical_locale_name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;zh-TW&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">cldr_locale_name</span><span class="p">:</span><span class="w"> </span><span class="ss">:&quot;zh-Hant&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">language_subtags</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7524783965-31">[</span><span class="p" data-group-id="7524783965-31">]</span><span class="p">,</span><span class="w">
</span><span class="ss">extensions</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7524783965-32">%{</span><span class="p" data-group-id="7524783965-32">}</span><span class="p">,</span><span class="w">
</span><span class="ss">language_subtags</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="3956293984-31">[</span><span class="p" data-group-id="3956293984-31">]</span><span class="p">,</span><span class="w">
</span><span class="ss">extensions</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="3956293984-32">%{</span><span class="p" data-group-id="3956293984-32">}</span><span class="p">,</span><span class="w">
</span><span class="ss">gettext_locale_name</span><span class="p">:</span><span class="w"> </span><span class="no">nil</span><span class="p">,</span><span class="w">
</span><span class="ss">language</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;zh&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7524783965-33">%{</span><span class="p" data-group-id="7524783965-33">}</span><span class="p">,</span><span class="w">
</span><span class="ss">private_use</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7524783965-34">[</span><span class="p" data-group-id="7524783965-34">]</span><span class="p">,</span><span class="w">
</span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="3956293984-33">%{</span><span class="p" data-group-id="3956293984-33">}</span><span class="p">,</span><span class="w">
</span><span class="ss">private_use</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="3956293984-34">[</span><span class="p" data-group-id="3956293984-34">]</span><span class="p">,</span><span class="w">
</span><span class="ss">rbnf_locale_name</span><span class="p">:</span><span class="w"> </span><span class="ss">:&quot;zh-Hant&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">requested_locale_name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;zh-TW&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">script</span><span class="p">:</span><span class="w"> </span><span class="ss">:Hant</span><span class="p">,</span><span class="w">
</span><span class="ss">territory</span><span class="p">:</span><span class="w"> </span><span class="ss">:TW</span><span class="p">,</span><span class="w">
</span><span class="ss">transform</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7524783965-35">%{</span><span class="p" data-group-id="7524783965-35">}</span><span class="p">,</span><span class="w">
</span><span class="ss">language_variants</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7524783965-36">[</span><span class="p" data-group-id="7524783965-36">]</span><span class="w">
</span><span class="p" data-group-id="7524783965-30">}</span><span class="p" data-group-id="7524783965-29">}</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="7524783965-37">{</span><span class="ss">:error</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="7524783965-38">{</span><span class="nc">Cldr.LanguageTag.ParseError</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;Expected a BCP47 language tag. Could not parse the remaining </span><span class="se">\&quot;</span><span class="s">g</span><span class="se">\&quot;</span><span class="s"> starting at position 11&quot;</span><span class="p" data-group-id="7524783965-38">}</span><span class="p" data-group-id="7524783965-37">}</span><span class="w">
</span><span class="p" data-group-id="7524783965-20">]</span></code></pre>
</span><span class="ss">transform</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="3956293984-35">%{</span><span class="p" data-group-id="3956293984-35">}</span><span class="p">,</span><span class="w">
</span><span class="ss">language_variants</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="3956293984-36">[</span><span class="p" data-group-id="3956293984-36">]</span><span class="w">
</span><span class="p" data-group-id="3956293984-30">}</span><span class="p" data-group-id="3956293984-29">}</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="3956293984-37">{</span><span class="ss">:error</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="3956293984-38">{</span><span class="nc">Cldr.LanguageTag.ParseError</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;Expected a BCP47 language tag. Could not parse the remaining </span><span class="se">\&quot;</span><span class="s">g</span><span class="se">\&quot;</span><span class="s"> starting at position 11&quot;</span><span class="p" data-group-id="3956293984-38">}</span><span class="p" data-group-id="3956293984-37">}</span><span class="w">
</span><span class="p" data-group-id="3956293984-20">]</span></code></pre>
</section>
</section>

View File

@ -419,11 +419,11 @@ The default is <code class="inline">:all</code>. See <a href="https://hexdocs.pm
</h2>
<p> MyApp.Cldr.Currency.currencies_for_locale(&quot;en&quot;)
=&gt; {:ok,
%{</p><pre><code class="makeup elixir" translate="no"><span class="w"> </span><span class="ss">FJD</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="1487567955-1">%</span><span class="nc" data-group-id="1487567955-1">Cldr.Currency</span><span class="p" data-group-id="1487567955-1">{</span><span class="w">
%{</p><pre><code class="makeup elixir" translate="no"><span class="w"> </span><span class="ss">FJD</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="6302644359-1">%</span><span class="nc" data-group-id="6302644359-1">Cldr.Currency</span><span class="p" data-group-id="6302644359-1">{</span><span class="w">
</span><span class="ss">cash_digits</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
</span><span class="ss">cash_rounding</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="ss">code</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;FJD&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">count</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="1487567955-2">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;Fijian dollar&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;Fijian dollars&quot;</span><span class="p" data-group-id="1487567955-2">}</span><span class="p">,</span><span class="w">
</span><span class="ss">count</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="6302644359-2">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;Fijian dollar&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;Fijian dollars&quot;</span><span class="p" data-group-id="6302644359-2">}</span><span class="p">,</span><span class="w">
</span><span class="ss">digits</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
</span><span class="ss">from</span><span class="p">:</span><span class="w"> </span><span class="no">nil</span><span class="p">,</span><span class="w">
</span><span class="ss">iso_digits</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
@ -433,12 +433,12 @@ The default is <code class="inline">:all</code>. See <a href="https://hexdocs.pm
</span><span class="ss">symbol</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;FJD&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">tender</span><span class="p">:</span><span class="w"> </span><span class="no">true</span><span class="p">,</span><span class="w">
</span><span class="ss">to</span><span class="p">:</span><span class="w"> </span><span class="no">nil</span><span class="w">
</span><span class="p" data-group-id="1487567955-1">}</span><span class="p">,</span><span class="w">
</span><span class="ss">SUR</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="1487567955-3">%</span><span class="nc" data-group-id="1487567955-3">Cldr.Currency</span><span class="p" data-group-id="1487567955-3">{</span><span class="w">
</span><span class="p" data-group-id="6302644359-1">}</span><span class="p">,</span><span class="w">
</span><span class="ss">SUR</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="6302644359-3">%</span><span class="nc" data-group-id="6302644359-3">Cldr.Currency</span><span class="p" data-group-id="6302644359-3">{</span><span class="w">
</span><span class="ss">cash_digits</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
</span><span class="ss">cash_rounding</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="ss">code</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;SUR&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">count</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="1487567955-4">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;Soviet rouble&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;Soviet roubles&quot;</span><span class="p" data-group-id="1487567955-4">}</span><span class="p">,</span><span class="w">
</span><span class="ss">count</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="6302644359-4">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;Soviet rouble&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;Soviet roubles&quot;</span><span class="p" data-group-id="6302644359-4">}</span><span class="p">,</span><span class="w">
</span><span class="ss">digits</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
</span><span class="ss">from</span><span class="p">:</span><span class="w"> </span><span class="no">nil</span><span class="p">,</span><span class="w">
</span><span class="ss">iso_digits</span><span class="p">:</span><span class="w"> </span><span class="no">nil</span><span class="p">,</span><span class="w">
@ -448,7 +448,7 @@ The default is <code class="inline">:all</code>. See <a href="https://hexdocs.pm
</span><span class="ss">symbol</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;SUR&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">tender</span><span class="p">:</span><span class="w"> </span><span class="no">true</span><span class="p">,</span><span class="w">
</span><span class="ss">to</span><span class="p">:</span><span class="w"> </span><span class="no">nil</span><span class="w">
</span><span class="p" data-group-id="1487567955-3">}</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="6302644359-3">}</span><span class="p">,</span><span class="w">
</span><span class="n">...</span><span class="w">
</span><span class="err">}</span><span class="err">}</span></code></pre>
</section>
@ -499,11 +499,11 @@ The default is <code class="inline">:all</code>. See <a href="https://hexdocs.pm
<span class="text">Example</span>
</h2>
<p> MyApp.Cldr.Currency.currencies_for_locale!(&quot;en&quot;)
=&gt; %{</p><pre><code class="makeup elixir" translate="no"><span class="ss">FJD</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="2793307258-1">%</span><span class="nc" data-group-id="2793307258-1">Cldr.Currency</span><span class="p" data-group-id="2793307258-1">{</span><span class="w">
=&gt; %{</p><pre><code class="makeup elixir" translate="no"><span class="ss">FJD</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="1800227412-1">%</span><span class="nc" data-group-id="1800227412-1">Cldr.Currency</span><span class="p" data-group-id="1800227412-1">{</span><span class="w">
</span><span class="ss">cash_digits</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
</span><span class="ss">cash_rounding</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="ss">code</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;FJD&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">count</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="2793307258-2">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;Fijian dollar&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;Fijian dollars&quot;</span><span class="p" data-group-id="2793307258-2">}</span><span class="p">,</span><span class="w">
</span><span class="ss">count</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="1800227412-2">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;Fijian dollar&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;Fijian dollars&quot;</span><span class="p" data-group-id="1800227412-2">}</span><span class="p">,</span><span class="w">
</span><span class="ss">digits</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
</span><span class="ss">from</span><span class="p">:</span><span class="w"> </span><span class="no">nil</span><span class="p">,</span><span class="w">
</span><span class="ss">iso_digits</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
@ -513,12 +513,12 @@ The default is <code class="inline">:all</code>. See <a href="https://hexdocs.pm
</span><span class="ss">symbol</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;FJD&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">tender</span><span class="p">:</span><span class="w"> </span><span class="no">true</span><span class="p">,</span><span class="w">
</span><span class="ss">to</span><span class="p">:</span><span class="w"> </span><span class="no">nil</span><span class="w">
</span><span class="p" data-group-id="2793307258-1">}</span><span class="p">,</span><span class="w">
</span><span class="ss">SUR</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="2793307258-3">%</span><span class="nc" data-group-id="2793307258-3">Cldr.Currency</span><span class="p" data-group-id="2793307258-3">{</span><span class="w">
</span><span class="p" data-group-id="1800227412-1">}</span><span class="p">,</span><span class="w">
</span><span class="ss">SUR</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="1800227412-3">%</span><span class="nc" data-group-id="1800227412-3">Cldr.Currency</span><span class="p" data-group-id="1800227412-3">{</span><span class="w">
</span><span class="ss">cash_digits</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
</span><span class="ss">cash_rounding</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="ss">code</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;SUR&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">count</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="2793307258-4">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;Soviet rouble&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;Soviet roubles&quot;</span><span class="p" data-group-id="2793307258-4">}</span><span class="p">,</span><span class="w">
</span><span class="ss">count</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="1800227412-4">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;Soviet rouble&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;Soviet roubles&quot;</span><span class="p" data-group-id="1800227412-4">}</span><span class="p">,</span><span class="w">
</span><span class="ss">digits</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
</span><span class="ss">from</span><span class="p">:</span><span class="w"> </span><span class="no">nil</span><span class="p">,</span><span class="w">
</span><span class="ss">iso_digits</span><span class="p">:</span><span class="w"> </span><span class="no">nil</span><span class="p">,</span><span class="w">
@ -528,7 +528,7 @@ The default is <code class="inline">:all</code>. See <a href="https://hexdocs.pm
</span><span class="ss">symbol</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;SUR&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">tender</span><span class="p">:</span><span class="w"> </span><span class="no">true</span><span class="p">,</span><span class="w">
</span><span class="ss">to</span><span class="p">:</span><span class="w"> </span><span class="no">nil</span><span class="w">
</span><span class="p" data-group-id="2793307258-3">}</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="1800227412-3">}</span><span class="p">,</span><span class="w">
</span><span class="n">...</span></code></pre><p> }</p>
</section>
</section>
@ -586,13 +586,13 @@ or a <a href="https://hexdocs.pm/ex_cldr/2.37.5/Cldr.LanguageTag.html"><code cla
</a>
<span class="text">Examples</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Currency</span><span class="o">.</span><span class="n">currency_for_code</span><span class="p" data-group-id="4056705173-1">(</span><span class="s">&quot;AUD&quot;</span><span class="p" data-group-id="4056705173-1">)</span><span class="w">
</span><span class="p" data-group-id="4056705173-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="4056705173-3">%</span><span class="nc" data-group-id="4056705173-3">Cldr.Currency</span><span class="p" data-group-id="4056705173-3">{</span><span class="w">
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Currency</span><span class="o">.</span><span class="n">currency_for_code</span><span class="p" data-group-id="0069550651-1">(</span><span class="s">&quot;AUD&quot;</span><span class="p" data-group-id="0069550651-1">)</span><span class="w">
</span><span class="p" data-group-id="0069550651-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="0069550651-3">%</span><span class="nc" data-group-id="0069550651-3">Cldr.Currency</span><span class="p" data-group-id="0069550651-3">{</span><span class="w">
</span><span class="ss">cash_digits</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
</span><span class="ss">cash_rounding</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="ss">code</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;AUD&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">count</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4056705173-4">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;Australian dollar&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;Australian dollars&quot;</span><span class="p" data-group-id="4056705173-4">}</span><span class="p">,</span><span class="w">
</span><span class="ss">count</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="0069550651-4">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;Australian dollar&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;Australian dollars&quot;</span><span class="p" data-group-id="0069550651-4">}</span><span class="p">,</span><span class="w">
</span><span class="ss">digits</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
</span><span class="ss">iso_digits</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
</span><span class="ss">name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;Australian Dollar&quot;</span><span class="p">,</span><span class="w">
@ -600,15 +600,15 @@ or a <a href="https://hexdocs.pm/ex_cldr/2.37.5/Cldr.LanguageTag.html"><code cla
</span><span class="ss">rounding</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="ss">symbol</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;A$&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">tender</span><span class="p">:</span><span class="w"> </span><span class="no">true</span><span class="w">
</span><span class="p" data-group-id="4056705173-3">}</span><span class="p" data-group-id="4056705173-2">}</span><span class="w">
</span><span class="p" data-group-id="0069550651-3">}</span><span class="p" data-group-id="0069550651-2">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Currency</span><span class="o">.</span><span class="n">currency_for_code</span><span class="p" data-group-id="4056705173-5">(</span><span class="s">&quot;THB&quot;</span><span class="p" data-group-id="4056705173-5">)</span><span class="w">
</span><span class="p" data-group-id="4056705173-6">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="4056705173-7">%</span><span class="nc" data-group-id="4056705173-7">Cldr.Currency</span><span class="p" data-group-id="4056705173-7">{</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Currency</span><span class="o">.</span><span class="n">currency_for_code</span><span class="p" data-group-id="0069550651-5">(</span><span class="s">&quot;THB&quot;</span><span class="p" data-group-id="0069550651-5">)</span><span class="w">
</span><span class="p" data-group-id="0069550651-6">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="0069550651-7">%</span><span class="nc" data-group-id="0069550651-7">Cldr.Currency</span><span class="p" data-group-id="0069550651-7">{</span><span class="w">
</span><span class="ss">cash_digits</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
</span><span class="ss">cash_rounding</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="ss">code</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;THB&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">count</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4056705173-8">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;Thai baht&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;Thai baht&quot;</span><span class="p" data-group-id="4056705173-8">}</span><span class="p">,</span><span class="w">
</span><span class="ss">count</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="0069550651-8">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;Thai baht&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;Thai baht&quot;</span><span class="p" data-group-id="0069550651-8">}</span><span class="p">,</span><span class="w">
</span><span class="ss">digits</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
</span><span class="ss">iso_digits</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
</span><span class="ss">name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;Thai Baht&quot;</span><span class="p">,</span><span class="w">
@ -616,7 +616,7 @@ or a <a href="https://hexdocs.pm/ex_cldr/2.37.5/Cldr.LanguageTag.html"><code cla
</span><span class="ss">rounding</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="ss">symbol</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;THB&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">tender</span><span class="p">:</span><span class="w"> </span><span class="no">true</span><span class="w">
</span><span class="p" data-group-id="4056705173-7">}</span><span class="p" data-group-id="4056705173-6">}</span></code></pre>
</span><span class="p" data-group-id="0069550651-7">}</span><span class="p" data-group-id="0069550651-6">}</span></code></pre>
</section>
</section>
<section class="detail" id="currency_for_code!/2">
@ -675,12 +675,12 @@ or a <a href="https://hexdocs.pm/ex_cldr/2.37.5/Cldr.LanguageTag.html"><code cla
</a>
<span class="text">Examples</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Currency</span><span class="o">.</span><span class="n">currency_for_code!</span><span class="p" data-group-id="0948356779-1">(</span><span class="s">&quot;AUD&quot;</span><span class="p" data-group-id="0948356779-1">)</span><span class="w">
</span><span class="p" data-group-id="0948356779-2">%</span><span class="nc" data-group-id="0948356779-2">Cldr.Currency</span><span class="p" data-group-id="0948356779-2">{</span><span class="w">
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Currency</span><span class="o">.</span><span class="n">currency_for_code!</span><span class="p" data-group-id="2675961044-1">(</span><span class="s">&quot;AUD&quot;</span><span class="p" data-group-id="2675961044-1">)</span><span class="w">
</span><span class="p" data-group-id="2675961044-2">%</span><span class="nc" data-group-id="2675961044-2">Cldr.Currency</span><span class="p" data-group-id="2675961044-2">{</span><span class="w">
</span><span class="ss">cash_digits</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
</span><span class="ss">cash_rounding</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="ss">code</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;AUD&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">count</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="0948356779-3">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;Australian dollar&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;Australian dollars&quot;</span><span class="p" data-group-id="0948356779-3">}</span><span class="p">,</span><span class="w">
</span><span class="ss">count</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="2675961044-3">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;Australian dollar&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;Australian dollars&quot;</span><span class="p" data-group-id="2675961044-3">}</span><span class="p">,</span><span class="w">
</span><span class="ss">digits</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
</span><span class="ss">iso_digits</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
</span><span class="ss">name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;Australian Dollar&quot;</span><span class="p">,</span><span class="w">
@ -688,14 +688,14 @@ or a <a href="https://hexdocs.pm/ex_cldr/2.37.5/Cldr.LanguageTag.html"><code cla
</span><span class="ss">rounding</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="ss">symbol</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;A$&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">tender</span><span class="p">:</span><span class="w"> </span><span class="no">true</span><span class="w">
</span><span class="p" data-group-id="0948356779-2">}</span><span class="w">
</span><span class="p" data-group-id="2675961044-2">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Currency</span><span class="o">.</span><span class="n">currency_for_code!</span><span class="p" data-group-id="0948356779-4">(</span><span class="s">&quot;THB&quot;</span><span class="p" data-group-id="0948356779-4">)</span><span class="w">
</span><span class="p" data-group-id="0948356779-5">%</span><span class="nc" data-group-id="0948356779-5">Cldr.Currency</span><span class="p" data-group-id="0948356779-5">{</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Currency</span><span class="o">.</span><span class="n">currency_for_code!</span><span class="p" data-group-id="2675961044-4">(</span><span class="s">&quot;THB&quot;</span><span class="p" data-group-id="2675961044-4">)</span><span class="w">
</span><span class="p" data-group-id="2675961044-5">%</span><span class="nc" data-group-id="2675961044-5">Cldr.Currency</span><span class="p" data-group-id="2675961044-5">{</span><span class="w">
</span><span class="ss">cash_digits</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
</span><span class="ss">cash_rounding</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="ss">code</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;THB&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">count</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="0948356779-6">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;Thai baht&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;Thai baht&quot;</span><span class="p" data-group-id="0948356779-6">}</span><span class="p">,</span><span class="w">
</span><span class="ss">count</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="2675961044-6">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;Thai baht&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;Thai baht&quot;</span><span class="p" data-group-id="2675961044-6">}</span><span class="p">,</span><span class="w">
</span><span class="ss">digits</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
</span><span class="ss">iso_digits</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
</span><span class="ss">name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;Thai Baht&quot;</span><span class="p">,</span><span class="w">
@ -703,7 +703,7 @@ or a <a href="https://hexdocs.pm/ex_cldr/2.37.5/Cldr.LanguageTag.html"><code cla
</span><span class="ss">rounding</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="ss">symbol</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;THB&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">tender</span><span class="p">:</span><span class="w"> </span><span class="no">true</span><span class="w">
</span><span class="p" data-group-id="0948356779-5">}</span></code></pre>
</span><span class="p" data-group-id="2675961044-5">}</span></code></pre>
</section>
</section>
<section class="detail" id="currency_from_locale/1">
@ -744,15 +744,15 @@ or a <a href="https://hexdocs.pm/ex_cldr/2.37.5/Cldr.LanguageTag.html"><code cla
</a>
<span class="text">Examples</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="p" data-group-id="3650989565-1">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="n">locale</span><span class="p" data-group-id="3650989565-1">}</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">validate_locale</span><span class="p" data-group-id="3650989565-2">(</span><span class="s">&quot;en&quot;</span><span class="p" data-group-id="3650989565-2">)</span><span class="w">
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="p" data-group-id="8648864506-1">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="n">locale</span><span class="p" data-group-id="8648864506-1">}</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">validate_locale</span><span class="p" data-group-id="8648864506-2">(</span><span class="s">&quot;en&quot;</span><span class="p" data-group-id="8648864506-2">)</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Currency</span><span class="o">.</span><span class="n">currency_from_locale</span><span class="w"> </span><span class="n">locale</span><span class="w">
</span><span class="ss">:USD</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="p" data-group-id="3650989565-3">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="n">locale</span><span class="p" data-group-id="3650989565-3">}</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">validate_locale</span><span class="p" data-group-id="3650989565-4">(</span><span class="s">&quot;en-AU&quot;</span><span class="p" data-group-id="3650989565-4">)</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="p" data-group-id="8648864506-3">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="n">locale</span><span class="p" data-group-id="8648864506-3">}</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">validate_locale</span><span class="p" data-group-id="8648864506-4">(</span><span class="s">&quot;en-AU&quot;</span><span class="p" data-group-id="8648864506-4">)</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Currency</span><span class="o">.</span><span class="n">currency_from_locale</span><span class="w"> </span><span class="n">locale</span><span class="w">
</span><span class="ss">:AUD</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Currency</span><span class="o">.</span><span class="n">currency_from_locale</span><span class="p" data-group-id="3650989565-5">(</span><span class="s">&quot;en-GB&quot;</span><span class="p" data-group-id="3650989565-5">)</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Currency</span><span class="o">.</span><span class="n">currency_from_locale</span><span class="p" data-group-id="8648864506-5">(</span><span class="s">&quot;en-GB&quot;</span><span class="p" data-group-id="8648864506-5">)</span><span class="w">
</span><span class="ss">:GBP</span></code></pre>
</section>
</section>
@ -796,14 +796,14 @@ or a <a href="https://hexdocs.pm/ex_cldr/2.37.5/Cldr.LanguageTag.html"><code cla
</a>
<span class="text">Example</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">MyApp.Cldr.Currency</span><span class="o">.</span><span class="n">currency_history_for_locale</span><span class="p" data-group-id="6374493940-1">(</span><span class="s">&quot;en&quot;</span><span class="p" data-group-id="6374493940-1">)</span><span class="w">
</span><span class="p" data-group-id="6374493940-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="6374493940-3">%{</span><span class="w">
</span><span class="ss">USD</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="6374493940-4">%{</span><span class="ss">from</span><span class="p">:</span><span class="w"> </span><span class="ld">~D[1792-01-01]</span><span class="p">,</span><span class="w"> </span><span class="ss">to</span><span class="p">:</span><span class="w"> </span><span class="no">nil</span><span class="p" data-group-id="6374493940-4">}</span><span class="p">,</span><span class="w">
</span><span class="ss">USN</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="6374493940-5">%{</span><span class="ss">tender</span><span class="p">:</span><span class="w"> </span><span class="no">false</span><span class="p" data-group-id="6374493940-5">}</span><span class="p">,</span><span class="w">
</span><span class="ss">USS</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="6374493940-6">%{</span><span class="ss">from</span><span class="p">:</span><span class="w"> </span><span class="no">nil</span><span class="p">,</span><span class="w"> </span><span class="ss">tender</span><span class="p">:</span><span class="w"> </span><span class="no">false</span><span class="p">,</span><span class="w"> </span><span class="ss">to</span><span class="p">:</span><span class="w"> </span><span class="ld">~D[2014-03-01]</span><span class="p" data-group-id="6374493940-6">}</span><span class="w">
</span><span class="p" data-group-id="6374493940-3">}</span><span class="w">
</span><span class="p" data-group-id="6374493940-2">}</span></code></pre>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">MyApp.Cldr.Currency</span><span class="o">.</span><span class="n">currency_history_for_locale</span><span class="p" data-group-id="7463299813-1">(</span><span class="s">&quot;en&quot;</span><span class="p" data-group-id="7463299813-1">)</span><span class="w">
</span><span class="p" data-group-id="7463299813-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="7463299813-3">%{</span><span class="w">
</span><span class="ss">USD</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7463299813-4">%{</span><span class="ss">from</span><span class="p">:</span><span class="w"> </span><span class="ld">~D[1792-01-01]</span><span class="p">,</span><span class="w"> </span><span class="ss">to</span><span class="p">:</span><span class="w"> </span><span class="no">nil</span><span class="p" data-group-id="7463299813-4">}</span><span class="p">,</span><span class="w">
</span><span class="ss">USN</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7463299813-5">%{</span><span class="ss">tender</span><span class="p">:</span><span class="w"> </span><span class="no">false</span><span class="p" data-group-id="7463299813-5">}</span><span class="p">,</span><span class="w">
</span><span class="ss">USS</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7463299813-6">%{</span><span class="ss">from</span><span class="p">:</span><span class="w"> </span><span class="no">nil</span><span class="p">,</span><span class="w"> </span><span class="ss">tender</span><span class="p">:</span><span class="w"> </span><span class="no">false</span><span class="p">,</span><span class="w"> </span><span class="ss">to</span><span class="p">:</span><span class="w"> </span><span class="ld">~D[2014-03-01]</span><span class="p" data-group-id="7463299813-6">}</span><span class="w">
</span><span class="p" data-group-id="7463299813-3">}</span><span class="w">
</span><span class="p" data-group-id="7463299813-2">}</span></code></pre>
</section>
</section>
<section class="detail" id="currency_strings/3">
@ -862,9 +862,9 @@ The default is <code class="inline">:all</code>. See <a href="https://hexdocs.pm
</a>
<span class="text">Example</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="nc">MyApp.Cldr.Currency</span><span class="o">.</span><span class="n">currency_strings</span><span class="p" data-group-id="0726985488-1">(</span><span class="s">&quot;en&quot;</span><span class="p" data-group-id="0726985488-1">)</span><span class="w">
</span><span class="p">=&gt;</span><span class="w"> </span><span class="p" data-group-id="0726985488-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="0726985488-3">%{</span><span class="w">
<pre><code class="makeup elixir" translate="no"><span class="nc">MyApp.Cldr.Currency</span><span class="o">.</span><span class="n">currency_strings</span><span class="p" data-group-id="7207967126-1">(</span><span class="s">&quot;en&quot;</span><span class="p" data-group-id="7207967126-1">)</span><span class="w">
</span><span class="p">=&gt;</span><span class="w"> </span><span class="p" data-group-id="7207967126-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="7207967126-3">%{</span><span class="w">
</span><span class="s">&quot;mexican silver pesos&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="ss">:MXP</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;sudanese dinar&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="ss">:SDD</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;bad&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="ss">:BAD</span><span class="p">,</span><span class="w">
@ -874,7 +874,7 @@ The default is <code class="inline">:all</code>. See <a href="https://hexdocs.pm
</span><span class="s">&quot;guyanaese dollars&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="ss">:GYD</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;equatorial guinean ekwele&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="ss">:GQE</span><span class="p">,</span><span class="w">
</span><span class="n">...</span><span class="w">
</span><span class="p" data-group-id="0726985488-3">}</span><span class="p" data-group-id="0726985488-2">}</span></code></pre>
</span><span class="p" data-group-id="7207967126-3">}</span><span class="p" data-group-id="7207967126-2">}</span></code></pre>
</section>
</section>
<section class="detail" id="currency_strings!/3">
@ -933,8 +933,8 @@ The default is <code class="inline">:all</code>. See <a href="https://hexdocs.pm
</a>
<span class="text">Example</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="nc">MyApp.Cldr.Currency</span><span class="o">.</span><span class="n">currency_strings!</span><span class="p" data-group-id="2974966442-1">(</span><span class="s">&quot;en&quot;</span><span class="p" data-group-id="2974966442-1">)</span><span class="w">
</span><span class="p">=&gt;</span><span class="w"> </span><span class="p" data-group-id="2974966442-2">%{</span><span class="w">
<pre><code class="makeup elixir" translate="no"><span class="nc">MyApp.Cldr.Currency</span><span class="o">.</span><span class="n">currency_strings!</span><span class="p" data-group-id="1388925372-1">(</span><span class="s">&quot;en&quot;</span><span class="p" data-group-id="1388925372-1">)</span><span class="w">
</span><span class="p">=&gt;</span><span class="w"> </span><span class="p" data-group-id="1388925372-2">%{</span><span class="w">
</span><span class="s">&quot;mexican silver pesos&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="ss">:MXP</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;sudanese dinar&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="ss">:SDD</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;bad&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="ss">:BAD</span><span class="p">,</span><span class="w">
@ -944,7 +944,7 @@ The default is <code class="inline">:all</code>. See <a href="https://hexdocs.pm
</span><span class="s">&quot;guyanaese dollars&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="ss">:GYD</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;equatorial guinean ekwele&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="ss">:GQE</span><span class="p">,</span><span class="w">
</span><span class="n">...</span><span class="w">
</span><span class="p" data-group-id="2974966442-2">}</span></code></pre>
</span><span class="p" data-group-id="1388925372-2">}</span></code></pre>
</section>
</section>
<section class="detail" id="current_currency_from_locale/1">
@ -982,10 +982,10 @@ or a <a href="https://hexdocs.pm/ex_cldr/2.37.5/Cldr.LanguageTag.html"><code cla
</a>
<span class="text">Example</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">MyApp.Cldr.Currency</span><span class="o">.</span><span class="n">current_currency_from_locale</span><span class="p" data-group-id="1248906335-1">(</span><span class="s">&quot;en&quot;</span><span class="p" data-group-id="1248906335-1">)</span><span class="w">
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">MyApp.Cldr.Currency</span><span class="o">.</span><span class="n">current_currency_from_locale</span><span class="p" data-group-id="3621593108-1">(</span><span class="s">&quot;en&quot;</span><span class="p" data-group-id="3621593108-1">)</span><span class="w">
</span><span class="ss">:USD</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">MyApp.Cldr.Currency</span><span class="o">.</span><span class="n">current_currency_from_locale</span><span class="p" data-group-id="1248906335-2">(</span><span class="s">&quot;en-AU&quot;</span><span class="p" data-group-id="1248906335-2">)</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">MyApp.Cldr.Currency</span><span class="o">.</span><span class="n">current_currency_from_locale</span><span class="p" data-group-id="3621593108-2">(</span><span class="s">&quot;en-AU&quot;</span><span class="p" data-group-id="3621593108-2">)</span><span class="w">
</span><span class="ss">:AUD</span></code></pre>
</section>
</section>
@ -1033,7 +1033,7 @@ mapping is returned for that territory.</p><h2 id="current_territory_currencies/
</a>
<span class="text">Example</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Currency</span><span class="o">.</span><span class="n">current_territory_currencies</span><span class="p" data-group-id="8797746945-1">(</span><span class="p" data-group-id="8797746945-1">)</span></code></pre>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Currency</span><span class="o">.</span><span class="n">current_territory_currencies</span><span class="p" data-group-id="8043133196-1">(</span><span class="p" data-group-id="8043133196-1">)</span></code></pre>
</section>
</section>
<section class="detail" id="known_currencies/0">
@ -1125,11 +1125,11 @@ currency code</li></ul><h2 id="known_currency_code/1-returns" class="section-hea
</a>
<span class="text">Examples</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Currency</span><span class="o">.</span><span class="n">known_currency_code</span><span class="p" data-group-id="1946731966-1">(</span><span class="s">&quot;AUD&quot;</span><span class="p" data-group-id="1946731966-1">)</span><span class="w">
</span><span class="p" data-group-id="1946731966-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="ss">:AUD</span><span class="p" data-group-id="1946731966-2">}</span><span class="w">
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Currency</span><span class="o">.</span><span class="n">known_currency_code</span><span class="p" data-group-id="0317356752-1">(</span><span class="s">&quot;AUD&quot;</span><span class="p" data-group-id="0317356752-1">)</span><span class="w">
</span><span class="p" data-group-id="0317356752-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="ss">:AUD</span><span class="p" data-group-id="0317356752-2">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Currency</span><span class="o">.</span><span class="n">known_currency_code</span><span class="p" data-group-id="1946731966-3">(</span><span class="s">&quot;GGG&quot;</span><span class="p" data-group-id="1946731966-3">)</span><span class="w">
</span><span class="p" data-group-id="1946731966-4">{</span><span class="ss">:error</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="1946731966-5">{</span><span class="nc">Cldr.UnknownCurrencyError</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;The currency </span><span class="se">\&quot;</span><span class="s">GGG</span><span class="se">\&quot;</span><span class="s"> is invalid&quot;</span><span class="p" data-group-id="1946731966-5">}</span><span class="p" data-group-id="1946731966-4">}</span></code></pre>
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Currency</span><span class="o">.</span><span class="n">known_currency_code</span><span class="p" data-group-id="0317356752-3">(</span><span class="s">&quot;GGG&quot;</span><span class="p" data-group-id="0317356752-3">)</span><span class="w">
</span><span class="p" data-group-id="0317356752-4">{</span><span class="ss">:error</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="0317356752-5">{</span><span class="nc">Cldr.UnknownCurrencyError</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;The currency </span><span class="se">\&quot;</span><span class="s">GGG</span><span class="se">\&quot;</span><span class="s"> is invalid&quot;</span><span class="p" data-group-id="0317356752-5">}</span><span class="p" data-group-id="0317356752-4">}</span></code></pre>
</section>
</section>
<section class="detail" id="known_currency_code?/1">
@ -1176,13 +1176,13 @@ currency code</li></ul><h2 id="known_currency_code?/1-returns" class="section-he
</a>
<span class="text">Examples</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Currency</span><span class="o">.</span><span class="n">known_currency_code?</span><span class="p" data-group-id="8081645205-1">(</span><span class="s">&quot;AUD&quot;</span><span class="p" data-group-id="8081645205-1">)</span><span class="w">
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Currency</span><span class="o">.</span><span class="n">known_currency_code?</span><span class="p" data-group-id="4131703538-1">(</span><span class="s">&quot;AUD&quot;</span><span class="p" data-group-id="4131703538-1">)</span><span class="w">
</span><span class="no">true</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Currency</span><span class="o">.</span><span class="n">known_currency_code?</span><span class="p" data-group-id="8081645205-2">(</span><span class="s">&quot;GGG&quot;</span><span class="p" data-group-id="8081645205-2">)</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Currency</span><span class="o">.</span><span class="n">known_currency_code?</span><span class="p" data-group-id="4131703538-2">(</span><span class="s">&quot;GGG&quot;</span><span class="p" data-group-id="4131703538-2">)</span><span class="w">
</span><span class="no">false</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Currency</span><span class="o">.</span><span class="n">known_currency_code?</span><span class="p" data-group-id="8081645205-3">(</span><span class="ss">:XCV</span><span class="p" data-group-id="8081645205-3">)</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Currency</span><span class="o">.</span><span class="n">known_currency_code?</span><span class="p" data-group-id="4131703538-3">(</span><span class="ss">:XCV</span><span class="p" data-group-id="4131703538-3">)</span><span class="w">
</span><span class="no">false</span></code></pre>
</section>
</section>
@ -1217,7 +1217,7 @@ currency code</li></ul><h2 id="known_currency_code?/1-returns" class="section-he
</a>
<span class="text">Example</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Currency</span><span class="o">.</span><span class="n">known_currency_codes</span><span class="p" data-group-id="9727606231-1">(</span><span class="p" data-group-id="9727606231-1">)</span></code></pre>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Currency</span><span class="o">.</span><span class="n">known_currency_codes</span><span class="p" data-group-id="6238461747-1">(</span><span class="p" data-group-id="6238461747-1">)</span></code></pre>
</section>
</section>
<section class="detail" id="new/2">
@ -1276,14 +1276,14 @@ such as <code class="inline">0.05</code>. Optional.</li></ul><h2 id="new/2-retur
</a>
<span class="text">Example</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Currency</span><span class="o">.</span><span class="n">new</span><span class="p" data-group-id="9954860559-1">(</span><span class="ss">:XAE</span><span class="p">,</span><span class="w"> </span><span class="ss">name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;Custom Name&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">digits</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p" data-group-id="9954860559-1">)</span><span class="w">
</span><span class="p" data-group-id="9954860559-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="9954860559-3">%</span><span class="nc" data-group-id="9954860559-3">Cldr.Currency</span><span class="p" data-group-id="9954860559-3">{</span><span class="w">
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Currency</span><span class="o">.</span><span class="n">new</span><span class="p" data-group-id="1401387815-1">(</span><span class="ss">:XAE</span><span class="p">,</span><span class="w"> </span><span class="ss">name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;Custom Name&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">digits</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p" data-group-id="1401387815-1">)</span><span class="w">
</span><span class="p" data-group-id="1401387815-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="1401387815-3">%</span><span class="nc" data-group-id="1401387815-3">Cldr.Currency</span><span class="p" data-group-id="1401387815-3">{</span><span class="w">
</span><span class="ss">alt_code</span><span class="p">:</span><span class="w"> </span><span class="ss">:XAE</span><span class="p">,</span><span class="w">
</span><span class="ss">cash_digits</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="ss">cash_rounding</span><span class="p">:</span><span class="w"> </span><span class="no">nil</span><span class="p">,</span><span class="w">
</span><span class="ss">code</span><span class="p">:</span><span class="w"> </span><span class="ss">:XAE</span><span class="p">,</span><span class="w">
</span><span class="ss">count</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="9954860559-4">%{</span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;Custom Name&quot;</span><span class="p" data-group-id="9954860559-4">}</span><span class="p">,</span><span class="w">
</span><span class="ss">count</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="1401387815-4">%{</span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;Custom Name&quot;</span><span class="p" data-group-id="1401387815-4">}</span><span class="p">,</span><span class="w">
</span><span class="ss">digits</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="ss">from</span><span class="p">:</span><span class="w"> </span><span class="no">nil</span><span class="p">,</span><span class="w">
</span><span class="ss">iso_digits</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
@ -1293,11 +1293,11 @@ such as <code class="inline">0.05</code>. Optional.</li></ul><h2 id="new/2-retur
</span><span class="ss">symbol</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;XAE&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">tender</span><span class="p">:</span><span class="w"> </span><span class="no">false</span><span class="p">,</span><span class="w">
</span><span class="ss">to</span><span class="p">:</span><span class="w"> </span><span class="no">nil</span><span class="w">
</span><span class="p" data-group-id="9954860559-3">}</span><span class="p" data-group-id="9954860559-2">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">MyApp.Cldr.Currency</span><span class="o">.</span><span class="n">new</span><span class="p" data-group-id="9954860559-5">(</span><span class="ss">:XAH</span><span class="p">,</span><span class="w"> </span><span class="ss">name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;Custom Name&quot;</span><span class="p" data-group-id="9954860559-5">)</span><span class="w">
</span><span class="p" data-group-id="9954860559-6">{</span><span class="ss">:error</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;Required options are missing. Required options are [:name, :digits]&quot;</span><span class="p" data-group-id="9954860559-6">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Currency</span><span class="o">.</span><span class="n">new</span><span class="p" data-group-id="9954860559-7">(</span><span class="ss">:XAE</span><span class="p">,</span><span class="w"> </span><span class="ss">name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;XAE&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">digits</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p" data-group-id="9954860559-7">)</span><span class="w">
</span><span class="p" data-group-id="9954860559-8">{</span><span class="ss">:error</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="9954860559-9">{</span><span class="nc">Cldr.CurrencyAlreadyDefined</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;Currency :XAE is already defined.&quot;</span><span class="p" data-group-id="9954860559-9">}</span><span class="p" data-group-id="9954860559-8">}</span></code></pre>
</span><span class="p" data-group-id="1401387815-3">}</span><span class="p" data-group-id="1401387815-2">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">MyApp.Cldr.Currency</span><span class="o">.</span><span class="n">new</span><span class="p" data-group-id="1401387815-5">(</span><span class="ss">:XAH</span><span class="p">,</span><span class="w"> </span><span class="ss">name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;Custom Name&quot;</span><span class="p" data-group-id="1401387815-5">)</span><span class="w">
</span><span class="p" data-group-id="1401387815-6">{</span><span class="ss">:error</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;Required options are missing. Required options are [:name, :digits]&quot;</span><span class="p" data-group-id="1401387815-6">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Currency</span><span class="o">.</span><span class="n">new</span><span class="p" data-group-id="1401387815-7">(</span><span class="ss">:XAE</span><span class="p">,</span><span class="w"> </span><span class="ss">name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;XAE&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">digits</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p" data-group-id="1401387815-7">)</span><span class="w">
</span><span class="p" data-group-id="1401387815-8">{</span><span class="ss">:error</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="1401387815-9">{</span><span class="nc">Cldr.CurrencyAlreadyDefined</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;Currency :XAE is already defined.&quot;</span><span class="p" data-group-id="1401387815-9">}</span><span class="p" data-group-id="1401387815-8">}</span></code></pre>
</section>
</section>
<section class="detail" id="pluralize/3">
@ -1355,20 +1355,20 @@ default is <a href="Plausible.Cldr.html#get_locale/0"><code class="inline">Plaus
</a>
<span class="text">Examples</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Currency</span><span class="o">.</span><span class="n">pluralize</span><span class="p" data-group-id="0376979851-1">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="ss">:USD</span><span class="p" data-group-id="0376979851-1">)</span><span class="w">
</span><span class="p" data-group-id="0376979851-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;US dollar&quot;</span><span class="p" data-group-id="0376979851-2">}</span><span class="w">
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Currency</span><span class="o">.</span><span class="n">pluralize</span><span class="p" data-group-id="8281127654-1">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="ss">:USD</span><span class="p" data-group-id="8281127654-1">)</span><span class="w">
</span><span class="p" data-group-id="8281127654-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;US dollar&quot;</span><span class="p" data-group-id="8281127654-2">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Currency</span><span class="o">.</span><span class="n">pluralize</span><span class="p" data-group-id="0376979851-3">(</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="ss">:USD</span><span class="p" data-group-id="0376979851-3">)</span><span class="w">
</span><span class="p" data-group-id="0376979851-4">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;US dollars&quot;</span><span class="p" data-group-id="0376979851-4">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Currency</span><span class="o">.</span><span class="n">pluralize</span><span class="p" data-group-id="8281127654-3">(</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="ss">:USD</span><span class="p" data-group-id="8281127654-3">)</span><span class="w">
</span><span class="p" data-group-id="8281127654-4">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;US dollars&quot;</span><span class="p" data-group-id="8281127654-4">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Currency</span><span class="o">.</span><span class="n">pluralize</span><span class="p" data-group-id="0376979851-5">(</span><span class="mi">12</span><span class="p">,</span><span class="w"> </span><span class="ss">:USD</span><span class="p">,</span><span class="w"> </span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;zh&quot;</span><span class="p" data-group-id="0376979851-5">)</span><span class="w">
</span><span class="p" data-group-id="0376979851-6">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;美元&quot;</span><span class="p" data-group-id="0376979851-6">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Currency</span><span class="o">.</span><span class="n">pluralize</span><span class="p" data-group-id="8281127654-5">(</span><span class="mi">12</span><span class="p">,</span><span class="w"> </span><span class="ss">:USD</span><span class="p">,</span><span class="w"> </span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;zh&quot;</span><span class="p" data-group-id="8281127654-5">)</span><span class="w">
</span><span class="p" data-group-id="8281127654-6">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;美元&quot;</span><span class="p" data-group-id="8281127654-6">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Currency</span><span class="o">.</span><span class="n">pluralize</span><span class="p" data-group-id="0376979851-7">(</span><span class="mi">12</span><span class="p">,</span><span class="w"> </span><span class="ss">:USD</span><span class="p">,</span><span class="w"> </span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;fr&quot;</span><span class="p" data-group-id="0376979851-7">)</span><span class="w">
</span><span class="p" data-group-id="0376979851-8">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;dollars des États-Unis&quot;</span><span class="p" data-group-id="0376979851-8">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Currency</span><span class="o">.</span><span class="n">pluralize</span><span class="p" data-group-id="8281127654-7">(</span><span class="mi">12</span><span class="p">,</span><span class="w"> </span><span class="ss">:USD</span><span class="p">,</span><span class="w"> </span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;fr&quot;</span><span class="p" data-group-id="8281127654-7">)</span><span class="w">
</span><span class="p" data-group-id="8281127654-8">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;dollars des États-Unis&quot;</span><span class="p" data-group-id="8281127654-8">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Currency</span><span class="o">.</span><span class="n">pluralize</span><span class="p" data-group-id="0376979851-9">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="ss">:USD</span><span class="p">,</span><span class="w"> </span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;fr&quot;</span><span class="p" data-group-id="0376979851-9">)</span><span class="w">
</span><span class="p" data-group-id="0376979851-10">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;dollar des États-Unis&quot;</span><span class="p" data-group-id="0376979851-10">}</span></code></pre>
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Currency</span><span class="o">.</span><span class="n">pluralize</span><span class="p" data-group-id="8281127654-9">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="ss">:USD</span><span class="p">,</span><span class="w"> </span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;fr&quot;</span><span class="p" data-group-id="8281127654-9">)</span><span class="w">
</span><span class="p" data-group-id="8281127654-10">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;dollar des États-Unis&quot;</span><span class="p" data-group-id="8281127654-10">}</span></code></pre>
</section>
</section>
<section class="detail" id="strings_for_currency/2">
@ -1410,8 +1410,8 @@ or a <a href="https://hexdocs.pm/ex_cldr/2.37.5/Cldr.LanguageTag.html"><code cla
</a>
<span class="text">Example</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">MyApp.Cldr.Currency</span><span class="o">.</span><span class="n">strings_for_currency</span><span class="p" data-group-id="3205664055-1">(</span><span class="ss">:AUD</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p" data-group-id="3205664055-1">)</span><span class="w">
</span><span class="p" data-group-id="3205664055-2">[</span><span class="s">&quot;a$&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;australian dollars&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;aud&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;australian dollar&quot;</span><span class="p" data-group-id="3205664055-2">]</span></code></pre>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">MyApp.Cldr.Currency</span><span class="o">.</span><span class="n">strings_for_currency</span><span class="p" data-group-id="2083531264-1">(</span><span class="ss">:AUD</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p" data-group-id="2083531264-1">)</span><span class="w">
</span><span class="p" data-group-id="2083531264-2">[</span><span class="s">&quot;a$&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;australian dollars&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;aud&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;australian dollar&quot;</span><span class="p" data-group-id="2083531264-2">]</span></code></pre>
</section>
</section>

View File

@ -326,16 +326,16 @@ this specific locale..</p><h2 id="fallback_locale_names/1-arguments" class="sect
</a>
<span class="text">Examples</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Locale</span><span class="o">.</span><span class="n">fallback_locale_names</span><span class="p" data-group-id="8539466617-1">(</span><span class="ss">:&quot;fr-CA&quot;</span><span class="p" data-group-id="8539466617-1">)</span><span class="w">
</span><span class="p" data-group-id="8539466617-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="8539466617-3">[</span><span class="ss">:&quot;fr-CA&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">:fr</span><span class="p">,</span><span class="w"> </span><span class="ss">:und</span><span class="p" data-group-id="8539466617-3">]</span><span class="p" data-group-id="8539466617-2">}</span><span class="w">
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Locale</span><span class="o">.</span><span class="n">fallback_locale_names</span><span class="p" data-group-id="9086137100-1">(</span><span class="ss">:&quot;fr-CA&quot;</span><span class="p" data-group-id="9086137100-1">)</span><span class="w">
</span><span class="p" data-group-id="9086137100-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="9086137100-3">[</span><span class="ss">:&quot;fr-CA&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">:fr</span><span class="p">,</span><span class="w"> </span><span class="ss">:und</span><span class="p" data-group-id="9086137100-3">]</span><span class="p" data-group-id="9086137100-2">}</span><span class="w">
</span><span class="c1"># Fallbacks are typically formed by progressively</span><span class="w">
</span><span class="c1"># stripping variant, territory and script from the</span><span class="w">
</span><span class="c1"># given locale name. But not always - there are</span><span class="w">
</span><span class="c1"># certain fallbacks that take a different path.</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Locale</span><span class="o">.</span><span class="n">fallback_locale_names</span><span class="p" data-group-id="8539466617-4">(</span><span class="ss">:nb</span><span class="p" data-group-id="8539466617-4">)</span><span class="w">
</span><span class="p" data-group-id="8539466617-5">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="8539466617-6">[</span><span class="ss">:nb</span><span class="p">,</span><span class="w"> </span><span class="ss">:no</span><span class="p">,</span><span class="w"> </span><span class="ss">:und</span><span class="p" data-group-id="8539466617-6">]</span><span class="p" data-group-id="8539466617-5">}</span></code></pre>
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Locale</span><span class="o">.</span><span class="n">fallback_locale_names</span><span class="p" data-group-id="9086137100-4">(</span><span class="ss">:nb</span><span class="p" data-group-id="9086137100-4">)</span><span class="w">
</span><span class="p" data-group-id="9086137100-5">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="9086137100-6">[</span><span class="ss">:nb</span><span class="p">,</span><span class="w"> </span><span class="ss">:no</span><span class="p">,</span><span class="w"> </span><span class="ss">:und</span><span class="p" data-group-id="9086137100-6">]</span><span class="p" data-group-id="9086137100-5">}</span></code></pre>
</section>
</section>
<section class="detail" id="fallback_locales/1">
@ -389,20 +389,20 @@ this specific locale.</p><h2 id="fallback_locales/1-arguments" class="section-he
</a>
<span class="text">Examples</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="nc">Plausible.Cldr.Locale</span><span class="o">.</span><span class="n">fallback_locales</span><span class="p" data-group-id="0868608386-1">(</span><span class="ss">:&quot;fr-CA&quot;</span><span class="p" data-group-id="0868608386-1">)</span><span class="w">
</span><span class="p">=&gt;</span><span class="w"> </span><span class="p" data-group-id="0868608386-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="0868608386-3">[</span><span class="p" data-group-id="0868608386-4">#</span><span class="nc" data-group-id="0868608386-4">Cldr.LanguageTag</span><span class="p" data-group-id="0868608386-4">&lt;</span><span class="n">fr</span><span class="o">-</span><span class="nc">CA</span><span class="w"> </span><span class="p" data-group-id="0868608386-5">[</span><span class="n">validated</span><span class="p" data-group-id="0868608386-5">]</span><span class="p" data-group-id="0868608386-4">&gt;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="0868608386-6">#</span><span class="nc" data-group-id="0868608386-6">Cldr.LanguageTag</span><span class="p" data-group-id="0868608386-6">&lt;</span><span class="n">fr</span><span class="w"> </span><span class="p" data-group-id="0868608386-7">[</span><span class="n">validated</span><span class="p" data-group-id="0868608386-7">]</span><span class="p" data-group-id="0868608386-6">&gt;</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="0868608386-8">#</span><span class="nc" data-group-id="0868608386-8">Cldr.LanguageTag</span><span class="p" data-group-id="0868608386-8">&lt;</span><span class="n">und</span><span class="w"> </span><span class="p" data-group-id="0868608386-9">[</span><span class="n">validated</span><span class="p" data-group-id="0868608386-9">]</span><span class="p" data-group-id="0868608386-8">&gt;</span><span class="p" data-group-id="0868608386-3">]</span><span class="p" data-group-id="0868608386-2">}</span><span class="w">
<pre><code class="makeup elixir" translate="no"><span class="nc">Plausible.Cldr.Locale</span><span class="o">.</span><span class="n">fallback_locales</span><span class="p" data-group-id="5423827076-1">(</span><span class="ss">:&quot;fr-CA&quot;</span><span class="p" data-group-id="5423827076-1">)</span><span class="w">
</span><span class="p">=&gt;</span><span class="w"> </span><span class="p" data-group-id="5423827076-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="5423827076-3">[</span><span class="p" data-group-id="5423827076-4">#</span><span class="nc" data-group-id="5423827076-4">Cldr.LanguageTag</span><span class="p" data-group-id="5423827076-4">&lt;</span><span class="n">fr</span><span class="o">-</span><span class="nc">CA</span><span class="w"> </span><span class="p" data-group-id="5423827076-5">[</span><span class="n">validated</span><span class="p" data-group-id="5423827076-5">]</span><span class="p" data-group-id="5423827076-4">&gt;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="5423827076-6">#</span><span class="nc" data-group-id="5423827076-6">Cldr.LanguageTag</span><span class="p" data-group-id="5423827076-6">&lt;</span><span class="n">fr</span><span class="w"> </span><span class="p" data-group-id="5423827076-7">[</span><span class="n">validated</span><span class="p" data-group-id="5423827076-7">]</span><span class="p" data-group-id="5423827076-6">&gt;</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="5423827076-8">#</span><span class="nc" data-group-id="5423827076-8">Cldr.LanguageTag</span><span class="p" data-group-id="5423827076-8">&lt;</span><span class="n">und</span><span class="w"> </span><span class="p" data-group-id="5423827076-9">[</span><span class="n">validated</span><span class="p" data-group-id="5423827076-9">]</span><span class="p" data-group-id="5423827076-8">&gt;</span><span class="p" data-group-id="5423827076-3">]</span><span class="p" data-group-id="5423827076-2">}</span><span class="w">
</span><span class="c1"># Fallbacks are typically formed by progressively</span><span class="w">
</span><span class="c1"># stripping variant, territory and script from the</span><span class="w">
</span><span class="c1"># given locale name. But not always - there are</span><span class="w">
</span><span class="c1"># certain fallbacks that take a different path.</span><span class="w">
</span><span class="nc">Plausible.Cldr.Locale</span><span class="o">.</span><span class="n">fallback_locales</span><span class="p" data-group-id="0868608386-10">(</span><span class="ss">:nb</span><span class="p" data-group-id="0868608386-10">)</span><span class="p">)</span><span class="w">
</span><span class="p">=&gt;</span><span class="w"> </span><span class="p" data-group-id="0868608386-11">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="0868608386-12">[</span><span class="p" data-group-id="0868608386-13">#</span><span class="nc" data-group-id="0868608386-13">Cldr.LanguageTag</span><span class="p" data-group-id="0868608386-13">&lt;</span><span class="n">nb</span><span class="w"> </span><span class="p" data-group-id="0868608386-14">[</span><span class="n">validated</span><span class="p" data-group-id="0868608386-14">]</span><span class="p" data-group-id="0868608386-13">&gt;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="0868608386-15">#</span><span class="nc" data-group-id="0868608386-15">Cldr.LanguageTag</span><span class="p" data-group-id="0868608386-15">&lt;</span><span class="n">no</span><span class="w"> </span><span class="p" data-group-id="0868608386-16">[</span><span class="n">validated</span><span class="p" data-group-id="0868608386-16">]</span><span class="p" data-group-id="0868608386-15">&gt;</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="0868608386-17">#</span><span class="nc" data-group-id="0868608386-17">Cldr.LanguageTag</span><span class="p" data-group-id="0868608386-17">&lt;</span><span class="n">und</span><span class="w"> </span><span class="p" data-group-id="0868608386-18">[</span><span class="n">validated</span><span class="p" data-group-id="0868608386-18">]</span><span class="p" data-group-id="0868608386-17">&gt;</span><span class="p" data-group-id="0868608386-12">]</span><span class="p" data-group-id="0868608386-11">}</span></code></pre>
</span><span class="nc">Plausible.Cldr.Locale</span><span class="o">.</span><span class="n">fallback_locales</span><span class="p" data-group-id="5423827076-10">(</span><span class="ss">:nb</span><span class="p" data-group-id="5423827076-10">)</span><span class="p">)</span><span class="w">
</span><span class="p">=&gt;</span><span class="w"> </span><span class="p" data-group-id="5423827076-11">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="5423827076-12">[</span><span class="p" data-group-id="5423827076-13">#</span><span class="nc" data-group-id="5423827076-13">Cldr.LanguageTag</span><span class="p" data-group-id="5423827076-13">&lt;</span><span class="n">nb</span><span class="w"> </span><span class="p" data-group-id="5423827076-14">[</span><span class="n">validated</span><span class="p" data-group-id="5423827076-14">]</span><span class="p" data-group-id="5423827076-13">&gt;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="5423827076-15">#</span><span class="nc" data-group-id="5423827076-15">Cldr.LanguageTag</span><span class="p" data-group-id="5423827076-15">&lt;</span><span class="n">no</span><span class="w"> </span><span class="p" data-group-id="5423827076-16">[</span><span class="n">validated</span><span class="p" data-group-id="5423827076-16">]</span><span class="p" data-group-id="5423827076-15">&gt;</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="5423827076-17">#</span><span class="nc" data-group-id="5423827076-17">Cldr.LanguageTag</span><span class="p" data-group-id="5423827076-17">&lt;</span><span class="n">und</span><span class="w"> </span><span class="p" data-group-id="5423827076-18">[</span><span class="n">validated</span><span class="p" data-group-id="5423827076-18">]</span><span class="p" data-group-id="5423827076-17">&gt;</span><span class="p" data-group-id="5423827076-12">]</span><span class="p" data-group-id="5423827076-11">}</span></code></pre>
</section>
</section>
<section class="detail" id="locale_for_territory/1">
@ -533,15 +533,15 @@ generic top-level domain names.</p><h2 id="locale_from_host/2-examples" class="s
<span class="text">Examples</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Locale</span><span class="o">.</span><span class="n">locale_from_host</span><span class="w"> </span><span class="s">&quot;a.b.com.au&quot;</span><span class="w">
</span><span class="nc">Elixir.Plausible.Cldr</span><span class="o">.</span><span class="n">validate_locale</span><span class="p" data-group-id="6576395621-1">(</span><span class="ss">:&quot;en-AU&quot;</span><span class="p" data-group-id="6576395621-1">)</span><span class="w">
</span><span class="nc">Elixir.Plausible.Cldr</span><span class="o">.</span><span class="n">validate_locale</span><span class="p" data-group-id="4820660964-1">(</span><span class="ss">:&quot;en-AU&quot;</span><span class="p" data-group-id="4820660964-1">)</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Locale</span><span class="o">.</span><span class="n">locale_from_host</span><span class="p" data-group-id="6576395621-2">(</span><span class="s">&quot;a.b.com.tv&quot;</span><span class="p" data-group-id="6576395621-2">)</span><span class="w">
</span><span class="p" data-group-id="6576395621-3">{</span><span class="ss">:error</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="6576395621-4">{</span><span class="nc">Cldr.UnknownLocaleError</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;No locale was identified for territory </span><span class="se">\&quot;</span><span class="s">tv</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p" data-group-id="6576395621-4">}</span><span class="p" data-group-id="6576395621-3">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Locale</span><span class="o">.</span><span class="n">locale_from_host</span><span class="p" data-group-id="4820660964-2">(</span><span class="s">&quot;a.b.com.tv&quot;</span><span class="p" data-group-id="4820660964-2">)</span><span class="w">
</span><span class="p" data-group-id="4820660964-3">{</span><span class="ss">:error</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="4820660964-4">{</span><span class="nc">Cldr.UnknownLocaleError</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;No locale was identified for territory </span><span class="se">\&quot;</span><span class="s">tv</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p" data-group-id="4820660964-4">}</span><span class="p" data-group-id="4820660964-3">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Locale</span><span class="o">.</span><span class="n">locale_from_host</span><span class="p" data-group-id="6576395621-5">(</span><span class="s">&quot;a.b.com&quot;</span><span class="p" data-group-id="6576395621-5">)</span><span class="w">
</span><span class="p" data-group-id="6576395621-6">{</span><span class="ss">:error</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="6576395621-7">{</span><span class="nc">Cldr.UnknownLocaleError</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;No locale was identified for territory </span><span class="se">\&quot;</span><span class="s">com</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p" data-group-id="6576395621-7">}</span><span class="p" data-group-id="6576395621-6">}</span></code></pre>
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Locale</span><span class="o">.</span><span class="n">locale_from_host</span><span class="p" data-group-id="4820660964-5">(</span><span class="s">&quot;a.b.com&quot;</span><span class="p" data-group-id="4820660964-5">)</span><span class="w">
</span><span class="p" data-group-id="4820660964-6">{</span><span class="ss">:error</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="4820660964-7">{</span><span class="nc">Cldr.UnknownLocaleError</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;No locale was identified for territory </span><span class="se">\&quot;</span><span class="s">com</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p" data-group-id="4820660964-7">}</span><span class="p" data-group-id="4820660964-6">}</span></code></pre>
</section>
</section>
<section class="detail" id="new/1">
@ -683,12 +683,12 @@ be a territory.</p><h2 id="territory_from_host/1-arguments" class="section-headi
</a>
<span class="text">Examples</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Cldr.Locale</span><span class="o">.</span><span class="n">territory_from_host</span><span class="p" data-group-id="4983695446-1">(</span><span class="s">&quot;a.b.com.au&quot;</span><span class="p" data-group-id="4983695446-1">)</span><span class="w">
</span><span class="p" data-group-id="4983695446-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="ss">:AU</span><span class="p" data-group-id="4983695446-2">}</span><span class="w">
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Cldr.Locale</span><span class="o">.</span><span class="n">territory_from_host</span><span class="p" data-group-id="5543728110-1">(</span><span class="s">&quot;a.b.com.au&quot;</span><span class="p" data-group-id="5543728110-1">)</span><span class="w">
</span><span class="p" data-group-id="5543728110-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="ss">:AU</span><span class="p" data-group-id="5543728110-2">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Cldr.Locale</span><span class="o">.</span><span class="n">territory_from_host</span><span class="p" data-group-id="4983695446-3">(</span><span class="s">&quot;a.b.com&quot;</span><span class="p" data-group-id="4983695446-3">)</span><span class="w">
</span><span class="p" data-group-id="4983695446-4">{</span><span class="ss">:error</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="4983695446-5">{</span><span class="nc">Cldr.UnknownLocaleError</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;No locale was identified for territory </span><span class="se">\&quot;</span><span class="s">com</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p" data-group-id="4983695446-5">}</span><span class="p" data-group-id="4983695446-4">}</span></code></pre>
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Cldr.Locale</span><span class="o">.</span><span class="n">territory_from_host</span><span class="p" data-group-id="5543728110-3">(</span><span class="s">&quot;a.b.com&quot;</span><span class="p" data-group-id="5543728110-3">)</span><span class="w">
</span><span class="p" data-group-id="5543728110-4">{</span><span class="ss">:error</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="5543728110-5">{</span><span class="nc">Cldr.UnknownLocaleError</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;No locale was identified for territory </span><span class="se">\&quot;</span><span class="s">com</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p" data-group-id="5543728110-5">}</span><span class="p" data-group-id="5543728110-4">}</span></code></pre>
</section>
</section>
<section class="detail" id="territory_from_locale/1">

View File

@ -455,31 +455,31 @@ The valid substitution keys are <code class="inline">:zero</code>, <code class="
</a>
<span class="text">Examples</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Cardinal</span><span class="o">.</span><span class="n">pluralize</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="0946159581-1">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;one&quot;</span><span class="p" data-group-id="0946159581-1">}</span><span class="w">
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Cardinal</span><span class="o">.</span><span class="n">pluralize</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="9174707383-1">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;one&quot;</span><span class="p" data-group-id="9174707383-1">}</span><span class="w">
</span><span class="s">&quot;one&quot;</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Cardinal</span><span class="o">.</span><span class="n">pluralize</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="0946159581-2">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;one&quot;</span><span class="p" data-group-id="0946159581-2">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Cardinal</span><span class="o">.</span><span class="n">pluralize</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="9174707383-2">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;one&quot;</span><span class="p" data-group-id="9174707383-2">}</span><span class="w">
</span><span class="no">nil</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Cardinal</span><span class="o">.</span><span class="n">pluralize</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="0946159581-3">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;one&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">two</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;two&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;other&quot;</span><span class="p" data-group-id="0946159581-3">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Cardinal</span><span class="o">.</span><span class="n">pluralize</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="9174707383-3">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;one&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">two</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;two&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;other&quot;</span><span class="p" data-group-id="9174707383-3">}</span><span class="w">
</span><span class="s">&quot;other&quot;</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Cardinal</span><span class="o">.</span><span class="n">pluralize</span><span class="w"> </span><span class="mi">22</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="0946159581-4">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;one&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">two</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;two&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;other&quot;</span><span class="p" data-group-id="0946159581-4">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Cardinal</span><span class="o">.</span><span class="n">pluralize</span><span class="w"> </span><span class="mi">22</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="9174707383-4">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;one&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">two</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;two&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;other&quot;</span><span class="p" data-group-id="9174707383-4">}</span><span class="w">
</span><span class="s">&quot;other&quot;</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Cardinal</span><span class="o">.</span><span class="n">pluralize</span><span class="w"> </span><span class="nc">Decimal</span><span class="o">.</span><span class="n">new</span><span class="p" data-group-id="0946159581-5">(</span><span class="mi">1</span><span class="p" data-group-id="0946159581-5">)</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="0946159581-6">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;one&quot;</span><span class="p" data-group-id="0946159581-6">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Cardinal</span><span class="o">.</span><span class="n">pluralize</span><span class="w"> </span><span class="nc">Decimal</span><span class="o">.</span><span class="n">new</span><span class="p" data-group-id="9174707383-5">(</span><span class="mi">1</span><span class="p" data-group-id="9174707383-5">)</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="9174707383-6">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;one&quot;</span><span class="p" data-group-id="9174707383-6">}</span><span class="w">
</span><span class="s">&quot;one&quot;</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Cardinal</span><span class="o">.</span><span class="n">pluralize</span><span class="w"> </span><span class="nc">Decimal</span><span class="o">.</span><span class="n">new</span><span class="p" data-group-id="0946159581-7">(</span><span class="mi">2</span><span class="p" data-group-id="0946159581-7">)</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="0946159581-8">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;one&quot;</span><span class="p" data-group-id="0946159581-8">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Cardinal</span><span class="o">.</span><span class="n">pluralize</span><span class="w"> </span><span class="nc">Decimal</span><span class="o">.</span><span class="n">new</span><span class="p" data-group-id="9174707383-7">(</span><span class="mi">2</span><span class="p" data-group-id="9174707383-7">)</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="9174707383-8">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;one&quot;</span><span class="p" data-group-id="9174707383-8">}</span><span class="w">
</span><span class="no">nil</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Cardinal</span><span class="o">.</span><span class="n">pluralize</span><span class="w"> </span><span class="nc">Decimal</span><span class="o">.</span><span class="n">new</span><span class="p" data-group-id="0946159581-9">(</span><span class="mi">2</span><span class="p" data-group-id="0946159581-9">)</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="0946159581-10">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;one&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">two</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;two&quot;</span><span class="p" data-group-id="0946159581-10">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Cardinal</span><span class="o">.</span><span class="n">pluralize</span><span class="w"> </span><span class="nc">Decimal</span><span class="o">.</span><span class="n">new</span><span class="p" data-group-id="9174707383-9">(</span><span class="mi">2</span><span class="p" data-group-id="9174707383-9">)</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="9174707383-10">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;one&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">two</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;two&quot;</span><span class="p" data-group-id="9174707383-10">}</span><span class="w">
</span><span class="no">nil</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Cardinal</span><span class="o">.</span><span class="n">pluralize</span><span class="w"> </span><span class="mi">1</span><span class="o">..</span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;ar&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="0946159581-11">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;one&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">few</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;few&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;other&quot;</span><span class="p" data-group-id="0946159581-11">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Cardinal</span><span class="o">.</span><span class="n">pluralize</span><span class="w"> </span><span class="mi">1</span><span class="o">..</span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;ar&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="9174707383-11">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;one&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">few</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;few&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;other&quot;</span><span class="p" data-group-id="9174707383-11">}</span><span class="w">
</span><span class="s">&quot;few&quot;</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Cardinal</span><span class="o">.</span><span class="n">pluralize</span><span class="w"> </span><span class="mi">1</span><span class="o">..</span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="0946159581-12">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;one&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">few</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;few&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;other&quot;</span><span class="p" data-group-id="0946159581-12">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Cardinal</span><span class="o">.</span><span class="n">pluralize</span><span class="w"> </span><span class="mi">1</span><span class="o">..</span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="9174707383-12">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;one&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">few</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;few&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;other&quot;</span><span class="p" data-group-id="9174707383-12">}</span><span class="w">
</span><span class="s">&quot;other&quot;</span></code></pre>
</section>
</section>

View File

@ -468,7 +468,7 @@ to precompile all the known formats at compile time.</p><h2 id="decimal_format_l
<span class="text">Example</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="c1">#=&gt; Plausible.Cldr.Number.Format.Format.decimal_format_list</span><span class="w">
</span><span class="p" data-group-id="4694394616-1">[</span><span class="s">&quot;#&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;#,##,##0%&quot;</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="1698473797-1">[</span><span class="s">&quot;#&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;#,##,##0%&quot;</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;#,##,##0.###&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;#,##,##0.00¤&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;#,##,##0.00¤;(#,##,##0.00¤)&quot;</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;#,##,##0 %&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;#,##0%&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;#,##0.###&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;#,##0.00 ¤&quot;</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;#,##0.00 ¤;(#,##0.00 ¤)&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;#,##0.00¤&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;#,##0.00¤;(#,##0.00¤)&quot;</span><span class="p">,</span><span class="w">
@ -478,7 +478,7 @@ to precompile all the known formats at compile time.</p><h2 id="decimal_format_l
</span><span class="s">&quot;000 B ¤&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;000 E ¤&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;000 K ¤&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;000 MRD ¤&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;000 Md ¤&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;000 Mio&#39;.&#39; ¤&quot;</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;000 Mio ¤&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;000 Mld ¤&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;000 Mln ¤&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;000 Mn ¤&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;000 Mrd&#39;.&#39; ¤&quot;</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;000 Mrd ¤&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;000 Mr ¤&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;000 M ¤&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;000 NT ¤&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;000 N ¤&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;000 Tn ¤&quot;</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;000 Tr ¤&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">...</span><span class="p" data-group-id="4694394616-1">]</span></code></pre>
</span><span class="s">&quot;000 Tr ¤&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">...</span><span class="p" data-group-id="1698473797-1">]</span></code></pre>
</section>
</section>
<section class="detail" id="decimal_format_list_for/1">
@ -526,8 +526,8 @@ the known formats at compile time. Its use is not otherwise recommended.</p><h2
</a>
<span class="text">Example</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Format</span><span class="o">.</span><span class="n">decimal_format_list_for</span><span class="p" data-group-id="1558248617-1">(</span><span class="ss">:en</span><span class="p" data-group-id="1558248617-1">)</span><span class="w">
</span><span class="p" data-group-id="1558248617-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="1558248617-3">[</span><span class="s">&quot;#,##0%&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;#,##0.###&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;#,##0.00&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;#,##0.00;(#,##0.00)&quot;</span><span class="p">,</span><span class="s">&quot;#E0&quot;</span><span class="p">,</span><span class="w">
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Format</span><span class="o">.</span><span class="n">decimal_format_list_for</span><span class="p" data-group-id="0545850469-1">(</span><span class="ss">:en</span><span class="p" data-group-id="0545850469-1">)</span><span class="w">
</span><span class="p" data-group-id="0545850469-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="0545850469-3">[</span><span class="s">&quot;#,##0%&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;#,##0.###&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;#,##0.00&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;#,##0.00;(#,##0.00)&quot;</span><span class="p">,</span><span class="s">&quot;#E0&quot;</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;0 billion&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;0 million&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;0 thousand&quot;</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;0 trillion&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;00 billion&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;00 million&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;00 thousand&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;00 trillion&quot;</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;000 billion&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;000 million&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;000 thousand&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;000 trillion&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;000B&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;000K&quot;</span><span class="p">,</span><span class="w">
@ -535,7 +535,7 @@ the known formats at compile time. Its use is not otherwise recommended.</p><h2
</span><span class="s">&quot;¤#,##0.00&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;¤#,##0.00;(¤#,##0.00)&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;¤000B&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;¤000K&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;¤000M&quot;</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;¤000T&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;¤00B&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;¤00K&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;¤00M&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;¤00T&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;¤0B&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;¤0K&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;¤0M&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;¤0T&quot;</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;¤ #,##0.00&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;¤ #,##0.00;(¤ #,##0.00)&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;¤ 000B&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;¤ 000K&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;¤ 000M&quot;</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;¤ 000T&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;¤ 00B&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;¤ 00K&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;¤ 00M&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;¤ 00T&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;¤ 0B&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;¤ 0K&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;¤ 0M&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;¤ 0T&quot;</span><span class="p" data-group-id="1558248617-3">]</span><span class="p" data-group-id="1558248617-2">}</span></code></pre>
</span><span class="s">&quot;¤ 000T&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;¤ 00B&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;¤ 00K&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;¤ 00M&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;¤ 00T&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;¤ 0B&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;¤ 0K&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;¤ 0M&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;¤ 0T&quot;</span><span class="p" data-group-id="0545850469-3">]</span><span class="p" data-group-id="0545850469-2">}</span></code></pre>
</section>
</section>
<section class="detail" id="default_grouping_for/1">
@ -588,8 +588,8 @@ is <a href="Plausible.Cldr.html#get_locale/0"><code class="inline">Plausible.Cld
</a>
<span class="text">Examples</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Format</span><span class="o">.</span><span class="n">default_grouping_for</span><span class="p" data-group-id="6661476824-1">(</span><span class="ss">:en</span><span class="p" data-group-id="6661476824-1">)</span><span class="w">
</span><span class="p" data-group-id="6661476824-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="6661476824-3">%{</span><span class="ss">fraction</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="6661476824-4">%{</span><span class="ss">first</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="ss">rest</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p" data-group-id="6661476824-4">}</span><span class="p">,</span><span class="w"> </span><span class="ss">integer</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="6661476824-5">%{</span><span class="ss">first</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="ss">rest</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p" data-group-id="6661476824-5">}</span><span class="p" data-group-id="6661476824-3">}</span><span class="p" data-group-id="6661476824-2">}</span></code></pre>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Format</span><span class="o">.</span><span class="n">default_grouping_for</span><span class="p" data-group-id="9283001952-1">(</span><span class="ss">:en</span><span class="p" data-group-id="9283001952-1">)</span><span class="w">
</span><span class="p" data-group-id="9283001952-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="9283001952-3">%{</span><span class="ss">fraction</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="9283001952-4">%{</span><span class="ss">first</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="ss">rest</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p" data-group-id="9283001952-4">}</span><span class="p">,</span><span class="w"> </span><span class="ss">integer</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="9283001952-5">%{</span><span class="ss">first</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="ss">rest</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p" data-group-id="9283001952-5">}</span><span class="p" data-group-id="9283001952-3">}</span><span class="p" data-group-id="9283001952-2">}</span></code></pre>
</section>
</section>
<section class="detail" id="default_grouping_for!/1">
@ -641,8 +641,8 @@ is <a href="Plausible.Cldr.html#get_locale/0"><code class="inline">Plausible.Cld
</a>
<span class="text">Examples</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Format</span><span class="o">.</span><span class="n">default_grouping_for!</span><span class="p" data-group-id="4598121763-1">(</span><span class="ss">:en</span><span class="p" data-group-id="4598121763-1">)</span><span class="w">
</span><span class="p" data-group-id="4598121763-2">%{</span><span class="ss">fraction</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4598121763-3">%{</span><span class="ss">first</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="ss">rest</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p" data-group-id="4598121763-3">}</span><span class="p">,</span><span class="w"> </span><span class="ss">integer</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4598121763-4">%{</span><span class="ss">first</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="ss">rest</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p" data-group-id="4598121763-4">}</span><span class="p" data-group-id="4598121763-2">}</span></code></pre>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Format</span><span class="o">.</span><span class="n">default_grouping_for!</span><span class="p" data-group-id="1443530174-1">(</span><span class="ss">:en</span><span class="p" data-group-id="1443530174-1">)</span><span class="w">
</span><span class="p" data-group-id="1443530174-2">%{</span><span class="ss">fraction</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="1443530174-3">%{</span><span class="ss">first</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="ss">rest</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p" data-group-id="1443530174-3">}</span><span class="p">,</span><span class="w"> </span><span class="ss">integer</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="1443530174-4">%{</span><span class="ss">first</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="ss">rest</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p" data-group-id="1443530174-4">}</span><span class="p" data-group-id="1443530174-2">}</span></code></pre>
</section>
</section>
<section class="detail" id="formats_for/2">
@ -699,18 +699,18 @@ by <a href="Plausible.Cldr.Number.System.html#number_systems_for/1"><code class=
</span><span class="ss">percent</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;#,##0 %&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">scientific</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;#E0&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">standard</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;#,##0.###&quot;</span><span class="w">
</span><span class="ss">currency_short</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="8687055996-1">[</span><span class="p" data-group-id="8687055996-2">{</span><span class="s">&quot;1000&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="8687055996-3">[</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;0 k ¤&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;0 k ¤&quot;</span><span class="p" data-group-id="8687055996-3">]</span><span class="p" data-group-id="8687055996-2">}</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="8687055996-4">{</span><span class="s">&quot;10000&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="8687055996-5">[</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;00 k ¤&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;00 k ¤&quot;</span><span class="p" data-group-id="8687055996-5">]</span><span class="p" data-group-id="8687055996-4">}</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="8687055996-6">{</span><span class="s">&quot;100000&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="8687055996-7">[</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;000 k ¤&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;000 k ¤&quot;</span><span class="p" data-group-id="8687055996-7">]</span><span class="p" data-group-id="8687055996-6">}</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="8687055996-8">{</span><span class="s">&quot;1000000&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="8687055996-9">[</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;0 M ¤&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;0 M ¤&quot;</span><span class="p" data-group-id="8687055996-9">]</span><span class="p" data-group-id="8687055996-8">}</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="8687055996-10">{</span><span class="s">&quot;10000000&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="8687055996-11">[</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;00 M ¤&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;00 M ¤&quot;</span><span class="p" data-group-id="8687055996-11">]</span><span class="p" data-group-id="8687055996-10">}</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="8687055996-12">{</span><span class="s">&quot;100000000&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="8687055996-13">[</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;000 M ¤&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;000 M ¤&quot;</span><span class="p" data-group-id="8687055996-13">]</span><span class="p" data-group-id="8687055996-12">}</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="8687055996-14">{</span><span class="s">&quot;1000000000&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="8687055996-15">[</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;0 Md ¤&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;0 Md ¤&quot;</span><span class="p" data-group-id="8687055996-15">]</span><span class="p" data-group-id="8687055996-14">}</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="8687055996-16">{</span><span class="s">&quot;10000000000&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="8687055996-17">[</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;00 Md ¤&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;00 Md ¤&quot;</span><span class="p" data-group-id="8687055996-17">]</span><span class="p" data-group-id="8687055996-16">}</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="8687055996-18">{</span><span class="s">&quot;100000000000&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="8687055996-19">[</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;000 Md ¤&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;000 Md ¤&quot;</span><span class="p" data-group-id="8687055996-19">]</span><span class="p" data-group-id="8687055996-18">}</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="8687055996-20">{</span><span class="s">&quot;1000000000000&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="8687055996-21">[</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;0 Bn ¤&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;0 Bn ¤&quot;</span><span class="p" data-group-id="8687055996-21">]</span><span class="p" data-group-id="8687055996-20">}</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="8687055996-22">{</span><span class="s">&quot;10000000000000&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="8687055996-23">[</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;00 Bn ¤&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;00 Bn ¤&quot;</span><span class="p" data-group-id="8687055996-23">]</span><span class="p" data-group-id="8687055996-22">}</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="8687055996-24">{</span><span class="s">&quot;100000000000000&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="8687055996-25">[</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;000 Bn ¤&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;000 Bn ¤&quot;</span><span class="p" data-group-id="8687055996-25">]</span><span class="p" data-group-id="8687055996-24">}</span><span class="p" data-group-id="8687055996-1">]</span><span class="p">,</span><span class="w">
</span><span class="ss">currency_short</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4147263246-1">[</span><span class="p" data-group-id="4147263246-2">{</span><span class="s">&quot;1000&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="4147263246-3">[</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;0 k ¤&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;0 k ¤&quot;</span><span class="p" data-group-id="4147263246-3">]</span><span class="p" data-group-id="4147263246-2">}</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="4147263246-4">{</span><span class="s">&quot;10000&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="4147263246-5">[</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;00 k ¤&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;00 k ¤&quot;</span><span class="p" data-group-id="4147263246-5">]</span><span class="p" data-group-id="4147263246-4">}</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="4147263246-6">{</span><span class="s">&quot;100000&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="4147263246-7">[</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;000 k ¤&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;000 k ¤&quot;</span><span class="p" data-group-id="4147263246-7">]</span><span class="p" data-group-id="4147263246-6">}</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="4147263246-8">{</span><span class="s">&quot;1000000&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="4147263246-9">[</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;0 M ¤&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;0 M ¤&quot;</span><span class="p" data-group-id="4147263246-9">]</span><span class="p" data-group-id="4147263246-8">}</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="4147263246-10">{</span><span class="s">&quot;10000000&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="4147263246-11">[</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;00 M ¤&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;00 M ¤&quot;</span><span class="p" data-group-id="4147263246-11">]</span><span class="p" data-group-id="4147263246-10">}</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="4147263246-12">{</span><span class="s">&quot;100000000&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="4147263246-13">[</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;000 M ¤&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;000 M ¤&quot;</span><span class="p" data-group-id="4147263246-13">]</span><span class="p" data-group-id="4147263246-12">}</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="4147263246-14">{</span><span class="s">&quot;1000000000&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="4147263246-15">[</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;0 Md ¤&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;0 Md ¤&quot;</span><span class="p" data-group-id="4147263246-15">]</span><span class="p" data-group-id="4147263246-14">}</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="4147263246-16">{</span><span class="s">&quot;10000000000&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="4147263246-17">[</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;00 Md ¤&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;00 Md ¤&quot;</span><span class="p" data-group-id="4147263246-17">]</span><span class="p" data-group-id="4147263246-16">}</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="4147263246-18">{</span><span class="s">&quot;100000000000&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="4147263246-19">[</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;000 Md ¤&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;000 Md ¤&quot;</span><span class="p" data-group-id="4147263246-19">]</span><span class="p" data-group-id="4147263246-18">}</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="4147263246-20">{</span><span class="s">&quot;1000000000000&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="4147263246-21">[</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;0 Bn ¤&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;0 Bn ¤&quot;</span><span class="p" data-group-id="4147263246-21">]</span><span class="p" data-group-id="4147263246-20">}</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="4147263246-22">{</span><span class="s">&quot;10000000000000&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="4147263246-23">[</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;00 Bn ¤&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;00 Bn ¤&quot;</span><span class="p" data-group-id="4147263246-23">]</span><span class="p" data-group-id="4147263246-22">}</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="4147263246-24">{</span><span class="s">&quot;100000000000000&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="4147263246-25">[</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;000 Bn ¤&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;000 Bn ¤&quot;</span><span class="p" data-group-id="4147263246-25">]</span><span class="p" data-group-id="4147263246-24">}</span><span class="p" data-group-id="4147263246-1">]</span><span class="p">,</span><span class="w">
</span><span class="n">...</span><span class="w">
</span><span class="err">}</span></code></pre>
</section>
@ -801,8 +801,8 @@ is <a href="Plausible.Cldr.html#get_locale/0"><code class="inline">Plausible.Cld
</a>
<span class="text">Examples</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Format</span><span class="o">.</span><span class="n">minimum_grouping_digits_for</span><span class="p" data-group-id="1858026542-1">(</span><span class="s">&quot;en&quot;</span><span class="p" data-group-id="1858026542-1">)</span><span class="w">
</span><span class="p" data-group-id="1858026542-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p" data-group-id="1858026542-2">}</span></code></pre>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Format</span><span class="o">.</span><span class="n">minimum_grouping_digits_for</span><span class="p" data-group-id="6737292504-1">(</span><span class="s">&quot;en&quot;</span><span class="p" data-group-id="6737292504-1">)</span><span class="w">
</span><span class="p" data-group-id="6737292504-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p" data-group-id="6737292504-2">}</span></code></pre>
</section>
</section>
<section class="detail" id="minimum_grouping_digits_for!/1">
@ -854,7 +854,7 @@ is <a href="Plausible.Cldr.html#get_locale/0"><code class="inline">Plausible.Cld
</a>
<span class="text">Examples</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Format</span><span class="o">.</span><span class="n">minimum_grouping_digits_for!</span><span class="p" data-group-id="7567720249-1">(</span><span class="s">&quot;en&quot;</span><span class="p" data-group-id="7567720249-1">)</span><span class="w">
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Format</span><span class="o">.</span><span class="n">minimum_grouping_digits_for!</span><span class="p" data-group-id="4532660276-1">(</span><span class="s">&quot;en&quot;</span><span class="p" data-group-id="4532660276-1">)</span><span class="w">
</span><span class="mi">1</span></code></pre>
</section>
</section>

View File

@ -458,31 +458,31 @@ The valid substitution keys are <code class="inline">:zero</code>, <code class="
</a>
<span class="text">Examples</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Ordinal</span><span class="o">.</span><span class="n">pluralize</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="ss">:en</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="0118842032-1">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;one&quot;</span><span class="p" data-group-id="0118842032-1">}</span><span class="w">
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Ordinal</span><span class="o">.</span><span class="n">pluralize</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="ss">:en</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="6058640814-1">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;one&quot;</span><span class="p" data-group-id="6058640814-1">}</span><span class="w">
</span><span class="s">&quot;one&quot;</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Ordinal</span><span class="o">.</span><span class="n">pluralize</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="ss">:en</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="0118842032-2">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;one&quot;</span><span class="p" data-group-id="0118842032-2">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Ordinal</span><span class="o">.</span><span class="n">pluralize</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="ss">:en</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="6058640814-2">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;one&quot;</span><span class="p" data-group-id="6058640814-2">}</span><span class="w">
</span><span class="no">nil</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Ordinal</span><span class="o">.</span><span class="n">pluralize</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="ss">:en</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="0118842032-3">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;one&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">two</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;two&quot;</span><span class="p" data-group-id="0118842032-3">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Ordinal</span><span class="o">.</span><span class="n">pluralize</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="ss">:en</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="6058640814-3">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;one&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">two</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;two&quot;</span><span class="p" data-group-id="6058640814-3">}</span><span class="w">
</span><span class="s">&quot;two&quot;</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Ordinal</span><span class="o">.</span><span class="n">pluralize</span><span class="w"> </span><span class="mi">22</span><span class="p">,</span><span class="w"> </span><span class="ss">:en</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="0118842032-4">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;one&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">two</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;two&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;other&quot;</span><span class="p" data-group-id="0118842032-4">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Ordinal</span><span class="o">.</span><span class="n">pluralize</span><span class="w"> </span><span class="mi">22</span><span class="p">,</span><span class="w"> </span><span class="ss">:en</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="6058640814-4">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;one&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">two</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;two&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;other&quot;</span><span class="p" data-group-id="6058640814-4">}</span><span class="w">
</span><span class="s">&quot;two&quot;</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Ordinal</span><span class="o">.</span><span class="n">pluralize</span><span class="w"> </span><span class="nc">Decimal</span><span class="o">.</span><span class="n">new</span><span class="p" data-group-id="0118842032-5">(</span><span class="mi">1</span><span class="p" data-group-id="0118842032-5">)</span><span class="p">,</span><span class="w"> </span><span class="ss">:en</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="0118842032-6">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;one&quot;</span><span class="p" data-group-id="0118842032-6">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Ordinal</span><span class="o">.</span><span class="n">pluralize</span><span class="w"> </span><span class="nc">Decimal</span><span class="o">.</span><span class="n">new</span><span class="p" data-group-id="6058640814-5">(</span><span class="mi">1</span><span class="p" data-group-id="6058640814-5">)</span><span class="p">,</span><span class="w"> </span><span class="ss">:en</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="6058640814-6">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;one&quot;</span><span class="p" data-group-id="6058640814-6">}</span><span class="w">
</span><span class="s">&quot;one&quot;</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Ordinal</span><span class="o">.</span><span class="n">pluralize</span><span class="w"> </span><span class="nc">Decimal</span><span class="o">.</span><span class="n">new</span><span class="p" data-group-id="0118842032-7">(</span><span class="mi">2</span><span class="p" data-group-id="0118842032-7">)</span><span class="p">,</span><span class="w"> </span><span class="ss">:en</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="0118842032-8">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;one&quot;</span><span class="p" data-group-id="0118842032-8">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Ordinal</span><span class="o">.</span><span class="n">pluralize</span><span class="w"> </span><span class="nc">Decimal</span><span class="o">.</span><span class="n">new</span><span class="p" data-group-id="6058640814-7">(</span><span class="mi">2</span><span class="p" data-group-id="6058640814-7">)</span><span class="p">,</span><span class="w"> </span><span class="ss">:en</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="6058640814-8">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;one&quot;</span><span class="p" data-group-id="6058640814-8">}</span><span class="w">
</span><span class="no">nil</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Ordinal</span><span class="o">.</span><span class="n">pluralize</span><span class="w"> </span><span class="nc">Decimal</span><span class="o">.</span><span class="n">new</span><span class="p" data-group-id="0118842032-9">(</span><span class="mi">2</span><span class="p" data-group-id="0118842032-9">)</span><span class="p">,</span><span class="w"> </span><span class="ss">:en</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="0118842032-10">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;one&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">two</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;two&quot;</span><span class="p" data-group-id="0118842032-10">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Ordinal</span><span class="o">.</span><span class="n">pluralize</span><span class="w"> </span><span class="nc">Decimal</span><span class="o">.</span><span class="n">new</span><span class="p" data-group-id="6058640814-9">(</span><span class="mi">2</span><span class="p" data-group-id="6058640814-9">)</span><span class="p">,</span><span class="w"> </span><span class="ss">:en</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="6058640814-10">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;one&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">two</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;two&quot;</span><span class="p" data-group-id="6058640814-10">}</span><span class="w">
</span><span class="s">&quot;two&quot;</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Ordinal</span><span class="o">.</span><span class="n">pluralize</span><span class="w"> </span><span class="mi">1</span><span class="o">..</span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;ar&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="0118842032-11">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;one&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">few</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;few&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;other&quot;</span><span class="p" data-group-id="0118842032-11">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Ordinal</span><span class="o">.</span><span class="n">pluralize</span><span class="w"> </span><span class="mi">1</span><span class="o">..</span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;ar&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="6058640814-11">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;one&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">few</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;few&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;other&quot;</span><span class="p" data-group-id="6058640814-11">}</span><span class="w">
</span><span class="s">&quot;other&quot;</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Ordinal</span><span class="o">.</span><span class="n">pluralize</span><span class="w"> </span><span class="mi">1</span><span class="o">..</span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="0118842032-12">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;one&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">few</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;few&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;other&quot;</span><span class="p" data-group-id="0118842032-12">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Ordinal</span><span class="o">.</span><span class="n">pluralize</span><span class="w"> </span><span class="mi">1</span><span class="o">..</span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="6058640814-12">%{</span><span class="ss">one</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;one&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">few</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;few&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">other</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;other&quot;</span><span class="p" data-group-id="6058640814-12">}</span><span class="w">
</span><span class="s">&quot;other&quot;</span></code></pre>
</section>
</section>

View File

@ -378,9 +378,9 @@ is <a href="Plausible.Cldr.html#get_locale/0"><code class="inline">Plausible.Cld
</a>
<span class="text">Example:</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Symbol</span><span class="o">.</span><span class="n">number_symbols_for</span><span class="p" data-group-id="5765699316-1">(</span><span class="ss">:th</span><span class="p" data-group-id="5765699316-1">)</span><span class="w">
</span><span class="p" data-group-id="5765699316-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="5765699316-3">%{</span><span class="w">
</span><span class="ss">latn</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="5765699316-4">%</span><span class="nc" data-group-id="5765699316-4">Cldr.Number.Symbol</span><span class="p" data-group-id="5765699316-4">{</span><span class="w">
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Symbol</span><span class="o">.</span><span class="n">number_symbols_for</span><span class="p" data-group-id="5355643844-1">(</span><span class="ss">:th</span><span class="p" data-group-id="5355643844-1">)</span><span class="w">
</span><span class="p" data-group-id="5355643844-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="5355643844-3">%{</span><span class="w">
</span><span class="ss">latn</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="5355643844-4">%</span><span class="nc" data-group-id="5355643844-4">Cldr.Number.Symbol</span><span class="p" data-group-id="5355643844-4">{</span><span class="w">
</span><span class="ss">decimal</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;.&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">exponential</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;E&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">group</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;,&quot;</span><span class="p">,</span><span class="w">
@ -393,8 +393,8 @@ is <a href="Plausible.Cldr.html#get_locale/0"><code class="inline">Plausible.Cld
</span><span class="ss">plus_sign</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;+&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">superscripting_exponent</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;×&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">time_separator</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;:&quot;</span><span class="w">
</span><span class="p" data-group-id="5765699316-4">}</span><span class="p">,</span><span class="w">
</span><span class="ss">thai</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="5765699316-5">%</span><span class="nc" data-group-id="5765699316-5">Cldr.Number.Symbol</span><span class="p" data-group-id="5765699316-5">{</span><span class="w">
</span><span class="p" data-group-id="5355643844-4">}</span><span class="p">,</span><span class="w">
</span><span class="ss">thai</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="5355643844-5">%</span><span class="nc" data-group-id="5355643844-5">Cldr.Number.Symbol</span><span class="p" data-group-id="5355643844-5">{</span><span class="w">
</span><span class="ss">decimal</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;.&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">exponential</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;E&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">group</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;,&quot;</span><span class="p">,</span><span class="w">
@ -407,8 +407,8 @@ is <a href="Plausible.Cldr.html#get_locale/0"><code class="inline">Plausible.Cld
</span><span class="ss">plus_sign</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;+&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">superscripting_exponent</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;×&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">time_separator</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;:&quot;</span><span class="w">
</span><span class="p" data-group-id="5765699316-5">}</span><span class="w">
</span><span class="p" data-group-id="5765699316-3">}</span><span class="p" data-group-id="5765699316-2">}</span></code></pre>
</span><span class="p" data-group-id="5355643844-5">}</span><span class="w">
</span><span class="p" data-group-id="5355643844-3">}</span><span class="p" data-group-id="5355643844-2">}</span></code></pre>
</section>
</section>
<section class="detail" id="number_symbols_for/2">

View File

@ -317,23 +317,23 @@ it is returned as is.</p><h2 id="number_system_for/2-examples" class="section-he
<span class="text">Examples</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.System</span><span class="o">.</span><span class="n">number_system_for</span><span class="w"> </span><span class="s">&quot;th&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">:latn</span><span class="w">
</span><span class="p" data-group-id="3099898237-1">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="3099898237-2">%{</span><span class="ss">digits</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;0123456789&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">type</span><span class="p">:</span><span class="w"> </span><span class="ss">:numeric</span><span class="p" data-group-id="3099898237-2">}</span><span class="p" data-group-id="3099898237-1">}</span><span class="w">
</span><span class="p" data-group-id="0399863497-1">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="0399863497-2">%{</span><span class="ss">digits</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;0123456789&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">type</span><span class="p">:</span><span class="w"> </span><span class="ss">:numeric</span><span class="p" data-group-id="0399863497-2">}</span><span class="p" data-group-id="0399863497-1">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.System</span><span class="o">.</span><span class="n">number_system_for</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">:default</span><span class="w">
</span><span class="p" data-group-id="3099898237-3">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="3099898237-4">%{</span><span class="ss">digits</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;0123456789&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">type</span><span class="p">:</span><span class="w"> </span><span class="ss">:numeric</span><span class="p" data-group-id="3099898237-4">}</span><span class="p" data-group-id="3099898237-3">}</span><span class="w">
</span><span class="p" data-group-id="0399863497-3">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="0399863497-4">%{</span><span class="ss">digits</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;0123456789&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">type</span><span class="p">:</span><span class="w"> </span><span class="ss">:numeric</span><span class="p" data-group-id="0399863497-4">}</span><span class="p" data-group-id="0399863497-3">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.System</span><span class="o">.</span><span class="n">number_system_for</span><span class="w"> </span><span class="s">&quot;he&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">:traditional</span><span class="w">
</span><span class="p" data-group-id="3099898237-5">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="3099898237-6">%{</span><span class="ss">rules</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;hebrew&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">type</span><span class="p">:</span><span class="w"> </span><span class="ss">:algorithmic</span><span class="p" data-group-id="3099898237-6">}</span><span class="p" data-group-id="3099898237-5">}</span><span class="w">
</span><span class="p" data-group-id="0399863497-5">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="0399863497-6">%{</span><span class="ss">rules</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;hebrew&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">type</span><span class="p">:</span><span class="w"> </span><span class="ss">:algorithmic</span><span class="p" data-group-id="0399863497-6">}</span><span class="p" data-group-id="0399863497-5">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.System</span><span class="o">.</span><span class="n">number_system_for</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">:native</span><span class="w">
</span><span class="p" data-group-id="3099898237-7">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="3099898237-8">%{</span><span class="ss">digits</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;0123456789&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">type</span><span class="p">:</span><span class="w"> </span><span class="ss">:numeric</span><span class="p" data-group-id="3099898237-8">}</span><span class="p" data-group-id="3099898237-7">}</span><span class="w">
</span><span class="p" data-group-id="0399863497-7">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="0399863497-8">%{</span><span class="ss">digits</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;0123456789&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">type</span><span class="p">:</span><span class="w"> </span><span class="ss">:numeric</span><span class="p" data-group-id="0399863497-8">}</span><span class="p" data-group-id="0399863497-7">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.System</span><span class="o">.</span><span class="n">number_system_for</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">:finance</span><span class="w">
</span><span class="p" data-group-id="3099898237-9">{</span><span class="w">
</span><span class="p" data-group-id="0399863497-9">{</span><span class="w">
</span><span class="ss">:error</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="3099898237-10">{</span><span class="nc">Cldr.UnknownNumberSystemError</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;The number system :finance is unknown for the locale named :en. Valid number systems are %{default: :latn, native: :latn}&quot;</span><span class="p" data-group-id="3099898237-10">}</span><span class="w">
</span><span class="p" data-group-id="3099898237-9">}</span></code></pre>
</span><span class="p" data-group-id="0399863497-10">{</span><span class="nc">Cldr.UnknownNumberSystemError</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;The number system :finance is unknown for the locale named :en. Valid number systems are %{default: :latn, native: :latn}&quot;</span><span class="p" data-group-id="0399863497-10">}</span><span class="w">
</span><span class="p" data-group-id="0399863497-9">}</span></code></pre>
</section>
</section>
<section class="detail" id="number_system_from_locale/1">
@ -424,10 +424,10 @@ or a <a href="https://hexdocs.pm/ex_cldr/2.37.5/Cldr.LanguageTag.html"><code cla
<span class="text">Examples</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.System</span><span class="o">.</span><span class="n">number_system_names_for</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="w">
</span><span class="p" data-group-id="0452680183-1">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="0452680183-2">[</span><span class="ss">:latn</span><span class="p" data-group-id="0452680183-2">]</span><span class="p" data-group-id="0452680183-1">}</span><span class="w">
</span><span class="p" data-group-id="1082172635-1">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="1082172635-2">[</span><span class="ss">:latn</span><span class="p" data-group-id="1082172635-2">]</span><span class="p" data-group-id="1082172635-1">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.System</span><span class="o">.</span><span class="n">number_system_names_for</span><span class="w"> </span><span class="s">&quot;zz&quot;</span><span class="w">
</span><span class="p" data-group-id="0452680183-3">{</span><span class="ss">:error</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="0452680183-4">{</span><span class="nc">Cldr.InvalidLanguageError</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;The language </span><span class="se">\&quot;</span><span class="s">zz</span><span class="se">\&quot;</span><span class="s"> is invalid&quot;</span><span class="p" data-group-id="0452680183-4">}</span><span class="p" data-group-id="0452680183-3">}</span></code></pre>
</span><span class="p" data-group-id="1082172635-3">{</span><span class="ss">:error</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="1082172635-4">{</span><span class="nc">Cldr.InvalidLanguageError</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;The language </span><span class="se">\&quot;</span><span class="s">zz</span><span class="se">\&quot;</span><span class="s"> is invalid&quot;</span><span class="p" data-group-id="1082172635-4">}</span><span class="p" data-group-id="1082172635-3">}</span></code></pre>
</section>
</section>
<section class="detail" id="number_system_names_for!/1">
@ -509,13 +509,13 @@ or a <a href="https://hexdocs.pm/ex_cldr/2.37.5/Cldr.LanguageTag.html"><code cla
<span class="text">Examples</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.System</span><span class="o">.</span><span class="n">number_systems_for</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="w">
</span><span class="p" data-group-id="5624526089-1">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="5624526089-2">%{</span><span class="ss">default</span><span class="p">:</span><span class="w"> </span><span class="ss">:latn</span><span class="p">,</span><span class="w"> </span><span class="ss">native</span><span class="p">:</span><span class="w"> </span><span class="ss">:latn</span><span class="p" data-group-id="5624526089-2">}</span><span class="p" data-group-id="5624526089-1">}</span><span class="w">
</span><span class="p" data-group-id="1244334572-1">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="1244334572-2">%{</span><span class="ss">default</span><span class="p">:</span><span class="w"> </span><span class="ss">:latn</span><span class="p">,</span><span class="w"> </span><span class="ss">native</span><span class="p">:</span><span class="w"> </span><span class="ss">:latn</span><span class="p" data-group-id="1244334572-2">}</span><span class="p" data-group-id="1244334572-1">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.System</span><span class="o">.</span><span class="n">number_systems_for</span><span class="w"> </span><span class="s">&quot;th&quot;</span><span class="w">
</span><span class="p" data-group-id="5624526089-3">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="5624526089-4">%{</span><span class="ss">default</span><span class="p">:</span><span class="w"> </span><span class="ss">:latn</span><span class="p">,</span><span class="w"> </span><span class="ss">native</span><span class="p">:</span><span class="w"> </span><span class="ss">:thai</span><span class="p" data-group-id="5624526089-4">}</span><span class="p" data-group-id="5624526089-3">}</span><span class="w">
</span><span class="p" data-group-id="1244334572-3">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="1244334572-4">%{</span><span class="ss">default</span><span class="p">:</span><span class="w"> </span><span class="ss">:latn</span><span class="p">,</span><span class="w"> </span><span class="ss">native</span><span class="p">:</span><span class="w"> </span><span class="ss">:thai</span><span class="p" data-group-id="1244334572-4">}</span><span class="p" data-group-id="1244334572-3">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.System</span><span class="o">.</span><span class="n">number_systems_for</span><span class="w"> </span><span class="s">&quot;zz&quot;</span><span class="w">
</span><span class="p" data-group-id="5624526089-5">{</span><span class="ss">:error</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="5624526089-6">{</span><span class="nc">Cldr.InvalidLanguageError</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;The language </span><span class="se">\&quot;</span><span class="s">zz</span><span class="se">\&quot;</span><span class="s"> is invalid&quot;</span><span class="p" data-group-id="5624526089-6">}</span><span class="p" data-group-id="5624526089-5">}</span></code></pre>
</span><span class="p" data-group-id="1244334572-5">{</span><span class="ss">:error</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="1244334572-6">{</span><span class="nc">Cldr.InvalidLanguageError</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;The language </span><span class="se">\&quot;</span><span class="s">zz</span><span class="se">\&quot;</span><span class="s"> is invalid&quot;</span><span class="p" data-group-id="1244334572-6">}</span><span class="p" data-group-id="1244334572-5">}</span></code></pre>
</section>
</section>
<section class="detail" id="number_systems_for!/1">
@ -613,20 +613,20 @@ actual system name.</p><h2 id="system_name_from/2-examples" class="section-headi
</a>
<span class="text">Examples</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="n">ex</span><span class="o">&gt;</span><span class="w"> </span><span class="nc">Plausible.Cldr.Number.System</span><span class="o">.</span><span class="n">system_name_from</span><span class="p" data-group-id="4076351115-1">(</span><span class="ss">:default</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p" data-group-id="4076351115-1">)</span><span class="w">
</span><span class="p" data-group-id="4076351115-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="ss">:latn</span><span class="p" data-group-id="4076351115-2">}</span><span class="w">
<pre><code class="makeup elixir" translate="no"><span class="n">ex</span><span class="o">&gt;</span><span class="w"> </span><span class="nc">Plausible.Cldr.Number.System</span><span class="o">.</span><span class="n">system_name_from</span><span class="p" data-group-id="6292397519-1">(</span><span class="ss">:default</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p" data-group-id="6292397519-1">)</span><span class="w">
</span><span class="p" data-group-id="6292397519-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="ss">:latn</span><span class="p" data-group-id="6292397519-2">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.System</span><span class="o">.</span><span class="n">system_name_from</span><span class="p" data-group-id="4076351115-3">(</span><span class="s">&quot;latn&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p" data-group-id="4076351115-3">)</span><span class="w">
</span><span class="p" data-group-id="4076351115-4">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="ss">:latn</span><span class="p" data-group-id="4076351115-4">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.System</span><span class="o">.</span><span class="n">system_name_from</span><span class="p" data-group-id="6292397519-3">(</span><span class="s">&quot;latn&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p" data-group-id="6292397519-3">)</span><span class="w">
</span><span class="p" data-group-id="6292397519-4">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="ss">:latn</span><span class="p" data-group-id="6292397519-4">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.System</span><span class="o">.</span><span class="n">system_name_from</span><span class="p" data-group-id="4076351115-5">(</span><span class="ss">:native</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p" data-group-id="4076351115-5">)</span><span class="w">
</span><span class="p" data-group-id="4076351115-6">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="ss">:latn</span><span class="p" data-group-id="4076351115-6">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.System</span><span class="o">.</span><span class="n">system_name_from</span><span class="p" data-group-id="6292397519-5">(</span><span class="ss">:native</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p" data-group-id="6292397519-5">)</span><span class="w">
</span><span class="p" data-group-id="6292397519-6">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="ss">:latn</span><span class="p" data-group-id="6292397519-6">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.System</span><span class="o">.</span><span class="n">system_name_from</span><span class="p" data-group-id="4076351115-7">(</span><span class="ss">:nope</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p" data-group-id="4076351115-7">)</span><span class="w">
</span><span class="p" data-group-id="4076351115-8">{</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.System</span><span class="o">.</span><span class="n">system_name_from</span><span class="p" data-group-id="6292397519-7">(</span><span class="ss">:nope</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p" data-group-id="6292397519-7">)</span><span class="w">
</span><span class="p" data-group-id="6292397519-8">{</span><span class="w">
</span><span class="ss">:error</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="4076351115-9">{</span><span class="nc">Cldr.UnknownNumberSystemError</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;The number system :nope is unknown&quot;</span><span class="p" data-group-id="4076351115-9">}</span><span class="w">
</span><span class="p" data-group-id="4076351115-8">}</span></code></pre><p>Note that return value is not guaranteed to be a valid
</span><span class="p" data-group-id="6292397519-9">{</span><span class="nc">Cldr.UnknownNumberSystemError</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;The number system :nope is unknown&quot;</span><span class="p" data-group-id="6292397519-9">}</span><span class="w">
</span><span class="p" data-group-id="6292397519-8">}</span></code></pre><p>Note that return value is not guaranteed to be a valid
number system for the given locale as demonstrated in the third example.</p>
</section>
</section>
@ -673,16 +673,16 @@ is recommended.</p></li></ul><h2 id="to_system/2-examples" class="section-headin
<span class="text">Examples</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.System</span><span class="o">.</span><span class="n">to_system</span><span class="w"> </span><span class="mi">123456</span><span class="p">,</span><span class="w"> </span><span class="ss">:hebr</span><span class="w">
</span><span class="p" data-group-id="0003481767-1">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;קכ״ג׳תנ״ו&quot;</span><span class="p" data-group-id="0003481767-1">}</span><span class="w">
</span><span class="p" data-group-id="6888830383-1">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;קכ״ג׳תנ״ו&quot;</span><span class="p" data-group-id="6888830383-1">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.System</span><span class="o">.</span><span class="n">to_system</span><span class="w"> </span><span class="mi">123</span><span class="p">,</span><span class="w"> </span><span class="ss">:hans</span><span class="w">
</span><span class="p" data-group-id="0003481767-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;一百二十三&quot;</span><span class="p" data-group-id="0003481767-2">}</span><span class="w">
</span><span class="p" data-group-id="6888830383-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;一百二十三&quot;</span><span class="p" data-group-id="6888830383-2">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.System</span><span class="o">.</span><span class="n">to_system</span><span class="w"> </span><span class="mi">123</span><span class="p">,</span><span class="w"> </span><span class="ss">:hant</span><span class="w">
</span><span class="p" data-group-id="0003481767-3">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;一百二十三&quot;</span><span class="p" data-group-id="0003481767-3">}</span><span class="w">
</span><span class="p" data-group-id="6888830383-3">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;一百二十三&quot;</span><span class="p" data-group-id="6888830383-3">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.System</span><span class="o">.</span><span class="n">to_system</span><span class="w"> </span><span class="mi">123</span><span class="p">,</span><span class="w"> </span><span class="ss">:hansfin</span><span class="w">
</span><span class="p" data-group-id="0003481767-4">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;壹佰贰拾叁&quot;</span><span class="p" data-group-id="0003481767-4">}</span></code></pre>
</span><span class="p" data-group-id="6888830383-4">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;壹佰贰拾叁&quot;</span><span class="p" data-group-id="6888830383-4">}</span></code></pre>
</section>
</section>
<section class="detail" id="to_system!/2">

View File

@ -162,12 +162,12 @@ digits between number systems. For example from :arabic to :latn. Since genera
transliteration map is slow, pairs of transliterations can be configured so that the
transliteration map is created at compile time and therefore speeding up transliteration at
run time.</p><p>To configure these transliteration pairs, add the to the <code class="inline">use Cldr</code> configuration
in a backend module:</p><pre><code class="makeup elixir" translate="no"><span class="kd">defmodule</span><span class="w"> </span><span class="nc">MyApp.Cldr</span><span class="w"> </span><span class="k" data-group-id="4368271248-1">do</span><span class="w">
in a backend module:</p><pre><code class="makeup elixir" translate="no"><span class="kd">defmodule</span><span class="w"> </span><span class="nc">MyApp.Cldr</span><span class="w"> </span><span class="k" data-group-id="8048172660-1">do</span><span class="w">
</span><span class="kn">use</span><span class="w"> </span><span class="nc">Cldr</span><span class="p">,</span><span class="w">
</span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4368271248-2">[</span><span class="s">&quot;en&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;fr&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;th&quot;</span><span class="p" data-group-id="4368271248-2">]</span><span class="p">,</span><span class="w">
</span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="8048172660-2">[</span><span class="s">&quot;en&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;fr&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;th&quot;</span><span class="p" data-group-id="8048172660-2">]</span><span class="p">,</span><span class="w">
</span><span class="ss">default_locale</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">precompile_transliterations</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4368271248-3">[</span><span class="p" data-group-id="4368271248-4">{</span><span class="ss">:latn</span><span class="p">,</span><span class="w"> </span><span class="ss">:thai</span><span class="p" data-group-id="4368271248-4">}</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="4368271248-5">{</span><span class="ss">:arab</span><span class="p">,</span><span class="w"> </span><span class="ss">:thai</span><span class="p" data-group-id="4368271248-5">}</span><span class="p" data-group-id="4368271248-3">]</span><span class="w">
</span><span class="k" data-group-id="4368271248-1">end</span></code></pre><p>Where each tuple in the list configures one transliteration map. In this example, two maps are
</span><span class="ss">precompile_transliterations</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="8048172660-3">[</span><span class="p" data-group-id="8048172660-4">{</span><span class="ss">:latn</span><span class="p">,</span><span class="w"> </span><span class="ss">:thai</span><span class="p" data-group-id="8048172660-4">}</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="8048172660-5">{</span><span class="ss">:arab</span><span class="p">,</span><span class="w"> </span><span class="ss">:thai</span><span class="p" data-group-id="8048172660-5">}</span><span class="p" data-group-id="8048172660-3">]</span><span class="w">
</span><span class="k" data-group-id="8048172660-1">end</span></code></pre><p>Where each tuple in the list configures one transliteration map. In this example, two maps are
configured: from <code class="inline">:latn</code> to <code class="inline">:thai</code> and from <code class="inline">:arab</code> to <code class="inline">:thai</code>.</p><p>A list of configurable number systems is returned by <a href="https://hexdocs.pm/ex_cldr_numbers/2.32.3/Cldr.Number.System.html#numeric_systems/0"><code class="inline">Cldr.Number.System.numeric_systems/0</code></a>.</p><p>If a transliteration is requested between two number pairs that have not been configured for
precompilation, a warning is logged.</p>
</section>
@ -281,22 +281,22 @@ and <a href="Plausible.Cldr.Number.System.html#number_systems_for/1"><code class
</a>
<span class="text">Examples</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Transliterate</span><span class="o">.</span><span class="n">transliterate</span><span class="p" data-group-id="4987860324-1">(</span><span class="s">&quot;123556&quot;</span><span class="p" data-group-id="4987860324-1">)</span><span class="w">
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Transliterate</span><span class="o">.</span><span class="n">transliterate</span><span class="p" data-group-id="2437194569-1">(</span><span class="s">&quot;123556&quot;</span><span class="p" data-group-id="2437194569-1">)</span><span class="w">
</span><span class="s">&quot;123556&quot;</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Transliterate</span><span class="o">.</span><span class="n">transliterate</span><span class="p" data-group-id="4987860324-2">(</span><span class="s">&quot;123,556.000&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;fr&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">:default</span><span class="p" data-group-id="4987860324-2">)</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Transliterate</span><span class="o">.</span><span class="n">transliterate</span><span class="p" data-group-id="2437194569-2">(</span><span class="s">&quot;123,556.000&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;fr&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">:default</span><span class="p" data-group-id="2437194569-2">)</span><span class="w">
</span><span class="s">&quot;123556,000&quot;</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Transliterate</span><span class="o">.</span><span class="n">transliterate</span><span class="p" data-group-id="4987860324-3">(</span><span class="s">&quot;123556&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;th&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">:default</span><span class="p" data-group-id="4987860324-3">)</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Transliterate</span><span class="o">.</span><span class="n">transliterate</span><span class="p" data-group-id="2437194569-3">(</span><span class="s">&quot;123556&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;th&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">:default</span><span class="p" data-group-id="2437194569-3">)</span><span class="w">
</span><span class="s">&quot;123556&quot;</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Transliterate</span><span class="o">.</span><span class="n">transliterate</span><span class="p" data-group-id="4987860324-4">(</span><span class="s">&quot;123556&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;th&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;thai&quot;</span><span class="p" data-group-id="4987860324-4">)</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Transliterate</span><span class="o">.</span><span class="n">transliterate</span><span class="p" data-group-id="2437194569-4">(</span><span class="s">&quot;123556&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;th&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;thai&quot;</span><span class="p" data-group-id="2437194569-4">)</span><span class="w">
</span><span class="s">&quot;๑๒๓๕๕๖&quot;</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Transliterate</span><span class="o">.</span><span class="n">transliterate</span><span class="p" data-group-id="4987860324-5">(</span><span class="s">&quot;123556&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;th&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">:native</span><span class="p" data-group-id="4987860324-5">)</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Transliterate</span><span class="o">.</span><span class="n">transliterate</span><span class="p" data-group-id="2437194569-5">(</span><span class="s">&quot;123556&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;th&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">:native</span><span class="p" data-group-id="2437194569-5">)</span><span class="w">
</span><span class="s">&quot;๑๒๓๕๕๖&quot;</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Transliterate</span><span class="o">.</span><span class="n">transliterate</span><span class="p" data-group-id="4987860324-6">(</span><span class="s">&quot;Some number is: 123556&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;th&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;thai&quot;</span><span class="p" data-group-id="4987860324-6">)</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number.Transliterate</span><span class="o">.</span><span class="n">transliterate</span><span class="p" data-group-id="2437194569-6">(</span><span class="s">&quot;Some number is: 123556&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;th&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;thai&quot;</span><span class="p" data-group-id="2437194569-6">)</span><span class="w">
</span><span class="s">&quot;Some number is: ๑๒๓๕๕๖&quot;</span></code></pre>
</section>
</section>

View File

@ -441,19 +441,19 @@ using the Elixir standard library functions.</p><h2 id="parse/2-examples" class=
</a>
<span class="text">Examples</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">parse</span><span class="p" data-group-id="0435383926-1">(</span><span class="s">&quot;1.000,34&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;de&quot;</span><span class="p" data-group-id="0435383926-1">)</span><span class="w">
</span><span class="p" data-group-id="0435383926-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="mf">1000.34</span><span class="p" data-group-id="0435383926-2">}</span><span class="w">
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">parse</span><span class="p" data-group-id="7721080037-1">(</span><span class="s">&quot;1.000,34&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;de&quot;</span><span class="p" data-group-id="7721080037-1">)</span><span class="w">
</span><span class="p" data-group-id="7721080037-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="mf">1000.34</span><span class="p" data-group-id="7721080037-2">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">parse</span><span class="p" data-group-id="0435383926-3">(</span><span class="s">&quot;-1_000_000.34&quot;</span><span class="p" data-group-id="0435383926-3">)</span><span class="w">
</span><span class="p" data-group-id="0435383926-4">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="o">-</span><span class="mf">1000000.34</span><span class="p" data-group-id="0435383926-4">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">parse</span><span class="p" data-group-id="7721080037-3">(</span><span class="s">&quot;-1_000_000.34&quot;</span><span class="p" data-group-id="7721080037-3">)</span><span class="w">
</span><span class="p" data-group-id="7721080037-4">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="o">-</span><span class="mf">1000000.34</span><span class="p" data-group-id="7721080037-4">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">parse</span><span class="p" data-group-id="0435383926-5">(</span><span class="s">&quot;1.000&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;de&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">number</span><span class="p">:</span><span class="w"> </span><span class="ss">:integer</span><span class="p" data-group-id="0435383926-5">)</span><span class="w">
</span><span class="p" data-group-id="0435383926-6">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="mi">1000</span><span class="p" data-group-id="0435383926-6">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">parse</span><span class="p" data-group-id="7721080037-5">(</span><span class="s">&quot;1.000&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;de&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">number</span><span class="p">:</span><span class="w"> </span><span class="ss">:integer</span><span class="p" data-group-id="7721080037-5">)</span><span class="w">
</span><span class="p" data-group-id="7721080037-6">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="mi">1000</span><span class="p" data-group-id="7721080037-6">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">parse</span><span class="p" data-group-id="0435383926-7">(</span><span class="s">&quot;1.000,34&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;de&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">number</span><span class="p">:</span><span class="w"> </span><span class="ss">:integer</span><span class="p" data-group-id="0435383926-7">)</span><span class="w">
</span><span class="p" data-group-id="0435383926-8">{</span><span class="ss">:error</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="0435383926-9">{</span><span class="nc">Cldr.Number.ParseError</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;The string </span><span class="se">\&quot;</span><span class="s">1.000,34</span><span class="se">\&quot;</span><span class="s"> could not be parsed as a number&quot;</span><span class="p" data-group-id="0435383926-9">}</span><span class="p" data-group-id="0435383926-8">}</span></code></pre>
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">parse</span><span class="p" data-group-id="7721080037-7">(</span><span class="s">&quot;1.000,34&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;de&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">number</span><span class="p">:</span><span class="w"> </span><span class="ss">:integer</span><span class="p" data-group-id="7721080037-7">)</span><span class="w">
</span><span class="p" data-group-id="7721080037-8">{</span><span class="ss">:error</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="7721080037-9">{</span><span class="nc">Cldr.Number.ParseError</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;The string </span><span class="se">\&quot;</span><span class="s">1.000,34</span><span class="se">\&quot;</span><span class="s"> could not be parsed as a number&quot;</span><span class="p" data-group-id="7721080037-9">}</span><span class="p" data-group-id="7721080037-8">}</span></code></pre>
</section>
</section>
<section class="detail" id="resolve_currencies/2">
@ -525,17 +525,17 @@ financial instruments.</p></li></ul><h2 id="resolve_currencies/2-examples" class
</a>
<span class="text">Examples</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">scan</span><span class="p" data-group-id="4312945502-1">(</span><span class="s">&quot;100 US dollars&quot;</span><span class="p" data-group-id="4312945502-1">)</span><span class="w">
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">scan</span><span class="p" data-group-id="5088860621-1">(</span><span class="s">&quot;100 US dollars&quot;</span><span class="p" data-group-id="5088860621-1">)</span><span class="w">
</span><span class="gp unselectable">...&gt; </span><span class="o">|&gt;</span><span class="w"> </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">resolve_currencies</span><span class="w">
</span><span class="p" data-group-id="4312945502-2">[</span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="ss">:USD</span><span class="p" data-group-id="4312945502-2">]</span><span class="w">
</span><span class="p" data-group-id="5088860621-2">[</span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="ss">:USD</span><span class="p" data-group-id="5088860621-2">]</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">scan</span><span class="p" data-group-id="4312945502-3">(</span><span class="s">&quot;100 eurosports&quot;</span><span class="p" data-group-id="4312945502-3">)</span><span class="w">
</span><span class="gp unselectable">...&gt; </span><span class="o">|&gt;</span><span class="w"> </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">resolve_currencies</span><span class="p" data-group-id="4312945502-4">(</span><span class="ss">fuzzy</span><span class="p">:</span><span class="w"> </span><span class="mf">0.75</span><span class="p" data-group-id="4312945502-4">)</span><span class="w">
</span><span class="p" data-group-id="4312945502-5">[</span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="ss">:EUR</span><span class="p" data-group-id="4312945502-5">]</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">scan</span><span class="p" data-group-id="5088860621-3">(</span><span class="s">&quot;100 eurosports&quot;</span><span class="p" data-group-id="5088860621-3">)</span><span class="w">
</span><span class="gp unselectable">...&gt; </span><span class="o">|&gt;</span><span class="w"> </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">resolve_currencies</span><span class="p" data-group-id="5088860621-4">(</span><span class="ss">fuzzy</span><span class="p">:</span><span class="w"> </span><span class="mf">0.75</span><span class="p" data-group-id="5088860621-4">)</span><span class="w">
</span><span class="p" data-group-id="5088860621-5">[</span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="ss">:EUR</span><span class="p" data-group-id="5088860621-5">]</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">scan</span><span class="p" data-group-id="4312945502-6">(</span><span class="s">&quot;100 dollars des États-Unis&quot;</span><span class="p" data-group-id="4312945502-6">)</span><span class="w">
</span><span class="gp unselectable">...&gt; </span><span class="o">|&gt;</span><span class="w"> </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">resolve_currencies</span><span class="p" data-group-id="4312945502-7">(</span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;fr&quot;</span><span class="p" data-group-id="4312945502-7">)</span><span class="w">
</span><span class="p" data-group-id="4312945502-8">[</span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="ss">:USD</span><span class="p" data-group-id="4312945502-8">]</span></code></pre>
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">scan</span><span class="p" data-group-id="5088860621-6">(</span><span class="s">&quot;100 dollars des États-Unis&quot;</span><span class="p" data-group-id="5088860621-6">)</span><span class="w">
</span><span class="gp unselectable">...&gt; </span><span class="o">|&gt;</span><span class="w"> </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">resolve_currencies</span><span class="p" data-group-id="5088860621-7">(</span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;fr&quot;</span><span class="p" data-group-id="5088860621-7">)</span><span class="w">
</span><span class="p" data-group-id="5088860621-8">[</span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="ss">:USD</span><span class="p" data-group-id="5088860621-8">]</span></code></pre>
</section>
</section>
<section class="detail" id="resolve_currency/2">
@ -612,19 +612,19 @@ financial instruments.</p></li></ul><h2 id="resolve_currency/2-examples" class="
</a>
<span class="text">Examples</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">resolve_currency</span><span class="p" data-group-id="2149211343-1">(</span><span class="s">&quot;US dollars&quot;</span><span class="p" data-group-id="2149211343-1">)</span><span class="w">
</span><span class="p" data-group-id="2149211343-2">[</span><span class="ss">:USD</span><span class="p" data-group-id="2149211343-2">]</span><span class="w">
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">resolve_currency</span><span class="p" data-group-id="9410674741-1">(</span><span class="s">&quot;US dollars&quot;</span><span class="p" data-group-id="9410674741-1">)</span><span class="w">
</span><span class="p" data-group-id="9410674741-2">[</span><span class="ss">:USD</span><span class="p" data-group-id="9410674741-2">]</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">resolve_currency</span><span class="p" data-group-id="2149211343-3">(</span><span class="s">&quot;100 eurosports&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">fuzzy</span><span class="p">:</span><span class="w"> </span><span class="mf">0.75</span><span class="p" data-group-id="2149211343-3">)</span><span class="w">
</span><span class="p" data-group-id="2149211343-4">[</span><span class="ss">:EUR</span><span class="p" data-group-id="2149211343-4">]</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">resolve_currency</span><span class="p" data-group-id="9410674741-3">(</span><span class="s">&quot;100 eurosports&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">fuzzy</span><span class="p">:</span><span class="w"> </span><span class="mf">0.75</span><span class="p" data-group-id="9410674741-3">)</span><span class="w">
</span><span class="p" data-group-id="9410674741-4">[</span><span class="ss">:EUR</span><span class="p" data-group-id="9410674741-4">]</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">resolve_currency</span><span class="p" data-group-id="2149211343-5">(</span><span class="s">&quot;dollars des États-Unis&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;fr&quot;</span><span class="p" data-group-id="2149211343-5">)</span><span class="w">
</span><span class="p" data-group-id="2149211343-6">[</span><span class="ss">:USD</span><span class="p" data-group-id="2149211343-6">]</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">resolve_currency</span><span class="p" data-group-id="9410674741-5">(</span><span class="s">&quot;dollars des États-Unis&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;fr&quot;</span><span class="p" data-group-id="9410674741-5">)</span><span class="w">
</span><span class="p" data-group-id="9410674741-6">[</span><span class="ss">:USD</span><span class="p" data-group-id="9410674741-6">]</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">resolve_currency</span><span class="p" data-group-id="2149211343-7">(</span><span class="s">&quot;not a known currency&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;fr&quot;</span><span class="p" data-group-id="2149211343-7">)</span><span class="w">
</span><span class="p" data-group-id="2149211343-8">{</span><span class="ss">:error</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="2149211343-9">{</span><span class="nc">Cldr.UnknownCurrencyError</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;The currency </span><span class="se">\&quot;</span><span class="s">not a known currency</span><span class="se">\&quot;</span><span class="s"> is unknown or not supported&quot;</span><span class="p" data-group-id="2149211343-9">}</span><span class="p" data-group-id="2149211343-8">}</span></code></pre>
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">resolve_currency</span><span class="p" data-group-id="9410674741-7">(</span><span class="s">&quot;not a known currency&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;fr&quot;</span><span class="p" data-group-id="9410674741-7">)</span><span class="w">
</span><span class="p" data-group-id="9410674741-8">{</span><span class="ss">:error</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="9410674741-9">{</span><span class="nc">Cldr.UnknownCurrencyError</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;The currency </span><span class="se">\&quot;</span><span class="s">not a known currency</span><span class="se">\&quot;</span><span class="s"> is unknown or not supported&quot;</span><span class="p" data-group-id="9410674741-9">}</span><span class="p" data-group-id="9410674741-8">}</span></code></pre>
</section>
</section>
<section class="detail" id="resolve_per/2">
@ -688,13 +688,13 @@ The default is <code class="inline">options[:backend].get_locale()</code></li></
<span class="text">Examples</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">resolve_per</span><span class="w"> </span><span class="s">&quot;11%&quot;</span><span class="w">
</span><span class="p" data-group-id="4614211554-1">[</span><span class="s">&quot;11&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">:percent</span><span class="p" data-group-id="4614211554-1">]</span><span class="w">
</span><span class="p" data-group-id="5443775797-1">[</span><span class="s">&quot;11&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">:percent</span><span class="p" data-group-id="5443775797-1">]</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">resolve_per</span><span class="w"> </span><span class="s">&quot;% of linguists&quot;</span><span class="w">
</span><span class="p" data-group-id="4614211554-2">[</span><span class="ss">:percent</span><span class="p">,</span><span class="w"> </span><span class="s">&quot; of linguists&quot;</span><span class="p" data-group-id="4614211554-2">]</span><span class="w">
</span><span class="p" data-group-id="5443775797-2">[</span><span class="ss">:percent</span><span class="p">,</span><span class="w"> </span><span class="s">&quot; of linguists&quot;</span><span class="p" data-group-id="5443775797-2">]</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">resolve_per</span><span class="w"> </span><span class="s">&quot;% of linguists %&quot;</span><span class="w">
</span><span class="p" data-group-id="4614211554-3">[</span><span class="ss">:percent</span><span class="p">,</span><span class="w"> </span><span class="s">&quot; of linguists &quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">:percent</span><span class="p" data-group-id="4614211554-3">]</span></code></pre>
</span><span class="p" data-group-id="5443775797-3">[</span><span class="ss">:percent</span><span class="p">,</span><span class="w"> </span><span class="s">&quot; of linguists &quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">:percent</span><span class="p" data-group-id="5443775797-3">]</span></code></pre>
</section>
</section>
<section class="detail" id="resolve_pers/2">
@ -751,9 +751,9 @@ The default is <code class="inline">options[:backend].get_locale()</code></li></
</a>
<span class="text">Examples</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">scan</span><span class="p" data-group-id="7136278462-1">(</span><span class="s">&quot;100%&quot;</span><span class="p" data-group-id="7136278462-1">)</span><span class="w">
</span><span class="gp unselectable">...&gt; </span><span class="o">|&gt;</span><span class="w"> </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">resolve_pers</span><span class="p" data-group-id="7136278462-2">(</span><span class="p" data-group-id="7136278462-2">)</span><span class="w">
</span><span class="p" data-group-id="7136278462-3">[</span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="ss">:percent</span><span class="p" data-group-id="7136278462-3">]</span></code></pre>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">scan</span><span class="p" data-group-id="4222019889-1">(</span><span class="s">&quot;100%&quot;</span><span class="p" data-group-id="4222019889-1">)</span><span class="w">
</span><span class="gp unselectable">...&gt; </span><span class="o">|&gt;</span><span class="w"> </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">resolve_pers</span><span class="p" data-group-id="4222019889-2">(</span><span class="p" data-group-id="4222019889-2">)</span><span class="w">
</span><span class="p" data-group-id="4222019889-3">[</span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="ss">:percent</span><span class="p" data-group-id="4222019889-3">]</span></code></pre>
</section>
</section>
<section class="detail" id="scan/2">
@ -813,20 +813,20 @@ and any options provided are passed to that function.</p><h2 id="scan/2-examples
</a>
<span class="text">Examples</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">scan</span><span class="p" data-group-id="2707053643-1">(</span><span class="s">&quot;£1_000_000.34&quot;</span><span class="p" data-group-id="2707053643-1">)</span><span class="w">
</span><span class="p" data-group-id="2707053643-2">[</span><span class="s">&quot;£&quot;</span><span class="p">,</span><span class="w"> </span><span class="mf">1000000.34</span><span class="p" data-group-id="2707053643-2">]</span><span class="w">
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">scan</span><span class="p" data-group-id="9084724997-1">(</span><span class="s">&quot;£1_000_000.34&quot;</span><span class="p" data-group-id="9084724997-1">)</span><span class="w">
</span><span class="p" data-group-id="9084724997-2">[</span><span class="s">&quot;£&quot;</span><span class="p">,</span><span class="w"> </span><span class="mf">1000000.34</span><span class="p" data-group-id="9084724997-2">]</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">scan</span><span class="p" data-group-id="2707053643-3">(</span><span class="s">&quot;I want £1_000_000 dollars&quot;</span><span class="p" data-group-id="2707053643-3">)</span><span class="w">
</span><span class="p" data-group-id="2707053643-4">[</span><span class="s">&quot;I want £&quot;</span><span class="p">,</span><span class="w"> </span><span class="mi">1000000</span><span class="p">,</span><span class="w"> </span><span class="s">&quot; dollars&quot;</span><span class="p" data-group-id="2707053643-4">]</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">scan</span><span class="p" data-group-id="9084724997-3">(</span><span class="s">&quot;I want £1_000_000 dollars&quot;</span><span class="p" data-group-id="9084724997-3">)</span><span class="w">
</span><span class="p" data-group-id="9084724997-4">[</span><span class="s">&quot;I want £&quot;</span><span class="p">,</span><span class="w"> </span><span class="mi">1000000</span><span class="p">,</span><span class="w"> </span><span class="s">&quot; dollars&quot;</span><span class="p" data-group-id="9084724997-4">]</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">scan</span><span class="p" data-group-id="2707053643-5">(</span><span class="s">&quot;The prize is 23&quot;</span><span class="p" data-group-id="2707053643-5">)</span><span class="w">
</span><span class="p" data-group-id="2707053643-6">[</span><span class="s">&quot;The prize is &quot;</span><span class="p">,</span><span class="w"> </span><span class="mi">23</span><span class="p" data-group-id="2707053643-6">]</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">scan</span><span class="p" data-group-id="9084724997-5">(</span><span class="s">&quot;The prize is 23&quot;</span><span class="p" data-group-id="9084724997-5">)</span><span class="w">
</span><span class="p" data-group-id="9084724997-6">[</span><span class="s">&quot;The prize is &quot;</span><span class="p">,</span><span class="w"> </span><span class="mi">23</span><span class="p" data-group-id="9084724997-6">]</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">scan</span><span class="p" data-group-id="2707053643-7">(</span><span class="s">&quot;The lottery number is 23 for the next draw&quot;</span><span class="p" data-group-id="2707053643-7">)</span><span class="w">
</span><span class="p" data-group-id="2707053643-8">[</span><span class="s">&quot;The lottery number is &quot;</span><span class="p">,</span><span class="w"> </span><span class="mi">23</span><span class="p">,</span><span class="w"> </span><span class="s">&quot; for the next draw&quot;</span><span class="p" data-group-id="2707053643-8">]</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">scan</span><span class="p" data-group-id="9084724997-7">(</span><span class="s">&quot;The lottery number is 23 for the next draw&quot;</span><span class="p" data-group-id="9084724997-7">)</span><span class="w">
</span><span class="p" data-group-id="9084724997-8">[</span><span class="s">&quot;The lottery number is &quot;</span><span class="p">,</span><span class="w"> </span><span class="mi">23</span><span class="p">,</span><span class="w"> </span><span class="s">&quot; for the next draw&quot;</span><span class="p" data-group-id="9084724997-8">]</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">scan</span><span class="p" data-group-id="2707053643-9">(</span><span class="s">&quot;The loss is -1.000 euros&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;de&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">number</span><span class="p">:</span><span class="w"> </span><span class="ss">:integer</span><span class="p" data-group-id="2707053643-9">)</span><span class="w">
</span><span class="p" data-group-id="2707053643-10">[</span><span class="s">&quot;The loss is &quot;</span><span class="p">,</span><span class="w"> </span><span class="o">-</span><span class="mi">1000</span><span class="p">,</span><span class="w"> </span><span class="s">&quot; euros&quot;</span><span class="p" data-group-id="2707053643-10">]</span></code></pre>
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">scan</span><span class="p" data-group-id="9084724997-9">(</span><span class="s">&quot;The loss is -1.000 euros&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;de&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">number</span><span class="p">:</span><span class="w"> </span><span class="ss">:integer</span><span class="p" data-group-id="9084724997-9">)</span><span class="w">
</span><span class="p" data-group-id="9084724997-10">[</span><span class="s">&quot;The loss is &quot;</span><span class="p">,</span><span class="w"> </span><span class="o">-</span><span class="mi">1000</span><span class="p">,</span><span class="w"> </span><span class="s">&quot; euros&quot;</span><span class="p" data-group-id="9084724997-10">]</span></code></pre>
</section>
</section>
<section class="detail" id="to_approx_string/2">
@ -873,7 +873,7 @@ options.</p></li></ul><h2 id="to_approx_string/2-example" class="section-heading
<span class="text">Example</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">to_approx_string</span><span class="w"> </span><span class="mi">1234</span><span class="w">
</span><span class="p" data-group-id="8843860665-1">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;~1,234&quot;</span><span class="p" data-group-id="8843860665-1">}</span></code></pre>
</span><span class="p" data-group-id="3409547169-1">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;~1,234&quot;</span><span class="p" data-group-id="3409547169-1">}</span></code></pre>
</section>
</section>
<section class="detail" id="to_at_least_string/2">
@ -920,7 +920,7 @@ options.</p></li></ul><h2 id="to_at_least_string/2-example" class="section-headi
<span class="text">Example</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">to_at_least_string</span><span class="w"> </span><span class="mi">1234</span><span class="w">
</span><span class="p" data-group-id="1589324652-1">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;1,234+&quot;</span><span class="p" data-group-id="1589324652-1">}</span></code></pre>
</span><span class="p" data-group-id="5049563691-1">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;1,234+&quot;</span><span class="p" data-group-id="5049563691-1">}</span></code></pre>
</section>
</section>
<section class="detail" id="to_at_most_string/2">
@ -967,7 +967,7 @@ options.</p></li></ul><h2 id="to_at_most_string/2-example" class="section-headin
<span class="text">Example</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">to_at_most_string</span><span class="w"> </span><span class="mi">1234</span><span class="w">
</span><span class="p" data-group-id="4707673722-1">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;≤1,234&quot;</span><span class="p" data-group-id="4707673722-1">}</span></code></pre>
</span><span class="p" data-group-id="3063023121-1">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;≤1,234&quot;</span><span class="p" data-group-id="3063023121-1">}</span></code></pre>
</section>
</section>
<section class="detail" id="to_range_string/2">
@ -1014,7 +1014,7 @@ options.</p></li></ul><h2 id="to_range_string/2-example" class="section-heading"
<span class="text">Example</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">to_range_string</span><span class="w"> </span><span class="mi">1234</span><span class="o">..</span><span class="mi">5678</span><span class="w">
</span><span class="p" data-group-id="4164310923-1">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;1,2345,678&quot;</span><span class="p" data-group-id="4164310923-1">}</span></code></pre>
</span><span class="p" data-group-id="0921089335-1">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;1,2345,678&quot;</span><span class="p" data-group-id="0921089335-1">}</span></code></pre>
</section>
</section>
<section class="detail" id="to_string/2">
@ -1133,21 +1133,21 @@ extensions.</p><h2 id="to_string/2-wrapping-format-elements" class="section-head
</h2>
<p>Wrapping elements is particularly useful when formatting a number with a
currency symbol and the requirement is to have different HTML formatting
applied to the symbol than the number. For example:</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Cldr.Number</span><span class="o">.</span><span class="n">to_string</span><span class="p" data-group-id="7747223407-1">(</span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="ss">format</span><span class="p">:</span><span class="w"> </span><span class="ss">:currency</span><span class="p">,</span><span class="w"> </span><span class="ss">currency</span><span class="p">:</span><span class="w"> </span><span class="ss">:USD</span><span class="p">,</span><span class="w"> </span><span class="ss">wrapper</span><span class="p">:</span><span class="w"> </span><span class="k" data-group-id="7747223407-2">fn</span><span class="w">
applied to the symbol than the number. For example:</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Cldr.Number</span><span class="o">.</span><span class="n">to_string</span><span class="p" data-group-id="9284852442-1">(</span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="ss">format</span><span class="p">:</span><span class="w"> </span><span class="ss">:currency</span><span class="p">,</span><span class="w"> </span><span class="ss">currency</span><span class="p">:</span><span class="w"> </span><span class="ss">:USD</span><span class="p">,</span><span class="w"> </span><span class="ss">wrapper</span><span class="p">:</span><span class="w"> </span><span class="k" data-group-id="9284852442-2">fn</span><span class="w">
</span><span class="gp unselectable">...&gt; </span><span class="w"> </span><span class="n">string</span><span class="p">,</span><span class="w"> </span><span class="ss">:currency_symbol</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="s">&quot;&lt;span class=</span><span class="se">\&quot;</span><span class="s">symbol</span><span class="se">\&quot;</span><span class="s">&gt;&quot;</span><span class="w"> </span><span class="o">&lt;&gt;</span><span class="w"> </span><span class="n">string</span><span class="w"> </span><span class="o">&lt;&gt;</span><span class="w"> </span><span class="s">&quot;&lt;/span&gt;&quot;</span><span class="w">
</span><span class="gp unselectable">...&gt; </span><span class="w"> </span><span class="n">string</span><span class="p">,</span><span class="w"> </span><span class="ss">:number</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="s">&quot;&lt;span class=</span><span class="se">\&quot;</span><span class="s">number</span><span class="se">\&quot;</span><span class="s">&gt;&quot;</span><span class="w"> </span><span class="o">&lt;&gt;</span><span class="w"> </span><span class="n">string</span><span class="w"> </span><span class="o">&lt;&gt;</span><span class="w"> </span><span class="s">&quot;&lt;/span&gt;&quot;</span><span class="w">
</span><span class="gp unselectable">...&gt; </span><span class="w"> </span><span class="n">string</span><span class="p">,</span><span class="w"> </span><span class="ss">:currency_space</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="s">&quot;&lt;span&gt;&quot;</span><span class="w"> </span><span class="o">&lt;&gt;</span><span class="w"> </span><span class="n">string</span><span class="w"> </span><span class="o">&lt;&gt;</span><span class="w"> </span><span class="s">&quot;&lt;/span&gt;&quot;</span><span class="w">
</span><span class="gp unselectable">...&gt; </span><span class="w"> </span><span class="n">string</span><span class="p">,</span><span class="w"> </span><span class="c">_other</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="n">string</span><span class="w">
</span><span class="gp unselectable">...&gt; </span><span class="k" data-group-id="7747223407-2">end</span><span class="p" data-group-id="7747223407-1">)</span><span class="w">
</span><span class="p" data-group-id="7747223407-3">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;&lt;span class=</span><span class="se">\&quot;</span><span class="s">symbol</span><span class="se">\&quot;</span><span class="s">&gt;$&lt;/span&gt;&lt;span class=</span><span class="se">\&quot;</span><span class="s">number</span><span class="se">\&quot;</span><span class="s">&gt;100.00&lt;/span&gt;&quot;</span><span class="p" data-group-id="7747223407-3">}</span></code></pre><p>It is also possible and recommended to use the <a href="https://hexdocs.pm/phoenix_html/3.3.3/Phoenix.HTML.Tag.html#content_tag/3"><code class="inline">Phoenix.HTML.Tag.content_tag/3</code></a>
</span><span class="gp unselectable">...&gt; </span><span class="k" data-group-id="9284852442-2">end</span><span class="p" data-group-id="9284852442-1">)</span><span class="w">
</span><span class="p" data-group-id="9284852442-3">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;&lt;span class=</span><span class="se">\&quot;</span><span class="s">symbol</span><span class="se">\&quot;</span><span class="s">&gt;$&lt;/span&gt;&lt;span class=</span><span class="se">\&quot;</span><span class="s">number</span><span class="se">\&quot;</span><span class="s">&gt;100.00&lt;/span&gt;&quot;</span><span class="p" data-group-id="9284852442-3">}</span></code></pre><p>It is also possible and recommended to use the <a href="https://hexdocs.pm/phoenix_html/3.3.3/Phoenix.HTML.Tag.html#content_tag/3"><code class="inline">Phoenix.HTML.Tag.content_tag/3</code></a>
function if wrapping HTML tags since these will ensure HTML entities are
correctly encoded. For example:</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Cldr.Number</span><span class="o">.</span><span class="n">to_string</span><span class="p" data-group-id="8031867815-1">(</span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="ss">format</span><span class="p">:</span><span class="w"> </span><span class="ss">:currency</span><span class="p">,</span><span class="w"> </span><span class="ss">currency</span><span class="p">:</span><span class="w"> </span><span class="ss">:USD</span><span class="p">,</span><span class="w"> </span><span class="ss">wrapper</span><span class="p">:</span><span class="w"> </span><span class="k" data-group-id="8031867815-2">fn</span><span class="w">
</span><span class="gp unselectable">...&gt; </span><span class="w"> </span><span class="n">string</span><span class="p">,</span><span class="w"> </span><span class="ss">:currency_symbol</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="nc">Phoenix.HTML.Tag</span><span class="o">.</span><span class="n">content_tag</span><span class="p" data-group-id="8031867815-3">(</span><span class="ss">:span</span><span class="p">,</span><span class="w"> </span><span class="n">string</span><span class="p">,</span><span class="w"> </span><span class="ss">class</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;symbol&quot;</span><span class="p" data-group-id="8031867815-3">)</span><span class="w">
</span><span class="gp unselectable">...&gt; </span><span class="w"> </span><span class="n">string</span><span class="p">,</span><span class="w"> </span><span class="ss">:number</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="nc">Phoenix.HTML.Tag</span><span class="o">.</span><span class="n">content_tag</span><span class="p" data-group-id="8031867815-4">(</span><span class="ss">:span</span><span class="p">,</span><span class="w"> </span><span class="n">string</span><span class="p">,</span><span class="w"> </span><span class="ss">class</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;number&quot;</span><span class="p" data-group-id="8031867815-4">)</span><span class="w">
</span><span class="gp unselectable">...&gt; </span><span class="w"> </span><span class="n">string</span><span class="p">,</span><span class="w"> </span><span class="ss">:currency_space</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="nc">Phoenix.HTML.Tag</span><span class="o">.</span><span class="n">content_tag</span><span class="p" data-group-id="8031867815-5">(</span><span class="ss">:span</span><span class="p">,</span><span class="w"> </span><span class="n">string</span><span class="p" data-group-id="8031867815-5">)</span><span class="w">
correctly encoded. For example:</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Cldr.Number</span><span class="o">.</span><span class="n">to_string</span><span class="p" data-group-id="3692484418-1">(</span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="ss">format</span><span class="p">:</span><span class="w"> </span><span class="ss">:currency</span><span class="p">,</span><span class="w"> </span><span class="ss">currency</span><span class="p">:</span><span class="w"> </span><span class="ss">:USD</span><span class="p">,</span><span class="w"> </span><span class="ss">wrapper</span><span class="p">:</span><span class="w"> </span><span class="k" data-group-id="3692484418-2">fn</span><span class="w">
</span><span class="gp unselectable">...&gt; </span><span class="w"> </span><span class="n">string</span><span class="p">,</span><span class="w"> </span><span class="ss">:currency_symbol</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="nc">Phoenix.HTML.Tag</span><span class="o">.</span><span class="n">content_tag</span><span class="p" data-group-id="3692484418-3">(</span><span class="ss">:span</span><span class="p">,</span><span class="w"> </span><span class="n">string</span><span class="p">,</span><span class="w"> </span><span class="ss">class</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;symbol&quot;</span><span class="p" data-group-id="3692484418-3">)</span><span class="w">
</span><span class="gp unselectable">...&gt; </span><span class="w"> </span><span class="n">string</span><span class="p">,</span><span class="w"> </span><span class="ss">:number</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="nc">Phoenix.HTML.Tag</span><span class="o">.</span><span class="n">content_tag</span><span class="p" data-group-id="3692484418-4">(</span><span class="ss">:span</span><span class="p">,</span><span class="w"> </span><span class="n">string</span><span class="p">,</span><span class="w"> </span><span class="ss">class</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;number&quot;</span><span class="p" data-group-id="3692484418-4">)</span><span class="w">
</span><span class="gp unselectable">...&gt; </span><span class="w"> </span><span class="n">string</span><span class="p">,</span><span class="w"> </span><span class="ss">:currency_space</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="nc">Phoenix.HTML.Tag</span><span class="o">.</span><span class="n">content_tag</span><span class="p" data-group-id="3692484418-5">(</span><span class="ss">:span</span><span class="p">,</span><span class="w"> </span><span class="n">string</span><span class="p" data-group-id="3692484418-5">)</span><span class="w">
</span><span class="gp unselectable">...&gt; </span><span class="w"> </span><span class="n">string</span><span class="p">,</span><span class="w"> </span><span class="c">_other</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="n">string</span><span class="w">
</span><span class="gp unselectable">...&gt; </span><span class="k" data-group-id="8031867815-2">end</span><span class="p" data-group-id="8031867815-1">)</span><span class="w">
</span><span class="p" data-group-id="8031867815-6">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;&lt;span class=</span><span class="se">\&quot;</span><span class="s">symbol</span><span class="se">\&quot;</span><span class="s">&gt;$&lt;/span&gt;&lt;span class=</span><span class="se">\&quot;</span><span class="s">number</span><span class="se">\&quot;</span><span class="s">&gt;100.00&lt;/span&gt;&quot;</span><span class="p" data-group-id="8031867815-6">}</span></code></pre><p>When formatting a number the format is parsed into format elements that might include
</span><span class="gp unselectable">...&gt; </span><span class="k" data-group-id="3692484418-2">end</span><span class="p" data-group-id="3692484418-1">)</span><span class="w">
</span><span class="p" data-group-id="3692484418-6">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;&lt;span class=</span><span class="se">\&quot;</span><span class="s">symbol</span><span class="se">\&quot;</span><span class="s">&gt;$&lt;/span&gt;&lt;span class=</span><span class="se">\&quot;</span><span class="s">number</span><span class="se">\&quot;</span><span class="s">&gt;100.00&lt;/span&gt;&quot;</span><span class="p" data-group-id="3692484418-6">}</span></code></pre><p>When formatting a number the format is parsed into format elements that might include
a currency symbol, a literal string, inserted text between a currency symbol and the
currency amount, a percent sign, the number itself and several other elements. In
some cases it is helpful to be apply specific formatting to each element.
@ -1168,80 +1168,80 @@ inserted in the final formatted number.</p><h2 id="to_string/2-returns" class="s
<span class="text">Examples</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">to_string</span><span class="w"> </span><span class="mi">12345</span><span class="w">
</span><span class="p" data-group-id="0439694011-1">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;12,345&quot;</span><span class="p" data-group-id="0439694011-1">}</span><span class="w">
</span><span class="p" data-group-id="1623746322-1">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;12,345&quot;</span><span class="p" data-group-id="1623746322-1">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">to_string</span><span class="w"> </span><span class="mi">12345</span><span class="p">,</span><span class="w"> </span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;fr&quot;</span><span class="w">
</span><span class="p" data-group-id="0439694011-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;12345&quot;</span><span class="p" data-group-id="0439694011-2">}</span><span class="w">
</span><span class="p" data-group-id="1623746322-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;12345&quot;</span><span class="p" data-group-id="1623746322-2">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">to_string</span><span class="w"> </span><span class="mf">1345.32</span><span class="p">,</span><span class="w"> </span><span class="ss">currency</span><span class="p">:</span><span class="w"> </span><span class="ss">:EUR</span><span class="p">,</span><span class="w"> </span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;es&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">minimum_grouping_digits</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="w">
</span><span class="p" data-group-id="0439694011-3">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;1.345,32 &quot;</span><span class="p" data-group-id="0439694011-3">}</span><span class="w">
</span><span class="p" data-group-id="1623746322-3">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;1.345,32 &quot;</span><span class="p" data-group-id="1623746322-3">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">to_string</span><span class="w"> </span><span class="mf">1345.32</span><span class="p">,</span><span class="w"> </span><span class="ss">currency</span><span class="p">:</span><span class="w"> </span><span class="ss">:EUR</span><span class="p">,</span><span class="w"> </span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;es&quot;</span><span class="w">
</span><span class="p" data-group-id="0439694011-4">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;1345,32 &quot;</span><span class="p" data-group-id="0439694011-4">}</span><span class="w">
</span><span class="p" data-group-id="1623746322-4">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;1345,32 &quot;</span><span class="p" data-group-id="1623746322-4">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">to_string</span><span class="w"> </span><span class="mi">12345</span><span class="p">,</span><span class="w"> </span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;fr&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">currency</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;USD&quot;</span><span class="w">
</span><span class="p" data-group-id="0439694011-5">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;12345,00 $US&quot;</span><span class="p" data-group-id="0439694011-5">}</span><span class="w">
</span><span class="p" data-group-id="1623746322-5">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;12345,00 $US&quot;</span><span class="p" data-group-id="1623746322-5">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">to_string</span><span class="w"> </span><span class="mi">12345</span><span class="p">,</span><span class="w"> </span><span class="ss">format</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;#E0&quot;</span><span class="w">
</span><span class="p" data-group-id="0439694011-6">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;1.2345E4&quot;</span><span class="p" data-group-id="0439694011-6">}</span><span class="w">
</span><span class="p" data-group-id="1623746322-6">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;1.2345E4&quot;</span><span class="p" data-group-id="1623746322-6">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">to_string</span><span class="w"> </span><span class="mi">12345</span><span class="p">,</span><span class="w"> </span><span class="ss">format</span><span class="p">:</span><span class="w"> </span><span class="ss">:accounting</span><span class="p">,</span><span class="w"> </span><span class="ss">currency</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;THB&quot;</span><span class="w">
</span><span class="p" data-group-id="0439694011-7">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;THB 12,345.00&quot;</span><span class="p" data-group-id="0439694011-7">}</span><span class="w">
</span><span class="p" data-group-id="1623746322-7">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;THB 12,345.00&quot;</span><span class="p" data-group-id="1623746322-7">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">to_string</span><span class="w"> </span><span class="o">-</span><span class="mi">12345</span><span class="p">,</span><span class="w"> </span><span class="ss">format</span><span class="p">:</span><span class="w"> </span><span class="ss">:accounting</span><span class="p">,</span><span class="w"> </span><span class="ss">currency</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;THB&quot;</span><span class="w">
</span><span class="p" data-group-id="0439694011-8">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;(THB 12,345.00)&quot;</span><span class="p" data-group-id="0439694011-8">}</span><span class="w">
</span><span class="p" data-group-id="1623746322-8">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;(THB 12,345.00)&quot;</span><span class="p" data-group-id="1623746322-8">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">to_string</span><span class="w"> </span><span class="mi">12345</span><span class="p">,</span><span class="w"> </span><span class="ss">format</span><span class="p">:</span><span class="w"> </span><span class="ss">:accounting</span><span class="p">,</span><span class="w"> </span><span class="ss">currency</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;THB&quot;</span><span class="p">,</span><span class="w">
</span><span class="gp unselectable">...&gt; </span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;th&quot;</span><span class="w">
</span><span class="p" data-group-id="0439694011-9">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;฿12,345.00&quot;</span><span class="p" data-group-id="0439694011-9">}</span><span class="w">
</span><span class="p" data-group-id="1623746322-9">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;฿12,345.00&quot;</span><span class="p" data-group-id="1623746322-9">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">to_string</span><span class="w"> </span><span class="mi">12345</span><span class="p">,</span><span class="w"> </span><span class="ss">format</span><span class="p">:</span><span class="w"> </span><span class="ss">:accounting</span><span class="p">,</span><span class="w"> </span><span class="ss">currency</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;THB&quot;</span><span class="p">,</span><span class="w">
</span><span class="gp unselectable">...&gt; </span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;th&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">number_system</span><span class="p">:</span><span class="w"> </span><span class="ss">:native</span><span class="w">
</span><span class="p" data-group-id="0439694011-10">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;฿๑๒,๓๔๕.&quot;</span><span class="p" data-group-id="0439694011-10">}</span><span class="w">
</span><span class="p" data-group-id="1623746322-10">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;฿๑๒,๓๔๕.&quot;</span><span class="p" data-group-id="1623746322-10">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">to_string</span><span class="w"> </span><span class="mf">1244.30</span><span class="p">,</span><span class="w"> </span><span class="ss">format</span><span class="p">:</span><span class="w"> </span><span class="ss">:long</span><span class="w">
</span><span class="p" data-group-id="0439694011-11">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;1 thousand&quot;</span><span class="p" data-group-id="0439694011-11">}</span><span class="w">
</span><span class="p" data-group-id="1623746322-11">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;1 thousand&quot;</span><span class="p" data-group-id="1623746322-11">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">to_string</span><span class="w"> </span><span class="mf">1244.30</span><span class="p">,</span><span class="w"> </span><span class="ss">format</span><span class="p">:</span><span class="w"> </span><span class="ss">:long</span><span class="p">,</span><span class="w"> </span><span class="ss">currency</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;USD&quot;</span><span class="w">
</span><span class="p" data-group-id="0439694011-12">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;1,244 US dollars&quot;</span><span class="p" data-group-id="0439694011-12">}</span><span class="w">
</span><span class="p" data-group-id="1623746322-12">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;1,244 US dollars&quot;</span><span class="p" data-group-id="1623746322-12">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">to_string</span><span class="w"> </span><span class="mf">1244.30</span><span class="p">,</span><span class="w"> </span><span class="ss">format</span><span class="p">:</span><span class="w"> </span><span class="ss">:short</span><span class="w">
</span><span class="p" data-group-id="0439694011-13">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;1K&quot;</span><span class="p" data-group-id="0439694011-13">}</span><span class="w">
</span><span class="p" data-group-id="1623746322-13">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;1K&quot;</span><span class="p" data-group-id="1623746322-13">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">to_string</span><span class="w"> </span><span class="mf">1244.30</span><span class="p">,</span><span class="w"> </span><span class="ss">format</span><span class="p">:</span><span class="w"> </span><span class="ss">:short</span><span class="p">,</span><span class="w"> </span><span class="ss">currency</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;EUR&quot;</span><span class="w">
</span><span class="p" data-group-id="0439694011-14">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;€1K&quot;</span><span class="p" data-group-id="0439694011-14">}</span><span class="w">
</span><span class="p" data-group-id="1623746322-14">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;€1K&quot;</span><span class="p" data-group-id="1623746322-14">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">to_string</span><span class="w"> </span><span class="mi">1234</span><span class="p">,</span><span class="w"> </span><span class="ss">format</span><span class="p">:</span><span class="w"> </span><span class="ss">:spellout</span><span class="w">
</span><span class="p" data-group-id="0439694011-15">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;one thousand two hundred thirty-four&quot;</span><span class="p" data-group-id="0439694011-15">}</span><span class="w">
</span><span class="p" data-group-id="1623746322-15">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;one thousand two hundred thirty-four&quot;</span><span class="p" data-group-id="1623746322-15">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">to_string</span><span class="w"> </span><span class="mi">1234</span><span class="p">,</span><span class="w"> </span><span class="ss">format</span><span class="p">:</span><span class="w"> </span><span class="ss">:spellout_verbose</span><span class="w">
</span><span class="p" data-group-id="0439694011-16">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;one thousand two hundred and thirty-four&quot;</span><span class="p" data-group-id="0439694011-16">}</span><span class="w">
</span><span class="p" data-group-id="1623746322-16">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;one thousand two hundred and thirty-four&quot;</span><span class="p" data-group-id="1623746322-16">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">to_string</span><span class="w"> </span><span class="mi">1989</span><span class="p">,</span><span class="w"> </span><span class="ss">format</span><span class="p">:</span><span class="w"> </span><span class="ss">:spellout_year</span><span class="w">
</span><span class="p" data-group-id="0439694011-17">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;nineteen eighty-nine&quot;</span><span class="p" data-group-id="0439694011-17">}</span><span class="w">
</span><span class="p" data-group-id="1623746322-17">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;nineteen eighty-nine&quot;</span><span class="p" data-group-id="1623746322-17">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">to_string</span><span class="w"> </span><span class="mi">123</span><span class="p">,</span><span class="w"> </span><span class="ss">format</span><span class="p">:</span><span class="w"> </span><span class="ss">:ordinal</span><span class="w">
</span><span class="p" data-group-id="0439694011-18">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;123rd&quot;</span><span class="p" data-group-id="0439694011-18">}</span><span class="w">
</span><span class="p" data-group-id="1623746322-18">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;123rd&quot;</span><span class="p" data-group-id="1623746322-18">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">to_string</span><span class="w"> </span><span class="mi">123</span><span class="p">,</span><span class="w"> </span><span class="ss">format</span><span class="p">:</span><span class="w"> </span><span class="ss">:roman</span><span class="w">
</span><span class="p" data-group-id="0439694011-19">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;CXXIII&quot;</span><span class="p" data-group-id="0439694011-19">}</span><span class="w">
</span><span class="p" data-group-id="1623746322-19">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;CXXIII&quot;</span><span class="p" data-group-id="1623746322-19">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">to_string</span><span class="w"> </span><span class="mi">123</span><span class="p">,</span><span class="w"> </span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;th-u-nu-thai&quot;</span><span class="w">
</span><span class="p" data-group-id="0439694011-20">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;๑๒๓&quot;</span><span class="p" data-group-id="0439694011-20">}</span></code></pre><h2 id="to_string/2-errors" class="section-heading">
</span><span class="p" data-group-id="1623746322-20">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;๑๒๓&quot;</span><span class="p" data-group-id="1623746322-20">}</span></code></pre><h2 id="to_string/2-errors" class="section-heading">
<a href="#to_string/2-errors" class="hover-link">
<i class="ri-link-m" aria-hidden="true"></i>
</a>
<span class="text">Errors</span>
</h2>
<p>An error tuple <code class="inline">{:error, reason}</code> will be returned if an error is detected.
The two most likely causes of an error return are:</p><ul><li>A format cannot be compiled. In this case the error tuple will look like:</li></ul><pre><code class="makeup elixir" translate="no"><span class="w"> </span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">to_string</span><span class="p" data-group-id="2047524187-1">(</span><span class="mi">12345</span><span class="p">,</span><span class="w"> </span><span class="ss">format</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;0#&quot;</span><span class="p" data-group-id="2047524187-1">)</span><span class="w">
</span><span class="p" data-group-id="2047524187-2">{</span><span class="ss">:error</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="2047524187-3">{</span><span class="nc">Cldr.FormatCompileError</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;Decimal format compiler: syntax error before: </span><span class="se">\&quot;</span><span class="s">#</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p" data-group-id="2047524187-3">}</span><span class="p" data-group-id="2047524187-2">}</span></code></pre><ul><li>The format style requested is not defined for the <code class="inline">locale</code> and
The two most likely causes of an error return are:</p><ul><li>A format cannot be compiled. In this case the error tuple will look like:</li></ul><pre><code class="makeup elixir" translate="no"><span class="w"> </span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">to_string</span><span class="p" data-group-id="2923929959-1">(</span><span class="mi">12345</span><span class="p">,</span><span class="w"> </span><span class="ss">format</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;0#&quot;</span><span class="p" data-group-id="2923929959-1">)</span><span class="w">
</span><span class="p" data-group-id="2923929959-2">{</span><span class="ss">:error</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="2923929959-3">{</span><span class="nc">Cldr.FormatCompileError</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;Decimal format compiler: syntax error before: </span><span class="se">\&quot;</span><span class="s">#</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p" data-group-id="2923929959-3">}</span><span class="p" data-group-id="2923929959-2">}</span></code></pre><ul><li>The format style requested is not defined for the <code class="inline">locale</code> and
<code class="inline">number_system</code>. This happens typically when the number system is
<code class="inline">:algorithmic</code> rather than the more common <code class="inline">:numeric</code>. In this case the error
return looks like:</li></ul><pre><code class="makeup elixir" translate="no"><span class="w"> </span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">to_string</span><span class="p" data-group-id="9411737738-1">(</span><span class="mi">1234</span><span class="p">,</span><span class="w"> </span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;he&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">number_system</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;hebr&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">format</span><span class="p">:</span><span class="w"> </span><span class="ss">:percent</span><span class="p" data-group-id="9411737738-1">)</span><span class="w">
</span><span class="p" data-group-id="9411737738-2">{</span><span class="ss">:error</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="9411737738-3">{</span><span class="nc">Cldr.UnknownFormatError</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;The locale :he with number system :hebr does not define a format :percent&quot;</span><span class="p" data-group-id="9411737738-3">}</span><span class="p" data-group-id="9411737738-2">}</span></code></pre>
return looks like:</li></ul><pre><code class="makeup elixir" translate="no"><span class="w"> </span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">to_string</span><span class="p" data-group-id="3797125220-1">(</span><span class="mi">1234</span><span class="p">,</span><span class="w"> </span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;he&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">number_system</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;hebr&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">format</span><span class="p">:</span><span class="w"> </span><span class="ss">:percent</span><span class="p" data-group-id="3797125220-1">)</span><span class="w">
</span><span class="p" data-group-id="3797125220-2">{</span><span class="ss">:error</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="3797125220-3">{</span><span class="nc">Cldr.UnknownFormatError</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;The locale :he with number system :hebr does not define a format :percent&quot;</span><span class="p" data-group-id="3797125220-3">}</span><span class="p" data-group-id="3797125220-2">}</span></code></pre>
</section>
</section>
<section class="detail" id="to_string!/2">
@ -1346,17 +1346,17 @@ returned by <a href="https://hexdocs.pm/ex_cldr/2.37.5/Cldr.html#known_number_sy
<span class="text">Examples</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">validate_number_system</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">:latn</span><span class="w">
</span><span class="p" data-group-id="7859762057-1">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="ss">:latn</span><span class="p" data-group-id="7859762057-1">}</span><span class="w">
</span><span class="p" data-group-id="0620764165-1">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="ss">:latn</span><span class="p" data-group-id="0620764165-1">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">validate_number_system</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">:default</span><span class="w">
</span><span class="p" data-group-id="7859762057-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="ss">:latn</span><span class="p" data-group-id="7859762057-2">}</span><span class="w">
</span><span class="p" data-group-id="0620764165-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="ss">:latn</span><span class="p" data-group-id="0620764165-2">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">validate_number_system</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">:unknown</span><span class="w">
</span><span class="p" data-group-id="7859762057-3">{</span><span class="ss">:error</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="7859762057-4">{</span><span class="nc">Cldr.UnknownNumberSystemError</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;The number system :unknown is unknown&quot;</span><span class="p" data-group-id="7859762057-4">}</span><span class="p" data-group-id="7859762057-3">}</span><span class="w">
</span><span class="p" data-group-id="0620764165-3">{</span><span class="ss">:error</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="0620764165-4">{</span><span class="nc">Cldr.UnknownNumberSystemError</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;The number system :unknown is unknown&quot;</span><span class="p" data-group-id="0620764165-4">}</span><span class="p" data-group-id="0620764165-3">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">validate_number_system</span><span class="w"> </span><span class="s">&quot;zz&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">:default</span><span class="w">
</span><span class="p" data-group-id="7859762057-5">{</span><span class="ss">:error</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="7859762057-6">{</span><span class="nc">Cldr.InvalidLanguageError</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;The language </span><span class="se">\&quot;</span><span class="s">zz</span><span class="se">\&quot;</span><span class="s"> is invalid&quot;</span><span class="p" data-group-id="7859762057-6">}</span><span class="p" data-group-id="7859762057-5">}</span></code></pre>
</span><span class="p" data-group-id="0620764165-5">{</span><span class="ss">:error</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="0620764165-6">{</span><span class="nc">Cldr.InvalidLanguageError</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;The language </span><span class="se">\&quot;</span><span class="s">zz</span><span class="se">\&quot;</span><span class="s"> is invalid&quot;</span><span class="p" data-group-id="0620764165-6">}</span><span class="p" data-group-id="0620764165-5">}</span></code></pre>
</section>
</section>

View File

@ -145,9 +145,9 @@ Pages
<section id="moduledoc">
<p>Functions to implement the number system rule-based-number-format rules of CLDR.</p><p>These rules are defined only on the &quot;und&quot; locale and represent specialised
number formatting.</p><p>The standard public API for RBNF is via the <a href="https://hexdocs.pm/ex_cldr_numbers/2.32.3/Cldr.Number.html#to_string/2"><code class="inline">Cldr.Number.to_string/2</code></a> function.</p><p>The functions on this module are defined at compile time based upon the RBNF rules
defined in the Unicode CLDR data repository. Available rules are identified by:</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Rbnf.NumberSystem</span><span class="o">.</span><span class="n">rule_sets</span><span class="p" data-group-id="1882927726-1">(</span><span class="ss">:und</span><span class="p" data-group-id="1882927726-1">)</span><span class="w">
</span><span class="gp unselectable">...&gt; </span><span class="o">|&gt;</span><span class="w"> </span><span class="nc">Enum</span><span class="o">.</span><span class="n">sort</span><span class="p" data-group-id="1882927726-2">(</span><span class="p" data-group-id="1882927726-2">)</span><span class="w">
</span><span class="p" data-group-id="1882927726-3">[</span><span class="w">
defined in the Unicode CLDR data repository. Available rules are identified by:</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Rbnf.NumberSystem</span><span class="o">.</span><span class="n">rule_sets</span><span class="p" data-group-id="7117670287-1">(</span><span class="ss">:und</span><span class="p" data-group-id="7117670287-1">)</span><span class="w">
</span><span class="gp unselectable">...&gt; </span><span class="o">|&gt;</span><span class="w"> </span><span class="nc">Enum</span><span class="o">.</span><span class="n">sort</span><span class="p" data-group-id="7117670287-2">(</span><span class="p" data-group-id="7117670287-2">)</span><span class="w">
</span><span class="p" data-group-id="7117670287-3">[</span><span class="w">
</span><span class="ss">:armenian_lower</span><span class="p">,</span><span class="w">
</span><span class="ss">:armenian_upper</span><span class="p">,</span><span class="w">
</span><span class="ss">:cyrillic_lower</span><span class="p">,</span><span class="w">
@ -161,9 +161,9 @@ defined in the Unicode CLDR data repository. Available rules are identified by:
</span><span class="ss">:roman_upper</span><span class="p">,</span><span class="w">
</span><span class="ss">:tamil</span><span class="p">,</span><span class="w">
</span><span class="ss">:zz_default</span><span class="w">
</span><span class="p" data-group-id="1882927726-3">]</span></code></pre><p>A rule can then be invoked on an available rule_set. For example</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Rbnf.NumberSystem</span><span class="o">.</span><span class="n">roman_upper</span><span class="p" data-group-id="1392064339-1">(</span><span class="mi">123</span><span class="p">,</span><span class="w"> </span><span class="ss">:und</span><span class="p" data-group-id="1392064339-1">)</span><span class="w">
</span><span class="s">&quot;CXXIII&quot;</span></code></pre><p>This particular call is equivalent to the call through the public API of:</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">to_string</span><span class="p" data-group-id="2836545566-1">(</span><span class="mi">123</span><span class="p">,</span><span class="w"> </span><span class="ss">format</span><span class="p">:</span><span class="w"> </span><span class="ss">:roman</span><span class="p" data-group-id="2836545566-1">)</span><span class="w">
</span><span class="p" data-group-id="2836545566-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;CXXIII&quot;</span><span class="p" data-group-id="2836545566-2">}</span></code></pre>
</span><span class="p" data-group-id="7117670287-3">]</span></code></pre><p>A rule can then be invoked on an available rule_set. For example</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Rbnf.NumberSystem</span><span class="o">.</span><span class="n">roman_upper</span><span class="p" data-group-id="3304234087-1">(</span><span class="mi">123</span><span class="p">,</span><span class="w"> </span><span class="ss">:und</span><span class="p" data-group-id="3304234087-1">)</span><span class="w">
</span><span class="s">&quot;CXXIII&quot;</span></code></pre><p>This particular call is equivalent to the call through the public API of:</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">to_string</span><span class="p" data-group-id="7405396343-1">(</span><span class="mi">123</span><span class="p">,</span><span class="w"> </span><span class="ss">format</span><span class="p">:</span><span class="w"> </span><span class="ss">:roman</span><span class="p" data-group-id="7405396343-1">)</span><span class="w">
</span><span class="p" data-group-id="7405396343-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;CXXIII&quot;</span><span class="p" data-group-id="7405396343-2">}</span></code></pre>
</section>

View File

@ -145,20 +145,20 @@ Pages
<section id="moduledoc">
<p>Functions to implement the ordinal rule-based-number-format rules of CLDR.</p><p>As CLDR notes, the data is incomplete or non-existent for many languages. It
is considered complete for English however.</p><p>The standard public API for RBNF is via the <a href="https://hexdocs.pm/ex_cldr_numbers/2.32.3/Cldr.Number.html#to_string/2"><code class="inline">Cldr.Number.to_string/2</code></a> function.</p><p>The functions on this module are defined at compile time based upon the RBNF rules
defined in the Unicode CLDR data repository. Available rules are identified by:</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Rbnf.Ordinal</span><span class="o">.</span><span class="n">rule_sets</span><span class="p" data-group-id="1016433598-1">(</span><span class="ss">:en</span><span class="p" data-group-id="1016433598-1">)</span><span class="w">
</span><span class="p" data-group-id="1016433598-2">[</span><span class="ss">:digits_ordinal</span><span class="p" data-group-id="1016433598-2">]</span><span class="w">
defined in the Unicode CLDR data repository. Available rules are identified by:</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Rbnf.Ordinal</span><span class="o">.</span><span class="n">rule_sets</span><span class="p" data-group-id="2947424758-1">(</span><span class="ss">:en</span><span class="p" data-group-id="2947424758-1">)</span><span class="w">
</span><span class="p" data-group-id="2947424758-2">[</span><span class="ss">:digits_ordinal</span><span class="p" data-group-id="2947424758-2">]</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Rbnf.Ordinal</span><span class="o">.</span><span class="n">rule_sets</span><span class="p" data-group-id="1016433598-3">(</span><span class="s">&quot;fr&quot;</span><span class="p" data-group-id="1016433598-3">)</span><span class="w">
</span><span class="gp unselectable">...&gt; </span><span class="o">|&gt;</span><span class="w"> </span><span class="nc">Enum</span><span class="o">.</span><span class="n">sort</span><span class="p" data-group-id="1016433598-4">(</span><span class="p" data-group-id="1016433598-4">)</span><span class="w">
</span><span class="p" data-group-id="1016433598-5">[</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Rbnf.Ordinal</span><span class="o">.</span><span class="n">rule_sets</span><span class="p" data-group-id="2947424758-3">(</span><span class="s">&quot;fr&quot;</span><span class="p" data-group-id="2947424758-3">)</span><span class="w">
</span><span class="gp unselectable">...&gt; </span><span class="o">|&gt;</span><span class="w"> </span><span class="nc">Enum</span><span class="o">.</span><span class="n">sort</span><span class="p" data-group-id="2947424758-4">(</span><span class="p" data-group-id="2947424758-4">)</span><span class="w">
</span><span class="p" data-group-id="2947424758-5">[</span><span class="w">
</span><span class="ss">:digits_ordinal</span><span class="p">,</span><span class="w">
</span><span class="ss">:digits_ordinal_feminine</span><span class="p">,</span><span class="w">
</span><span class="ss">:digits_ordinal_feminine_plural</span><span class="p">,</span><span class="w">
</span><span class="ss">:digits_ordinal_masculine</span><span class="p">,</span><span class="w">
</span><span class="ss">:digits_ordinal_masculine_plural</span><span class="w">
</span><span class="p" data-group-id="1016433598-5">]</span></code></pre><p>A rule can then be invoked on an available rule_set. For example</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Rbnf.Ordinal</span><span class="o">.</span><span class="n">digits_ordinal</span><span class="p" data-group-id="3151524282-1">(</span><span class="mi">123</span><span class="p">,</span><span class="w"> </span><span class="ss">:en</span><span class="p" data-group-id="3151524282-1">)</span><span class="w">
</span><span class="s">&quot;123rd&quot;</span></code></pre><p>This call is equivalent to the call through the public API of:</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">to_string</span><span class="p" data-group-id="1302565135-1">(</span><span class="mi">123</span><span class="p">,</span><span class="w"> </span><span class="ss">format</span><span class="p">:</span><span class="w"> </span><span class="ss">:ordinal</span><span class="p" data-group-id="1302565135-1">)</span><span class="w">
</span><span class="p" data-group-id="1302565135-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;123rd&quot;</span><span class="p" data-group-id="1302565135-2">}</span></code></pre>
</span><span class="p" data-group-id="2947424758-5">]</span></code></pre><p>A rule can then be invoked on an available rule_set. For example</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Rbnf.Ordinal</span><span class="o">.</span><span class="n">digits_ordinal</span><span class="p" data-group-id="3829322618-1">(</span><span class="mi">123</span><span class="p">,</span><span class="w"> </span><span class="ss">:en</span><span class="p" data-group-id="3829322618-1">)</span><span class="w">
</span><span class="s">&quot;123rd&quot;</span></code></pre><p>This call is equivalent to the call through the public API of:</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">to_string</span><span class="p" data-group-id="6367993266-1">(</span><span class="mi">123</span><span class="p">,</span><span class="w"> </span><span class="ss">format</span><span class="p">:</span><span class="w"> </span><span class="ss">:ordinal</span><span class="p" data-group-id="6367993266-1">)</span><span class="w">
</span><span class="p" data-group-id="6367993266-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;123rd&quot;</span><span class="p" data-group-id="6367993266-2">}</span></code></pre>
</section>

View File

@ -145,9 +145,9 @@ Pages
<section id="moduledoc">
<p>Functions to implement the spellout rule-based-number-format rules of CLDR.</p><p>As CLDR notes, the data is incomplete or non-existent for many languages. It
is considered complete for English however.</p><p>The standard public API for RBNF is via the <a href="https://hexdocs.pm/ex_cldr_numbers/2.32.3/Cldr.Number.html#to_string/2"><code class="inline">Cldr.Number.to_string/2</code></a> function.</p><p>The functions on this module are defined at compile time based upon the RBNF rules
defined in the Unicode CLDR data repository. Available rules are identified by:</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Rbnf.Spellout</span><span class="o">.</span><span class="n">rule_sets</span><span class="p" data-group-id="0337161743-1">(</span><span class="s">&quot;en&quot;</span><span class="p" data-group-id="0337161743-1">)</span><span class="w">
</span><span class="gp unselectable">...&gt; </span><span class="o">|&gt;</span><span class="w"> </span><span class="nc">Enum</span><span class="o">.</span><span class="n">sort</span><span class="p" data-group-id="0337161743-2">(</span><span class="p" data-group-id="0337161743-2">)</span><span class="w">
</span><span class="p" data-group-id="0337161743-3">[</span><span class="w">
defined in the Unicode CLDR data repository. Available rules are identified by:</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Rbnf.Spellout</span><span class="o">.</span><span class="n">rule_sets</span><span class="p" data-group-id="6478139806-1">(</span><span class="s">&quot;en&quot;</span><span class="p" data-group-id="6478139806-1">)</span><span class="w">
</span><span class="gp unselectable">...&gt; </span><span class="o">|&gt;</span><span class="w"> </span><span class="nc">Enum</span><span class="o">.</span><span class="n">sort</span><span class="p" data-group-id="6478139806-2">(</span><span class="p" data-group-id="6478139806-2">)</span><span class="w">
</span><span class="p" data-group-id="6478139806-3">[</span><span class="w">
</span><span class="ss">:spellout_cardinal</span><span class="p">,</span><span class="w">
</span><span class="ss">:spellout_cardinal_verbose</span><span class="p">,</span><span class="w">
</span><span class="ss">:spellout_numbering</span><span class="p">,</span><span class="w">
@ -155,9 +155,9 @@ defined in the Unicode CLDR data repository. Available rules are identified by:
</span><span class="ss">:spellout_numbering_year</span><span class="p">,</span><span class="w">
</span><span class="ss">:spellout_ordinal</span><span class="p">,</span><span class="w">
</span><span class="ss">:spellout_ordinal_verbose</span><span class="w">
</span><span class="p" data-group-id="0337161743-3">]</span></code></pre><p>A rule can then be invoked on an available rule_set. For example:</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Rbnf.Spellout</span><span class="o">.</span><span class="n">spellout_ordinal</span><span class="p" data-group-id="6249448611-1">(</span><span class="mi">123</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p" data-group-id="6249448611-1">)</span><span class="w">
</span><span class="s">&quot;one hundred twenty-third&quot;</span></code></pre><p>This call is equivalent to the call through the public API of:</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">to_string</span><span class="p" data-group-id="5221490335-1">(</span><span class="mi">123</span><span class="p">,</span><span class="w"> </span><span class="ss">format</span><span class="p">:</span><span class="w"> </span><span class="ss">:spellout</span><span class="p" data-group-id="5221490335-1">)</span><span class="w">
</span><span class="p" data-group-id="5221490335-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;one hundred twenty-three&quot;</span><span class="p" data-group-id="5221490335-2">}</span></code></pre>
</span><span class="p" data-group-id="6478139806-3">]</span></code></pre><p>A rule can then be invoked on an available rule_set. For example:</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Rbnf.Spellout</span><span class="o">.</span><span class="n">spellout_ordinal</span><span class="p" data-group-id="4824070501-1">(</span><span class="mi">123</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p" data-group-id="4824070501-1">)</span><span class="w">
</span><span class="s">&quot;one hundred twenty-third&quot;</span></code></pre><p>This call is equivalent to the call through the public API of:</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr.Number</span><span class="o">.</span><span class="n">to_string</span><span class="p" data-group-id="8126019896-1">(</span><span class="mi">123</span><span class="p">,</span><span class="w"> </span><span class="ss">format</span><span class="p">:</span><span class="w"> </span><span class="ss">:spellout</span><span class="p" data-group-id="8126019896-1">)</span><span class="w">
</span><span class="p" data-group-id="8126019896-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;one hundred twenty-three&quot;</span><span class="p" data-group-id="8126019896-2">}</span></code></pre>
</section>

View File

@ -558,24 +558,24 @@ current locale is restored after the function.</p></div>
</a>
<span class="text">Example</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">default_locale</span><span class="p" data-group-id="0560392696-1">(</span><span class="p" data-group-id="0560392696-1">)</span><span class="w">
</span><span class="p" data-group-id="0560392696-2">%</span><span class="nc" data-group-id="0560392696-2">Cldr.LanguageTag</span><span class="p" data-group-id="0560392696-2">{</span><span class="w">
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">default_locale</span><span class="p" data-group-id="0947850117-1">(</span><span class="p" data-group-id="0947850117-1">)</span><span class="w">
</span><span class="p" data-group-id="0947850117-2">%</span><span class="nc" data-group-id="0947850117-2">Cldr.LanguageTag</span><span class="p" data-group-id="0947850117-2">{</span><span class="w">
</span><span class="ss">backend</span><span class="p">:</span><span class="w"> </span><span class="nc">Plausible.Cldr</span><span class="p">,</span><span class="w">
</span><span class="ss">canonical_locale_name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;en-001&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">cldr_locale_name</span><span class="p">:</span><span class="w"> </span><span class="ss">:&quot;en-001&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">language_subtags</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="0560392696-3">[</span><span class="p" data-group-id="0560392696-3">]</span><span class="p">,</span><span class="w">
</span><span class="ss">extensions</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="0560392696-4">%{</span><span class="p" data-group-id="0560392696-4">}</span><span class="p">,</span><span class="w">
</span><span class="ss">language_subtags</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="0947850117-3">[</span><span class="p" data-group-id="0947850117-3">]</span><span class="p">,</span><span class="w">
</span><span class="ss">extensions</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="0947850117-4">%{</span><span class="p" data-group-id="0947850117-4">}</span><span class="p">,</span><span class="w">
</span><span class="ss">gettext_locale_name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">language</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="0560392696-5">%{</span><span class="p" data-group-id="0560392696-5">}</span><span class="p">,</span><span class="w">
</span><span class="ss">private_use</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="0560392696-6">[</span><span class="p" data-group-id="0560392696-6">]</span><span class="p">,</span><span class="w">
</span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="0947850117-5">%{</span><span class="p" data-group-id="0947850117-5">}</span><span class="p">,</span><span class="w">
</span><span class="ss">private_use</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="0947850117-6">[</span><span class="p" data-group-id="0947850117-6">]</span><span class="p">,</span><span class="w">
</span><span class="ss">rbnf_locale_name</span><span class="p">:</span><span class="w"> </span><span class="ss">:en</span><span class="p">,</span><span class="w">
</span><span class="ss">requested_locale_name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;en-001&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">script</span><span class="p">:</span><span class="w"> </span><span class="ss">:Latn</span><span class="p">,</span><span class="w">
</span><span class="ss">territory</span><span class="p">:</span><span class="w"> </span><span class="ss">:&quot;001&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">transform</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="0560392696-7">%{</span><span class="p" data-group-id="0560392696-7">}</span><span class="p">,</span><span class="w">
</span><span class="ss">language_variants</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="0560392696-8">[</span><span class="p" data-group-id="0560392696-8">]</span><span class="w">
</span><span class="p" data-group-id="0560392696-2">}</span></code></pre>
</span><span class="ss">transform</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="0947850117-7">%{</span><span class="p" data-group-id="0947850117-7">}</span><span class="p">,</span><span class="w">
</span><span class="ss">language_variants</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="0947850117-8">[</span><span class="p" data-group-id="0947850117-8">]</span><span class="w">
</span><span class="p" data-group-id="0947850117-2">}</span></code></pre>
</section>
</section>
<section class="detail" id="default_territory/0">
@ -610,7 +610,7 @@ does not specify one and none can be inferred.</p><h2 id="default_territory/0-ex
</a>
<span class="text">Example</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">default_territory</span><span class="p" data-group-id="3446399478-1">(</span><span class="p" data-group-id="3446399478-1">)</span><span class="w">
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">default_territory</span><span class="p" data-group-id="8198296537-1">(</span><span class="p" data-group-id="8198296537-1">)</span><span class="w">
</span><span class="ss">:&quot;001&quot;</span></code></pre>
</section>
</section>
@ -670,16 +670,16 @@ is inserted between words or sentences. The valid options are
</a>
<span class="text">Examples</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">ellipsis</span><span class="p" data-group-id="3022778133-1">(</span><span class="s">&quot;And furthermore&quot;</span><span class="p" data-group-id="3022778133-1">)</span><span class="w">
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">ellipsis</span><span class="p" data-group-id="3886016890-1">(</span><span class="s">&quot;And furthermore&quot;</span><span class="p" data-group-id="3886016890-1">)</span><span class="w">
</span><span class="s">&quot;And furthermore…&quot;</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">ellipsis</span><span class="p" data-group-id="3022778133-2">(</span><span class="p" data-group-id="3022778133-3">[</span><span class="s">&quot;And furthermore&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;there is much to be done&quot;</span><span class="p" data-group-id="3022778133-3">]</span><span class="p">,</span><span class="w"> </span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="ss">:ja</span><span class="p" data-group-id="3022778133-2">)</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">ellipsis</span><span class="p" data-group-id="3886016890-2">(</span><span class="p" data-group-id="3886016890-3">[</span><span class="s">&quot;And furthermore&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;there is much to be done&quot;</span><span class="p" data-group-id="3886016890-3">]</span><span class="p">,</span><span class="w"> </span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="ss">:ja</span><span class="p" data-group-id="3886016890-2">)</span><span class="w">
</span><span class="s">&quot;And furthermore…there is much to be done&quot;</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">ellipsis</span><span class="p" data-group-id="3022778133-4">(</span><span class="s">&quot;And furthermore&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">format</span><span class="p">:</span><span class="w"> </span><span class="ss">:word</span><span class="p" data-group-id="3022778133-4">)</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">ellipsis</span><span class="p" data-group-id="3886016890-4">(</span><span class="s">&quot;And furthermore&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">format</span><span class="p">:</span><span class="w"> </span><span class="ss">:word</span><span class="p" data-group-id="3886016890-4">)</span><span class="w">
</span><span class="s">&quot;And furthermore …&quot;</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">ellipsis</span><span class="p" data-group-id="3022778133-5">(</span><span class="p" data-group-id="3022778133-6">[</span><span class="s">&quot;And furthermore&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;there is much to be done&quot;</span><span class="p" data-group-id="3022778133-6">]</span><span class="p">,</span><span class="w"> </span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="ss">:ja</span><span class="p">,</span><span class="w"> </span><span class="ss">format</span><span class="p">:</span><span class="w"> </span><span class="ss">:word</span><span class="p" data-group-id="3022778133-5">)</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">ellipsis</span><span class="p" data-group-id="3886016890-5">(</span><span class="p" data-group-id="3886016890-6">[</span><span class="s">&quot;And furthermore&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;there is much to be done&quot;</span><span class="p" data-group-id="3886016890-6">]</span><span class="p">,</span><span class="w"> </span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="ss">:ja</span><span class="p">,</span><span class="w"> </span><span class="ss">format</span><span class="p">:</span><span class="w"> </span><span class="ss">:word</span><span class="p" data-group-id="3886016890-5">)</span><span class="w">
</span><span class="s">&quot;And furthermore … there is much to be done&quot;</span></code></pre>
</section>
</section>
@ -715,23 +715,23 @@ take an optional locale parameter for which a locale is not supplied.</p><h2 id=
</a>
<span class="text">Example</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">put_locale</span><span class="p" data-group-id="3484260319-1">(</span><span class="s">&quot;pl&quot;</span><span class="p" data-group-id="3484260319-1">)</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">get_locale</span><span class="p" data-group-id="3484260319-2">(</span><span class="p" data-group-id="3484260319-2">)</span><span class="w">
</span><span class="p" data-group-id="3484260319-3">%</span><span class="nc" data-group-id="3484260319-3">Cldr.LanguageTag</span><span class="p" data-group-id="3484260319-3">{</span><span class="w">
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">put_locale</span><span class="p" data-group-id="2847458692-1">(</span><span class="s">&quot;pl&quot;</span><span class="p" data-group-id="2847458692-1">)</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">get_locale</span><span class="p" data-group-id="2847458692-2">(</span><span class="p" data-group-id="2847458692-2">)</span><span class="w">
</span><span class="p" data-group-id="2847458692-3">%</span><span class="nc" data-group-id="2847458692-3">Cldr.LanguageTag</span><span class="p" data-group-id="2847458692-3">{</span><span class="w">
</span><span class="ss">backend</span><span class="p">:</span><span class="w"> </span><span class="nc">Elixir.Plausible.Cldr</span><span class="p">,</span><span class="w">
</span><span class="ss">canonical_locale_name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;pl&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">cldr_locale_name</span><span class="p">:</span><span class="w"> </span><span class="ss">:pl</span><span class="p">,</span><span class="w">
</span><span class="ss">extensions</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="3484260319-4">%{</span><span class="p" data-group-id="3484260319-4">}</span><span class="p">,</span><span class="w">
</span><span class="ss">extensions</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="2847458692-4">%{</span><span class="p" data-group-id="2847458692-4">}</span><span class="p">,</span><span class="w">
</span><span class="ss">language</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;pl&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="3484260319-5">%{</span><span class="p" data-group-id="3484260319-5">}</span><span class="p">,</span><span class="w">
</span><span class="ss">private_use</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="3484260319-6">[</span><span class="p" data-group-id="3484260319-6">]</span><span class="p">,</span><span class="w">
</span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="2847458692-5">%{</span><span class="p" data-group-id="2847458692-5">}</span><span class="p">,</span><span class="w">
</span><span class="ss">private_use</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="2847458692-6">[</span><span class="p" data-group-id="2847458692-6">]</span><span class="p">,</span><span class="w">
</span><span class="ss">rbnf_locale_name</span><span class="p">:</span><span class="w"> </span><span class="ss">:pl</span><span class="p">,</span><span class="w">
</span><span class="ss">territory</span><span class="p">:</span><span class="w"> </span><span class="ss">:PL</span><span class="p">,</span><span class="w">
</span><span class="ss">requested_locale_name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;pl&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">script</span><span class="p">:</span><span class="w"> </span><span class="ss">:Latn</span><span class="p">,</span><span class="w">
</span><span class="ss">transform</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="3484260319-7">%{</span><span class="p" data-group-id="3484260319-7">}</span><span class="p">,</span><span class="w">
</span><span class="ss">language_variants</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="3484260319-8">[</span><span class="p" data-group-id="3484260319-8">]</span><span class="w">
</span><span class="p" data-group-id="3484260319-3">}</span></code></pre>
</span><span class="ss">transform</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="2847458692-7">%{</span><span class="p" data-group-id="2847458692-7">}</span><span class="p">,</span><span class="w">
</span><span class="ss">language_variants</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="2847458692-8">[</span><span class="p" data-group-id="2847458692-8">]</span><span class="w">
</span><span class="p" data-group-id="2847458692-3">}</span></code></pre>
</section>
</section>
<section class="detail" id="known_calendars/0">
@ -818,10 +818,10 @@ take an optional locale parameter for which a locale is not supplied.</p><h2 id=
</a>
<span class="text">Examples</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">known_gettext_locale_name</span><span class="p" data-group-id="9064939659-1">(</span><span class="s">&quot;en&quot;</span><span class="p" data-group-id="9064939659-1">)</span><span class="w">
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">known_gettext_locale_name</span><span class="p" data-group-id="2389086826-1">(</span><span class="s">&quot;en&quot;</span><span class="p" data-group-id="2389086826-1">)</span><span class="w">
</span><span class="s">&quot;en&quot;</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">known_gettext_locale_name</span><span class="p" data-group-id="9064939659-2">(</span><span class="s">&quot;en-SA&quot;</span><span class="p" data-group-id="9064939659-2">)</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">known_gettext_locale_name</span><span class="p" data-group-id="2389086826-2">(</span><span class="s">&quot;en-SA&quot;</span><span class="p" data-group-id="2389086826-2">)</span><span class="w">
</span><span class="no">false</span></code></pre>
</section>
</section>
@ -864,10 +864,10 @@ name is configured and available in Gettext.</p><h2 id="known_gettext_locale_nam
</a>
<span class="text">Examples</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">known_gettext_locale_name?</span><span class="p" data-group-id="0441249977-1">(</span><span class="s">&quot;en&quot;</span><span class="p" data-group-id="0441249977-1">)</span><span class="w">
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">known_gettext_locale_name?</span><span class="p" data-group-id="5831236293-1">(</span><span class="s">&quot;en&quot;</span><span class="p" data-group-id="5831236293-1">)</span><span class="w">
</span><span class="no">true</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">known_gettext_locale_name?</span><span class="p" data-group-id="0441249977-2">(</span><span class="s">&quot;!!&quot;</span><span class="p" data-group-id="0441249977-2">)</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">known_gettext_locale_name?</span><span class="p" data-group-id="5831236293-2">(</span><span class="s">&quot;!!&quot;</span><span class="p" data-group-id="5831236293-2">)</span><span class="w">
</span><span class="no">false</span></code></pre>
</section>
</section>
@ -941,10 +941,10 @@ to return the first known locale name from a list.</p><h2 id="known_locale_name/
</a>
<span class="text">Examples</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">known_locale_name</span><span class="p" data-group-id="1318859461-1">(</span><span class="ss">:&quot;en-AU&quot;</span><span class="p" data-group-id="1318859461-1">)</span><span class="w">
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">known_locale_name</span><span class="p" data-group-id="9585565898-1">(</span><span class="ss">:&quot;en-AU&quot;</span><span class="p" data-group-id="9585565898-1">)</span><span class="w">
</span><span class="ss">:&quot;en-AU&quot;</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">known_locale_name</span><span class="p" data-group-id="1318859461-2">(</span><span class="ss">:&quot;en-SA&quot;</span><span class="p" data-group-id="1318859461-2">)</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">known_locale_name</span><span class="p" data-group-id="9585565898-2">(</span><span class="ss">:&quot;en-SA&quot;</span><span class="p" data-group-id="9585565898-2">)</span><span class="w">
</span><span class="no">false</span></code></pre>
</section>
</section>
@ -986,10 +986,10 @@ name is configured and available in Cldr.</p><h2 id="known_locale_name?/1-argume
</a>
<span class="text">Examples</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">known_locale_name?</span><span class="p" data-group-id="1314330257-1">(</span><span class="ss">:en</span><span class="p" data-group-id="1314330257-1">)</span><span class="w">
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">known_locale_name?</span><span class="p" data-group-id="8485765254-1">(</span><span class="ss">:en</span><span class="p" data-group-id="8485765254-1">)</span><span class="w">
</span><span class="no">true</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">known_locale_name?</span><span class="p" data-group-id="1314330257-2">(</span><span class="ss">:&quot;!!&quot;</span><span class="p" data-group-id="1314330257-2">)</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">known_locale_name?</span><span class="p" data-group-id="8485765254-2">(</span><span class="ss">:&quot;!!&quot;</span><span class="p" data-group-id="8485765254-2">)</span><span class="w">
</span><span class="no">false</span></code></pre>
</section>
</section>
@ -1043,8 +1043,8 @@ in this module or in <a href="https://hexdocs.pm/gettext/0.24.0/Gettext.html"><c
</a>
<span class="text">Example</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">known_number_system_types</span><span class="p" data-group-id="9249732266-1">(</span><span class="p" data-group-id="9249732266-1">)</span><span class="w">
</span><span class="p" data-group-id="9249732266-2">[</span><span class="ss">:default</span><span class="p">,</span><span class="w"> </span><span class="ss">:finance</span><span class="p">,</span><span class="w"> </span><span class="ss">:native</span><span class="p">,</span><span class="w"> </span><span class="ss">:traditional</span><span class="p" data-group-id="9249732266-2">]</span></code></pre>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">known_number_system_types</span><span class="p" data-group-id="0637835381-1">(</span><span class="p" data-group-id="0637835381-1">)</span><span class="w">
</span><span class="p" data-group-id="0637835381-2">[</span><span class="ss">:default</span><span class="p">,</span><span class="w"> </span><span class="ss">:finance</span><span class="p">,</span><span class="w"> </span><span class="ss">:native</span><span class="p">,</span><span class="w"> </span><span class="ss">:traditional</span><span class="p" data-group-id="0637835381-2">]</span></code></pre>
</section>
</section>
<section class="detail" id="known_number_systems/0">
@ -1109,10 +1109,10 @@ and has RBNF rules defined.</p><h2 id="known_rbnf_locale_name/1-arguments" class
</a>
<span class="text">Examples</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">known_rbnf_locale_name</span><span class="p" data-group-id="6184611315-1">(</span><span class="ss">:en</span><span class="p" data-group-id="6184611315-1">)</span><span class="w">
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">known_rbnf_locale_name</span><span class="p" data-group-id="1914061443-1">(</span><span class="ss">:en</span><span class="p" data-group-id="1914061443-1">)</span><span class="w">
</span><span class="ss">:en</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">known_rbnf_locale_name</span><span class="p" data-group-id="6184611315-2">(</span><span class="ss">:&quot;en-SA&quot;</span><span class="p" data-group-id="6184611315-2">)</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">known_rbnf_locale_name</span><span class="p" data-group-id="1914061443-2">(</span><span class="ss">:&quot;en-SA&quot;</span><span class="p" data-group-id="1914061443-2">)</span><span class="w">
</span><span class="no">false</span></code></pre>
</section>
</section>
@ -1155,10 +1155,10 @@ rules based number formats (RBNF).</p><h2 id="known_rbnf_locale_name?/1-argument
</a>
<span class="text">Examples</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">known_rbnf_locale_name?</span><span class="p" data-group-id="5447706067-1">(</span><span class="ss">:en</span><span class="p" data-group-id="5447706067-1">)</span><span class="w">
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">known_rbnf_locale_name?</span><span class="p" data-group-id="1634793947-1">(</span><span class="ss">:en</span><span class="p" data-group-id="1634793947-1">)</span><span class="w">
</span><span class="no">true</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">known_rbnf_locale_name?</span><span class="p" data-group-id="5447706067-2">(</span><span class="ss">:&quot;!!&quot;</span><span class="p" data-group-id="5447706067-2">)</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">known_rbnf_locale_name?</span><span class="p" data-group-id="1634793947-2">(</span><span class="ss">:&quot;!!&quot;</span><span class="p" data-group-id="1634793947-2">)</span><span class="w">
</span><span class="no">false</span></code></pre>
</section>
</section>
@ -1294,14 +1294,14 @@ CLDR backend defined by the <code class="inline">t:Cldr.LanguageTag</code> is se
<span class="text">Examples</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="kn">import</span><span class="w"> </span><span class="nc">Cldr.LanguageTag.Sigil</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">put_gettext_locale</span><span class="p" data-group-id="4566687126-1">(</span><span class="sx">~l&quot;en&quot;</span><span class="p" data-group-id="4566687126-1">)</span><span class="w">
</span><span class="p" data-group-id="4566687126-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p" data-group-id="4566687126-2">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">put_gettext_locale</span><span class="p" data-group-id="0007824306-1">(</span><span class="sx">~l&quot;en&quot;</span><span class="p" data-group-id="0007824306-1">)</span><span class="w">
</span><span class="p" data-group-id="0007824306-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p" data-group-id="0007824306-2">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="kn">import</span><span class="w"> </span><span class="nc">Cldr.LanguageTag.Sigil</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">put_gettext_locale</span><span class="p" data-group-id="4566687126-3">(</span><span class="sx">~l&quot;de&quot;</span><span class="p" data-group-id="4566687126-3">)</span><span class="w">
</span><span class="p" data-group-id="4566687126-4">{</span><span class="ss">:error</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="4566687126-5">{</span><span class="nc">Cldr.UnknownLocaleError</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;Locale #Cldr.LanguageTag&lt;de [validated]&gt; does not map to a known gettext locale name&quot;</span><span class="p" data-group-id="4566687126-5">}</span><span class="p" data-group-id="4566687126-4">}</span></code></pre>
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">put_gettext_locale</span><span class="p" data-group-id="0007824306-3">(</span><span class="sx">~l&quot;de&quot;</span><span class="p" data-group-id="0007824306-3">)</span><span class="w">
</span><span class="p" data-group-id="0007824306-4">{</span><span class="ss">:error</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="0007824306-5">{</span><span class="nc">Cldr.UnknownLocaleError</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;Locale #Cldr.LanguageTag&lt;de [validated]&gt; does not map to a known gettext locale name&quot;</span><span class="p" data-group-id="0007824306-5">}</span><span class="p" data-group-id="0007824306-4">}</span></code></pre>
</section>
</section>
<section class="detail" id="put_locale/1">
@ -1345,29 +1345,29 @@ of a language tag.</p><h2 id="put_locale/1-examples" class="section-heading">
</a>
<span class="text">Examples</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">put_locale</span><span class="p" data-group-id="9431865158-1">(</span><span class="s">&quot;en&quot;</span><span class="p" data-group-id="9431865158-1">)</span><span class="w">
</span><span class="p" data-group-id="9431865158-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="9431865158-3">%</span><span class="nc" data-group-id="9431865158-3">Cldr.LanguageTag</span><span class="p" data-group-id="9431865158-3">{</span><span class="w">
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">put_locale</span><span class="p" data-group-id="1609865150-1">(</span><span class="s">&quot;en&quot;</span><span class="p" data-group-id="1609865150-1">)</span><span class="w">
</span><span class="p" data-group-id="1609865150-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="1609865150-3">%</span><span class="nc" data-group-id="1609865150-3">Cldr.LanguageTag</span><span class="p" data-group-id="1609865150-3">{</span><span class="w">
</span><span class="ss">backend</span><span class="p">:</span><span class="w"> </span><span class="nc">Plausible.Cldr</span><span class="p">,</span><span class="w">
</span><span class="ss">canonical_locale_name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">cldr_locale_name</span><span class="p">:</span><span class="w"> </span><span class="ss">:en</span><span class="p">,</span><span class="w">
</span><span class="ss">language_subtags</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="9431865158-4">[</span><span class="p" data-group-id="9431865158-4">]</span><span class="p">,</span><span class="w">
</span><span class="ss">extensions</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="9431865158-5">%{</span><span class="p" data-group-id="9431865158-5">}</span><span class="p">,</span><span class="w">
</span><span class="ss">language_subtags</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="1609865150-4">[</span><span class="p" data-group-id="1609865150-4">]</span><span class="p">,</span><span class="w">
</span><span class="ss">extensions</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="1609865150-5">%{</span><span class="p" data-group-id="1609865150-5">}</span><span class="p">,</span><span class="w">
</span><span class="ss">gettext_locale_name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">language</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="9431865158-6">%{</span><span class="p" data-group-id="9431865158-6">}</span><span class="p">,</span><span class="w">
</span><span class="ss">private_use</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="9431865158-7">[</span><span class="p" data-group-id="9431865158-7">]</span><span class="p">,</span><span class="w">
</span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="1609865150-6">%{</span><span class="p" data-group-id="1609865150-6">}</span><span class="p">,</span><span class="w">
</span><span class="ss">private_use</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="1609865150-7">[</span><span class="p" data-group-id="1609865150-7">]</span><span class="p">,</span><span class="w">
</span><span class="ss">rbnf_locale_name</span><span class="p">:</span><span class="w"> </span><span class="ss">:en</span><span class="p">,</span><span class="w">
</span><span class="ss">requested_locale_name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">script</span><span class="p">:</span><span class="w"> </span><span class="ss">:Latn</span><span class="p">,</span><span class="w">
</span><span class="ss">territory</span><span class="p">:</span><span class="w"> </span><span class="ss">:US</span><span class="p">,</span><span class="w">
</span><span class="ss">transform</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="9431865158-8">%{</span><span class="p" data-group-id="9431865158-8">}</span><span class="p">,</span><span class="w">
</span><span class="ss">language_variants</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="9431865158-9">[</span><span class="p" data-group-id="9431865158-9">]</span><span class="w">
</span><span class="p" data-group-id="9431865158-3">}</span><span class="p" data-group-id="9431865158-2">}</span><span class="w">
</span><span class="ss">transform</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="1609865150-8">%{</span><span class="p" data-group-id="1609865150-8">}</span><span class="p">,</span><span class="w">
</span><span class="ss">language_variants</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="1609865150-9">[</span><span class="p" data-group-id="1609865150-9">]</span><span class="w">
</span><span class="p" data-group-id="1609865150-3">}</span><span class="p" data-group-id="1609865150-2">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">put_locale</span><span class="p" data-group-id="9431865158-10">(</span><span class="s">&quot;invalid-locale!&quot;</span><span class="p" data-group-id="9431865158-10">)</span><span class="w">
</span><span class="p" data-group-id="9431865158-11">{</span><span class="ss">:error</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="9431865158-12">{</span><span class="nc">Cldr.LanguageTag.ParseError</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;Expected a BCP47 language tag. Could not parse the remaining </span><span class="se">\&quot;</span><span class="s">!</span><span class="se">\&quot;</span><span class="s"> starting at position 15&quot;</span><span class="p" data-group-id="9431865158-12">}</span><span class="p" data-group-id="9431865158-11">}</span></code></pre>
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">put_locale</span><span class="p" data-group-id="1609865150-10">(</span><span class="s">&quot;invalid-locale!&quot;</span><span class="p" data-group-id="1609865150-10">)</span><span class="w">
</span><span class="p" data-group-id="1609865150-11">{</span><span class="ss">:error</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="1609865150-12">{</span><span class="nc">Cldr.LanguageTag.ParseError</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;Expected a BCP47 language tag. Could not parse the remaining </span><span class="se">\&quot;</span><span class="s">!</span><span class="se">\&quot;</span><span class="s"> starting at position 15&quot;</span><span class="p" data-group-id="1609865150-12">}</span><span class="p" data-group-id="1609865150-11">}</span></code></pre>
</section>
</section>
<section class="detail" id="quote/2">
@ -1416,10 +1416,10 @@ The default is <a href="https://hexdocs.pm/ex_cldr/2.37.5/Cldr.html#get_locale/0
</a>
<span class="text">Examples</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="k">quote</span><span class="p" data-group-id="9525046216-1">(</span><span class="s">&quot;Quoted String&quot;</span><span class="p" data-group-id="9525046216-1">)</span><span class="w">
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="k">quote</span><span class="p" data-group-id="8890531471-1">(</span><span class="s">&quot;Quoted String&quot;</span><span class="p" data-group-id="8890531471-1">)</span><span class="w">
</span><span class="s">&quot;“Quoted String”&quot;</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="k">quote</span><span class="p" data-group-id="9525046216-2">(</span><span class="s">&quot;Quoted String&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="ss">:ja</span><span class="p" data-group-id="9525046216-2">)</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="k">quote</span><span class="p" data-group-id="8890531471-2">(</span><span class="s">&quot;Quoted String&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="ss">:ja</span><span class="p" data-group-id="8890531471-2">)</span><span class="w">
</span><span class="s">&quot;「Quoted String」&quot;</span></code></pre>
</section>
</section>
@ -1550,47 +1550,47 @@ of a language tag.</p><h2 id="validate_locale/1-examples" class="section-heading
</a>
<span class="text">Examples</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">validate_locale</span><span class="p" data-group-id="7925884794-1">(</span><span class="ss">:en</span><span class="p" data-group-id="7925884794-1">)</span><span class="w">
</span><span class="p" data-group-id="7925884794-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="7925884794-3">%</span><span class="nc" data-group-id="7925884794-3">Cldr.LanguageTag</span><span class="p" data-group-id="7925884794-3">{</span><span class="w">
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">validate_locale</span><span class="p" data-group-id="6543357467-1">(</span><span class="ss">:en</span><span class="p" data-group-id="6543357467-1">)</span><span class="w">
</span><span class="p" data-group-id="6543357467-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="6543357467-3">%</span><span class="nc" data-group-id="6543357467-3">Cldr.LanguageTag</span><span class="p" data-group-id="6543357467-3">{</span><span class="w">
</span><span class="ss">backend</span><span class="p">:</span><span class="w"> </span><span class="nc">Plausible.Cldr</span><span class="p">,</span><span class="w">
</span><span class="ss">canonical_locale_name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">cldr_locale_name</span><span class="p">:</span><span class="w"> </span><span class="ss">:en</span><span class="p">,</span><span class="w">
</span><span class="ss">extensions</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7925884794-4">%{</span><span class="p" data-group-id="7925884794-4">}</span><span class="p">,</span><span class="w">
</span><span class="ss">extensions</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="6543357467-4">%{</span><span class="p" data-group-id="6543357467-4">}</span><span class="p">,</span><span class="w">
</span><span class="ss">gettext_locale_name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">language</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7925884794-5">%{</span><span class="p" data-group-id="7925884794-5">}</span><span class="p">,</span><span class="w">
</span><span class="ss">private_use</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7925884794-6">[</span><span class="p" data-group-id="7925884794-6">]</span><span class="p">,</span><span class="w">
</span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="6543357467-5">%{</span><span class="p" data-group-id="6543357467-5">}</span><span class="p">,</span><span class="w">
</span><span class="ss">private_use</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="6543357467-6">[</span><span class="p" data-group-id="6543357467-6">]</span><span class="p">,</span><span class="w">
</span><span class="ss">rbnf_locale_name</span><span class="p">:</span><span class="w"> </span><span class="ss">:en</span><span class="p">,</span><span class="w">
</span><span class="ss">requested_locale_name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">script</span><span class="p">:</span><span class="w"> </span><span class="ss">:Latn</span><span class="p">,</span><span class="w">
</span><span class="ss">territory</span><span class="p">:</span><span class="w"> </span><span class="ss">:US</span><span class="p">,</span><span class="w">
</span><span class="ss">transform</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7925884794-7">%{</span><span class="p" data-group-id="7925884794-7">}</span><span class="p">,</span><span class="w">
</span><span class="ss">language_variants</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7925884794-8">[</span><span class="p" data-group-id="7925884794-8">]</span><span class="w">
</span><span class="p" data-group-id="7925884794-3">}</span><span class="p" data-group-id="7925884794-2">}</span><span class="w">
</span><span class="ss">transform</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="6543357467-7">%{</span><span class="p" data-group-id="6543357467-7">}</span><span class="p">,</span><span class="w">
</span><span class="ss">language_variants</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="6543357467-8">[</span><span class="p" data-group-id="6543357467-8">]</span><span class="w">
</span><span class="p" data-group-id="6543357467-3">}</span><span class="p" data-group-id="6543357467-2">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">validate_locale</span><span class="w"> </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">default_locale</span><span class="p" data-group-id="7925884794-9">(</span><span class="p" data-group-id="7925884794-9">)</span><span class="w">
</span><span class="p" data-group-id="7925884794-10">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="7925884794-11">%</span><span class="nc" data-group-id="7925884794-11">Cldr.LanguageTag</span><span class="p" data-group-id="7925884794-11">{</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">validate_locale</span><span class="w"> </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">default_locale</span><span class="p" data-group-id="6543357467-9">(</span><span class="p" data-group-id="6543357467-9">)</span><span class="w">
</span><span class="p" data-group-id="6543357467-10">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="6543357467-11">%</span><span class="nc" data-group-id="6543357467-11">Cldr.LanguageTag</span><span class="p" data-group-id="6543357467-11">{</span><span class="w">
</span><span class="ss">backend</span><span class="p">:</span><span class="w"> </span><span class="nc">Plausible.Cldr</span><span class="p">,</span><span class="w">
</span><span class="ss">canonical_locale_name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;en-001&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">cldr_locale_name</span><span class="p">:</span><span class="w"> </span><span class="ss">:&quot;en-001&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">extensions</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7925884794-12">%{</span><span class="p" data-group-id="7925884794-12">}</span><span class="p">,</span><span class="w">
</span><span class="ss">extensions</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="6543357467-12">%{</span><span class="p" data-group-id="6543357467-12">}</span><span class="p">,</span><span class="w">
</span><span class="ss">gettext_locale_name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">language</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;en&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7925884794-13">%{</span><span class="p" data-group-id="7925884794-13">}</span><span class="p">,</span><span class="w">
</span><span class="ss">private_use</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7925884794-14">[</span><span class="p" data-group-id="7925884794-14">]</span><span class="p">,</span><span class="w">
</span><span class="ss">locale</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="6543357467-13">%{</span><span class="p" data-group-id="6543357467-13">}</span><span class="p">,</span><span class="w">
</span><span class="ss">private_use</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="6543357467-14">[</span><span class="p" data-group-id="6543357467-14">]</span><span class="p">,</span><span class="w">
</span><span class="ss">rbnf_locale_name</span><span class="p">:</span><span class="w"> </span><span class="ss">:en</span><span class="p">,</span><span class="w">
</span><span class="ss">requested_locale_name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;en-001&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">script</span><span class="p">:</span><span class="w"> </span><span class="ss">:Latn</span><span class="p">,</span><span class="w">
</span><span class="ss">territory</span><span class="p">:</span><span class="w"> </span><span class="ss">:&quot;001&quot;</span><span class="p">,</span><span class="w">
</span><span class="ss">transform</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7925884794-15">%{</span><span class="p" data-group-id="7925884794-15">}</span><span class="p">,</span><span class="w">
</span><span class="ss">language_variants</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7925884794-16">[</span><span class="p" data-group-id="7925884794-16">]</span><span class="w">
</span><span class="p" data-group-id="7925884794-11">}</span><span class="p" data-group-id="7925884794-10">}</span><span class="w">
</span><span class="ss">transform</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="6543357467-15">%{</span><span class="p" data-group-id="6543357467-15">}</span><span class="p">,</span><span class="w">
</span><span class="ss">language_variants</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="6543357467-16">[</span><span class="p" data-group-id="6543357467-16">]</span><span class="w">
</span><span class="p" data-group-id="6543357467-11">}</span><span class="p" data-group-id="6543357467-10">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">validate_locale</span><span class="p" data-group-id="7925884794-17">(</span><span class="s">&quot;zzz&quot;</span><span class="p" data-group-id="7925884794-17">)</span><span class="w">
</span><span class="p" data-group-id="7925884794-18">{</span><span class="ss">:error</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="7925884794-19">{</span><span class="nc">Cldr.InvalidLanguageError</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;The language </span><span class="se">\&quot;</span><span class="s">zzz</span><span class="se">\&quot;</span><span class="s"> is invalid&quot;</span><span class="p" data-group-id="7925884794-19">}</span><span class="p" data-group-id="7925884794-18">}</span></code></pre>
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">validate_locale</span><span class="p" data-group-id="6543357467-17">(</span><span class="s">&quot;zzz&quot;</span><span class="p" data-group-id="6543357467-17">)</span><span class="w">
</span><span class="p" data-group-id="6543357467-18">{</span><span class="ss">:error</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="6543357467-19">{</span><span class="nc">Cldr.InvalidLanguageError</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;The language </span><span class="se">\&quot;</span><span class="s">zzz</span><span class="se">\&quot;</span><span class="s"> is invalid&quot;</span><span class="p" data-group-id="6543357467-19">}</span><span class="p" data-group-id="6543357467-18">}</span></code></pre>
</section>
</section>
<section class="detail" id="validate_number_system/1">
@ -1660,23 +1660,23 @@ of a language tag.</p><h2 id="validate_locale/1-examples" class="section-heading
</a>
<span class="text">Examples</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">validate_number_system_type</span><span class="p" data-group-id="3222979984-1">(</span><span class="ss">:default</span><span class="p" data-group-id="3222979984-1">)</span><span class="w">
</span><span class="p" data-group-id="3222979984-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="ss">:default</span><span class="p" data-group-id="3222979984-2">}</span><span class="w">
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">validate_number_system_type</span><span class="p" data-group-id="9505688629-1">(</span><span class="ss">:default</span><span class="p" data-group-id="9505688629-1">)</span><span class="w">
</span><span class="p" data-group-id="9505688629-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="ss">:default</span><span class="p" data-group-id="9505688629-2">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">validate_number_system_type</span><span class="p" data-group-id="3222979984-3">(</span><span class="ss">:traditional</span><span class="p" data-group-id="3222979984-3">)</span><span class="w">
</span><span class="p" data-group-id="3222979984-4">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="ss">:traditional</span><span class="p" data-group-id="3222979984-4">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">validate_number_system_type</span><span class="p" data-group-id="9505688629-3">(</span><span class="ss">:traditional</span><span class="p" data-group-id="9505688629-3">)</span><span class="w">
</span><span class="p" data-group-id="9505688629-4">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="ss">:traditional</span><span class="p" data-group-id="9505688629-4">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">validate_number_system_type</span><span class="p" data-group-id="3222979984-5">(</span><span class="ss">:latn</span><span class="p" data-group-id="3222979984-5">)</span><span class="w">
</span><span class="p" data-group-id="3222979984-6">{</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">validate_number_system_type</span><span class="p" data-group-id="9505688629-5">(</span><span class="ss">:latn</span><span class="p" data-group-id="9505688629-5">)</span><span class="w">
</span><span class="p" data-group-id="9505688629-6">{</span><span class="w">
</span><span class="ss">:error</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="3222979984-7">{</span><span class="nc">Cldr.UnknownNumberSystemTypeError</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;The number system type :latn is unknown&quot;</span><span class="p" data-group-id="3222979984-7">}</span><span class="w">
</span><span class="p" data-group-id="3222979984-6">}</span><span class="w">
</span><span class="p" data-group-id="9505688629-7">{</span><span class="nc">Cldr.UnknownNumberSystemTypeError</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;The number system type :latn is unknown&quot;</span><span class="p" data-group-id="9505688629-7">}</span><span class="w">
</span><span class="p" data-group-id="9505688629-6">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">validate_number_system_type</span><span class="p" data-group-id="3222979984-8">(</span><span class="s">&quot;bork&quot;</span><span class="p" data-group-id="3222979984-8">)</span><span class="w">
</span><span class="p" data-group-id="3222979984-9">{</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Plausible.Cldr</span><span class="o">.</span><span class="n">validate_number_system_type</span><span class="p" data-group-id="9505688629-8">(</span><span class="s">&quot;bork&quot;</span><span class="p" data-group-id="9505688629-8">)</span><span class="w">
</span><span class="p" data-group-id="9505688629-9">{</span><span class="w">
</span><span class="ss">:error</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="3222979984-10">{</span><span class="nc">Cldr.UnknownNumberSystemTypeError</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;The number system type </span><span class="se">\&quot;</span><span class="s">bork</span><span class="se">\&quot;</span><span class="s"> is invalid&quot;</span><span class="p" data-group-id="3222979984-10">}</span><span class="w">
</span><span class="p" data-group-id="3222979984-9">}</span></code></pre>
</span><span class="p" data-group-id="9505688629-10">{</span><span class="nc">Cldr.UnknownNumberSystemTypeError</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;The number system type </span><span class="se">\&quot;</span><span class="s">bork</span><span class="se">\&quot;</span><span class="s"> is invalid&quot;</span><span class="p" data-group-id="9505688629-10">}</span><span class="w">
</span><span class="p" data-group-id="9505688629-9">}</span></code></pre>
</section>
</section>
<section class="detail" id="validate_territory/1">

View File

@ -845,23 +845,23 @@ pool to disconnect within the given interval.</p><p>See <a href="https://hexdocs
<section class="docstring">
<p>Similar to <code class="inline">insert_all/2</code> but with the following differences:</p><ul><li>accepts rows as streams or lists</li><li>sends rows as a chunked request</li><li>doesn't autogenerate ids or does any other preprocessing</li></ul><p>Example:</p><pre><code class="makeup elixir" translate="no"><span class="nc">Repo</span><span class="o">.</span><span class="n">query!</span><span class="p" data-group-id="4799480202-1">(</span><span class="s">&quot;create table ecto_ch_demo(a UInt64, b String) engine Null&quot;</span><span class="p" data-group-id="4799480202-1">)</span><span class="w">
<p>Similar to <code class="inline">insert_all/2</code> but with the following differences:</p><ul><li>accepts rows as streams or lists</li><li>sends rows as a chunked request</li><li>doesn't autogenerate ids or does any other preprocessing</li></ul><p>Example:</p><pre><code class="makeup elixir" translate="no"><span class="nc">Repo</span><span class="o">.</span><span class="n">query!</span><span class="p" data-group-id="4071272037-1">(</span><span class="s">&quot;create table ecto_ch_demo(a UInt64, b String) engine Null&quot;</span><span class="p" data-group-id="4071272037-1">)</span><span class="w">
</span><span class="kd">defmodule</span><span class="w"> </span><span class="nc">Demo</span><span class="w"> </span><span class="k" data-group-id="4799480202-2">do</span><span class="w">
</span><span class="kd">defmodule</span><span class="w"> </span><span class="nc">Demo</span><span class="w"> </span><span class="k" data-group-id="4071272037-2">do</span><span class="w">
</span><span class="kn">use</span><span class="w"> </span><span class="nc">Ecto.Schema</span><span class="w">
</span><span class="na">@primary_key</span><span class="w"> </span><span class="no">false</span><span class="w">
</span><span class="n">schema</span><span class="w"> </span><span class="s">&quot;ecto_ch_demo&quot;</span><span class="w"> </span><span class="k" data-group-id="4799480202-3">do</span><span class="w">
</span><span class="n">schema</span><span class="w"> </span><span class="s">&quot;ecto_ch_demo&quot;</span><span class="w"> </span><span class="k" data-group-id="4071272037-3">do</span><span class="w">
</span><span class="n">field</span><span class="w"> </span><span class="ss">:a</span><span class="p">,</span><span class="w"> </span><span class="nc">Ch</span><span class="p">,</span><span class="w"> </span><span class="ss">type</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;UInt64&quot;</span><span class="w">
</span><span class="n">field</span><span class="w"> </span><span class="ss">:b</span><span class="p">,</span><span class="w"> </span><span class="ss">:string</span><span class="w">
</span><span class="k" data-group-id="4799480202-3">end</span><span class="w">
</span><span class="k" data-group-id="4799480202-2">end</span><span class="w">
</span><span class="k" data-group-id="4071272037-3">end</span><span class="w">
</span><span class="k" data-group-id="4071272037-2">end</span><span class="w">
</span><span class="n">rows</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">Stream</span><span class="o">.</span><span class="n">map</span><span class="p" data-group-id="4799480202-4">(</span><span class="mi">1</span><span class="o">..</span><span class="mi">100_000</span><span class="p">,</span><span class="w"> </span><span class="k" data-group-id="4799480202-5">fn</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="p" data-group-id="4799480202-6">%{</span><span class="ss">a</span><span class="p">:</span><span class="w"> </span><span class="n">i</span><span class="p">,</span><span class="w"> </span><span class="ss">b</span><span class="p">:</span><span class="w"> </span><span class="n">to_string</span><span class="p" data-group-id="4799480202-7">(</span><span class="n">i</span><span class="p" data-group-id="4799480202-7">)</span><span class="p" data-group-id="4799480202-6">}</span><span class="w"> </span><span class="k" data-group-id="4799480202-5">end</span><span class="p" data-group-id="4799480202-4">)</span><span class="w">
</span><span class="p" data-group-id="4799480202-8">{</span><span class="mi">100_000</span><span class="p">,</span><span class="w"> </span><span class="no">nil</span><span class="p" data-group-id="4799480202-8">}</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">Repo</span><span class="o">.</span><span class="n">insert_stream</span><span class="p" data-group-id="4799480202-9">(</span><span class="nc">Demo</span><span class="p">,</span><span class="w"> </span><span class="n">rows</span><span class="p" data-group-id="4799480202-9">)</span><span class="w">
</span><span class="n">rows</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">Stream</span><span class="o">.</span><span class="n">map</span><span class="p" data-group-id="4071272037-4">(</span><span class="mi">1</span><span class="o">..</span><span class="mi">100_000</span><span class="p">,</span><span class="w"> </span><span class="k" data-group-id="4071272037-5">fn</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="p" data-group-id="4071272037-6">%{</span><span class="ss">a</span><span class="p">:</span><span class="w"> </span><span class="n">i</span><span class="p">,</span><span class="w"> </span><span class="ss">b</span><span class="p">:</span><span class="w"> </span><span class="n">to_string</span><span class="p" data-group-id="4071272037-7">(</span><span class="n">i</span><span class="p" data-group-id="4071272037-7">)</span><span class="p" data-group-id="4071272037-6">}</span><span class="w"> </span><span class="k" data-group-id="4071272037-5">end</span><span class="p" data-group-id="4071272037-4">)</span><span class="w">
</span><span class="p" data-group-id="4071272037-8">{</span><span class="mi">100_000</span><span class="p">,</span><span class="w"> </span><span class="no">nil</span><span class="p" data-group-id="4071272037-8">}</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">Repo</span><span class="o">.</span><span class="n">insert_stream</span><span class="p" data-group-id="4071272037-9">(</span><span class="nc">Demo</span><span class="p">,</span><span class="w"> </span><span class="n">rows</span><span class="p" data-group-id="4071272037-9">)</span><span class="w">
</span><span class="c1"># schemaless</span><span class="w">
</span><span class="p" data-group-id="4799480202-10">{</span><span class="mi">100_000</span><span class="p">,</span><span class="w"> </span><span class="no">nil</span><span class="p" data-group-id="4799480202-10">}</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">Repo</span><span class="o">.</span><span class="n">insert_stream</span><span class="p" data-group-id="4799480202-11">(</span><span class="s">&quot;ecto_ch_demo&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">rows</span><span class="p">,</span><span class="w"> </span><span class="ss">types</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4799480202-12">[</span><span class="ss">a</span><span class="p">:</span><span class="w"> </span><span class="nc">Ch.Types</span><span class="o">.</span><span class="n">u64</span><span class="p" data-group-id="4799480202-13">(</span><span class="p" data-group-id="4799480202-13">)</span><span class="p">,</span><span class="w"> </span><span class="ss">b</span><span class="p">:</span><span class="w"> </span><span class="ss">:string</span><span class="p" data-group-id="4799480202-12">]</span><span class="p" data-group-id="4799480202-11">)</span></code></pre>
</span><span class="p" data-group-id="4071272037-10">{</span><span class="mi">100_000</span><span class="p">,</span><span class="w"> </span><span class="no">nil</span><span class="p" data-group-id="4071272037-10">}</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">Repo</span><span class="o">.</span><span class="n">insert_stream</span><span class="p" data-group-id="4071272037-11">(</span><span class="s">&quot;ecto_ch_demo&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">rows</span><span class="p">,</span><span class="w"> </span><span class="ss">types</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4071272037-12">[</span><span class="ss">a</span><span class="p">:</span><span class="w"> </span><span class="nc">Ch.Types</span><span class="o">.</span><span class="n">u64</span><span class="p" data-group-id="4071272037-13">(</span><span class="p" data-group-id="4071272037-13">)</span><span class="p">,</span><span class="w"> </span><span class="ss">b</span><span class="p">:</span><span class="w"> </span><span class="ss">:string</span><span class="p" data-group-id="4071272037-12">]</span><span class="p" data-group-id="4071272037-11">)</span></code></pre>
</section>
</section>
<section class="detail" id="load/2">

View File

@ -1152,23 +1152,23 @@ pool to disconnect within the given interval.</p><p>See <a href="https://hexdocs
<section class="docstring">
<p>Similar to <a href="#insert_all/2"><code class="inline">insert_all/2</code></a> but with the following differences:</p><ul><li>accepts rows as streams or lists</li><li>sends rows as a chunked request</li><li>doesn't autogenerate ids or does any other preprocessing</li></ul><p>Example:</p><pre><code class="makeup elixir" translate="no"><span class="nc">Repo</span><span class="o">.</span><span class="n">query!</span><span class="p" data-group-id="0246685850-1">(</span><span class="s">&quot;create table ecto_ch_demo(a UInt64, b String) engine Null&quot;</span><span class="p" data-group-id="0246685850-1">)</span><span class="w">
<p>Similar to <a href="#insert_all/2"><code class="inline">insert_all/2</code></a> but with the following differences:</p><ul><li>accepts rows as streams or lists</li><li>sends rows as a chunked request</li><li>doesn't autogenerate ids or does any other preprocessing</li></ul><p>Example:</p><pre><code class="makeup elixir" translate="no"><span class="nc">Repo</span><span class="o">.</span><span class="n">query!</span><span class="p" data-group-id="0975030292-1">(</span><span class="s">&quot;create table ecto_ch_demo(a UInt64, b String) engine Null&quot;</span><span class="p" data-group-id="0975030292-1">)</span><span class="w">
</span><span class="kd">defmodule</span><span class="w"> </span><span class="nc">Demo</span><span class="w"> </span><span class="k" data-group-id="0246685850-2">do</span><span class="w">
</span><span class="kd">defmodule</span><span class="w"> </span><span class="nc">Demo</span><span class="w"> </span><span class="k" data-group-id="0975030292-2">do</span><span class="w">
</span><span class="kn">use</span><span class="w"> </span><span class="nc">Ecto.Schema</span><span class="w">
</span><span class="na">@primary_key</span><span class="w"> </span><span class="no">false</span><span class="w">
</span><span class="n">schema</span><span class="w"> </span><span class="s">&quot;ecto_ch_demo&quot;</span><span class="w"> </span><span class="k" data-group-id="0246685850-3">do</span><span class="w">
</span><span class="n">schema</span><span class="w"> </span><span class="s">&quot;ecto_ch_demo&quot;</span><span class="w"> </span><span class="k" data-group-id="0975030292-3">do</span><span class="w">
</span><span class="n">field</span><span class="w"> </span><span class="ss">:a</span><span class="p">,</span><span class="w"> </span><span class="nc">Ch</span><span class="p">,</span><span class="w"> </span><span class="ss">type</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;UInt64&quot;</span><span class="w">
</span><span class="n">field</span><span class="w"> </span><span class="ss">:b</span><span class="p">,</span><span class="w"> </span><span class="ss">:string</span><span class="w">
</span><span class="k" data-group-id="0246685850-3">end</span><span class="w">
</span><span class="k" data-group-id="0246685850-2">end</span><span class="w">
</span><span class="k" data-group-id="0975030292-3">end</span><span class="w">
</span><span class="k" data-group-id="0975030292-2">end</span><span class="w">
</span><span class="n">rows</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">Stream</span><span class="o">.</span><span class="n">map</span><span class="p" data-group-id="0246685850-4">(</span><span class="mi">1</span><span class="o">..</span><span class="mi">100_000</span><span class="p">,</span><span class="w"> </span><span class="k" data-group-id="0246685850-5">fn</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="p" data-group-id="0246685850-6">%{</span><span class="ss">a</span><span class="p">:</span><span class="w"> </span><span class="n">i</span><span class="p">,</span><span class="w"> </span><span class="ss">b</span><span class="p">:</span><span class="w"> </span><span class="n">to_string</span><span class="p" data-group-id="0246685850-7">(</span><span class="n">i</span><span class="p" data-group-id="0246685850-7">)</span><span class="p" data-group-id="0246685850-6">}</span><span class="w"> </span><span class="k" data-group-id="0246685850-5">end</span><span class="p" data-group-id="0246685850-4">)</span><span class="w">
</span><span class="p" data-group-id="0246685850-8">{</span><span class="mi">100_000</span><span class="p">,</span><span class="w"> </span><span class="no">nil</span><span class="p" data-group-id="0246685850-8">}</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">Repo</span><span class="o">.</span><span class="n">insert_stream</span><span class="p" data-group-id="0246685850-9">(</span><span class="nc">Demo</span><span class="p">,</span><span class="w"> </span><span class="n">rows</span><span class="p" data-group-id="0246685850-9">)</span><span class="w">
</span><span class="n">rows</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">Stream</span><span class="o">.</span><span class="n">map</span><span class="p" data-group-id="0975030292-4">(</span><span class="mi">1</span><span class="o">..</span><span class="mi">100_000</span><span class="p">,</span><span class="w"> </span><span class="k" data-group-id="0975030292-5">fn</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="p" data-group-id="0975030292-6">%{</span><span class="ss">a</span><span class="p">:</span><span class="w"> </span><span class="n">i</span><span class="p">,</span><span class="w"> </span><span class="ss">b</span><span class="p">:</span><span class="w"> </span><span class="n">to_string</span><span class="p" data-group-id="0975030292-7">(</span><span class="n">i</span><span class="p" data-group-id="0975030292-7">)</span><span class="p" data-group-id="0975030292-6">}</span><span class="w"> </span><span class="k" data-group-id="0975030292-5">end</span><span class="p" data-group-id="0975030292-4">)</span><span class="w">
</span><span class="p" data-group-id="0975030292-8">{</span><span class="mi">100_000</span><span class="p">,</span><span class="w"> </span><span class="no">nil</span><span class="p" data-group-id="0975030292-8">}</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">Repo</span><span class="o">.</span><span class="n">insert_stream</span><span class="p" data-group-id="0975030292-9">(</span><span class="nc">Demo</span><span class="p">,</span><span class="w"> </span><span class="n">rows</span><span class="p" data-group-id="0975030292-9">)</span><span class="w">
</span><span class="c1"># schemaless</span><span class="w">
</span><span class="p" data-group-id="0246685850-10">{</span><span class="mi">100_000</span><span class="p">,</span><span class="w"> </span><span class="no">nil</span><span class="p" data-group-id="0246685850-10">}</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">Repo</span><span class="o">.</span><span class="n">insert_stream</span><span class="p" data-group-id="0246685850-11">(</span><span class="s">&quot;ecto_ch_demo&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">rows</span><span class="p">,</span><span class="w"> </span><span class="ss">types</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="0246685850-12">[</span><span class="ss">a</span><span class="p">:</span><span class="w"> </span><span class="nc">Ch.Types</span><span class="o">.</span><span class="n">u64</span><span class="p" data-group-id="0246685850-13">(</span><span class="p" data-group-id="0246685850-13">)</span><span class="p">,</span><span class="w"> </span><span class="ss">b</span><span class="p">:</span><span class="w"> </span><span class="ss">:string</span><span class="p" data-group-id="0246685850-12">]</span><span class="p" data-group-id="0246685850-11">)</span></code></pre>
</span><span class="p" data-group-id="0975030292-10">{</span><span class="mi">100_000</span><span class="p">,</span><span class="w"> </span><span class="no">nil</span><span class="p" data-group-id="0975030292-10">}</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">Repo</span><span class="o">.</span><span class="n">insert_stream</span><span class="p" data-group-id="0975030292-11">(</span><span class="s">&quot;ecto_ch_demo&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">rows</span><span class="p">,</span><span class="w"> </span><span class="ss">types</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="0975030292-12">[</span><span class="ss">a</span><span class="p">:</span><span class="w"> </span><span class="nc">Ch.Types</span><span class="o">.</span><span class="n">u64</span><span class="p" data-group-id="0975030292-13">(</span><span class="p" data-group-id="0975030292-13">)</span><span class="p">,</span><span class="w"> </span><span class="ss">b</span><span class="p">:</span><span class="w"> </span><span class="ss">:string</span><span class="p" data-group-id="0975030292-12">]</span><span class="p" data-group-id="0975030292-11">)</span></code></pre>
</section>
</section>
<section class="detail" id="load/2">

View File

@ -382,7 +382,7 @@ tables into the format of <code class="inline">imported_*</code> tables for a we
<section class="docstring">
<p>Renders export archive filename.</p><p>Examples:</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="n">archive_filename</span><span class="p" data-group-id="8532347991-1">(</span><span class="s">&quot;plausible.io&quot;</span><span class="p">,</span><span class="w"> </span><span class="c">_created_on</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="ld">~D[2024-12-31]</span><span class="p" data-group-id="8532347991-1">)</span><span class="w">
<p>Renders export archive filename.</p><p>Examples:</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="n">archive_filename</span><span class="p" data-group-id="5890327290-1">(</span><span class="s">&quot;plausible.io&quot;</span><span class="p">,</span><span class="w"> </span><span class="c">_created_on</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="ld">~D[2024-12-31]</span><span class="p" data-group-id="5890327290-1">)</span><span class="w">
</span><span class="s">&quot;plausible_io_20241231.zip&quot;</span></code></pre>
</section>
</section>
@ -405,10 +405,10 @@ tables into the format of <code class="inline">imported_*</code> tables for a we
<section class="docstring">
<p>Safely renders content disposition for an arbitrary export filename.</p><p>Examples:</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="n">content_disposition</span><span class="p" data-group-id="9910206171-1">(</span><span class="s">&quot;plausible_io_20241231.zip&quot;</span><span class="p" data-group-id="9910206171-1">)</span><span class="w">
<p>Safely renders content disposition for an arbitrary export filename.</p><p>Examples:</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="n">content_disposition</span><span class="p" data-group-id="9485137845-1">(</span><span class="s">&quot;plausible_io_20241231.zip&quot;</span><span class="p" data-group-id="9485137845-1">)</span><span class="w">
</span><span class="s">&quot;attachment; filename=</span><span class="se">\&quot;</span><span class="s">plausible_io_20241231.zip</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="n">content_disposition</span><span class="p" data-group-id="9910206171-2">(</span><span class="s">&quot;📊.zip&quot;</span><span class="p" data-group-id="9910206171-2">)</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="n">content_disposition</span><span class="p" data-group-id="9485137845-2">(</span><span class="s">&quot;📊.zip&quot;</span><span class="p" data-group-id="9485137845-2">)</span><span class="w">
</span><span class="s">&quot;attachment; filename=</span><span class="se">\&quot;</span><span class="s">plausible-export.zip</span><span class="se">\&quot;</span><span class="s">; filename*=utf-8&#39;&#39;%F0%9F%93%8A.zip&quot;</span></code></pre>
</section>
</section>
@ -725,14 +725,14 @@ tables into the format of <code class="inline">imported_*</code> tables for a we
</div>
<p>Creates a streamable Zip archive from the provided (named) Ecto queries.</p><p>Example usage:</p><pre><code class="makeup elixir" translate="no"><span class="p" data-group-id="7283043333-1">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="n">pool</span><span class="p" data-group-id="7283043333-1">}</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">Ch</span><span class="o">.</span><span class="n">start_link</span><span class="p" data-group-id="7283043333-2">(</span><span class="ss">pool_size</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p" data-group-id="7283043333-2">)</span><span class="w">
<p>Creates a streamable Zip archive from the provided (named) Ecto queries.</p><p>Example usage:</p><pre><code class="makeup elixir" translate="no"><span class="p" data-group-id="7202790149-1">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="n">pool</span><span class="p" data-group-id="7202790149-1">}</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">Ch</span><span class="o">.</span><span class="n">start_link</span><span class="p" data-group-id="7202790149-2">(</span><span class="ss">pool_size</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p" data-group-id="7202790149-2">)</span><span class="w">
</span><span class="nc">DBConnection</span><span class="o">.</span><span class="n">run</span><span class="p" data-group-id="7283043333-3">(</span><span class="n">pool</span><span class="p">,</span><span class="w"> </span><span class="k" data-group-id="7283043333-4">fn</span><span class="w"> </span><span class="n">conn</span><span class="w"> </span><span class="o">-&gt;</span><span class="w">
</span><span class="nc">DBConnection</span><span class="o">.</span><span class="n">run</span><span class="p" data-group-id="7202790149-3">(</span><span class="n">pool</span><span class="p">,</span><span class="w"> </span><span class="k" data-group-id="7202790149-4">fn</span><span class="w"> </span><span class="n">conn</span><span class="w"> </span><span class="o">-&gt;</span><span class="w">
</span><span class="n">conn</span><span class="w">
</span><span class="o">|&gt;</span><span class="w"> </span><span class="n">stream_archive</span><span class="p" data-group-id="7283043333-5">(</span><span class="n">export_queries</span><span class="p" data-group-id="7283043333-6">(</span><span class="c">_site_id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="p" data-group-id="7283043333-6">)</span><span class="p">,</span><span class="w"> </span><span class="ss">format</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;CSVWithNames&quot;</span><span class="p" data-group-id="7283043333-5">)</span><span class="w">
</span><span class="o">|&gt;</span><span class="w"> </span><span class="nc">Stream</span><span class="o">.</span><span class="n">into</span><span class="p" data-group-id="7283043333-7">(</span><span class="nc">File</span><span class="o">.</span><span class="n">stream!</span><span class="p" data-group-id="7283043333-8">(</span><span class="s">&quot;export.zip&quot;</span><span class="p" data-group-id="7283043333-8">)</span><span class="p" data-group-id="7283043333-7">)</span><span class="w">
</span><span class="o">|&gt;</span><span class="w"> </span><span class="nc">Stream</span><span class="o">.</span><span class="n">run</span><span class="p" data-group-id="7283043333-9">(</span><span class="p" data-group-id="7283043333-9">)</span><span class="w">
</span><span class="k" data-group-id="7283043333-4">end</span><span class="p" data-group-id="7283043333-3">)</span></code></pre>
</span><span class="o">|&gt;</span><span class="w"> </span><span class="n">stream_archive</span><span class="p" data-group-id="7202790149-5">(</span><span class="n">export_queries</span><span class="p" data-group-id="7202790149-6">(</span><span class="c">_site_id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="p" data-group-id="7202790149-6">)</span><span class="p">,</span><span class="w"> </span><span class="ss">format</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;CSVWithNames&quot;</span><span class="p" data-group-id="7202790149-5">)</span><span class="w">
</span><span class="o">|&gt;</span><span class="w"> </span><span class="nc">Stream</span><span class="o">.</span><span class="n">into</span><span class="p" data-group-id="7202790149-7">(</span><span class="nc">File</span><span class="o">.</span><span class="n">stream!</span><span class="p" data-group-id="7202790149-8">(</span><span class="s">&quot;export.zip&quot;</span><span class="p" data-group-id="7202790149-8">)</span><span class="p" data-group-id="7202790149-7">)</span><span class="w">
</span><span class="o">|&gt;</span><span class="w"> </span><span class="nc">Stream</span><span class="o">.</span><span class="n">run</span><span class="p" data-group-id="7202790149-9">(</span><span class="p" data-group-id="7202790149-9">)</span><span class="w">
</span><span class="k" data-group-id="7202790149-4">end</span><span class="p" data-group-id="7202790149-3">)</span></code></pre>
</section>
</section>

View File

@ -260,8 +260,8 @@ and MaxMind license key.</p></div>
</a>
<span class="text">Examples</span>
</h2>
<p> In the case of a DB-IP database:</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="n">database_type</span><span class="p" data-group-id="2684218253-1">(</span><span class="p" data-group-id="2684218253-1">)</span><span class="w">
</span><span class="s">&quot;DBIP-City-Lite&quot;</span></code></pre><p> In the case of a MaxMind database:</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="n">database_type</span><span class="p" data-group-id="7954784655-1">(</span><span class="p" data-group-id="7954784655-1">)</span><span class="w">
<p> In the case of a DB-IP database:</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="n">database_type</span><span class="p" data-group-id="5006519921-1">(</span><span class="p" data-group-id="5006519921-1">)</span><span class="w">
</span><span class="s">&quot;DBIP-City-Lite&quot;</span></code></pre><p> In the case of a MaxMind database:</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="n">database_type</span><span class="p" data-group-id="3347209450-1">(</span><span class="p" data-group-id="3347209450-1">)</span><span class="w">
</span><span class="s">&quot;GeoLite2-City&quot;</span></code></pre>
</section>
</section>
@ -302,8 +302,8 @@ asynchronously.</p></li></ul><h2 id="load_db/1-examples" class="section-heading"
</a>
<span class="text">Examples</span>
</h2>
<p> Loading from a local file:</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="n">load_db</span><span class="p" data-group-id="8750985134-1">(</span><span class="ss">path</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;/etc/plausible/dbip-city.mmdb&quot;</span><span class="p" data-group-id="8750985134-1">)</span><span class="w">
</span><span class="ss">:ok</span></code></pre><p> Downloading a MaxMind DB (this license key is no longer active):</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="n">load_db</span><span class="p" data-group-id="5844717844-1">(</span><span class="ss">license_key</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;LNpsJCCKPis6XvBP&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">edition</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;GeoLite2-City&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">async</span><span class="p">:</span><span class="w"> </span><span class="no">true</span><span class="p" data-group-id="5844717844-1">)</span><span class="w">
<p> Loading from a local file:</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="n">load_db</span><span class="p" data-group-id="0177139832-1">(</span><span class="ss">path</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;/etc/plausible/dbip-city.mmdb&quot;</span><span class="p" data-group-id="0177139832-1">)</span><span class="w">
</span><span class="ss">:ok</span></code></pre><p> Downloading a MaxMind DB (this license key is no longer active):</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="n">load_db</span><span class="p" data-group-id="5557227156-1">(</span><span class="ss">license_key</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;LNpsJCCKPis6XvBP&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">edition</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;GeoLite2-City&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">async</span><span class="p">:</span><span class="w"> </span><span class="no">true</span><span class="p" data-group-id="5557227156-1">)</span><span class="w">
</span><span class="ss">:ok</span></code></pre>
</section>
</section>
@ -332,21 +332,21 @@ asynchronously.</p></li></ul><h2 id="load_db/1-examples" class="section-heading"
</a>
<span class="text">Examples</span>
</h2>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="n">lookup</span><span class="p" data-group-id="7495960993-1">(</span><span class="s">&quot;8.7.6.5&quot;</span><span class="p" data-group-id="7495960993-1">)</span><span class="w">
</span><span class="p" data-group-id="7495960993-2">%{</span><span class="w">
</span><span class="s">&quot;city&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="p" data-group-id="7495960993-3">%{</span><span class="w">
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="n">lookup</span><span class="p" data-group-id="5719243617-1">(</span><span class="s">&quot;8.7.6.5&quot;</span><span class="p" data-group-id="5719243617-1">)</span><span class="w">
</span><span class="p" data-group-id="5719243617-2">%{</span><span class="w">
</span><span class="s">&quot;city&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="p" data-group-id="5719243617-3">%{</span><span class="w">
</span><span class="s">&quot;geoname_id&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="mi">5349755</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;names&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="p" data-group-id="7495960993-4">%{</span><span class="w">
</span><span class="s">&quot;names&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="p" data-group-id="5719243617-4">%{</span><span class="w">
</span><span class="s">&quot;de&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;Fontana&quot;</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;en&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;Fontana&quot;</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;ja&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;フォンタナ&quot;</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;ru&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;Фонтана&quot;</span><span class="w">
</span><span class="p" data-group-id="7495960993-4">}</span><span class="w">
</span><span class="p" data-group-id="7495960993-3">}</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;continent&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="p" data-group-id="7495960993-5">%{</span><span class="w">
</span><span class="p" data-group-id="5719243617-4">}</span><span class="w">
</span><span class="p" data-group-id="5719243617-3">}</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;continent&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="p" data-group-id="5719243617-5">%{</span><span class="w">
</span><span class="s">&quot;code&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;NA&quot;</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;geoname_id&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="mi">6255149</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;names&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="p" data-group-id="7495960993-6">%{</span><span class="w">
</span><span class="s">&quot;names&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="p" data-group-id="5719243617-6">%{</span><span class="w">
</span><span class="s">&quot;de&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;Nordamerika&quot;</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;en&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;North America&quot;</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;es&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;Norteamérica&quot;</span><span class="p">,</span><span class="w">
@ -355,12 +355,12 @@ asynchronously.</p></li></ul><h2 id="load_db/1-examples" class="section-heading"
</span><span class="s">&quot;pt-BR&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;América do Norte&quot;</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;ru&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;Северная Америка&quot;</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;zh-CN&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;北美洲&quot;</span><span class="w">
</span><span class="p" data-group-id="7495960993-6">}</span><span class="w">
</span><span class="p" data-group-id="7495960993-5">}</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;country&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="p" data-group-id="7495960993-7">%{</span><span class="w">
</span><span class="p" data-group-id="5719243617-6">}</span><span class="w">
</span><span class="p" data-group-id="5719243617-5">}</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;country&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="p" data-group-id="5719243617-7">%{</span><span class="w">
</span><span class="s">&quot;geoname_id&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="mi">6252001</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;iso_code&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;US&quot;</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;names&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="p" data-group-id="7495960993-8">%{</span><span class="w">
</span><span class="s">&quot;names&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="p" data-group-id="5719243617-8">%{</span><span class="w">
</span><span class="s">&quot;de&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;Vereinigte Staaten&quot;</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;en&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;United States&quot;</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;es&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;Estados Unidos&quot;</span><span class="p">,</span><span class="w">
@ -369,20 +369,20 @@ asynchronously.</p></li></ul><h2 id="load_db/1-examples" class="section-heading"
</span><span class="s">&quot;pt-BR&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;EUA&quot;</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;ru&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;США&quot;</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;zh-CN&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;美国&quot;</span><span class="w">
</span><span class="p" data-group-id="7495960993-8">}</span><span class="w">
</span><span class="p" data-group-id="7495960993-7">}</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;location&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="p" data-group-id="7495960993-9">%{</span><span class="w">
</span><span class="p" data-group-id="5719243617-8">}</span><span class="w">
</span><span class="p" data-group-id="5719243617-7">}</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;location&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="p" data-group-id="5719243617-9">%{</span><span class="w">
</span><span class="s">&quot;accuracy_radius&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="mi">50</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;latitude&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="mf">34.1211</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;longitude&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="o">-</span><span class="mf">117.4362</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;metro_code&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="mi">803</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;time_zone&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;America/Los_Angeles&quot;</span><span class="w">
</span><span class="p" data-group-id="7495960993-9">}</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;postal&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="p" data-group-id="7495960993-10">%{</span><span class="s">&quot;code&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;92336&quot;</span><span class="p" data-group-id="7495960993-10">}</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;registered_country&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="p" data-group-id="7495960993-11">%{</span><span class="w">
</span><span class="p" data-group-id="5719243617-9">}</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;postal&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="p" data-group-id="5719243617-10">%{</span><span class="s">&quot;code&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;92336&quot;</span><span class="p" data-group-id="5719243617-10">}</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;registered_country&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="p" data-group-id="5719243617-11">%{</span><span class="w">
</span><span class="s">&quot;geoname_id&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="mi">6252001</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;iso_code&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;US&quot;</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;names&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="p" data-group-id="7495960993-12">%{</span><span class="w">
</span><span class="s">&quot;names&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="p" data-group-id="5719243617-12">%{</span><span class="w">
</span><span class="s">&quot;de&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;Vereinigte Staaten&quot;</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;en&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;United States&quot;</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;es&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;Estados Unidos&quot;</span><span class="p">,</span><span class="w">
@ -391,13 +391,13 @@ asynchronously.</p></li></ul><h2 id="load_db/1-examples" class="section-heading"
</span><span class="s">&quot;pt-BR&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;EUA&quot;</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;ru&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;США&quot;</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;zh-CN&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;美国&quot;</span><span class="w">
</span><span class="p" data-group-id="7495960993-12">}</span><span class="w">
</span><span class="p" data-group-id="7495960993-11">}</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;subdivisions&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="p" data-group-id="7495960993-13">[</span><span class="w">
</span><span class="p" data-group-id="7495960993-14">%{</span><span class="w">
</span><span class="p" data-group-id="5719243617-12">}</span><span class="w">
</span><span class="p" data-group-id="5719243617-11">}</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;subdivisions&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="p" data-group-id="5719243617-13">[</span><span class="w">
</span><span class="p" data-group-id="5719243617-14">%{</span><span class="w">
</span><span class="s">&quot;geoname_id&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="mi">5332921</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;iso_code&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;CA&quot;</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;names&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="p" data-group-id="7495960993-15">%{</span><span class="w">
</span><span class="s">&quot;names&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="p" data-group-id="5719243617-15">%{</span><span class="w">
</span><span class="s">&quot;de&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;Kalifornien&quot;</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;en&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;California&quot;</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;es&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;California&quot;</span><span class="p">,</span><span class="w">
@ -406,10 +406,10 @@ asynchronously.</p></li></ul><h2 id="load_db/1-examples" class="section-heading"
</span><span class="s">&quot;pt-BR&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;Califórnia&quot;</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;ru&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;Калифорния&quot;</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;zh-CN&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;加州&quot;</span><span class="w">
</span><span class="p" data-group-id="7495960993-15">}</span><span class="w">
</span><span class="p" data-group-id="7495960993-14">}</span><span class="w">
</span><span class="p" data-group-id="7495960993-13">]</span><span class="w">
</span><span class="p" data-group-id="7495960993-2">}</span></code></pre>
</span><span class="p" data-group-id="5719243617-15">}</span><span class="w">
</span><span class="p" data-group-id="5719243617-14">}</span><span class="w">
</span><span class="p" data-group-id="5719243617-13">]</span><span class="w">
</span><span class="p" data-group-id="5719243617-2">}</span></code></pre>
</section>
</section>

View File

@ -1143,23 +1143,23 @@ pool to disconnect within the given interval.</p><p>See <a href="https://hexdocs
<section class="docstring">
<p>Similar to <a href="#insert_all/2"><code class="inline">insert_all/2</code></a> but with the following differences:</p><ul><li>accepts rows as streams or lists</li><li>sends rows as a chunked request</li><li>doesn't autogenerate ids or does any other preprocessing</li></ul><p>Example:</p><pre><code class="makeup elixir" translate="no"><span class="nc">Repo</span><span class="o">.</span><span class="n">query!</span><span class="p" data-group-id="5048168056-1">(</span><span class="s">&quot;create table ecto_ch_demo(a UInt64, b String) engine Null&quot;</span><span class="p" data-group-id="5048168056-1">)</span><span class="w">
<p>Similar to <a href="#insert_all/2"><code class="inline">insert_all/2</code></a> but with the following differences:</p><ul><li>accepts rows as streams or lists</li><li>sends rows as a chunked request</li><li>doesn't autogenerate ids or does any other preprocessing</li></ul><p>Example:</p><pre><code class="makeup elixir" translate="no"><span class="nc">Repo</span><span class="o">.</span><span class="n">query!</span><span class="p" data-group-id="2678015217-1">(</span><span class="s">&quot;create table ecto_ch_demo(a UInt64, b String) engine Null&quot;</span><span class="p" data-group-id="2678015217-1">)</span><span class="w">
</span><span class="kd">defmodule</span><span class="w"> </span><span class="nc">Demo</span><span class="w"> </span><span class="k" data-group-id="5048168056-2">do</span><span class="w">
</span><span class="kd">defmodule</span><span class="w"> </span><span class="nc">Demo</span><span class="w"> </span><span class="k" data-group-id="2678015217-2">do</span><span class="w">
</span><span class="kn">use</span><span class="w"> </span><span class="nc">Ecto.Schema</span><span class="w">
</span><span class="na">@primary_key</span><span class="w"> </span><span class="no">false</span><span class="w">
</span><span class="n">schema</span><span class="w"> </span><span class="s">&quot;ecto_ch_demo&quot;</span><span class="w"> </span><span class="k" data-group-id="5048168056-3">do</span><span class="w">
</span><span class="n">schema</span><span class="w"> </span><span class="s">&quot;ecto_ch_demo&quot;</span><span class="w"> </span><span class="k" data-group-id="2678015217-3">do</span><span class="w">
</span><span class="n">field</span><span class="w"> </span><span class="ss">:a</span><span class="p">,</span><span class="w"> </span><span class="nc">Ch</span><span class="p">,</span><span class="w"> </span><span class="ss">type</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;UInt64&quot;</span><span class="w">
</span><span class="n">field</span><span class="w"> </span><span class="ss">:b</span><span class="p">,</span><span class="w"> </span><span class="ss">:string</span><span class="w">
</span><span class="k" data-group-id="5048168056-3">end</span><span class="w">
</span><span class="k" data-group-id="5048168056-2">end</span><span class="w">
</span><span class="k" data-group-id="2678015217-3">end</span><span class="w">
</span><span class="k" data-group-id="2678015217-2">end</span><span class="w">
</span><span class="n">rows</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">Stream</span><span class="o">.</span><span class="n">map</span><span class="p" data-group-id="5048168056-4">(</span><span class="mi">1</span><span class="o">..</span><span class="mi">100_000</span><span class="p">,</span><span class="w"> </span><span class="k" data-group-id="5048168056-5">fn</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="p" data-group-id="5048168056-6">%{</span><span class="ss">a</span><span class="p">:</span><span class="w"> </span><span class="n">i</span><span class="p">,</span><span class="w"> </span><span class="ss">b</span><span class="p">:</span><span class="w"> </span><span class="n">to_string</span><span class="p" data-group-id="5048168056-7">(</span><span class="n">i</span><span class="p" data-group-id="5048168056-7">)</span><span class="p" data-group-id="5048168056-6">}</span><span class="w"> </span><span class="k" data-group-id="5048168056-5">end</span><span class="p" data-group-id="5048168056-4">)</span><span class="w">
</span><span class="p" data-group-id="5048168056-8">{</span><span class="mi">100_000</span><span class="p">,</span><span class="w"> </span><span class="no">nil</span><span class="p" data-group-id="5048168056-8">}</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">Repo</span><span class="o">.</span><span class="n">insert_stream</span><span class="p" data-group-id="5048168056-9">(</span><span class="nc">Demo</span><span class="p">,</span><span class="w"> </span><span class="n">rows</span><span class="p" data-group-id="5048168056-9">)</span><span class="w">
</span><span class="n">rows</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">Stream</span><span class="o">.</span><span class="n">map</span><span class="p" data-group-id="2678015217-4">(</span><span class="mi">1</span><span class="o">..</span><span class="mi">100_000</span><span class="p">,</span><span class="w"> </span><span class="k" data-group-id="2678015217-5">fn</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="p" data-group-id="2678015217-6">%{</span><span class="ss">a</span><span class="p">:</span><span class="w"> </span><span class="n">i</span><span class="p">,</span><span class="w"> </span><span class="ss">b</span><span class="p">:</span><span class="w"> </span><span class="n">to_string</span><span class="p" data-group-id="2678015217-7">(</span><span class="n">i</span><span class="p" data-group-id="2678015217-7">)</span><span class="p" data-group-id="2678015217-6">}</span><span class="w"> </span><span class="k" data-group-id="2678015217-5">end</span><span class="p" data-group-id="2678015217-4">)</span><span class="w">
</span><span class="p" data-group-id="2678015217-8">{</span><span class="mi">100_000</span><span class="p">,</span><span class="w"> </span><span class="no">nil</span><span class="p" data-group-id="2678015217-8">}</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">Repo</span><span class="o">.</span><span class="n">insert_stream</span><span class="p" data-group-id="2678015217-9">(</span><span class="nc">Demo</span><span class="p">,</span><span class="w"> </span><span class="n">rows</span><span class="p" data-group-id="2678015217-9">)</span><span class="w">
</span><span class="c1"># schemaless</span><span class="w">
</span><span class="p" data-group-id="5048168056-10">{</span><span class="mi">100_000</span><span class="p">,</span><span class="w"> </span><span class="no">nil</span><span class="p" data-group-id="5048168056-10">}</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">Repo</span><span class="o">.</span><span class="n">insert_stream</span><span class="p" data-group-id="5048168056-11">(</span><span class="s">&quot;ecto_ch_demo&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">rows</span><span class="p">,</span><span class="w"> </span><span class="ss">types</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="5048168056-12">[</span><span class="ss">a</span><span class="p">:</span><span class="w"> </span><span class="nc">Ch.Types</span><span class="o">.</span><span class="n">u64</span><span class="p" data-group-id="5048168056-13">(</span><span class="p" data-group-id="5048168056-13">)</span><span class="p">,</span><span class="w"> </span><span class="ss">b</span><span class="p">:</span><span class="w"> </span><span class="ss">:string</span><span class="p" data-group-id="5048168056-12">]</span><span class="p" data-group-id="5048168056-11">)</span></code></pre>
</span><span class="p" data-group-id="2678015217-10">{</span><span class="mi">100_000</span><span class="p">,</span><span class="w"> </span><span class="no">nil</span><span class="p" data-group-id="2678015217-10">}</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">Repo</span><span class="o">.</span><span class="n">insert_stream</span><span class="p" data-group-id="2678015217-11">(</span><span class="s">&quot;ecto_ch_demo&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">rows</span><span class="p">,</span><span class="w"> </span><span class="ss">types</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="2678015217-12">[</span><span class="ss">a</span><span class="p">:</span><span class="w"> </span><span class="nc">Ch.Types</span><span class="o">.</span><span class="n">u64</span><span class="p" data-group-id="2678015217-13">(</span><span class="p" data-group-id="2678015217-13">)</span><span class="p">,</span><span class="w"> </span><span class="ss">b</span><span class="p">:</span><span class="w"> </span><span class="ss">:string</span><span class="p" data-group-id="2678015217-12">]</span><span class="p" data-group-id="2678015217-11">)</span></code></pre>
</section>
</section>
<section class="detail" id="load/2">

View File

@ -257,13 +257,13 @@ or from local storage for which it uses <a href="https://clickhouse.com/docs/en/
</div>
<p>Extracts min/max date range from a list of uploads.</p><p>Examples:</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="n">date_range</span><span class="p" data-group-id="9749614048-1">(</span><span class="p" data-group-id="9749614048-2">[</span><span class="w">
</span><span class="gp unselectable">...&gt; </span><span class="w"> </span><span class="p" data-group-id="9749614048-3">%{</span><span class="s">&quot;filename&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;imported_devices_20190101_20210101.csv&quot;</span><span class="p" data-group-id="9749614048-3">}</span><span class="p">,</span><span class="w">
<p>Extracts min/max date range from a list of uploads.</p><p>Examples:</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="n">date_range</span><span class="p" data-group-id="2040304588-1">(</span><span class="p" data-group-id="2040304588-2">[</span><span class="w">
</span><span class="gp unselectable">...&gt; </span><span class="w"> </span><span class="p" data-group-id="2040304588-3">%{</span><span class="s">&quot;filename&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;imported_devices_20190101_20210101.csv&quot;</span><span class="p" data-group-id="2040304588-3">}</span><span class="p">,</span><span class="w">
</span><span class="gp unselectable">...&gt; </span><span class="w"> </span><span class="s">&quot;pages_20200101_20220101.csv&quot;</span><span class="w">
</span><span class="gp unselectable">...&gt; </span><span class="p" data-group-id="9749614048-2">]</span><span class="p" data-group-id="9749614048-1">)</span><span class="w">
</span><span class="nc">Date</span><span class="o">.</span><span class="n">range</span><span class="p" data-group-id="9749614048-4">(</span><span class="ld">~D[2019-01-01]</span><span class="p">,</span><span class="w"> </span><span class="ld">~D[2022-01-01]</span><span class="p" data-group-id="9749614048-4">)</span><span class="w">
</span><span class="gp unselectable">...&gt; </span><span class="p" data-group-id="2040304588-2">]</span><span class="p" data-group-id="2040304588-1">)</span><span class="w">
</span><span class="nc">Date</span><span class="o">.</span><span class="n">range</span><span class="p" data-group-id="2040304588-4">(</span><span class="ld">~D[2019-01-01]</span><span class="p">,</span><span class="w"> </span><span class="ld">~D[2022-01-01]</span><span class="p" data-group-id="2040304588-4">)</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="n">date_range</span><span class="p" data-group-id="9749614048-5">(</span><span class="p" data-group-id="9749614048-6">[</span><span class="p" data-group-id="9749614048-6">]</span><span class="p" data-group-id="9749614048-5">)</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="n">date_range</span><span class="p" data-group-id="2040304588-5">(</span><span class="p" data-group-id="2040304588-6">[</span><span class="p" data-group-id="2040304588-6">]</span><span class="p" data-group-id="2040304588-5">)</span><span class="w">
</span><span class="no">nil</span></code></pre>
</section>
</section>
@ -292,13 +292,13 @@ or from local storage for which it uses <a href="https://clickhouse.com/docs/en/
</div>
<p>Extracts the table name from the provided filename.</p><p>Raises if the filename doesn't conform to the expected format.</p><p>Examples:</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="n">extract_table</span><span class="p" data-group-id="1851182410-1">(</span><span class="s">&quot;my_data.csv&quot;</span><span class="p" data-group-id="1851182410-1">)</span><span class="w">
<p>Extracts the table name from the provided filename.</p><p>Raises if the filename doesn't conform to the expected format.</p><p>Examples:</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="n">extract_table</span><span class="p" data-group-id="0263369749-1">(</span><span class="s">&quot;my_data.csv&quot;</span><span class="p" data-group-id="0263369749-1">)</span><span class="w">
</span><span class="gt">** (ArgumentError) invalid filename</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="n">extract_table</span><span class="p" data-group-id="1851182410-2">(</span><span class="s">&quot;imported_devices_00010101_20250101.csv&quot;</span><span class="p" data-group-id="1851182410-2">)</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="n">extract_table</span><span class="p" data-group-id="0263369749-2">(</span><span class="s">&quot;imported_devices_00010101_20250101.csv&quot;</span><span class="p" data-group-id="0263369749-2">)</span><span class="w">
</span><span class="s">&quot;imported_devices&quot;</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="n">extract_table</span><span class="p" data-group-id="1851182410-3">(</span><span class="s">&quot;devices_00010101_20250101.csv&quot;</span><span class="p" data-group-id="1851182410-3">)</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="n">extract_table</span><span class="p" data-group-id="0263369749-3">(</span><span class="s">&quot;devices_00010101_20250101.csv&quot;</span><span class="p" data-group-id="0263369749-3">)</span><span class="w">
</span><span class="s">&quot;imported_devices&quot;</span></code></pre>
</section>
</section>
@ -321,8 +321,8 @@ or from local storage for which it uses <a href="https://clickhouse.com/docs/en/
<section class="docstring">
<p>Returns local directory for CSV imports storage.</p><p>Builds upon <code class="inline">$PERSISTENT_CACHE_DIR</code> (if set) and falls back to /tmp</p><p>Examples:</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="n">local_dir</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">local_dir</span><span class="p" data-group-id="8623750924-1">(</span><span class="c">_site_id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">37</span><span class="p" data-group-id="8623750924-1">)</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">String</span><span class="o">.</span><span class="n">ends_with?</span><span class="p" data-group-id="8623750924-2">(</span><span class="n">local_dir</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;/plausible-imports/37&quot;</span><span class="p" data-group-id="8623750924-2">)</span><span class="w">
<p>Returns local directory for CSV imports storage.</p><p>Builds upon <code class="inline">$PERSISTENT_CACHE_DIR</code> (if set) and falls back to /tmp</p><p>Examples:</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="n">local_dir</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">local_dir</span><span class="p" data-group-id="4919298572-1">(</span><span class="c">_site_id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">37</span><span class="p" data-group-id="4919298572-1">)</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">String</span><span class="o">.</span><span class="n">ends_with?</span><span class="p" data-group-id="4919298572-2">(</span><span class="n">local_dir</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;/plausible-imports/37&quot;</span><span class="p" data-group-id="4919298572-2">)</span><span class="w">
</span><span class="no">true</span></code></pre>
</section>
</section>
@ -381,14 +381,14 @@ or from local storage for which it uses <a href="https://clickhouse.com/docs/en/
</div>
<p>Extracts table name and min/max dates from the filename.</p><p>Examples:</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="n">parse_filename!</span><span class="p" data-group-id="2798299961-1">(</span><span class="s">&quot;my_data.csv&quot;</span><span class="p" data-group-id="2798299961-1">)</span><span class="w">
<p>Extracts table name and min/max dates from the filename.</p><p>Examples:</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="n">parse_filename!</span><span class="p" data-group-id="0517885543-1">(</span><span class="s">&quot;my_data.csv&quot;</span><span class="p" data-group-id="0517885543-1">)</span><span class="w">
</span><span class="gt">** (ArgumentError) invalid filename</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="n">parse_filename!</span><span class="p" data-group-id="2798299961-2">(</span><span class="s">&quot;imported_devices_00010101_20250101.csv&quot;</span><span class="p" data-group-id="2798299961-2">)</span><span class="w">
</span><span class="p" data-group-id="2798299961-3">{</span><span class="s">&quot;imported_devices&quot;</span><span class="p">,</span><span class="w"> </span><span class="ld">~D[0001-01-01]</span><span class="p">,</span><span class="w"> </span><span class="ld">~D[2025-01-01]</span><span class="p" data-group-id="2798299961-3">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="n">parse_filename!</span><span class="p" data-group-id="0517885543-2">(</span><span class="s">&quot;imported_devices_00010101_20250101.csv&quot;</span><span class="p" data-group-id="0517885543-2">)</span><span class="w">
</span><span class="p" data-group-id="0517885543-3">{</span><span class="s">&quot;imported_devices&quot;</span><span class="p">,</span><span class="w"> </span><span class="ld">~D[0001-01-01]</span><span class="p">,</span><span class="w"> </span><span class="ld">~D[2025-01-01]</span><span class="p" data-group-id="0517885543-3">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="n">parse_filename!</span><span class="p" data-group-id="2798299961-4">(</span><span class="s">&quot;devices_00010101_20250101.csv&quot;</span><span class="p" data-group-id="2798299961-4">)</span><span class="w">
</span><span class="p" data-group-id="2798299961-5">{</span><span class="s">&quot;imported_devices&quot;</span><span class="p">,</span><span class="w"> </span><span class="ld">~D[0001-01-01]</span><span class="p">,</span><span class="w"> </span><span class="ld">~D[2025-01-01]</span><span class="p" data-group-id="2798299961-5">}</span></code></pre>
</span><span class="gp unselectable">iex&gt; </span><span class="n">parse_filename!</span><span class="p" data-group-id="0517885543-4">(</span><span class="s">&quot;devices_00010101_20250101.csv&quot;</span><span class="p" data-group-id="0517885543-4">)</span><span class="w">
</span><span class="p" data-group-id="0517885543-5">{</span><span class="s">&quot;imported_devices&quot;</span><span class="p">,</span><span class="w"> </span><span class="ld">~D[0001-01-01]</span><span class="p">,</span><span class="w"> </span><span class="ld">~D[2025-01-01]</span><span class="p" data-group-id="0517885543-5">}</span></code></pre>
</section>
</section>
<section class="detail" id="valid_filename?/1">
@ -416,13 +416,13 @@ or from local storage for which it uses <a href="https://clickhouse.com/docs/en/
</div>
<p>Checks if the provided filename conforms to the expected format.</p><p>Examples:</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="n">valid_filename?</span><span class="p" data-group-id="9848491584-1">(</span><span class="s">&quot;my_data.csv&quot;</span><span class="p" data-group-id="9848491584-1">)</span><span class="w">
<p>Checks if the provided filename conforms to the expected format.</p><p>Examples:</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="n">valid_filename?</span><span class="p" data-group-id="6927621250-1">(</span><span class="s">&quot;my_data.csv&quot;</span><span class="p" data-group-id="6927621250-1">)</span><span class="w">
</span><span class="no">false</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="n">valid_filename?</span><span class="p" data-group-id="9848491584-2">(</span><span class="s">&quot;imported_devices_00010101_20250101.csv&quot;</span><span class="p" data-group-id="9848491584-2">)</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="n">valid_filename?</span><span class="p" data-group-id="6927621250-2">(</span><span class="s">&quot;imported_devices_00010101_20250101.csv&quot;</span><span class="p" data-group-id="6927621250-2">)</span><span class="w">
</span><span class="no">true</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="n">valid_filename?</span><span class="p" data-group-id="9848491584-3">(</span><span class="s">&quot;devices_00010101_20250101.csv&quot;</span><span class="p" data-group-id="9848491584-3">)</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="n">valid_filename?</span><span class="p" data-group-id="6927621250-3">(</span><span class="s">&quot;devices_00010101_20250101.csv&quot;</span><span class="p" data-group-id="6927621250-3">)</span><span class="w">
</span><span class="no">true</span></code></pre>
</section>
</section>

View File

@ -178,30 +178,30 @@ scope of importer logic and is expected to be implemented separately.</p><h2 id=
</h2>
<p>In case it's necessary to run the whole import job fully synchronously, the
<a href="Plausible.Workers.ImportAnalytics.html"><code class="inline">Plausible.Workers.ImportAnalytics</code></a> worker sends an <a href="https://hexdocs.pm/oban/2.17.2/Oban.Notifier.html"><code class="inline">Oban.Notifier</code></a> message
on completion, failure or transient failure of the import.</p><p>A basic usage scenario looks like this:</p><pre><code class="makeup elixir" translate="no"><span class="p" data-group-id="7102685775-1">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="n">job</span><span class="p" data-group-id="7102685775-1">}</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">Plausible.Imported.NoopImporter</span><span class="o">.</span><span class="n">new_import</span><span class="p" data-group-id="7102685775-2">(</span><span class="w">
on completion, failure or transient failure of the import.</p><p>A basic usage scenario looks like this:</p><pre><code class="makeup elixir" translate="no"><span class="p" data-group-id="0388437187-1">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="n">job</span><span class="p" data-group-id="0388437187-1">}</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">Plausible.Imported.NoopImporter</span><span class="o">.</span><span class="n">new_import</span><span class="p" data-group-id="0388437187-2">(</span><span class="w">
</span><span class="n">site</span><span class="p">,</span><span class="w">
</span><span class="n">user</span><span class="p">,</span><span class="w">
</span><span class="ss">start_date</span><span class="p">:</span><span class="w"> </span><span class="ld">~D[2005-01-01]</span><span class="p">,</span><span class="w">
</span><span class="ss">end_date</span><span class="p">:</span><span class="w"> </span><span class="nc">Date</span><span class="o">.</span><span class="n">utc_today</span><span class="p" data-group-id="7102685775-3">(</span><span class="p" data-group-id="7102685775-3">)</span><span class="p">,</span><span class="w">
</span><span class="ss">end_date</span><span class="p">:</span><span class="w"> </span><span class="nc">Date</span><span class="o">.</span><span class="n">utc_today</span><span class="p" data-group-id="0388437187-3">(</span><span class="p" data-group-id="0388437187-3">)</span><span class="p">,</span><span class="w">
</span><span class="c1"># this option is necessary to setup the calling process as listener</span><span class="w">
</span><span class="ss">listen?</span><span class="p">:</span><span class="w"> </span><span class="no">true</span><span class="w">
</span><span class="p" data-group-id="7102685775-2">)</span><span class="w">
</span><span class="p" data-group-id="0388437187-2">)</span><span class="w">
</span><span class="n">import_id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">job</span><span class="o">.</span><span class="n">args</span><span class="p" data-group-id="7102685775-4">[</span><span class="ss">:import_id</span><span class="p" data-group-id="7102685775-4">]</span><span class="w">
</span><span class="n">import_id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">job</span><span class="o">.</span><span class="n">args</span><span class="p" data-group-id="0388437187-4">[</span><span class="ss">:import_id</span><span class="p" data-group-id="0388437187-4">]</span><span class="w">
</span><span class="k">receive</span><span class="w"> </span><span class="k" data-group-id="7102685775-5">do</span><span class="w">
</span><span class="p" data-group-id="7102685775-6">{</span><span class="ss">:notification</span><span class="p">,</span><span class="w"> </span><span class="ss">:analytics_imports_jobs</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="7102685775-7">%{</span><span class="s">&quot;event&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;complete&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;import_id&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="o">^</span><span class="n">import_id</span><span class="p" data-group-id="7102685775-7">}</span><span class="p" data-group-id="7102685775-6">}</span><span class="w"> </span><span class="o">-&gt;</span><span class="w">
</span><span class="nc">IO</span><span class="o">.</span><span class="n">puts</span><span class="p" data-group-id="7102685775-8">(</span><span class="s">&quot;Job completed&quot;</span><span class="p" data-group-id="7102685775-8">)</span><span class="w">
</span><span class="k">receive</span><span class="w"> </span><span class="k" data-group-id="0388437187-5">do</span><span class="w">
</span><span class="p" data-group-id="0388437187-6">{</span><span class="ss">:notification</span><span class="p">,</span><span class="w"> </span><span class="ss">:analytics_imports_jobs</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="0388437187-7">%{</span><span class="s">&quot;event&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;complete&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;import_id&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="o">^</span><span class="n">import_id</span><span class="p" data-group-id="0388437187-7">}</span><span class="p" data-group-id="0388437187-6">}</span><span class="w"> </span><span class="o">-&gt;</span><span class="w">
</span><span class="nc">IO</span><span class="o">.</span><span class="n">puts</span><span class="p" data-group-id="0388437187-8">(</span><span class="s">&quot;Job completed&quot;</span><span class="p" data-group-id="0388437187-8">)</span><span class="w">
</span><span class="p" data-group-id="7102685775-9">{</span><span class="ss">:notification</span><span class="p">,</span><span class="w"> </span><span class="ss">:analytics_imports_jobs</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="7102685775-10">%{</span><span class="s">&quot;event&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;transient_fail&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;import_id&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="o">^</span><span class="n">import_id</span><span class="p" data-group-id="7102685775-10">}</span><span class="p" data-group-id="7102685775-9">}</span><span class="w"> </span><span class="o">-&gt;</span><span class="w">
</span><span class="nc">IO</span><span class="o">.</span><span class="n">puts</span><span class="p" data-group-id="7102685775-11">(</span><span class="s">&quot;Job failed transiently&quot;</span><span class="p" data-group-id="7102685775-11">)</span><span class="w">
</span><span class="p" data-group-id="0388437187-9">{</span><span class="ss">:notification</span><span class="p">,</span><span class="w"> </span><span class="ss">:analytics_imports_jobs</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="0388437187-10">%{</span><span class="s">&quot;event&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;transient_fail&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;import_id&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="o">^</span><span class="n">import_id</span><span class="p" data-group-id="0388437187-10">}</span><span class="p" data-group-id="0388437187-9">}</span><span class="w"> </span><span class="o">-&gt;</span><span class="w">
</span><span class="nc">IO</span><span class="o">.</span><span class="n">puts</span><span class="p" data-group-id="0388437187-11">(</span><span class="s">&quot;Job failed transiently&quot;</span><span class="p" data-group-id="0388437187-11">)</span><span class="w">
</span><span class="p" data-group-id="7102685775-12">{</span><span class="ss">:notification</span><span class="p">,</span><span class="w"> </span><span class="ss">:analytics_imports_jobs</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="7102685775-13">%{</span><span class="s">&quot;event&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;fail&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;import_id&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="o">^</span><span class="n">import_id</span><span class="p" data-group-id="7102685775-13">}</span><span class="p" data-group-id="7102685775-12">}</span><span class="w"> </span><span class="o">-&gt;</span><span class="w">
</span><span class="nc">IO</span><span class="o">.</span><span class="n">puts</span><span class="p" data-group-id="7102685775-14">(</span><span class="s">&quot;Job failed permanently&quot;</span><span class="p" data-group-id="7102685775-14">)</span><span class="w">
</span><span class="k" data-group-id="7102685775-5">after</span><span class="w">
</span><span class="p" data-group-id="0388437187-12">{</span><span class="ss">:notification</span><span class="p">,</span><span class="w"> </span><span class="ss">:analytics_imports_jobs</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="0388437187-13">%{</span><span class="s">&quot;event&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;fail&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;import_id&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="o">^</span><span class="n">import_id</span><span class="p" data-group-id="0388437187-13">}</span><span class="p" data-group-id="0388437187-12">}</span><span class="w"> </span><span class="o">-&gt;</span><span class="w">
</span><span class="nc">IO</span><span class="o">.</span><span class="n">puts</span><span class="p" data-group-id="0388437187-14">(</span><span class="s">&quot;Job failed permanently&quot;</span><span class="p" data-group-id="0388437187-14">)</span><span class="w">
</span><span class="k" data-group-id="0388437187-5">after</span><span class="w">
</span><span class="mi">15_000</span><span class="w"> </span><span class="o">-&gt;</span><span class="w">
</span><span class="nc">IO</span><span class="o">.</span><span class="n">puts</span><span class="p" data-group-id="7102685775-15">(</span><span class="s">&quot;Job didn&#39;t finish in 15 seconds&quot;</span><span class="p" data-group-id="7102685775-15">)</span><span class="w">
</span><span class="k" data-group-id="7102685775-5">end</span></code></pre><p>In a more realistic scenario, job scheduling will be done inside a GenServer process
</span><span class="nc">IO</span><span class="o">.</span><span class="n">puts</span><span class="p" data-group-id="0388437187-15">(</span><span class="s">&quot;Job didn&#39;t finish in 15 seconds&quot;</span><span class="p" data-group-id="0388437187-15">)</span><span class="w">
</span><span class="k" data-group-id="0388437187-5">end</span></code></pre><p>In a more realistic scenario, job scheduling will be done inside a GenServer process
like LiveView, where notifications can be listened for via <code class="inline">handle_info/2</code>.</p>
</section>

View File

@ -1143,23 +1143,23 @@ pool to disconnect within the given interval.</p><p>See <a href="https://hexdocs
<section class="docstring">
<p>Similar to <a href="#insert_all/2"><code class="inline">insert_all/2</code></a> but with the following differences:</p><ul><li>accepts rows as streams or lists</li><li>sends rows as a chunked request</li><li>doesn't autogenerate ids or does any other preprocessing</li></ul><p>Example:</p><pre><code class="makeup elixir" translate="no"><span class="nc">Repo</span><span class="o">.</span><span class="n">query!</span><span class="p" data-group-id="3861864998-1">(</span><span class="s">&quot;create table ecto_ch_demo(a UInt64, b String) engine Null&quot;</span><span class="p" data-group-id="3861864998-1">)</span><span class="w">
<p>Similar to <a href="#insert_all/2"><code class="inline">insert_all/2</code></a> but with the following differences:</p><ul><li>accepts rows as streams or lists</li><li>sends rows as a chunked request</li><li>doesn't autogenerate ids or does any other preprocessing</li></ul><p>Example:</p><pre><code class="makeup elixir" translate="no"><span class="nc">Repo</span><span class="o">.</span><span class="n">query!</span><span class="p" data-group-id="7148829902-1">(</span><span class="s">&quot;create table ecto_ch_demo(a UInt64, b String) engine Null&quot;</span><span class="p" data-group-id="7148829902-1">)</span><span class="w">
</span><span class="kd">defmodule</span><span class="w"> </span><span class="nc">Demo</span><span class="w"> </span><span class="k" data-group-id="3861864998-2">do</span><span class="w">
</span><span class="kd">defmodule</span><span class="w"> </span><span class="nc">Demo</span><span class="w"> </span><span class="k" data-group-id="7148829902-2">do</span><span class="w">
</span><span class="kn">use</span><span class="w"> </span><span class="nc">Ecto.Schema</span><span class="w">
</span><span class="na">@primary_key</span><span class="w"> </span><span class="no">false</span><span class="w">
</span><span class="n">schema</span><span class="w"> </span><span class="s">&quot;ecto_ch_demo&quot;</span><span class="w"> </span><span class="k" data-group-id="3861864998-3">do</span><span class="w">
</span><span class="n">schema</span><span class="w"> </span><span class="s">&quot;ecto_ch_demo&quot;</span><span class="w"> </span><span class="k" data-group-id="7148829902-3">do</span><span class="w">
</span><span class="n">field</span><span class="w"> </span><span class="ss">:a</span><span class="p">,</span><span class="w"> </span><span class="nc">Ch</span><span class="p">,</span><span class="w"> </span><span class="ss">type</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;UInt64&quot;</span><span class="w">
</span><span class="n">field</span><span class="w"> </span><span class="ss">:b</span><span class="p">,</span><span class="w"> </span><span class="ss">:string</span><span class="w">
</span><span class="k" data-group-id="3861864998-3">end</span><span class="w">
</span><span class="k" data-group-id="3861864998-2">end</span><span class="w">
</span><span class="k" data-group-id="7148829902-3">end</span><span class="w">
</span><span class="k" data-group-id="7148829902-2">end</span><span class="w">
</span><span class="n">rows</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">Stream</span><span class="o">.</span><span class="n">map</span><span class="p" data-group-id="3861864998-4">(</span><span class="mi">1</span><span class="o">..</span><span class="mi">100_000</span><span class="p">,</span><span class="w"> </span><span class="k" data-group-id="3861864998-5">fn</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="p" data-group-id="3861864998-6">%{</span><span class="ss">a</span><span class="p">:</span><span class="w"> </span><span class="n">i</span><span class="p">,</span><span class="w"> </span><span class="ss">b</span><span class="p">:</span><span class="w"> </span><span class="n">to_string</span><span class="p" data-group-id="3861864998-7">(</span><span class="n">i</span><span class="p" data-group-id="3861864998-7">)</span><span class="p" data-group-id="3861864998-6">}</span><span class="w"> </span><span class="k" data-group-id="3861864998-5">end</span><span class="p" data-group-id="3861864998-4">)</span><span class="w">
</span><span class="p" data-group-id="3861864998-8">{</span><span class="mi">100_000</span><span class="p">,</span><span class="w"> </span><span class="no">nil</span><span class="p" data-group-id="3861864998-8">}</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">Repo</span><span class="o">.</span><span class="n">insert_stream</span><span class="p" data-group-id="3861864998-9">(</span><span class="nc">Demo</span><span class="p">,</span><span class="w"> </span><span class="n">rows</span><span class="p" data-group-id="3861864998-9">)</span><span class="w">
</span><span class="n">rows</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">Stream</span><span class="o">.</span><span class="n">map</span><span class="p" data-group-id="7148829902-4">(</span><span class="mi">1</span><span class="o">..</span><span class="mi">100_000</span><span class="p">,</span><span class="w"> </span><span class="k" data-group-id="7148829902-5">fn</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="p" data-group-id="7148829902-6">%{</span><span class="ss">a</span><span class="p">:</span><span class="w"> </span><span class="n">i</span><span class="p">,</span><span class="w"> </span><span class="ss">b</span><span class="p">:</span><span class="w"> </span><span class="n">to_string</span><span class="p" data-group-id="7148829902-7">(</span><span class="n">i</span><span class="p" data-group-id="7148829902-7">)</span><span class="p" data-group-id="7148829902-6">}</span><span class="w"> </span><span class="k" data-group-id="7148829902-5">end</span><span class="p" data-group-id="7148829902-4">)</span><span class="w">
</span><span class="p" data-group-id="7148829902-8">{</span><span class="mi">100_000</span><span class="p">,</span><span class="w"> </span><span class="no">nil</span><span class="p" data-group-id="7148829902-8">}</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">Repo</span><span class="o">.</span><span class="n">insert_stream</span><span class="p" data-group-id="7148829902-9">(</span><span class="nc">Demo</span><span class="p">,</span><span class="w"> </span><span class="n">rows</span><span class="p" data-group-id="7148829902-9">)</span><span class="w">
</span><span class="c1"># schemaless</span><span class="w">
</span><span class="p" data-group-id="3861864998-10">{</span><span class="mi">100_000</span><span class="p">,</span><span class="w"> </span><span class="no">nil</span><span class="p" data-group-id="3861864998-10">}</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">Repo</span><span class="o">.</span><span class="n">insert_stream</span><span class="p" data-group-id="3861864998-11">(</span><span class="s">&quot;ecto_ch_demo&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">rows</span><span class="p">,</span><span class="w"> </span><span class="ss">types</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="3861864998-12">[</span><span class="ss">a</span><span class="p">:</span><span class="w"> </span><span class="nc">Ch.Types</span><span class="o">.</span><span class="n">u64</span><span class="p" data-group-id="3861864998-13">(</span><span class="p" data-group-id="3861864998-13">)</span><span class="p">,</span><span class="w"> </span><span class="ss">b</span><span class="p">:</span><span class="w"> </span><span class="ss">:string</span><span class="p" data-group-id="3861864998-12">]</span><span class="p" data-group-id="3861864998-11">)</span></code></pre>
</span><span class="p" data-group-id="7148829902-10">{</span><span class="mi">100_000</span><span class="p">,</span><span class="w"> </span><span class="no">nil</span><span class="p" data-group-id="7148829902-10">}</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">Repo</span><span class="o">.</span><span class="n">insert_stream</span><span class="p" data-group-id="7148829902-11">(</span><span class="s">&quot;ecto_ch_demo&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">rows</span><span class="p">,</span><span class="w"> </span><span class="ss">types</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7148829902-12">[</span><span class="ss">a</span><span class="p">:</span><span class="w"> </span><span class="nc">Ch.Types</span><span class="o">.</span><span class="n">u64</span><span class="p" data-group-id="7148829902-13">(</span><span class="p" data-group-id="7148829902-13">)</span><span class="p">,</span><span class="w"> </span><span class="ss">b</span><span class="p">:</span><span class="w"> </span><span class="ss">:string</span><span class="p" data-group-id="7148829902-12">]</span><span class="p" data-group-id="7148829902-11">)</span></code></pre>
</section>
</section>
<section class="detail" id="load/2">

View File

@ -316,7 +316,7 @@ The URL expires in 24 hours.</p><p>In the current implementation the bucket alwa
</div>
<p>Returns the pre-configured S3 bucket for CSV exports.</p><pre><code class="makeup elixir" translate="no"><span class="n">config</span><span class="w"> </span><span class="ss">:plausible</span><span class="p">,</span><span class="w"> </span><span class="nc">Plausible.S3</span><span class="p">,</span><span class="w">
</span><span class="ss">exports_bucket</span><span class="p">:</span><span class="w"> </span><span class="nc">System</span><span class="o">.</span><span class="n">fetch_env!</span><span class="p" data-group-id="0137087444-1">(</span><span class="s">&quot;S3_EXPORTS_BUCKET&quot;</span><span class="p" data-group-id="0137087444-1">)</span></code></pre><p>Example:</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="n">exports_bucket</span><span class="p" data-group-id="1095927929-1">(</span><span class="p" data-group-id="1095927929-1">)</span><span class="w">
</span><span class="ss">exports_bucket</span><span class="p">:</span><span class="w"> </span><span class="nc">System</span><span class="o">.</span><span class="n">fetch_env!</span><span class="p" data-group-id="6984113092-1">(</span><span class="s">&quot;S3_EXPORTS_BUCKET&quot;</span><span class="p" data-group-id="6984113092-1">)</span></code></pre><p>Example:</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="n">exports_bucket</span><span class="p" data-group-id="5293693664-1">(</span><span class="p" data-group-id="5293693664-1">)</span><span class="w">
</span><span class="s">&quot;test-exports&quot;</span></code></pre>
</section>
</section>
@ -348,8 +348,8 @@ The URL expires in 24 hours.</p><p>In the current implementation the bucket alwa
</div>
<p>Returns <code class="inline">access_key_id</code> and <code class="inline">secret_access_key</code> to be used by ClickHouse during imports from S3.</p><p>Example:</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="n">import_clickhouse_credentials</span><span class="p" data-group-id="5576876414-1">(</span><span class="p" data-group-id="5576876414-1">)</span><span class="w">
</span><span class="p" data-group-id="5576876414-2">%{</span><span class="ss">access_key_id</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;minioadmin&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">secret_access_key</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;minioadmin&quot;</span><span class="p" data-group-id="5576876414-2">}</span></code></pre>
<p>Returns <code class="inline">access_key_id</code> and <code class="inline">secret_access_key</code> to be used by ClickHouse during imports from S3.</p><p>Example:</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="n">import_clickhouse_credentials</span><span class="p" data-group-id="8087920009-1">(</span><span class="p" data-group-id="8087920009-1">)</span><span class="w">
</span><span class="p" data-group-id="8087920009-2">%{</span><span class="ss">access_key_id</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;minioadmin&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">secret_access_key</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;minioadmin&quot;</span><span class="p" data-group-id="8087920009-2">}</span></code></pre>
</section>
</section>
<section class="detail" id="import_presign_upload/2">
@ -371,9 +371,9 @@ The URL expires in 24 hours.</p><p>In the current implementation the bucket alwa
<section class="docstring">
<p>Presigns an upload for an imported file.</p><p>In the current implementation the bucket always goes into the path component.</p><p>Example:</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="n">upload</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">import_presign_upload</span><span class="p" data-group-id="3062452113-1">(</span><span class="c">_site_id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">123</span><span class="p">,</span><span class="w"> </span><span class="c">_filename</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;imported_browsers.csv&quot;</span><span class="p" data-group-id="3062452113-1">)</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="no">true</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">String</span><span class="o">.</span><span class="n">ends_with?</span><span class="p" data-group-id="3062452113-2">(</span><span class="n">upload</span><span class="o">.</span><span class="n">s3_url</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;/test-imports/123/imported_browsers.csv&quot;</span><span class="p" data-group-id="3062452113-2">)</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="no">true</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">String</span><span class="o">.</span><span class="n">contains?</span><span class="p" data-group-id="3062452113-3">(</span><span class="n">upload</span><span class="o">.</span><span class="n">presigned_url</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;/test-imports/123/imported_browsers.csv?X-Amz-Algorithm=AWS4-HMAC-SHA256&amp;&quot;</span><span class="p" data-group-id="3062452113-3">)</span></code></pre>
<p>Presigns an upload for an imported file.</p><p>In the current implementation the bucket always goes into the path component.</p><p>Example:</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="n">upload</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">import_presign_upload</span><span class="p" data-group-id="1962099991-1">(</span><span class="c">_site_id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">123</span><span class="p">,</span><span class="w"> </span><span class="c">_filename</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;imported_browsers.csv&quot;</span><span class="p" data-group-id="1962099991-1">)</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="no">true</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">String</span><span class="o">.</span><span class="n">ends_with?</span><span class="p" data-group-id="1962099991-2">(</span><span class="n">upload</span><span class="o">.</span><span class="n">s3_url</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;/test-imports/123/imported_browsers.csv&quot;</span><span class="p" data-group-id="1962099991-2">)</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="no">true</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">String</span><span class="o">.</span><span class="n">contains?</span><span class="p" data-group-id="1962099991-3">(</span><span class="n">upload</span><span class="o">.</span><span class="n">presigned_url</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;/test-imports/123/imported_browsers.csv?X-Amz-Algorithm=AWS4-HMAC-SHA256&amp;&quot;</span><span class="p" data-group-id="1962099991-3">)</span></code></pre>
</section>
</section>
<section class="detail" id="imports_bucket/0">
@ -402,7 +402,7 @@ The URL expires in 24 hours.</p><p>In the current implementation the bucket alwa
</div>
<p>Returns the pre-configured S3 bucket for CSV imports.</p><pre><code class="makeup elixir" translate="no"><span class="n">config</span><span class="w"> </span><span class="ss">:plausible</span><span class="p">,</span><span class="w"> </span><span class="nc">Plausible.S3</span><span class="p">,</span><span class="w">
</span><span class="ss">imports_bucket</span><span class="p">:</span><span class="w"> </span><span class="nc">System</span><span class="o">.</span><span class="n">fetch_env!</span><span class="p" data-group-id="3356123521-1">(</span><span class="s">&quot;S3_IMPORTS_BUCKET&quot;</span><span class="p" data-group-id="3356123521-1">)</span></code></pre><p>Example:</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="n">imports_bucket</span><span class="p" data-group-id="3033002812-1">(</span><span class="p" data-group-id="3033002812-1">)</span><span class="w">
</span><span class="ss">imports_bucket</span><span class="p">:</span><span class="w"> </span><span class="nc">System</span><span class="o">.</span><span class="n">fetch_env!</span><span class="p" data-group-id="2898358187-1">(</span><span class="s">&quot;S3_IMPORTS_BUCKET&quot;</span><span class="p" data-group-id="2898358187-1">)</span></code></pre><p>Example:</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="n">imports_bucket</span><span class="p" data-group-id="6662559392-1">(</span><span class="p" data-group-id="6662559392-1">)</span><span class="w">
</span><span class="s">&quot;test-imports&quot;</span></code></pre>
</section>
</section>

View File

@ -283,14 +283,14 @@ Pages
</a>
<span class="text">Examples:</span>
</h3>
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Filters</span><span class="o">.</span><span class="n">parse</span><span class="p" data-group-id="9072967318-1">(</span><span class="s">&quot;{</span><span class="se">\&quot;</span><span class="s">page</span><span class="se">\&quot;</span><span class="s">:</span><span class="se">\&quot;</span><span class="s">/blog/**</span><span class="se">\&quot;</span><span class="s">}&quot;</span><span class="p" data-group-id="9072967318-1">)</span><span class="w">
</span><span class="p" data-group-id="9072967318-2">%{</span><span class="s">&quot;event:page&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="p" data-group-id="9072967318-3">{</span><span class="ss">:matches</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;/blog/**&quot;</span><span class="p" data-group-id="9072967318-3">}</span><span class="p" data-group-id="9072967318-2">}</span><span class="w">
<pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex&gt; </span><span class="nc">Filters</span><span class="o">.</span><span class="n">parse</span><span class="p" data-group-id="2896820325-1">(</span><span class="s">&quot;{</span><span class="se">\&quot;</span><span class="s">page</span><span class="se">\&quot;</span><span class="s">:</span><span class="se">\&quot;</span><span class="s">/blog/**</span><span class="se">\&quot;</span><span class="s">}&quot;</span><span class="p" data-group-id="2896820325-1">)</span><span class="w">
</span><span class="p" data-group-id="2896820325-2">%{</span><span class="s">&quot;event:page&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="p" data-group-id="2896820325-3">{</span><span class="ss">:matches</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;/blog/**&quot;</span><span class="p" data-group-id="2896820325-3">}</span><span class="p" data-group-id="2896820325-2">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Filters</span><span class="o">.</span><span class="n">parse</span><span class="p" data-group-id="9072967318-4">(</span><span class="s">&quot;visit:browser!=Chrome&quot;</span><span class="p" data-group-id="9072967318-4">)</span><span class="w">
</span><span class="p" data-group-id="9072967318-5">%{</span><span class="s">&quot;visit:browser&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="p" data-group-id="9072967318-6">{</span><span class="ss">:is_not</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;Chrome&quot;</span><span class="p" data-group-id="9072967318-6">}</span><span class="p" data-group-id="9072967318-5">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Filters</span><span class="o">.</span><span class="n">parse</span><span class="p" data-group-id="2896820325-4">(</span><span class="s">&quot;visit:browser!=Chrome&quot;</span><span class="p" data-group-id="2896820325-4">)</span><span class="w">
</span><span class="p" data-group-id="2896820325-5">%{</span><span class="s">&quot;visit:browser&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="p" data-group-id="2896820325-6">{</span><span class="ss">:is_not</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;Chrome&quot;</span><span class="p" data-group-id="2896820325-6">}</span><span class="p" data-group-id="2896820325-5">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Filters</span><span class="o">.</span><span class="n">parse</span><span class="p" data-group-id="9072967318-7">(</span><span class="no">nil</span><span class="p" data-group-id="9072967318-7">)</span><span class="w">
</span><span class="p" data-group-id="9072967318-8">%{</span><span class="p" data-group-id="9072967318-8">}</span></code></pre>
</span><span class="gp unselectable">iex&gt; </span><span class="nc">Filters</span><span class="o">.</span><span class="n">parse</span><span class="p" data-group-id="2896820325-7">(</span><span class="no">nil</span><span class="p" data-group-id="2896820325-7">)</span><span class="w">
</span><span class="p" data-group-id="2896820325-8">%{</span><span class="p" data-group-id="2896820325-8">}</span></code></pre>
</section>
</section>
<section class="detail" id="visit_props/0">

Binary file not shown.

View File

@ -747,13 +747,13 @@ and <code class="inline">month</code>. The default depends on the <code class="i
<code class="inline">Plausible.Query.from/2</code> for each default.</p></li><li><p><code class="inline">filters</code> - optional filters to drill down data. See the Stats API
<a href="https://plausible.io/docs/stats-api#filtering">&quot;Filtering&quot;</a> section for
more details.</p></li><li><p><code class="inline">with_imported</code> - boolean indicating whether to include Google Analytics
imported data or not. Defaults to <code class="inline">false</code>.</p></li></ul><p>Full example:</p><pre><code class="makeup elixir" translate="no"><span class="p" data-group-id="1825952428-1">%{</span><span class="w">
imported data or not. Defaults to <code class="inline">false</code>.</p></li></ul><p>Full example:</p><pre><code class="makeup elixir" translate="no"><span class="p" data-group-id="5727615773-1">%{</span><span class="w">
</span><span class="s">&quot;from&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;2021-09-06&quot;</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;interval&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;month&quot;</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;metric&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;visitors&quot;</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;period&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;custom&quot;</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;to&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;2021-12-13&quot;</span><span class="w">
</span><span class="p" data-group-id="1825952428-1">}</span></code></pre><h2 id="main_graph/2-response" class="section-heading">
</span><span class="p" data-group-id="5727615773-1">}</span></code></pre><h2 id="main_graph/2-response" class="section-heading">
<a href="#main_graph/2-response" class="hover-link">
<i class="ri-link-m" aria-hidden="true"></i>
</a>
@ -768,20 +768,20 @@ cut off by the requested date range or not. For example, if looking at a
month week-by-week, some weeks may be cut off by the month boundaries.
It's useful to adjust the graph display slightly in case the interval is
not 'full' so that the user understands why the numbers might be lower for
those partial periods.</p></li></ul><p>Full example:</p><pre><code class="makeup elixir" translate="no"><span class="p" data-group-id="3452379484-1">%{</span><span class="w">
</span><span class="s">&quot;full_intervals&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="p" data-group-id="3452379484-2">%{</span><span class="w">
those partial periods.</p></li></ul><p>Full example:</p><pre><code class="makeup elixir" translate="no"><span class="p" data-group-id="6447014242-1">%{</span><span class="w">
</span><span class="s">&quot;full_intervals&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="p" data-group-id="6447014242-2">%{</span><span class="w">
</span><span class="s">&quot;2021-09-01&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="no">false</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;2021-10-01&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="no">true</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;2021-11-01&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="no">true</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;2021-12-01&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="no">false</span><span class="w">
</span><span class="p" data-group-id="3452379484-2">}</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="6447014242-2">}</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;imports_exist&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="no">false</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;interval&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="s">&quot;month&quot;</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;labels&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="p" data-group-id="3452379484-3">[</span><span class="s">&quot;2021-09-01&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;2021-10-01&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;2021-11-01&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;2021-12-01&quot;</span><span class="p" data-group-id="3452379484-3">]</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;plot&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="p" data-group-id="3452379484-4">[</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p" data-group-id="3452379484-4">]</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;labels&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="p" data-group-id="6447014242-3">[</span><span class="s">&quot;2021-09-01&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;2021-10-01&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;2021-11-01&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;2021-12-01&quot;</span><span class="p" data-group-id="6447014242-3">]</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;plot&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="p" data-group-id="6447014242-4">[</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p" data-group-id="6447014242-4">]</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;present_index&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="no">nil</span><span class="p">,</span><span class="w">
</span><span class="s">&quot;with_imported&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="no">false</span><span class="w">
</span><span class="p" data-group-id="3452379484-1">}</span></code></pre>
</span><span class="p" data-group-id="6447014242-1">}</span></code></pre>
</section>
</section>
<section class="detail" id="operating_system_versions/2">

View File

@ -153,18 +153,18 @@ on connections with high latency.</p><h2 id="module-usage" class="section-headin
<span class="text">Usage</span>
</h2>
<p>An example use case for a modal is embedding a form inside
existing live view which allows adding new entries of some kind:</p><pre><code class="makeup elixir" translate="no"><span class="o">&lt;</span><span class="o">.</span><span class="n">live_component</span><span class="w"> </span><span class="n">module</span><span class="o">=</span><span class="p" data-group-id="1378137306-1">{</span><span class="nc">Modal</span><span class="p" data-group-id="1378137306-1">}</span><span class="w"> </span><span class="n">id</span><span class="o">=</span><span class="s">&quot;some-form-modal&quot;</span><span class="o">&gt;</span><span class="w">
existing live view which allows adding new entries of some kind:</p><pre><code class="makeup elixir" translate="no"><span class="o">&lt;</span><span class="o">.</span><span class="n">live_component</span><span class="w"> </span><span class="n">module</span><span class="o">=</span><span class="p" data-group-id="3549982376-1">{</span><span class="nc">Modal</span><span class="p" data-group-id="3549982376-1">}</span><span class="w"> </span><span class="n">id</span><span class="o">=</span><span class="s">&quot;some-form-modal&quot;</span><span class="o">&gt;</span><span class="w">
</span><span class="o">&lt;</span><span class="o">.</span><span class="n">live_component</span><span class="w">
</span><span class="n">module</span><span class="o">=</span><span class="p" data-group-id="1378137306-2">{</span><span class="nc">SomeForm</span><span class="p" data-group-id="1378137306-2">}</span><span class="w">
</span><span class="n">module</span><span class="o">=</span><span class="p" data-group-id="3549982376-2">{</span><span class="nc">SomeForm</span><span class="p" data-group-id="3549982376-2">}</span><span class="w">
</span><span class="n">id</span><span class="o">=</span><span class="s">&quot;some-form&quot;</span><span class="w">
</span><span class="n">on_save_form</span><span class="o">=</span><span class="p" data-group-id="1378137306-3">{</span><span class="w">
</span><span class="k" data-group-id="1378137306-4">fn</span><span class="w"> </span><span class="n">entry</span><span class="p">,</span><span class="w"> </span><span class="n">socket</span><span class="w"> </span><span class="o">-&gt;</span><span class="w">
</span><span class="n">send</span><span class="p" data-group-id="1378137306-5">(</span><span class="n">self</span><span class="p" data-group-id="1378137306-6">(</span><span class="p" data-group-id="1378137306-6">)</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="1378137306-7">{</span><span class="ss">:entry_added</span><span class="p">,</span><span class="w"> </span><span class="n">entry</span><span class="p" data-group-id="1378137306-7">}</span><span class="p" data-group-id="1378137306-5">)</span><span class="w">
</span><span class="nc">Modal</span><span class="o">.</span><span class="n">close</span><span class="p" data-group-id="1378137306-8">(</span><span class="n">socket</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;some-form-modal&quot;</span><span class="p" data-group-id="1378137306-8">)</span><span class="w">
</span><span class="k" data-group-id="1378137306-4">end</span><span class="w">
</span><span class="p" data-group-id="1378137306-3">}</span><span class="w">
</span><span class="n">on_save_form</span><span class="o">=</span><span class="p" data-group-id="3549982376-3">{</span><span class="w">
</span><span class="k" data-group-id="3549982376-4">fn</span><span class="w"> </span><span class="n">entry</span><span class="p">,</span><span class="w"> </span><span class="n">socket</span><span class="w"> </span><span class="o">-&gt;</span><span class="w">
</span><span class="n">send</span><span class="p" data-group-id="3549982376-5">(</span><span class="n">self</span><span class="p" data-group-id="3549982376-6">(</span><span class="p" data-group-id="3549982376-6">)</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="3549982376-7">{</span><span class="ss">:entry_added</span><span class="p">,</span><span class="w"> </span><span class="n">entry</span><span class="p" data-group-id="3549982376-7">}</span><span class="p" data-group-id="3549982376-5">)</span><span class="w">
</span><span class="nc">Modal</span><span class="o">.</span><span class="n">close</span><span class="p" data-group-id="3549982376-8">(</span><span class="n">socket</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;some-form-modal&quot;</span><span class="p" data-group-id="3549982376-8">)</span><span class="w">
</span><span class="k" data-group-id="3549982376-4">end</span><span class="w">
</span><span class="p" data-group-id="3549982376-3">}</span><span class="w">
</span><span class="o">/</span><span class="o">&gt;</span><span class="w">
</span><span class="o">&lt;</span><span class="o">/</span><span class="o">.</span><span class="n">live_component</span><span class="o">&gt;</span></code></pre><p>Then somewhere in the same live view the modal is rendered in:</p><pre><code class="makeup elixir" translate="no"><span class="o">&lt;</span><span class="o">.</span><span class="n">button</span><span class="w"> </span><span class="n">x</span><span class="o">-</span><span class="n">data</span><span class="w"> </span><span class="n">x</span><span class="o">-</span><span class="n">on</span><span class="ss">:click</span><span class="o">=</span><span class="p" data-group-id="2699305724-1">{</span><span class="nc">Modal.JS</span><span class="o">.</span><span class="n">open</span><span class="p" data-group-id="2699305724-2">(</span><span class="s">&quot;goals-form-modal&quot;</span><span class="p" data-group-id="2699305724-2">)</span><span class="p" data-group-id="2699305724-1">}</span><span class="o">&gt;</span><span class="w">
</span><span class="o">&lt;</span><span class="o">/</span><span class="o">.</span><span class="n">live_component</span><span class="o">&gt;</span></code></pre><p>Then somewhere in the same live view the modal is rendered in:</p><pre><code class="makeup elixir" translate="no"><span class="o">&lt;</span><span class="o">.</span><span class="n">button</span><span class="w"> </span><span class="n">x</span><span class="o">-</span><span class="n">data</span><span class="w"> </span><span class="n">x</span><span class="o">-</span><span class="n">on</span><span class="ss">:click</span><span class="o">=</span><span class="p" data-group-id="5004425244-1">{</span><span class="nc">Modal.JS</span><span class="o">.</span><span class="n">open</span><span class="p" data-group-id="5004425244-2">(</span><span class="s">&quot;goals-form-modal&quot;</span><span class="p" data-group-id="5004425244-2">)</span><span class="p" data-group-id="5004425244-1">}</span><span class="o">&gt;</span><span class="w">
</span><span class="o">+</span><span class="w"> </span><span class="nc">Add</span><span class="w"> </span><span class="nc">Entry</span><span class="w">
</span><span class="o">&lt;</span><span class="o">/</span><span class="o">.</span><span class="n">button</span><span class="o">&gt;</span></code></pre><h2 id="module-explanation" class="section-heading">
<a href="#module-explanation" class="hover-link">
@ -184,26 +184,26 @@ itself - adding <code class="inline">x-data</code> attribute without any value i
to ensure that.</p></li><li><p><code class="inline">Modal.close/2</code> - to close the modal from the backend; usually
done inside wrapped component's <code class="inline">handle_event/2</code>. The example
quoted above shows one way to implement this, under that assumption
that the component exposes a callback, like this:</p><pre><code class="makeup elixir" translate="no"><span class="kd">defmodule</span><span class="w"> </span><span class="nc">SomeForm</span><span class="w"> </span><span class="k" data-group-id="5628809758-1">do</span><span class="w">
that the component exposes a callback, like this:</p><pre><code class="makeup elixir" translate="no"><span class="kd">defmodule</span><span class="w"> </span><span class="nc">SomeForm</span><span class="w"> </span><span class="k" data-group-id="8221446291-1">do</span><span class="w">
</span><span class="kn">use</span><span class="w"> </span><span class="nc">Phoenix.LiveComponent</span><span class="w">
</span><span class="kd">def</span><span class="w"> </span><span class="nf">update</span><span class="p" data-group-id="5628809758-2">(</span><span class="n">assigns</span><span class="p">,</span><span class="w"> </span><span class="n">socket</span><span class="p" data-group-id="5628809758-2">)</span><span class="w"> </span><span class="k" data-group-id="5628809758-3">do</span><span class="w">
</span><span class="kd">def</span><span class="w"> </span><span class="nf">update</span><span class="p" data-group-id="8221446291-2">(</span><span class="n">assigns</span><span class="p">,</span><span class="w"> </span><span class="n">socket</span><span class="p" data-group-id="8221446291-2">)</span><span class="w"> </span><span class="k" data-group-id="8221446291-3">do</span><span class="w">
</span><span class="c1"># ...</span><span class="w">
</span><span class="p" data-group-id="5628809758-4">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="n">assign</span><span class="p" data-group-id="5628809758-5">(</span><span class="n">socket</span><span class="p">,</span><span class="w"> </span><span class="ss">:on_save_form</span><span class="p">,</span><span class="w"> </span><span class="n">assigns</span><span class="o">.</span><span class="n">on_save_form</span><span class="p" data-group-id="5628809758-5">)</span><span class="p" data-group-id="5628809758-4">}</span><span class="w">
</span><span class="k" data-group-id="5628809758-3">end</span><span class="w">
</span><span class="p" data-group-id="8221446291-4">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="n">assign</span><span class="p" data-group-id="8221446291-5">(</span><span class="n">socket</span><span class="p">,</span><span class="w"> </span><span class="ss">:on_save_form</span><span class="p">,</span><span class="w"> </span><span class="n">assigns</span><span class="o">.</span><span class="n">on_save_form</span><span class="p" data-group-id="8221446291-5">)</span><span class="p" data-group-id="8221446291-4">}</span><span class="w">
</span><span class="k" data-group-id="8221446291-3">end</span><span class="w">
</span><span class="c1">#...</span><span class="w">
</span><span class="kd">def</span><span class="w"> </span><span class="nf">handle_event</span><span class="p" data-group-id="5628809758-6">(</span><span class="s">&quot;save-form&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="5628809758-7">%{</span><span class="s">&quot;form&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="n">form</span><span class="p" data-group-id="5628809758-7">}</span><span class="p">,</span><span class="w"> </span><span class="n">socket</span><span class="p" data-group-id="5628809758-6">)</span><span class="w"> </span><span class="k" data-group-id="5628809758-8">do</span><span class="w">
</span><span class="k">case</span><span class="w"> </span><span class="n">save_entry</span><span class="p" data-group-id="5628809758-9">(</span><span class="n">form</span><span class="p" data-group-id="5628809758-9">)</span><span class="w"> </span><span class="k" data-group-id="5628809758-10">do</span><span class="w">
</span><span class="p" data-group-id="5628809758-11">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="n">entry</span><span class="p" data-group-id="5628809758-11">}</span><span class="w"> </span><span class="o">-&gt;</span><span class="w">
</span><span class="p" data-group-id="5628809758-12">{</span><span class="ss">:noreply</span><span class="p">,</span><span class="w"> </span><span class="n">socket</span><span class="o">.</span><span class="n">assigns</span><span class="o">.</span><span class="n">on_save_form</span><span class="p" data-group-id="5628809758-13">(</span><span class="n">entry</span><span class="p">,</span><span class="w"> </span><span class="n">socket</span><span class="p" data-group-id="5628809758-13">)</span><span class="p" data-group-id="5628809758-12">}</span><span class="w">
</span><span class="kd">def</span><span class="w"> </span><span class="nf">handle_event</span><span class="p" data-group-id="8221446291-6">(</span><span class="s">&quot;save-form&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="8221446291-7">%{</span><span class="s">&quot;form&quot;</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="n">form</span><span class="p" data-group-id="8221446291-7">}</span><span class="p">,</span><span class="w"> </span><span class="n">socket</span><span class="p" data-group-id="8221446291-6">)</span><span class="w"> </span><span class="k" data-group-id="8221446291-8">do</span><span class="w">
</span><span class="k">case</span><span class="w"> </span><span class="n">save_entry</span><span class="p" data-group-id="8221446291-9">(</span><span class="n">form</span><span class="p" data-group-id="8221446291-9">)</span><span class="w"> </span><span class="k" data-group-id="8221446291-10">do</span><span class="w">
</span><span class="p" data-group-id="8221446291-11">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="n">entry</span><span class="p" data-group-id="8221446291-11">}</span><span class="w"> </span><span class="o">-&gt;</span><span class="w">
</span><span class="p" data-group-id="8221446291-12">{</span><span class="ss">:noreply</span><span class="p">,</span><span class="w"> </span><span class="n">socket</span><span class="o">.</span><span class="n">assigns</span><span class="o">.</span><span class="n">on_save_form</span><span class="p" data-group-id="8221446291-13">(</span><span class="n">entry</span><span class="p">,</span><span class="w"> </span><span class="n">socket</span><span class="p" data-group-id="8221446291-13">)</span><span class="p" data-group-id="8221446291-12">}</span><span class="w">
</span><span class="c1"># error case handling ...</span><span class="w">
</span><span class="k" data-group-id="5628809758-10">end</span><span class="w">
</span><span class="k" data-group-id="5628809758-8">end</span><span class="w">
</span><span class="k" data-group-id="5628809758-1">end</span></code></pre><p>Using callback approach has an added benefit of making the
</span><span class="k" data-group-id="8221446291-10">end</span><span class="w">
</span><span class="k" data-group-id="8221446291-8">end</span><span class="w">
</span><span class="k" data-group-id="8221446291-1">end</span></code></pre><p>Using callback approach has an added benefit of making the
component more flexible.</p></li></ul>
</section>