[Unicode]   Common Locale Data Repository : Bug Tracking Home | Site Map | Search
 
Modify

CLDR Ticket #10891(accepted unknown)

Opened 9 months ago

Last modified 9 days ago

Chuvash number formatting rules

Reported by: sascha Owned by: grhoten
Component: rbnf Data Locale: cv
Phase: dsub Review:
Weeks: Data Xpath:
Xref:

Description

Below are rule-based number formatting rules for the Chuvash [cv] language, contributed by Борис Орехов (cc’ed). Boris sent me the signed Unicode Contributor LIcense Agreement. Please talk to Boris directly in case of any questions.

%%lenient-parse:
&[last primary ignorable ] << ' ' << ',' << '-' << '';
%spellout-numbering-year
x =0=;
0: =%spellout-ordinal=;
%spellout-cardinal-short:
1: пӗр
2: ик
3: виҫ
4: тӑват
6: улт
7: ҫич
10: вун
%spellout-cardinal-full:
-x: минус >>
0: ноль
X.x: x[<%spellout-cardinal-full<$(cardinal, {тулли те})$] >%%spellout-fractions>
1: пӗрре
2: иккӗ
3: виҫҫӗ
4: тӑваттӑ
5: пиллӗк
6: улттӑ
7: ҫиччӗ
8: саккӑр
9: тӑххӑр
10: вуннӑ
11: вун пӗр
12: вун иккӗ
13: вун [ >>]
20: ҫирӗм [ >>]
30: вӑтӑр [ >>]
40: хӗрӗх [ >>]
50: аллӑ [ >>]
60: утмӑл [ >>]
70: ҫитмӗл [ >>]
80: сакӑр вун[ >>]
90: тӑхӑр вун[ >>]
100: ҫӗр
101: ҫӗр те пӗрре
102: ҫӗр те [ >>]
120: ҫӗр ҫирӗм
121: ҫӗр [ >>]
200: <%spellout-cardinal-short< $(cardinal,{ҫӗр})$ [ >>]
1000: пин
1001: пин те пӗрре
1002: пин те [ >>]
2000: <%spellout-cardinal-short< $(cardinal, {пин})$ [ >>]
spellout-ordinal:
<%spellout-cardinal-full<мӗш

Attachments

Change History

comment:1 Changed 9 months ago by kent.karlsson14@…

Fixing the gravest errors and omissions, with a number of guesses to fill out the gaps. Will need more work.

 %spellout-numbering-year:
 x.x: =#0.#=;
 0: =%spellout-ordinal=;


 %%spellout-cardinal-short:
 1: пӗр;
 2: ик;
 3: виҫ;
 4: тӑват;
 6: улт;
 7: ҫич;
 8: сак;
 9: тӑх;
 10: вун;
 11: =%spellout-cardinal=;

%spellout-cardinal:
-x: минус >>;
x.x: << ... >>;
 0: ноль;
 1: пӗрре;
 2: иккӗ;
 3: виҫҫӗ;
 4: тӑваттӑ;
 5: пиллӗк;
 6: улттӑ;
 7: ҫиччӗ;
 8: саккӑр;
 9: тӑххӑр;
 10: вуннӑ;
 11: вун пӗр;
 12: вун[ >>];
 20: ҫирӗм[ >>];
 30: вӑтӑр[ >>];
 40: хӗрӗх[ >>];
 50: аллӑ[ >>];
 60: утмӑл[ >>];
 70: ҫитмӗл[ >>];
 80: сакӑр вун[ >>];
 90: тӑхӑр вун[ >>];
 100: <%%spellout-cardinal-short< ҫӗр[ >>];
 1000: <%%spellout-cardinal-short< пин[ >>];
1000000: <%%spellout-cardinal-short< милион[ >>];
1000000000: <%%spellout-cardinal-short< милијард[ >>];
1000000000000: <%%spellout-cardinal-short< билион[ >>];
1000000000000000: <%%spellout-cardinal-short< билијард[ >>];
1000000000000000000: =#,##0=;

 %spellout-ordinal:
 0: =%spellout-cardinal=мӗш;

comment:2 Changed 9 months ago by kent.karlsson14@…

One step closer.

This still has only two forms for numbers, but there appears to be three forms. Like:
2: ik, ikĕ, ikkĕ
3: viş, vişĕ, vişşĕ
4: tăvat, tăvată, tăvattă

That, and some still missing items ("infinity") and uncertainties about the exact construction, needs more work.

%spellout-numbering-year:
NaN: мар хисеп;
x.x: =#0.#=;
0: =%spellout-numbering=;

