gettext 1.4.0-mswin32 → 1.5.0-mswin32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. data/ChangeLog +46 -0
  2. data/NEWS +9 -0
  3. data/README +28 -25
  4. data/data/locale/cs/LC_MESSAGES/rails.mo +0 -0
  5. data/data/locale/cs/LC_MESSAGES/rgettext.mo +0 -0
  6. data/data/locale/de/LC_MESSAGES/rails.mo +0 -0
  7. data/data/locale/de/LC_MESSAGES/rgettext.mo +0 -0
  8. data/data/locale/el/LC_MESSAGES/rails.mo +0 -0
  9. data/data/locale/el/LC_MESSAGES/rgettext.mo +0 -0
  10. data/data/locale/es/LC_MESSAGES/rails.mo +0 -0
  11. data/data/locale/es/LC_MESSAGES/rgettext.mo +0 -0
  12. data/data/locale/fr/LC_MESSAGES/rails.mo +0 -0
  13. data/data/locale/fr/LC_MESSAGES/rgettext.mo +0 -0
  14. data/data/locale/it/LC_MESSAGES/rgettext.mo +0 -0
  15. data/data/locale/ja/LC_MESSAGES/rails.mo +0 -0
  16. data/data/locale/ja/LC_MESSAGES/rgettext.mo +0 -0
  17. data/data/locale/ko/LC_MESSAGES/rails.mo +0 -0
  18. data/data/locale/ko/LC_MESSAGES/rgettext.mo +0 -0
  19. data/data/locale/nl/LC_MESSAGES/rails.mo +0 -0
  20. data/data/locale/nl/LC_MESSAGES/rgettext.mo +0 -0
  21. data/data/locale/pt_BR/LC_MESSAGES/rails.mo +0 -0
  22. data/data/locale/pt_BR/LC_MESSAGES/rgettext.mo +0 -0
  23. data/data/locale/ru/LC_MESSAGES/rails.mo +0 -0
  24. data/data/locale/ru/LC_MESSAGES/rgettext.mo +0 -0
  25. data/data/locale/sv/LC_MESSAGES/rgettext.mo +0 -0
  26. data/ext/gettext/Makefile +178 -0
  27. data/ext/gettext/locale_system-i386-mswin32.def +2 -0
  28. data/ext/gettext/locale_system.exp +0 -0
  29. data/ext/gettext/locale_system.lib +0 -0
  30. data/ext/gettext/locale_system.obj +0 -0
  31. data/ext/gettext/locale_system.pdb +0 -0
  32. data/ext/gettext/locale_system.so +0 -0
  33. data/ext/gettext/mkmf.log +16 -0
  34. data/ext/gettext/vc70.pdb +0 -0
  35. data/lib/gettext/mo.rb +31 -10
  36. data/lib/gettext/parser/activerecord.rb +15 -4
  37. data/lib/gettext/poparser.rb +2 -2
  38. data/lib/gettext/rails.rb +14 -5
  39. data/lib/gettext/string.rb +6 -1
  40. data/lib/gettext/textdomain.rb +33 -4
  41. data/lib/gettext/version.rb +1 -1
  42. data/po/cs/rails.po +16 -16
  43. data/po/cs/rgettext.po +2 -2
  44. data/po/de/rails.po +16 -16
  45. data/po/de/rgettext.po +2 -2
  46. data/po/el/rails.po +16 -16
  47. data/po/el/rgettext.po +2 -2
  48. data/po/es/rails.po +16 -16
  49. data/po/es/rgettext.po +2 -2
  50. data/po/fr/rails.po +16 -16
  51. data/po/fr/rgettext.po +2 -2
  52. data/po/it/rgettext.po +2 -2
  53. data/po/ja/rails.po +16 -16
  54. data/po/ja/rgettext.po +2 -2
  55. data/po/ko/rails.po +16 -16
  56. data/po/ko/rgettext.po +2 -2
  57. data/po/nl/rails.po +16 -16
  58. data/po/nl/rgettext.po +2 -2
  59. data/po/pt_BR/rails.po +16 -16
  60. data/po/pt_BR/rgettext.po +2 -2
  61. data/po/rails.pot +16 -16
  62. data/po/rgettext.pot +2 -2
  63. data/po/ru/rails.po +82 -0
  64. data/po/ru/rgettext.po +103 -0
  65. data/po/sv/rgettext.po +2 -2
  66. data/samples/cgi/locale/ru/LC_MESSAGES/helloerb1.mo +0 -0
  67. data/samples/cgi/locale/ru/LC_MESSAGES/helloerb2.mo +0 -0
  68. data/samples/cgi/locale/ru/LC_MESSAGES/hellolib.mo +0 -0
  69. data/samples/cgi/locale/ru/LC_MESSAGES/main.mo +0 -0
  70. data/samples/cgi/po/ru/helloerb1.po +58 -0
  71. data/samples/cgi/po/ru/helloerb2.po +50 -0
  72. data/samples/cgi/po/ru/hellolib.po +22 -0
  73. data/samples/cgi/po/ru/main.po +82 -0
  74. data/samples/locale/ru/LC_MESSAGES/hello.mo +0 -0
  75. data/samples/locale/ru/LC_MESSAGES/hello2.mo +0 -0
  76. data/samples/locale/ru/LC_MESSAGES/hello_noop.mo +0 -0
  77. data/samples/locale/ru/LC_MESSAGES/hello_plural.mo +0 -0
  78. data/samples/locale/ru/LC_MESSAGES/helloglade2.mo +0 -0
  79. data/samples/locale/ru/LC_MESSAGES/hellogtk.mo +0 -0
  80. data/samples/locale/ru/LC_MESSAGES/hellotk.mo +0 -0
  81. data/samples/po/ru/hello.po +22 -0
  82. data/samples/po/ru/hello2.po +30 -0
  83. data/samples/po/ru/hello_noop.po +26 -0
  84. data/samples/po/ru/hello_plural.po +25 -0
  85. data/samples/po/ru/helloglade2.po +30 -0
  86. data/samples/po/ru/hellogtk.po +22 -0
  87. data/samples/po/ru/hellotk.po +22 -0
  88. data/samples/rails/locale/ru/LC_MESSAGES/blog.mo +0 -0
  89. data/samples/rails/locale/ru/LC_MESSAGES/gettext_plugin.mo +0 -0
  90. data/samples/rails/po/ru/blog.po +108 -0
  91. data/samples/rails/po/ru/gettext_plugin.po +26 -0
  92. data/test/gettext_test_locale.rb +1 -1
  93. data/test/gettext_test_rails.rb +1 -1
  94. metadata +781 -723
