ofm_gettext 2.0.0 → 2.0.1
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/COPYING +56 -0
- data/ChangeLog-1 +2016 -0
- data/NEWS-1 +414 -0
- data/gettext.gemspec +7 -8
- data/lib/gettext/runtime/class_info.rb +69 -0
- data/lib/gettext/runtime/locale_path.rb +123 -0
- data/lib/gettext/runtime/mofile.rb +332 -0
- data/lib/gettext/runtime/textdomain.rb +179 -0
- data/lib/gettext/runtime/textdomain_group.rb +26 -0
- data/lib/gettext/runtime/textdomain_manager.rb +214 -0
- data/lib/gettext/tools/parser/erb.rb +54 -0
- data/lib/gettext/tools/parser/glade.rb +100 -0
- data/lib/gettext/tools/parser/ruby.rb +226 -0
- data/lib/gettext/tools/pomessage.rb +199 -0
- data/lib/gettext/tools/poparser.rb +358 -0
- data/po/uk/rgettext.po +143 -0
- data/samples/cgi/po/uk/helloerb1.po +62 -0
- data/samples/cgi/po/uk/helloerb2.po +54 -0
- data/samples/cgi/po/uk/hellolib.po +26 -0
- data/samples/cgi/po/uk/main.po +84 -0
- data/samples/po/uk/hello.po +22 -0
- data/samples/po/uk/hello2.po +30 -0
- data/samples/po/uk/hello_glade2.po +34 -0
- data/samples/po/uk/hello_gtk.po +22 -0
- data/samples/po/uk/hello_noop.po +26 -0
- data/samples/po/uk/hello_plural.po +29 -0
- data/samples/po/uk/hello_tk.po +26 -0
- data/test/po/ja/test3.po +19 -0
- data/test/po/li/plural_error.po +27 -0
- data/test/test_locale_path.rb +76 -0
- data/test/test_po_generation.rb +22 -0
- data/test/test_pomessage.rb +101 -0
- data/test/test_textdomain_bind.rb +39 -0
- data/test/test_thread.rb +43 -0
- data/test/tools/files/app.pot +0 -0
- data/test/tools/files/de/app.po +0 -0
- data/test/tools/files/en/app.po +0 -0
- data/test/tools/files/en/test.po +21 -0
- data/test/tools/files/simple_1.po +2 -0
- data/test/tools/files/simple_2.po +2 -0
- data/test/tools/files/simple_translation.rb +3 -0
- data/test/tools/files/version.po +7 -0
- data/test/tools/test.pot +21 -0
- data/test/tools/test_tools.rb +63 -0
- metadata +380 -335
| @@ -0,0 +1,358 @@ | |
| 1 | 
            +
            # encoding: utf-8
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            =begin
         | 
| 4 | 
            +
              poparser.rb - Generate a .mo
         | 
| 5 | 
            +
             | 
| 6 | 
            +
              Copyright (C) 2003-2009 Masao Mutoh <mutomasa at gmail.com>
         | 
| 7 | 
            +
             | 
| 8 | 
            +
              You may redistribute it and/or modify it under the same
         | 
| 9 | 
            +
              license terms as Ruby.
         | 
| 10 | 
            +
            =end
         | 
| 11 | 
            +
             | 
| 12 | 
            +
            #
         | 
| 13 | 
            +
            # DO NOT MODIFY!!!!
         | 
| 14 | 
            +
            # This file is automatically generated by Racc 1.4.6
         | 
| 15 | 
            +
            # from Racc grammer file "".
         | 
| 16 | 
            +
            #
         | 
| 17 | 
            +
             | 
| 18 | 
            +
            require 'racc/parser.rb'
         | 
| 19 | 
            +
            module GetText
         | 
| 20 | 
            +
              class PoParser < Racc::Parser
         | 
| 21 | 
            +
             | 
| 22 | 
            +
            module_eval(<<'...end poparser.ry/module_eval...', 'poparser.ry', 108)
         | 
| 23 | 
            +
              include GetText
         | 
| 24 | 
            +
              GetText.bindtextdomain("rgettext")
         | 
| 25 | 
            +
             | 
| 26 | 
            +
              def unescape(orig)
         | 
| 27 | 
            +
                ret = orig.gsub(/\\n/, "\n")
         | 
| 28 | 
            +
                ret.gsub!(/\\t/, "\t")
         | 
| 29 | 
            +
                ret.gsub!(/\\r/, "\r")
         | 
| 30 | 
            +
                ret.gsub!(/\\"/, "\"")
         | 
| 31 | 
            +
                ret
         | 
