internationalize Fixnum#as_size
authorLunar <lunar@anargeek.net>
Fri, 23 Mar 2012 17:43:35 +0000 (18:43 +0100)
committerLunar <lunar@anargeek.net>
Thu, 14 Mar 2013 09:12:09 +0000 (10:12 +0100)
Rakefile
lib/coquelicot/num.rb
po/coquelicot.pot
po/de/coquelicot.po
po/fr/coquelicot.po
spec/coquelicot/app_spec.rb

index 7d1f62d..7df2877 100644 (file)
--- a/Rakefile
+++ b/Rakefile
@@ -24,6 +24,6 @@ require 'haml/magic_translations/tasks'
 
 Haml::MagicTranslations::Tasks::UpdatePoFiles.new(:updatepo) do |t|
  t.text_domain = 'coquelicot'
- t.files = Dir.glob("views/**/*.{rb,haml}") << "lib/coquelicot/app.rb"
+ t.files = Dir.glob('views/**/*.{rb,haml}') + Dir.glob('lib/coquelicot/**/*.rb')
  t.app_version = 'coquelicot 1.0.0'
 end
index 560b804..a7ab04c 100644 (file)
 # You should have received a copy of the GNU Affero General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+require 'fast_gettext'
+
 module Coquelicot::Num
+  include FastGettext::Translation
+
   # found on: http://codereview.stackexchange.com/questions/9107/
   def as_size
-    # XXX: i18nize
-    prefix = %W(TiB GiB MiB KiB B)
+    prefix = [N_('TiB'), N_('GiB'), N_('MiB'), N_('KiB'), N_('B')]
     s = self.to_f
     i = prefix.length - 1
     while s > 512 && i > 0
       s /= 1024
       i -= 1
     end
-    ((s > 9 || s.modulo(1) < 0.1 ? '%d' : '%.1f') % s) + ' ' + prefix[i]
+    ((s > 9 || s.modulo(1) < 0.1 ? '%d' : '%.1f') % s) + ' ' + _(prefix[i])
   end
 end
 
index 44d3aa4..dd85b27 100644 (file)
@@ -7,7 +7,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: coquelicot 1.0.0\n"
-"POT-Creation-Date: 2012-03-23 18:48+0100\n"
+"POT-Creation-Date: 2012-03-23 18:49+0100\n"
 "PO-Revision-Date: 2010-08-03 17:15+0200\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -190,3 +190,23 @@ msgstr ""
 #: views/expired.haml:18
 msgid "Too late…"
 msgstr ""
+
+#: lib/coquelicot/num.rb:22
+msgid "TiB"
+msgstr ""
+
+#: lib/coquelicot/num.rb:22
+msgid "GiB"
+msgstr ""
+
+#: lib/coquelicot/num.rb:22
+msgid "MiB"
+msgstr ""
+
+#: lib/coquelicot/num.rb:22
+msgid "KiB"
+msgstr ""
+
+#: lib/coquelicot/num.rb:22
+msgid "B"
+msgstr ""
index fe5b437..b51f205 100644 (file)
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: coquelicot 1.0.0\n"
-"POT-Creation-Date: 2012-03-23 18:48+0100\n"
+"POT-Creation-Date: 2012-03-23 18:49+0100\n"
 "PO-Revision-Date: 2010-08-03 17:15+0200\n"
 "Last-Translator: potager.org <jardiniers@potager.org>\n"
 "Language-Team: potager.org <jardiniers@potager.org>\n"
@@ -189,3 +189,23 @@ msgstr "Entschuldigung, die Datei ist nicht mehr verfügbar."
 #: views/expired.haml:18
 msgid "Too late…"
 msgstr "Zu spät…"
+
+#: lib/coquelicot/num.rb:22
+msgid "TiB"
+msgstr ""
+
+#: lib/coquelicot/num.rb:22
+msgid "GiB"
+msgstr ""
+
+#: lib/coquelicot/num.rb:22
+msgid "MiB"
+msgstr ""
+
+#: lib/coquelicot/num.rb:22
+msgid "KiB"
+msgstr ""
+
+#: lib/coquelicot/num.rb:22
+msgid "B"
+msgstr ""
index 58a7721..0010645 100644 (file)
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: coquelicot 1.0.0\n"
-"POT-Creation-Date: 2012-03-23 18:48+0100\n"
+"POT-Creation-Date: 2012-03-23 18:49+0100\n"
 "PO-Revision-Date: 2010-08-03 17:15+0200\n"
 "Last-Translator: potager.org <jardiniers@potager.org>\n"
 "Language-Team: potager.org <jardiniers@potager.org>\n"
@@ -207,3 +207,23 @@ msgstr "Désolé, le fichier a expiré."
 #: views/expired.haml:18
 msgid "Too late…"
 msgstr "Trop tard…"
+
+#: lib/coquelicot/num.rb:22
+msgid "TiB"
+msgstr "Tio"
+
+#: lib/coquelicot/num.rb:22
+msgid "GiB"
+msgstr "Gio"
+
+#: lib/coquelicot/num.rb:22
+msgid "MiB"
+msgstr "Mio"
+
+#: lib/coquelicot/num.rb:22
+msgid "KiB"
+msgstr "Kio"
+
+#: lib/coquelicot/num.rb:22
+msgid "B"
+msgstr "o"
index f4e3c86..aa2335f 100644 (file)
@@ -64,15 +64,29 @@ describe Coquelicot::Application do
         end
       end
       context 'when I do nothing special' do
-        before do
-          visit '/'
-        end
         it 'should display a page in french' do
+          visit '/'
           page.should have_content('Partager')
         end
+        context 'when the max upload size is 1 KiB' do
+          around do |example|
+            begin
+              max_file_size = app.max_file_size
+              app.set :max_file_size, 1024
+              example.run
+            ensure
+              app.set :max_file_size, max_file_size
+            end
+          end
+          it 'should display "1 Kio" as the max upload size' do
+            visit '/'
+            page.should have_content('1 Kio')
+          end
+        end
       end
       context 'when I explicitly request german' do
         before do
+          visit '/'
           click_link 'de'
         end
         it 'should display a page in german' do