%spellout-numbering:
NaN: мар хисеп;
-x: минус >>;
x.x: << запятой >>;
0: ноль;
1: пӗрре;
2: иккӗ;
3: виҫҫӗ;
4: тӑваттӑ;
5: пиллӗк;
6: улттӑ;
7: ҫиччӗ;
8: саккӑр;
9: тӑххӑр;
10: вуннӑ;
11: вун[>>];
20: ҫирӗм[ >>];
30: вӑтӑр[ >>];
40: хӗрӗх[ >>];
50: аллӑ[ >>];
60: утмӑл[ >>];
70: ҫитмӗл[ >>];
80: сакӑрвуннă;
81: сакӑрвунӑ >>;
90: тӑхӑрвуннă;
91: тӑхӑрвунӑ >>;
100: ҫӗр[ >>];
200: <%spellout-cardinal<ҫӗр[ >>];
1000: пин[ >>];
2000: <%spellout-cardinal<пин[ >>];
10000: <%spellout-cardinal< пин[ >>];
1000000: <%spellout-cardinal< милион[ >>];
1000000000: <%spellout-cardinal< милијард[ >>];
1000000000000: <%spellout-cardinal< билион[ >>];
1000000000000000: <%spellout-cardinal< билијард[ >>];
1000000000000000000: =#,##0=;

%spellout-cardinal:
NaN: мар хисеп
-x: минус >>;
x.x: << запятой >>;
0: ноль;
1: пӗр;
2: ик;
3: виҫ;
4: тӑват;
6: улт;
7: ҫич;
8: сакӑр;
9: тӑхӑр;
10: вун[>>];
20: ҫирӗм[ >>];
30: вӑтӑр[ >>];
40: хӗрӗх[ >>];
50: аллӑ[ >>];
60: утмӑл[ >>];
70: ҫитмӗл[ >>];
80: сакӑрвун[ >>];
90: тӑхӑрвун[ >>];
100: ҫӗр[ >>];
200: <%spellout-cardinal<ҫӗр[ >>];
1000: пин[ >>];
2000: <%spellout-cardinal<пин[ >>];
10000: <%spellout-cardinal< пин[ >>];
1000000: <%spellout-cardinal< милион[ >>];
1000000000: <%spellout-cardinal< милијард[ >>];
1000000000000: <%spellout-cardinal< билион[ >>];
1000000000000000: <%spellout-cardinal< билијард[ >>];
1000000000000000000: =#,##0=;


%spellout-ordinal:
NaN: мар хисеп
-x: минус >>;
x.x: =#0.#=;
0: =%spellout-cardinal=мӗш;

comment:3 Changed 8 months ago by kent.karlsson14@…

Found a new reference. Between the two "cardinal" variations, there seems be "free variation". Here I used the shorter one for prefixes.

Now good enough for inclusion (in seed), I'd say.

%spellout-numbering-year:
Inf: кӗҫ;
NaN: мар хисеп;
x.x: =#0.#=;
0: =%spellout-numbering=;

%spellout-numbering:
Inf: кӗҫ;
NaN: мар хисеп;
-x: минус >>;
x.x: << запятой >>;
0: ноль;
1: пӗрре;
2: иккӗ;
3: виҫҫӗ;
4: тӑваттӑ;
5: пиллӗк;
6: улттӑ;
7: ҫиччӗ;
8: саккӑр;
9: тӑххӑр;
10: вуннӑ;
11: вун[>>];
20: ҫирӗм[ >>];
30: вӑтӑр[ >>];
40: хӗрӗх[ >>];
50: аллӑ;
51: ал[ >>];
60: утмӑл[ >>];
70: ҫитмӗл[ >>];
80: сакӑрвуннă;
81: сакӑрвун >>;
90: тӑхӑрвуннă;
91: тӑхӑрвун >>;
100: ҫӗр[ >>];
200: <%%spellout-cardinal-short< ҫӗр[ >>];
1000: пин[ >>];
2000: <%%spellout-cardinal-short< пин[ >>];
1000000: <%%spellout-cardinal-short< милион[ >>];
1000000000: <%%spellout-cardinal-short< милијард[ >>];
1000000000000: <%%spellout-cardinal-short< билион[ >>];
1000000000000000: <%%spellout-cardinal-short< билијард[ >>];
1000000000000000000: =#,##0=;

