提交 8b5ecd2f authored 作者: Buklov Boris's avatar Buklov Boris

mod_say_ru now support say_string like mod_say_en. Now support channel variables…

mod_say_ru now support say_string like mod_say_en. Now support channel variables gender,cases can be set in english and russian for example: <action application="set" data="cases=nominativus/>  <action application="set" data="gender=male_h"/> <action application="say" data="ru NUMBER PRONOUNCED  1001"/>
上级 71dd91d8
......@@ -12,6 +12,8 @@
//http://ru.wiktionary.org/wiki/%D0%BE%D0%B4%D0%B8%D0%BD
//http://ru.wiktionary.org/wiki/%D0%BF%D0%B5%D1%80%D0%B2%D1%8B%D0%B9
typedef enum {
million,
thousand,
......@@ -22,28 +24,40 @@ typedef enum {
//тип числа порядковое или количественное
typedef enum {
nominativus, // именительный Кто? Что?
genitivus, // Родительный Кого? Чего?
dativus, // дательный Кого? Что?
genitivus, // Родительный Кого? Чего?
dativus, // дательный Кого? Что?
accusativus_a, // Винительный Кого? animate - одушевлённый
accusativus_i, // Винительный Что? inanimate - неодушевлённый
instrumentalis, // Творительный Кем? Чем?
prepositive // Предложный О ком? О чём?
} casus_t;
prepositive // Предложный О ком? О чём?
} cases_t;
typedef enum {
//количественный
male_c, //мужского пола
it_c, //среднего
female_c, //женского
plural_c, //множественное число
male, //мужского пола
it, //среднего
female, //женского
plural, //множественное число
//порядковый
male_h, //порядковое мужского пола
it_h, //порядковое среднего
female_h, //порядковое женского
plural_h //порядковое множественное число
} say_type_t;
male_h, //порядковое мужского пола
it_h, //порядковое среднего
female_h, //порядковое женского
plural_h //порядковое множественное число
} say_gender_t;
typedef enum {
ruble,
dollar
} currency_t;
typedef struct {
say_gender_t gender;
cases_t cases;
currency_t currency;
} say_opt_t;
struct say_t {
......@@ -53,6 +67,7 @@ struct say_t {
int all;
};
typedef switch_status_t (*switch_new_say_callback_ru_t) (switch_say_file_handle_t *sh, char *tosay, switch_say_args_t *say_args,say_opt_t *say_opt);
//именительный
//именительный количественный/числительное
......@@ -60,7 +75,7 @@ struct say_t {
//мужской род родительный падеж
//первая строка описывае как произносить цифры от 0 до 5 потом пристаставка и окончания для остальных
// тоже самое для тысяч и миллионов, только ещё с произношением тысяч и миллионов в вонце так же окончание для цифр
// тоже самое для тысяч и миллионов, только ещё с произношением тысяч и миллионов в конце так же окончание для цифр
// как произносить тысячи и миллионы берёт с цифры 5
#define m_00 {\
......@@ -96,23 +111,25 @@ struct say_t {
//порядковый
//мужской
#define m_04 {\
{"","","","","","","",""},\
{"","","","","","","","","","","","","",""},\
{"","","","","","","","","","","","","",""},\
{"h-0m","h-1m","h-2m","h-3m","h-4m","h-5m","h-","m"},\
{"","","1f","thousand","2f","thousands-i","3","thousands-i","4","thousands-i","5","thousands","",""},\
{"","","","million","2","million-a","3","million-a","4","million-a","5","millions","",""},\
0,\
}\
//средний
#define m_05 {\
{"","","","","","","",""},\
{"","","","","","","","","","","","","",""},\
{"","","","","","","","","","","","","",""},\
{"0","1n","2","3","4","5","",""},\
{"","","1f","thousand","2f","thousands-i","3","thousands-i","4","thousands-i","5","thousands","",""},\
{"","","","million","2","million-a","3","million-a","4","million-a","5","millions","",""},\
0,\
}\
//женский
#define m_06 {\
{"","","","","","","",""},\
{"","","","","","","","","","","","","",""},\
{"","","","","","","","","","","","","",""},\
{"h-0f","h-1f","h-2f","h-3f","h-4f","h-5f","h-","f"},\
{"","","1f","thousand","2f","thousands-i","3","thousands-i","4","thousands-i","5","thousands","",""},\
{"","","1","million","2","million-a","3","million-a","4","million-a","5","millions","",""},\
0,\
}\
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论