Assaf Solomovitch Tsahi Talmor


How to add another language support



Download 266.03 Kb.
Page4/6
Date30.04.2017
Size266.03 Kb.
#16751
1   2   3   4   5   6

How to add another language support



Add another language “cookbook”
One of the main design principles is the extensibility of the system. We tried to divide our software into separate, independent modules. This way, changing or plugging in into Phoneme should be fairly easy and bug-less.

One Such example is the “add language” extension. Phoneme is designed to handle any unicode-supported language (virtually any language).

Here we will descrive this fairly easy process. Let’s assume we want to add Russian support to Phoneme:


  1. Add russian to enum like that: PhoneticTranslator.SUPPORTED_LANGUAGES { HEBREW,RUSSIAN}

  2. Add another menu item

  3. Create a class Rus2EnMap that mapps Latin characters to Cyrillic characters.

  4. Create a class “RussianTranslator”, which implements ITranslatable, meaning that has enough wisdom inside it to translate a word in phonemic Russian to Cyrillic Russian. This class should use the Rus2EnMap class.

  5. Add code in PhonteicTranslator::setLanguage(String) which allocates the class from section 4 if Russian is selected. E.g:

else if (m_language == SUPPORTEDLANGUAGES.RUSSIAN)

m_myTranslator = new RussianTranslator();



That’s it!

Appendix A
כתיבה וקריאה בכתב פונמי

(נוסח מקוצר)
Taken from http://mila.cs.technion.ac.il

כללי התעתיק (כללי הכתיבה)

תעתיק העיצורים


האות

התעתיק

האות

התעתיק

האות

התעתיק

א

^ או `

י

y

ק

Q

בּ, ב

b

כ, כּ, ך

k

ר

R

גּ, ג

g

ל

l

ֹש

$, š

דּ, ד

d

מ, ם

m

שֹ
$, j, ś

ה

h

נ, ן

n

ת

t

ו

w

ס

s

ג'

ğ

ז

z

ע

' &

ז'

ž

ח

, ḥ x

פּ, פ, ף

p

צ'

č

ט

ṭ @

צ, ץ

c







סימני עזר: - להפרדת מילות שימוש זעירות, _ להפרדה בין אותיות זהות כשאין הכוונה למכפל.
תעתיק התנועות: חמש התנועות הן: a,e,i,o,u. תנועה שישית היא צירוף של e ו-i. סימון זה נחוץ רק כדי לתעתק בו את הצירה המלא, תנועה המסומנת בכתב העברי באות י'. כך למשל תיכתב המילה העברית ביצה: beica.


  1. בתעתיק מדויק אין צורך לתעתק תנועות לא-פונמיות, כגון שווא ("נע" וכמובן "נח"), פתח גנוב, תנועת עזר סגולית, וזה יהיה אפוא תעתיק המילים הבאות: ילדים, כלבים, דואר, ילד, תפוח: tappux, yeld, do`r, klabim, yladim. כך ניכר יפה המשקל והמבנה התיאורטי של המילה, וניתן להשוות למשל בין צורות הריבוי הדומות של ילד ושל כלב לעומת הביצוע השונה שלהן.

2. מכפל (דגש חזק) יש לתעתק ברצף של שתי אותיות זהות. במיוחד יש לשים לב לאותיות ב, כ, פ. כאן אם המבטא קשה ולפני העיצור הזה באה תנועה – אין להשמיט כפל אותיות בשום מקרה: tikkon לעומת tikon, dober - dibbur ( תִּכּוֹן – תִּיכוֹן, דּוֹבֵר – דִּבּוּר, וראו את הסעיף המתאים בכללי הקריאה.)




  1. שני עיצורים זהים רצופים שאינם יוצרים מכפל – יש להוסיף ביניהם קו נומך ("_") כגון xog_gim (חוֹגְגִים), בלעדיו ייראה כאן מכפל.



  1. מילות השימוש הזעירות מ-, ש-, ה-, ו-, כ-, ל-, ב- - שבכתב העברי אין רווח אחריהן – מופרדות מן המילה שאחריהן במקף: ha-bayt, mi-$am. (אין אלה "אותיות", ובשפתנו החיה לא נכון לכנות קבוצה זו כאילו הן אותיות.) כללי התעתיק של האקדמיה מציעים הפרדה בין ה' היידוע והמילה שאחריה, אך אינם מזכירים את שאר המילות.

5. א' בראש מילה – ראוי לכתבה, גם אם עיצור א' אינו נשמע למעשה.



