<?xml version="1.0" encoding="iso-8859-1"?> <!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>Module: LocalizationSimplified</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" /> <script type="text/javascript"> // <![CDATA[ function popupCode( url ) { window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400") } function toggleCode( id ) { if ( document.getElementById ) elem = document.getElementById( id ); else if ( document.all ) elem = eval( "document.all." + id ); else return false; elemStyle = elem.style; if ( elemStyle.display != "block" ) { elemStyle.display = "block" } else { elemStyle.display = "none" } return true; } // Make codeblocks hidden by default document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" ) // ]]> </script> </head> <body> <div id="classHeader"> <table class="header-table"> <tr class="top-aligned-row"> <td><strong>Module</strong></td> <td class="class-name-in-header">LocalizationSimplified</td> </tr> <tr class="top-aligned-row"> <td><strong>In:</strong></td> <td> <a href="../files/lib/lang_cf_rb.html"> lib/lang_cf.rb </a> <br /> <a href="../files/lib/lang_chef_rb.html"> lib/lang_chef.rb </a> <br /> <a href="../files/lib/lang_da_rb.html"> lib/lang_da.rb </a> <br /> <a href="../files/lib/lang_de_rb.html"> lib/lang_de.rb </a> <br /> <a href="../files/lib/lang_en_rb.html"> lib/lang_en.rb </a> <br /> <a href="../files/lib/lang_es_rb.html"> lib/lang_es.rb </a> <br /> <a href="../files/lib/lang_fi_rb.html"> lib/lang_fi.rb </a> <br /> <a href="../files/lib/lang_fr_rb.html"> lib/lang_fr.rb </a> <br /> <a href="../files/lib/lang_fr__rb.html"> lib/lang_fr_.rb </a> <br /> <a href="../files/lib/lang_nl_rb.html"> lib/lang_nl.rb </a> <br /> <a href="../files/lib/lang_pirate_rb.html"> lib/lang_pirate.rb </a> <br /> <a href="../files/lib/lang_se_rb.html"> lib/lang_se.rb </a> <br /> <a href="../files/lib/lang_template_rb.html"> lib/lang_template.rb </a> <br /> <a href="../files/lib/localization_simplified_rb.html"> lib/localization_simplified.rb </a> <br /> </td> </tr> </table> </div> <!-- banner header --> <div id="bodyContent"> <div id="contextContent"> <div id="description"> <p> <a href="LocalizationSimplified.html">LocalizationSimplified</a> Really simple localization for Rails By Jesper Rønn-Jensen ( <a href="http://justaddwater.dk">justaddwater.dk</a>/ ) Plugin available at <a href="http://rubyforge.org/projects/l10n-simplified">rubyforge.org/projects/l10n-simplified</a>/ </p> </div> </div> <div id="method-list"> <h3 class="section-bar">Methods</h3> <div class="name-list"> <a href="#M000010">distance_of_time_in_words</a> <a href="#M000009">localize_strftime</a> </div> </div> </div> <!-- if includes --> <div id="section"> <div id="class-list"> <h3 class="section-bar">Classes and Modules</h3> Class <a href="LocalizationSimplified/ActiveRecord.html" class="link">LocalizationSimplified::ActiveRecord</a><br /> Class <a href="LocalizationSimplified/ArrayHelper.html" class="link">LocalizationSimplified::ArrayHelper</a><br /> Class <a href="LocalizationSimplified/DateHelper.html" class="link">LocalizationSimplified::DateHelper</a><br /> Class <a href="LocalizationSimplified/NumberHelper.html" class="link">LocalizationSimplified::NumberHelper</a><br /> </div> <div id="constants-list"> <h3 class="section-bar">Constants</h3> <div class="name-list"> <table summary="Constants"> <tr class="top-aligned-row context-row"> <td class="context-item-name">About</td> <td>=</td> <td class="context-item-value">{ :lang => "cf", :updated => "2006-09-07"</td> </tr> <tr class="top-aligned-row context-row"> <td class="context-item-name">About</td> <td>=</td> <td class="context-item-value">{ :lang => "chef", :updated => "2006-09-07"</td> </tr> <tr class="top-aligned-row context-row"> <td class="context-item-name">About</td> <td>=</td> <td class="context-item-value">{ :lang => "da", :updated => "2006-09-07"</td> </tr> <tr class="top-aligned-row context-row"> <td class="context-item-name">About</td> <td>=</td> <td class="context-item-value">{ :lang => "de", :updated => "2006-09-07"</td> </tr> <tr class="top-aligned-row context-row"> <td class="context-item-name">About</td> <td>=</td> <td class="context-item-value">{ :lang => "en", :updated => "2006-09-01"</td> </tr> <tr class="top-aligned-row context-row"> <td class="context-item-name">About</td> <td>=</td> <td class="context-item-value">{ :lang => "es", :updated => "2006-09-07"</td> </tr> <tr class="top-aligned-row context-row"> <td class="context-item-name">About</td> <td>=</td> <td class="context-item-value">{ :lang => "fi", :updated => "2006-09-07"</td> </tr> <tr class="top-aligned-row context-row"> <td class="context-item-name">About</td> <td>=</td> <td class="context-item-value">{ :lang => "fr", :updated => "2006-09-03"</td> </tr> <tr class="top-aligned-row context-row"> <td class="context-item-name">About</td> <td>=</td> <td class="context-item-value">{ :lang => "fr", :updated => "2006-08-24"</td> </tr> <tr class="top-aligned-row context-row"> <td class="context-item-name">About</td> <td>=</td> <td class="context-item-value">{ :lang => "nl", :updated => "2006-08-23"</td> </tr> <tr class="top-aligned-row context-row"> <td class="context-item-name">About</td> <td>=</td> <td class="context-item-value">{ :lang => "pirate", :updated => "2006-09-07"</td> </tr> <tr class="top-aligned-row context-row"> <td class="context-item-name">About</td> <td>=</td> <td class="context-item-value">{ :lang => "se", :updated => "2006-09-07"</td> </tr> <tr class="top-aligned-row context-row"> <td class="context-item-name">About</td> <td>=</td> <td class="context-item-value">{ :lang => "en",#add locale code here :updated => "2006-09-01"</td> </tr> </table> </div> </div> <!-- if method_list --> <div id="methods"> <h3 class="section-bar">Public Class methods</h3> <div id="method-M000010" class="method-detail"> <a name="M000010"></a> <div class="method-heading"> <a href="#M000010" class="method-signature"> <span class="method-name">distance_of_time_in_words</span><span class="method-args">(from_time, to_time = 0, include_seconds = false)</span> </a> </div> <div class="method-description"> <p> Modify <a href="LocalizationSimplified/DateHelper.html">DateHelper</a> <a href="LocalizationSimplified.html#M000010">distance_of_time_in_words</a> </p> <p><a class="source-toggle" href="#" onclick="toggleCode('M000010-source');return false;">[Source]</a></p> <div class="method-source-code" id="M000010-source"> <pre> <span class="ruby-comment cmt"># File lib/localization_simplified.rb, line 20</span> 20: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">distance_of_time_in_words</span>(<span class="ruby-identifier">from_time</span>, <span class="ruby-identifier">to_time</span> = <span class="ruby-value">0</span>, <span class="ruby-identifier">include_seconds</span> = <span class="ruby-keyword kw">false</span>) 21: <span class="ruby-identifier">from_time</span> = <span class="ruby-identifier">from_time</span>.<span class="ruby-identifier">to_time</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">from_time</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">:to_time</span>) 22: <span class="ruby-identifier">to_time</span> = <span class="ruby-identifier">to_time</span>.<span class="ruby-identifier">to_time</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">to_time</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">:to_time</span>) 23: <span class="ruby-identifier">distance_in_minutes</span> = (((<span class="ruby-identifier">to_time</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">from_time</span>).<span class="ruby-identifier">abs</span>)<span class="ruby-operator">/</span><span class="ruby-value">60</span>).<span class="ruby-identifier">round</span> 24: <span class="ruby-identifier">distance_in_seconds</span> = ((<span class="ruby-identifier">to_time</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">from_time</span>).<span class="ruby-identifier">abs</span>).<span class="ruby-identifier">round</span> 25: 26: <span class="ruby-comment cmt">#First, I invent a variable (makes it easier for future i10n)</span> 27: <span class="ruby-identifier">messages</span> = <span class="ruby-constant">LocalizationSimplified</span><span class="ruby-operator">::</span><span class="ruby-constant">DateHelper</span><span class="ruby-operator">::</span><span class="ruby-constant">Texts</span> <span class="ruby-comment cmt">#localized</span> 28: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">distance_in_minutes</span> 29: <span class="ruby-keyword kw">when</span> <span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">1</span> 30: <span class="ruby-keyword kw">return</span> (<span class="ruby-identifier">distance_in_minutes</span><span class="ruby-operator">==</span><span class="ruby-value">0</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">messages</span>[<span class="ruby-identifier">:less_than_a_minute</span>] <span class="ruby-operator">:</span> <span class="ruby-identifier">messages</span>[<span class="ruby-identifier">:one_minute</span>] <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">include_seconds</span> 31: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">distance_in_seconds</span> 32: <span class="ruby-keyword kw">when</span> <span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">5</span> <span class="ruby-keyword kw">then</span> <span class="ruby-identifier">format</span>( <span class="ruby-identifier">messages</span>[<span class="ruby-identifier">:less_than_x_seconds</span>], <span class="ruby-value">5</span> ) 33: <span class="ruby-keyword kw">when</span> <span class="ruby-value">6</span><span class="ruby-operator">..</span><span class="ruby-value">10</span> <span class="ruby-keyword kw">then</span> <span class="ruby-identifier">format</span>( <span class="ruby-identifier">messages</span>[<span class="ruby-identifier">:less_than_x_seconds</span>], <span class="ruby-value">10</span> ) 34: <span class="ruby-keyword kw">when</span> <span class="ruby-value">11</span><span class="ruby-operator">..</span><span class="ruby-value">20</span> <span class="ruby-keyword kw">then</span> <span class="ruby-identifier">format</span>( <span class="ruby-identifier">messages</span>[<span class="ruby-identifier">:less_than_x_seconds</span>], <span class="ruby-value">20</span> ) 35: <span class="ruby-keyword kw">when</span> <span class="ruby-value">21</span><span class="ruby-operator">..</span><span class="ruby-value">40</span> <span class="ruby-keyword kw">then</span> <span class="ruby-identifier">messages</span>[<span class="ruby-identifier">:half_a_minute</span>] 36: <span class="ruby-keyword kw">when</span> <span class="ruby-value">41</span><span class="ruby-operator">..</span><span class="ruby-value">59</span> <span class="ruby-keyword kw">then</span> <span class="ruby-identifier">messages</span>[<span class="ruby-identifier">:less_than_a_minute</span>] 37: <span class="ruby-keyword kw">else</span> <span class="ruby-identifier">messages</span>[<span class="ruby-identifier">:one_minute</span>] 38: <span class="ruby-keyword kw">end</span> 39: 40: <span class="ruby-keyword kw">when</span> <span class="ruby-value">2</span><span class="ruby-operator">..</span><span class="ruby-value">45</span> <span class="ruby-keyword kw">then</span> <span class="ruby-identifier">format</span>(<span class="ruby-identifier">messages</span>[<span class="ruby-identifier">:x_minutes</span>], <span class="ruby-identifier">distance_in_minutes</span>) 41: <span class="ruby-keyword kw">when</span> <span class="ruby-value">46</span><span class="ruby-operator">..</span><span class="ruby-value">90</span> <span class="ruby-keyword kw">then</span> <span class="ruby-identifier">messages</span>[<span class="ruby-identifier">:one_hour</span>] 42: <span class="ruby-keyword kw">when</span> <span class="ruby-value">90</span><span class="ruby-operator">..</span><span class="ruby-value">1440</span> <span class="ruby-keyword kw">then</span> <span class="ruby-identifier">format</span>( <span class="ruby-identifier">messages</span>[<span class="ruby-identifier">:x_hours</span>], (<span class="ruby-identifier">distance_in_minutes</span>.<span class="ruby-identifier">to_f</span> <span class="ruby-operator">/</span> <span class="ruby-value">60.0</span>).<span class="ruby-identifier">round</span> ) 43: <span class="ruby-keyword kw">when</span> <span class="ruby-value">1441</span><span class="ruby-operator">..</span><span class="ruby-value">2880</span> <span class="ruby-keyword kw">then</span> <span class="ruby-identifier">messages</span>[<span class="ruby-identifier">:one_day</span>] 44: <span class="ruby-keyword kw">else</span> <span class="ruby-identifier">format</span>( <span class="ruby-identifier">messages</span>[<span class="ruby-identifier">:x_days</span>], (<span class="ruby-identifier">distance_in_minutes</span> <span class="ruby-operator">/</span> <span class="ruby-value">1440</span>).<span class="ruby-identifier">round</span> ) 45: <span class="ruby-keyword kw">end</span> 46: <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> <div id="method-M000009" class="method-detail"> <a name="M000009"></a> <div class="method-heading"> <a href="#M000009" class="method-signature"> <span class="method-name">localize_strftime</span><span class="method-args">(date='%d.%m.%Y', time='')</span> </a> </div> <div class="method-description"> <p> substitute all daynames and monthnames with localized names from RUtils plugin </p> <p><a class="source-toggle" href="#" onclick="toggleCode('M000009-source');return false;">[Source]</a></p> <div class="method-source-code" id="M000009-source"> <pre> <span class="ruby-comment cmt"># File lib/localization_simplified.rb, line 10</span> 10: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">localize_strftime</span>(<span class="ruby-identifier">date</span>=<span class="ruby-value str">'%d.%m.%Y'</span>, <span class="ruby-identifier">time</span>=<span class="ruby-value str">''</span>) 11: <span class="ruby-identifier">date</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/%%/</span>, <span class="ruby-ivar">@@ignore</span>) 12: <span class="ruby-identifier">date</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/%a/</span>, <span class="ruby-constant">LocalizationSimplified</span><span class="ruby-operator">::</span><span class="ruby-constant">DateHelper</span><span class="ruby-operator">::</span><span class="ruby-constant">AbbrDaynames</span>[<span class="ruby-identifier">time</span>.<span class="ruby-identifier">wday</span>]) 13: <span class="ruby-identifier">date</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/%A/</span>, <span class="ruby-constant">LocalizationSimplified</span><span class="ruby-operator">::</span><span class="ruby-constant">DateHelper</span><span class="ruby-operator">::</span><span class="ruby-constant">Daynames</span>[<span class="ruby-identifier">time</span>.<span class="ruby-identifier">wday</span>]) 14: <span class="ruby-identifier">date</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/%b/</span>, <span class="ruby-constant">LocalizationSimplified</span><span class="ruby-operator">::</span><span class="ruby-constant">DateHelper</span><span class="ruby-operator">::</span><span class="ruby-constant">AbbrMonthnames</span>[<span class="ruby-identifier">time</span>.<span class="ruby-identifier">mon</span>]) 15: <span class="ruby-identifier">date</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/%B/</span>, <span class="ruby-constant">LocalizationSimplified</span><span class="ruby-operator">::</span><span class="ruby-constant">DateHelper</span><span class="ruby-operator">::</span><span class="ruby-constant">Monthnames</span>[<span class="ruby-identifier">time</span>.<span class="ruby-identifier">mon</span>]) 16: <span class="ruby-identifier">date</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-ivar">@@ignore</span>, <span class="ruby-value str">'%%'</span>) 17: <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> </div> </div> <div id="validator-badges"> <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p> </div> </body> </html>