| 32 | 
            +
              end
         | 
| 33 | 
            +
             | 
| 34 | 
            +
              def parse(str, data, ignore_fuzzy = true)
         | 
| 35 | 
            +
                @comments = []
         | 
| 36 | 
            +
                @data = data
         | 
| 37 | 
            +
                @fuzzy = false
         | 
| 38 | 
            +
                @msgctxt = ""
         | 
| 39 | 
            +
                $ignore_fuzzy = ignore_fuzzy
         | 
| 40 | 
            +
             | 
| 41 | 
            +
                str.strip!
         | 
| 42 | 
            +
                @q = []
         | 
| 43 | 
            +
                until str.empty? do
         | 
| 44 | 
            +
                  case str
         | 
| 45 | 
            +
                  when /\A\s+/
         | 
| 46 | 
            +
              str = $'
         | 
| 47 | 
            +
                  when /\Amsgctxt/
         | 
| 48 | 
            +
              @q.push [:MSGCTXT, $&]
         | 
| 49 | 
            +
              str = $'
         | 
| 50 | 
            +
                  when /\Amsgid_plural/
         | 
| 51 | 
            +
              @q.push [:MSGID_PLURAL, $&]
         | 
| 52 | 
            +
              str = $'
         | 
| 53 | 
            +
                  when /\Amsgid/
         | 
| 54 | 
            +
              @q.push [:MSGID, $&]
         | 
| 55 | 
            +
              str = $'
         | 
| 56 | 
            +
                  when /\Amsgstr/
         | 
| 57 | 
            +
              @q.push [:MSGSTR, $&]
         | 
| 58 | 
            +
              str = $'
         | 
| 59 | 
            +
                  when /\A\[(\d+)\]/
         | 
| 60 | 
            +
              @q.push [:PLURAL_NUM, $1]
         | 
| 61 | 
            +
              str = $'
         | 
| 62 | 
            +
                  when /\A\#~(.*)/
         | 
| 63 | 
            +
              $stderr.print _("Warning: obsolete msgid exists.\n")
         | 
| 64 | 
            +
              $stderr.print "         #{$&}\n"
         | 
| 65 | 
            +
              @q.push [:COMMENT, $&]
         | 
| 66 | 
            +
              str = $'
         | 
| 67 | 
            +
                  when /\A\#(.*)/
         | 
| 68 | 
            +
              @q.push [:COMMENT, $&]
         | 
| 69 | 
            +
              str = $'
         | 
| 70 | 
            +
                  when /\A\"(.*)\"/
         | 
| 71 | 
            +
              @q.push [:STRING, $1]
         | 
| 72 | 
            +
              str = $'
         | 
| 73 | 
            +
                  else
         | 
| 74 | 
            +
              #c = str[0,1]
         | 
| 75 | 
            +
              #@q.push [:STRING, c]
         | 
| 76 | 
            +
              str = str[1..-1]
         | 
| 77 | 
            +
                  end
         | 
| 78 | 
            +
                end
         | 
| 79 | 
            +
                @q.push [false, '$end']
         | 
| 80 | 
            +
                if $DEBUG
         | 
| 81 | 
            +
                  @q.each do |a,b|
         | 
| 82 | 
            +
                  puts "[#{a}, #{b}]"
         | 
| 83 | 
            +
                  end
         | 
| 84 | 
            +
                end
         | 
| 85 | 
            +
                @yydebug = true if $DEBUG
         | 
| 86 | 
            +
                do_parse
         | 
| 87 | 
            +
             | 
| 88 | 
            +
                if @comments.size > 0
         | 
| 89 | 
            +
                  @data.set_comment(:last, @comments.join("\n"))
         | 
| 90 | 
            +
                end
         | 
| 91 | 
            +
                @data
         | 
| 92 | 
            +
              end
         | 
| 93 | 
            +
             | 
| 94 | 
            +
              def next_token
         | 
| 95 | 
            +
                @q.shift
         | 
| 96 | 
            +
              end
         | 
| 97 | 
            +
             | 
| 98 | 
            +
              def on_message(msgid, msgstr)
         | 
| 99 | 
            +
                if msgstr.size > 0
         | 
| 100 | 
            +
                  @data[msgid] = msgstr
         | 
| 101 | 
            +
                  @data.set_comment(msgid, @comments.join("\n"))
         | 
| 102 | 
            +
                end
         | 
| 103 | 
            +
                @comments.clear
         | 
| 104 | 
            +
                @msgctxt = ""
         | 
| 105 | 
            +
              end
         | 
| 106 | 
            +
             | 