6. החטפים: ראוי להתייחס אל כל חטף כאל תנועה לא פונמית: ×xda$im, hlika, `munim .
Appendix B

Phoneme Documentation

Phoneme Class Documentation


Phoneme::AppProfile Class Reference Error: Reference source not found

Public Member Functions Error: Reference source not found

Public Attributes Error: Reference source not found

Detailed Description Error: Reference source not found

Constructor & Destructor Documentation Error: Reference source not found

Member Function Documentation Error: Reference source not found

Member Data Documentation Error: Reference source not found

Phoneme::Heb2EnMap Class Reference Error: Reference source not found

Public Member Functions Error: Reference source not found

Detailed Description Error: Reference source not found

Constructor & Destructor Documentation Error: Reference source not found

Member Function Documentation Error: Reference source not found

Phoneme::HebrewTranslator Class Reference Error: Reference source not found

Public Member Functions Error: Reference source not found

Public Attributes Error: Reference source not found

Detailed Description Error: Reference source not found

Constructor & Destructor Documentation Error: Reference source not found

Member Data Documentation Error: Reference source not found

Phoneme::IPhoneticTranslatorUserInteraction Interface Reference Error: Reference source not found

Public Member Functions Error: Reference source not found

Detailed Description Error: Reference source not found

Member Function Documentation Error: Reference source not found

Phoneme::ITranslatable Interface Reference Error: Reference source not found

Public Member Functions Error: Reference source not found

Detailed Description Error: Reference source not found

Member Function Documentation Error: Reference source not found

Phoneme::LowLevelKeyboardHook Class Reference Error: Reference source not found

Public Member Functions Error: Reference source not found

Public Attributes Error: Reference source not found

Static Public Attributes Error: Reference source not found

Classes Error: Reference source not found

Detailed Description Error: Reference source not found

Constructor & Destructor Documentation Error: Reference source not found

Member Function Documentation Error: Reference source not found

Member Data Documentation Error: Reference source not found

Phoneme::LowLevelKeyboardHook::KeboardHookEventArgs Class Reference Error: Reference source not found

Detailed Description Error: Reference source not found

Phoneme::Phoneme Class Reference Error: Reference source not found

Public Member Functions Error: Reference source not found

Public Attributes Error: Reference source not found

Static Public Attributes Error: Reference source not found

Protected Member Functions Error: Reference source not found

Detailed Description Error: Reference source not found

Constructor & Destructor Documentation Error: Reference source not found

Member Function Documentation Error: Reference source not found

Member Data Documentation Error: Reference source not found

Phoneme::PhoneticTranslator Class Reference Error: Reference source not found

Public Types Error: Reference source not found

Public Member Functions Error: Reference source not found

Public Attributes Error: Reference source not found

Detailed Description Error: Reference source not found

Member Enumeration Documentation Error: Reference source not found

Constructor & Destructor Documentation Error: Reference source not found

Member Function Documentation Error: Reference source not found

Member Data Documentation Error: Reference source not found

Phoneme::predefinedTranslations Class Reference Error: Reference source not found

Public Member Functions Error: Reference source not found

Detailed Description Error: Reference source not found

Constructor & Destructor Documentation Error: Reference source not found

Member Function Documentation Error: Reference source not found

Phoneme::StringTrie Class Reference Error: Reference source not found

Public Member Functions Error: Reference source not found

Public Attributes Error: Reference source not found

Detailed Description Error: Reference source not found

Constructor & Destructor Documentation Error: Reference source not found

Member Function Documentation Error: Reference source not found

Member Data Documentation Error: Reference source not found

Phoneme::TrieNode Class Reference Error: Reference source not found

Public Member Functions Error: Reference source not found

Public Attributes Error: Reference source not found

Detailed Description Error: Reference source not found

Constructor & Destructor Documentation Error: Reference source not found

Member Function Documentation Error: Reference source not found

Member Data Documentation Error: Reference source not found

Phoneme::Win32API Class Reference Error: Reference source not found

Public Types Error: Reference source not found

Classes Error: Reference source not found

Detailed Description Error: Reference source not found

Member Enumeration Documentation Error: Reference source not found

Phoneme::Win32API::POINT Struct Reference Error: Reference source not found

Detailed Description Error: Reference source not found

Phoneme::WordlistDBInterface Interface Reference Error: Reference source not found

Public Member Functions Error: Reference source not found

Detailed Description Error: Reference source not found

Member Function Documentation Error: Reference source not found



Download 266.03 Kb.

Share with your friends:
1   2   3   4   5   6




The database is protected by copyright ©ininet.org 2024
send message

    Main page