Day 44 and 45: More Language!!
š± It finally happened. I didnāt write a blog post yesterday. Here is two days worth of ramblings then.
š Tying up my Slovak investigation⦠for now
In the last blog post I wrote I left myself a bunch of notes about my Slovak investigation. On Monday I condensed those notes even more and wrote a comment on the issue with my findings. In the comment I asked for help from two contributors to help point me in the next direction to actually get a fix in.
š„ šāāļø Back to detecting the wrong language
11 days ago (thanks github) I wrote up my investigation about an issue where golang was seemingly matching the wrong language. But it actually wasnāt! It was choosing the right language for very opaque reasons. The author got back to me about how this is not compatible with ārfc7231 and othersā.
So I read rfc7231 (itās the http/1.1 RFC, one of my favorites that I reference all
the time for networking things). Turns out there is language stuff in there too!
Section 5.3.5 is
about the Accept-Language
tag. Then I read rfc4647 about āMatching of Language
Tagsā.
I think everything go is doing (at least in this area) is compliant.
I found this quote also in rfc7231 section 5.3.5 that seems very related to the example:
Note: User agents ought to provide guidance to users when setting a preference, since users are rarely familiar with the details of language matching as described above. For example, users might assume that on selecting āen-gbā, they will be served any kind of English document if British English is not available. A user agent might suggest, in such a case, to add āenā to the list for better matching behavior.
Basically matching is weird. And matching is extra weird when you start specifying location tags.
Even more language issues
I am deep into this language stuff now, with only a handful of days left in my sabbatical, so I thought it might be nice to stay here where I have gained some small amount of knowledge.
So I looked up other open language issues. One of them was as repeat of the matching issue above, so I was able to answer it right away and link to the other issue with a much more detailed description. Yay!
There are 7 other issues that look interesting. We will see how many I can cover before I have to end my sabbatical. I am currently digging into this one about sorting artificial languages. Although that may not sound very practical, the result is looking like golang may not be following rfc4647 when it comes to private tags, which would affect all languages, not just artificial ones.
šµļøāāļø Hopefully Iāll get some more investigation done tomorrow.