How to properly modify the "page" macro

edited 3 days ago
The bibliography contains literature in different languages (English, Russian, Uzbek).
When displaying bibliography pages, they are displayed as "pp. 41–47." To be compatible with each language, I modified the "page" macro as follows:

<macro name="page">
<choose>
<if variable="language" value="uz">
<group delimiter=" ">
<text value="-B."/>
<text variable="page"/>
</group>
</if>
<else-if variable="language" value="ru">
<group delimiter=" ">
<text value="-С."/>
<text variable="page"/>
</group>
</else-if>
<else>
<group delimiter=" ">
<text value="-pp."/>
<text variable="page"/>
</group>
</else>
</choose>
</macro>


But throughout the literature, it appears as "-B."
For each literature included in ZOTERO, the language is indicated as “en”, “ru”, “uz” respectively.
How will my problem be solved correctly?
  • In standard CSL this just isn't possible (you can't check for the content of a variable). There's csl-m code, which will work in Zotero and you can find posts on that in the forums -- basically you define separate layouts for each language in the citation/bibliography
Sign In or Register to comment.