%PDF- %PDF-
| Direktori : /proc/self/root/data/old/usr/share/texlive/texmf-dist/tex/latex/beamer/translator/ |
| Current File : //proc/self/root/data/old/usr/share/texlive/texmf-dist/tex/latex/beamer/translator/translator.sty |
% Copyright 2007 by Till Tantau
% Copyright 2010 by Vedran Mileti\'c
%
% This file may be distributed and/or modified
%
% 1. under the LaTeX Project Public License and/or
% 2. under the GNU Public License.
%
% See the documentation file for more details.
\def\translatorversion{1.10}
\ProvidesPackage{translator}[2010/06/12 ver \translatorversion]
\RequirePackage{keyval}
\def\trans@languages{English}
\newcommand\uselanguage[2][]{%
\g@addto@macro\trans@languages{,#2}%
}
\newcommand\languagealias[2]{%
\expandafter\def\csname tr@ml@#1\endcsname{#2}%
}
\input{translator-language-mappings}
\newcommand\languagepath[1]{\def\trans@languagepath{#1}}
\def\trans@languagepath{\languagename,English}
\define@key{translator}{to}{\def\trans@to{#1}}
\newcommand\iftranslationdefined[4][]{%
\def\trans@to{\trans@defaultto}%
\setkeys{translator}{#1}%
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname tr@@@\trans@to @#2\endcsname\relax%
\let\trans@next=\@secondoftwo%
\else%
\let\trans@next=\@firstoftwo%
\fi%
\trans@next{#3}{#4}%
}
\newcommand\deftranslation[3][]{%
\def\trans@to{\trans@defaultto}%
\setkeys{translator}{#1}%
\expandafter\def\csname tr@@@\trans@to @#2\endcsname{#3}%
}
\newcommand\newtranslation[3][]{%
\iftranslationdefined[#1]{#2}{%
\PackageError{translator}{Translation of '#2' already defined}{}%
}%
{%
\deftranslation[#1]{#2}{#3}%
}%
}
\newcommand\renewtranslation[3][]{%
\iftranslationdefined[#1]{#2}{%
\deftranslation[#1]{#2}{#3}%
}%
{%
\PackageError{translator}{Translation of '#2' not defined}{}%
}%
}
\newcommand\providetranslation[3][]{%
\iftranslationdefined[#1]{#2}{%
}%
{%
\deftranslation[#1]{#2}{#3}%
}%
}
\begingroup
\lccode`\A=`\- %
\lowercase{%
\endgroup
\def\trans@marker{-A}%
}
\newcommand\translatelet[3][]{%
\edef\trans@to{\trans@languagepath}%
\setkeys{translator}{#1}%
\let\trans@trans\trans@marker%
\let\trans@list\@empty%
\@for\trans@lang:=\trans@to\do%
{%
\expandafter\ifx\csname tr@ml@\trans@lang\endcsname\relax%
\else%
\expandafter\let\expandafter\trans@lang\expandafter=\csname tr@ml@\trans@lang\endcsname%
\fi%
\edef\trans@list{\trans@list,\trans@lang}%
}%
\@for\trans@lang:=\trans@list\do%
{%
\expandafter\ifx\csname tr@@@\trans@lang @#3\endcsname\relax%
\else%
\ifx\trans@trans\trans@marker%
\expandafter\expandafter\expandafter\def
\expandafter\expandafter\expandafter\trans@trans
\expandafter\expandafter\expandafter{\csname tr@@@\trans@lang @#3\endcsname}%
\fi%
\fi%
}%
\ifx\trans@trans\trans@marker%
\def\trans@trans{#3}%
\fi%
\let#2=\trans@trans%
}
\DeclareRobustCommand\translate[2][]{%
\translatelet[#1]\trans@temp{#2}%
\trans@temp%
}
\def\trans@dictionaries{}
\newcommand\usedictionary[1]{%
\g@addto@macro\trans@dictionaries{\usedictionary{#1}}%
}
\def\trans@defaultto{English}
\AtBeginDocument{%
\renewcommand\usedictionary[1]{%
\@for\trans@lang:=\trans@languages\do{%
\ifx\trans@lang\@empty%
\else%
\expandafter\ifx\csname ver@#1-\trans@lang.dict\endcsname\relax%
\edef\trans@temp{%
\def\noexpand\trans@defaultto{\trans@lang}%
\noexpand\InputIfFileExists{#1-\trans@lang.dict}{}{}%
\def\noexpand\trans@defaultto{\trans@defaultto}%
}%
\trans@temp%
\fi%
\fi%
}}%
\trans@dictionaries%
}
\def\ProvidesDictionary#1#2{%
\begingroup
\catcode`\ 10 %
\@makeother\/%
\@ifnextchar[%]
{\@providesdictionary{#1}{#2}}{\@providesdictionary{#1}{#2}[]}%
}
\def\@providesdictionary#1#2[#3]{%
\wlog{Dictionary: #1, Language: #2 #3}%
\expandafter\xdef\csname ver@#1-#2.dict\endcsname{#3}%
\endgroup%
}
\endinput