diff --git a/lib/babosa/transliterator/base.rb b/lib/babosa/transliterator/base.rb index ae4d3c3..6de2804 100644 --- a/lib/babosa/transliterator/base.rb +++ b/lib/babosa/transliterator/base.rb @@ -22,6 +22,7 @@ module Transliterator autoload :Ukrainian, "babosa/transliterator/ukrainian" autoload :Greek, "babosa/transliterator/greek" autoload :Vietnamese, "babosa/transliterator/vietnamese" + autoload :Turkish, "babosa/transliterator/turkish" def self.get(symbol) class_name = symbol.to_s.split("_").map {|a| a.gsub(/\b('?[a-z])/) { $1.upcase }}.join diff --git a/lib/babosa/transliterator/turkish.rb b/lib/babosa/transliterator/turkish.rb new file mode 100644 index 0000000..e5f6260 --- /dev/null +++ b/lib/babosa/transliterator/turkish.rb @@ -0,0 +1,8 @@ +# encoding: utf-8 + +module Babosa + module Transliterator + class Turkish < Latin + end + end +end diff --git a/spec/transliterators/turkish_spec.rb b/spec/transliterators/turkish_spec.rb new file mode 100644 index 0000000..50924ae --- /dev/null +++ b/spec/transliterators/turkish_spec.rb @@ -0,0 +1,24 @@ +# encoding: utf-8 +require File.expand_path("../../spec_helper", __FILE__) + +describe Babosa::Transliterator::Turkish do + + let(:t) { described_class.instance } + it_behaves_like "a latin transliterator" + + it "should transliterate various characters" do + examples = { + "Nâzım" => "Nazim", + "sükûnet" => "sukunet", + "millîleştirmek" => "millilestirmek", + "mêmur" => "memur", + "lôkman" => "lokman", + "yoğurt" => "yogurt", + "şair" => "sair", + "İzmir" => "Izmir", + "yığın" => "yigin", + "çarşı" => "carsi" + } + examples.each {|k, v| expect(t.transliterate(k)).to eql(v)} + end +end