iso_code 0.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/.document ADDED
@@ -0,0 +1,5 @@
1
+ lib/**/*.rb
2
+ bin/*
3
+ -
4
+ features/**/*.feature
5
+ LICENSE.txt
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --format documentation
data/Gemfile ADDED
@@ -0,0 +1,11 @@
1
+ source 'http://rubygems.org'
2
+
3
+ gem 'nokogiri'
4
+
5
+ group :development do
6
+ gem 'rspec', '~> 2.3.0'
7
+ gem 'yard', '~> 0.6.0'
8
+ gem 'bundler', '~> 1.0.0'
9
+ gem 'jeweler', '~> 1.6.4'
10
+ gem 'rcov', '>= 0'
11
+ end
data/Gemfile.lock ADDED
@@ -0,0 +1,32 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ diff-lcs (1.1.2)
5
+ git (1.2.5)
6
+ jeweler (1.6.4)
7
+ bundler (~> 1.0)
8
+ git (>= 1.2.5)
9
+ rake
10
+ nokogiri (1.5.0)
11
+ rake (0.9.2)
12
+ rcov (0.9.9)
13
+ rspec (2.3.0)
14
+ rspec-core (~> 2.3.0)
15
+ rspec-expectations (~> 2.3.0)
16
+ rspec-mocks (~> 2.3.0)
17
+ rspec-core (2.3.1)
18
+ rspec-expectations (2.3.0)
19
+ diff-lcs (~> 1.1.2)
20
+ rspec-mocks (2.3.0)
21
+ yard (0.6.8)
22
+
23
+ PLATFORMS
24
+ ruby
25
+
26
+ DEPENDENCIES
27
+ bundler (~> 1.0.0)
28
+ jeweler (~> 1.6.4)
29
+ nokogiri
30
+ rcov
31
+ rspec (~> 2.3.0)
32
+ yard (~> 0.6.0)
data/LICENSE.txt ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2011 Thomas Boerger <tboerger@tbpro.de>
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.rdoc ADDED
@@ -0,0 +1,27 @@
1
+ = iso_code
2
+
3
+ It translate all available languages (ISO 639-3) and countries (ISO 3166) into various languages.
4
+
5
+ == Install
6
+
7
+ gem 'iso_code'
8
+
9
+ == Usage
10
+
11
+ This returns all available countries in english, german and polish.
12
+
13
+ require 'iso_code'
14
+ IsoCode::Iso3166.new(:de, :pl).read
15
+
16
+ This returns all available languages in english, german and polish.
17
+
18
+ require 'iso_code'
19
+ IsoCode::Iso639.new(:de, :pl).read
20
+
21
+ == Todo
22
+
23
+ Implement functionality for scriptnames, subdevisions and currencies.
24
+
25
+ == Credits
26
+
27
+ The project <tt>iso_code</tt> have been inspired by the debian iso-code project.
data/Rakefile ADDED
@@ -0,0 +1,53 @@
1
+ # Created by Thomas Boerger on 2011-07-06.
2
+ # Copyright (c) 2011. All rights reserved.
3
+
4
+ require 'rubygems'
5
+ require 'bundler'
6
+
7
+ begin
8
+ Bundler.setup(:default, :development)
9
+ rescue Bundler::BundlerError => e
10
+ $stderr.puts e.message
11
+ $stderr.puts 'Run `bundle install` to install missing gems'
12
+ exit e.status_code
13
+ end
14
+
15
+ require 'rake'
16
+ require 'jeweler'
17
+ require 'rspec/core'
18
+ require 'rspec/core/rake_task'
19
+ require 'yard'
20
+
21
+ require 'iso_code'
22
+
23
+ Jeweler::Tasks.new do |gem|
24
+ gem.name = 'iso_code'
25
+ gem.version = IsoCode::Version::STRING
26
+ gem.homepage = 'https://github.com/tbpro/iso_code'
27
+ gem.license = 'MIT'
28
+ gem.summary = %Q{Countries and languages by ISO codes}
29
+ gem.description = %Q{Translate many available languages (ISO 639-3) and countries (ISO 3166) into requested languages}
30
+ gem.email = 'tboerger@tbpro.de'
31
+ gem.author = 'Thomas Boerger'
32
+ gem.add_dependency('nokogiri')
33
+ gem.add_development_dependency('rspec')
34
+ gem.add_development_dependency('yard')
35
+ gem.add_development_dependency('jeweler')
36
+ gem.add_development_dependency('rcov')
37
+ end
38
+
39
+ Jeweler::RubygemsDotOrgTasks.new
40
+
41
+ RSpec::Core::RakeTask.new(:spec) do |spec|
42
+ spec.pattern = FileList['spec/**/*_spec.rb']
43
+ end
44
+
45
+ RSpec::Core::RakeTask.new(:rcov) do |spec|
46
+ spec.pattern = 'spec/**/*_spec.rb'
47
+ spec.rcov = true
48
+ end
49
+
50
+ YARD::Rake::YardocTask.new
51
+
52
+ task :test => :spec
53
+ task :default => :spec
data/init.rb ADDED
@@ -0,0 +1,4 @@
1
+ # Created by Thomas Boerger on 2011-07-06.
2
+ # Copyright (c) 2011. All rights reserved.
3
+
4
+ require 'iso_code'
data/iso_code.gemspec ADDED
@@ -0,0 +1,85 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{iso_code}
8
+ s.version = "0.0.1"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Thomas Boerger"]
12
+ s.date = %q{2011-07-15}
13
+ s.description = %q{Translate many available languages (ISO 639-3) and countries (ISO 3166) into requested languages}
14
+ s.email = %q{tboerger@tbpro.de}
15
+ s.extra_rdoc_files = [
16
+ "LICENSE.txt",
17
+ "README.rdoc"
18
+ ]
19
+ s.files = [
20
+ ".document",
21
+ ".rspec",
22
+ "Gemfile",
23
+ "Gemfile.lock",
24
+ "LICENSE.txt",
25
+ "README.rdoc",
26
+ "Rakefile",
27
+ "init.rb",
28
+ "iso_code.gemspec",
29
+ "lib/iso_code.rb",
30
+ "lib/iso_code/base.rb",
31
+ "lib/iso_code/iso3166.rb",
32
+ "lib/iso_code/iso639.rb",
33
+ "lib/iso_code/version.rb",
34
+ "spec/iso_code_spec.rb",
35
+ "spec/spec_helper.rb"
36
+ ]
37
+ s.homepage = %q{https://github.com/tbpro/iso_code}
38
+ s.licenses = ["MIT"]
39
+ s.require_paths = ["lib"]
40
+ s.rubygems_version = %q{1.7.2}
41
+ s.summary = %q{Countries and languages by ISO codes}
42
+
43
+ if s.respond_to? :specification_version then
44
+ s.specification_version = 3
45
+
46
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
47
+ s.add_runtime_dependency(%q<nokogiri>, [">= 0"])
48
+ s.add_development_dependency(%q<rspec>, ["~> 2.3.0"])
49
+ s.add_development_dependency(%q<yard>, ["~> 0.6.0"])
50
+ s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
51
+ s.add_development_dependency(%q<jeweler>, ["~> 1.6.4"])
52
+ s.add_development_dependency(%q<rcov>, [">= 0"])
53
+ s.add_runtime_dependency(%q<nokogiri>, [">= 0"])
54
+ s.add_development_dependency(%q<rspec>, [">= 0"])
55
+ s.add_development_dependency(%q<yard>, [">= 0"])
56
+ s.add_development_dependency(%q<jeweler>, [">= 0"])
57
+ s.add_development_dependency(%q<rcov>, [">= 0"])
58
+ else
59
+ s.add_dependency(%q<nokogiri>, [">= 0"])
60
+ s.add_dependency(%q<rspec>, ["~> 2.3.0"])
61
+ s.add_dependency(%q<yard>, ["~> 0.6.0"])
62
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
63
+ s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
64
+ s.add_dependency(%q<rcov>, [">= 0"])
65
+ s.add_dependency(%q<nokogiri>, [">= 0"])
66
+ s.add_dependency(%q<rspec>, [">= 0"])
67
+ s.add_dependency(%q<yard>, [">= 0"])
68
+ s.add_dependency(%q<jeweler>, [">= 0"])
69
+ s.add_dependency(%q<rcov>, [">= 0"])
70
+ end
71
+ else
72
+ s.add_dependency(%q<nokogiri>, [">= 0"])
73
+ s.add_dependency(%q<rspec>, ["~> 2.3.0"])
74
+ s.add_dependency(%q<yard>, ["~> 0.6.0"])
75
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
76
+ s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
77
+ s.add_dependency(%q<rcov>, [">= 0"])
78
+ s.add_dependency(%q<nokogiri>, [">= 0"])
79
+ s.add_dependency(%q<rspec>, [">= 0"])
80
+ s.add_dependency(%q<yard>, [">= 0"])
81
+ s.add_dependency(%q<jeweler>, [">= 0"])
82
+ s.add_dependency(%q<rcov>, [">= 0"])
83
+ end
84
+ end
85
+
data/lib/iso_code.rb ADDED
@@ -0,0 +1,13 @@
1
+ # Created by Thomas Boerger on 2011-07-06.
2
+ # Copyright (c) 2011. All rights reserved.
3
+
4
+ require 'rubygems'
5
+ require 'nokogiri'
6
+ require 'open-uri'
7
+
8
+ module IsoCode
9
+ autoload :Version, 'iso_code/version'
10
+ autoload :Base, 'iso_code/base'
11
+ autoload :Iso3166, 'iso_code/iso3166'
12
+ autoload :Iso639, 'iso_code/iso639'
13
+ end
@@ -0,0 +1,80 @@
1
+ # Created by Thomas Boerger on 2011-07-06.
2
+ # Copyright (c) 2011. All rights reserved.
3
+
4
+ module IsoCode
5
+ # This class acts as base class for various iso code classes
6
+ # to implement methods that will be used on all classes
7
+ class Base
8
+ # Save the requested locales
9
+ attr_accessor :locales
10
+
11
+ # Save the parsed content hash
12
+ attr_accessor :dataset
13
+
14
+ # The path for the base XML file
15
+ attr_accessor :basexml
16
+
17
+ # The path for all the PO files
18
+ attr_accessor :pofiles
19
+
20
+ # Read all requested files and return hash
21
+ def read
22
+ parse_basexml
23
+ parse_pofiles
24
+
25
+ @dataset
26
+ end
27
+
28
+ protected
29
+ # Parse all the PO files
30
+ def parse_pofiles
31
+ detectlocales.each do |locale, pofile|
32
+ open(pofile) do |f|
33
+ names = scan_names(f)
34
+ i18ns = scan_i18ns(f)
35
+
36
+ Range.new(0, names.count).each do |i|
37
+ en_name = split_curname names[i].to_s
38
+ xx_name = split_curname i18ns[i].to_s
39
+
40
+ xx_name = if xx_name.empty?
41
+ en_name
42
+ else
43
+ xx_name
44
+ end
45
+
46
+ @dataset[en_name][locale] = xx_name unless @dataset[en_name].nil?
47
+ end
48
+ end
49
+ end
50
+ end
51
+
52
+ # Detect requested locales
53
+ def detectlocales
54
+ @pofiles.select do |k, v|
55
+ @locales.include?(:all) or @locales.include?(k)
56
+ end
57
+ end
58
+
59
+ # Scan for base names
60
+ def scan_names(f)
61
+ f.rewind
62
+ f.read.scan(/^msgid\ "(.*)"/)
63
+ end
64
+
65
+ # Scan for i18n names
66
+ def scan_i18ns(f)
67
+ f.rewind
68
+ f.read.scan(/^msgstr\ "(.*)"/)
69
+ end
70
+
71
+ # Split the current name
72
+ def split_curname(name)
73
+ if name.include? ', '
74
+ name.split(', ').reverse.join(' ')
75
+ else
76
+ name
77
+ end
78
+ end
79
+ end
80
+ end
@@ -0,0 +1,139 @@
1
+ # Created by Thomas Boerger on 2011-07-06.
2
+ # Copyright (c) 2011. All rights reserved.
3
+
4
+ module IsoCode
5
+ # This class gives a list of all countries in the ISO 3166
6
+ # standard, and is used to provide translations in various
7
+ # languages
8
+ #
9
+ # The translations and files are taken from the Debian
10
+ # iso-codes project (https://alioth.debian.org/projects/pkg-isocodes/)
11
+ class Iso3166
12
+ def initialize(*locales)
13
+ @locales = locales
14
+ @dataset = {}
15
+
16
+ @basexml = 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/iso_3166.xml;hb=HEAD'
17
+
18
+ @pofiles = {
19
+ :af => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/af.po;hb=HEAD',
20
+ :am => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/am.po;hb=HEAD',
21
+ :ar => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/ar.po;hb=HEAD',
22
+ :as => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/as.po;hb=HEAD',
23
+ :ast => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/ast.po;hb=HEAD',
24
+ :az => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/az.po;hb=HEAD',
25
+ :be => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/be.po;hb=HEAD',
26
+ :bg => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/bg.po;hb=HEAD',
27
+ :bn => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/bn.po;hb=HEAD',
28
+ :bn_in => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/bn_in.po;hb=HEAD',
29
+ :br => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/br.po;hb=HEAD',
30
+ :bs => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/bs.po;hb=HEAD',
31
+ :byn => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/byn.po;hb=HEAD',
32
+ :ca => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/ca.po;hb=HEAD',
33
+ :crh => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/crh.po;hb=HEAD',
34
+ :cs => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/cs.po;hb=HEAD',
35
+ :cy => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/cy.po;hb=HEAD',
36
+ :da => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/da.po;hb=HEAD',
37
+ :de => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/de.po;hb=HEAD',
38
+ :dz => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/dz.po;hb=HEAD',
39
+ :el => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/el.po;hb=HEAD',
40
+ :eo => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/eo.po;hb=HEAD',
41
+ :es => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/es.po;hb=HEAD',
42
+ :et => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/et.po;hb=HEAD',
43
+ :eu => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/eu.po;hb=HEAD',
44
+ :fa => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/fa.po;hb=HEAD',
45
+ :fi => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/fi.po;hb=HEAD',
46
+ :fo => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/fo.po;hb=HEAD',
47
+ :fr => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/fr.po;hb=HEAD',
48
+ :ga => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/ga.po;hb=HEAD',
49
+ :gez => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/gez.po;hb=HEAD',
50
+ :gl => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/gl.po;hb=HEAD',
51
+ :gu => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/gu.po;hb=HEAD',
52
+ :haw => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/haw.po;hb=HEAD',
53
+ :he => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/he.po;hb=HEAD',
54
+ :hi => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/hi.po;hb=HEAD',
55
+ :hr => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/hr.po;hb=HEAD',
56
+ :hu => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/hu.po;hb=HEAD',
57
+ :hy => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/hy.po;hb=HEAD',
58
+ :id => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/id.po;hb=HEAD',
59
+ :is => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/is.po;hb=HEAD',
60
+ :it => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/it.po;hb=HEAD',
61
+ :ja => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/ja.po;hb=HEAD',
62
+ :ka => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/ka.po;hb=HEAD',
63
+ :kk => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/kk.po;hb=HEAD',
64
+ :km => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/km.po;hb=HEAD',
65
+ :kn => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/kn.po;hb=HEAD',
66
+ :ko => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/ko.po;hb=HEAD',
67
+ :ku => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/ku.po;hb=HEAD',
68
+ :lt => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/lt.po;hb=HEAD',
69
+ :lv => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/lv.po;hb=HEAD',
70
+ :mi => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/mi.po;hb=HEAD',
71
+ :mk => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/mk.po;hb=HEAD',
72
+ :ml => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/ml.po;hb=HEAD',
73
+ :mn => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/mn.po;hb=HEAD',
74
+ :mr => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/mr.po;hb=HEAD',
75
+ :ms => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/ms.po;hb=HEAD',
76
+ :mt => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/mt.po;hb=HEAD',
77
+ :nb => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/nb.po;hb=HEAD',
78
+ :ne => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/ne.po;hb=HEAD',
79
+ :nl => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/nl.po;hb=HEAD',
80
+ :nn => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/nn.po;hb=HEAD',
81
+ :nso => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/nso.po;hb=HEAD',
82
+ :oc => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/oc.po;hb=HEAD',
83
+ :or => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/or.po;hb=HEAD',
84
+ :pa => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/pa.po;hb=HEAD',
85
+ :pl => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/pl.po;hb=HEAD',
86
+ :ps => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/ps.po;hb=HEAD',
87
+ :pt => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/pt.po;hb=HEAD',
88
+ :pt_br => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/pt_br.po;hb=HEAD',
89
+ :ro => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/ro.po;hb=HEAD',
90
+ :ru => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/ru.po;hb=HEAD',
91
+ :rw => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/rw.po;hb=HEAD',
92
+ :sk => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/sk.po;hb=HEAD',
93
+ :sl => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/sl.po;hb=HEAD',
94
+ :so => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/so.po;hb=HEAD',
95
+ :sq => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/sq.po;hb=HEAD',
96
+ :sr => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/sr.po;hb=HEAD',
97
+ :sv => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/sv.po;hb=HEAD',
98
+ :sw => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/sw.po;hb=HEAD',
99
+ :ta => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/ta.po;hb=HEAD',
100
+ :te => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/te.po;hb=HEAD',
101
+ :th => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/th.po;hb=HEAD',
102
+ :ti => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/ti.po;hb=HEAD',
103
+ :tig => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/tig.po;hb=HEAD',
104
+ :tk => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/tk.po;hb=HEAD',
105
+ :tl => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/tl.po;hb=HEAD',
106
+ :tr => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/tr.po;hb=HEAD',
107
+ :tt => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/tt.po;hb=HEAD',
108
+ :ug => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/ug.po;hb=HEAD',
109
+ :uk => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/uk.po;hb=HEAD',
110
+ :ve => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/ve.po;hb=HEAD',
111
+ :vi => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/vi.po;hb=HEAD',
112
+ :wa => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/wa.po;hb=HEAD',
113
+ :wal => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/wal.po;hb=HEAD',
114
+ :wo => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/wo.po;hb=HEAD',
115
+ :xh => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/xh.po;hb=HEAD',
116
+ :zh_cn => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/zh_CN.po;hb=HEAD',
117
+ :zh_hk => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/zh_HK.po;hb=HEAD',
118
+ :zh_tw => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/zh_TW.po;hb=HEAD',
119
+ :zu => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166/zu.po;hb=HEAD'
120
+ }
121
+ end
122
+
123
+ protected
124
+ # Parse the base XML file
125
+ def parse_basexml
126
+ Nokogiri::XML(open(@basexml)).search('//iso_3166_entries/iso_3166_entry').each do |row|
127
+ en_name = split_curname row.attributes['name'].to_s
128
+
129
+ @dataset[en_name] = {
130
+ :alpha2 => row.attributes['alpha_2_code'].to_s,
131
+ :alpha3 => row.attributes['alpha_3_code'].to_s,
132
+ :number => row.attributes['numeric_code'].to_s,
133
+ :withdrawn => row.attributes['date_withdrawn'].to_s || '',
134
+ :en => en_name
135
+ }
136
+ end
137
+ end
138
+ end
139
+ end
@@ -0,0 +1,117 @@
1
+ # Created by Thomas Boerger on 2011-07-06.
2
+ # Copyright (c) 2011. All rights reserved.
3
+
4
+ module IsoCode
5
+ # This class gives a list of all languages in the ISO 639-3
6
+ # standard, and is used to provide translations in various
7
+ # languages
8
+ #
9
+ # The translations and files are taken from the Debian
10
+ # iso-codes project (https://alioth.debian.org/projects/pkg-isocodes/)
11
+ class Iso639 < Base
12
+ def initialize(*locales)
13
+ @locales = locales
14
+ @dataset = {}
15
+
16
+ @basexml = 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/iso_639_3.xml;hb=HEAD'
17
+
18
+ @pofiles = {
19
+ :af => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/af.po;hb=HEAD',
20
+ :am => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/am.po;hb=HEAD',
21
+ :ar => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/ar.po;hb=HEAD',
22
+ :az => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/az.po;hb=HEAD',
23
+ :bg => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/bg.po;hb=HEAD',
24
+ :bn_in => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/bn_in.po;hb=HEAD',
25
+ :br => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/br.po;hb=HEAD',
26
+ :bs => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/bs.po;hb=HEAD',
27
+ :byn => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/byn.po;hb=HEAD',
28
+ :ca => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/ca.po;hb=HEAD',
29
+ :crh => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/crh.po;hb=HEAD',
30
+ :cs => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/cs.po;hb=HEAD',
31
+ :cy => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/cy.po;hb=HEAD',
32
+ :da => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/da.po;hb=HEAD',
33
+ :de => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/de.po;hb=HEAD',
34
+ :el => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/el.po;hb=HEAD',
35
+ :eo => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/eo.po;hb=HEAD',
36
+ :es => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/es.po;hb=HEAD',
37
+ :et => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/et.po;hb=HEAD',
38
+ :eu => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/eu.po;hb=HEAD',
39
+ :fa => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/fa.po;hb=HEAD',
40
+ :fi => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/fi.po;hb=HEAD',
41
+ :fr => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/fr.po;hb=HEAD',
42
+ :ga => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/ga.po;hb=HEAD',
43
+ :gez => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/gez.po;hb=HEAD',
44
+ :gl => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/gl.po;hb=HEAD',
45
+ :gu => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/gu.po;hb=HEAD',
46
+ :he => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/he.po;hb=HEAD',
47
+ :hi => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/hi.po;hb=HEAD',
48
+ :hr => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/hr.po;hb=HEAD',
49
+ :hu => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/hu.po;hb=HEAD',
50
+ :id => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/id.po;hb=HEAD',
51
+ :is => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/is.po;hb=HEAD',
52
+ :it => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/it.po;hb=HEAD',
53
+ :ja => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/ja.po;hb=HEAD',
54
+ :kn => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/kn.po;hb=HEAD',
55
+ :ko => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/ko.po;hb=HEAD',
56
+ :kok => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/kok.po;hb=HEAD',
57
+ :lt => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/lt.po;hb=HEAD',
58
+ :lv => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/lv.po;hb=HEAD',
59
+ :mi => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/mi.po;hb=HEAD',
60
+ :mk => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/mk.po;hb=HEAD',
61
+ :mn => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/mn.po;hb=HEAD',
62
+ :mr => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/mr.po;hb=HEAD',
63
+ :ms => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/ms.po;hb=HEAD',
64
+ :mt => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/mt.po;hb=HEAD',
65
+ :nb => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/nb.po;hb=HEAD',
66
+ :nl => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/nl.po;hb=HEAD',
67
+ :nn => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/nn.po;hb=HEAD',
68
+ :nso => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/nso.po;hb=HEAD',
69
+ :oc => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/oc.po;hb=HEAD',
70
+ :or => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/or.po;hb=HEAD',
71
+ :pa => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/pa.po;hb=HEAD',
72
+ :pl => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/pl.po;hb=HEAD',
73
+ :ps => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/ps.po;hb=HEAD',
74
+ :pt => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/pt.po;hb=HEAD',
75
+ :pt_br => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/pt_br.po;hb=HEAD',
76
+ :ro => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/ro.po;hb=HEAD',
77
+ :ru => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/ru.po;hb=HEAD',
78
+ :rw => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/rw.po;hb=HEAD',
79
+ :sk => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/sk.po;hb=HEAD',
80
+ :sl => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/sl.po;hb=HEAD',
81
+ :sr => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/sr.po;hb=HEAD',
82
+ :sv => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/sv.po;hb=HEAD',
83
+ :ta => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/ta.po;hb=HEAD',
84
+ :th => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/th.po;hb=HEAD',
85
+ :ti => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/ti.po;hb=HEAD',
86
+ :tig => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/tig.po;hb=HEAD',
87
+ :tr => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/tr.po;hb=HEAD',
88
+ :tt => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/tt.po;hb=HEAD',
89
+ :uk => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/uk.po;hb=HEAD',
90
+ :ve => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/ve.po;hb=HEAD',
91
+ :vi => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/vi.po;hb=HEAD',
92
+ :wa => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/wa.po;hb=HEAD',
93
+ :xh => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/xh.po;hb=HEAD',
94
+ :zh_cn => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/zh_CN.po;hb=HEAD',
95
+ :zh_tw => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/zh_TW.po;hb=HEAD',
96
+ :zu => 'http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_639_3/zu.po;hb=HEAD'
97
+ }
98
+ end
99
+
100
+ protected
101
+ # Parse the base XML file
102
+ def parse_basexml
103
+ Nokogiri::XML(open(@basexml)).search('//iso_639_3_entries/iso_639_3_entry').each do |row|
104
+ en_name = split_curname row.attributes['name'].to_s
105
+
106
+ @dataset[en_name] = {
107
+ :code1 => row.attributes['part1_code'].to_s || '',
108
+ :code2 => row.attributes['part2_code'].to_s || '',
109
+ :code3 => row.attributes['id'].to_s,
110
+ :type => row.attributes['type'].to_s.downcase,
111
+ :scope => row.attributes['scope'].to_s.downcase,
112
+ :en => en_name
113
+ }
114
+ end
115
+ end
116
+ end
117
+ end
@@ -0,0 +1,13 @@
1
+ # Created by Thomas Boerger on 2011-07-11.
2
+ # Copyright (c) 2011. All rights reserved.
3
+
4
+ module IsoCode
5
+ module Version
6
+ MAJOR = 0
7
+ MINOR = 0
8
+ PATCH = 1
9
+ BUILD = nil
10
+
11
+ STRING = [MAJOR, MINOR, PATCH, BUILD].compact.join('.')
12
+ end
13
+ end
@@ -0,0 +1,7 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ describe "IsoCode" do
4
+ it "is pending" do
5
+ pending
6
+ end
7
+ end
@@ -0,0 +1,8 @@
1
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
3
+
4
+ require 'rspec'
5
+ require 'iso_code'
6
+
7
+ RSpec.configure do |config|
8
+ end
metadata ADDED
@@ -0,0 +1,242 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: iso_code
3
+ version: !ruby/object:Gem::Version
4
+ hash: 29
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 1
10
+ version: 0.0.1
11
+ platform: ruby
12
+ authors:
13
+ - Thomas Boerger
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-07-15 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ version_requirements: &id001 !ruby/object:Gem::Requirement
22
+ none: false
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ hash: 3
27
+ segments:
28
+ - 0
29
+ version: "0"
30
+ name: nokogiri
31
+ prerelease: false
32
+ type: :runtime
33
+ requirement: *id001
34
+ - !ruby/object:Gem::Dependency
35
+ version_requirements: &id002 !ruby/object:Gem::Requirement
36
+ none: false
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ hash: 3
41
+ segments:
42
+ - 2
43
+ - 3
44
+ - 0
45
+ version: 2.3.0
46
+ name: rspec
47
+ prerelease: false
48
+ type: :development
49
+ requirement: *id002
50
+ - !ruby/object:Gem::Dependency
51
+ version_requirements: &id003 !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - ~>
55
+ - !ruby/object:Gem::Version
56
+ hash: 7
57
+ segments:
58
+ - 0
59
+ - 6
60
+ - 0
61
+ version: 0.6.0
62
+ name: yard
63
+ prerelease: false
64
+ type: :development
65
+ requirement: *id003
66
+ - !ruby/object:Gem::Dependency
67
+ version_requirements: &id004 !ruby/object:Gem::Requirement
68
+ none: false
69
+ requirements:
70
+ - - ~>
71
+ - !ruby/object:Gem::Version
72
+ hash: 23
73
+ segments:
74
+ - 1
75
+ - 0
76
+ - 0
77
+ version: 1.0.0
78
+ name: bundler
79
+ prerelease: false
80
+ type: :development
81
+ requirement: *id004
82
+ - !ruby/object:Gem::Dependency
83
+ version_requirements: &id005 !ruby/object:Gem::Requirement
84
+ none: false
85
+ requirements:
86
+ - - ~>
87
+ - !ruby/object:Gem::Version
88
+ hash: 7
89
+ segments:
90
+ - 1
91
+ - 6
92
+ - 4
93
+ version: 1.6.4
94
+ name: jeweler
95
+ prerelease: false
96
+ type: :development
97
+ requirement: *id005
98
+ - !ruby/object:Gem::Dependency
99
+ version_requirements: &id006 !ruby/object:Gem::Requirement
100
+ none: false
101
+ requirements:
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ hash: 3
105
+ segments:
106
+ - 0
107
+ version: "0"
108
+ name: rcov
109
+ prerelease: false
110
+ type: :development
111
+ requirement: *id006
112
+ - !ruby/object:Gem::Dependency
113
+ version_requirements: &id007 !ruby/object:Gem::Requirement
114
+ none: false
115
+ requirements:
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ hash: 3
119
+ segments:
120
+ - 0
121
+ version: "0"
122
+ name: nokogiri
123
+ prerelease: false
124
+ type: :runtime
125
+ requirement: *id007
126
+ - !ruby/object:Gem::Dependency
127
+ version_requirements: &id008 !ruby/object:Gem::Requirement
128
+ none: false
129
+ requirements:
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ hash: 3
133
+ segments:
134
+ - 0
135
+ version: "0"
136
+ name: rspec
137
+ prerelease: false
138
+ type: :development
139
+ requirement: *id008
140
+ - !ruby/object:Gem::Dependency
141
+ version_requirements: &id009 !ruby/object:Gem::Requirement
142
+ none: false
143
+ requirements:
144
+ - - ">="
145
+ - !ruby/object:Gem::Version
146
+ hash: 3
147
+ segments:
148
+ - 0
149
+ version: "0"
150
+ name: yard
151
+ prerelease: false
152
+ type: :development
153
+ requirement: *id009
154
+ - !ruby/object:Gem::Dependency
155
+ version_requirements: &id010 !ruby/object:Gem::Requirement
156
+ none: false
157
+ requirements:
158
+ - - ">="
159
+ - !ruby/object:Gem::Version
160
+ hash: 3
161
+ segments:
162
+ - 0
163
+ version: "0"
164
+ name: jeweler
165
+ prerelease: false
166
+ type: :development
167
+ requirement: *id010
168
+ - !ruby/object:Gem::Dependency
169
+ version_requirements: &id011 !ruby/object:Gem::Requirement
170
+ none: false
171
+ requirements:
172
+ - - ">="
173
+ - !ruby/object:Gem::Version
174
+ hash: 3
175
+ segments:
176
+ - 0
177
+ version: "0"
178
+ name: rcov
179
+ prerelease: false
180
+ type: :development
181
+ requirement: *id011
182
+ description: Translate many available languages (ISO 639-3) and countries (ISO 3166) into requested languages
183
+ email: tboerger@tbpro.de
184
+ executables: []
185
+
186
+ extensions: []
187
+
188
+ extra_rdoc_files:
189
+ - LICENSE.txt
190
+ - README.rdoc
191
+ files:
192
+ - .document
193
+ - .rspec
194
+ - Gemfile
195
+ - Gemfile.lock
196
+ - LICENSE.txt
197
+ - README.rdoc
198
+ - Rakefile
199
+ - init.rb
200
+ - iso_code.gemspec
201
+ - lib/iso_code.rb
202
+ - lib/iso_code/base.rb
203
+ - lib/iso_code/iso3166.rb
204
+ - lib/iso_code/iso639.rb
205
+ - lib/iso_code/version.rb
206
+ - spec/iso_code_spec.rb
207
+ - spec/spec_helper.rb
208
+ homepage: https://github.com/tbpro/iso_code
209
+ licenses:
210
+ - MIT
211
+ post_install_message:
212
+ rdoc_options: []
213
+
214
+ require_paths:
215
+ - lib
216
+ required_ruby_version: !ruby/object:Gem::Requirement
217
+ none: false
218
+ requirements:
219
+ - - ">="
220
+ - !ruby/object:Gem::Version
221
+ hash: 3
222
+ segments:
223
+ - 0
224
+ version: "0"
225
+ required_rubygems_version: !ruby/object:Gem::Requirement
226
+ none: false
227
+ requirements:
228
+ - - ">="
229
+ - !ruby/object:Gem::Version
230
+ hash: 3
231
+ segments:
232
+ - 0
233
+ version: "0"
234
+ requirements: []
235
+
236
+ rubyforge_project:
237
+ rubygems_version: 1.7.2
238
+ signing_key:
239
+ specification_version: 3
240
+ summary: Countries and languages by ISO codes
241
+ test_files: []
242
+