| 107 | 
            +
              def on_comment(comment)
         | 
| 108 | 
            +
                @fuzzy = true if (/fuzzy/ =~ comment)
         | 
| 109 | 
            +
                @comments << comment
         | 
| 110 | 
            +
              end
         | 
| 111 | 
            +
             | 
| 112 | 
            +
              def parse_file(po_file, data, ignore_fuzzy = true)
         | 
| 113 | 
            +
                args = [ po_file ]
         | 
| 114 | 
            +
                # In Ruby 1.9, we must detect proper encoding of a PO file.
         | 
| 115 | 
            +
                if String.instance_methods.include?(:encode)
         | 
| 116 | 
            +
                  encoding = detect_file_encoding(po_file)
         | 
| 117 | 
            +
                  args << "r:#{encoding}"
         | 
| 118 | 
            +
                end
         | 
| 119 | 
            +
                @po_file = po_file
         | 
| 120 | 
            +
                parse(File.open(*args) {|io| io.read }, data, ignore_fuzzy)
         | 
| 121 | 
            +
              end
         | 
| 122 | 
            +
             | 
| 123 | 
            +
              def detect_file_encoding(po_file)
         | 
| 124 | 
            +
                open(po_file, :encoding => 'ASCII-8BIT') do |input|
         | 
| 125 | 
            +
                  input.lines.each do |line|
         | 
| 126 | 
            +
                    return Encoding.find($1) if %r["Content-Type:.*\scharset=(.*)\\n"] =~ line
         | 
| 127 | 
            +
                  end
         | 
| 128 | 
            +
                end
         | 
| 129 | 
            +
                Encoding.default_external
         | 
| 130 | 
            +
              end
         | 
| 131 | 
            +
              private :detect_file_encoding
         | 
| 132 | 
            +
            ...end poparser.ry/module_eval...
         | 
| 133 | 
            +
            ##### State transition tables begin ###
         | 
| 134 | 
            +
             | 
| 135 | 
            +
            racc_action_table = [
         | 
| 136 | 
            +
                 3,    13,     5,     7,     9,    15,    16,    17,    20,    17,
         | 
| 137 | 
            +
                13,    17,    13,    13,    11,    17,    23,    20,    13,    17 ]
         | 
| 138 | 
            +
             | 
| 139 | 
            +
            racc_action_check = [
         | 
| 140 | 
            +
                 1,    16,     1,     1,     1,    12,    12,    12,    18,    18,
         | 
| 141 | 
            +
                 7,    14,    15,     9,     3,    19,    20,    21,    23,    25 ]
         | 
| 142 | 
            +
             | 
| 143 | 
            +
            racc_action_pointer = [
         | 
| 144 | 
            +
               nil,     0,   nil,    14,   nil,   nil,   nil,     3,   nil,     6,
         | 
| 145 | 
            +
               nil,   nil,     0,   nil,     4,     5,    -6,   nil,     2,     8,
         | 
| 146 | 
            +
                 8,    11,   nil,    11,   nil,    12 ]
         | 
| 147 | 
            +
             | 
| 148 | 
            +
            racc_action_default = [
         | 
| 149 | 
            +
                -1,   -16,    -2,   -16,    -3,   -13,    -4,   -16,    -6,   -16,
         | 
| 150 | 
            +
                -7,    26,   -16,   -15,    -5,   -16,   -16,   -14,   -16,    -8,
         | 
| 151 | 
            +
               -16,    -9,   -11,   -16,   -10,   -12 ]
         | 
| 152 | 
            +
             | 
| 153 | 
            +
            racc_goto_table = [
         | 
| 154 | 
            +
                12,    22,    14,     4,    24,     6,     2,     8,    18,    19,
         | 
| 155 | 
            +
                10,    21,     1,   nil,   nil,   nil,    25 ]
         | 
| 156 | 
            +
             | 
| 157 | 
            +
            racc_goto_check = [
         | 
| 158 | 
            +
                 5,     9,     5,     3,     9,     4,     2,     6,     5,     5,
         | 
| 159 | 
            +
                 7,     8,     1,   nil,   nil,   nil,     5 ]
         | 
| 160 | 
            +
             | 
| 161 | 
            +
            racc_goto_pointer = [
         | 
| 162 | 
            +
               nil,    12,     5,     2,     4,    -7,     6,     9,    -7,   -17 ]
         | 
| 163 | 
            +
             | 
| 164 | 
            +
            racc_goto_default = [
         | 
| 165 | 
            +
               nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil ]
         | 
| 166 | 
            +
             | 
