Changeset - r12372:db29caf51ece
[Not reviewed]
master
0 3 0
rubidium - 15 years ago 2009-07-13 14:42:09
rubidium@openttd.org
(svn r16811) -Change: introduce a plural 'rule' for Korean
3 files changed with 28 insertions and 1 deletions:
0 comments (0 inline, 0 general)
src/lang/korean.txt
Show inline comments
 
##name Korean
 
##ownname 한국어
 
##isocode ko_KR
 
##plural 1
 
##plural 11
 
##textdir ltr
 
##digitsep .
 
##digitsepcur .
src/strings.cpp
Show inline comments
 
@@ -430,6 +430,32 @@ static int DeterminePluralForm(int64 cou
 
		 *   Czech */
 
		case 10:
 
			return n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2;
 

	
 
		/* Two forms, special 'hack' for Korean; singular for numbers ending
 
		 *   in a consonant and plural for numbers ending in a vowel.
 
		 * Korean doesn't have the concept of plural, but depending on how a
 
		 * number is pronounced it needs another version of a particle.
 
		 * As such the plural system is misused to give this distinction.
 
		 */
 
		case 11:
 
			switch (n % 10) {
 
				case 0: // yeong
 
				case 1: // il
 
				case 3: // sam
 
				case 6: // yuk
 
				case 7: // chil
 
				case 8: // pal
 
					return 0;
 

	
 
				case 2: // i
 
				case 4: // sa
 
				case 5: // o
 
				case 9: // gu
 
					return 1;
 

	
 
				default:
 
					NOT_REACHED();
 
			}
 
	}
 
}
 

	
src/table/strgen_tables.h
Show inline comments
 
@@ -161,6 +161,7 @@ static const PluralForm _plural_forms[] 
 
	{ 4, "Four forms, special case for 1 and all numbers ending in 02, 03, or 04" },
 
	{ 2, "Two forms, singular used for everything ending in 1 but not in 11" },
 
	{ 3, "Three forms, special case for 1 and 2, 3, or 4" },
 
	{ 2, "Two forms, cases for numbers ending with a consonant and with a vowel" },
 
};
 

	
 
/* Flags:
0 comments (0 inline, 0 general)