data/ChangeLog CHANGED
@@ -1,3 +1,49 @@
1
+ 2006-05-07 Masao Mutoh <mutoh@highway.ne.jp>
2
+
3
+ * lib/gettext/version.rb: Increment revision number.
4
+ * NEWS: Updated.
5
+
6
+ 2006-05-06 Masao Mutoh <mutoh@highway.ne.jp>
7
+
8
+ * lib/gettext/rails.rb: error_messages_for works same as
9
+ actionpack-1.12.1 when nil or symbol are given as @object_name.
10
+ By arton.
11
+ * test/gettext_test_rails.rb: Works again.
12
+
13
+ 2006-05-05 Masao Mutoh <mutoh@highway.ne.jp>
14
+
15
+ * lib/gettext/parser/activerecord.rb: Fixed again.
16
+
17
+ 2006-05-04 Masao Mutoh <mutoh@highway.ne.jp>
18
+
19
+ * lib/gettext/parser/activerecord.rb: Fixed "duplicate message definition"
20
+ error in rake updatepo task using ActiveRecord::Base.set_table_name.
21
+ Reported by Karel Miarka.
22
+
23
+ 2006-05-02 Masao Mutoh <mutoh@highway.ne.jp>
24
+
25
+ * lib/gettext/rails.rb: Fixed an abort when Rails::Info isn't
26
+ required like as Typo. Reported by Masayoshi Takahashi.
27
+
28
+ 2006-04-30 Masao Mutoh <mutoh@highway.ne.jp>
29
+
30
+ * lib/gettext/textdomain.rb: Added GetText::TextDomain#check_mo=,
31
+ #check_mo?. When the value is true, check the MOFile and if it's
32
+ updated, reload MOFile again. This is usefule for development
33
+ time.
34
+ * lib/gettext/rails.rb: When development mode, check mo files
35
+ and reload it if it's updated.
36
+ * lib/gettext/mo.rb: Added MOFile#update!.
37
+ * lib/gettext/string.rb: String#% doesn't raise ArgumentError
38
+ when execute ruby with -d option.
39
+
40
+ 2006-04-21 Masao Mutoh <mutoh@highway.ne.jp>
41
+
42
+ * samples/po/ru/*.po, samples/cgi/po/ru/*.po,
43
+ samples/rails/po/ru/*.po, po/rgettext.po,
44
+ rails.po: Added Russian locale by Yuri Kozlov.
45
+ * README: Revised.
46
+
1
47
  2006-04-15 Masao Mutoh <mutoh@highway.ne.jp>
2
48
 
3
49
  * NEWS: Updated.
data/NEWS CHANGED
@@ -1,3 +1,12 @@
1
+ = Ruby-GetText-Package-1.5.0 (2006-05-07)
2
+
3
+ * Support Russian.
4
+ * Fix bugs.
5
+ * Refresh mo option was added.
6
+ Check mo files and reload it if it's updated.
7
+ ruby -d or GetText::TextDomain#check_mo=(true).
8
+ Or development mode in Ruby on Rails.
9
+
1
10
  = Ruby-GetText-Package-1.4.0 (2006-04-15)
2
11
 
3
12
  * Support OpenBSD.
data/README CHANGED
@@ -101,34 +101,37 @@ License
101
101
 
102
102
  Translators
103
103
  -----------
104
- Czech - Karel Miarka <kajism at yahoo.com>
105
- Dutch - Menno Jonkers <ruby-gettext at jonkers.com>
106
- French - Laurent Sansonetti <laurent.sansonetti at gmail.com>
107
- German - Detlef Reichl <detlef.reichl at gmx.org>
108
- Sven Herzberg <herzi at abi02.de>
109
- Sascha Ebach <se at digitale-wertschoepfung.de>
110
- Greek - Damphyr <damphyr at gmx.net>
111
- Italian - Gabriele Renzi <surrender_it at yahoo.it>
112
- Japanese - Masao Mutoh <mutoh at highway.ne.jp>
113
- Korean - Gyoung-Yoon Noh <nohmad at gmail.com>
114
- Portuguese(Brazil) - Joao Pedrosa <joaopedrosa at gmail.com>
115
- Spanish - David Espada <davinci at escomposlinux.org> (current)
116
- David Moreno Garza <damog at damog.net>
117
- Swedish - Nikolai Weibull <mailing-lists.ruby-talk at rawuncut.elitemail.org>
104
+ Czech(cs) - Karel Miarka <kajism at yahoo.com>
105
+ Dutch(nl) - Menno Jonkers <ruby-gettext at jonkers.com>
106
+ French(fr) - Laurent Sansonetti <laurent.sansonetti at gmail.com>
107
+ German(de) - Detlef Reichl <detlef.reichl at gmx.org>
108
+ Sven Herzberg <herzi at abi02.de>
109
+ Sascha Ebach <se at digitale-wertschoepfung.de>
110
+ Greek(el) - Damphyr <damphyr at gmx.net>
111
+ Italian(it) - Gabriele Renzi <surrender_it at yahoo.it>
112
+ Japanese(ja) - Masao Mutoh <mutoh at highway.ne.jp>
113
+ Korean(ko) - Gyoung-Yoon Noh <nohmad at gmail.com>
114
+ Portuguese(Brazil)(pt_BR) - Joao Pedrosa <joaopedrosa at gmail.com>
115
+ Russian(ru) - Yuri Kozlov <kozlov.y at gmail.com>
116
+ Spanish(es) - David Espada <davinci at escomposlinux.org> (current)
117
+ David Moreno Garza <damog at damog.net>
118
+ Swedish(sv) - Nikolai Weibull <mailing-lists.ruby-talk at rawuncut.elitemail.org>
118
119
 
119
120
  Status of translations
120
121
  ----------------------
121
- cs - 1.4.0
122
- fr - 1.4.0
123
- de - 1.4.0
124
- el - 1.4.0
125
- es - 1.4.0
126
- it - 1.0.0 (old)
127
- ja - 1.4.0
128
- ko - 1.4.0
129
- nl - 1.4.0
130
- pt_BR - 1.4.0
131
- sv - 0.8.0 (old)
122
+ Czech(cs) - 1.5.0
123
+ Dutch(nl) - 1.5.0
124
+ English(default) - 1.5.0
125
+ French(fr) - 1.5.0
126
+ German(de) - 1.5.0
127
+ Greek(el) - 1.5.0
128
+ Spanish(es) - 1.5.0
129
+ Italian(it) - 1.0.0 (old)
130
+ Japanese(ja) - 1.5.0
131
+ Korean(ko) - 1.5.0
132
+ Portuguese(Brazil)(pt_BR) - 1.5.0
133
+ Russian(ru) - 1.5.0
134
+ Swedish(sv) - 0.8.0 (old)
132
135
 
133
136
  Maintainer
134
137
  ----------
@@ -0,0 +1,178 @@
1
+
2
+ SHELL = /bin/sh
3
+
4
+ #### Start of system configuration section. ####
5
+
6
+ srcdir = .
7
+ topdir = e:/ruby/lib/ruby/1.8/i386-mswin32
8
+ hdrdir = $(topdir)
9
+ VPATH = $(srcdir);$(topdir);$(hdrdir)
10
+
11
+ DESTDIR = e:
12
+ prefix = $(DESTDIR)/ruby
13
+ exec_prefix = $(prefix)
14
+ sitedir = $(prefix)/lib/ruby/site_ruby
15
+ rubylibdir = $(libdir)/ruby/$(ruby_version)
16
+ top_srcdir = $(DESTDIR)/develop/win/ruby/ruby-1.8.4
17
+ archdir = $(rubylibdir)/$(arch)
18
+ sbindir = $(exec_prefix)/sbin
19
+ datadir = $(prefix)/share
20
+ includedir = $(prefix)/include
21
+ infodir = $(prefix)/info
22
+ sysconfdir = $(prefix)/etc
23
+ mandir = $(prefix)/man
24
+ libdir = $(exec_prefix)/lib
25
+ sharedstatedir = $(DESTDIR)/etc
26
+ oldincludedir = $(DESTDIR)/usr/include
27
+ sitearchdir = $(sitelibdir)/$(sitearch)
28
+ localstatedir = $(DESTDIR)/var
29
+ bindir = $(exec_prefix)/bin
30
+ sitelibdir = $(sitedir)/$(ruby_version)
31
+ libexecdir = $(exec_prefix)/libexec
32
+
33
+ CC = cl -nologo
34
+ LIBRUBY = $(RUBY_SO_NAME).lib
35
+ LIBRUBY_A = $(RUBY_SO_NAME)-static.lib
36
+ LIBRUBYARG_SHARED = $(LIBRUBY)
37
+ LIBRUBYARG_STATIC = $(LIBRUBY_A)
38
+
39
+ CFLAGS = -MD -Zi -O2b2xg- -G6
40
+ CPPFLAGS = -I. -I$(topdir) -I$(hdrdir) -I$(srcdir) -DHAVE_WINDOWS_H
41
+ CXXFLAGS = $(CFLAGS)
42
+ DLDFLAGS = -link -incremental:no -debug -opt:ref -opt:icf -dll $(LIBPATH) -def:$(DEFFILE) -implib:$(*F:.so=)-$(arch).lib -pdb:$(*F:.so=)-$(arch).pdb
43
+ LDSHARED = cl -nologo -LD
44
+ AR = lib -nologo
45
+ EXEEXT = .exe
46
+
47
+ RUBY_INSTALL_NAME = ruby
48
+ RUBY_SO_NAME = msvcrt-ruby18
49
+ arch = i386-mswin32
50
+ sitearch = i386-msvcrt
51
+ ruby_version = 1.8
52
+ ruby = e:/ruby/bin/ruby
53
+ RUBY = $(ruby:/=\)
54
+ RM = $(RUBY) -run -e rm -- -f
55
+ MAKEDIRS = @$(RUBY) -run -e mkdir -- -p
56
+ INSTALL = copy > nul
57
+ INSTALL_PROG = $(INSTALL)
58
+ INSTALL_DATA = $(INSTALL)
59
+ COPY = copy > nul
60
+
61
+ #### End of system configuration section. ####
62
+
63
+ preload =
64
+
65
+ libpath = $(libdir)
66
+ LIBPATH = -libpath:"$(libdir)"
67
+ DEFFILE = $(TARGET)-$(arch).def
68
+
69
+ CLEANFILES =
70
+ DISTCLEANFILES = vc*.pdb $(DEFFILE)
71
+
72
+ extout =
73
+ extout_prefix =
74
+ target_prefix =
75
+ LOCAL_LIBS =
76
+ LIBS = $(LIBRUBYARG_SHARED) oldnames.lib user32.lib advapi32.lib wsock32.lib
77
+ SRCS = locale_system.c
78
+ OBJS = locale_system.obj
79
+ TARGET = locale_system
80
+ DLLIB = $(TARGET).so
81
+ STATIC_LIB =
82
+
83
+ RUBYCOMMONDIR = $(sitedir)$(target_prefix)
84
+ RUBYLIBDIR = $(sitelibdir)$(target_prefix)
85
+ RUBYARCHDIR = $(sitearchdir)$(target_prefix)
86
+
87
+ TARGET_SO = $(DLLIB)
88
+ CLEANLIBS = $(TARGET).so $(TARGET).il? $(TARGET).tds $(TARGET).map
89
+ CLEANOBJS = *.obj *.lib *.s[ol] *.pdb *.exp *.bak
90
+
91
+ all: $(DLLIB)
92
+ static: $(STATIC_LIB)
93
+
94
+ clean:
95
+ @-$(RM) $(CLEANLIBS:/=\) $(CLEANOBJS:/=\) $(CLEANFILES:/=\)
96
+
97
+ distclean: clean
98
+ @-$(RM) Makefile extconf.h conftest.* mkmf.log
99
+ @-$(RM) core ruby$(EXEEXT) *~ $(DISTCLEANFILES:/=\)
100
+
101
+ realclean: distclean
102
+ install: install-so install-rb
103
+
104
+ install-so: $(RUBYARCHDIR)
105
+ install-so: $(RUBYARCHDIR)/$(DLLIB)
106
+ $(RUBYARCHDIR)/$(DLLIB): $(DLLIB)
107
+ $(INSTALL_PROG) $(DLLIB:/=\) $(RUBYARCHDIR:/=\)
108
+ install-rb: pre-install-rb install-rb-default
109
+ install-rb-default: pre-install-rb-default
110
+ pre-install-rb: Makefile
111
+ pre-install-rb-default: Makefile
112
+ $(RUBYARCHDIR):
113
+ $(MAKEDIRS) $@
114
+
115
+ site-install: site-install-so site-install-rb
116
+ site-install-so: install-so
117
+ site-install-rb: install-rb
118
+
119
+ .SUFFIXES: .c .m .cc .cxx .cpp .obj
120
+
121
+ {$(srcdir)}.cc{}.obj:
122
+ $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -Tp$(<:\=/)
123
+
124
+ {$(topdir)}.cc{}.obj:
125
+ $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -Tp$(<:\=/)
126
+
127
+ {$(hdrdir)}.cc{}.obj:
128
+ $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -Tp$(<:\=/)
129
+
130
+ .cc.obj:
131
+ $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -Tp$(<:\=/)
132
+
133
+ {$(srcdir)}.cxx{}.obj:
134
+ $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -Tp$(<:\=/)
135
+
136
+ {$(topdir)}.cxx{}.obj:
137
+ $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -Tp$(<:\=/)
138
+
139
+ {$(hdrdir)}.cxx{}.obj:
140
+ $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -Tp$(<:\=/)
141
+
142
+ .cxx.obj:
143
+ $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -Tp$(<:\=/)
144
+
145
+ {$(srcdir)}.cpp{}.obj:
146
+ $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -Tp$(<:\=/)
147
+
148
+ {$(topdir)}.cpp{}.obj:
149
+ $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -Tp$(<:\=/)
150
+
151
+ {$(hdrdir)}.cpp{}.obj:
152
+ $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -Tp$(<:\=/)
153
+
154
+ .cpp.obj:
155
+ $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -Tp$(<:\=/)
156
+
157
+ {$(srcdir)}.c{}.obj:
158
+ $(CC) $(CFLAGS) $(CPPFLAGS) -c -Tc$(<:\=/)
159
+
160
+ {$(topdir)}.c{}.obj:
161
+ $(CC) $(CFLAGS) $(CPPFLAGS) -c -Tc$(<:\=/)
162
+
163
+ {$(hdrdir)}.c{}.obj:
164
+ $(CC) $(CFLAGS) $(CPPFLAGS) -c -Tc$(<:\=/)
165
+
166
+ .c.obj:
167
+ $(CC) $(CFLAGS) $(CPPFLAGS) -c -Tc$(<:\=/)
168
+
169
+ $(DLLIB): $(DEFFILE) $(OBJS)
170
+ @-$(RM) $@
171
+ $(LDSHARED) -Fe$(@) $(OBJS) $(LIBS) $(LOCAL_LIBS) $(DLDFLAGS)
172
+
173
+
174
+
175
+ $(DEFFILE):
176
+ $(RUBY) -e "puts 'EXPORTS', 'Init_$(TARGET)'" > $@
177
+
178
+ $(OBJS): {.;$(srcdir);$(topdir);$(hdrdir)}ruby.h {.;$(srcdir);$(topdir);$(hdrdir)}defines.h
@@ -0,0 +1,2 @@
1
+ EXPORTS
2
+ Init_locale_system
@@ -0,0 +1,16 @@
1
+ have_header: checking for windows.h... -------------------- yes
2
+
3
+ "cl -I. -Ie:/ruby/lib/ruby/1.8/i386-mswin32 -MD -Zi -O2b2xg- -G6 conftest.c -P"
4
+ Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.42 for 80x86
5
+ Copyright (C) Microsoft Corporation. All rights reserved.
6
+
7
+ cl : Command line warning D9035 : option 'Og-' has been deprecated and will be removed in a future release
8
+ cl : Command line warning D9002 : ignoring unknown option '-G6'
9
+ conftest.c
10
+ checked program was:
11
+ /* begin */
12
+ #include <windows.h>
13
+ /* end */
14
+
15
+ --------------------
16
+
Binary file
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  mo.rb - A simple class for operating GNU MO file.
3
3
 