| 167 | 
            +
            racc_reduce_table = [
         | 
| 168 | 
            +
              0, 0, :racc_error,
         | 
| 169 | 
            +
              0, 10, :_reduce_none,
         | 
| 170 | 
            +
              2, 10, :_reduce_none,
         | 
| 171 | 
            +
              2, 10, :_reduce_none,
         | 
| 172 | 
            +
              2, 10, :_reduce_none,
         | 
| 173 | 
            +
              2, 12, :_reduce_5,
         | 
| 174 | 
            +
              1, 13, :_reduce_none,
         | 
| 175 | 
            +
              1, 13, :_reduce_none,
         | 
| 176 | 
            +
              4, 15, :_reduce_8,
         | 
| 177 | 
            +
              5, 16, :_reduce_9,
         | 
| 178 | 
            +
              2, 17, :_reduce_10,
         | 
| 179 | 
            +
              1, 17, :_reduce_none,
         | 
| 180 | 
            +
              3, 18, :_reduce_12,
         | 
| 181 | 
            +
              1, 11, :_reduce_13,
         | 
| 182 | 
            +
              2, 14, :_reduce_14,
         | 
| 183 | 
            +
              1, 14, :_reduce_15 ]
         | 
| 184 | 
            +
             | 
| 185 | 
            +
            racc_reduce_n = 16
         | 
| 186 | 
            +
             | 
| 187 | 
            +
            racc_shift_n = 26
         | 
| 188 | 
            +
             | 
| 189 | 
            +
            racc_token_table = {
         | 
| 190 | 
            +
              false => 0,
         | 
| 191 | 
            +
              :error => 1,
         | 
| 192 | 
            +
              :COMMENT => 2,
         | 
| 193 | 
            +
              :MSGID => 3,
         | 
| 194 | 
            +
              :MSGCTXT => 4,
         | 
| 195 | 
            +
              :MSGID_PLURAL => 5,
         | 
| 196 | 
            +
              :MSGSTR => 6,
         | 
| 197 | 
            +
              :STRING => 7,
         | 
| 198 | 
            +
              :PLURAL_NUM => 8 }
         | 
| 199 | 
            +
             | 
| 200 | 
            +
            racc_nt_base = 9
         | 
| 201 | 
            +
             | 
| 202 | 
            +
            racc_use_result_var = true
         | 
| 203 | 
            +
             | 
| 204 | 
            +
            Racc_arg = [
         | 
| 205 | 
            +
              racc_action_table,
         | 
| 206 | 
            +
              racc_action_check,
         | 
| 207 | 
            +
              racc_action_default,
         | 
| 208 | 
            +
              racc_action_pointer,
         | 
| 209 | 
            +
              racc_goto_table,
         | 
| 210 | 
            +
              racc_goto_check,
         | 
| 211 | 
            +
              racc_goto_default,
         | 
| 212 | 
            +
              racc_goto_pointer,
         | 
| 213 | 
            +
              racc_nt_base,
         | 
| 214 | 
            +
              racc_reduce_table,
         | 
| 215 | 
            +
              racc_token_table,
         | 
| 216 | 
            +
              racc_shift_n,
         | 
| 217 | 
            +
              racc_reduce_n,
         | 
| 218 | 
            +
              racc_use_result_var ]
         | 
| 219 | 
            +
             | 
| 220 | 
            +
            Racc_token_to_s_table = [
         | 
| 221 | 
            +
              "$end",
         | 
| 222 | 
            +
              "error",
         | 
| 223 | 
            +
              "COMMENT",
         | 
| 224 | 
            +
              "MSGID",
         | 
| 225 | 
            +
              "MSGCTXT",
         | 
| 226 | 
            +
              "MSGID_PLURAL",
         | 
| 227 | 
            +
              "MSGSTR",
         | 
| 228 | 
            +
              "STRING",
         | 
| 229 | 
            +
              "PLURAL_NUM",
         | 
| 230 | 
            +
              "$start",
         | 
| 231 | 
            +
              "msgfmt",
         | 
| 232 | 
            +
              "comment",
         | 
| 233 | 
            +
              "msgctxt",
         | 
| 234 | 
            +
              "message",
         | 
| 235 | 
            +
              "string_list",
         | 
| 236 | 
            +
              "single_message",
         | 
| 237 | 
            +
              "plural_message",
         | 
| 238 | 
            +
              "msgstr_plural",
         | 
| 239 | 
            +
              "msgstr_plural_line" ]
         | 
| 240 | 
            +
             | 
| 241 | 
            +
            Racc_debug_parser = true
         | 
