Conversione plurale-singolare

NicoChaluna

Nuovo Utente
18 Apr 2013
8
0
0
Salve a tutti,
ho la necessità di risolvere la traduzione di termini di una stringa da plurali a singolari.

Ho scovato sul web una funzione che lo funziona per i termini inglesi ma da quanto ho capito le cose si complicano per quanto concerne la lingua italiana.
Il codice è il seguente:

PHP:
<?php  
function get_plural($word) 
{ 
    if ($word[strlen($word) - 1] === 's') { 
        $ret = "{$word}es"; 
    } else if ($word[strlen($word) - 1] === 'y') { 
        if ($word[strlen($word) - 2] === 'e') { 
            $ret = "{$word}s"; 
        } else { 
            $ret = substr($word, 0, strlen($word) - 1) . "ies"; 
        } 
    } else if ($word[strlen($word) - 1] === 'x') { 
        $ret = substr($word, 0, strlen($word) - 1) . "xes"; 
    } else { 
        $ret = "{$word}s"; 
    } 
    return ucfirst($ret); 
} 


{ 

    if (isset($__plural_desc[$word])) { 
        return $__plural_desc[$word]; 
    } 

    return "{$word}s"; 
}

conoscete per caso un algoritmo di risoluzione di questa problematica?

Grazie in anticipo per le risposte XD
 
uno script gia pronto dovresti cercarlo tramite google ma credo che per l'italiano sia molto piu complesso il ragionamento e quasi irrealizzabile. ti faccio un esempio:

in inglese tutte le parole di norma al plurare acquistano una 's' tranne per alcune eccezioni tipo se finisce con 's' dove si aggiunge 'es'

in italiano la cosa è molto piu complicata se prendo 'dito' diventa 'dita' se prendo 'mano' non diventa 'mana' ma 'mani' ecc ecc
 
Sono riuscito a implementare un algoritmo per mettere da parte la radice di una parola, quindi ad isolare anche la desinenza..
ora il problema non è tramutare le parole che terminano in i che diventano o, e le parole che terminano in e che diventano a... ma creare un vocabolario di termini di eccezioni tipo la parola fiumi, che diventa fiume e non fiumo o fiuma.. la mia domanda è:

esistono nel web vocabolari che contengono queste parole con 'eccezioni ' di questo tipo?

posto una foto che dovrebbe aiutare a chiarire questo concetto:

Immagine.jpg
 

Discussioni simili