/docs/gem.http_accept_language-1.0.2/classes/HttpAcceptLanguage.html
HTML | 256 lines | 174 code | 82 blank | 0 comment | 0 complexity | e936a210907f2abb20ee035b1498844c MD5 | raw file
- <?xml version="1.0" encoding="utf-8"?>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
- <head>
- <title>HttpAcceptLanguage</title>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <link rel="stylesheet" href="../css/reset.css" type="text/css" media="screen" />
- <link rel="stylesheet" href="../css/main.css" type="text/css" media="screen" />
- <script src="../js/jquery-1.3.2.min.js" type="text/javascript" charset="utf-8"></script>
- <script src="../js/jquery-effect.js" type="text/javascript" charset="utf-8"></script>
- <script src="../js/main.js" type="text/javascript" charset="utf-8"></script>
- </head>
- <body>
- <div class="banner">
- <h1>
- <span class="type">Module</span>
- HttpAcceptLanguage
-
- </h1>
- <ul class="files">
-
- <li><a href="../files/lib/http_accept_language_rb.html">lib/http_accept_language.rb</a></li>
-
- </ul>
- </div>
- <div id="bodyContent">
- <div id="content">
-
-
-
-
-
-
- <div class="sectiontitle">Methods</div>
- <dl class="methods">
-
- <dt>C</dt>
- <dd>
- <ul>
-
- <li><a href="#M000003">compatible_language_from</a></li>
-
- </ul>
- </dd>
-
- <dt>P</dt>
- <dd>
- <ul>
-
- <li><a href="#M000002">preferred_language_from</a></li>
-
- </ul>
- </dd>
-
- <dt>U</dt>
- <dd>
- <ul>
-
- <li><a href="#M000000">user_preferred_languages</a>,</li>
-
- <li><a href="#M000001">user_preferred_languages=</a></li>
-
- </ul>
- </dd>
-
- </dl>
-
-
-
-
-
-
-
- <div class="sectiontitle">Instance Public methods</div>
-
- <div class="method">
- <div class="title" id="M000003">
-
- <a name="M000003"></a><b>compatible_language_from</b>(available_languages)
-
- </div>
-
- <div class="description">
- <p>
- Returns the first of the <a
- href="HttpAcceptLanguage.html#M000000">user_preferred_languages</a> that is
- compatible with the available locales. Ignores region.
- </p>
- <p>
- Example:
- </p>
- <pre>
- request.compatible_language_from I18n.available_locales
- </pre>
- </div>
-
-
-
-
- <div class="sourcecode">
- <p class="source-link">
- Source: <a href="javascript:toggleSource('M000003_source')" id="l_M000003_source">show</a>
-
- </p>
- <div id="M000003_source" class="dyn-source">
- <pre> <span class="ruby-comment cmt"># File lib/http_accept_language.rb, line 49</span>
- 49: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">compatible_language_from</span>(<span class="ruby-identifier">available_languages</span>)
- 50: <span class="ruby-identifier">user_preferred_languages</span>.<span class="ruby-identifier">map</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">x</span><span class="ruby-operator">|</span> <span class="ruby-comment cmt">#en-US</span>
- 51: <span class="ruby-identifier">available_languages</span>.<span class="ruby-identifier">find</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">y</span><span class="ruby-operator">|</span> <span class="ruby-comment cmt"># en</span>
- 52: <span class="ruby-identifier">y</span> = <span class="ruby-identifier">y</span>.<span class="ruby-identifier">to_s</span>
- 53: <span class="ruby-identifier">x</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">y</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">x</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">'-'</span>, <span class="ruby-value">2</span>).<span class="ruby-identifier">first</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">y</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">'-'</span>, <span class="ruby-value">2</span>).<span class="ruby-identifier">first</span>
- 54: <span class="ruby-keyword kw">end</span>
- 55: <span class="ruby-keyword kw">end</span>.<span class="ruby-identifier">compact</span>.<span class="ruby-identifier">first</span>
- 56: <span class="ruby-keyword kw">end</span></pre>
- </div>
- </div>
-
- </div>
-
- <div class="method">
- <div class="title" id="M000002">
-
- <a name="M000002"></a><b>preferred_language_from</b>(array)
-
- </div>
-
- <div class="description">
- <p>
- Finds the locale specifically requested by the browser.
- </p>
- <p>
- Example:
- </p>
- <pre>
- request.preferred_language_from I18n.available_locales
- # => 'nl'
- </pre>
- </div>
-
-
-
-
- <div class="sourcecode">
- <p class="source-link">
- Source: <a href="javascript:toggleSource('M000002_source')" id="l_M000002_source">show</a>
-
- </p>
- <div id="M000002_source" class="dyn-source">
- <pre> <span class="ruby-comment cmt"># File lib/http_accept_language.rb, line 38</span>
- 38: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">preferred_language_from</span>(<span class="ruby-identifier">array</span>)
- 39: (<span class="ruby-identifier">user_preferred_languages</span> <span class="ruby-operator">&</span> <span class="ruby-identifier">array</span>.<span class="ruby-identifier">collect</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span> <span class="ruby-identifier">i</span>.<span class="ruby-identifier">to_s</span> }).<span class="ruby-identifier">first</span>
- 40: <span class="ruby-keyword kw">end</span></pre>
- </div>
- </div>
-
- </div>
-
- <div class="method">
- <div class="title" id="M000000">
-
- <a name="M000000"></a><b>user_preferred_languages</b>()
-
- </div>
-
- <div class="description">
- <p>
- Returns a sorted array based on user preference in HTTP_ACCEPT_LANGUAGE.
- Browsers send this HTTP header, so don’t think this is holy.
- </p>
- <p>
- Example:
- </p>
- <pre>
- request.user_preferred_languages
- # => [ 'nl-NL', 'nl-BE', 'nl', 'en-US', 'en' ]
- </pre>
- </div>
-
-
-
-
- <div class="sourcecode">
- <p class="source-link">
- Source: <a href="javascript:toggleSource('M000000_source')" id="l_M000000_source">show</a>
-
- </p>
- <div id="M000000_source" class="dyn-source">
- <pre> <span class="ruby-comment cmt"># File lib/http_accept_language.rb, line 11</span>
- 11: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">user_preferred_languages</span>
- 12: <span class="ruby-ivar">@user_preferred_languages</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">env</span>[<span class="ruby-value str">'HTTP_ACCEPT_LANGUAGE'</span>].<span class="ruby-identifier">split</span>(<span class="ruby-regexp re">/\s*,\s*/</span>).<span class="ruby-identifier">collect</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">l</span><span class="ruby-operator">|</span>
- 13: <span class="ruby-identifier">l</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">';q=1.0'</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">l</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/;q=\d+\.\d+$/</span>
- 14: <span class="ruby-identifier">l</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">';q='</span>)
- 15: <span class="ruby-keyword kw">end</span>.<span class="ruby-identifier">sort</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">x</span>,<span class="ruby-identifier">y</span><span class="ruby-operator">|</span>
- 16: <span class="ruby-identifier">raise</span> <span class="ruby-value str">"Not correctly formatted"</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">x</span>.<span class="ruby-identifier">first</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/^[a-z\-]+$/i</span>
- 17: <span class="ruby-identifier">y</span>.<span class="ruby-identifier">last</span>.<span class="ruby-identifier">to_f</span> <span class="ruby-operator"><=></span> <span class="ruby-identifier">x</span>.<span class="ruby-identifier">last</span>.<span class="ruby-identifier">to_f</span>
- 18: <span class="ruby-keyword kw">end</span>.<span class="ruby-identifier">collect</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">l</span><span class="ruby-operator">|</span>
- 19: <span class="ruby-identifier">l</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">downcase</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/-[a-z]+$/i</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">x</span><span class="ruby-operator">|</span> <span class="ruby-identifier">x</span>.<span class="ruby-identifier">upcase</span> }
- 20: <span class="ruby-keyword kw">end</span>
- 21: <span class="ruby-keyword kw">rescue</span> <span class="ruby-comment cmt"># Just rescue anything if the browser messed up badly.</span>
- 22: []
- 23: <span class="ruby-keyword kw">end</span></pre>
- </div>
- </div>
-
- </div>
-
- <div class="method">
- <div class="title" id="M000001">
-
- <a name="M000001"></a><b>user_preferred_languages=</b>(languages)
-
- </div>
-
- <div class="description">
- <p>
- Sets the user languages preference, overiding the browser
- </p>
- </div>
-
-
-
-
- <div class="sourcecode">
- <p class="source-link">
- Source: <a href="javascript:toggleSource('M000001_source')" id="l_M000001_source">show</a>
-
- </p>
- <div id="M000001_source" class="dyn-source">
- <pre> <span class="ruby-comment cmt"># File lib/http_accept_language.rb, line 27</span>
- 27: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">user_preferred_languages=</span>(<span class="ruby-identifier">languages</span>)
- 28: <span class="ruby-ivar">@user_preferred_languages</span> = <span class="ruby-identifier">languages</span>
- 29: <span class="ruby-keyword kw">end</span></pre>
- </div>
- </div>
-
- </div>
-
- </div>
- </div>
- </body>
- </html>