| 242 | 
            +
             | 
| 243 | 
            +
            ##### State transition tables end #####
         | 
| 244 | 
            +
             | 
| 245 | 
            +
            # reduce 0 omitted
         | 
| 246 | 
            +
             | 
| 247 | 
            +
            # reduce 1 omitted
         | 
| 248 | 
            +
             | 
| 249 | 
            +
            # reduce 2 omitted
         | 
| 250 | 
            +
             | 
| 251 | 
            +
            # reduce 3 omitted
         | 
| 252 | 
            +
             | 
| 253 | 
            +
            # reduce 4 omitted
         | 
| 254 | 
            +
             | 
| 255 | 
            +
            module_eval(<<'.,.,', 'poparser.ry', 23)
         | 
| 256 | 
            +
              def _reduce_5(val, _values, result)
         | 
| 257 | 
            +
                    @msgctxt = unescape(val[1]) + "\004"
         | 
| 258 | 
            +
             | 
| 259 | 
            +
                result
         | 
| 260 | 
            +
              end
         | 
| 261 | 
            +
            .,.,
         | 
| 262 | 
            +
             | 
| 263 | 
            +
            # reduce 6 omitted
         | 
| 264 | 
            +
             | 
| 265 | 
            +
            # reduce 7 omitted
         | 
| 266 | 
            +
             | 
| 267 | 
            +
            module_eval(<<'.,.,', 'poparser.ry', 35)
         | 
| 268 | 
            +
              def _reduce_8(val, _values, result)
         | 
| 269 | 
            +
                    if @fuzzy and $ignore_fuzzy
         | 
| 270 | 
            +
                  if val[1] != ""
         | 
| 271 | 
            +
                    $stderr.print _("Warning: fuzzy message was ignored.\n")
         | 
| 272 | 
            +
                    $stderr.print "  #{@po_file}: msgid '#{val[1]}'\n"
         | 
| 273 | 
            +
                  else
         | 
| 274 | 
            +
                    on_message('', unescape(val[3]))
         | 
| 275 | 
            +
                  end
         | 
| 276 | 
            +
                  @fuzzy = false
         | 
| 277 | 
            +
                else
         | 
| 278 | 
            +
                  on_message(@msgctxt + unescape(val[1]), unescape(val[3]))
         | 
| 279 | 
            +
                end
         | 
| 280 | 
            +
                result = ""
         | 
| 281 | 
            +
             | 
| 282 | 
            +
                result
         | 
| 283 | 
            +
              end
         | 
| 284 | 
            +
            .,.,
         | 
| 285 | 
            +
             | 
| 286 | 
            +
            module_eval(<<'.,.,', 'poparser.ry', 52)
         | 
| 287 | 
            +
              def _reduce_9(val, _values, result)
         | 
| 288 | 
            +
                    if @fuzzy and $ignore_fuzzy
         | 
| 289 | 
            +
                  if val[1] != ""
         | 
| 290 | 
            +
                    $stderr.print _("Warning: fuzzy message was ignored.\n")
         | 
| 291 | 
            +
                    $stderr.print "msgid = '#{val[1]}\n"
         | 
| 292 | 
            +
                  else
         | 
| 293 | 
            +
                    on_message('', unescape(val[3]))
         | 
| 294 | 
            +
                  end
         | 
| 295 | 
            +
                  @fuzzy = false
         | 
| 296 | 
            +
                else
         | 
| 297 | 
            +
                  on_message(@msgctxt + unescape(val[1]) + "\000" + unescape(val[3]), unescape(val[4]))
         | 
| 298 | 
            +
                end
         | 
| 299 | 
            +
                result = ""
         | 
| 300 | 
            +
             | 
| 301 | 
            +
                result
         | 
| 302 | 
            +
              end
         | 
| 303 | 
            +
            .,.,
         | 
| 304 | 
            +
             | 
| 305 | 
            +
            module_eval(<<'.,.,', 'poparser.ry', 70)
         | 
| 306 | 
            +
              def _reduce_10(val, _values, result)
         | 
| 307 | 
            +
                    if val[0].size > 0
         | 
| 308 | 
            +
                  result = val[0] + "\000" + val[1]
         | 
| 309 | 
            +
                else
         | 
| 310 | 
            +
                  result = ""
         | 
| 311 | 
            +
                end
         | 
| 312 | 
            +
             | 
| 313 | 
            +
                result
         | 
| 314 | 
            +
              end
         | 
| 315 | 
            +
            .,.,
         | 
| 316 | 
            +
             | 
| 317 | 
            +
            # reduce 11 omitted
         | 
