Sprache: Inhalte automatisch übersetzen/austauschen

Fragen und Probleme, die nicht den obigen Kategorien zugeordnet werden können


ehwlt
Forum-Anfänger
Forum-Anfänger
Beiträge: 37
Registriert: Sa 5. Mär 2011, 13:29

Sprache: Inhalte automatisch übersetzen/austauschen

Beitrag von ehwlt »

Hallo,

ich arbeite an einer Vorlage für ein Dokument, das mal auf Deutsch und mal auf Englisch geschrieben werden soll. Viele Absätze und Abkürzungen bleiben immer gleich, sollen aber übersetzt werden. Ich hätte gerne, daß das automatisch passiert, abhängig davon, welche Sprache man mit babel einstellt. Mein Versuch führt noch nicht so ganz zum Ziel:
\documentclass[parskip]{scrartcl}

\usepackage[T1]{fontenc}
\usepackage[english,ngerman]{babel}

\usepackage{lmodern}

\usepackage[toc]{glossaries}

\usepackage{translations}

\newcommand\EnDe[2]{%
    \ifcurrentbaselanguage{English}%
        {#1}%
        {\ifcurrentbaselanguage{German}%
            {#2}%
            {#1}%
        }%
}

\newglossaryentry{dppDe}{%
    name={Depp},%
    description={Noob}%
}

\newglossaryentry{dppEn}{%
    name={moron},%
    description={Noob}%
}

\makeindex

\makeglossary

% Abkürzungen
\newcommand{\Depp}{\EnDe{\gls{dppEn}}{\gls{dppDe}}}

% Absätze
\newcommand{\Absatz}{\EnDe{The king is a \Depp.}{Der König ist ein \Depp.}}

\begin{document}

\tableofcontents

\printglossaries

\section{Theorie}

\Absatz

Siehe \Depp.

\hrulefill

\begin{otherlanguage}{english}
\Absatz

See \Depp.
\end{otherlanguage}

\end{document}
Das mit dem König/king funktioniert, ist aber für ganze Absätze vielleicht nicht die eleganteste Lösung. Der Depp/moron steht stellvertretend für viele Abkürzungen, die in ein Abkürzungsverzeichnis aufgenommen werden sollen, und das auch sprachabhängig. Schöner wäre etwas wie dieses:
\newglossaryentry{dpp}{%
    nameDe={Depp},%
    descriptionDe={Noob}%
    nameEn={moron},%
    descriptionEn={Noob}%
}
Gibt es das in irgendeiner Form?

Außerdem soll im Glossar/Abkürzungsverzeichnis natürlich nur von jedem Eintrag die deutsche oder die englische Variante stehen.

Gibt es für diesen Zweck vielleicht sogar ein eigenes Paket?