Compare commits
2 commits
92f1a980c0
...
aef7001615
Author | SHA1 | Date | |
---|---|---|---|
|
aef7001615 | ||
|
5d242db04d |
4 changed files with 90 additions and 2 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -52,3 +52,5 @@ Module.symvers
|
|||
Mkfile.old
|
||||
dkms.conf
|
||||
|
||||
tags
|
||||
plural
|
||||
|
|
17
README.md
17
README.md
|
@ -1,3 +1,18 @@
|
|||
# sgs-plural
|
||||
# Samogitian language (ISO-639-3: sgs) plural forms
|
||||
|
||||
Written by Arns Udovič in 2021 <a@arns.lt>
|
||||
|
||||
Refs:
|
||||
https://www.gnu.org/software/gettext/manual/gettext.html#Plural-forms
|
||||
|
||||
## Logics
|
||||
|
||||
0 - singular or ending in 1 with exception for 11. Ex., 1 laps
|
||||
1 - dual or ending in 2 with exception for 12. Ex. 2 lapo
|
||||
2 - other plural. Ex. 25 lapā
|
||||
3 - plural for 11-19, 10, 20, 100... Ex. 12 lapu
|
||||
Code to test plural forms in Samogitian language. Needed for translation.
|
||||
|
||||
## Result
|
||||
|
||||
See result.txt
|
||||
|
|
45
plural.c
Normal file
45
plural.c
Normal file
|
@ -0,0 +1,45 @@
|
|||
/**
|
||||
* Samogitian language (ISO-639-3: sgs) plural forms
|
||||
* Written by Arns Udovič in 2021 <a@arns.lt>
|
||||
*
|
||||
* Refs:
|
||||
* https://www.gnu.org/software/gettext/manual/gettext.html#Plural-forms
|
||||
*
|
||||
* 0 - singular or ending in 1 with exception for 11. Ex., 1 laps
|
||||
* 1 - dual or ending in 2 with exception for 12. Ex. 2 lapo
|
||||
* 2 - other plural. Ex. 25 lapā
|
||||
* 3 - plural for 11-19, 10, 20, 100... Ex. 12 lapu
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
main() {
|
||||
int i;
|
||||
int n;
|
||||
int plural;
|
||||
|
||||
printf("This is test of plural forms for Samogitian languages\n");
|
||||
printf("Written by Arns Udovič in 2021 <a@arns.lt>\n\n");
|
||||
printf("0 - singular or ending in 1 with exception for 11. Ex., 1 laps\n");
|
||||
printf("1 - dual or ending in 2 with exception for 12. Ex. 2 lapo\n");
|
||||
printf("2 - other plural. Ex. 25 lapā\n");
|
||||
printf("3 - plural for 11-19, 10, 20, 100... Ex. 12 lapu\n\n");
|
||||
|
||||
int data[] = {0, 1, 2, 3, 10, 11, 15, 20, 21, 22, 25, 100, 101, 102, 115, 200, 1000, 100000};
|
||||
int result[] = {3, 0, 1, 2, 3, 3, 3, 3, 0, 1, 2, 3, 0, 1, 3, 3, 3, 3};
|
||||
|
||||
for (i = 0; i < sizeof(data)/sizeof(int); ++i) {
|
||||
n = data[i];
|
||||
|
||||
plural=(n % 10 == 1 && n % 100 != 11) ? 0
|
||||
: ((n % 10 == 2 && n % 100 != 12) ? 1
|
||||
: ((n % 10 >= 3 && n % 10 <= 9 && (n % 100 < 11 || n % 100 > 19)) ? 2
|
||||
: 3));
|
||||
|
||||
|
||||
printf("Testing %i, should be: %i, got %i\n", n, result[i], plural);
|
||||
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
26
result.txt
Normal file
26
result.txt
Normal file
|
@ -0,0 +1,26 @@
|
|||
This is test of plural forms for Samogitian languages
|
||||
Written by Arns Udovič in 2021 <a@arns.lt>
|
||||
|
||||
0 - singular or ending in 1 with exception for 11. Ex., 1 laps
|
||||
1 - dual or ending in 2 with exception for 12. Ex. 2 lapo
|
||||
2 - other plural. Ex. 25 lapā
|
||||
3 - plural for 11-19, 10, 20, 100... Ex. 12 lapu
|
||||
|
||||
Testing 0, should be: 3, got 3
|
||||
Testing 1, should be: 0, got 0
|
||||
Testing 2, should be: 1, got 1
|
||||
Testing 3, should be: 2, got 2
|
||||
Testing 10, should be: 3, got 3
|
||||
Testing 11, should be: 3, got 3
|
||||
Testing 15, should be: 3, got 3
|
||||
Testing 20, should be: 3, got 3
|
||||
Testing 21, should be: 0, got 0
|
||||
Testing 22, should be: 1, got 1
|
||||
Testing 25, should be: 2, got 2
|
||||
Testing 100, should be: 3, got 3
|
||||
Testing 101, should be: 0, got 0
|
||||
Testing 102, should be: 1, got 1
|
||||
Testing 115, should be: 3, got 3
|
||||
Testing 200, should be: 3, got 3
|
||||
Testing 1000, should be: 3, got 3
|
||||
Testing 100000, should be: 3, got 3
|
Loading…
Reference in a new issue