Raised This Month: $ Target: $400
 0% 

Plural world ending in different languages.


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
Chuvi
Junior Member
Join Date: Feb 2012
Location: Russia,Saint-Petersburg
Old 08-23-2012 , 09:33   Plural world ending in different languages.
Reply With Quote #1

Please, check this stock, and add other languages you know.
For this stock i used:
This stock (you may not undertand nothing there )
Plural Form(s) inumTranslation(s)
and List of ISO 639-1 codes for language codes.

For examle, we have word "second".
In english:
1 second, 2 seconds, 3 seconds, 4 seconds, 5 seconds, 10 seconds, 15 seconds, 100 seconds
In russian
1 секунда, 2 секунды, 3 секунды, 4 секунды, 5 секунд, 10 секунд, 15 секунд, 100 секунд.
hm... very poor exaple, but i think you'll understand my idea.

PHP Code:
stock get_ending(num,lang[],output[], const form1[]="", const form2[]="", const form3[]="")
{
    
    new 
num100=num%100num10=num%10;

    if(
equali(lang,"en"))//English
    
{
        if(
num==1)
            
format(output,charsmax(output),"%s",form1)
        else
            
format(output,charsmax(output),"%s",form2)
    }
    else
    if(
equali(lang,"fr"))//French
    
{
        if(
num<2)
            
format(output,charsmax(output),"%s",form1)
        else
            
format(output,charsmax(output),"%s",form2)
    }
    else
    if(
equali(lang,"cs")) //Czech
    
{
        if(
num100==1)
            
format(output,charsmax(output),"%s",form1)
        else
        if(
num100>=2&&num100<=4)
            
format(output,charsmax(output),"%s",form2)
        else
            
format(output,charsmax(output),"%s",form3)
    }
    else
    if(
equali(lang,"ga")) //Irish
    
{
        if(
num==1)
            
format(output,charsmax(output),"%s",form1)
        else
        if(
num==2)
            
format(output,charsmax(output),"%s",form2)
        else
            
format(output,charsmax(output),"%s",form3)
    }
    else
    if(
equali(lang,"lv")) //Latvian
    
{
        if(
num10 == 1&& num100 != 11)
            
format(output,charsmax(output),"%s",form1)
        else
        if(
num!= 0)
            
format(output,charsmax(output),"%s",form2)
        else
            
format(output,charsmax(output),"%s",form3)
    }
    else
    if(
equali(lang,"lt")) //Lithuanian
    
{
        if(
num10==1&& num100!=11)
            
format(output,charsmax(output),"%s",form1)
        else
        if(
num!= 0)
            
format(output,charsmax(output),"%s",form2)
        else
            
format(output,charsmax(output),"%s",form3)
    }
    else
    if(
equali(lang,"mk")) //Macedonian
    
{
        if(
num10==1)
            
format(output,charsmax(output),"%s",form1)
        else
        if(
num10==2)
            
format(output,charsmax(output),"%s",form2)
        else
            
format(output,charsmax(output),"%s",form3)
    }
    else
    if(
equali(lang,"pl")) //Polish
    
{
        if(
num==1)
            
format(output,charsmax(output),"%s",form1)
        else
        if(
num10>=2&& num10<=4&& (num100<10||num100>20))
            
format(output,charsmax(output),"%s",form2)
        else
            
format(output,charsmax(output),"%s",form3)
    }
    else
    if(
equali(lang,"ro")) //Romanian
    
{
        if(
num==1)
            
format(output,charsmax(output),"%s",form1)
        else
        if(
num==0||(num100>=1&&num100<=20))
            
format(output,charsmax(output),"%s",form2)
        else
            
format(output,charsmax(output),"%s",form3)
    }
    else
    if(
equali(lang,"ru"))//Russian
    
{
        if(
num10==1&&num100!=11)
            
format(output,charsmax(output),"%s",form1)
        else
        if(
num10>=2&&num10<=4&&(num100<10||num100>20))
            
format(output,charsmax(output),"%s",form2)
        else
            
format(output,charsmax(output),"%s",form3)
    }
    else
    if(
equali(lang,"sk")) //Slovak
    
{
        if(
num==1)
            
format(output,charsmax(output),"%s",form1)
        else
        if(
num>=2&&num<=4)
            
format(output,charsmax(output),"%s",form2)
        else
            
format(output,charsmax(output),"%s",form3)
    }
    else
    if(
equali(lang,"ja")) //Japanese
    
{
            
format(output,charsmax(output),"%s",form1)
    }
    
/*
    Other Languages
    */
    
else
    
format(output,charsmax(output),"%s",form1)



Last edited by Chuvi; 08-23-2012 at 09:34. Reason: Wrote "very" like "wery"
Chuvi is offline
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 05:42.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode