2010-01-11 3 views
11

как подготовить латексный документ с переводом ... Мне нужен 1 многоязычный документ. Это должно быть что-то вроде:Многоязычный документ в латексе

\section{pl:Costam; en:Something} 

Тогда я хотел бы сделать это на польском или английском языке ...

+1

Есть кнопки [ ' translations'] (http://www.ctan.org/pkg/translations) и пакет ['translator'] (http://www.ctan.org/pkg/beamer) (часть пакета' beamer'), которые могут или не могут быть полезны для этой задачи – cgnieder

ответ

2

У меня есть решение!

\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} 
+3

Этот ответ а) пропускает информацию, где определены '\ newboolean' и' \ ifthenelse', и b) вводит _two ложные пробелы_ в определении '\ lang'. – cgnieder

1

Рассматривали ли вы parallel package? Проверьте docs (PDF link), чтобы узнать, подходит ли оно для ваших нужд.

Вы можете увидеть некоторые другие варианты: searching CTAN for "parallel text" (Мне не повезло с «несколькими языками» и «переводом»).

+0

Мне нужен инструмент, который генерирует отдельные документы на разных языках ... – Etam

1

Вы можете сделать это, используя условные обозначения, например. a \ifdef s. С соответствующими макросами это не должно быть ужасно ужасно для чтения.

Гораздо лучше использовать инструмент локализации, такой как редактор XLIFF. Взгляните на the XLIFF tools page. Большая прочность этого маршрута - слоты XLIFF непосредственно в стандартные инструменты для переводчиков, такие как память переводов.

9

Если все остальное терпит неудачу, вы можете пойти на еще более простой, почти оскорбительно немой подход:

\newcommand{\dumblang}[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}} 
Смежные вопросы