From f35a3e44d0e9c957c227d517e975ae8049a64a23 Mon Sep 17 00:00:00 2001 From: Robin Morand Date: Wed, 1 Jul 2026 06:45:26 +0200 Subject: [PATCH] Set CSL item language so non-English titles are not wrongly title-cased MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit getCitation() never set the item language, so citeproc assumed English and applied English title-casing to fields like container-title, wrongly capitalizing lowercase particles in non-English journal names (e.g. "Revue suisse de pédagogie spécialisée" -> "Revue Suisse De pédagogie spécialisée"). Set language from the publication locale (fallback to the context primary locale) so citeproc preserves the stored casing. --- CitationStyleLanguagePlugin.php | 1 + 1 file changed, 1 insertion(+) diff --git a/CitationStyleLanguagePlugin.php b/CitationStyleLanguagePlugin.php index e4f01c5..22097f2 100644 --- a/CitationStyleLanguagePlugin.php +++ b/CitationStyleLanguagePlugin.php @@ -431,6 +431,7 @@ public function getCitation(PKPRequest $request, Submission $submission, string ->all(); $citationData = new stdClass(); + $citationData->language = str_replace('_', '-', (string) ($publication->getData('locale') ?: $context->getPrimaryLocale())); if ($this->isArticle) { $citationData->type = ($this->application === 'ojs2' ? 'article-journal' : 'article');