| 318 | 
            +
             | 
| 319 | 
            +
            module_eval(<<'.,.,', 'poparser.ry', 82)
         | 
| 320 | 
            +
              def _reduce_12(val, _values, result)
         | 
| 321 | 
            +
                    result = val[2]
         | 
| 322 | 
            +
             | 
| 323 | 
            +
                result
         | 
| 324 | 
            +
              end
         | 
| 325 | 
            +
            .,.,
         | 
| 326 | 
            +
             | 
| 327 | 
            +
            module_eval(<<'.,.,', 'poparser.ry', 89)
         | 
| 328 | 
            +
              def _reduce_13(val, _values, result)
         | 
| 329 | 
            +
                    on_comment(val[0])
         | 
| 330 | 
            +
             | 
| 331 | 
            +
                result
         | 
| 332 | 
            +
              end
         | 
| 333 | 
            +
            .,.,
         | 
| 334 | 
            +
             | 
| 335 | 
            +
            module_eval(<<'.,.,', 'poparser.ry', 97)
         | 
| 336 | 
            +
              def _reduce_14(val, _values, result)
         | 
| 337 | 
            +
                    result = val.delete_if{|item| item == ""}.join
         | 
| 338 | 
            +
             | 
| 339 | 
            +
                result
         | 
| 340 | 
            +
              end
         | 
| 341 | 
            +
            .,.,
         | 
| 342 | 
            +
             | 
| 343 | 
            +
            module_eval(<<'.,.,', 'poparser.ry', 101)
         | 
| 344 | 
            +
              def _reduce_15(val, _values, result)
         | 
| 345 | 
            +
                    result = val[0]
         | 
| 346 | 
            +
             | 
| 347 | 
            +
                result
         | 
| 348 | 
            +
              end
         | 
| 349 | 
            +
            .,.,
         | 
| 350 | 
            +
             | 
| 351 | 
            +
            def _reduce_none(val, _values, result)
         | 
| 352 | 
            +
              val[0]
         | 
| 353 | 
            +
            end
         | 
| 354 | 
            +
             | 
| 355 | 
            +
              end   # class PoParser
         | 
| 356 | 
            +
              end   # module GetText
         | 
| 357 | 
            +
             | 
| 358 | 
            +
             | 
    
        data/po/uk/rgettext.po
    ADDED
    
    | @@ -0,0 +1,143 @@ | |
| 1 | 
            +
            # translation of rgettext.po to Ukrainian
         | 
| 2 | 
            +
            #
         | 
| 3 | 
            +
            # a po-file for Ruby-GetText-Package
         | 
| 4 | 
            +
            #
         | 
| 5 | 
            +
            # Copyright (C) 2004-2008 Masao Mutoh
         | 
| 6 | 
            +
            #
         | 
| 7 | 
            +
            # This file is distributed under the same license as the Ruby-GetText-Package.
         | 
| 8 | 
            +
            #
         | 
| 9 | 
            +
            # Alex Rootoff, 2007,2008
         | 
| 10 | 
            +
            #
         | 
| 11 | 
            +
            msgid ""
         | 
| 12 | 
            +
            msgstr ""
         | 
| 13 | 
            +
            "Project-Id-Version: ruby-gettext 2.1.0\n"
         | 
| 14 | 
            +
            "POT-Creation-Date: 2010-06-25 01:16+0900\n"
         | 
| 15 | 
            +
            "PO-Revision-Date: 2008-07-14 05:33+0200\n"
         | 
| 16 | 
            +
            "Last-Translator: Alex Rootoff <rootoff at pisem.net>\n"
         | 
| 17 | 
            +
            "Language-Team: Ukrainian\n"
         | 
| 18 | 
            +
            "MIME-Version: 1.0\n"
         | 
| 19 | 
            +
            "Content-Type: text/plain; charset=UTF-8\n"
         | 
| 20 | 
            +
            "Content-Transfer-Encoding: 8bit\n"
         | 
| 21 | 
            +
            "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
         | 
| 22 | 
            +
            "10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
         | 
| 23 | 
            +
            "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
         | 
| 24 | 
            +
            "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
         | 
| 25 | 
            +
             | 
| 26 | 
            +
            #: lib/gettext/tools/rmsgmerge.rb:402
         | 
| 27 | 
            +
            msgid "Usage: %s def.po ref.pot [-o output.pot]"
         | 
| 28 | 
            +
            msgstr "Використання: %s def.po ref.pot [-o output.pot]"
         | 
| 29 | 
            +
             | 
