| * Add documentation about dictionary flags. | * Add documentation about dictionary flags. | ||||
| updated languages: | updated languages: | ||||
| * ba (Bashkir) -- boracasli98, Valdis Vitolins | |||||
| * chr (Cherokee) -- Michael Conrad | |||||
| * ba (Bashkir) -- boracasli98, Valdis Vitolins, Juho Hiltunen | |||||
| * de (German) -- Karl Eick | * de (German) -- Karl Eick | ||||
| * el (Modern Greek) -- Reece Dunn (support for variant Greek letter forms) | * el (Modern Greek) -- Reece Dunn (support for variant Greek letter forms) | ||||
| * en (English) -- Steven Presser, Ben Talagan | * en (English) -- Steven Presser, Ben Talagan | ||||
| * ga (Gaelic (Irish)) Chen, Chien-ting | * ga (Gaelic (Irish)) Chen, Chien-ting | ||||
| * grc (Ancient Greek) -- Reece Dunn (support for variant Greek letter forms) | * grc (Ancient Greek) -- Reece Dunn (support for variant Greek letter forms) | ||||
| * hak (Hakka Chinese) -- Juho Hiltunen | |||||
| * haw (Hawaiian) -- Juho Hiltunen | |||||
| * kok (Konkani) -- Juho Hiltunen | |||||
| * nb (Norwegian Bokmål) -- Juho Hiltunen | |||||
| * nci (Classical Nahuatl) -- Juho Hiltunen | |||||
| * hy (Armenian) -- tigransimonyan | * hy (Armenian) -- tigransimonyan | ||||
| * ia (Interlingua) -- nesrad | * ia (Interlingua) -- nesrad | ||||
| * it (Italian) -- Christian Leo | * it (Italian) -- Christian Leo | ||||
| * ja (Japanese) -- fukuen | |||||
| * ja (Japanese) -- fukuen, Juho Hiltunen | |||||
| * jbo (Lojban) -- Juho Hiltunen, xunsku | * jbo (Lojban) -- Juho Hiltunen, xunsku | ||||
| * lv (Latvian) -- Valdis Vitolins | * lv (Latvian) -- Valdis Vitolins | ||||
| * mi (Māori) -- boracasli98 | * mi (Māori) -- boracasli98 | ||||
| * tr (Turkish) -- boracasli98 | * tr (Turkish) -- boracasli98 | ||||
| * ur (Urdu) -- Ejaz Shah | * ur (Urdu) -- Ejaz Shah | ||||
| * uz (Uzbek) -- boracasli98, Valdis Vitolins | * uz (Uzbek) -- boracasli98, Valdis Vitolins | ||||
| * zh (Chinese) -- Silas S. Brown, Rongcui Dong, Icenowy Zheng | |||||
| * zh (Chinese) -- Silas S. Brown, Rongcui Dong, Icenowy Zheng, Juho Hiltunen | |||||
| new languages: | new languages: | ||||
| * chr (Cherokee) -- Michael Conrad | * chr (Cherokee) -- Michael Conrad |
| These controls how numbers are pronounced. | These controls how numbers are pronounced. | ||||
| If `numbers` is set to `0` (the default value), numbers will not be pronounced. | |||||
| Setting it to `1` will enable number pronunciation using the dictionary rules. | |||||
| If `numbers` is set to `0`, numbers will not be pronounced. | |||||
| Setting it to `1` (the default value) will enable number pronunciation using the dictionary rules. | |||||
| For more control over number pronunciation, see the flags in `translate.h`. | |||||
| tr->langopts.max_digits | tr->langopts.max_digits | ||||
| * Copyright (C) 2005 to 2015 by Jonathan Duddington | * Copyright (C) 2005 to 2015 by Jonathan Duddington | ||||
| * email: [email protected] | * email: [email protected] | ||||
| * Copyright (C) 2015-2016, 2020 Reece H. Dunn | * Copyright (C) 2015-2016, 2020 Reece H. Dunn | ||||
| * Copyright (C) 2021 Juho Hiltunen | |||||
| * | * | ||||
| * This program is free software; you can redistribute it and/or modify | * This program is free software; you can redistribute it and/or modify | ||||
| * it under the terms of the GNU General Public License as published by | * it under the terms of the GNU General Public License as published by | ||||
| tr->langopts.min_roman = 2; | tr->langopts.min_roman = 2; | ||||
| tr->langopts.thousands_sep = ','; | tr->langopts.thousands_sep = ','; | ||||
| tr->langopts.decimal_sep = '.'; | tr->langopts.decimal_sep = '.'; | ||||
| tr->langopts.numbers = NUM_DEFAULT; | |||||
| tr->langopts.break_numbers = BREAK_THOUSANDS; | tr->langopts.break_numbers = BREAK_THOUSANDS; | ||||
| tr->langopts.max_digits = 14; | tr->langopts.max_digits = 14; | ||||
| switch (name2) | switch (name2) | ||||
| { | { | ||||
| case L('m', 'i'): | |||||
| case L('m', 'y'): | |||||
| case L4('p', 'i', 'q', 'd'): // piqd | |||||
| case L('p', 'y'): | |||||
| case L('q', 'u'): | |||||
| case L3('q', 'u', 'c'): | |||||
| case L('t', 'h'): | |||||
| case L('u', 'z'): | |||||
| { | |||||
| tr->langopts.numbers = 0; // disable numbers until the definition are complete in _list file | |||||
| } | |||||
| break; | |||||
| case L('a', 'f'): | case L('a', 'f'): | ||||
| { | { | ||||
| static const short stress_lengths_af[8] = { 170, 140, 220, 220, 0, 0, 250, 270 }; | static const short stress_lengths_af[8] = { 170, 140, 220, 220, 0, 0, 250, 270 }; | ||||
| tr->langopts.param[LOPT_CAPS_IN_WORD] = 1; // capitals indicate stressed syllables | tr->langopts.param[LOPT_CAPS_IN_WORD] = 1; // capitals indicate stressed syllables | ||||
| SetLetterVowel(tr, 'y'); | SetLetterVowel(tr, 'y'); | ||||
| tr->langopts.max_lengthmod = 368; | tr->langopts.max_lengthmod = 368; | ||||
| tr->langopts.numbers = 0; // disable numbers until the definition are complete in _list file | |||||
| } | } | ||||
| break; | break; | ||||
| case L('k', 'a'): // Georgian | case L('k', 'a'): // Georgian |
| #define L(c1, c2) (c1<<8)+c2 // combine two characters into an integer for translator name | #define L(c1, c2) (c1<<8)+c2 // combine two characters into an integer for translator name | ||||
| #define L3(c1, c2, c3) (c1<<16)+(c2<<8) + c3 // combine three characters into an integer for translator name | #define L3(c1, c2, c3) (c1<<16)+(c2<<8) + c3 // combine three characters into an integer for translator name | ||||
| #define L4(c1, c2, c3, c4) (c1<<24)+(c2<<16)+(c3<<8) + c4 // combine four characters into an integer for translator name | |||||
| #define CTRL_EMBEDDED 0x01 // control character at the start of an embedded command | #define CTRL_EMBEDDED 0x01 // control character at the start of an embedded command | ||||
| #define REPLACED_E 'E' // 'e' replaced by silent e | #define REPLACED_E 'E' // 'e' replaced by silent e |