goldendict-ng/russiantranslit.cc
shenleban tongying 4452c06c3e Replace sptr with std::shared_ptr
* Make sptr an alias of std::shared_ptr
* Make old sptr's implicit conversion explict through std::make_shared
2022-11-28 22:54:31 -05:00

113 lines
2.3 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/* This file is (c) 2008-2012 Konstantin Isakov <ikm@goldendict.org>
* Part of GoldenDict. Licensed under GPLv3 or later, see the LICENSE file */
#include "russiantranslit.hh"
#include "transliteration.hh"
#include <QCoreApplication>
namespace RussianTranslit {
class RussianTable: public Transliteration::Table
{
public:
RussianTable();
};
RussianTable::RussianTable()
{
// Utf8
// Lowercase
ins( "a", "а" );
ins( "b", "б" );
ins( "v", "в" );
ins( "w", "в" );
ins( "g", "г" );
ins( "d", "д" );
ins( "e", "е" );
ins( "yo", "ё" );
ins( "zh", "ж" );
ins( "z", "з" );
ins( "i", "и" );
ins( "j", "й" );
ins( "k", "к" );
ins( "l", "л" );
ins( "m", "м" );
ins( "n", "н" );
ins( "o", "о" );
ins( "p", "п" );
ins( "r", "р" );
ins( "s", "с" );
ins( "t", "т" );
ins( "u", "у" );
ins( "f", "ф" );
ins( "h", "х" );
ins( "ts", "ц" );
ins( "c", "ц" );
ins( "ch", "ч" );
ins( "sh", "ш" );
ins( "shch", "щ" );
ins( "\"", "ъ" );
ins( "y", "ы" );
ins( "'", "ь" );
ins( "'e", "э" );
ins( "yu", "ю" );
ins( "ya", "я" );
// Uppercase
ins( "A", "А" );
ins( "B", "Б" );
ins( "V", "В" );
ins( "W", "В" );
ins( "G", "Г" );
ins( "D", "Д" );
ins( "E", "Е" );
ins( "YO", "Ё" );
ins( "Yo", "Ё" );
ins( "ZH", "Ж" );
ins( "Zh", "Ж" );
ins( "Z", "З" );
ins( "I", "И" );
ins( "J", "Й" );
ins( "K", "К" );
ins( "L", "Л" );
ins( "M", "М" );
ins( "N", "Н" );
ins( "O", "О" );
ins( "P", "П" );
ins( "R", "Р" );
ins( "S", "С" );
ins( "T", "Т" );
ins( "U", "У" );
ins( "F", "Ф" );
ins( "H", "Х" );
ins( "TS", "Ц" );
ins( "Ts", "Ц" );
ins( "C", "Ц" );
ins( "CH", "Ч" );
ins( "Ch", "Ч" );
ins( "SH", "Ш" );
ins( "Sh", "Ш" );
ins( "SHCH", "Щ" );
ins( "ShCh", "Щ" );
ins( "Y", "Ы" );
ins( "'E", "Э" );
ins( "YU", "Ю" );
ins( "Yu", "Ю" );
ins( "YA", "Я" );
ins( "Ya", "Я" );
}
sptr< Dictionary::Class > makeDictionary()
{
static RussianTable t;
return std::make_shared<Transliteration::TransliterationDictionary>( "cf1b74acd98adea9b2bba16af38f1086",
QCoreApplication::translate( "RussianTranslit", "Russian Transliteration" ).toUtf8().data(),
QIcon( ":/flags/ru.png" ), t );
}
}