gettext 1.91.0 → 1.92.0
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.
- 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>
|