by Michael S. Kaplan, published on 2011/10/26 07:01 -04:00, original URI: http://blogs.msdn.com/b/michkap/archive/2011/10/26/10230215.aspx
Previously, in Improving genitive. Or not.... (part 1), I didn't say very much.
But I suppose in a way I didn't have to, if I wanted you to read between the lines!
By pointing to example of a specific limitation in the way that the "detect if genitive is required" algorithm works, one can craft a format string that is mis-detected as requiring the genitive form.
And the supposition I made in that blog was that no prior format ran into this problem in any locale we shipped and thus was previously a non-issue.
I mean, a custom format could cause it, but such customizations are really really really really really really really rare.
And the fact that no one ever reported it before supports my supports my supposition.
My further supposition was that once a format existed that runs into the problem, that no one wanted to fix the algorithm to make it better at detecting the need for genitive months.
I think this second supposition is in some measure more provably true since the algorithm is largely unchanged from the original one written back in 1993.
The first supposition might be incorrect if people had been complaining but we never heard about it, right? :-)
I guess I'm making the argument that the algorithm should be improved. The current test is (essentially - I'm not going to post source but for people in access who want to follow along it is in base\Win32\winnls\nlslib\datetime.c) that if:
Then it decides your genitive.
Okay, so Latvian trips them up here with its format.
They have a period, which is an obvious way to say "new sentence" to a small Latvian child, though this algorithm that is old enough to buy liquor in some jurisdictions can't tell the difference when the two items near each other span a sentence boundary.
Of course that character that is sometimes also a date separator, too, so it easy to criticize but much harder to fix!
Ultimately no one ever considered whether to tweak the algorithm to better catch this case.
It seems like it would be a worthy bug to fix at some point, right? :-)
Raymond on 26 Oct 2011 7:34 AM:
That's not a sentence-ending period you got there. It's an ordinal marker, and I would expect the genitive to follow it. This is not based on any knowledge of Latvian, but rather of German: "24. januar" = "the 24th *of* January."
Michael S. Kaplan on 26 Oct 2011 7:36 AM:
Yes, for German. But it's reportedly different in the Latvian case (thus the "won't fix" bug of old)....
go to newer or older post, or back to index or month or day