| 30 | 
            +
            #: lib/gettext/tools/rmsgmerge.rb:405
         | 
| 31 | 
            +
            msgid ""
         | 
| 32 | 
            +
            "Merges two Uniforum style .po files together. The def.po file is an existing "
         | 
| 33 | 
            +
            "PO file with translations. The ref.pot file is the last created PO file with "
         | 
| 34 | 
            +
            "up-to-date source references. ref.pot is generally created by rgettext."
         | 
| 35 | 
            +
            msgstr ""
         | 
| 36 | 
            +
            "Об'єднує файли .po Uniforum формату. В файлі def.po зберігаються уже "
         | 
| 37 | 
            +
            "перекладені стрічки. Файл ref.pot є оновленою версією PO файлу із вихідних "
         | 
| 38 | 
            +
            "текстів і не містить перекладів. ref.pot зазвичай створюють за допомогою "
         | 
| 39 | 
            +
            "програми rgettext."
         | 
| 40 | 
            +
             | 
| 41 | 
            +
            #: lib/gettext/tools/rmsgmerge.rb:407 lib/gettext/tools/rgettext.rb:176
         | 
| 42 | 
            +
            #: lib/gettext/tools/rmsgfmt.rb:50
         | 
| 43 | 
            +
            msgid "Specific options:"
         | 
| 44 | 
            +
            msgstr "Додаткові параметри:"
         | 
| 45 | 
            +
             | 
| 46 | 
            +
            #: lib/gettext/tools/rmsgmerge.rb:409 lib/gettext/tools/rgettext.rb:178
         | 
| 47 | 
            +
            #: lib/gettext/tools/rmsgfmt.rb:52
         | 
| 48 | 
            +
            msgid "write output to specified file"
         | 
| 49 | 
            +
            msgstr "записати результат у вказаний файл"
         | 
| 50 | 
            +
             | 
| 51 | 
            +
            #: lib/gettext/tools/rmsgmerge.rb:420 lib/gettext/tools/rgettext.rb:195
         | 
| 52 | 
            +
            #: lib/gettext/tools/rmsgfmt.rb:56
         | 
| 53 | 
            +
            msgid "display version information and exit"
         | 
| 54 | 
            +
            msgstr "показати інформацію про версію і завершити роботу"
         | 
| 55 | 
            +
             | 
| 56 | 
            +
            #: lib/gettext/tools/rmsgmerge.rb:446
         | 
| 57 | 
            +
            msgid "definition po is not given."
         | 
| 58 | 
            +
            msgstr "не вказано файл def.po."
         | 
| 59 | 
            +
             | 
| 60 | 
            +
            #: lib/gettext/tools/rmsgmerge.rb:448
         | 
| 61 | 
            +
            msgid "reference pot is not given."
         | 
| 62 | 
            +
            msgstr "не вказано файл ref.po."
         | 
| 63 | 
            +
             | 
| 64 | 
            +
            #: lib/gettext/tools/parser/glade.rb:73
         | 
| 65 | 
            +
            msgid "`%{file}' is not glade-2.0 format."
         | 
| 66 | 
            +
            msgstr "`%{file}' не в форматі glade-2.0."
         | 
| 67 | 
            +
             | 
| 68 | 
            +
            #: lib/gettext/tools/rgettext.rb:40
         | 
| 69 | 
            +
            msgid "'%{klass}' is ignored."
         | 
| 70 | 
            +
            msgstr "проігноровано '%{klass}'."
         | 
| 71 | 
            +
             | 
| 72 | 
            +
            #: lib/gettext/tools/rgettext.rb:161
         | 
| 73 | 
            +
            msgid "Error parsing %{path}"
         | 
| 74 | 
            +
            msgstr ""
         | 
| 75 | 
            +
             | 
| 76 | 
            +
            #: lib/gettext/tools/rgettext.rb:172
         | 
| 77 | 
            +
            msgid "Usage: %s input.rb [-r parser.rb] [-o output.pot]"
         | 
| 78 | 
            +
            msgstr "Використання: %s input.rb [-r parser.rb] [-o output.pot]"
         | 
| 79 | 
            +
             | 
| 80 | 
            +
            #: lib/gettext/tools/rgettext.rb:174
         | 
| 81 | 
            +
            msgid "Extract translatable strings from given input files."
         | 
| 82 | 
            +
            msgstr "Витягувати стрічки для перекладу із вказаних вхідних файлів."
         | 
| 83 | 
            +
             | 
| 84 | 
            +
            #: lib/gettext/tools/rgettext.rb:182
         | 
| 85 | 
            +
            msgid "File '%s' already exists."
         | 
