Vocative
From NovaRoma
(Difference between revisions)
(copied from Latin for email article) |
(perl!) |
||
Line 15: | Line 15: | ||
*"Salve Aule!" | *"Salve Aule!" | ||
*"Salve Gai!" | *"Salve Gai!" | ||
+ | |||
+ | ===Algorithmicly Speaking...=== | ||
+ | |||
+ | This '''perl''' function will return the vocative form of a name. | ||
+ | |||
+ | <pre> | ||
+ | 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); | ||
+ | } | ||
+ | |||
+ | </pre> | ||
[[Category:Lingua Latina]] | [[Category:Lingua Latina]] |
Revision as of 20:22, 17 February 2007
When we call someone by name, we use a form of the name called the "vocative". 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 name ends in "-us", then the vocative ends in "-e". "Marcus" becomes "Marce".
- All other names do not change at all. "Felix" stays "Felix", "Marca" stays "Marca" and so on.
There is a complete discussion of *which* name you should use at Choosing_a_Roman_name#Which_Names.3F .
It is a good idea in general to use the cognomen (the last part of the name).
- To say hello to Marcus Lucretius Agricola you would write "Salve Agricola!".
- To say hello to Aulus Apollonius Cordus you would write "Salve Corde!".
- To say hello to Gaius Equitius Cato you would write "Salve Cato!".
Only if you are very close friends indeed with these people you could write:
- "Salve Marce!"
- "Salve Aule!"
- "Salve Gai!"
Algorithmicly 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); }