2- and 4-letter language codes to prevent title casing in non-English titles not working

Hi there. I am using CMS 17.

I have noticed that when I generate bibliographic citations for non-English (Spanish) titles, the codes "es" and "es-MX" in the language field override the auto-title casing, but do not capitalize the titles correctly. For example, if the title field reads, "Primicias Para un Homenaje a Frida Kahlo," the title portion of the citation appears exactly as it is input in the title field:

Primicias Para un Homenaje a Frida Kahlo. Mexico City, 1953. Published in conjunction with an exhibition of the same title, organized by and presented at Galería de Arte Contemporáneo, Mexico City, MX, November 1-15, 1938.

Spanish capitalization rules more or less conform to sentence case, so the title generated should read, "Primicias para un homenaje a Frida Kahlo."

I'm sure whatever I'm doing wrong is super obvious, but I can't seem to figure it out.
  • edited January 23, 2020
    If you need sentence casing, you need to store titles in sentence case. They'll be converted to title case automatically when necessary, but going the other way can't be automated.

    https://www.zotero.org/support/kb/sentence_casing
    https://www.zotero.org/support/kb/preventing_title_casing_for_non-english_titles

    See the first link for a way to quickly fix existing entries.
  • @dstillman Thanks very much for your response.

    My understanding is that by inputting either a 2- or 4-letter language code into the language field, the auto-title casing is (1) overridden for that particular entry and (2) the title is capitalized according to the rules of the language specified.

    So for example, if I input "de" into the language field, the title would be capitalized according to German standards. If I input "es-MX," the title should be capitalized according to Mexican guidelines.

    The capitalization rules of Mexican Spanish and Spanish Spanish for that matter, are similar, but not identical to sentence case. If inputting a language code simply overrode auto-title casing, then what language I specified would be irrelevant. I could input "de" or "es," I'd still have to manually input the correctly-capitalized title into the title field.

    This is why I suspect I must be missing or doing something incorrectly to cause the language code to function improperly.
  • edited January 23, 2020
    You'd have to give examples of what exactly you expect, but I'd be very surprised if the citation processor handles es-ES and es-MX differently. It may do different things for "de" and "es" — @fbennett would know. But the larger point is that, for the reasons explained on the above pages, no algorithm can automatically lowercase a title reliably, so you have to store things as sentence case for Zotero (or any tool) to have any chance of correctly capitalizing them when necessary. So for "Primicias para un homenaje a Frida Kahlo", that's exactly how you should enter it. If you used a style/language that required title case, it would be titled cased automatically.

    If there's some other in-between format you expect for some language code, you can give an example, but I'm not sure CSL does capitalization with any more specificity. The language code may control other things (or it might in the future), which would be a reason to put in "es" and not "de".
  • If inputting a language code simply overrode auto-title casing, then what language I specified would be irrelevant.
    Just to confirm this is indeed the case. If the language field contains _any_ string that doesn't start with en, CSL/Zotero turns off title casing for that item. That's it.

    The recommendation for using "correct" codes is, as dstillman says, to be robust for future features/improvements (which could conceivably include more fine-grained capitalization rules, though this is the first time this has come up). They could also, e.g. allow localization of citation terms such as "last accessed" based on the language tag of an item (that one is actually already possible, though unsupported).
  • Okay thank you for clarifying. :)
Sign In or Register to comment.