[ LUGOS-SLO ] 1024. sredin seminar, 16. maj 2001 (fwd)
Tomaz Erjavec
Tomaz.Erjavec at ijs.si
Fri May 18 13:48:55 CEST 2001
Roman Maurer writes:
> Primo¾ Peterlin pi¹e:
> > Ja, res je. Do tega modula 10 pride seveda samo pri jezikih, ki pregibajo
> > ¹tevnike (slovanski in baltski). Bom povedal natanèneje.
>
> Po¹iljam del datoteke kdelibs/kdecore/klocale.cpp, ki na¹teva pogoje
> za razliène mno¾inske oblike. Mi jih imamo najveè, a jeziki, ki jih
> omenja¹, imajo tudi zapletena pravila.
Smo pac naj, ceprav po kompliciranosti.
> Dvojino pa oèitno pozna tudi "Gaeilge" (kako se reèe po slovensko?).
Stara ir¹èina? Gal¹èina verjetno ni?? V anglescini je Gaelic.
Je pa hecno, da so napisali Gaeilge, kar je ime jezika v njem samem;
to si deli edino se z anglescino - je takoj jasno, zakaj Irci vodijo v
lokalizaciji...
Jezik ima tudi dobro stran: Gaeilge ar an Ghréasán z dosti foghlam na
Gaeilge ar an Idirghréasán.
Pozdrava,
Tomaz
> --
> Pozdrav,
> Roman
>
> - - - -
>
> switch ( d->plural_form ) {
> case 0: // NoPlural
> EXPECT_LENGTH( 1 );
> return put_n_in( forms[0], n);
> break;
> case 1: // TwoForms
> EXPECT_LENGTH( 2 );
> if ( n == 1 )
> return put_n_in( forms[0], n);
> else
> return put_n_in( forms[1], n);
> break;
> case 2: // French
> EXPECT_LENGTH( 2 );
> if ( n == 1 || n == 0 )
> return put_n_in( forms[0], n);
> else
> return put_n_in( forms[1], n);
> break;
> case 3: // Gaeilge
> EXPECT_LENGTH( 3 );
> if ( n == 1 )
> return put_n_in( forms[0], n);
> else if ( n == 2 )
> return put_n_in( forms[1], n);
> else
> return put_n_in( forms[2], n);
> break;
> case 4: // Russian, corrected by mok
> EXPECT_LENGTH( 3 );
> if ( n%10 == 1 && n%100 != 11)
> return put_n_in( forms[0], n); // odin fail
> else if (( n%10 >= 2 && n%10 <=4 ) && (n%100<10 || n%100>20))
> return put_n_in( forms[1], n); // dva faila
> else
> return put_n_in( forms[2], n); // desyat' failov
> break;
> case 5: // Polish
> EXPECT_LENGTH( 3 );
> if ( n == 1 )
> return put_n_in( forms[0], n);
> else if ( n%10 >= 2 && n%10 <=4 && (n%100<10 || n%100>=20) )
> return put_n_in( forms[1], n);
> else
> return put_n_in( forms[2], n);
> break;
> case 6: // Slovenian
> EXPECT_LENGTH( 4 );
> if ( n%100 == 1 )
> return put_n_in( forms[1], n); // ena datoteka
> else if ( n%100 == 2 )
> return put_n_in( forms[2], n); // dve datoteki
> else if ( n%100 == 3 || n%100 == 4 )
> return put_n_in( forms[3], n); // tri datoteke
> else
> return put_n_in( forms[0], n); // sto datotek
> break;
> case 7: // Lithuanian
> EXPECT_LENGTH( 3 );
> if ( n%10 == 0 || (n%100>=11 && n%100<=19) )
> return put_n_in( forms[2], n);
> else if ( n%10 == 1 )
> return put_n_in( forms[0], n);
> else
> return put_n_in( forms[1], n);
> break;
> case 8: // Czech
> EXPECT_LENGTH( 3 );
> if ( n%100 == 1 )
> return put_n_in( forms[0], n);
> else if (( n%100 >= 2 ) && ( n%100 <= 4 ))
> return put_n_in( forms[1], n);
> else
> return put_n_in( forms[2], n);
> break;
> }
>
More information about the lugos-slo
mailing list