| 86 | 
            +
            msgstr "Файл '%s' уже існує."
         | 
| 87 | 
            +
             | 
| 88 | 
            +
            #: lib/gettext/tools/rgettext.rb:187
         | 
| 89 | 
            +
            msgid "require the library before executing rgettext"
         | 
| 90 | 
            +
            msgstr "для виконання rgettext необхідна бібліотека"
         | 
| 91 | 
            +
             | 
| 92 | 
            +
            #: lib/gettext/tools/rgettext.rb:191
         | 
| 93 | 
            +
            msgid "run in debugging mode"
         | 
| 94 | 
            +
            msgstr "запуск в режимі відлагодження"
         | 
| 95 | 
            +
             | 
| 96 | 
            +
            #: lib/gettext/tools/rgettext.rb:218 lib/gettext/tools/rmsgfmt.rb:29
         | 
| 97 | 
            +
            msgid "no input files"
         | 
| 98 | 
            +
            msgstr "не задані вхідні файли"
         | 
| 99 | 
            +
             | 
| 100 | 
            +
            #: lib/gettext/tools/rmsgfmt.rb:46
         | 
| 101 | 
            +
            msgid "Usage: %s input.po [-o output.mo]"
         | 
| 102 | 
            +
            msgstr "Використання: %s input.po [-o output.mo]"
         | 
| 103 | 
            +
             | 
| 104 | 
            +
            #: lib/gettext/tools/rmsgfmt.rb:48
         | 
| 105 | 
            +
            msgid "Generate binary message catalog from textual translation description."
         | 
| 106 | 
            +
            msgstr "Генерує бінарний каталог повідомлень із перекладу."
         | 
| 107 | 
            +
             | 
| 108 | 
            +
            #: lib/gettext/tools.rb:68
         | 
| 109 | 
            +
            msgid "Failed to merge with %{defpo}"
         | 
| 110 | 
            +
            msgstr "Не вдалось об'єднати із %{defpo}"
         | 
| 111 | 
            +
             | 
| 112 | 
            +
            #: lib/gettext/tools.rb:69
         | 
| 113 | 
            +
            msgid "New .pot was copied to %{failed_filename}"
         | 
| 114 | 
            +
            msgstr "Новий файл .pot скопійовано в %{failed_filename}"
         | 
| 115 | 
            +
             | 
| 116 | 
            +
            #: lib/gettext/tools.rb:70
         | 
| 117 | 
            +
            msgid "Check these po/pot-files. It may have syntax errors or something wrong."
         | 
| 118 | 
            +
            msgstr ""
         | 
| 119 | 
            +
            "Будь ласка, перевірте ці po/pot-файли. Схоже, що вони містять синтаксичні "
         | 
| 120 | 
            +
            "помилки."
         | 
| 121 | 
            +
             | 
| 122 | 
            +
            #: lib/gettext/tools.rb:173
         | 
| 123 | 
            +
            msgid ""
         | 
| 124 | 
            +
            "`%{cmd}' can not be found. \n"
         | 
| 125 | 
            +
            "Install GNU Gettext then set PATH or MSGMERGE_PATH correctly."
         | 
| 126 | 
            +
            msgstr ""
         | 
| 127 | 
            +
             | 
| 128 | 
            +
            #: lib/gettext/runtime/textdomain_manager.rb:147
         | 
| 129 | 
            +
            #, fuzzy
         | 
| 130 | 
            +
            msgid "ngettext: 3rd parmeter is wrong: value = %{number}"
         | 
| 131 | 
            +
            msgstr "Третій параметр неправильний: value = %{number}"
         | 
| 132 | 
            +
             | 
| 133 | 
            +
            #: lib/gettext/runtime/textdomain_manager.rb:153
         | 
| 134 | 
            +
            msgid "ngettext: 3rd parameter should be a number, not nil."
         | 
| 135 | 
            +
            msgstr ""
         | 
| 136 | 
            +
             | 
| 137 | 
            +
            #: src/poparser.ry:38 src/poparser.ry:55
         | 
| 138 | 
            +
            msgid "Warning: fuzzy message was ignored.\n"
         | 
| 139 | 
            +
            msgstr "Попередження: проігноровано неточний переклад повідомлення.\n"
         | 
| 140 | 
            +
             | 
| 141 | 
            +
            #: src/poparser.ry:148
         | 
| 142 | 
            +
            msgid "Warning: obsolete msgid exists.\n"
         | 
| 143 | 
            +
            msgstr "Попередження: є застаріла стрічка msgid.\n"
         |