Skip to content

Turkish say module#2974

Open
mehmet-yildirim wants to merge 4 commits intosignalwire:masterfrom
mehmet-yildirim:master
Open

Turkish say module#2974
mehmet-yildirim wants to merge 4 commits intosignalwire:masterfrom
mehmet-yildirim:master

Conversation

@mehmet-yildirim
Copy link

Description

This PR adds Turkish say module developments for features below:

  • Counted and ordered number say
  • Date and time say with support of measurement and exact time with "at" (-de, -da)
  • Money say with Lira and Kurus

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Documentation update
  • Code cleanup / refactor

Related Issues

Testing

Tested on internal production IVR insfrastructure.

  • Added/updated unit tests
  • Tested manually
  • Tested with live SignalWire credentials (if applicable)

Checklist

  • I have read the CONTRIBUTING guidelines
  • My code follows the project's style guidelines
  • I have added tests for my changes (if applicable)
  • I have updated documentation (if applicable)
  • All existing tests pass

Additional Notes

I've named personality as "begonvil" but it can be changed. The sound file list is given below.

Digits Category (digits/)

Basic Numbers (0-9)

  • digits/0 - Zero (sıfır)
  • digits/1 - One (bir)
  • digits/2 - Two (iki)
  • digits/3 - Three (üç)
  • digits/4 - Four (dört)
  • digits/5 - Five (beş)
  • digits/6 - Six (altı)
  • digits/7 - Seven (yedi)
  • digits/8 - Eight (sekiz)
  • digits/9 - Nine (dokuz)

Tens (10-90)

  • digits/10 - Ten (on)
  • digits/20 - Twenty (yirmi)
  • digits/30 - Thirty (otuz)
  • digits/40 - Forty (kırk)
  • digits/50 - Fifty (elli)
  • digits/60 - Sixty (altmış)
  • digits/70 - Seventy (yetmiş)
  • digits/80 - Eighty (seksen)
  • digits/90 - Ninety (doksan)

Ordinal Numbers (1st-9th)

  • digits/1-nth - First (birinci)
  • digits/2-nth - Second (ikinci)
  • digits/3-nth - Third (üçüncü)
  • digits/4-nth - Fourth (dördüncü)
  • digits/5-nth - Fifth (beşinci)
  • digits/6-nth - Sixth (altıncı)
  • digits/7-nth - Seventh (yedinci)
  • digits/8-nth - Eighth (sekizinci)
  • digits/9-nth - Ninth (dokuzuncu)

Ordinal Tens (10th-90th)

  • digits/10-nth - Tenth (onuncu)
  • digits/20-nth - Twentieth (yirminci)
  • digits/30-nth - Thirtieth (otuzuncu)
  • digits/40-nth - Fortieth (kırkıncı)
  • digits/50-nth - Fiftieth (ellinci)
  • digits/60-nth - Sixtieth (altmışıncı)
  • digits/70-nth - Seventieth (yetmişinci)
  • digits/80-nth - Eightieth (sekseninci)
  • digits/90-nth - Ninetieth (doksanıncı)

Large Numbers

  • digits/yuz - Hundred (yüz)
  • digits/yuzuncu - Hundredth (yüzüncü)
  • digits/bin - Thousand (bin)
  • digits/bin-nth - Thousandth (bininci)
  • digits/milyon - Million (milyon)
  • digits/milyon-nth - Millionth (milyonuncu)
  • digits/milyar - Billion (milyar)
  • digits/milyar-nth - Billionth (milyarıncı)
  • digits/trilyon - Trillion (trilyon)
  • digits/trilyon-nth - Trillionth (trilyonuncu)

Special

  • digits/nokta - Point/dot (nokta) - used for IP addresses

Time Category (time/)

Time Units

  • time/saat - Hour (saat)
  • time/saat+ - Hour with continuation (saat) - used when followed by minutes or seconds
  • time/dakika - Minute (dakika)
  • time/dakika+ - Minute with continuation (dakika) - used when followed by seconds
  • time/saniye - Second (saniye)

Date References

  • time/bugun - Today (bugün)
  • time/dun - Yesterday (dün)

Locative Suffixes (used for time expressions)

  • time/de - Locative suffix "de" (at/in)
  • time/da - Locative suffix "da" (at/in) - used for numbers ending in 0, 6, 9, or specific numbers like 10, 30
  • time/ta - Locative suffix "ta" (at/in) - used for number 40
  • time/te - Locative suffix "te" (at/in) - used for numbers ending in 3, 4, 5

Months (0-11, where 0 = January)

  • time/mon-0 - January (Ocak)
  • time/mon-1 - February (Şubat)
  • time/mon-2 - March (Mart)
  • time/mon-3 - April (Nisan)
  • time/mon-4 - May (Mayıs)
  • time/mon-5 - June (Haziran)
  • time/mon-6 - July (Temmuz)
  • time/mon-7 - August (Ağustos)
  • time/mon-8 - September (Eylül)
  • time/mon-9 - October (Ekim)
  • time/mon-10 - November (Kasım)
  • time/mon-11 - December (Aralık)

Days of Week (0-6, where 0 = Sunday)

  • time/day-0 - Sunday (Pazar)
  • time/day-1 - Monday (Pazartesi)
  • time/day-2 - Tuesday (Salı)
  • time/day-3 - Wednesday (Çarşamba)
  • time/day-4 - Thursday (Perşembe)
  • time/day-5 - Friday (Cuma)
  • time/day-6 - Saturday (Cumartesi)

Money Category (money/)

  • money/lira - Lira (lira) - Turkish currency unit
  • money/kurus - Kurus (kuruş) - Turkish currency subunit (cents)

ASCII Category (ascii/)

Used for telephone numbers and spelled names:

  • ascii/43 - Plus sign (+) - used in telephone numbers
  • ascii/97 through ascii/122 - Lowercase letters a-z (used for telephone numbers and spelled names)

Phonetic ASCII Category (phonetic-ascii/)

Used for phonetic spelling of names:

  • phonetic-ascii/97 through phonetic-ascii/122 - Phonetic pronunciation of lowercase letters a-z

Special Streams

  • silence_stream://100 - 100 milliseconds of silence - used as separator in telephone numbers

Notes

  • All digit files support dynamic formatting with %d or %c placeholders (e.g., digits/%d for numbers 0-9, digits/%d0 for tens 10-90)
  • Ordinal numbers use the -nth suffix and are used when SSM_COUNTED method is specified
  • Locative suffixes are automatically selected based on the last digit of the number according to Turkish grammar rules
  • Month and day indices follow standard C library conventions (tm_mon: 0-11, tm_wday: 0-6)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant