در زبان فارسی پخش اعداد و ترتیب کلمات در جملات با زبان انگلیسی تفاوتهایی دارد به همین علت برای فارسی سازی غیر از محتوی فارسی لازم است گرامر پخش اعداد نیز تغییر کند . ما در اینجا شما را با نحوه انجام این کار آشنا می کنیم.
- به منظور اضافه کردن زبان فارسی در استریسک پوشه ای با نام fa در مسیر var/lib/asterisk/sounds/ ایجاد می کنیم:
# mkdir -p /var/lib/asterisk/sounds/fa
- برای فارسی سازی اعداد در استریسک ابتدا لام است فایلهای صوتی با محتوی زیر(جدول A-1) را تهیه و در مسیر /var/lib/asterisk/sounds/fa/digits کپی کنید. و فایل say.conf در مسیر /etc/asterisk/ را ویرایش کرده و تنظیمات زیر را به فایلsay.conf اضافه کنید. و استریسک را بازنشانی کنید.
# nano /etc/asterisk/say.conf
;;;;;; ;;;;;;;;Persian;;;;;;; [fa-base](!) _[n]um:0. => num:${SAY:1} _[n]um:X => digits/${SAY} _[n]um:1X => digits/${SAY} _[n]um:[2-9]0 => digits/${SAY} _[n]um:[2-9][1-9] => digits/${SAY:0:1}0o, num:${SAY:1} _[n]um:X00 => digits/${SAY} _[n]um:XXX => digits/${SAY:0:1}00o, num:${SAY:1} _[n]um:1000 => digits/hezar _[n]um:X000 => digits/${SAY:0:1}, digits/hezar _[n]um:XXXX => digits/${SAY:0:1}, digits/hezaro, num:${SAY:1} _[n]um:XX000 => num:${SAY:0:2}, digits/hezar _[n]um:XXXXX => num:${SAY:0:2}, digits/hezaro, num:${SAY:2} _[n]um:XXX000 => num:${SAY:0:3}, digits/hezar _[n]um:XXXXXX => num:${SAY:0:3}, digits/hezaro, num:${SAY:3} _[n]um:X000000 => num:${SAY:0:1}, digits/million _[n]um:XXXXXXX => num:${SAY:0:1}, digits/milliono, num:${SAY:1} _[n]um:XX000000 => num:${SAY:0:2}, digits/million _[n]um:XXXXXXXX => num:${SAY:0:2}, digits/milliono, num:${SAY:2} _[n]um:XXX000000 => num:${SAY:0:3}, digits/million _[n]um:XXXXXXXXX => num:${SAY:0:3}, digits/milliono, num:${SAY:3} _[n]um:X000000000 => num:${SAY:0:1}, digits/miliard _[n]um:XXXXXXXXXX => num:${SAY:0:1}, digits/miliardo, num:${SAY:1} _[n]um:XX000000000 => num:${SAY:0:2}, digits/miliard _[n]um:XXXXXXXXXXX => num:${SAY:0:2}, digits/miliardo, num:${SAY:2} _[n]um:XXX000000000 => num:${SAY:0:3}, digits/miliard _[n]um:XXXXXXXXXXXX => num:${SAY:0:3}, digits/miliardo, num:${SAY:3} ; enumeration _e[n]um:0X => digits/${SAY:1:1}of _e[n]um:[1-3]X => digits/${SAY}of _e[n]um:[2-9]0 => digits/h-${SAY} _e[n]um:[2-9][1-9] => num:${SAY:0:1}0, digits/h-${SAY:1} _e[n]um:[1-9]00 => num:${SAY:0:1}, digits/h-hundred _e[n]um:[1-9]XX => num:${SAY:0:1}, digits/h-hundred, enum:${SAY:1} [fa](fa-base) ; time hours ;_hour:X => digits/${SAY}h _hour:0000 => digits/24 _hour:00XX => num:${SAY:2:2}, digits/minute, digits/a-m _hour:000X => num:/${SAY:3:1}, digits/minute, digits/a-m _hour:0X00 => num:${SAY:1:1} _hour:0X0X => digits/h-${SAY:1:1}, num:${SAY:3:1}, digits/minute _hour:0XXX => digits/h-${SAY:1:1}, num:${SAY:2:2}, digits/minute _hour:XX00 => num:${SAY:0:2} _hour:XX0X => digits/h-${SAY:0:2}, num:${SAY:3:1}, digits/minute _hour:XXXX => digits/h-${SAY:0:2}, num:${SAY:2:2}, digits/minute _digit:[0-9] => digits/${SAY} _digit:[-] => letters/dash _digit:[*] => letters/star _digit:[@] => letters/at _digit:[0-9]. => digit:${SAY:0:1},digits/oh, digit:${SAY:1} ; the 'SAY' variable contains YYYYMMDDHHmm.ss-dow-doy ; these rule map the strftime attributes. _date:[Y]:. => num:${SAY:0:4} ; year, 19xx _date:[Bbh]:. => digits/mon-${SAY:4:2} ; month name, 0..11 _date:[Aa]:. => digits/day-${SAY:16:1} ; day of week _date:[de]:. => enum:${SAY:6:2} ; day of month _date:[H]:. => hour:${SAY:8:4} ; hour (oh one, oh two, ..., oh nine, ten, eleven, ..., twenty-three) _date:[I]:. => num:$[${SAY:8:2} % 12] ; hour 0-12 ;_date:[M]:. => digits/${SAY:10:2} ; minute _date:[M]:. => mnt:${SAY:10:2} ; minute ; XXX too bad the '?' function does not remove the quotes ; _date:[pP]:. => digits/$[ ${SAY:10:2} > 12 ? "p-m" :: "a-m"] ; am pm _date:[pP]:. => digits/p-m ; am pm _date:[S]:. => num:${SAY:13:2} ; seconds _date:[Ii]:. => num:$[${SAY:8:2} % 12] ; hour 0-12 _date:[k]:. => num:${SAY:8:2} ; hour (one, two. three, ...,twenty three _date:[m]:. => num:${SAY:4:2} ; month number _date:[Q]:. => date:dby ;incompleat ; "today", "yesterday" or ABdY _date:[q]:. => date:dby ;incompleat ; "" (for today), "yesterday", weekday, or ABdY _date:[R]:. => date:HM${SAY} ; 24 hour time, including minute _date:[T]:. => date:HMS${SAY} ; 24 hour, minure, seconds _datetime::. => date:AdBYH:${SAY} _datetime:dBY:. => date:dBY:${SAY} _datetime:ABdYH:. => date:AdBYH:${SAY} _datetime:H:. => date:H:${SAY}
- برای تست زبان داخلی مورد نظرتان را fa تنظیم کرده و کانتکس آن را را به test-say تغییر داده و تنظیم زیر را به فایل /etc/asterisk/extensions.conf/ اضافه کرده و استریسک را بازنشانی و از روی داخلی مورد نظر شماره ۱۲۳ را شماره گیری کنید:
[test-say] exten = 123,1,SayUnixTime() exten = 123,n,SayNumber(34367867879) exten = 123,n,goto(1)
# service asterisk restart
نام فایل | محتوا فارسی |
۱of | اول ِ |
۲of | دوم ِ |
۳of | سوم ِ |
۴of | چهارم ِ |
۵of | پنجم ِ |
۶of | ششم ِ |
۷of | هفتم ِ |
۸of | هشتم ِ |
۹of | نهم ِ |
۱۰of | دهم ِ |
۱۱of | یازدهم ِ |
۱۲of | دوازدهم ِ |
۱۳of | سیزدهم ِ |
۱۴of | چهاردهم ِ |
۱۵of | پانزدهم ِ |
۱۶of | شانزدهم ِ |
۱۷of | هفدهم ِ |
۱۸of | هجدهم ِ |
۱۹of | نوزدهم ِ |
۲۰of | بیستم ِ |
۲۱of | بیست و یکم ِ |
۲۲of | بیست و دوم ِ |
۲۳of | بیست و سوم ِ |
۲۴of | بیست و چهارم ِ |
۲۵of | بیست و پنجم ِ |
۲۶of | بیست و ششم ِ |
۲۷of | بیست و هفتم ِ |
۲۸of | بیست و هشتم ِ |
۲۹of | بیست و نهم ِ |
۳۰of | سی اُم ِ |
۳۱of | سی و یکم |
۱۰۰o | یکصد ُ |
۱۰۰ | یکصد |
۱۰ | ده |
۱۱ | یازده |
۱۲ | دوازده |
۱۳ | سیزده |
۱۴ | چهارده |
۱۵ | پانزده |
۱۶ | شانزده |
۱۷ | هفده |
۱۸ | هجده |
۱۹ | نوزده |
۱ | یک |
۲۰۰o | دویست ُ |
۲۰۰ | دویست |
۲۰o | بیست ُ |
۲۰ | بیست |
۲ | دو |
۳۰۰o | سیصد ُ |
۳۰۰ | سیصد |
۳۰o | سی ُ |
۳۰ | سی |
۳ | سه |
۴۰۰o | چهارصد ُ |
۴۰۰ | چهارصد |
۴۰o | چهل ُ |
۴۰ | چهل |
۴ | چهار |
۵۰۰o | پانصد ُ |
۵۰۰ | پانصد |
۵۰o | پنجاه ُ |
۵۰ | پنجاه |
۵ | پنج |
۶۰۰o | ششصد ُ |
۶۰۰ | ششصد |
۶۰o | شصت ُ |
۶۰ | شصت |
۶ | شش |
۷۰۰o | هفتصد ُ |
۷۰۰ | هفتصد |
۷۰o | هفتاد ُ |
۷۰ | هفتاد |
۷ | هفت |
۸۰۰o | هشتصد ُ |
۸۰۰ | هشتصد |
۸۰o | هشتاد ُ |
۸۰ | هشتاد ُ |
۸ | هشت |
۹۰۰o | نهصد ُ |
۹۰۰ | نهصد |
۹۰o | نود ُ |
۹۰ | نود |
۹ | نه |
hezaro | هزارُ |
hezar | هزار |
miliardo | میلیارد ُ |
miliard | میلیارد |
milliono | میلیون ُ |
million | میلیون |
zero | صفر |
۲zeros | دو صفر |
۳zeros | سه صفر |
۴zeros | چهار صفر |
۵zeros | پنج صفر |
۶zeros | شش صفر |
h-1 | یک ُ |
h-2 | دو ُ |
h-3 | سه ُ |
h-4 | چهار ُ |
h-5 | پنج ُ |
h-6 | شش ُ |
h-7 | هفت ُ |
h-8 | هشت ُ |
h-9 | نه ُ |
h-10 | ده ُ |
h-11 | یازده ُ |
h-12 | دوازده ُ |
h-13 | سیزده ُ |
h-14 | چهارده ُ |
h-15 | پانزده ُ |
h-16 | شانزده ِ |
h-17 | هفده ُ |
h-18 | هجده ُ |
h-19 | نوزده ُ |
h-20 | بیست ُ |
h-21 | بیست و یک ُ |
h-22 | بیست و دوُ |
h-23 | بیست و سه ُ |
h-24 | بیست وچهارُ |
h-30 | سی اُم |
a-m | بامداد |
p-m | بعد از ظهر |
hundred | صد |
thousand | هزار |
million | میلیون |
day-6 | شنبه |
day-0 | یکشنبه |
day-1 | دوشنبه |
day-2 | سه شنبه |
day-3 | چهارشنبه |
day-4 | پنج شنبه |
day-5 | جمعه |
dollars | دلار |
mon-0 | ژانویه ء |
mon-1 | فوریه ء |
mon-2 | مارس ِ |
mon-3 | آوریل ِ |
mon-4 | می ِ |
mon-5 | ژوئن ِ |
mon-6 | جولای ِ |
mon-7 | آگوست ِ |
mon-8 | سپتامبر ِ |
mon-9 | اکتبر ِ |
mon-10 | نوامبر ِ |
mon-11 | دسامبر ِ |
oclock | ساعت ِ |
and | و |
minute | دقیقه |
second | ثانیه |
star | ستاره |
Thousandand | هزار |
pound | مربع |
today | امروز |
tomorrow | فردا |
yesterday | دیروز |