I have no idea if this works, but as an idea maybe you could do: proc foo*() = when defined(englishDocs): ## English docs here when defined(chineseDocs): ## Chinese docs here Run
then build docs with `nim doc -d:englishDocs foo.nim` for English doc pages, and `nim doc -d:chineseDocs foo.nim` for Chinese doc pages. To make it less strict (i.e. for docs to work in IDE) you could check for `defined(englishDocs) or not defined(nimdoc)`.