4
- Copyright (C) 2003-2005 Masao Mutoh
4
+ Copyright (C) 2003-2006 Masao Mutoh
5
5
  Copyright (C) 2002 Masahiro Sakai, Masao Mutoh
6
6
  Copyright (C) 2001 Masahiro Sakai
7
7
 
@@ -12,7 +12,7 @@
12
12
  of Ruby. License of Ruby is included with Ruby distribution in
13
13
  the file "README".
14
14
 
15
- $Id: mo.rb,v 1.3 2006/02/23 14:53:59 mutoh Exp $
15
+ $Id: mo.rb,v 1.4 2006/04/29 17:17:15 mutoh Exp $
16
16
  =end
17
17
 
18
18
  require 'gettext/iconv'
@@ -33,21 +33,42 @@ class MOFile < Hash #:nodoc:
33
33
 
34
34
  def self.open(arg = nil, output_charset = nil)
35
35
  result = self.new(output_charset)
36
- case arg
37
- when String
38
- result.load_from_file(arg)
39
- when IO
40
- result.load_from_stream(arg)
41
- end
42
- result
36
+ result.load(arg)
43
37
  end
44
38
 
45
39
  def initialize(output_charset = nil)
40
+ @filename = nil
41
+ @last_modified = Time.now
46
42
  @little_endian = true
47
43
  @output_charset = output_charset
48
44
  super()
49
45
  end
50
46
 
47
+ def update!
48
+ if FileTest.exist?(@filename)
49
+ load (@filename) unless (@last_modified == File.ctime(@filename))
50
+ else
51
+ puts "#{@filename} was lost." if $DEBUG
52
+ clear
53
+ end
54
+ self
55
+ end
56
+
57
+ def load(arg)
58
+ case arg
59
+ when String
60
+ begin
61
+ @last_modified = File.ctime(arg)
62
+ rescue Exception
63
+ end
64
+ load_from_file(arg)
65
+ when IO
66
+ load_from_stream(arg)
67
+ end
68
+ @filename = arg
69
+ self
70
+ end
71
+
51
72
  def load_from_stream(io)
52
73
  magic = io.read(4)
53
74
  case magic
@@ -238,7 +259,7 @@ class MOFile < Hash #:nodoc:
238
259
  end
239
260
 
240
261
 
241
- attr_accessor :little_endian
262
+ attr_accessor :little_endian, :path, :last_modified
242
263
  attr_reader :charset, :nplurals, :plural
243
264
  end
244
265