%spellout-cardinal:
Inf: кӗҫ;
NaN: мар хисеп;
-x: минус >>;
x.x: << запятой >>;
0: ноль;
1: пӗр;
2: икӗ;
3: виҫӗ;
4: тӑватӑ;
5: пилӗк;
6: ултӑ;
7: ҫичӗ;
8: сакӑр;
9: тӑхӑр;
10: вунӑ;
11: вун[>>];
20: ҫирӗм[ >>];
30: вӑтӑр[ >>];
40: хӗрӗх[ >>];
50: алӑ;
51: ал >>;
60: утмӑл[ >>];
70: ҫитмӗл[ >>];
80: сакӑрвунă;
81: сакӑрвун >>;
90: тӑхӑрвунă;
91: тӑхӑрвун >>;
100: ҫӗр[ >>];
200: <%%spellout-cardinal-short< ҫӗр[ >>];
1000: пин[ >>];
2000: <%%spellout-cardinal-short< пин[ >>];
1000000: <%%spellout-cardinal-short< милион[ >>];
1000000000: <%%spellout-cardinal-short< милијард[ >>];
1000000000000: <%%spellout-cardinal-short< билион[ >>];
1000000000000000: <%%spellout-cardinal-short< билијард[ >>];
1000000000000000000: =#,##0=;

%%spellout-cardinal-short:
Inf: кӗҫ;
NaN: мар хисеп;
-x: минус >>;
x.x: << запятой >>;
0: ноль;
1: пӗр;
2: ик;
3: виҫ;
4: тӑват;
5: пилӗк;
6: улт;
7: ҫич;
8: сакӑр;
9: тӑхӑр;
10: вун[>>];
20: ҫирӗм[ >>];
30: вӑтӑр[ >>];
40: хӗрӗх[ >>];
50: ал[ >>];
60: утмӑл[ >>];
70: ҫитмӗл[ >>];
80: сакӑрвун[ >>];
90: тӑхӑрвун[ >>];
100: ҫӗр[ >>];
200: <%%spellout-cardinal-short< ҫӗр[ >>];
1000: пин[ >>];
2000: <%%spellout-cardinal-short< пин[ >>];
1000000: <%%spellout-cardinal-short< милион[ >>];
1000000000: <%%spellout-cardinal-short< милијард[ >>];
1000000000000: <%%spellout-cardinal-short< билион[ >>];
1000000000000000: <%%spellout-cardinal-short< билијард[ >>];
1000000000000000000: =#,##0=;


%spellout-ordinal:
NaN: мар хисеп;
-x: минус >>;
x.x: =#0.#=;
0: =%%spellout-cardinal-short=мӗш;

comment:4 Changed 8 months ago by spectre@…

It's great to see Chuvash getting added to CLDR! :)

A couple of comments:

милион should be миллион
милијард should be миллиард
билион should be биллион
билијард should be биллиард

comment:5 Changed 5 months ago by kristi

  • Owner changed from anybody to sascha
  • Status changed from new to design

comment:6 Changed 5 months ago by sascha

  • Owner changed from sascha to rick
  • Status changed from design to accepted

comment:7 Changed 5 months ago by sascha

  • Owner changed from rick to grhoten

comment:8 Changed 5 months ago by grhoten

Kent's revisions look much less error prone. I know someone that likely knows some Chuvash, and I'll seek her advice on the quality of the rules.

comment:9 Changed 4 months ago by grhoten

The ordinals are misspelled in Kent's submission. Some of the letters tend to double up for the ordinals. Here's an example for first: https://en.wiktionary.org/wiki/%D0%BF%D3%97%D1%80%D1%80%D0%B5%D0%BC%D3%97%D1%88#Chuvash

Based on a quick review, it's also not clear whether the numbering and cardinal variants are correct. The documentation that I've seen has listed both variants as cardinal. I suspect that someone is misunderstanding the purpose of numbering (numbers used in isolation and/or enumeration) versus cardinal (numbers to count nouns). If they're both cardinal, then they should both be listed as cardinal. The provided rules contradict what I found here: https://xn--80aderjdxfblqre9cs.xn--p1ai/%D0%B8%D0%BC%D0%B5%D0%BD%D0%B0-%D1%87%D0%B8%D1%81%D0%BB%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5/

There may be 3 forms for cardinal numbers, but I'm not clear on that point. Due to a lack of clarity of accurate rules, I can't rush these rules into CLDR. I need to get agreement on what the correct rules are. It's also apparent that the original submission was created without testing the rules. So I'm deferring these rules indefinitely until someone more knowledgable submits accurate rules.

As a reminder, these rules can and should be tested with Number Format Tester. Anyone can use it. Reference material that describe the spellings of numbers in Chuvash are also appreciated.

comment:10 Changed 9 days ago by kent.karlsson14@…

Not saying that this is the last and absolutely correct version, but I have done some corrections, and should be a step closer to something acceptable. (No rush, the Chuvash locale in seed is so far very skeletal.)

