Latex 中的多语言文档

发布于 2024-08-17 15:27:25 字数 138 浏览 4 评论 0原文

你如何准备带翻译的 Latex 文档...我需要 1 份多语言文档。它应该是这样的:

\section{pl:Costam; en:Something}

然后我想用波兰语或英语渲染它......

how do you prepare Latex document with a translation... I need 1 multilanguage document. It should be something like:

\section{pl:Costam; en:Something}

Then I'd like to render it in Polish or English...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

九厘米的零° 2024-08-24 15:27:25

如果所有其他方法都失败了,您可以采用一种更基本、几乎愚蠢到侮辱性的方法:

\newcommand{\dumblang}[2]{{#1}}

这定义了一个带有两个参数 ([2]) 的命令,并吐出第一个参数 ({#1 })。

例如,您可以...

\usepackage[\dumblang{english}{italian}]{babel}

%snip

\section{\dumblang{Introduction}{Introduzione}}
\dumblang{Your introduction goes here!}{Scrivi qua la tua introduzione!}

...当您想要意大利语文档时,您可以将 \dumblang 更改为:

\newcommand{\dumblang}[2]{{#2}}

If all else fails, you can go for an even more basic, almost insultingly dumb approach:

\newcommand{\dumblang}[2]{{#1}}

This defines a command with two arguments ([2]) and spits out the first ({#1}).

So for example you can have...

\usepackage[\dumblang{english}{italian}]{babel}

%snip

\section{\dumblang{Introduction}{Introduzione}}
\dumblang{Your introduction goes here!}{Scrivi qua la tua introduzione!}

...and when you want the document in Italian, you can just change \dumblang to:

\newcommand{\dumblang}[2]{{#2}}
幻想少年梦 2024-08-24 15:27:25

您是否考虑过 parallel?检查文档(PDF 链接)看看它是否适合您的需求。

您可以通过搜索 CTAN 来查看其他一些选项“并行文本”(我在“多种语言”和“翻译”方面运气不佳)。

Have you considered the parallel package? Check the docs (PDF link) to see if it is appropriate for your needs.

You can see some other options by searching CTAN for "parallel text" (I didn't have a lot of luck with "multiple languages" and "translation").

影子是时光的心 2024-08-24 15:27:25

您可以使用条件来完成此操作,例如 \ifdef。有了适当的宏,读起来就不会那么糟糕了。

最好使用本地化工具,例如 XLIFF 编辑器。请查看XLIFF 工具页面。走这条路线的最大优势在于 XLIFF 可以直接插入标准翻译工具(例如翻译记忆库)中。

You could do this using conditionals, e.g. a \ifdefs. With appropriate macros this need not be utterly horrible to read.

Much better would be use a localisation tool, such a an XLIFF editor. Take a look at the XLIFF tools page. The great strength of going this route is the XLIFF slots directly into standard translators tools like translation memory.

情定在深秋 2024-08-24 15:27:25

我有解决办法!

\newboolean{eng}
\setboolean{eng}{false}
\newboolean{pol}
\setboolean{pol}{true}
\newboolean{rus}
\setboolean{rus}{false}

\newcommand{\lang}[3]
{
    \ifthenelse{\boolean{eng}}{#1}{}\ifthenelse{\boolean{pol}}{#2}{}\ifthenelse{\boolean{ger}}{#3}{}
}

用法:

\lang{English}{Polski}{Deutch}

I have the solution!

\newboolean{eng}
\setboolean{eng}{false}
\newboolean{pol}
\setboolean{pol}{true}
\newboolean{rus}
\setboolean{rus}{false}

\newcommand{\lang}[3]
{
    \ifthenelse{\boolean{eng}}{#1}{}\ifthenelse{\boolean{pol}}{#2}{}\ifthenelse{\boolean{ger}}{#3}{}
}

Usage:

\lang{English}{Polski}{Deutch}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文