Further thoughts on DateTime::Format::Gedcom language issues:

This may be heretical, but it seems to me that attempting to provide 
*universal* language support opens up a can of worms that (unless one is 
prepared to devote a lifetime or three to the task) is too large to be 
digested. The required knowledge of individual languages surely presents an 
insurmountable hurdle.

Ron mentions (in another context) modern French. As it happens, I have some 
French ancestry, and enough elementary knowledge to know my avril from my 
elbow; but I have no idea how dates are represented in Swahili, Farsi, Mandarin 
or the inverse click of the Kalahari Bushmen. I'll bet that there are many, 
many weird and wonderful (to Western mindsets) ways of describing dates.

LANGUAGE_ID in the GEDCOM spec has:
 
Afrikaans | Albanian | Anglo-Saxon | Catalan | Catalan_Spn | Czech | Danish | 
Dutch | English | Esperanto | Estonian | Faroese | Finnish | French | German | 
Hawaiian | Hungarian | Icelandic | Indonesian | Italian | Latvian | Lithuanian 
| Navaho | Norwegian | Polish | Portuguese | Romanian | Serbo_Croa | Slovak | 
Slovene | Spanish | Swedish | Turkish | Wendic

plus ("other languages not supported until UNICODE")

Amharic | Arabic | Armenian | Assamese | Belorusian | Bengali | Braj | 
Bulgarian | Burmese | Cantonese | Church-Slavic | Dogri | Georgian | Greek | 
Gujarati | Hebrew | Hindi | Japanese | Kannada | Khmer | Konkani | Korean | 
Lahnda | Lao | Macedonian | Maithili | Malayalam | Mandrin |Manipuri | Marathi 
| Mewari | Nepali | Oriya | Pahari | Pali | Panjabi | Persian | Prakrit | Pusto 
| Rajasthani | Russian | Sanskrit | Serb | Tagalog | Tamil | Telugu | Thai | 
Tibetan | Ukrainian | Urdu | Vietnamese | Yiddish ]

Now, I hear you saying "that's ridiculous - I've never seen a GEDCOM in Navaho, 
Faroese, or Rajasthani, and never will", which is a very fair point.
But DateTime::Format::Gedcom claims to parse GEDCOM dates; it doesn't say "some 
conditions apply."

Therefore, I reluctantly and unhappily suggest that DateTime::Format::Gedcom 
should be a base class, from which DateTime::Format::Gedcom::English, 
DateTime::Format::Gedcom::French, DateTime::Format::Gedcom::Sanskrit [...] 
would derive.

Yes, it's ghastly. The old joke about "surpasseth all understanding" = 
"understands all parsers" applies.

Mike Hamilton

Reply via email to