From NovaRoma
Jump to: navigation, search

 Home| Latíné | Deutsch | Español | Français | Italiano | Magyar | Português | Română | Русский | English

Latin grammar

The Latin language
The Latin sentence
The four conjugations
The five declensions

Nominative - Accusative - Genitive - Dative - Ablative

Vocative - Locative

Latin phrasebook
Latin for e-mail
Latin jokes
Reading list
Online resources

All articles about Latin

When we directly address or call someone in Latin, we use a form of the name (or any noun or adjective used in the address) called the "vocative case". Here are the basic rules for making a vocative:

  • If a name ends in "-ius", then the vocative ends in "-i". "Tullius" becomes "Tulli".
  • If a word ends in "-us", then the vocative ends in "-e". "Marcus" becomes "Marce".
  • All other words do not change at all. "Cicero" stays "Cicero", "Livia" stays "Livia" and so on.

Usage in practice

It is a good idea in general to use the praenomen and nomen combination (the first two parts of the name):

  • To say hello to Marcus Lucretius Agricola you would write "Salve, Marce Lucreti!".
  • To say hello to Aulus Apollonius Cordus you would write "Salve, Aule Apolloni!".
  • To say hello to Gaius Equitius Cato you would write "Salve, Gai Equiti!".

A more informal style is for friends to use the cognomen (the last part of the name):

  • "Salve, Agricola!"
  • "Salve, Corde!"
  • "Salve, Cato!"

Only if you are family members or very, very close friends indeed with these people you could write:

  • "Salve, Marce!""
  • "Salve, Aule!"
  • "Salve, Gai!"

There is a complete discussion of *which* name you should use at Using Roman names.

Algorithmically speaking...

This perl function will return the vocative form of a name.

    sub makeVocative
        my ($nomen) = @_;

        my @elements = split(/\s+/, $nomen);
        for (my $i=0; $i<=$#elements; $i++)
            $elements[$i] =~ s/ius$/i/;
            $elements[$i] =~ s/us$/e/;
            $elements[$i] =~ s/IUS$/I/;
            $elements[$i] =~ s/US$/E/;
        return join(' ', @elements);
Personal tools