VoiceMan
Public Member Functions
RusLang Class Reference

The class for Russian language operations. More...

Inheritance diagram for RusLang:
Lang

List of all members.

Public Member Functions

bool equalChars (wchar_t c1, wchar_t c2) const
 Checks if specified characters are represent same letter.
void expandNumbers (std::wstring &str, bool singleDigits) const
 Replaces numbers with their word representation.
std::wstring getAllChars () const
 Returns all characters of Russian alphabet (in both cases)
Lang::CharType getCharType (wchar_t c) const
 Returns type of specified character.
void load (const std::string &fileName)
 Loads string constants from external file.
void markCapitals (const std::wstring &text, BoolVector &marks) const
 Marks letters to speak separately (usual acronims)
 RusLang ()
 The default constructor.
std::wstring separate (const std::wstring &text) const
 Inserts additional spaces to better words processing.
wchar_t toLower (wchar_t ch) const
 Returns lower case of the specified character.
std::wstring toLower (const std::wstring &str) const
 Returns lower case of the specified string.
wchar_t toUpper (wchar_t ch) const
 Returns upper case of the specified character.
std::wstring toUpper (const std::wstring &str) const
 Returns upper case of the specified string.
virtual ~RusLang ()
 The destructor.

Detailed Description

This class is used to provide all language-specific information for Russian language. VoiceMan server has associated language object for all portions of text.Usually these objects are used to get set of characters, translate digits into words representation, perform case insensitive characters comparing and for some others.

See also:
LangManager EngLang

Member Function Documentation

bool RusLang::equalChars ( wchar_t  c1,
wchar_t  c2 
) const [virtual]

Almost in every language each letter can be represented in different cases and different characters are used. This method checks, if specified characters are represent the same letter.

Parameters:
[in]c1The first character to compare
[in]c2The second character to compare
Returns:
Non-zero if provided characters are the same letters or zero otherwise

Implements Lang.

void RusLang::expandNumbers ( std::wstring &  str,
bool  singleDigits 
) const [virtual]

This method replaces all digits by their words representation with the rules of Russian language. Single digits mode replaces just each digit with corresponding word.

Parameters:
[in/out]str The string to process
[in]singleDigitsProcess each digit as separate number

Implements Lang.

std::wstring RusLang::getAllChars ( ) const [virtual]

This method allows you to enumerate all characters used in Russian language.

Returns:
All characters of Russian language

Implements Lang.

Lang::CharType RusLang::getCharType ( wchar_t  c) const [virtual]

This method allows you to get class of specified character. It returns one of the following values: Lang::UpCase, Lang::LowCase or Lang::Other.

Parameters:
[in]cThe character to get type of
Returns:
Type of specified character (Lang::UpCase, Lang::LowCase or Lang::Other)

Implements Lang.

void RusLang::load ( const std::string &  fileName)

This method reads external file and takes from it all string constants necessary for Russian language operations. These constants stored not in source code because it is impossible to use strings not in US-ASCII character set.

Parameters:
[in]fileNameThe name of the file to take constants from
void RusLang::markCapitals ( const std::wstring &  text,
BoolVector &  marks 
) const [virtual]

This method marks characters to speak phonetically . Usually some heuristic or predefined table are used.

Parameters:
[in]textThe string to process
[out]marksThe boolean vector to save marks

Implements Lang.

std::wstring RusLang::separate ( const std::wstring &  text) const [virtual]

This method inserts additional spaces to split words to avoid using capital letters in the middle of the words. If capital letter are used in the middle of the word this method will insert space before it.

Parameters:
[in]textThe string to process
Returns:
The string with splitted words

Implements Lang.

wchar_t RusLang::toLower ( wchar_t  ch) const [virtual]

This method adjusts provided character to lower case.

Parameters:
[in]chThe character to return lower case of
Returns:
The lower case of provided character

Implements Lang.

std::wstring RusLang::toLower ( const std::wstring &  str) const [virtual]

This method adjusts characters of provided string to lower case.

Parameters:
[in]strThe string to return lower case of
Returns:
The lower case of provided string

Implements Lang.

wchar_t RusLang::toUpper ( wchar_t  ch) const [virtual]

This method adjusts provided character to upper case.

Parameters:
[in]chThe character to return upper case of
Returns:
The upper case of provided character

Implements Lang.

std::wstring RusLang::toUpper ( const std::wstring &  str) const [virtual]

This method adjusts characters of provided string to upper case.

Parameters:
[in]strThe string to return upper case of
Returns:
The upper case of provided string

Implements Lang.