summaryrefslogtreecommitdiff
path: root/vendor/plugins/globalize2/lib/i18n
diff options
context:
space:
mode:
authorhukl <contact@smyck.org>2010-01-14 22:21:43 +0100
committerhukl <contact@smyck.org>2010-01-14 22:21:43 +0100
commit57d1382013c85a7b11ac8ce5e683f6006b12b328 (patch)
tree19646c4fa5952fa1cf0a2c874952affa346373f1 /vendor/plugins/globalize2/lib/i18n
parent1b86bf5f2e35d1820bfa32d979bcc2d9ff9a9a8e (diff)
Updated globalize2 to latest version. Modified existing code accoringly
Diffstat (limited to 'vendor/plugins/globalize2/lib/i18n')
-rw-r--r--vendor/plugins/globalize2/lib/i18n/missing_translations_log_handler.rb41
-rw-r--r--vendor/plugins/globalize2/lib/i18n/missing_translations_raise_handler.rb25
2 files changed, 66 insertions, 0 deletions
diff --git a/vendor/plugins/globalize2/lib/i18n/missing_translations_log_handler.rb b/vendor/plugins/globalize2/lib/i18n/missing_translations_log_handler.rb
new file mode 100644
index 00000000..24c10890
--- /dev/null
+++ b/vendor/plugins/globalize2/lib/i18n/missing_translations_log_handler.rb
@@ -0,0 +1,41 @@
1# A simple exception handler that behaves like the default exception handler
2# but additionally logs missing translations to a given log.
3#
4# Useful for identifying missing translations during testing.
5#
6# E.g.
7#
8# require 'globalize/i18n/missing_translations_log_handler'
9# I18n.missing_translations_logger = RAILS_DEFAULT_LOGGER
10# I18n.exception_handler = :missing_translations_log_handler
11#
12# To set up a different log file:
13#
14# logger = Logger.new("#{RAILS_ROOT}/log/missing_translations.log")
15# I18n.missing_translations_logger = logger
16
17module I18n
18 @@missing_translations_logger = nil
19
20 class << self
21 def missing_translations_logger
22 @@missing_translations_logger ||= begin
23 require 'logger' unless defined?(Logger)
24 Logger.new(STDOUT)
25 end
26 end
27
28 def missing_translations_logger=(logger)
29 @@missing_translations_logger = logger
30 end
31
32 def missing_translations_log_handler(exception, locale, key, options)
33 if MissingTranslationData === exception
34 missing_translations_logger.warn(exception.message)
35 return exception.message
36 else
37 raise exception
38 end
39 end
40 end
41end
diff --git a/vendor/plugins/globalize2/lib/i18n/missing_translations_raise_handler.rb b/vendor/plugins/globalize2/lib/i18n/missing_translations_raise_handler.rb
new file mode 100644
index 00000000..18237b15
--- /dev/null
+++ b/vendor/plugins/globalize2/lib/i18n/missing_translations_raise_handler.rb
@@ -0,0 +1,25 @@
1# A simple exception handler that behaves like the default exception handler
2# but also raises on missing translations.
3#
4# Useful for identifying missing translations during testing.
5#
6# E.g.
7#
8# require 'globalize/i18n/missing_translations_raise_handler'
9# I18n.exception_handler = :missing_translations_raise_handler
10module I18n
11 class << self
12 def missing_translations_raise_handler(exception, locale, key, options)
13 raise exception
14 end
15 end
16end
17
18I18n.exception_handler = :missing_translations_raise_handler
19
20ActionView::Helpers::TranslationHelper.module_eval do
21 def translate(key, options = {})
22 I18n.translate(key, options)
23 end
24 alias :t :translate
25end