Yes, I made a mistake for the ordinals spell-out. Also fixed миллион (etc.). Did some other changes that sources mentioned, but only those those that appear in internet searches (going with the most common one).

The "-numbering" are grammatically cardinal, but used without a noun. The "-cardinal-*" are used with a noun. How to use some "alternate forms" of some number spellout (parts) is still unclear.

%spellout-numbering-year:
Inf: кӗҫ;
NaN: мар хисеп;
x.x: =#0.#=;
0: =%spellout-numbering=;

%spellout-numbering:
Inf: кӗҫ;
NaN: мар хисеп;
-x: минус >>;
x.x: << запятой >>;
0: ноль;
1: пӗрре;
2: иккӗ;
3: виҫҫӗ;
4: тӑваттӑ;
5: пиллӗк;
6: улттӑ;
7: ҫиччӗ;
8: саккӑр;
9: тӑххӑр;
10: вуннӑ;
11: вун[>>];
20: ҫирӗм[ >>];
30: вӑтӑр[ >>];
40: хӗрӗх[ >>];
50: аллӑ;
51: ал[ >>];
60: утмӑл[ >>];
70: ҫитмӗл[ >>];
80: сакӑрвуннă;
81: сакӑрвун >>;
90: тӑхӑрвуннă;
91: тӑхӑрвун >>;
100: ҫӗр[ >>];
200: <%spellout-cardinal-short<ҫӗр[ >>];
1000: пин[ те >>];
2000: <%spellout-cardinal< пин[ те >>];
1000000: <%spellout-cardinal< миллион[ >>];
1000000000: <%spellout-cardinal-short< миллијард[ >>];
1000000000000: <%spellout-cardinal< биллион[ >>];
1000000000000000: <%spellout-cardinal-short< биллијард[ >>];
1000000000000000000: =#,##0=;

%spellout-cardinal:
Inf: кӗҫ;
NaN: мар хисеп;
-x: минус >>;
x.x: << запятой >>;
0: ноль;
1: пӗр;
2: икӗ;
3: виҫӗ;
4: тӑватӑ;
5: пилӗк;
6: ултӑ;
7: ҫичӗ;
8: сакӑр;
9: тӑхӑр;
10: вунӑ;
11: вун[>>];
20: ҫирӗм[ >>];
30: вӑтӑр[ >>];
40: хӗрӗх[ >>];
50: алӑ;
51: ал >>;
60: утмӑл[ >>];
70: ҫитмӗл[ >>];
80: сакӑрвунă;
81: сакӑрвун >>;
90: тӑхӑрвунă;
91: тӑхӑрвун >>;
100: ҫӗр[ >>];
200: <%spellout-cardinal-short<ҫӗр[ >>];
1000: пин[ те >>];
2000: <%spellout-cardinal< пин[ те >>];
1000000: <%spellout-cardinal< миллион[ >>];
1000000000: <%spellout-cardinal-short< миллијард[ >>];
1000000000000: <%spellout-cardinal< биллион[ >>];
1000000000000000: <%spellout-cardinal-short< биллијард[ >>];
1000000000000000000: =#,##0=;

%spellout-cardinal-short:
Inf: кӗҫ;
NaN: мар хисеп;
-x: минус >>;
x.x: << запятой >>;
0: ноль;
1: пӗр;
2: ик;
3: виҫ;
4: тӑват;
5: пилӗк;
6: улт;
7: ҫич;
8: сакӑр;
9: тӑхӑр;
10: вун[>>];
20: ҫирӗм[ >>];
30: вӑтӑр[ >>];
40: хӗрӗх[ >>];
50: ал[ >>];
60: утмӑл[ >>];
70: ҫитмӗл[ >>];
80: сакӑрвун[ >>];
90: тӑхӑрвун[ >>];
100: ҫӗр[ >>];
200: <%spellout-cardinal-short<ҫӗр[ >>];
1000: пин[ те >>];
2000: <%spellout-cardinal< пин[ те >>];
1000000: <%spellout-cardinal< миллион[ >>];
1000000000: <%spellout-cardinal-short< миллијард[ >>];
1000000000000: <%spellout-cardinal< биллион[ >>];
1000000000000000: <%spellout-cardinal-short< биллијард[ >>];
1000000000000000000: =#,##0=;


%spellout-ordinal:
NaN: мар хисеп;
-x: минус >>;
x.x: =#0.#=;
0: =%spellout-numbering=мӗш;

https://en.chuvash.org/e/554e4954204649465445454e20284356204d616e75616c2c204772616d6d617229 mentions also "distributive numerals" and "collective numerals" having their own suffixes and special cases. Maybe those cases should have their own rulesets.

View

Add a comment

Modify Ticket

Action
as accepted
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.