gettext 1.91.0 → 1.92.0
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +111 -1
- data/NEWS +35 -0
- data/README +26 -24
- data/bin/rgettext +2 -2
- data/bin/rmsgfmt +2 -2
- data/bin/rmsgmerge +2 -2
- data/doc/classes/ActionView/Helpers/FormBuilder.html +11 -11
- data/doc/classes/ActionView/TemplateFinder.html +152 -0
- data/doc/classes/ActiveRecord/Base.html +87 -87
- data/doc/classes/ActiveRecord/ConnectionAdapters/Column.html +6 -6
- data/doc/classes/GetText.html +617 -491
- data/doc/classes/GetText/ActiveRecordParser.html +13 -13
- data/doc/classes/GetText/ErbContainer.html +12 -12
- data/doc/classes/GetText/ErbParser.html +6 -6
- data/doc/classes/GetText/NoboundTextDomainError.html +1 -1
- data/doc/classes/GetText/PoParser.html +11 -11
- data/doc/classes/GetText/Rails.html +20 -20
- data/doc/classes/GetText/RubyParser.html +5 -0
- data/doc/classes/GetText/TextDomain.html +53 -53
- data/doc/classes/GetText/TextDomainManager.html +54 -54
- data/doc/classes/Iconv.html +20 -20
- data/doc/classes/Locale.html +151 -151
- data/doc/classes/Locale/Object.html +92 -92
- data/doc/classes/Locale/SystemBase.html +32 -32
- data/doc/classes/Locale/SystemCGI.html +31 -31
- data/doc/classes/Locale/SystemWin32.html +6 -6
- data/doc/classes/MOFile.html +311 -293
- data/doc/classes/MOFile/HeaderRev1.html +150 -0
- data/doc/classes/Module.html +6 -6
- data/doc/created.rid +1 -1
- data/doc/files/ChangeLog.html +143 -2
- data/doc/files/README.html +31 -25
- data/doc/files/lib/gettext/active_record_rb.html +1 -1
- data/doc/files/lib/gettext/mo_rb.html +1 -1
- data/doc/files/lib/gettext/parser/active_record_rb.html +1 -1
- data/doc/files/lib/gettext/parser/ruby_rb.html +1 -1
- data/doc/files/lib/gettext/poparser_rb.html +1 -1
- data/doc/files/lib/gettext/rails_rb.html +1 -1
- data/doc/files/lib/gettext/rgettext_rb.html +1 -1
- data/doc/files/lib/gettext/rmsgfmt_rb.html +2 -1
- data/doc/files/lib/gettext/utils_rb.html +1 -1
- data/doc/files/lib/gettext/version_rb.html +1 -1
- data/doc/files/lib/gettext_rb.html +1 -1
- data/doc/fr_class_index.html +2 -0
- data/doc/fr_method_index.html +133 -129
- data/lib/gettext.rb +49 -7
- data/lib/gettext/active_record.rb +49 -4
- data/lib/gettext/mo.rb +39 -12
- data/lib/gettext/parser/active_record.rb +6 -4
- data/lib/gettext/parser/ruby.rb +11 -4
- data/lib/gettext/poparser.rb +81 -52
- data/lib/gettext/rails.rb +28 -11
- data/lib/gettext/rgettext.rb +6 -1
- data/lib/gettext/rmsgfmt.rb +3 -11
- data/lib/gettext/utils.rb +7 -3
- data/lib/gettext/version.rb +1 -1
- data/po/bs/rails.po +55 -20
- data/po/bs/rgettext.po +3 -3
- data/po/ca/rails.po +58 -31
- data/po/ca/rgettext.po +16 -18
- data/po/cs/rails.po +55 -20
- data/po/cs/rgettext.po +3 -3
- data/po/de/rails.po +55 -27
- data/po/de/rgettext.po +21 -22
- data/po/el/rails.po +60 -36
- data/po/el/rgettext.po +15 -17
- data/po/eo/rails.po +51 -23
- data/po/eo/rgettext.po +21 -20
- data/po/es/rails.po +57 -31
- data/po/es/rgettext.po +17 -18
- data/po/et/rails.po +55 -20
- data/po/fr/rails.po +56 -21
- data/po/fr/rgettext.po +3 -3
- data/po/hr/rails.po +55 -20
- data/po/hr/rgettext.po +3 -3
- data/po/hu/rails.po +54 -26
- data/po/hu/rgettext.po +18 -17
- data/po/it/rails.po +55 -20
- data/po/it/rgettext.po +3 -3
- data/po/ja/rails.po +54 -26
- data/po/ja/rgettext.po +17 -18
- data/po/ko/rails.po +56 -21
- data/po/ko/rgettext.po +3 -3
- data/po/lv/rails.po +155 -0
- data/po/lv/rgettext.po +137 -0
- data/po/nb/rails.po +61 -34
- data/po/nb/rgettext.po +22 -19
- data/po/nl/rails.po +56 -21
- data/po/nl/rgettext.po +3 -3
- data/po/pt_BR/rails.po +53 -26
- data/po/pt_BR/rgettext.po +19 -19
- data/po/rails.pot +44 -16
- data/po/rgettext.pot +3 -3
- data/po/ru/rails.po +62 -36
- data/po/ru/rgettext.po +19 -19
- data/po/sr/rails.po +87 -58
- data/po/sr/rgettext.po +38 -33
- data/po/sv/rgettext.po +3 -3
- data/po/ua/rails.po +62 -32
- data/po/ua/rgettext.po +19 -17
- data/po/vi/rails.po +56 -28
- data/po/vi/rgettext.po +35 -34
- data/po/zh/rails.po +52 -24
- data/po/zh/rgettext.po +22 -24
- data/po/zh_TW/rails.po +51 -23
- data/po/zh_TW/rgettext.po +16 -18
- data/samples/cgi/cookie.cgi +0 -0
- data/samples/cgi/helloerb1.cgi +0 -0
- data/samples/cgi/helloerb2.cgi +0 -0
- data/samples/cgi/http.rb +0 -0
- data/samples/cgi/index.cgi +0 -0
- data/samples/cgi/po/lv/helloerb1.po +65 -0
- data/samples/cgi/po/lv/helloerb2.po +52 -0
- data/samples/cgi/po/lv/hellolib.po +24 -0
- data/samples/cgi/po/lv/main.po +77 -0
- data/samples/cgi/po/nb/helloerb1.po +16 -14
- data/samples/cgi/po/nb/helloerb2.po +14 -12
- data/samples/cgi/po/nb/hellolib.po +9 -7
- data/samples/cgi/po/nb/main.po +20 -18
- data/samples/cgi/po/sr/helloerb1.po +8 -8
- data/samples/cgi/po/sr/helloerb2.po +6 -6
- data/samples/cgi/po/sr/hellolib.po +2 -2
- data/samples/cgi/po/sr/main.po +15 -15
- data/samples/cgi/po/ua/helloerb1.po +2 -2
- data/samples/cgi/po/ua/main.po +3 -3
- data/samples/hello_plural.rb +0 -0
- data/samples/makemo.rb +0 -0
- data/samples/po/lv/hello.po +24 -0
- data/samples/po/lv/hello2.po +32 -0
- data/samples/po/lv/hello_noop.po +28 -0
- data/samples/po/lv/hello_plural.po +26 -0
- data/samples/po/lv/helloglade2.po +38 -0
- data/samples/po/lv/hellogtk.po +24 -0
- data/samples/po/lv/hellotk.po +24 -0
- data/samples/po/nb/hello.po +9 -8
- data/samples/po/nb/hello2.po +9 -9
- data/samples/po/nb/hello_noop.po +10 -9
- data/samples/po/nb/hello_plural.po +10 -8
- data/samples/po/nb/helloglade2.po +10 -8
- data/samples/po/nb/hellogtk.po +9 -8
- data/samples/po/nb/hellotk.po +9 -7
- data/samples/po/sr/hello.po +2 -2
- data/samples/po/sr/hello2.po +4 -4
- data/samples/po/sr/hello_noop.po +3 -3
- data/samples/po/sr/hello_plural.po +3 -3
- data/samples/po/sr/helloglade2.po +4 -4
- data/samples/po/sr/hellogtk.po +2 -2
- data/samples/po/sr/hellotk.po +2 -2
- data/samples/po/ua/hello2.po +2 -2
- data/samples/po/ua/hello_plural.po +2 -2
- data/samples/rails/config/boot.rb +3 -2
- data/samples/rails/config/environment.rb +2 -3
- data/samples/rails/db/schema.rb +0 -0
- data/samples/rails/po/lv/blog.po +110 -0
- data/samples/rails/po/nb/blog.po +19 -15
- data/samples/rails/po/sr/blog.po +23 -23
- data/samples/rails/po/ua/blog.po +3 -3
- data/samples/rails/public/dispatch.cgi +0 -0
- data/samples/rails/public/dispatch.fcgi +0 -0
- data/samples/rails/public/dispatch.rb +0 -0
- data/samples/rails/public/javascripts/controls.js +1 -1
- data/samples/rails/public/javascripts/dragdrop.js +1 -1
- data/samples/rails/public/javascripts/effects.js +1 -1
- data/samples/rails/script/about +0 -0
- data/samples/rails/script/breakpointer +0 -0
- data/samples/rails/script/console +0 -0
- data/samples/rails/script/destroy +0 -0
- data/samples/rails/script/generate +0 -0
- data/samples/rails/script/performance/benchmarker +0 -0
- data/samples/rails/script/performance/profiler +0 -0
- data/samples/rails/script/plugin +0 -0
- data/samples/rails/script/process/reaper +0 -0
- data/samples/rails/script/process/spawner +0 -0
- data/samples/rails/script/process/spinner +0 -0
- data/samples/rails/script/runner +0 -0
- data/samples/rails/script/server +0 -0
- data/samples/rails/vendor/plugins/gettext/po/lv/gettext_plugin.po +28 -0
- data/samples/rails/vendor/plugins/gettext/po/nb/gettext_plugin.po +11 -8
- data/samples/rails/vendor/plugins/gettext/po/sr/gettext_plugin.po +5 -5
- data/src/poparser.ry +27 -6
- data/test/benchmark.rb +1 -1
- data/test/db/mysql.drop.sql +1 -0
- data/test/db/mysql.sql +13 -0
- data/test/fixtures/inept_wizard.rb +3 -0
- data/test/fixtures/people.yml +6 -0
- data/test/fixtures/topic.rb +30 -0
- data/test/fixtures/wizard.rb +5 -0
- data/test/po/active_record.pot +151 -66
- data/test/po/ja/active_record.po +177 -92
- data/test/po/ja/test_pgettext.po +41 -0
- data/test/rails/app/controllers/users_controller.rb +1 -0
- data/test/rails/app/views/articles/_form_fr.html.erb +1 -0
- data/test/rails/config/boot.rb +96 -32
- data/test/rails/config/environment.rb +3 -2
- data/test/rails/db/schema.rb +4 -4
- data/test/rails/public/dispatch.cgi +0 -0
- data/test/rails/public/dispatch.fcgi +0 -0
- data/test/rails/public/dispatch.rb +0 -0
- data/test/rails/public/javascripts/controls.js +484 -354
- data/test/rails/public/javascripts/dragdrop.js +88 -58
- data/test/rails/public/javascripts/effects.js +396 -364
- data/test/rails/public/javascripts/prototype.js +2817 -1107
- data/test/rails/script/about +0 -0
- data/test/rails/script/breakpointer +0 -0
- data/test/rails/script/console +0 -0
- data/test/rails/script/destroy +0 -0
- data/test/rails/script/generate +0 -0
- data/test/rails/script/performance/benchmarker +0 -0
- data/test/rails/script/performance/profiler +0 -0
- data/test/rails/script/plugin +0 -0
- data/test/rails/script/process/inspector +0 -0
- data/test/rails/script/process/reaper +0 -0
- data/test/rails/script/process/spawner +0 -0
- data/test/rails/script/runner +0 -0
- data/test/rails/script/server +0 -0
- data/test/rails/test/functional/articles_controller_test.rb +5 -0
- data/test/rails/test/result/en/create_error.html +3 -3
- data/test/rails/test/result/en/custom_error_message.html +3 -3
- data/test/rails/test/result/en/custom_error_message_with_plural.html +60 -60
- data/test/rails/test/result/en/multi_error_messages_for.html +6 -6
- data/test/rails/test/result/en/new.html +3 -3
- data/test/rails/test/result/fr/custom_error_message.html +3 -3
- data/test/rails/test/result/fr/custom_error_message_with_plural.html +60 -60
- data/test/rails/test/result/fr/new.html +23 -0
- data/test/rails/test/result/ja/create_error.html +3 -3
- data/test/rails/test/result/ja/custom_error_message.html +3 -3
- data/test/rails/test/result/ja/custom_error_message_with_plural.html +60 -60
- data/test/rails/test/result/ja/multi_error_messages_for.html +6 -6
- data/test/rails/test/result/ja/new.html +3 -3
- data/test/test.sh +2 -2
- data/test/test_active_record.rb +824 -20
- data/test/test_gettext.rb +34 -4
- data/test/test_java.sh +0 -0
- data/test/test_locale.rb +2 -2
- data/test/test_parser.rb +13 -2
- data/test/test_rails_caching.rb +11 -4
- data/test/testlib/pgettext.rb +33 -0
- metadata +32 -4
@@ -87,11 +87,11 @@ shouldn‘t use this directly.
|
|
87
87
|
<h3 class="section-bar">Methods</h3>
|
88
88
|
|
89
89
|
<div class="name-list">
|
90
|
-
<a href="#
|
91
|
-
<a href="#
|
92
|
-
<a href="#
|
93
|
-
<a href="#
|
94
|
-
<a href="#
|
90
|
+
<a href="#M000051">cgi</a>
|
91
|
+
<a href="#M000050">cgi=</a>
|
92
|
+
<a href="#M000052">default_locale</a>
|
93
|
+
<a href="#M000049">set_cgi</a>
|
94
|
+
<a href="#M000048">system</a>
|
95
95
|
</div>
|
96
96
|
</div>
|
97
97
|
|
@@ -113,11 +113,11 @@ shouldn‘t use this directly.
|
|
113
113
|
<div id="methods">
|
114
114
|
<h3 class="section-bar">Public Instance methods</h3>
|
115
115
|
|
116
|
-
<div id="method-
|
117
|
-
<a name="
|
116
|
+
<div id="method-M000051" class="method-detail">
|
117
|
+
<a name="M000051"></a>
|
118
118
|
|
119
119
|
<div class="method-heading">
|
120
|
-
<a href="#
|
120
|
+
<a href="#M000051" class="method-signature">
|
121
121
|
<span class="method-name">cgi</span><span class="method-args">()</span>
|
122
122
|
</a>
|
123
123
|
</div>
|
@@ -132,8 +132,8 @@ Gets the CGI object. If it is nil, returns new CGI object.
|
|
132
132
|
</li>
|
133
133
|
</ul>
|
134
134
|
<p><a class="source-toggle" href="#"
|
135
|
-
onclick="toggleCode('
|
136
|
-
<div class="method-source-code" id="
|
135
|
+
onclick="toggleCode('M000051-source');return false;">[Source]</a></p>
|
136
|
+
<div class="method-source-code" id="M000051-source">
|
137
137
|
<pre>
|
138
138
|
<span class="ruby-comment cmt"># File lib/locale/cgi.rb, line 68</span>
|
139
139
|
68: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cgi</span>
|
@@ -145,11 +145,11 @@ Gets the CGI object. If it is nil, returns new CGI object.
|
|
145
145
|
</div>
|
146
146
|
</div>
|
147
147
|
|
148
|
-
<div id="method-
|
149
|
-
<a name="
|
148
|
+
<div id="method-M000050" class="method-detail">
|
149
|
+
<a name="M000050"></a>
|
150
150
|
|
151
151
|
<div class="method-heading">
|
152
|
-
<a href="#
|
152
|
+
<a href="#M000050" class="method-signature">
|
153
153
|
<span class="method-name">cgi=</span><span class="method-args">(cgi_)</span>
|
154
154
|
</a>
|
155
155
|
</div>
|
@@ -167,8 +167,8 @@ Sets a CGI object.
|
|
167
167
|
</li>
|
168
168
|
</ul>
|
169
169
|
<p><a class="source-toggle" href="#"
|
170
|
-
onclick="toggleCode('
|
171
|
-
<div class="method-source-code" id="
|
170
|
+
onclick="toggleCode('M000050-source');return false;">[Source]</a></p>
|
171
|
+
<div class="method-source-code" id="M000050-source">
|
172
172
|
<pre>
|
173
173
|
<span class="ruby-comment cmt"># File lib/locale/cgi.rb, line 61</span>
|
174
174
|
61: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cgi=</span>(<span class="ruby-identifier">cgi_</span>)
|
@@ -180,11 +180,11 @@ Sets a CGI object.
|
|
180
180
|
</div>
|
181
181
|
</div>
|
182
182
|
|
183
|
-
<div id="method-
|
184
|
-
<a name="
|
183
|
+
<div id="method-M000052" class="method-detail">
|
184
|
+
<a name="M000052"></a>
|
185
185
|
|
186
186
|
<div class="method-heading">
|
187
|
-
<a href="#
|
187
|
+
<a href="#M000052" class="method-signature">
|
188
188
|
<span class="method-name">default_locale</span><span class="method-args">()</span>
|
189
189
|
</a>
|
190
190
|
</div>
|
@@ -199,8 +199,8 @@ Gets the default <a href="Object.html">Locale::Object</a>.
|
|
199
199
|
</li>
|
200
200
|
</ul>
|
201
201
|
<p><a class="source-toggle" href="#"
|
202
|
-
onclick="toggleCode('
|
203
|
-
<div class="method-source-code" id="
|
202
|
+
onclick="toggleCode('M000052-source');return false;">[Source]</a></p>
|
203
|
+
<div class="method-source-code" id="M000052-source">
|
204
204
|
<pre>
|
205
205
|
<span class="ruby-comment cmt"># File lib/locale/cgi.rb, line 75</span>
|
206
206
|
75: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">default_locale</span>
|
@@ -211,11 +211,11 @@ Gets the default <a href="Object.html">Locale::Object</a>.
|
|
211
211
|
</div>
|
212
212
|
</div>
|
213
213
|
|
214
|
-
<div id="method-
|
215
|
-
<a name="
|
214
|
+
<div id="method-M000049" class="method-detail">
|
215
|
+
<a name="M000049"></a>
|
216
216
|
|
217
217
|
<div class="method-heading">
|
218
|
-
<a href="#
|
218
|
+
<a href="#M000049" class="method-signature">
|
219
219
|
<span class="method-name">set_cgi</span><span class="method-args">(cgi_)</span>
|
220
220
|
</a>
|
221
221
|
</div>
|
@@ -233,8 +233,8 @@ Sets a CGI object.
|
|
233
233
|
</li>
|
234
234
|
</ul>
|
235
235
|
<p><a class="source-toggle" href="#"
|
236
|
-
onclick="toggleCode('
|
237
|
-
<div class="method-source-code" id="
|
236
|
+
onclick="toggleCode('M000049-source');return false;">[Source]</a></p>
|
237
|
+
<div class="method-source-code" id="M000049-source">
|
238
238
|
<pre>
|
239
239
|
<span class="ruby-comment cmt"># File lib/locale/cgi.rb, line 53</span>
|
240
240
|
53: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set_cgi</span>(<span class="ruby-identifier">cgi_</span>)
|
@@ -246,11 +246,11 @@ Sets a CGI object.
|
|
246
246
|
</div>
|
247
247
|
</div>
|
248
248
|
|
249
|
-
<div id="method-
|
250
|
-
<a name="
|
249
|
+
<div id="method-M000048" class="method-detail">
|
250
|
+
<a name="M000048"></a>
|
251
251
|
|
252
252
|
<div class="method-heading">
|
253
|
-
<a href="#
|
253
|
+
<a href="#M000048" class="method-signature">
|
254
254
|
<span class="method-name">system</span><span class="method-args">()</span>
|
255
255
|
</a>
|
256
256
|
</div>
|
@@ -260,14 +260,14 @@ Sets a CGI object.
|
|
260
260
|
Gets the default locale using setlocale and nl_langinfo.
|
261
261
|
</p>
|
262
262
|
<ul>
|
263
|
-
<li>Returns the <a href="SystemCGI.html#
|
263
|
+
<li>Returns the <a href="SystemCGI.html#M000048">system</a> locale (<a
|
264
264
|
href="Object.html">Locale::Object</a>).
|
265
265
|
|
266
266
|
</li>
|
267
267
|
</ul>
|
268
268
|
<p><a class="source-toggle" href="#"
|
269
|
-
onclick="toggleCode('
|
270
|
-
<div class="method-source-code" id="
|
269
|
+
onclick="toggleCode('M000048-source');return false;">[Source]</a></p>
|
270
|
+
<div class="method-source-code" id="M000048-source">
|
271
271
|
<pre>
|
272
272
|
<span class="ruby-comment cmt"># File lib/locale/cgi.rb, line 26</span>
|
273
273
|
26: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">system</span>
|
@@ -87,7 +87,7 @@ is a low-level class. Application shouldn‘t use this directly.
|
|
87
87
|
<h3 class="section-bar">Methods</h3>
|
88
88
|
|
89
89
|
<div class="name-list">
|
90
|
-
<a href="#
|
90
|
+
<a href="#M000043">get_charset</a>
|
91
91
|
</div>
|
92
92
|
</div>
|
93
93
|
|
@@ -116,11 +116,11 @@ is a low-level class. Application shouldn‘t use this directly.
|
|
116
116
|
<div id="methods">
|
117
117
|
<h3 class="section-bar">Public Instance methods</h3>
|
118
118
|
|
119
|
-
<div id="method-
|
120
|
-
<a name="
|
119
|
+
<div id="method-M000043" class="method-detail">
|
120
|
+
<a name="M000043"></a>
|
121
121
|
|
122
122
|
<div class="method-heading">
|
123
|
-
<a href="#
|
123
|
+
<a href="#M000043" class="method-signature">
|
124
124
|
<span class="method-name">get_charset</span><span class="method-args">(locale)</span>
|
125
125
|
</a>
|
126
126
|
</div>
|
@@ -138,8 +138,8 @@ Gets the Win32 charset of the locale.
|
|
138
138
|
</li>
|
139
139
|
</ul>
|
140
140
|
<p><a class="source-toggle" href="#"
|
141
|
-
onclick="toggleCode('
|
142
|
-
<div class="method-source-code" id="
|
141
|
+
onclick="toggleCode('M000043-source');return false;">[Source]</a></p>
|
142
|
+
<div class="method-source-code" id="M000043-source">
|
143
143
|
<pre>
|
144
144
|
<span class="ruby-comment cmt"># File lib/locale/win32.rb, line 31</span>
|
145
145
|
31: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_charset</span>(<span class="ruby-identifier">locale</span>)
|
data/doc/classes/MOFile.html
CHANGED
@@ -86,18 +86,18 @@
|
|
86
86
|
<h3 class="section-bar">Methods</h3>
|
87
87
|
|
88
88
|
<div class="name-list">
|
89
|
-
<a href="#
|
90
|
-
<a href="#
|
91
|
-
<a href="#
|
92
|
-
<a href="#
|
93
|
-
<a href="#
|
94
|
-
<a href="#
|
95
|
-
<a href="#
|
96
|
-
<a href="#
|
97
|
-
<a href="#
|
98
|
-
<a href="#
|
99
|
-
<a href="#
|
100
|
-
<a href="#
|
89
|
+
<a href="#M000012">hash_string</a>
|
90
|
+
<a href="#M000008">load</a>
|
91
|
+
<a href="#M000014">load_from_file</a>
|
92
|
+
<a href="#M000009">load_from_stream</a>
|
93
|
+
<a href="#M000006">new</a>
|
94
|
+
<a href="#M000011">next_prime</a>
|
95
|
+
<a href="#M000005">open</a>
|
96
|
+
<a href="#M000010">prime?</a>
|
97
|
+
<a href="#M000015">save_to_file</a>
|
98
|
+
<a href="#M000013">save_to_stream</a>
|
99
|
+
<a href="#M000016">set_comment</a>
|
100
|
+
<a href="#M000007">update!</a>
|
101
101
|
</div>
|
102
102
|
</div>
|
103
103
|
|
@@ -111,7 +111,8 @@
|
|
111
111
|
<div id="class-list">
|
112
112
|
<h3 class="section-bar">Classes and Modules</h3>
|
113
113
|
|
114
|
-
Class <a href="MOFile/
|
114
|
+
Class <a href="MOFile/HeaderRev1.html" class="link">MOFile::HeaderRev1</a><br />
|
115
|
+
Class <a href="MOFile/InvalidFormat.html" class="link">MOFile::InvalidFormat</a><br />
|
115
116
|
|
116
117
|
</div>
|
117
118
|
|
@@ -204,52 +205,52 @@ Laboratories, Inc.]
|
|
204
205
|
<div id="methods">
|
205
206
|
<h3 class="section-bar">Public Class methods</h3>
|
206
207
|
|
207
|
-
<div id="method-
|
208
|
-
<a name="
|
208
|
+
<div id="method-M000006" class="method-detail">
|
209
|
+
<a name="M000006"></a>
|
209
210
|
|
210
211
|
<div class="method-heading">
|
211
|
-
<a href="#
|
212
|
+
<a href="#M000006" class="method-signature">
|
212
213
|
<span class="method-name">new</span><span class="method-args">(output_charset = nil)</span>
|
213
214
|
</a>
|
214
215
|
</div>
|
215
216
|
|
216
217
|
<div class="method-description">
|
217
218
|
<p><a class="source-toggle" href="#"
|
218
|
-
onclick="toggleCode('
|
219
|
-
<div class="method-source-code" id="
|
219
|
+
onclick="toggleCode('M000006-source');return false;">[Source]</a></p>
|
220
|
+
<div class="method-source-code" id="M000006-source">
|
220
221
|
<pre>
|
221
|
-
<span class="ruby-comment cmt"># File lib/gettext/mo.rb, line
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
222
|
+
<span class="ruby-comment cmt"># File lib/gettext/mo.rb, line 52</span>
|
223
|
+
52: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">output_charset</span> = <span class="ruby-keyword kw">nil</span>)
|
224
|
+
53: <span class="ruby-ivar">@filename</span> = <span class="ruby-keyword kw">nil</span>
|
225
|
+
54: <span class="ruby-ivar">@last_modified</span> = <span class="ruby-keyword kw">nil</span>
|
226
|
+
55: <span class="ruby-ivar">@little_endian</span> = <span class="ruby-keyword kw">true</span>
|
227
|
+
56: <span class="ruby-ivar">@output_charset</span> = <span class="ruby-identifier">output_charset</span>
|
228
|
+
57: <span class="ruby-keyword kw">super</span>()
|
229
|
+
58: <span class="ruby-keyword kw">end</span>
|
229
230
|
</pre>
|
230
231
|
</div>
|
231
232
|
</div>
|
232
233
|
</div>
|
233
234
|
|
234
|
-
<div id="method-
|
235
|
-
<a name="
|
235
|
+
<div id="method-M000005" class="method-detail">
|
236
|
+
<a name="M000005"></a>
|
236
237
|
|
237
238
|
<div class="method-heading">
|
238
|
-
<a href="#
|
239
|
+
<a href="#M000005" class="method-signature">
|
239
240
|
<span class="method-name">open</span><span class="method-args">(arg = nil, output_charset = nil)</span>
|
240
241
|
</a>
|
241
242
|
</div>
|
242
243
|
|
243
244
|
<div class="method-description">
|
244
245
|
<p><a class="source-toggle" href="#"
|
245
|
-
onclick="toggleCode('
|
246
|
-
<div class="method-source-code" id="
|
246
|
+
onclick="toggleCode('M000005-source');return false;">[Source]</a></p>
|
247
|
+
<div class="method-source-code" id="M000005-source">
|
247
248
|
<pre>
|
248
|
-
<span class="ruby-comment cmt"># File lib/gettext/mo.rb, line
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
249
|
+
<span class="ruby-comment cmt"># File lib/gettext/mo.rb, line 47</span>
|
250
|
+
47: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">arg</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">output_charset</span> = <span class="ruby-keyword kw">nil</span>)
|
251
|
+
48: <span class="ruby-identifier">result</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">output_charset</span>)
|
252
|
+
49: <span class="ruby-identifier">result</span>.<span class="ruby-identifier">load</span>(<span class="ruby-identifier">arg</span>)
|
253
|
+
50: <span class="ruby-keyword kw">end</span>
|
253
254
|
</pre>
|
254
255
|
</div>
|
255
256
|
</div>
|
@@ -257,190 +258,207 @@ Laboratories, Inc.]
|
|
257
258
|
|
258
259
|
<h3 class="section-bar">Public Instance methods</h3>
|
259
260
|
|
260
|
-
<div id="method-
|
261
|
-
<a name="
|
261
|
+
<div id="method-M000012" class="method-detail">
|
262
|
+
<a name="M000012"></a>
|
262
263
|
|
263
264
|
<div class="method-heading">
|
264
|
-
<a href="#
|
265
|
+
<a href="#M000012" class="method-signature">
|
265
266
|
<span class="method-name">hash_string</span><span class="method-args">(str)</span>
|
266
267
|
</a>
|
267
268
|
</div>
|
268
269
|
|
269
270
|
<div class="method-description">
|
270
271
|
<p><a class="source-toggle" href="#"
|
271
|
-
onclick="toggleCode('
|
272
|
-
<div class="method-source-code" id="
|
272
|
+
onclick="toggleCode('M000012-source');return false;">[Source]</a></p>
|
273
|
+
<div class="method-source-code" id="M000012-source">
|
273
274
|
<pre>
|
274
|
-
<span class="ruby-comment cmt"># File lib/gettext/mo.rb, line
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
275
|
+
<span class="ruby-comment cmt"># File lib/gettext/mo.rb, line 192</span>
|
276
|
+
192: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">hash_string</span>(<span class="ruby-identifier">str</span>)
|
277
|
+
193: <span class="ruby-identifier">hval</span> = <span class="ruby-value">0</span>
|
278
|
+
194: <span class="ruby-identifier">i</span> = <span class="ruby-value">0</span>
|
279
|
+
195: <span class="ruby-identifier">str</span>.<span class="ruby-identifier">each_byte</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">b</span><span class="ruby-operator">|</span>
|
280
|
+
196: <span class="ruby-keyword kw">break</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">b</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'\0'</span>
|
281
|
+
197: <span class="ruby-identifier">hval</span> <span class="ruby-operator"><<=</span> <span class="ruby-value">4</span>
|
282
|
+
198: <span class="ruby-identifier">hval</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">b</span>.<span class="ruby-identifier">to_i</span>
|
283
|
+
199: <span class="ruby-identifier">g</span> = <span class="ruby-identifier">hval</span> <span class="ruby-operator">&</span> (<span class="ruby-value">0xf</span> <span class="ruby-operator"><<</span> (<span class="ruby-constant">HASHWORDBITS</span> <span class="ruby-operator">-</span> <span class="ruby-value">4</span>))
|
284
|
+
200: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">g</span> <span class="ruby-operator">!=</span> <span class="ruby-value">0</span>)
|
285
|
+
201: <span class="ruby-identifier">hval</span> <span class="ruby-operator">^=</span> <span class="ruby-identifier">g</span> <span class="ruby-operator">>></span> (<span class="ruby-constant">HASHWORDBITS</span> <span class="ruby-operator">-</span> <span class="ruby-value">8</span>)
|
286
|
+
202: <span class="ruby-identifier">hval</span> <span class="ruby-operator">^=</span> <span class="ruby-identifier">g</span>
|
287
|
+
203: <span class="ruby-keyword kw">end</span>
|
288
|
+
204: <span class="ruby-keyword kw">end</span>
|
289
|
+
205: <span class="ruby-identifier">hval</span>
|
290
|
+
206: <span class="ruby-keyword kw">end</span>
|
290
291
|
</pre>
|
291
292
|
</div>
|
292
293
|
</div>
|
293
294
|
</div>
|
294
295
|
|
295
|
-
<div id="method-
|
296
|
-
<a name="
|
296
|
+
<div id="method-M000008" class="method-detail">
|
297
|
+
<a name="M000008"></a>
|
297
298
|
|
298
299
|
<div class="method-heading">
|
299
|
-
<a href="#
|
300
|
+
<a href="#M000008" class="method-signature">
|
300
301
|
<span class="method-name">load</span><span class="method-args">(arg)</span>
|
301
302
|
</a>
|
302
303
|
</div>
|
303
304
|
|
304
305
|
<div class="method-description">
|
305
306
|
<p><a class="source-toggle" href="#"
|
306
|
-
onclick="toggleCode('
|
307
|
-
<div class="method-source-code" id="
|
307
|
+
onclick="toggleCode('M000008-source');return false;">[Source]</a></p>
|
308
|
+
<div class="method-source-code" id="M000008-source">
|
308
309
|
<pre>
|
309
|
-
<span class="ruby-comment cmt"># File lib/gettext/mo.rb, line
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
310
|
+
<span class="ruby-comment cmt"># File lib/gettext/mo.rb, line 71</span>
|
311
|
+
71: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">load</span>(<span class="ruby-identifier">arg</span>)
|
312
|
+
72: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">String</span>
|
313
|
+
73: <span class="ruby-keyword kw">begin</span>
|
314
|
+
74: <span class="ruby-identifier">st</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">stat</span>(<span class="ruby-identifier">arg</span>)
|
315
|
+
75: <span class="ruby-ivar">@last_modified</span> = [<span class="ruby-identifier">st</span>.<span class="ruby-identifier">ctime</span>, <span class="ruby-identifier">st</span>.<span class="ruby-identifier">mtime</span>]
|
316
|
+
76: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Exception</span>
|
317
|
+
77: <span class="ruby-keyword kw">end</span>
|
318
|
+
78: <span class="ruby-identifier">load_from_file</span>(<span class="ruby-identifier">arg</span>)
|
319
|
+
79: <span class="ruby-keyword kw">else</span>
|
320
|
+
80: <span class="ruby-identifier">load_from_stream</span>(<span class="ruby-identifier">arg</span>)
|
321
|
+
81: <span class="ruby-keyword kw">end</span>
|
322
|
+
82: <span class="ruby-ivar">@filename</span> = <span class="ruby-identifier">arg</span>
|
323
|
+
83: <span class="ruby-keyword kw">self</span>
|
324
|
+
84: <span class="ruby-keyword kw">end</span>
|
324
325
|
</pre>
|
325
326
|
</div>
|
326
327
|
</div>
|
327
328
|
</div>
|
328
329
|
|
329
|
-
<div id="method-
|
330
|
-
<a name="
|
330
|
+
<div id="method-M000014" class="method-detail">
|
331
|
+
<a name="M000014"></a>
|
331
332
|
|
332
333
|
<div class="method-heading">
|
333
|
-
<a href="#
|
334
|
+
<a href="#M000014" class="method-signature">
|
334
335
|
<span class="method-name">load_from_file</span><span class="method-args">(filename)</span>
|
335
336
|
</a>
|
336
337
|
</div>
|
337
338
|
|
338
339
|
<div class="method-description">
|
339
340
|
<p><a class="source-toggle" href="#"
|
340
|
-
onclick="toggleCode('
|
341
|
-
<div class="method-source-code" id="
|
341
|
+
onclick="toggleCode('M000014-source');return false;">[Source]</a></p>
|
342
|
+
<div class="method-source-code" id="M000014-source">
|
342
343
|
<pre>
|
343
|
-
<span class="ruby-comment cmt"># File lib/gettext/mo.rb, line
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
344
|
+
<span class="ruby-comment cmt"># File lib/gettext/mo.rb, line 275</span>
|
345
|
+
275: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">load_from_file</span>(<span class="ruby-identifier">filename</span>)
|
346
|
+
276: <span class="ruby-ivar">@filename</span> = <span class="ruby-identifier">filename</span>
|
347
|
+
277: <span class="ruby-keyword kw">begin</span>
|
348
|
+
278: <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">filename</span>, <span class="ruby-value str">'rb'</span>){<span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span> <span class="ruby-identifier">load_from_stream</span>(<span class="ruby-identifier">f</span>)}
|
349
|
+
279: <span class="ruby-keyword kw">rescue</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">e</span>
|
350
|
+
280: <span class="ruby-identifier">e</span>.<span class="ruby-identifier">set_backtrace</span>(<span class="ruby-node">"File: #{@filename}"</span>)
|
351
|
+
281: <span class="ruby-identifier">raise</span> <span class="ruby-identifier">e</span>
|
352
|
+
282: <span class="ruby-keyword kw">end</span>
|
353
|
+
283: <span class="ruby-keyword kw">end</span>
|
348
354
|
</pre>
|
349
355
|
</div>
|
350
356
|
</div>
|
351
357
|
</div>
|
352
358
|
|
353
|
-
<div id="method-
|
354
|
-
<a name="
|
359
|
+
<div id="method-M000009" class="method-detail">
|
360
|
+
<a name="M000009"></a>
|
355
361
|
|
356
362
|
<div class="method-heading">
|
357
|
-
<a href="#
|
363
|
+
<a href="#M000009" class="method-signature">
|
358
364
|
<span class="method-name">load_from_stream</span><span class="method-args">(io)</span>
|
359
365
|
</a>
|
360
366
|
</div>
|
361
367
|
|
362
368
|
<div class="method-description">
|
363
369
|
<p><a class="source-toggle" href="#"
|
364
|
-
onclick="toggleCode('
|
365
|
-
<div class="method-source-code" id="
|
370
|
+
onclick="toggleCode('M000009-source');return false;">[Source]</a></p>
|
371
|
+
<div class="method-source-code" id="M000009-source">
|
366
372
|
<pre>
|
367
|
-
<span class="ruby-comment cmt"># File lib/gettext/mo.rb, line
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
91: <span class="ruby-identifier">orig_table_data</span> = <span class="ruby-identifier">io</span>.<span class="ruby-identifier">read</span>((<span class="ruby-value">4</span> <span class="ruby-operator">*</span> <span class="ruby-value">2</span>) <span class="ruby-operator">*</span> <span class="ruby-identifier">header</span>.<span class="ruby-identifier">nstrings</span>).<span class="ruby-identifier">unpack</span>(<span class="ruby-ivar">@little_endian</span> <span class="ruby-operator">?</span> <span class="ruby-value str">'V*'</span> <span class="ruby-operator">:</span> <span class="ruby-value str">'N*'</span>)
|
384
|
-
92:
|
385
|
-
93: <span class="ruby-identifier">io</span>.<span class="ruby-identifier">pos</span> = <span class="ruby-identifier">header</span>.<span class="ruby-identifier">translated_table_offset</span>
|
386
|
-
94: <span class="ruby-identifier">trans_table_data</span> = <span class="ruby-identifier">io</span>.<span class="ruby-identifier">read</span>((<span class="ruby-value">4</span> <span class="ruby-operator">*</span> <span class="ruby-value">2</span>) <span class="ruby-operator">*</span> <span class="ruby-identifier">header</span>.<span class="ruby-identifier">nstrings</span>).<span class="ruby-identifier">unpack</span>(<span class="ruby-ivar">@little_endian</span> <span class="ruby-operator">?</span> <span class="ruby-value str">'V*'</span> <span class="ruby-operator">:</span> <span class="ruby-value str">'N*'</span>)
|
387
|
-
95:
|
388
|
-
96: <span class="ruby-identifier">original_strings</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">header</span>.<span class="ruby-identifier">nstrings</span>)
|
389
|
-
97: <span class="ruby-keyword kw">for</span> <span class="ruby-identifier">i</span> <span class="ruby-keyword kw">in</span> <span class="ruby-value">0</span><span class="ruby-operator">...</span><span class="ruby-identifier">header</span>.<span class="ruby-identifier">nstrings</span>
|
390
|
-
98: <span class="ruby-identifier">io</span>.<span class="ruby-identifier">pos</span> = <span class="ruby-identifier">orig_table_data</span>[<span class="ruby-identifier">i</span> <span class="ruby-operator">*</span> <span class="ruby-value">2</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>]
|
391
|
-
99: <span class="ruby-identifier">original_strings</span>[<span class="ruby-identifier">i</span>] = <span class="ruby-identifier">io</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">orig_table_data</span>[<span class="ruby-identifier">i</span> <span class="ruby-operator">*</span> <span class="ruby-value">2</span> <span class="ruby-operator">+</span> <span class="ruby-value">0</span>])
|
392
|
-
100: <span class="ruby-keyword kw">end</span>
|
373
|
+
<span class="ruby-comment cmt"># File lib/gettext/mo.rb, line 86</span>
|
374
|
+
86: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">load_from_stream</span>(<span class="ruby-identifier">io</span>)
|
375
|
+
87: <span class="ruby-identifier">magic</span> = <span class="ruby-identifier">io</span>.<span class="ruby-identifier">read</span>(<span class="ruby-value">4</span>)
|
376
|
+
88: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">magic</span>
|
377
|
+
89: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">MAGIC_BIG_ENDIAN</span>
|
378
|
+
90: <span class="ruby-ivar">@little_endian</span> = <span class="ruby-keyword kw">false</span>
|
379
|
+
91: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">MAGIC_LITTLE_ENDIAN</span>
|
380
|
+
92: <span class="ruby-ivar">@little_endian</span> = <span class="ruby-keyword kw">true</span>
|
381
|
+
93: <span class="ruby-keyword kw">else</span>
|
382
|
+
94: <span class="ruby-identifier">raise</span> <span class="ruby-constant">InvalidFormat</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">sprintf</span>(<span class="ruby-value str">"Unknown signature %s"</span>, <span class="ruby-identifier">magic</span>.<span class="ruby-identifier">dump</span>))
|
383
|
+
95: <span class="ruby-keyword kw">end</span>
|
384
|
+
96:
|
385
|
+
97: <span class="ruby-identifier">endian_type6</span> = <span class="ruby-ivar">@little_endian</span> <span class="ruby-operator">?</span> <span class="ruby-value str">'V6'</span> <span class="ruby-operator">:</span> <span class="ruby-value str">'N6'</span>
|
386
|
+
98: <span class="ruby-identifier">endian_type_astr</span> = <span class="ruby-ivar">@little_endian</span> <span class="ruby-operator">?</span> <span class="ruby-value str">'V*'</span> <span class="ruby-operator">:</span> <span class="ruby-value str">'N*'</span>
|
387
|
+
99:
|
388
|
+
100: <span class="ruby-identifier">header</span> = <span class="ruby-constant">HeaderRev1</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">magic</span>, <span class="ruby-operator">*</span>(<span class="ruby-identifier">io</span>.<span class="ruby-identifier">read</span>(<span class="ruby-value">4</span> <span class="ruby-operator">*</span> <span class="ruby-value">6</span>).<span class="ruby-identifier">unpack</span>(<span class="ruby-identifier">endian_type6</span>)))
|
393
389
|
101:
|
394
|
-
102: <span class="ruby-identifier">
|
395
|
-
103:
|
396
|
-
104: <span class="ruby-identifier">
|
397
|
-
105: <span class="ruby-identifier">
|
398
|
-
106:
|
399
|
-
107: <span class="ruby-
|
400
|
-
108:
|
401
|
-
109:
|
402
|
-
110:
|
403
|
-
111:
|
404
|
-
112:
|
405
|
-
113:
|
406
|
-
114:
|
407
|
-
115:
|
408
|
-
116:
|
409
|
-
117:
|
410
|
-
118:
|
411
|
-
119:
|
412
|
-
120:
|
413
|
-
121:
|
414
|
-
122:
|
415
|
-
123:
|
416
|
-
124:
|
417
|
-
125:
|
418
|
-
126:
|
419
|
-
127:
|
420
|
-
128:
|
421
|
-
129:
|
422
|
-
130:
|
423
|
-
131:
|
424
|
-
132:
|
425
|
-
133:
|
426
|
-
134:
|
427
|
-
135:
|
428
|
-
136:
|
429
|
-
137:
|
430
|
-
138:
|
431
|
-
139:
|
432
|
-
140:
|
433
|
-
141:
|
390
|
+
102: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">header</span>.<span class="ruby-identifier">revision</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span>
|
391
|
+
103: <span class="ruby-comment cmt"># FIXME: It doesn't support sysdep correctly.</span>
|
392
|
+
104: <span class="ruby-identifier">header</span>.<span class="ruby-identifier">n_sysdep_segments</span> = <span class="ruby-identifier">io</span>.<span class="ruby-identifier">read</span>(<span class="ruby-value">4</span>).<span class="ruby-identifier">unpack</span>(<span class="ruby-identifier">endian_type6</span>)
|
393
|
+
105: <span class="ruby-identifier">header</span>.<span class="ruby-identifier">sysdep_segments_offset</span> = <span class="ruby-identifier">io</span>.<span class="ruby-identifier">read</span>(<span class="ruby-value">4</span>).<span class="ruby-identifier">unpack</span>(<span class="ruby-identifier">endian_type6</span>)
|
394
|
+
106: <span class="ruby-identifier">header</span>.<span class="ruby-identifier">n_sysdep_strings</span> = <span class="ruby-identifier">io</span>.<span class="ruby-identifier">read</span>(<span class="ruby-value">4</span>).<span class="ruby-identifier">unpack</span>(<span class="ruby-identifier">endian_type6</span>)
|
395
|
+
107: <span class="ruby-identifier">header</span>.<span class="ruby-identifier">orig_sysdep_tab_offset</span> = <span class="ruby-identifier">io</span>.<span class="ruby-identifier">read</span>(<span class="ruby-value">4</span>).<span class="ruby-identifier">unpack</span>(<span class="ruby-identifier">endian_type6</span>)
|
396
|
+
108: <span class="ruby-identifier">header</span>.<span class="ruby-identifier">trans_sysdep_tab_offset</span> = <span class="ruby-identifier">io</span>.<span class="ruby-identifier">read</span>(<span class="ruby-value">4</span>).<span class="ruby-identifier">unpack</span>(<span class="ruby-identifier">endian_type6</span>)
|
397
|
+
109: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">header</span>.<span class="ruby-identifier">revision</span> <span class="ruby-operator">></span> <span class="ruby-value">1</span>
|
398
|
+
110: <span class="ruby-identifier">raise</span> <span class="ruby-constant">InvalidFormat</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">sprintf</span>(<span class="ruby-value str">"file format revision %d isn't supported"</span>, <span class="ruby-identifier">header</span>.<span class="ruby-identifier">revision</span>))
|
399
|
+
111: <span class="ruby-keyword kw">end</span>
|
400
|
+
112: <span class="ruby-identifier">io</span>.<span class="ruby-identifier">pos</span> = <span class="ruby-identifier">header</span>.<span class="ruby-identifier">orig_table_offset</span>
|
401
|
+
113: <span class="ruby-identifier">orig_table_data</span> = <span class="ruby-identifier">io</span>.<span class="ruby-identifier">read</span>((<span class="ruby-value">4</span> <span class="ruby-operator">*</span> <span class="ruby-value">2</span>) <span class="ruby-operator">*</span> <span class="ruby-identifier">header</span>.<span class="ruby-identifier">nstrings</span>).<span class="ruby-identifier">unpack</span>(<span class="ruby-identifier">endian_type_astr</span>)
|
402
|
+
114:
|
403
|
+
115: <span class="ruby-identifier">io</span>.<span class="ruby-identifier">pos</span> = <span class="ruby-identifier">header</span>.<span class="ruby-identifier">translated_table_offset</span>
|
404
|
+
116: <span class="ruby-identifier">trans_table_data</span> = <span class="ruby-identifier">io</span>.<span class="ruby-identifier">read</span>((<span class="ruby-value">4</span> <span class="ruby-operator">*</span> <span class="ruby-value">2</span>) <span class="ruby-operator">*</span> <span class="ruby-identifier">header</span>.<span class="ruby-identifier">nstrings</span>).<span class="ruby-identifier">unpack</span>(<span class="ruby-identifier">endian_type_astr</span>)
|
405
|
+
117:
|
406
|
+
118: <span class="ruby-identifier">original_strings</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">header</span>.<span class="ruby-identifier">nstrings</span>)
|
407
|
+
119: <span class="ruby-keyword kw">for</span> <span class="ruby-identifier">i</span> <span class="ruby-keyword kw">in</span> <span class="ruby-value">0</span><span class="ruby-operator">...</span><span class="ruby-identifier">header</span>.<span class="ruby-identifier">nstrings</span>
|
408
|
+
120: <span class="ruby-identifier">io</span>.<span class="ruby-identifier">pos</span> = <span class="ruby-identifier">orig_table_data</span>[<span class="ruby-identifier">i</span> <span class="ruby-operator">*</span> <span class="ruby-value">2</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>]
|
409
|
+
121: <span class="ruby-identifier">original_strings</span>[<span class="ruby-identifier">i</span>] = <span class="ruby-identifier">io</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">orig_table_data</span>[<span class="ruby-identifier">i</span> <span class="ruby-operator">*</span> <span class="ruby-value">2</span> <span class="ruby-operator">+</span> <span class="ruby-value">0</span>])
|
410
|
+
122: <span class="ruby-keyword kw">end</span>
|
411
|
+
123:
|
412
|
+
124: <span class="ruby-identifier">clear</span>
|
413
|
+
125: <span class="ruby-keyword kw">for</span> <span class="ruby-identifier">i</span> <span class="ruby-keyword kw">in</span> <span class="ruby-value">0</span><span class="ruby-operator">...</span><span class="ruby-identifier">header</span>.<span class="ruby-identifier">nstrings</span>
|
414
|
+
126: <span class="ruby-identifier">io</span>.<span class="ruby-identifier">pos</span> = <span class="ruby-identifier">trans_table_data</span>[<span class="ruby-identifier">i</span> <span class="ruby-operator">*</span> <span class="ruby-value">2</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>]
|
415
|
+
127: <span class="ruby-identifier">str</span> = <span class="ruby-identifier">io</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">trans_table_data</span>[<span class="ruby-identifier">i</span> <span class="ruby-operator">*</span> <span class="ruby-value">2</span> <span class="ruby-operator">+</span> <span class="ruby-value">0</span>])
|
416
|
+
128:
|
417
|
+
129: <span class="ruby-keyword kw">if</span> (<span class="ruby-operator">!</span> <span class="ruby-identifier">original_strings</span>[<span class="ruby-identifier">i</span>]) <span class="ruby-operator">||</span> <span class="ruby-identifier">original_strings</span>[<span class="ruby-identifier">i</span>] <span class="ruby-operator">==</span> <span class="ruby-value str">""</span>
|
418
|
+
130: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">str</span>
|
419
|
+
131: <span class="ruby-ivar">@charset</span> = <span class="ruby-keyword kw">nil</span>
|
420
|
+
132: <span class="ruby-ivar">@nplurals</span> = <span class="ruby-keyword kw">nil</span>
|
421
|
+
133: <span class="ruby-ivar">@plural</span> = <span class="ruby-keyword kw">nil</span>
|
422
|
+
134: <span class="ruby-identifier">str</span>.<span class="ruby-identifier">each_line</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
|
423
|
+
135: <span class="ruby-keyword kw">if</span> <span class="ruby-regexp re">/^Content-Type:/i</span> <span class="ruby-operator">=~</span> <span class="ruby-identifier">line</span> <span class="ruby-keyword kw">and</span> <span class="ruby-regexp re">/charset=((?:\w|-)+)/i</span> <span class="ruby-operator">=~</span> <span class="ruby-identifier">line</span>
|
424
|
+
136: <span class="ruby-ivar">@charset</span> = <span class="ruby-identifier">$1</span>
|
425
|
+
137: <span class="ruby-keyword kw">elsif</span> <span class="ruby-regexp re">/^Plural-Forms:\s*nplurals\s*\=\s*(\d*);\s*plural\s*\=\s*([^;]*)\n?/</span> <span class="ruby-operator">=~</span> <span class="ruby-identifier">line</span>
|
426
|
+
138: <span class="ruby-ivar">@nplurals</span> = <span class="ruby-identifier">$1</span>
|
427
|
+
139: <span class="ruby-ivar">@plural</span> = <span class="ruby-identifier">$2</span>
|
428
|
+
140: <span class="ruby-keyword kw">end</span>
|
429
|
+
141: <span class="ruby-keyword kw">break</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@charset</span> <span class="ruby-keyword kw">and</span> <span class="ruby-ivar">@nplurals</span>
|
430
|
+
142: }
|
431
|
+
143: <span class="ruby-ivar">@nplurals</span> = <span class="ruby-value str">"1"</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@nplurals</span>
|
432
|
+
144: <span class="ruby-ivar">@plural</span> = <span class="ruby-value str">"0"</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@plural</span>
|
433
|
+
145: <span class="ruby-keyword kw">end</span>
|
434
|
+
146: <span class="ruby-keyword kw">else</span>
|
435
|
+
147: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@output_charset</span>
|
436
|
+
148: <span class="ruby-keyword kw">begin</span>
|
437
|
+
149: <span class="ruby-identifier">str</span> = <span class="ruby-constant">Iconv</span>.<span class="ruby-identifier">conv</span>(<span class="ruby-ivar">@output_charset</span>, <span class="ruby-ivar">@charset</span>, <span class="ruby-identifier">str</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@charset</span>
|
438
|
+
150: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Iconv</span><span class="ruby-operator">::</span><span class="ruby-constant">Failure</span>
|
439
|
+
151: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">$DEBUG</span>
|
440
|
+
152: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">print</span> <span class="ruby-value str">"@charset = "</span>, <span class="ruby-ivar">@charset</span>, <span class="ruby-value str">"\n"</span>
|
441
|
+
153: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">print</span> <span class="ruby-value str">"@output_charset = "</span>, <span class="ruby-ivar">@output_charset</span>, <span class="ruby-value str">"\n"</span>
|
442
|
+
154: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">print</span> <span class="ruby-value str">"msgid = "</span>, <span class="ruby-identifier">original_strings</span>[<span class="ruby-identifier">i</span>], <span class="ruby-value str">"\n"</span>
|
443
|
+
155: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">print</span> <span class="ruby-value str">"msgstr = "</span>, <span class="ruby-identifier">str</span>, <span class="ruby-value str">"\n"</span>
|
444
|
+
156: <span class="ruby-keyword kw">end</span>
|
445
|
+
157: <span class="ruby-keyword kw">end</span>
|
446
|
+
158: <span class="ruby-keyword kw">end</span>
|
447
|
+
159: <span class="ruby-keyword kw">end</span>
|
448
|
+
160: <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">original_strings</span>[<span class="ruby-identifier">i</span>]] = <span class="ruby-identifier">str</span>.<span class="ruby-identifier">freeze</span>
|
449
|
+
161: <span class="ruby-keyword kw">end</span>
|
450
|
+
162: <span class="ruby-keyword kw">self</span>
|
451
|
+
163: <span class="ruby-keyword kw">end</span>
|
434
452
|
</pre>
|
435
453
|
</div>
|
436
454
|
</div>
|
437
455
|
</div>
|
438
456
|
|
439
|
-
<div id="method-
|
440
|
-
<a name="
|
457
|
+
<div id="method-M000011" class="method-detail">
|
458
|
+
<a name="M000011"></a>
|
441
459
|
|
442
460
|
<div class="method-heading">
|
443
|
-
<a href="#
|
461
|
+
<a href="#M000011" class="method-signature">
|
444
462
|
<span class="method-name">next_prime</span><span class="method-args">(seed)</span>
|
445
463
|
</a>
|
446
464
|
</div>
|
@@ -450,27 +468,27 @@ Laboratories, Inc.]
|
|
450
468
|
From gettext-0.12.1/gettext-tools/lib/hash.c
|
451
469
|
</p>
|
452
470
|
<p><a class="source-toggle" href="#"
|
453
|
-
onclick="toggleCode('
|
454
|
-
<div class="method-source-code" id="
|
471
|
+
onclick="toggleCode('M000011-source');return false;">[Source]</a></p>
|
472
|
+
<div class="method-source-code" id="M000011-source">
|
455
473
|
<pre>
|
456
|
-
<span class="ruby-comment cmt"># File lib/gettext/mo.rb, line
|
457
|
-
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
|
463
|
-
|
474
|
+
<span class="ruby-comment cmt"># File lib/gettext/mo.rb, line 179</span>
|
475
|
+
179: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">next_prime</span>(<span class="ruby-identifier">seed</span>)
|
476
|
+
180: <span class="ruby-identifier">seed</span> <span class="ruby-operator">|=</span> <span class="ruby-value">1</span>
|
477
|
+
181: <span class="ruby-keyword kw">while</span> (<span class="ruby-operator">!</span> <span class="ruby-identifier">prime?</span>(<span class="ruby-identifier">seed</span>))
|
478
|
+
182: <span class="ruby-identifier">seed</span> <span class="ruby-operator">+=</span> <span class="ruby-value">2</span>
|
479
|
+
183: <span class="ruby-keyword kw">end</span>
|
480
|
+
184: <span class="ruby-identifier">seed</span>
|
481
|
+
185: <span class="ruby-keyword kw">end</span>
|
464
482
|
</pre>
|
465
483
|
</div>
|
466
484
|
</div>
|
467
485
|
</div>
|
468
486
|
|
469
|
-
<div id="method-
|
470
|
-
<a name="
|
487
|
+
<div id="method-M000010" class="method-detail">
|
488
|
+
<a name="M000010"></a>
|
471
489
|
|
472
490
|
<div class="method-heading">
|
473
|
-
<a href="#
|
491
|
+
<a href="#M000010" class="method-signature">
|
474
492
|
<span class="method-name">prime?</span><span class="method-args">(candidate)</span>
|
475
493
|
</a>
|
476
494
|
</div>
|
@@ -480,183 +498,183 @@ From gettext-0.12.1/gettext-tools/lib/hash.c
|
|
480
498
|
From gettext-0.12.1/gettext-tools/lib/hash.c
|
481
499
|
</p>
|
482
500
|
<p><a class="source-toggle" href="#"
|
483
|
-
onclick="toggleCode('
|
484
|
-
<div class="method-source-code" id="
|
501
|
+
onclick="toggleCode('M000010-source');return false;">[Source]</a></p>
|
502
|
+
<div class="method-source-code" id="M000010-source">
|
485
503
|
<pre>
|
486
|
-
<span class="ruby-comment cmt"># File lib/gettext/mo.rb, line
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
|
491
|
-
|
492
|
-
|
493
|
-
|
494
|
-
|
495
|
-
|
496
|
-
|
497
|
-
|
504
|
+
<span class="ruby-comment cmt"># File lib/gettext/mo.rb, line 166</span>
|
505
|
+
166: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">prime?</span>(<span class="ruby-identifier">candidate</span>)
|
506
|
+
167: <span class="ruby-identifier">divn</span> = <span class="ruby-value">3</span>
|
507
|
+
168: <span class="ruby-identifier">sq</span> = <span class="ruby-identifier">divn</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">divn</span>
|
508
|
+
169:
|
509
|
+
170: <span class="ruby-keyword kw">while</span> (<span class="ruby-identifier">sq</span> <span class="ruby-operator"><</span> <span class="ruby-identifier">candidate</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">candidate</span> <span class="ruby-operator">%</span> <span class="ruby-identifier">divn</span> <span class="ruby-operator">!=</span> <span class="ruby-value">0</span>)
|
510
|
+
171: <span class="ruby-identifier">divn</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
511
|
+
172: <span class="ruby-identifier">sq</span> <span class="ruby-operator">+=</span> <span class="ruby-value">4</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">divn</span>
|
512
|
+
173: <span class="ruby-identifier">divn</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
513
|
+
174: <span class="ruby-keyword kw">end</span>
|
514
|
+
175: <span class="ruby-identifier">candidate</span> <span class="ruby-operator">%</span> <span class="ruby-identifier">divn</span> <span class="ruby-operator">!=</span> <span class="ruby-value">0</span>
|
515
|
+
176: <span class="ruby-keyword kw">end</span>
|
498
516
|
</pre>
|
499
517
|
</div>
|
500
518
|
</div>
|
501
519
|
</div>
|
502
520
|
|
503
|
-
<div id="method-
|
504
|
-
<a name="
|
521
|
+
<div id="method-M000015" class="method-detail">
|
522
|
+
<a name="M000015"></a>
|
505
523
|
|
506
524
|
<div class="method-heading">
|
507
|
-
<a href="#
|
525
|
+
<a href="#M000015" class="method-signature">
|
508
526
|
<span class="method-name">save_to_file</span><span class="method-args">(filename)</span>
|
509
527
|
</a>
|
510
528
|
</div>
|
511
529
|
|
512
530
|
<div class="method-description">
|
513
531
|
<p><a class="source-toggle" href="#"
|
514
|
-
onclick="toggleCode('
|
515
|
-
<div class="method-source-code" id="
|
532
|
+
onclick="toggleCode('M000015-source');return false;">[Source]</a></p>
|
533
|
+
<div class="method-source-code" id="M000015-source">
|
516
534
|
<pre>
|
517
|
-
<span class="ruby-comment cmt"># File lib/gettext/mo.rb, line
|
518
|
-
|
519
|
-
|
520
|
-
|
535
|
+
<span class="ruby-comment cmt"># File lib/gettext/mo.rb, line 285</span>
|
536
|
+
285: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">save_to_file</span>(<span class="ruby-identifier">filename</span>)
|
537
|
+
286: <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">filename</span>, <span class="ruby-value str">'wb'</span>){<span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span> <span class="ruby-identifier">save_to_stream</span>(<span class="ruby-identifier">f</span>)}
|
538
|
+
287: <span class="ruby-keyword kw">end</span>
|
521
539
|
</pre>
|
522
540
|
</div>
|
523
541
|
</div>
|
524
542
|
</div>
|
525
543
|
|
526
|
-
<div id="method-
|
527
|
-
<a name="
|
544
|
+
<div id="method-M000013" class="method-detail">
|
545
|
+
<a name="M000013"></a>
|
528
546
|
|
529
547
|
<div class="method-heading">
|
530
|
-
<a href="#
|
548
|
+
<a href="#M000013" class="method-signature">
|
531
549
|
<span class="method-name">save_to_stream</span><span class="method-args">(io)</span>
|
532
550
|
</a>
|
533
551
|
</div>
|
534
552
|
|
535
553
|
<div class="method-description">
|
536
554
|
<p><a class="source-toggle" href="#"
|
537
|
-
onclick="toggleCode('
|
538
|
-
<div class="method-source-code" id="
|
555
|
+
onclick="toggleCode('M000013-source');return false;">[Source]</a></p>
|
556
|
+
<div class="method-source-code" id="M000013-source">
|
539
557
|
<pre>
|
540
|
-
<span class="ruby-comment cmt"># File lib/gettext/mo.rb, line
|
541
|
-
|
542
|
-
|
543
|
-
|
544
|
-
|
545
|
-
|
546
|
-
|
547
|
-
|
548
|
-
|
549
|
-
|
550
|
-
|
551
|
-
|
552
|
-
|
553
|
-
|
554
|
-
|
555
|
-
|
556
|
-
|
557
|
-
|
558
|
-
|
559
|
-
|
560
|
-
|
561
|
-
|
562
|
-
|
563
|
-
|
564
|
-
|
565
|
-
|
566
|
-
|
567
|
-
|
568
|
-
|
569
|
-
|
570
|
-
|
571
|
-
|
572
|
-
|
573
|
-
|
574
|
-
|
575
|
-
|
576
|
-
|
577
|
-
|
578
|
-
|
579
|
-
224:
|
580
|
-
225: <span class="ruby-identifier">hash_tab</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">hash_table_size</span>)
|
581
|
-
226: <span class="ruby-identifier">j</span> = <span class="ruby-value">0</span>
|
582
|
-
227: <span class="ruby-identifier">ary</span>[<span class="ruby-value">0</span><span class="ruby-operator">...</span><span class="ruby-identifier">size</span>].<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">key</span>, <span class="ruby-identifier">_</span><span class="ruby-operator">|</span>
|
583
|
-
228: <span class="ruby-identifier">hash_val</span> = <span class="ruby-identifier">hash_string</span>(<span class="ruby-identifier">key</span>)
|
584
|
-
229: <span class="ruby-identifier">idx</span> = <span class="ruby-identifier">hash_val</span> <span class="ruby-operator">%</span> <span class="ruby-identifier">hash_table_size</span>
|
585
|
-
230: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">hash_tab</span>[<span class="ruby-identifier">idx</span>] <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
|
586
|
-
231: <span class="ruby-identifier">incr</span> = <span class="ruby-value">1</span> <span class="ruby-operator">+</span> (<span class="ruby-identifier">hash_val</span> <span class="ruby-operator">%</span> (<span class="ruby-identifier">hash_table_size</span> <span class="ruby-operator">-</span> <span class="ruby-value">2</span>))
|
587
|
-
232: <span class="ruby-keyword kw">begin</span>
|
588
|
-
233: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">idx</span> <span class="ruby-operator">>=</span> <span class="ruby-identifier">hash_table_size</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">incr</span>)
|
589
|
-
234: <span class="ruby-identifier">idx</span> <span class="ruby-operator">-=</span> <span class="ruby-identifier">hash_table_size</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">incr</span>
|
590
|
-
235: <span class="ruby-keyword kw">else</span>
|
591
|
-
236: <span class="ruby-identifier">idx</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">incr</span>
|
592
|
-
237: <span class="ruby-keyword kw">end</span>
|
593
|
-
238: <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">until</span> (<span class="ruby-identifier">hash_tab</span>[<span class="ruby-identifier">idx</span>] <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>)
|
594
|
-
239: <span class="ruby-keyword kw">end</span>
|
595
|
-
240: <span class="ruby-identifier">hash_tab</span>[<span class="ruby-identifier">idx</span>] = <span class="ruby-identifier">j</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
|
596
|
-
241: <span class="ruby-identifier">j</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
597
|
-
242: }
|
598
|
-
243: <span class="ruby-identifier">hash_tab</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-value">? </span><span class="ruby-identifier">i</span> <span class="ruby-operator">:</span> <span class="ruby-value">0</span>}
|
599
|
-
244:
|
600
|
-
245: <span class="ruby-identifier">io</span>.<span class="ruby-identifier">write</span>(<span class="ruby-identifier">hash_tab</span>.<span class="ruby-identifier">pack</span>(<span class="ruby-value str">'V*'</span>))
|
558
|
+
<span class="ruby-comment cmt"># File lib/gettext/mo.rb, line 208</span>
|
559
|
+
208: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">save_to_stream</span>(<span class="ruby-identifier">io</span>)
|
560
|
+
209: <span class="ruby-comment cmt">#Save data as little endian format.</span>
|
561
|
+
210: <span class="ruby-identifier">header_size</span> = <span class="ruby-value">4</span> <span class="ruby-operator">*</span> <span class="ruby-value">7</span>
|
562
|
+
211: <span class="ruby-identifier">table_size</span> = <span class="ruby-value">4</span> <span class="ruby-operator">*</span> <span class="ruby-value">2</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">size</span>
|
563
|
+
212:
|
564
|
+
213: <span class="ruby-identifier">hash_table_size</span> = <span class="ruby-identifier">next_prime</span>((<span class="ruby-identifier">size</span> <span class="ruby-operator">*</span> <span class="ruby-value">4</span>) <span class="ruby-operator">/</span> <span class="ruby-value">3</span>)
|
565
|
+
214: <span class="ruby-identifier">hash_table_size</span> = <span class="ruby-value">3</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">hash_table_size</span> <span class="ruby-operator"><=</span> <span class="ruby-value">2</span>
|
566
|
+
215: <span class="ruby-identifier">header</span> = <span class="ruby-constant">Header</span>.<span class="ruby-identifier">new</span>(
|
567
|
+
216: <span class="ruby-constant">MAGIC_LITTLE_ENDIAN</span>, <span class="ruby-comment cmt"># magic</span>
|
568
|
+
217: <span class="ruby-value">0</span>, <span class="ruby-comment cmt"># revision</span>
|
569
|
+
218: <span class="ruby-identifier">size</span>, <span class="ruby-comment cmt"># nstrings</span>
|
570
|
+
219: <span class="ruby-identifier">header_size</span>, <span class="ruby-comment cmt"># orig_table_offset</span>
|
571
|
+
220: <span class="ruby-identifier">header_size</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">table_size</span>, <span class="ruby-comment cmt"># translated_table_offset</span>
|
572
|
+
221: <span class="ruby-identifier">hash_table_size</span>, <span class="ruby-comment cmt"># hash_table_size</span>
|
573
|
+
222: <span class="ruby-identifier">header_size</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">table_size</span> <span class="ruby-operator">*</span> <span class="ruby-value">2</span> <span class="ruby-comment cmt"># hash_table_offset</span>
|
574
|
+
223: )
|
575
|
+
224: <span class="ruby-identifier">io</span>.<span class="ruby-identifier">write</span>(<span class="ruby-identifier">header</span>.<span class="ruby-identifier">to_a</span>.<span class="ruby-identifier">pack</span>(<span class="ruby-value str">'a4V*'</span>))
|
576
|
+
225:
|
577
|
+
226: <span class="ruby-identifier">ary</span> = <span class="ruby-identifier">to_a</span>
|
578
|
+
227: <span class="ruby-identifier">ary</span>.<span class="ruby-identifier">sort!</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">a</span>, <span class="ruby-identifier">b</span><span class="ruby-operator">|</span> <span class="ruby-identifier">a</span>[<span class="ruby-value">0</span>] <span class="ruby-operator"><=></span> <span class="ruby-identifier">b</span>[<span class="ruby-value">0</span>]} <span class="ruby-comment cmt"># sort by original string</span>
|
579
|
+
228:
|
580
|
+
229: <span class="ruby-identifier">pos</span> = <span class="ruby-identifier">header</span>.<span class="ruby-identifier">hash_table_size</span> <span class="ruby-operator">*</span> <span class="ruby-value">4</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">header</span>.<span class="ruby-identifier">hash_table_offset</span>
|
581
|
+
230:
|
582
|
+
231: <span class="ruby-identifier">orig_table_data</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>()
|
583
|
+
232: <span class="ruby-identifier">ary</span>.<span class="ruby-identifier">each</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">item</span>, <span class="ruby-identifier">_</span><span class="ruby-operator">|</span>
|
584
|
+
233: <span class="ruby-identifier">orig_table_data</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">item</span>.<span class="ruby-identifier">size</span>)
|
585
|
+
234: <span class="ruby-identifier">orig_table_data</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">pos</span>)
|
586
|
+
235: <span class="ruby-identifier">pos</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">item</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span> <span class="ruby-comment cmt"># +1 is <NUL></span>
|
587
|
+
236: }
|
588
|
+
237: <span class="ruby-identifier">io</span>.<span class="ruby-identifier">write</span>(<span class="ruby-identifier">orig_table_data</span>.<span class="ruby-identifier">pack</span>(<span class="ruby-value str">'V*'</span>))
|
589
|
+
238:
|
590
|
+
239: <span class="ruby-identifier">trans_table_data</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>()
|
591
|
+
240: <span class="ruby-identifier">ary</span>.<span class="ruby-identifier">each</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">_</span>, <span class="ruby-identifier">item</span><span class="ruby-operator">|</span>
|
592
|
+
241: <span class="ruby-identifier">trans_table_data</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">item</span>.<span class="ruby-identifier">size</span>)
|
593
|
+
242: <span class="ruby-identifier">trans_table_data</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">pos</span>)
|
594
|
+
243: <span class="ruby-identifier">pos</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">item</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span> <span class="ruby-comment cmt"># +1 is <NUL></span>
|
595
|
+
244: }
|
596
|
+
245: <span class="ruby-identifier">io</span>.<span class="ruby-identifier">write</span>(<span class="ruby-identifier">trans_table_data</span>.<span class="ruby-identifier">pack</span>(<span class="ruby-value str">'V*'</span>))
|
601
597
|
246:
|
602
|
-
247: <span class="ruby-identifier">
|
603
|
-
248: <span class="ruby-identifier">
|
604
|
-
249:
|
605
|
-
250:
|
606
|
-
251:
|
598
|
+
247: <span class="ruby-identifier">hash_tab</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">hash_table_size</span>)
|
599
|
+
248: <span class="ruby-identifier">j</span> = <span class="ruby-value">0</span>
|
600
|
+
249: <span class="ruby-identifier">ary</span>[<span class="ruby-value">0</span><span class="ruby-operator">...</span><span class="ruby-identifier">size</span>].<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">key</span>, <span class="ruby-identifier">_</span><span class="ruby-operator">|</span>
|
601
|
+
250: <span class="ruby-identifier">hash_val</span> = <span class="ruby-identifier">hash_string</span>(<span class="ruby-identifier">key</span>)
|
602
|
+
251: <span class="ruby-identifier">idx</span> = <span class="ruby-identifier">hash_val</span> <span class="ruby-operator">%</span> <span class="ruby-identifier">hash_table_size</span>
|
603
|
+
252: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">hash_tab</span>[<span class="ruby-identifier">idx</span>] <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
|
604
|
+
253: <span class="ruby-identifier">incr</span> = <span class="ruby-value">1</span> <span class="ruby-operator">+</span> (<span class="ruby-identifier">hash_val</span> <span class="ruby-operator">%</span> (<span class="ruby-identifier">hash_table_size</span> <span class="ruby-operator">-</span> <span class="ruby-value">2</span>))
|
605
|
+
254: <span class="ruby-keyword kw">begin</span>
|
606
|
+
255: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">idx</span> <span class="ruby-operator">>=</span> <span class="ruby-identifier">hash_table_size</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">incr</span>)
|
607
|
+
256: <span class="ruby-identifier">idx</span> <span class="ruby-operator">-=</span> <span class="ruby-identifier">hash_table_size</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">incr</span>
|
608
|
+
257: <span class="ruby-keyword kw">else</span>
|
609
|
+
258: <span class="ruby-identifier">idx</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">incr</span>
|
610
|
+
259: <span class="ruby-keyword kw">end</span>
|
611
|
+
260: <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">until</span> (<span class="ruby-identifier">hash_tab</span>[<span class="ruby-identifier">idx</span>] <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>)
|
612
|
+
261: <span class="ruby-keyword kw">end</span>
|
613
|
+
262: <span class="ruby-identifier">hash_tab</span>[<span class="ruby-identifier">idx</span>] = <span class="ruby-identifier">j</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
|
614
|
+
263: <span class="ruby-identifier">j</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
615
|
+
264: }
|
616
|
+
265: <span class="ruby-identifier">hash_tab</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-value">? </span><span class="ruby-identifier">i</span> <span class="ruby-operator">:</span> <span class="ruby-value">0</span>}
|
617
|
+
266:
|
618
|
+
267: <span class="ruby-identifier">io</span>.<span class="ruby-identifier">write</span>(<span class="ruby-identifier">hash_tab</span>.<span class="ruby-identifier">pack</span>(<span class="ruby-value str">'V*'</span>))
|
619
|
+
268:
|
620
|
+
269: <span class="ruby-identifier">ary</span>.<span class="ruby-identifier">each</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">item</span>, <span class="ruby-identifier">_</span><span class="ruby-operator">|</span> <span class="ruby-identifier">io</span>.<span class="ruby-identifier">write</span>(<span class="ruby-identifier">item</span>); <span class="ruby-identifier">io</span>.<span class="ruby-identifier">write</span>(<span class="ruby-value str">"\0"</span>) }
|
621
|
+
270: <span class="ruby-identifier">ary</span>.<span class="ruby-identifier">each</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">_</span>, <span class="ruby-identifier">item</span><span class="ruby-operator">|</span> <span class="ruby-identifier">io</span>.<span class="ruby-identifier">write</span>(<span class="ruby-identifier">item</span>); <span class="ruby-identifier">io</span>.<span class="ruby-identifier">write</span>(<span class="ruby-value str">"\0"</span>) }
|
622
|
+
271:
|
623
|
+
272: <span class="ruby-keyword kw">self</span>
|
624
|
+
273: <span class="ruby-keyword kw">end</span>
|
607
625
|
</pre>
|
608
626
|
</div>
|
609
627
|
</div>
|
610
628
|
</div>
|
611
629
|
|
612
|
-
<div id="method-
|
613
|
-
<a name="
|
630
|
+
<div id="method-M000016" class="method-detail">
|
631
|
+
<a name="M000016"></a>
|
614
632
|
|
615
633
|
<div class="method-heading">
|
616
|
-
<a href="#
|
634
|
+
<a href="#M000016" class="method-signature">
|
617
635
|
<span class="method-name">set_comment</span><span class="method-args">(msgid_or_sym, comment)</span>
|
618
636
|
</a>
|
619
637
|
</div>
|
620
638
|
|
621
639
|
<div class="method-description">
|
622
640
|
<p><a class="source-toggle" href="#"
|
623
|
-
onclick="toggleCode('
|
624
|
-
<div class="method-source-code" id="
|
641
|
+
onclick="toggleCode('M000016-source');return false;">[Source]</a></p>
|
642
|
+
<div class="method-source-code" id="M000016-source">
|
625
643
|
<pre>
|
626
|
-
<span class="ruby-comment cmt"># File lib/gettext/mo.rb, line
|
627
|
-
|
628
|
-
|
629
|
-
|
644
|
+
<span class="ruby-comment cmt"># File lib/gettext/mo.rb, line 289</span>
|
645
|
+
289: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set_comment</span>(<span class="ruby-identifier">msgid_or_sym</span>, <span class="ruby-identifier">comment</span>)
|
646
|
+
290: <span class="ruby-comment cmt">#Do nothing</span>
|
647
|
+
291: <span class="ruby-keyword kw">end</span>
|
630
648
|
</pre>
|
631
649
|
</div>
|
632
650
|
</div>
|
633
651
|
</div>
|
634
652
|
|
635
|
-
<div id="method-
|
636
|
-
<a name="
|
653
|
+
<div id="method-M000007" class="method-detail">
|
654
|
+
<a name="M000007"></a>
|
637
655
|
|
638
656
|
<div class="method-heading">
|
639
|
-
<a href="#
|
657
|
+
<a href="#M000007" class="method-signature">
|
640
658
|
<span class="method-name">update!</span><span class="method-args">()</span>
|
641
659
|
</a>
|
642
660
|
</div>
|
643
661
|
|
644
662
|
<div class="method-description">
|
645
663
|
<p><a class="source-toggle" href="#"
|
646
|
-
onclick="toggleCode('
|
647
|
-
<div class="method-source-code" id="
|
664
|
+
onclick="toggleCode('M000007-source');return false;">[Source]</a></p>
|
665
|
+
<div class="method-source-code" id="M000007-source">
|
648
666
|
<pre>
|
649
|
-
<span class="ruby-comment cmt"># File lib/gettext/mo.rb, line
|
650
|
-
|
651
|
-
|
652
|
-
|
653
|
-
|
654
|
-
|
655
|
-
|
656
|
-
|
657
|
-
|
658
|
-
|
659
|
-
|
667
|
+
<span class="ruby-comment cmt"># File lib/gettext/mo.rb, line 60</span>
|
668
|
+
60: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">update!</span>
|
669
|
+
61: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">FileTest</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-ivar">@filename</span>)
|
670
|
+
62: <span class="ruby-identifier">st</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">stat</span>(<span class="ruby-ivar">@filename</span>)
|
671
|
+
63: <span class="ruby-identifier">load</span>(<span class="ruby-ivar">@filename</span>) <span class="ruby-keyword kw">unless</span> (<span class="ruby-ivar">@last_modified</span> <span class="ruby-operator">==</span> [<span class="ruby-identifier">st</span>.<span class="ruby-identifier">ctime</span>, <span class="ruby-identifier">st</span>.<span class="ruby-identifier">mtime</span>])
|
672
|
+
64: <span class="ruby-keyword kw">else</span>
|
673
|
+
65: <span class="ruby-identifier">puts</span> <span class="ruby-node">"#{@filename} was lost."</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">$DEBUG</span>
|
674
|
+
66: <span class="ruby-identifier">clear</span>
|
675
|
+
67: <span class="ruby-keyword kw">end</span>
|
676
|
+
68: <span class="ruby-keyword kw">self</span>
|
677
|
+
69: <span class="ruby-keyword kw">end</span>
|
660
678
|
</pre>
|
661
679
|
</div>
|
662
680
|
</div>
|