LoginRegistration
MyLivePage Inc
 

MyLivePage corporation wiki

Add to Favorites Send us an e-mail
Visitors
djuki777 watch777
9 days ago 26.01.2012 18:09:23
liliya77 Лилия
11 days ago 24.01.2012 23:06:32
tvmarket TVMarket
18 days ago 18.01.2012 03:30:04
contra-terror Музыка, программы, патчи, скачать прослу
22 days ago 13.01.2012 21:40:55
968203861 все.ru
22 days ago 13.01.2012 15:36:19
Calendar
<
February 2012
>
MTWTFSS
  12345
6789101112
13141516171819
20212223242526
272829
Subscription
E-mail: 
Top commentators
ru Администратор
Comments: 45
Back to homeMyLivePage Inc / Pages / General / Информация для переводчиков

Информация для переводчиков

На данный момент добавлена возможность для перевода слова в нескольких формах.

Например, для слова "запись" в русском языке есть 3 формы:

  • 1 запись
  • 2 записи
  • 5 записей

В других языках количество форм другое. Из языков, которые присутствуют в нашей системе на данный момент, максимальное кол-во форм имеет арабский язык - 6 форм.

Соответственно для каждого слова, который мы желаем показать в правильной форме мы создаем 6 ключей типа:

  • record_form_0
  • record_form_1
  • record_form_2
  • record_form_3
  • record_form_4
  • record_form_5

Правила образования различны для разных языков и зависят от n (числа описываемых объектов):

case 'ar':      // arabic +
  // nplurals=6
  $s = '_form_'.(($n==0) ? '0' : ($n==1) ? 1 : ($n==2) ? 2 : (($n % 100 >= 3) && ($n % 100 <= 10)) ? 3 : (($n % 100 >= 11) && ($n % 100 <= 99)) ? 4 : 5);
  return $lang[ $key.$s ];
break;

case 'cz':      // czech +
  // nplurals=3
  $s = '_form_'.(($n==1) ? '0' : ($n>=2 && $n<=4) ? 1 : 2);
  return $lang[ $key.$s ];
break;

case 'de': // german +
case 'bg': // Bulgarian +
case 'gr': // greek +
case 'en': // english +
case 'es': // espanol +
case 'ee': // estonian +
case 'il': // hebrew +
case 'it': // italian +
case 'mn': // mongolian
case 'nl': // dutch +
case 'sq': // albainian +
case 'my': // malay
  // nplurals=2;
  $s = '_form_'.( ($n != 1) ? '0' : 1 );
  return $lang[ $key.$s ];
break;

case 'pl': // polskiy +
  // nplurals=3
  $s = '_form_'.( ($n==1) ? '0' : (($n%10>=2) && ($n%10<=4) && ($n%100<10 || $n%100>=20)) ? 1 : 2);
  return $lang[ $key.$s ];
break;

case 'ru': // russian +
  // nplurals=3
  $s = '_form_'.( (($n%10==1) && ($n%100!=11)) ? '0' : (( ($n%10>=2) && ($n%10<=4) && ($n%100<10 || $n%100>=20)) ? 1 : 2) );
  return $lang[ $key.$s ];
break;

case 'sk': //    Slovak +
  // nplurals=3
  $s = '_form_'.( ($n==1) ? 1 : ($n>=2 && $n<=4) ? 2 : '0' );
  return $lang[ $key.$s ];
break;

case 'fa': // farsi +
case 'ja': // japan +
case 'tr': // turkish +
case 'vn': // Vietnamese +
case 'cn': // Chinese +
case 'tw': // Tradional Chinese ? +
case 'kz': // Kazakh +
  // nplurals=1
  $s = '_form_0';
  return $lang[ $key.$s ];
break;

case 'ua': // Ukrainian +
  // nplurals=3
  $s = '_form_'.( ($n%10==1 && $n%100!=11) ? '0' : ($n%10>=2 && $n%10<=4 && ($n%100<10 || $n%100>=20)) ? 1 : 2 );
  return $lang[ $key.$s ];
break;

case 'lt': // Lithuanian
  // nplurals=3
  $s = '_form_'.( ($n%10==1 && $n%100!=11) ? '0' : ($n%10>=2 && ($n%100<10 || $n%100>=20)) ? 1 : 2 );
  return $lang[ $key.$s ];
break;

case 'fr': // french +
  // nplurals=2
  $s = '_form_'.( $n > 1 ? '0' : 1 );
  return $lang[ $key.$s ];
break;


Comments: 2 Views: 2477 [History of changes] Size:3212 byte
Last changes are made by: Anonymous 692 days ago 15.03.2010 10:20:41
Send comment

Enter the code shown on the image 
Your name 
E-mail 
(visible only to owner of site)
WWW 

Subject

In the text you can use Wiki or HTML tags.



Abuse | © Kolobok smiles, Aiwan