From 5b00251bdc17069f055bf0a3bb98c9906d8db98b Mon Sep 17 00:00:00 2001
From: witiko <witiko@gmail.com>
Date: Sun, 19 Apr 2015 16:53:20 +0200
Subject: [PATCH] The locale file interface got revamped.

Instead of defining `\thesis@[name]` within the `[locale].def`
files and `\thesis@[name]En` within the `base.def`
files, each [locale] now defines macros in form
`\thesis@[locale]@[name]` within their `[locale].def` files meaning
that English is no longer special-cased and multiple locales can be
loaded at the same time. This enables the model, where style files
conditionally load additional locale files (like `czech` and
`english` in case of the style file of the Faculty of Science,
which was the original motivation for the change).

The string manipulation macros `\thesis@`, `\thesis@@`,
`\thesis@@upper`, `\thesis@@lower` and `\thesis@requireLocale`
macros were also added to alleviate the complexity added by this
model. More specifically, the style files need to be able to
require new locales (this functionality is provided by the
`\thesis@requireLocale` macros) and strings of the current locale
can no longer be accessed directly through a command sequence, but
a command sequence must be composed from letter tokens and from the
expansion of the `\thesis@locale` macro (this functionality is
provided by the `\thesis@@*` macros).

The `\thesis@season` macro now returns a string rather than a macro
to allow for easy command sequence composition using the `\thesis@`
macro.

The `\thesis@requireWithOptions` was renamed to
`\thesis@requireStyle` as it resembles the semantics of the
`\thesis@requireLocale` macro.

The Faculty of Science style file now correctly typesets the front
matter in Czech and English regardless of the main locale.

The implicit options of the `mu/base` style file are now `nolof`
and `nolot` instead of `lof` and `lot`, respectively.
---
 fithesis.dtx       | 421 ++++++++++++++++++++++++---------------------
 locale/Makefile    |   2 +-
 locale/czech.dtx   | 192 +++++++++++----------
 locale/english.dtx | 359 ++++++++++----------------------------
 locale/english.ins |  14 +-
 locale/slovak.dtx  | 173 ++++++++-----------
 style/mu/base.dtx  |  52 +++---
 style/mu/fi.dtx    |  16 +-
 style/mu/sci.dtx   | 193 +++++++++++----------
 9 files changed, 635 insertions(+), 787 deletions(-)

diff --git a/fithesis.dtx b/fithesis.dtx
index fb1c22f..5284200 100644
--- a/fithesis.dtx
+++ b/fithesis.dtx
@@ -163,7 +163,7 @@
 % \section{Required classes and packages}
 % The class loads the \texttt{rapport3} base class and the
 % \textsf{xstring}, \textsf{keyval}, \textsf{newfile},
-% \textsf{etoolbox} and \textsf{pdftexcmds} packages for
+% and \textsf{etoolbox} packages for
 % string parsing, comparisons and file output.
 % The \texttt{hyperref} package is also conditionally loaded during
 % the expansion of the |\thesis@load| macro (see section
@@ -176,7 +176,6 @@
 \RequirePackage{keyval}
 \RequirePackage{newfile}
 \RequirePackage{etoolbox}
-\RequirePackage{pdftexcmds}
 %    \end{macrocode}
 % \section{Public API}
 % \label{sec:public-api}
@@ -313,11 +312,11 @@
 % The \marg{\texttt{author}=name} pair sets the author's full
 % name to \textit{name}. The \textit{name} is stored within the
 % private |\thesis@author| and |\thesis@authorEn| macros, whose
-% implicit value is |\thesis@placeholders@author| and
-% |\thesis@placeholders@authorEn|, respectively.
+% implicit value is |\thesis@@{placeholders@author}| and
+% |\thesis@english@placeholders@author}|, respectively.
 %    \begin{macrocode}
-\def\thesis@author{\thesis@placeholders@author}
-\def\thesis@authorEn{\thesis@placeholders@authorEn}
+\def\thesis@author{\thesis@@{placeholders@author}}
+\def\thesis@authorEn{\thesis@english@placeholders@author}
 \define@key{thesis}{author}{%
   \def\thesis@author{#1}%
   \def\thesis@authorEn{#1}}
@@ -402,9 +401,9 @@
 % department, at which the thesis is being written, to
 % \textit{name}. The \textit{name} is stored within the private
 % |\thesis@department| macro, whose implicit value is
-% |\thesis@placeholders@department|.
+% |\thesis@@{placeholders@department}|.
 %    \begin{macrocode}
-\def\thesis@department{\thesis@placeholders@department}
+\def\thesis@department{\thesis@@{placeholders@department}}
 \define@key{thesis}{department}{%
   \def\thesis@department{#1}}
 %    \end{macrocode}
@@ -415,9 +414,9 @@
 % name of the department, at which the thesis is being written, to
 % \textit{name}. The \textit{name} is stored within the private
 % |\thesis@departmentEn| macro, whose implicit value is
-% |\thesis@placeholders@departmentEn|.
+% |\thesis@@{placeholders@english@department}|.
 %    \begin{macrocode}
-\def\thesis@departmentEn{\thesis@placeholders@departmentEn}
+\def\thesis@departmentEn{\thesis@english@placeholders@department}
 \define@key{thesis}{departmentEn}{%
   \def\thesis@departmentEn{#1}}
 %    \end{macrocode}
@@ -427,9 +426,9 @@
 % The \marg{\texttt{programme}=name} pair sets the name of the
 % author's study programme to \textit{name}. The \textit{name}
 % is stored within the private |\thesis@programme| macro, whose
-% implicit value is |\thesis@placeholders@programme|.
+% implicit value is |\thesis@@{placeholders@programme}|.
 %    \begin{macrocode}
-\def\thesis@programme{\thesis@placeholders@programme}
+\def\thesis@programme{\thesis@@{placeholders@programme}}
 \define@key{thesis}{programme}{%
   \def\thesis@programme{#1}}
 %    \end{macrocode}
@@ -440,9 +439,9 @@
 % of the author's study programme to \textit{name}. The
 % \textit{name} is stored within the private |\thesis@programmeEn|
 % macro, whose implicit value is
-% |\thesis@placeholders@programmeEn|.
+% |\thesis@@{placeholders@english@programme}|.
 %    \begin{macrocode}
-\def\thesis@programmeEn{\thesis@placeholders@programmeEn}
+\def\thesis@programmeEn{\thesis@english@placeholders@programme}
 \define@key{thesis}{programmeEn}{%
   \def\thesis@programmeEn{#1}}
 %    \end{macrocode}
@@ -452,9 +451,9 @@
 % The \marg{\texttt{field}=name} pair sets the name of the
 % author's field of stufy to \textit{name}. The \textit{name}
 % is stored within the private |\thesis@field| macro, whose
-% implicit value is |\thesis@placeholders@field|.
+% implicit value is |\thesis@@{placeholders@field}|.
 %    \begin{macrocode}
-\def\thesis@field{\thesis@placeholders@field}
+\def\thesis@field{\thesis@@{placeholders@field}}
 \define@key{thesis}{field}{%
   \def\thesis@field{#1}}
 %    \end{macrocode}
@@ -464,9 +463,9 @@
 % The \marg{\texttt{fieldEn}=name} pair sets the English name of
 % the author's field of stufy to \textit{name}. The \textit{name}
 % is stored within the private |\thesis@fieldEn| macro, whose
-% implicit value is |\thesis@placeholders@fieldEn|.
+% implicit value is |\thesis@english@placeholders@field|.
 %    \begin{macrocode}
-\def\thesis@fieldEn{\thesis@placeholders@fieldEn}
+\def\thesis@fieldEn{\thesis@english@placeholders@field}
 \define@key{thesis}{fieldEn}{%
   \def\thesis@fieldEn{#1}}
 %    \end{macrocode}
@@ -563,9 +562,10 @@
 %    \begin{macrocode}
 \def\ifthesis@english{{
   \let\ea\expandafter%
-  \edef\@locale{\thesis@locale}%
-  % Would've used \ifx, but babel strings have funny catcodes
-  \ea\csname\ea i\ea f\ifnum\pdf@strcmp{\@locale}{english}=0%
+  \ea\def\ea\@english\ea{\string\english}%
+  \ea\ea\ea\def\ea\ea\ea\@locale\ea\ea\ea{\ea\string\csname%
+    \thesis@locale\endcsname}%
+  \ea\csname\ea i\ea f\ifx\@locale\@english%
     true%
   \else%
     false%
@@ -612,8 +612,8 @@
 %   \item\DescribeMacro{\thesis@season}|\thesis@season| -- Expands
 %     to either:
 %     \begin{itemize}
-%       \item|\thesis@winter| if \texttt{MM} $<7$.
-%       \item|\thesis@summer| if \texttt{MM} $\geq7$.
+%       \item\texttt{winter} if \texttt{MM} $<7$.
+%       \item\texttt{summer} if \texttt{MM} $\geq7$.
 %     \end{itemize}
 %   \item\DescribeMacro{\thesis@academicYear}|\thesis@academicYear|
 %     -- The academic year of the given semester:
@@ -638,11 +638,11 @@
   \newcount\@year \expandafter\@year \thesis@year \relax%
   \newcount\@month\expandafter\@month\thesis@month\relax%
   \ifnum\@month<7%
-    \gdef\thesis@season{\thesis@winter}%
+    \gdef\thesis@season{winter}%
     \advance\@year-1\edef\@yearA{\the\@year}%
     \advance\@year 1\edef\@yearB{\the\@year}%
   \else
-    \gdef\thesis@season{\thesis@summer}%
+    \gdef\thesis@season{summer}%
                     \edef\@yearA{\the\@year}%
     \advance\@year 1\edef\@yearB{\the\@year}%
   \fi
@@ -672,9 +672,9 @@
 % The \marg{\texttt{title}=title} pair sets the title of the
 % thesis to \textit{title}. The \textit{title} is stored within the
 % private |\thesis@title| macro, whose implicit value is
-% |\thesis@placeholders@|\discretionary{}{}{}|title|.
+% |\thesis@@{placeholders@|\discretionary{}{}{}|title}|.
 %    \begin{macrocode}
-\def\thesis@title{\thesis@placeholders@title}
+\def\thesis@title{\thesis@@{placeholders@title}}
 \define@key{thesis}{title}{%
   \def\thesis@title{#1}}
 %    \end{macrocode}
@@ -700,9 +700,9 @@
 % The \marg{\texttt{titleEn}=title} pair sets the English title of
 % the thesis to \textit{title}. The \textit{title} is stored within
 % the private |\thesis@titleEn| macro, whose implicit value is
-% |\thesis@placeholders@|\discretionary{}{}{}|titleEn|.
+% |\thesis@english@placeholders@|\discretionary{}{}{}|title|.
 %    \begin{macrocode}
-\def\thesis@titleEn{\thesis@placeholders@titleEn}
+\def\thesis@titleEn{\thesis@english@placeholders@title}
 \define@key{thesis}{titleEn}{%
   \def\thesis@titleEn{#1}}
 %    \end{macrocode}
@@ -712,7 +712,7 @@
 % The \marg{\texttt{TeXtitleEn}=title} pair sets the English \TeX\ 
 % title of the thesis to \textit{title}. The \textit{title} is
 % used, when typesetting the title, whereas |\thesis@titleEn| is a
-% plain textA. The \textit{title} is stored within the private
+% plain text. The \textit{title} is stored within the private
 % |\thesis@TeXtitleEn| macro, whose implicit value is
 % |\thesis@titleEn|.
 %    \begin{macrocode}
@@ -726,9 +726,9 @@
 % The \marg{\texttt{keywords}=list} pair sets the keywords of the
 % thesis to the comma-delimited \textit{list}. The \textit{list}
 % is stored within the private |\thesis@keywords| macro, whose
-% implicit value is |\thesis@placeholders@keywords|.
+% implicit value is |\thesis@@{placeholders@keywords}|.
 %    \begin{macrocode}
-\def\thesis@keywords{\thesis@placeholders@keywords}
+\def\thesis@keywords{\thesis@@{placeholders@keywords}}
 \define@key{thesis}{keywords}{%
   \def\thesis@keywords{#1}}
 %    \end{macrocode}
@@ -738,9 +738,10 @@
 % The \marg{\texttt{keywordsEn}=list} pair sets the English
 % keywords of the thesis to the comma-delimited \textit{list}. The
 % \textit{list} is stored within the private |\thesis@keywordsEn|
-% macro, whose implicit value is |\thesis@placeholders@keywordsEn|.
+% macro, whose implicit value is
+% |\thesis@english@placeholders@keywords|.
 %    \begin{macrocode}
-\def\thesis@keywordsEn{\thesis@placeholders@keywordsEn}
+\def\thesis@keywordsEn{\thesis@english@placeholders@keywords}
 \define@key{thesis}{keywordsEn}{%
   \def\thesis@keywordsEn{#1}}
 %    \end{macrocode}
@@ -750,9 +751,9 @@
 % The \marg{\texttt{abstract}=text} pair sets the abstract of the
 % thesis to \textit{text}. The \textit{text} is stored within the
 % private |\thesis@abstract| macro, whose implicit value is
-% |\thesis@placeholders@abstract|.
+% |\thesis@@{placeholders@abstract}|.
 %    \begin{macrocode}
-\def\thesis@abstract{\thesis@placeholders@abstract}
+\def\thesis@abstract{\thesis@@{placeholders@abstract}}
 \long\def\KV@thesis@abstract#1{%
   \long\def\thesis@abstract{#1}}
 %    \end{macrocode}
@@ -762,9 +763,10 @@
 % The \marg{\texttt{abstractEn}=text} pair sets the English
 % abstract of the thesis to \textit{text}. The \textit{text}
 % is stored within the private |\thesis@abstractEn| macro,
-% whose implicit value is |\thesis@placeholders@abstractEn|.
+% whose implicit value is
+% |\thesis@english@placeholders@abstract|.
 %    \begin{macrocode}
-\def\thesis@abstractEn{\thesis@placeholders@abstractEn}
+\def\thesis@abstractEn{\thesis@english@placeholders@abstract}
 \long\def\KV@thesis@abstractEn#1{%
   \long\def\thesis@abstractEn{#1}}
 %    \end{macrocode}
@@ -774,11 +776,12 @@
 % The \marg{\texttt{advisor}=name} pair sets the thesis advisor's
 % full name to \textit{name}. The \textit{name} is stored within
 % the private |\thesis@advisor| and |\thesis@advisorEn| macro,
-% whose implicit values are |\thesis@placeholders@advisor| and
-% |\thesis@placeholders@advisorEn|, respectively.
+% whose implicit values are |\thesis@@{placeholders@advisor}| and
+% |\thesis@|\discretionary{}{}{}|english@placeholders@advisor|,
+% respectively.
 %    \begin{macrocode}
-\def\thesis@advisor{\thesis@placeholders@advisor}
-\def\thesis@advisorEn{\thesis@placeholders@advisorEn}
+\def\thesis@advisor{\thesis@@{placeholders@advisor}}
+\def\thesis@advisorEn{\thesis@english@placeholders@advisor}
 \define@key{thesis}{advisor}{%
   \def\thesis@advisor{#1}%
   \def\thesis@advisorEn{#1}}
@@ -860,10 +863,11 @@
 % \end{macro}
 % \section{Private API}
 % \subsection{Main routine}\label{sec:thesis@load}
+% \begin{macro}{\thesis@load}
 % The |\thesis@load| macro is responsible for preparing the
 % environment for, and consequently loading, the necessary locale
-% and style files. By default, the \DescribeMacro{\thesis@load}
-% |\thesis@load| macro gets expanded at the end of the preamble,
+% and style files. By default, the |\thesis@load| macro gets
+% expanded at the end of the preamble,
 % but it can be inserted manually prior to that, if necessary to
 % prevent package clashes. The \DescribeMacro{\ifthesis@loaded}
 % |\ifthesis@loaded| semaphore ensures that the expansion is only
@@ -876,35 +880,32 @@
     \thesis@loadedtrue
     \makeatletter%
 %    \end{macrocode}
-% First, the locale files are included. If inheritance is
-% enabled for locale files, then each of the following files is
-% input in sequence, provided they exist:\begin{enumerate}
-%   \item|\thesis@localepath base.def|
-%   \item|\thesis@localepath\thesis@locale.def|
-%   \item|\thesis@localepath\thesis@university/base.def|
-%   \item|\thesis@localepath\thesis@university/\thesis@locale.def|
-%   \item|\thesis@localepath\thesis@university/\thesis@faculty/|^^A
-%     |base.def|
-%   \item|\thesis@localepath\thesis@university/\thesis@faculty/|^^A
-%     |\thesis@locale.def|
-% \end{enumerate}If inheritance is disabled for locale files,
-% then only the |\thesis@localepath|\discretionary{}{}{}^^A
-% |\thesis@locale.tex| file is loaded.
+% First, the main locale file is loaded using the
+% |\thesis@requireLocale| macro.
 %    \begin{macrocode}
-      \ifthesis@locale@inheritance
-        \input{\thesis@localepath base.def}
-      \fi
-      \thesis@input{\thesis@localepath\thesis@locale.def}%
-      \ifthesis@locale@inheritance
-        \thesis@input{\thesis@localepath\thesis@university/%
-          base.def}% 
-        \thesis@input{\thesis@localepath\thesis@university/%
-          \thesis@locale.def}% 
-        \thesis@input{\thesis@localepath\thesis@university/%
-          \thesis@faculty/base.def}%
-        \thesis@input{\thesis@localepath\thesis@university/%
-          \thesis@faculty/\thesis@locale.def}%
+      % Load the main locale file
+      \thesis@requireLocale{\thesis@locale}
+%    \end{macrocode}
+% Consequently, the style files are loaded with the class options
+% passed onto them. If inheritance is enabled for style files, then
+% each of the following files is loaded in sequence, if they exist:
+% \begin{enumerate}
+%   \item|\thesis@stylepath fithesis3-base.sty|
+%   \item|\thesis@stylepath\thesis@university/fithesis3-base.sty|
+%   \item|\thesis@stylepath\thesis@style.sty|
+% \end{enumerate}If inheritance is disabled for style files,
+% then only the |\thesis@stylepath\thesis@|^^A
+% \discretionary{}{}{}|style.sty| file is loaded. The
+% \texttt{fithesis3-} prefix serves to prevent package clashes
+% with other similarly named package files within the \TeX\
+% directory structure.
+%    \begin{macrocode}
+      \ifthesis@style@inheritance
+        \thesis@requireStyle{\thesis@stylepath fithesis3-base}
+        \thesis@requireStyle{\thesis@stylepath\thesis@university%
+          /fithesis3-base}
       \fi
+      \thesis@requireStyle{\thesis@stylepath\thesis@style}
 %    \end{macrocode}
 % With the placeholder strings loaded from the locale files, we
 % can now inject metadata into the resulting PDF file. To this
@@ -920,8 +921,8 @@
 % \end{itemize}
 %    \begin{macrocode}
        \thesis@require{hyperref}%
-      {\def\@titleEnPlaceholder{\thesis@placeholders@titleEn}
-       \def\@keywordsEnPlaceholder{\thesis@placeholders@keywordsEn}
+      {\def\@titleEnPlaceholder{\thesis@english@placeholders@title}
+       \def\@keywordsEnPlaceholder{\thesis@english@placeholders@keywords}
        \hypersetup{unicode,
          pdftitle={\ifx\thesis@titleEn\@titleEnPlaceholder%
            \thesis@title%
@@ -935,28 +936,6 @@
          \fi}, pdfcreator={\thesis@version},%
      }}%
 %    \end{macrocode}
-% Consequently, the style files are loaded with the class
-% options passed onto them. If inheritance is enabled for
-% style files, then each of the following files is
-% loaded in sequence, provided they exist:\begin{enumerate}
-%   \item|\thesis@stylepath fithesis3-base.sty|
-%   \item|\thesis@stylepath\thesis@university/fithesis3-base.sty|
-%   \item|\thesis@stylepath\thesis@style.sty|
-% \end{enumerate}If inheritance is disabled for style files,
-% then only the |\thesis@stylepath\thesis@|^^A
-% \discretionary{}{}{}|style.sty| file is loaded. The
-% \texttt{fithesis3-} prefix serves to prevent package clashes
-% with other similarly named package files within the \TeX\
-% directory structure.
-%    \begin{macrocode}
-      \ifthesis@style@inheritance
-        \thesis@requireWithOptions{\thesis@stylepath%
-          fithesis3-base}
-        \thesis@requireWithOptions{\thesis@stylepath%
-          \thesis@university/fithesis3-base}
-      \fi
-      \thesis@requireWithOptions{\thesis@stylepath\thesis@style}
-%    \end{macrocode}
 % If autolayout is enabled, the |\thesis@preamble| and
 % |\thesis@postamble| macros are scheduled for expansion at the
 % beginning and at the end of the document, respectively.
@@ -986,18 +965,26 @@
     \makeatother%
   \fi}
 %    \end{macrocode}
-% The \DescribeMacro{\thesis@exists}|\thesis@exists|\marg{path}
-% and \DescribeMacro{\thesis@input}|\thesis@input|\marg{path}
-% private macros are internally used to include locale files
-% and to test the existance of files in general.
+% \end{macro}
+% \subsection{File manipulation macros}
+% \begin{macro}{\thesis@exists}
+% The |\thesis@exists|\marg{file}\marg{tokens} private macro is
+% used to test for the existence of a given \textit{file}. If the
+% \textit{file} exists, the macro expands to \textit{tokens}.
+% Otherwise, a class warning is written to the output.
+%    \begin{macrocode}
+\def\thesis@input#1{%
+  \thesis@exists{#1}{\input{#1}}}
+%    \end{macrocode}
+% \end{macro}\begin{macro}{\thesis@input}
+% The |\thesis@input|\marg{file} private macro inputs the given
+% \textit{file}, if it exists.
 %    \begin{macrocode}
 \def\thesis@exists#1#2{%
   \IfFileExists{#1}{#2}{%
   \ClassWarning{fithesis3}{File #1 doesn't exist}}}
-
-\def\thesis@input#1{%
-  \thesis@exists{#1}{\input{#1}}}
 %    \end{macrocode}
+% \end{macro}\begin{macro}{\thesis@require}
 % The \DescribeMacro{\thesis@require}|\thesis@require|%
 % \marg{package} expands to |\RequirePackage|\marg{package}, if
 % the specified \textit{package} has not yet been loaded. This
@@ -1007,17 +994,45 @@
 \def\thesis@require#1{%
   \@ifpackageloaded{#1}{}{\RequirePackage{#1}}}
 %    \end{macrocode}
-% The \DescribeMacro{\thesis@requireWithOptions}
-% |\thesis@requireWithOptions|\marg{package} expands to
+% \end{macro}\begin{macro}{\thesis@requireStyle}
+% The |\thesis@requireStyle|\marg{package} expands to
 % |\RequirePackageWithOptions|\marg{package}, if the specified
-% \textit{package} exists. This serves to load style files.
+% \textit{package} exists and has not yet been loaded. This
+% generally serves to load style files.
 %    \begin{macrocode}
-\def\thesis@requireWithOptions#1{\thesis@exists{#1.sty}{%
-  \RequirePackageWithOptions{#1}}}
+\def\thesis@requireStyle#1{\thesis@exists{#1.sty}{%
+  \@ifpackageloaded{#1}{}{\RequirePackageWithOptions{#1}}}}
 %    \end{macrocode}
-% The \DescribeMacro{\thesis@bibgen}|\thesis@bibgen| macro
-% generates the contents of a \BibTeX\ file containing a
-% bibliographical entry for the thesis.
+% \end{macro}\begin{macro}{\thesis@requireLocale}
+% The |\thesis@requireLocale|\marg{locale} private macro loads
+% locale files of the specified \textit{locale}, if they haven't
+% been loaded before. If inheritance is enabled for locale files,
+% then the following directories are used:
+% \begin{enumerate}
+%   \item|\thesis@localepath|
+%   \item|\thesis@localepath\thesis@university/|
+%   \item|\thesis@localepath\thesis@university/\thesis@faculty/|
+% \end{enumerate}If inheritance is disabled for locale files,
+% then only the |\thesis@localepath| directory is used. The macro
+% can be used within both locale and style files, although the
+% usage within locale files is strongly discouraged to prevent
+% circular dependencies.
+%    \begin{macrocode}
+\def\thesis@requireLocale#1{%
+  % Prevent redundant entries
+  \expandafter\ifx\csname thesis@#1@required\endcsname\relax%
+    \expandafter\def\csname thesis@#1@required\endcsname{}%
+      \thesis@input{\thesis@localepath#1.def}
+      \ifthesis@locale@inheritance%
+        \thesis@input{\thesis@localepath\thesis@university/#1.def}% 
+        \thesis@input{\thesis@localepath\thesis@university/%
+          \thesis@faculty/#1.def}% 
+      \fi%
+  \fi}
+%    \end{macrocode}
+% \end{macro}\begin{macro}{\thesis@bibgen}
+% The |\thesis@bibgen| macro generates the contents of a
+% \BibTeX\ file containing a bibliographical entry for the thesis.
 %    \begin{macrocode}
 % Temporarily swap the catcodes of {} and <>
 {\catcode`\<=1
@@ -1063,30 +1078,70 @@
     \add<__TITLE______=_"\thesis@title",>%
     \add<__YEAR_______=_"\thesis@year",>%
     \add<__MONTH______=_"\thesis@month",>%
-    \add<__TYPE_______=_"\thesis@typeName",>%
-    \add<__SCHOOL_____=_"\thesis@universityName,
-      \thesis@facultyName",>%
+    \add<__TYPE_______=_"\thesis@@<typeName>",>%
+    \add<__SCHOOL_____=_"\thesis@@<universityName>,
+      \thesis@@<facultyName>",>%
     \add<__SUPERVISOR_=_"\thesis@advisor",>%
     \add<__PAGES______=_"\thepage">%
     \add<}>
   >>>%
 >
 %    \end{macrocode}
-% \subsection{General utility macros}
+% \end{macro}
+% \subsection{String manipulation macros}
+% \begin{macro}{\thesis@}
+% The |\thesis@|\marg{name} macro expands to |\thesis@|
+% \textit{name}, where \textit{name} gets fully expanded and can
+% therefore contain active characters and command sequences.
+%    \begin{macrocode}
+\def\thesis@#1{\csname thesis@#1\endcsname}
+%    \end{macrocode}
+% \end{macro}\begin{macro}{\thesis@@}
+% The |\thesis@@|\marg{name} macro expands to |\thesis@|
+% \textit{locale}|@|\textit{name}, where \textit{locale}
+% corresponds to the name of the current locale. 
+% \textit{name} gets fully expanded and can
+% therefore contain active characters and command sequences.
+%    \begin{macrocode}
+\def\thesis@@#1{\thesis@{\thesis@locale @#1}}
+%    \end{macrocode}
+% \end{macro}
 % The \DescribeMacro{\thesis@lower}|\thesis@lower|
 % and \DescribeMacro{\thesis@upper}|\thesis@upper|
-% private macros are to be used for upper- and lowercasing within
+% private macros are used for upper- and lowercasing within
 % locale files. To cast the |\thesis@|\textit{name} macro
 % to the lower- or uppercase, |\thesis@lower{|\textit{name}|}| or
 % |\thesis@upper{|\textit{name}|}| would be used, respectively.
+% \textit{name} gets fully expanded and can
+% therefore contain active characters and command sequences.
 %    \begin{macrocode}
-\def\thesis@lower#1{%
-  \edef\thesis@expanded{\csname thesis@#1\endcsname}%
-  \expandafter\lowercase\expandafter{\thesis@expanded}}
-\def\thesis@upper#1{%
-  \edef\thesis@expanded{\csname thesis@#1\endcsname}%
-  \expandafter\uppercase\expandafter{\thesis@expanded}}
+\def\thesis@lower#1{{%
+  \let\ea\expandafter%
+  \ea\ea\ea\ea\ea\ea\ea\ea\ea\ea\ea\ea\ea\ea\ea\lowercase\ea\ea\ea
+  \ea\ea\ea\ea\ea\ea\ea\ea\ea\ea\ea\ea{\ea\ea\ea\ea\ea\ea\ea\ea\ea
+  \ea\ea\ea\ea\ea\ea\@gobble\ea\ea\ea\string\ea\csname\csname the%
+  sis@#1\endcsname\endcsname}}}
+\def\thesis@upper#1{{%
+  \let\ea\expandafter%
+  \ea\ea\ea\ea\ea\ea\ea\ea\ea\ea\ea\ea\ea\ea\ea\uppercase\ea\ea\ea
+  \ea\ea\ea\ea\ea\ea\ea\ea\ea\ea\ea\ea{\ea\ea\ea\ea\ea\ea\ea\ea\ea
+  \ea\ea\ea\ea\ea\ea\@gobble\ea\ea\ea\string\ea\csname\csname the%
+  sis@#1\endcsname\endcsname}}}
 %    \end{macrocode}
+% The \DescribeMacro{\thesis@@lower}|\thesis@@lower|
+% and \DescribeMacro{\thesis@@upper}|\thesis@@upper|
+% private macros are used for upper- and lowercasing current
+% \textit{locale} strings within style files. To cast the
+% |\thesis@|\textit{locale}|@|\textit{name} macro to the
+% lower- or uppercase, |\thesis@@lower{|\textit{name}|}| or
+% |\thesis@@upper{|\textit{name}|}| would be used,
+% respectively. \textit{name} gets fully expanded and can
+% therefore contain active characters and command sequences.
+%    \begin{macrocode}
+\def\thesis@@lower#1{\thesis@lower{\thesis@locale @#1}}
+\def\thesis@@upper#1{\thesis@upper{\thesis@locale @#1}}
+%    \end{macrocode}
+% \subsection{General purpose macros}
 % The \DescribeMacro{\thesis@pages}|\thesis@pages| macro is defined
 % at the beginning of the second \LaTeX\ run as a part of the main
 % routine (see section \ref{sec:thesis@load}). During the first
@@ -1141,77 +1196,55 @@
 % docstrip, doc} and \textsf{ltxdoc} manuals.
 %
 % \subsubsection{Interface}
-% A locale file needs to define the following private macros:
+% The union of locale files named \textit{locale}\texttt{.def},
+% where \textit{locale} is the result of the expansion of
+% |\thesis@locale|, loaded via main routine's inheritance scheme
+% (see section \ref{sec:thesis@load}) needs to define the following
+% private macros:
 % \begin{itemize}
-%   \item\DescribeMacro{\thesis@placeholders@title}
-%                      |\thesis@placeholders@title| -- The
-%                      placeholder title of the thesis
-%   \item\DescribeMacro{\thesis@placeholders@keywords}
-%                      |\thesis@placeholders@keywords| -- The
-%                      placeholder keywords of the thesis
-%   \item\DescribeMacro{\thesis@placeholders@abstract}
-%                      |\thesis@placeholders@abstract| -- The
-%                      placeholder abstract of the thesis 
-%   \item\DescribeMacro{\thesis@placeholders@author}
-%                      |\thesis@placeholders@author| -- The
-%                      placeholder name of the thesis author
-%   \item\DescribeMacro{\thesis@universityName}
-%                      |\thesis@universityName| -- The name of the
-%                      university
-%   \item\DescribeMacro{\thesis@facultyName}
-%                      |\thesis@facultyName| -- The name of the
-%                      faculty
-%   \item\DescribeMacro{\thesis@placeholders@advisor}
-%                      |\thesis@placeholders@advisor| -- The
-%                      placeholder name of the advisor
-%   \item\DescribeMacro{\thesis@placeholders@department}
-%                      |\thesis@placeholders@department| -- The
-%                      placeholder department name
-%   \item\DescribeMacro{\thesis@placeholders@programme}
-%                      |\thesis@placeholders@programme| -- The
-%                      placeholder programme name
-%   \item\DescribeMacro{\thesis@placeholders@thanks}
-%                      |\thesis@placeholders@thanks| -- The
-%                      placeholder acknowledgement text
-%   \item\DescribeMacro{\thesis@declaration}
-%                      |\thesis@declaration| -- The declaration
-%                      text
-%   \item\DescribeMacro{\thesis@advisorTitle}
-%                      |\thesis@advisorTitle| -- The title of the
-%                      advisor
-%   \item\DescribeMacro{\thesis@abstractTitle}
-%                      |\thesis@abstractTitle| -- The title of the
-%                      abstract section
-%   \item\DescribeMacro{\thesis@keywordsTitle}
-%                      |\thesis@keywordsTitle| -- The title of the
-%                      keywords section
-%   \item\DescribeMacro{\thesis@thanksTitle}
-%                      |\thesis@thanksTitle| -- The title of the
-%                      acknowledgement section
-%   \item\DescribeMacro{\thesis@declarationTitle}
-%                      |\thesis@declarationTitle| -- The title of
-%                      the declaration section
-%   \item\DescribeMacro{\thesis@typeName}
-%                      |\thesis@typeName| -- The name of the
-%                      thesis type
-%   \item\DescribeMacro{\thesis@assignment}
-%                      |\thesis@assignment| -- Instructions to
-%                      replace the current page with the official
-%                      thesis assignment
-%   \item\DescribeMacro{\thesis@winter}
-%                      |\thesis@winter| -- The name of the winter
-%                      semester
-%   \item\DescribeMacro{\thesis@summer}
-%                      |\thesis@summer| -- The name of the summer
-%                      semester
-%   \item\DescribeMacro{\thesis@semester}
-%                      |\thesis@semester| -- The full name of the
-%                      current semester
+%   \item|\thesis@|\textit{locale}|@placeholders@title| -- The
+%     placeholder title of the thesis
+%   \item|\thesis@|\textit{locale}|@placeholders@keywords| -- The
+%     placeholder keywords of the thesis
+%   \item|\thesis@|\textit{locale}|@placeholders@abstract| -- The
+%     placeholder abstract of the thesis 
+%   \item|\thesis@|\textit{locale}|@placeholders@author| -- The
+%     placeholder name of the thesis author
+%   \item|\thesis@|\textit{locale}|@universityName| -- The name of
+%     the university
+%   \item|\thesis@|\textit{locale}|@facultyName| -- The name of the
+%     faculty
+%   \item|\thesis@|\textit{locale}|@placeholders@advisor| -- The
+%     placeholder name of the advisor
+%   \item|\thesis@|\textit{locale}|@placeholders@department| -- The
+%     placeholder department name
+%   \item|\thesis@|\textit{locale}|@placeholders@programme| -- The
+%     placeholder programme name
+%   \item|\thesis@|\textit{locale}|@placeholders@thanks| -- The
+%     placeholder acknowledgement text
+%   \item|\thesis@|\textit{locale}|@declaration| -- The declaration
+%     text
+%   \item|\thesis@|\textit{locale}|@advisorTitle| -- The title of
+%     the advisor
+%   \item|\thesis@|\textit{locale}|@abstractTitle| -- The title of
+%     the abstract section
+%   \item|\thesis@|\textit{locale}|@keywordsTitle| -- The title of
+%     the keywords section
+%   \item|\thesis@|\textit{locale}|@thanksTitle| -- The title of
+%     the acknowledgement section
+%   \item|\thesis@|\textit{locale}|@declarationTitle| -- The title
+%     of the declaration section
+%   \item|\thesis@|\textit{locale}|@typeName| -- The name of the
+%     thesis type
+%   \item|\thesis@|\textit{locale}|@assignment| -- Instructions to
+%     replace the current page with the official thesis assignment
+%   \item|\thesis@|\textit{locale}|@winter| -- The name of the
+%     winter semester
+%   \item|\thesis@|\textit{locale}|@summer| -- The name of the
+%     summer semester
+%   \item|\thesis@|\textit{locale}|@semester| -- The full name of
+%     the current semester
 % \end{itemize}
-% English versions of these macros must also be defined with the
-% \texttt{En} suffix. It's preferrable for these to be defined in
-% \texttt{base.def} files, which are automatically loaded, if
-% inheritance is enabled for locale files.
 %
 % \def\file#1{\paragraph{The \texttt{#1} file}}
 % \subsubsection{English locale files}
@@ -1239,8 +1272,12 @@
 % doc} and \textsf{ltxdoc} manuals.
 %
 % \subsubsection{Interface}
-% A style file should redefine at least one of the following
-% private macros:
+% The union of locale files named
+% \texttt{fithesis3-}\textit{style}\texttt{.sty},
+% where \textit{style} is the result of the expansion of
+% |\thesis@locale|, loaded via main routine's inheritance scheme
+% (see section \ref{sec:thesis@load}) should define at least one of
+% the following private macros:
 % \begin{itemize}
 %   \item\DescribeMacro{\thesis@preamble}
 %                      |\thesis@preamble| -- If autolayout is
diff --git a/locale/Makefile b/locale/Makefile
index e07bc73..7af19dc 100644
--- a/locale/Makefile
+++ b/locale/Makefile
@@ -1,6 +1,6 @@
 LOGS=czech.log slovak.log english.log
 DIRECTORIES=mu/law mu/fsps mu/fss mu/econ mu/med mu/fi mu/phil mu/ped mu/sci mu
-OUTPUT=base.def czech.def mu/base.def mu/law/base.def mu/law/czech.def mu/law/slovak.def mu/law/english.def mu/czech.def mu/fsps/base.def mu/fsps/czech.def mu/fsps/slovak.def mu/fsps/english.def mu/fss/base.def mu/fss/czech.def mu/fss/slovak.def mu/fss/english.def mu/econ/base.def mu/econ/czech.def mu/econ/slovak.def mu/econ/english.def mu/med/base.def mu/med/czech.def mu/med/slovak.def mu/med/english.def mu/fi/base.def mu/fi/czech.def mu/fi/slovak.def mu/fi/english.def mu/phil/base.def mu/phil/czech.def mu/phil/slovak.def mu/phil/english.def mu/slovak.def mu/ped/base.def mu/ped/czech.def mu/ped/slovak.def mu/ped/english.def mu/english.def mu/sci/base.def mu/sci/czech.def mu/sci/slovak.def mu/sci/english.def slovak.def english.def
+OUTPUT=czech.def mu/law/czech.def mu/law/slovak.def mu/law/english.def mu/czech.def mu/fsps/czech.def mu/fsps/slovak.def mu/fsps/english.def mu/fss/czech.def mu/fss/slovak.def mu/fss/english.def mu/econ/czech.def mu/econ/slovak.def mu/econ/english.def mu/med/czech.def mu/med/slovak.def mu/med/english.def mu/fi/czech.def mu/fi/slovak.def mu/fi/english.def mu/phil/czech.def mu/phil/slovak.def mu/phil/english.def mu/slovak.def mu/ped/czech.def mu/ped/slovak.def mu/ped/english.def mu/english.def mu/sci/czech.def mu/sci/slovak.def mu/sci/english.def slovak.def english.def
 
 .PHONY: explode implode all
 all:
diff --git a/locale/czech.dtx b/locale/czech.dtx
index e8afd39..ac7dfa4 100644
--- a/locale/czech.dtx
+++ b/locale/czech.dtx
@@ -1,45 +1,49 @@
 % \file{locale/czech.def}
 % This is the base file of the Czech locale. It defines all the
 % private macros mandated by the locale file interface.
-% \begin{macro}{\thesis@gender@koncovka}
-% The locale file also defines the |\thesis@gender@koncovka| macro,
-% which expands to the correct verb ending based on the value of
-% the |\thesis@ifwoman| macro and the |\thesis@typeName@akuzativ|
-% containing the accusative case of the thesis type name.
+% \begin{macro}{\thesis@czech@gender@koncovka}
+% The locale file also defines the |\thesis@czech@gender@koncovka|
+% macro, which expands to the correct verb ending based on the
+% value of the |\thesis@ifwoman| macro and the
+% |\thesis@typeName@akuzativ| containing the accusative case of the
+% thesis type name.
 % \end{macro}\iffalse
 %<*base>
 % \fi\begin{macrocode}
-\ProvidesFile{fithesis3/locale/czech.def}[2015/04/12]
+\ProvidesFile{fithesis3/locale/czech.def}[2015/04/18]
 
 % Pomocná makra
-\def\thesis@gender@koncovka{%
+\def\thesis@czech@gender@koncovka{%
   \ifthesis@woman a\fi}
 
 % Zástupné texty
-\def\thesis@placeholders@title{Název práce}
-\def\thesis@placeholders@keywords{klíčové slovo 1, klíčové slovo 2, ...}
-\def\thesis@placeholders@abstract{Text shrnutí}
-\def\thesis@placeholders@author{Jméno autora}
-\def\thesis@universityName{Název univerzity}
-\def\thesis@facultyName{Název fakulty}
-\def\thesis@placeholders@advisor{Jméno vedoucího}
-\def\thesis@placeholders@department{Název katedry}
-\def\thesis@placeholders@programme{Název studijního programu}
-\def\thesis@placeholders@field{Název studijního oboru}
-\def\thesis@assignment{Místo tohoto listu vložte kopii
+\def\thesis@czech@placeholders@title{Název práce}
+\def\thesis@czech@placeholders@keywords{klíčové slovo 1,
+  klíčové slovo 2, ...}
+\def\thesis@czech@placeholders@abstract{Text shrnutí}
+\def\thesis@czech@placeholders@author{Jméno autora}
+\def\thesis@czech@universityName{Název univerzity}
+\def\thesis@czech@facultyName{Název fakulty}
+\def\thesis@czech@placeholders@advisor{Jméno vedoucího}
+\def\thesis@czech@placeholders@department{Název katedry}
+\def\thesis@czech@placeholders@programme{Název studijního
+  programu}
+\def\thesis@czech@placeholders@field{Název studijního oboru}
+\def\thesis@czech@assignment{Místo tohoto listu vložte kopii
   oficiálního podepsaného zadání práce.}
-\def\thesis@declaration{Text prohlášení ...}
+\def\thesis@czech@declaration{Text prohlášení ...}
 
 % Různé
-\def\thesis@advisorTitle{Vedoucí práce}
-\def\thesis@abstractTitle{Shrnutí}
-\def\thesis@keywordsTitle{Klíčová slova}
-\def\thesis@thanksTitle{Poděkování}
-\def\thesis@declarationTitle{Prohlášení}
-\def\thesis@winter{Jaro}
-\def\thesis@summer{Podzim}
-\def\thesis@semester{\thesis@season\ \thesis@year}
-\def\thesis@typeName{%
+\def\thesis@czech@advisorTitle{Vedoucí práce}
+\def\thesis@czech@abstractTitle{Shrnutí}
+\def\thesis@czech@keywordsTitle{Klíčová slova}
+\def\thesis@czech@thanksTitle{Poděkování}
+\def\thesis@czech@declarationTitle{Prohlášení}
+\def\thesis@czech@winter{Jaro}
+\def\thesis@czech@summer{Podzim}
+\def\thesis@czech@semester{%
+  \thesis@{slovak@\thesis@season}\ \thesis@year}
+\def\thesis@czech@typeName{%
   \ifx\thesis@type\thesis@bachelors%
     Bakalářská práce%
   \else\ifx\thesis@type\thesis@masters%
@@ -51,7 +55,7 @@
   \else%
     <<Neznámý typ práce (\thesis@type)>>%
   \fi\fi\fi\fi}
-\def\thesis@typeName@akuzativ{%
+\def\thesis@czech@typeName@akuzativ{%
   \ifx\thesis@type\thesis@bachelors%
     Bakalářskou práci%
   \else\ifx\thesis@type\thesis@masters%
@@ -67,126 +71,127 @@
 %</base>
 % \fi\file{locale/mu/czech.def}
 % This is the Czech locale file specific to the Masaryk
-% University in Brno. It replaces the |\thesis@universityName|
+% University in Brno. It replaces the \texttt{universityName}
 % placeholder with the correct value.
 % \iffalse
 %<*mu>
 % \fi\begin{macrocode}
-\ProvidesFile{fithesis3/locale/mu/czech.def}[2015/04/08]
-\def\thesis@universityName{Masarykova Univerzita}
+\ProvidesFile{fithesis3/locale/mu/czech.def}[2015/04/18]
+\def\thesis@czech@universityName{Masarykova Univerzita}
 %    \end{macrocode}\iffalse
 %</mu>
 % \fi\file{locale/mu/law/czech.def}
 % This is the Czech locale file specific to the Faculty of Law at
-% the Masaryk University in Brno. It replaces the
-% |\thesis@facultyName| placeholder with the correct value.
+% University in Brno. It replaces the \texttt{facultyName}
+% placeholder with the correct value.
 % \iffalse
 %<*mu/law>
 % \fi\begin{macrocode}
-\ProvidesFile{fithesis3/locale/mu/law/czech.def}[2015/04/08]
-\def\thesis@facultyName{Právnická fakulta}
+\ProvidesFile{fithesis3/locale/mu/law/czech.def}[2015/04/18]
+\def\thesis@czech@facultyName{Právnická fakulta}
 %    \end{macrocode}\iffalse
 %</mu/law>
 % \fi\file{locale/mu/fsps/czech.def}
 % This is the Czech locale file specific to the Faculty of Sports
 % Studies at the Masaryk University in Brno. It replaces the
-% |\thesis@facultyName| placeholder with the correct value.
+% \texttt{facultyName} placeholder with the correct value.
 % \iffalse
 %<*mu/fsps>
 % \fi\begin{macrocode}
-\ProvidesFile{fithesis3/locale/mu/fsps/czech.def}[2015/04/08]
-\def\thesis@facultyName{Fakulta sportovních studií}
+\ProvidesFile{fithesis3/locale/mu/fsps/czech.def}[2015/04/18]
+\def\thesis@czech@facultyName{Fakulta sportovních studií}
 %    \end{macrocode}\iffalse
 %</mu/fsps>
 % \fi\file{locale/mu/fss/czech.def}
 % This is the Czech locale file specific to the Faculty of Social
 % Studies at the Masaryk University in Brno. It replaces the
-% |\thesis@facultyName| placeholder with the correct value.
+% \texttt{facultyName} placeholder with the correct value.
 % \iffalse
 %<*mu/fss>
 % \fi\begin{macrocode}
-\ProvidesFile{fithesis3/locale/mu/fss/czech.def}[2015/04/08]
-\def\thesis@facultyName{Fakulta sociálních studií}
+\ProvidesFile{fithesis3/locale/mu/fss/czech.def}[2015/04/18]
+\def\thesis@czech@facultyName{Fakulta sociálních studií}
 %    \end{macrocode}\iffalse
 %</mu/fss>
 % \fi\file{locale/mu/econ/czech.def}
 % This is the Czech locale file specific to the Faculty of
 % Economics and Administration at the Masaryk University in Brno.
-% It replaces the |\thesis@facultyName| placeholder with the
+% It replaces the \texttt{facultyName} placeholder with the
 % correct value.
 % \iffalse
 %<*mu/econ>
 % \fi\begin{macrocode}
-\ProvidesFile{fithesis3/locale/mu/econ/czech.def}[2015/04/08]
-\def\thesis@facultyName{Ekonomicko-správní fakulta}
+\ProvidesFile{fithesis3/locale/mu/econ/czech.def}[2015/04/18]
+\def\thesis@czech@facultyName{Ekonomicko-správní fakulta}
 %    \end{macrocode}\iffalse
 %</mu/econ>
 % \fi\file{locale/mu/med/czech.def}
 % This is the Czech locale file specific to the Faculty of
 % Medicine at the Masaryk University in Brno.
-% It replaces the |\thesis@facultyName| placeholder with the
+% It replaces the \texttt{facultyName} placeholder with the
 % correct value.
 % \iffalse
 %<*mu/med>
 % \fi\begin{macrocode}
-\ProvidesFile{fithesis3/locale/mu/med/czech.def}[2015/04/08]
-\def\thesis@facultyName{Lékařská fakulta}
+\ProvidesFile{fithesis3/locale/mu/med/czech.def}[2015/04/18]
+\def\thesis@czech@facultyName{Lékařská fakulta}
 %    \end{macrocode}\iffalse
 %</mu/med>
 % \fi\file{locale/mu/fi/czech.def}
 % This is the Czech locale file specific to the Faculty of
 % Informatics at the Masaryk University in Brno.
-% It replaces the |\thesis@facultyName| placeholder with the
-% correct value and updates the |\thesis@placeholders@assignment|
-% and |\thesis@declaration| private macros in accordance with the
+% It replaces the \texttt{facultyName} placeholder with the
+% correct value and updates the \texttt{placeholders@assignment}
+% and \texttt{declaration} strings in accordance with the
 % requirements of the faculty. The file also defines the
-% |\thesis@advisorSignature| macro required by the
+% \texttt{advisorSignature} string required by the
 % |\thesis@titlePage| block defined within the
 % \texttt{style/mu/fi.sty} style file.
 % \iffalse
 %<*mu/fi>
 % \fi\begin{macrocode}
-\ProvidesFile{fithesis3/locale/mu/fi/czech.def}[2015/04/12]
-\def\thesis@facultyName{Fakulta informatiky}
+\ProvidesFile{fithesis3/locale/mu/fi/czech.def}[2015/04/18]
+\def\thesis@czech@facultyName{Fakulta informatiky}
 
 % Zástupné texty
-\def\thesis@placeholders@assignment{Místo tohoto listu vložte
-  kopie oficiálního podepsaného zadání práce a prohlášení
-  autora školního díla.}
+\def\thesis@czech@placeholders@assignment{Místo tohoto listu
+  vložte kopie oficiálního podepsaného zadání práce a
+  prohlášení autora školního díla.}
 
 % Ostatní
-\def\thesis@declaration{%
-  Prohlašuji, že tato \thesis@lower{typeName} je mým původním
-  autorským dílem, které jsem vypracoval\thesis@gender@koncovka\ 
-  samostatně. Všechny zdroje, prameny a literaturu, které jsem
-  při vypracování používal\thesis@gender@koncovka\ nebo z~nich
-  čerpal\thesis@gender@koncovka, v~práci řádně cituji s~uvedením
-  úplného odkazu na příslušný zdroj.}
-\def\thesis@advisorSignature{Podpis vedoucího}
+\def\thesis@czech@declaration{%
+  Prohlašuji, že tato \thesis@lower{czech@typeName} je mým
+  původním autorským dílem, které jsem vypracoval%
+  \thesis@czech@gender@koncovka samostatně. Všechny zdroje,
+  prameny a literaturu, které jsem při vypracování
+  používal\thesis@czech@gender@koncovka nebo z~nich
+  čerpal\thesis@czech@gender@koncovka, v~práci řádně cituji
+  s~uvedením úplného odkazu na příslušný zdroj.}
+\def\thesis@czech@advisorSignature{Podpis vedoucího}
 %    \end{macrocode}\iffalse
 %</mu/fi>
 % \fi\file{locale/mu/phil/czech.def}
 % This is the Czech locale file specific to the Faculty of
 % Arts at the Masaryk University in Brno.
-% It replaces the |\thesis@facultyName| placeholder with the
+% It replaces the \texttt{facultyName} placeholder with the
 % correct value.
 % \iffalse
 %<*mu/phil>
 % \fi\begin{macrocode}
-\ProvidesFile{fithesis3/locale/mu/phil/czech.def}[2015/04/08]
-\def\thesis@facultyName{Filozofická fakulta}
+\ProvidesFile{fithesis3/locale/mu/phil/czech.def}[2015/04/18]
+\def\thesis@czech@facultyName{Filozofická fakulta}
 %    \end{macrocode}\iffalse
 %</mu/phil>
 % \fi\file{locale/mu/ped/czech.def}
 % This is the Czech locale file specific to the Faculty of
 % Education at the Masaryk University in Brno.
-% It replaces the |\thesis@facultyName| placeholder with the
+% It replaces the \texttt{facultyName} placeholder with the
 % correct value.
 % \iffalse
 %<*mu/ped>
 % \fi\begin{macrocode}
-\ProvidesFile{fithesis3/locale/mu/ped/czech.def}[2015/04/08]
-\def\thesis@facultyName{Pedagogická fakulta}
+\ProvidesFile{fithesis3/locale/mu/ped/czech.def}[2015/04/18]
+\def\thesis@czech@facultyName{Pedagogická fakulta}
 %    \end{macrocode}\iffalse
 %</mu/ped>
 % \fi\file{locale/mu/sci/czech.def}
@@ -195,38 +200,39 @@
 % It defines the private macros required by the
 % |\thesis@blocks@bibEntry| block defined within the
 % \texttt{style/mu/sci.sty} style file.
-% It also replaces the |\thesis@facultyName| and
-% |\thesis@placeholders@department| placeholders with the
-% correct value and redefines the |\thesis@abstractTitle|,
-% |\thesis@placeholders@abstract| and |\thesis@declaration| macros
+% It also replaces the \texttt{facultyName} and
+% \texttt{placeholders@department} placeholders with the
+% correct value and redefines the \texttt{abstractTitle},
+% \texttt{placeholders@abstract} and \texttt{declaration} strings
 % in accordance with the formal requirements of the faculty.
 % \iffalse
 %<*mu/sci>
 % \fi\begin{macrocode}
-\ProvidesFile{fithesis3/locale/mu/sci/czech.def}[2015/04/12]
+\ProvidesFile{fithesis3/locale/mu/sci/czech.def}[2015/04/18]
 
 % Zástupné texty
-\def\thesis@facultyName{Přírodovědecká fakulta}
-\def\thesis@placeholders@department{Název ústavu}
-\def\thesis@placeholders@abstract{Text abstraktu}
+\def\thesis@czech@facultyName{Přírodovědecká fakulta}
+\def\thesis@czech@placeholders@department{Název ústavu}
+\def\thesis@czech@placeholders@abstract{Text abstraktu}
 
 % Ostatní
-\def\thesis@abstractTitle{Abstrakt}
-\def\thesis@declaration{%
-  Prohlašuji, že jsem svoji \thesis@lower{typeName@akuzativ}
-  vypracoval\thesis@gender@koncovka\ samostatně s~využitím
-  informačních zdrojů, které jsou v~práci citovány.}
+\def\thesis@czech@abstractTitle{Abstrakt}
+\def\thesis@czech@declaration{%
+  Prohlašuji, že jsem svoji \thesis@lower{czech@typeName@%
+  akuzativ} vypracoval\thesis@czech@gender@koncovka\ samo%
+  statně s~využitím informačních zdrojů, které jsou v~práci
+  citovány.}
 
 % Bibliografický záznam
-\def\thesis@bibTitle{Bibliografický záznam}
-\def\thesis@bib@author{Autor}
-\def\thesis@bib@title{Název práce}
-\def\thesis@bib@programme{Studijní program}
-\def\thesis@bib@field{Studijní obor}
-\def\thesis@bib@advisor{\thesis@advisorTitle}
-\def\thesis@bib@academicYear{Akademický rok}
-\def\thesis@bib@pages{Počet stran}
-\def\thesis@bib@keywords{\thesis@keywordsTitle}
+\def\thesis@czech@bibTitle{Bibliografický záznam}
+\def\thesis@czech@bib@author{Autor}
+\def\thesis@czech@bib@title{Název práce}
+\def\thesis@czech@bib@programme{Studijní program}
+\def\thesis@czech@bib@field{Studijní obor}
+\def\thesis@czech@bib@advisor{\thesis@czech@advisorTitle}
+\def\thesis@czech@bib@academicYear{Akademický rok}
+\def\thesis@czech@bib@pages{Počet stran}
+\def\thesis@czech@bib@keywords{\thesis@czech@keywordsTitle}
 %    \end{macrocode}\iffalse
 %</mu/sci>
 % \fi
diff --git a/locale/english.dtx b/locale/english.dtx
index 3df5e33..b561013 100644
--- a/locale/english.dtx
+++ b/locale/english.dtx
@@ -1,38 +1,39 @@
-% \file{locale/base.def}
-% This is the base file of the English locale to be shared with
-% non-English locale files. It contains definitions of English
-% versions of all strings as mandated by the locale file interface.
+% \file{locale/english.def}
+% This is the base file of the English locale. It defines all the
+% private macros mandated by the locale file interface. 
 %
 % \iffalse
-%<*base-shared>
+%<*base>
 % \fi\begin{macrocode}
-\ProvidesFile{fithesis3/locale/base.def}[2015/04/12]
+\ProvidesFile{fithesis3/locale/english.def}[2015/04/18]
 
 % Placeholders
-\def\thesis@placeholders@titleEn{Thesis Title}
-\def\thesis@placeholders@keywordsEn{keyword1, keyword2, ...}
-\def\thesis@placeholders@abstractEn{Abstract text}
-\def\thesis@placeholders@authorEn{Author's name}
-\def\thesis@placeholders@universityNameEn{University name}
-\def\thesis@facultyNameEn{Faculty name}
-\def\thesis@placeholders@advisorEn{\thesis@advisorTitleEn's name}
-\def\thesis@placeholders@departmentEn{Department name}
-\def\thesis@placeholders@programmeEn{Study programme name}
-\def\thesis@placeholders@fieldEn{The field of study}
-\def\thesis@assignmentEn{Replace this page with a copy
+\def\thesis@english@placeholders@title{Thesis Title}
+\def\thesis@english@placeholders@keywords{keyword1, keyword2, ...}
+\def\thesis@english@placeholders@abstract{Abstract text}
+\def\thesis@english@placeholders@author{Author's name}
+\def\thesis@english@placeholders@universityName{University name}
+\def\thesis@english@facultyName{Faculty name}
+\def\thesis@english@placeholders@advisor{%
+  \thesis@english@advisorTitle's name}
+\def\thesis@english@placeholders@department{Department name}
+\def\thesis@english@placeholders@programme{Study programme name}
+\def\thesis@english@placeholders@field{The field of study}
+\def\thesis@english@assignment{Replace this page with a copy
   of the official signed thesis assignment.}
-\def\thesis@declarationEn{Declaration text ...}
+\def\thesis@english@declaration{Declaration text ...}
 
 % Miscellaneous
-\def\thesis@advisorTitleEn{Advisor}
-\def\thesis@abstractTitleEn{Abstract}
-\def\thesis@keywordsTitleEn{Keywords}
-\def\thesis@thanksTitleEn{Acknowledgement}
-\def\thesis@declarationTitleEn{Declaration}
-\def\thesis@winterEn{Spring}
-\def\thesis@summerEn{Fall}
-\def\thesis@semesterEn{\thesis@season\ \thesis@year}
-\def\thesis@typeNameEn{%
+\def\thesis@english@advisorTitle{Advisor}
+\def\thesis@english@abstractTitle{Abstract}
+\def\thesis@english@keywordsTitle{Keywords}
+\def\thesis@english@thanksTitle{Acknowledgement}
+\def\thesis@english@declarationTitle{Declaration}
+\def\thesis@english@winter{Spring}
+\def\thesis@english@summer{Fall}
+\def\thesis@english@semester{%
+  \thesis@{english@\thesis@season}\ \thesis@year}
+\def\thesis@english@typeName{%
   \ifx\thesis@type\thesis@bachelors%
     Bachelor's Thesis%
   \else\ifx\thesis@type\thesis@masters%
@@ -45,339 +46,157 @@
     <<Unknown thesis type (\thesis@type)>>%
   \fi\fi\fi\fi}
 %    \end{macrocode}\iffalse
-%</base-shared>
-% \fi\file{locale/english.def}
-% This is the base file of the English locale. It defines the rest
-% of the private macros mandated by the locale file interface. 
-% \iffalse
-%<*base>
-% \fi\begin{macrocode}
-\ProvidesFile{fithesis3/locale/english.def}[2015/04/10]
-
-% Placeholders
-\let\thesis@placeholders@title=\thesis@placeholders@titleEn
-\let\thesis@placeholders@keywords=\thesis@placeholders@keywordsEn
-\let\thesis@placeholders@abstract=\thesis@placeholders@abstractEn
-\let\thesis@placeholders@author=\thesis@placeholders@authorEn
-\let\thesis@universityName=\thesis@placeholders@universityNameEn
-\let\thesis@facultyName=\thesis@facultyNameEn
-\let\thesis@placeholders@advisor=\thesis@placeholders@advisorEn
-\let\thesis@placeholders@department=\thesis@placeholders@departmentEn
-\let\thesis@placeholders@programme=\thesis@placeholders@programmeEn
-\let\thesis@placeholders@field=\thesis@placeholders@fieldEn
-\let\thesis@assignment=\thesis@assignmentEn
-\let\thesis@declaration=\thesis@declarationEn
-
-% Miscellaneous
-\let\thesis@advisorTitle=\thesis@advisorTitleEn
-\let\thesis@abstractTitle=\thesis@abstractTitleEn
-\let\thesis@keywordsTitle=\thesis@keywordsTitleEn
-\let\thesis@thanksTitle=\thesis@thanksTitleEn
-\let\thesis@declarationTitle=\thesis@declarationTitleEn
-\let\thesis@winter=\thesis@winterEn
-\let\thesis@summer=\thesis@summerEn
-\let\thesis@semester=\thesis@semesterEn
-\let\thesis@typeName=\thesis@typeNameEn
-%    \end{macrocode}\iffalse
 %</base>
-% \fi\file{locale/mu/base.def}
+% \fi\file{locale/mu/english.def}
 % This is the English locale file specific to the Masaryk
-% University in Brno containing strings to be shared with
-% non-English locale files. It replaces the
-% |\thesis@universityNameEn| placeholder with the correct
-% value and defines the |\thesis@declarationEn| macro.
+% University in Brno. It replaces the \texttt{universityName}
+% placeholder with the correct value and defines the
+% \texttt{declarationEn} string.
 % \iffalse
-%<*mu-shared>
+%<*mu>
 % \fi\begin{macrocode}
-\ProvidesFile{fithesis3/locale/mu/base.def}[2015/04/08]
-\def\thesis@universityNameEn{Masaryk University}
-\def\thesis@declarationEn{%
+\ProvidesFile{fithesis3/locale/mu/english.def}[2015/04/18]
+\def\thesis@english@universityName{Masaryk University}
+\def\thesis@english@declaration{%
   Hereby I declare that this paper is my original authorial work, 
   which I have worked out by my own. All sources, references and
   literature used or excerpted during elaboration of this work are
   properly cited and listed in complete reference to the due source.}
 %    \end{macrocode}\iffalse
-%</mu-shared>
-% \fi\file{locale/mu/english.def}
-% This is the English locale file specific to the Masaryk
-% University in Brno. It replaces the
-% |\thesis@universityName| placeholder with the correct
-% value and defines the |\thesis@declaration| macro.
-% \iffalse
-%<*mu>
-% \fi\begin{macrocode}
-\ProvidesFile{fithesis3/locale/mu/english.def}[2015/04/10]
-\let\thesis@universityName=\thesis@universityNameEn
-\let\thesis@declaration=\thesis@declarationEn
-%    \end{macrocode}\iffalse
 %</mu>
-% \fi\file{locale/mu/law/base.def}
-% This is the English locale file specific to the Faculty of Law at
-% the Masaryk University in Brno containing strings to be shared
-% with non-English locale files. It replaces the
-% |\thesis@facultyNameEn| placeholder with the correct value.
-% \iffalse
-%<*mu/law-shared>
-% \fi\begin{macrocode}
-\ProvidesFile{fithesis3/locale/mu/law/base.def}[2015/04/10]
-\def\thesis@facultyNameEn{Faculty of Law}
-%    \end{macrocode}\iffalse
-%</mu/law-shared>
 % \fi\file{locale/mu/law/english.def}
 % This is the English locale file specific to the Faculty of Law at
 % the Masaryk University in Brno. It replaces the
-% |\thesis@facultyName| placeholder with the correct value.
+% \texttt{facultyName} placeholder with the correct value.
 % \iffalse
 %<*mu/law>
 % \fi\begin{macrocode}
-\ProvidesFile{fithesis3/locale/mu/law/english.def}[2015/04/10]
-\let\thesis@facultyName=\thesis@facultyNameEn
+\ProvidesFile{fithesis3/locale/mu/law/english.def}[2015/04/18]
+\def\thesis@english@facultyName{Faculty of Law}
 %    \end{macrocode}\iffalse
 %</mu/law>
-% \fi\file{locale/mu/fsps/base.def}
-% This is the English locale file specific to the Faculty of Sports
-% at the Masaryk University in Brno containing strings to be shared
-% with non-English locale files. It replaces the
-% |\thesis@facultyNameEn| placeholder with the correct value.
-% \iffalse
-%<*mu/fsps-shared>
-% \fi\begin{macrocode}
-\ProvidesFile{fithesis3/locale/mu/fsps/base.def}[2015/04/10]
-\def\thesis@facultyNameEn{Faculty of Sports Studies}
-%    \end{macrocode}\iffalse
-%</mu/fsps-shared>
 % \fi\file{locale/mu/fsps/english.def}
 % This is the English locale file specific to the Faculty of Sports
 % Studies at the Masaryk University in Brno. It replaces the
-% |\thesis@facultyName| placeholder with the correct value.
+% \texttt{facultyName} placeholder with the correct value.
 % \iffalse
 %<*mu/fsps>
 % \fi\begin{macrocode}
-\ProvidesFile{fithesis3/locale/mu/fsps/english.def}[2015/04/10]
-\let\thesis@facultyName=\thesis@facultyNameEn
+\ProvidesFile{fithesis3/locale/mu/fsps/english.def}[2015/04/18]
+\def\thesis@english@facultyName{Faculty of Sports Studies}
 %    \end{macrocode}\iffalse
 %</mu/fsps>
-% \fi\file{locale/mu/fss/base.def}
-% This is the English locale file specific to the Faculty of Social
-% Studies at the Masaryk University in Brno containing strings to
-% be shared with non-English locale files. It replaces the
-% |\thesis@facultyNameEn| placeholder with the correct value.
-% \iffalse
-%<*mu/fss-shared>
-% \fi\begin{macrocode}
-\ProvidesFile{fithesis3/locale/mu/fss/base.def}[2015/04/10]
-\def\thesis@facultyNameEn{Faculty of Social Studies}
-%    \end{macrocode}\iffalse
-%</mu/fss-shared>
 % \fi\file{locale/mu/fss/english.def}
 % This is the English locale file specific to the Faculty of Social
 % Studies at the Masaryk University in Brno. It replaces the
-% |\thesis@facultyName| placeholder with the correct value.
+% \texttt{facultyName} placeholder with the correct value.
 % \iffalse
 %<*mu/fss>
 % \fi\begin{macrocode}
-\ProvidesFile{fithesis3/locale/mu/fss/english.def}[2015/04/08]
-\let\thesis@facultyName=\thesis@facultyNameEn
+\ProvidesFile{fithesis3/locale/mu/fss/english.def}[2015/04/18]
+\def\thesis@english@facultyName{Faculty of Social Studies}
 %    \end{macrocode}\iffalse
 %</mu/fss>
-% \fi\file{locale/mu/econ/base.def}
-% This is the English locale file specific to the Faculty of
-% Economics and Administration at the Masaryk University in Brno
-% containing strings to be shared with non-English locale files.
-% It replaces the |\thesis@facultyNameEn| placeholder with the
-% correct value.
-% \iffalse
-%<*mu/econ-shared>
-% \fi\begin{macrocode}
-\ProvidesFile{fithesis3/locale/mu/econ/base.def}[2015/04/10]
-\def\thesis@facultyNameEn{Faculty of Economics and Administration}
-%    \end{macrocode}\iffalse
-%</mu/econ-shared>
 % \fi\file{locale/mu/econ/english.def}
 % This is the English locale file specific to the Faculty of
 % Economics and Administration at the Masaryk University in Brno.
-% It replaces the |\thesis@facultyName| placeholder with the
+% It replaces the \texttt{facultyName} placeholder with the
 % correct value.
 % \iffalse
 %<*mu/econ>
 % \fi\begin{macrocode}
-\ProvidesFile{fithesis3/locale/mu/econ/english.def}[2015/04/10]
-\let\thesis@facultyName=\thesis@facultyNameEn
+\ProvidesFile{fithesis3/locale/mu/econ/english.def}[2015/04/18]
+\def\thesis@english@facultyName{Faculty of Economics
+  and Administration}
 %    \end{macrocode}\iffalse
 %</mu/econ>
-% \fi\file{locale/mu/med/base.def}
-% This is the English locale file specific to the Faculty of
-% Medicine at the Masaryk University in Brno containing strings
-% to be shared with non-English locale files.
-% It replaces the |\thesis@facultyNameEn| placeholder with the
-% correct value.
-% \iffalse
-%<*mu/med-shared>
-% \fi\begin{macrocode}
-\ProvidesFile{fithesis3/locale/mu/med/base.def}[2015/04/10]
-\def\thesis@facultyNameEn{Faculty of Medicine}
-%    \end{macrocode}\iffalse
-%</mu/med-shared>
 % \fi\file{locale/mu/med/english.def}
 % This is the English locale file specific to the Faculty of
 % Medicine at the Masaryk University in Brno.
-% It replaces the |\thesis@facultyName| placeholder with the
+% It replaces the \texttt{facultyName} placeholder with the
 % correct value.
 % \iffalse
 %<*mu/med>
 % \fi\begin{macrocode}
-\ProvidesFile{fithesis3/locale/mu/med/english.def}[2015/04/10]
-\let\thesis@facultyName=\thesis@facultyNameEn
+\ProvidesFile{fithesis3/locale/mu/med/english.def}[2015/04/18]
+\def\thesis@english@facultyName{Faculty of Medicine}
 %    \end{macrocode}\iffalse
 %</mu/med>
-% \fi\file{locale/mu/fi/base.def}
-% This is the English locale file specific to the Faculty of
-% Informatics at the Masaryk University in Brno containing strings
-% to be shared with non-English locale files.
-% It replaces the |\thesis@facultyNameEn| placeholder with the
-% correct value and updates the |\thesis@placeholders@assignmentEn|
-% and |\thesis@declarationEn| private macros in accordance with the
-% requirements of the faculty.
-% \iffalse
-%<*mu/fi-shared>
-% \fi\begin{macrocode}
-\ProvidesFile{fithesis3/locale/mu/fi/base.def}[2015/04/10]
-\def\thesis@facultyNameEn{Faculty of Informatics}
-\def\thesis@assignmentEn{Replace this page with a copy
-  of the official signed thesis assignment and the copy of the
-  Statement of an Author.}
-\def\thesis@advisorSignatureEn{Signature of Thesis \thesis@advisorTitle}
-%    \end{macrocode}\iffalse
-%</mu/fi-shared>
 % \fi\file{locale/mu/fi/english.def}
 % This is the English locale file specific to the Faculty of
 % Informatics at the Masaryk University in Brno.
-% It replaces the |\thesis@facultyName| placeholder with the
-% correct value and updates the |\thesis@placeholders@assignment|
-% and |\thesis@declaration| private macros in accordance with the
-% requirements of the faculty.
+% It replaces the \texttt{facultyName} placeholder with the
+% correct value and updates the \texttt{placeholders@assignment}
+% string in accordance with the requirements of the faculty.
+% The file also defines the \texttt{advisorSignature} string
+% required by the |\thesis@titlePage| block defined within the
+% \texttt{style/mu/fi.sty} style file.
 % \iffalse
 %<*mu/fi>
 % \fi\begin{macrocode}
-\ProvidesFile{fithesis3/locale/mu/fi/english.def}[2015/04/10]
-\let\thesis@facultyName=\thesis@facultyNameEn
-\let\thesis@assignment=\thesis@assignmentEn
-\let\thesis@advisorSignature=\thesis@advisorSignatureEn
+\ProvidesFile{fithesis3/locale/mu/fi/english.def}[2015/04/18]
+\def\thesis@english@facultyName{Faculty of Informatics}
+\def\thesis@english@assignment{Replace this page with a copy
+  of the official signed thesis assignment and the copy of the
+  Statement of an Author.}
+\def\thesis@english@advisorSignature{Signature of Thesis
+  \thesis@english@advisorTitle}
 %    \end{macrocode}\iffalse
 %</mu/fi>
-% \fi\file{locale/mu/phil/base.def}
-% This is the English locale file specific to the Faculty of
-% Arts at the Masaryk University in Brno containing strings
-% to be shared with non-English locale files.
-% It replaces the |\thesis@facultyNameEn| placeholder with the
-% correct value.
-% \iffalse
-%<*mu/phil-shared>
-% \fi\begin{macrocode}
-\ProvidesFile{fithesis3/locale/mu/phil/base.def}[2015/04/10]
-\def\thesis@facultyNameEn{Faculty of Arts}
-%    \end{macrocode}\iffalse
-%</mu/phil-shared>
 % \fi\file{locale/mu/phil/english.def}
 % This is the English locale file specific to the Faculty of
 % Arts at the Masaryk University in Brno.
-% It replaces the |\thesis@facultyName| placeholder with the
+% It replaces the \texttt{facultyName} placeholder with the
 % correct value.
 % \iffalse
 %<*mu/phil>
 % \fi\begin{macrocode}
-\ProvidesFile{fithesis3/locale/mu/phil/english.def}[2015/04/10]
-\let\thesis@facultyName=\thesis@facultyNameEn
+\ProvidesFile{fithesis3/locale/mu/phil/english.def}[2015/04/18]
+\def\thesis@english@facultyName{Faculty of Arts}
 %    \end{macrocode}\iffalse
 %</mu/phil>
-% \fi\file{locale/mu/ped/base.def}
-% This is the English locale file specific to the Faculty of
-% Education at the Masaryk University in Brno containing strings
-% to be shared with non-English locale files.
-% It replaces the |\thesis@facultyNameEn| placeholder with the
-% correct value.
-% \iffalse
-%<*mu/ped-shared>
-% \fi\begin{macrocode}
-\ProvidesFile{fithesis3/locale/mu/ped/english.def}[2015/04/10]
-\def\thesis@facultyNameEn{Faculty of Education}
-%    \end{macrocode}\iffalse
-%</mu/ped-shared>
 % \fi\file{locale/mu/ped/english.def}
-% This is the English locale file specific to the Faculty of
+% This is the Slovak locale file specific to the Faculty of
 % Education at the Masaryk University in Brno.
-% It replaces the |\thesis@facultyName| placeholder with the
+% It replaces the \texttt{facultyName} placeholder with the
 % correct value.
 % \iffalse
 %<*mu/ped>
 % \fi\begin{macrocode}
-\ProvidesFile{fithesis3/locale/mu/ped/english.def}[2015/04/10]
-\let\thesis@facultyName=\thesis@facultyNameEn
+\ProvidesFile{fithesis3/locale/mu/ped/english.def}[2015/04/18]
+\def\thesis@english@facultyName{Faculty of Education}
 %    \end{macrocode}\iffalse
 %</mu/ped>
-% \fi\file{locale/mu/sci/base.def}
-% This is the English locale file specific to the Faculty of
-% Science at the Masaryk University in Brno containing strings to
-% be shared with non-English locale files.
-% It defines the private macros required by the
-% |\thesis@blocks@bibEntryEn| block defined within the
-% \texttt{style/mu/sci.sty} style file.
-% It also replaces the |\thesis@facultyNameEn| placeholder with the
-% correct value and redefines the |\thesis@advisorTitleEn| macro in
-% accordance with the formal requirements of the faculty.
-% \iffalse
-%<*mu/sci-shared>
-% \fi\begin{macrocode}
-\ProvidesFile{fithesis3/locale/mu/sci/base.def}[2015/04/10]
-
-% Bibliographic entry
-\def\thesis@bibTitleEn{Bibliographic entry}
-\def\thesis@bib@authorEn{Author}
-\def\thesis@bib@titleEn{Title of Thesis}
-\def\thesis@bib@programmeEn{Degree Programme}
-\def\thesis@bib@fieldEn{Field of Study}
-\def\thesis@bib@advisorEn{Supervisor}
-\def\thesis@bib@academicYearEn{Academic Year}
-\def\thesis@bib@pagesEn{Number of Pages}
-\let\thesis@bib@keywordsEn=\thesis@keywordsTitleEn
-
-% Placeholders
-\def\thesis@facultyNameEn{Faculty of Science}
-
-% Miscellaneous
-\let\thesis@advisorTitleEn=\thesis@bib@advisorEn
-%    \end{macrocode}\iffalse
-%</mu/sci-shared>
 % \fi\file{locale/mu/sci/english.def}
 % This is the English locale file specific to the Faculty of
 % Science at the Masaryk University in Brno.
 % It defines the private macros required by the
-% |\thesis@blocks@bibEntry| block defined within the
+% |\thesis@blocks@bibEntryEn| block defined within the
 % \texttt{style/mu/sci.sty} style file.
-% It also replaces the |\thesis@facultyName| placeholder with the
-% correct value and redefines the |\thesis@advisorTitle| macro in
+% It also replaces the \texttt{facultyName} placeholder with the
+% correct value and redefines the \texttt{advisorTitle} string in
 % accordance with the formal requirements of the faculty.
 % \iffalse
 %<*mu/sci>
 % \fi\begin{macrocode}
-\ProvidesFile{fithesis3/locale/mu/sci/english.def}[2015/04/10]
-
-% Bibliographic entry
-\let\thesis@bibTitle=\thesis@bibTitleEn
-\let\thesis@bib@author=\thesis@bib@authorEn
-\let\thesis@bib@title=\thesis@bib@titleEn
-\let\thesis@bib@programme=\thesis@bib@programmeEn
-\let\thesis@bib@field=\thesis@bib@fieldEn
-\let\thesis@bib@advisor=\thesis@bib@advisorEn
-\let\thesis@bib@academicYear=\thesis@bib@academicYearEn
-\let\thesis@bib@pages=\thesis@bib@pagesEn
-\let\thesis@bib@keywords=\thesis@bib@keywordsEn
+\ProvidesFile{fithesis3/locale/mu/sci/english.def}[2015/04/18]
 
 % Placeholders
-\let\thesis@facultyName=\thesis@facultyNameEn
+\def\thesis@english@facultyName{Faculty of Science}
 
 % Miscellaneous
-\let\thesis@advisorTitle=\thesis@advisorTitleEn
+\let\thesis@english@advisorTitleEn=\thesis@english@bib@advisor
+
+% Bibliographic entry
+\def\thesis@english@bibTitle{Bibliographic entry}
+\def\thesis@english@bib@author{Author}
+\def\thesis@english@bib@title{Title of Thesis}
+\def\thesis@english@bib@programme{Degree Programme}
+\def\thesis@english@bib@field{Field of Study}
+\def\thesis@english@bib@advisor{Supervisor}
+\def\thesis@english@bib@academicYear{Academic Year}
+\def\thesis@english@bib@pages{Number of Pages}
+\let\thesis@english@bib@keywords\thesis@english@keywordsTitle
 %    \end{macrocode}\iffalse
 %</mu/sci>
 % \fi
diff --git a/locale/english.ins b/locale/english.ins
index a1c2915..8066e9d 100644
--- a/locale/english.ins
+++ b/locale/english.ins
@@ -9,17 +9,5 @@
           \file{mu/fi/english.def}{\from{english.dtx}{mu/fi}}
           \file{mu/phil/english.def}{\from{english.dtx}{mu/phil}}
           \file{mu/ped/english.def}{\from{english.dtx}{mu/ped}}
-          \file{mu/sci/english.def}{\from{english.dtx}{mu/sci}}
-          \file{base.def}{\from{english.dtx}{base-shared}}
-          \file{mu/base.def}{\from{english.dtx}{mu-shared}}
-          % Base files
-          \file{mu/law/base.def}{\from{english.dtx}{mu/law-shared}}
-          \file{mu/fsps/base.def}{\from{english.dtx}{mu/fsps-shared}}
-          \file{mu/fss/base.def}{\from{english.dtx}{mu/fss-shared}}
-          \file{mu/econ/base.def}{\from{english.dtx}{mu/econ-shared}}
-          \file{mu/med/base.def}{\from{english.dtx}{mu/med-shared}}
-          \file{mu/fi/base.def}{\from{english.dtx}{mu/fi-shared}}
-          \file{mu/phil/base.def}{\from{english.dtx}{mu/phil-shared}}
-          \file{mu/ped/base.def}{\from{english.dtx}{mu/ped-shared}}
-          \file{mu/sci/base.def}{\from{english.dtx}{mu/sci-shared}}}
+          \file{mu/sci/english.def}{\from{english.dtx}{mu/sci}}}
 \endbatchfile
diff --git a/locale/slovak.dtx b/locale/slovak.dtx
index a6c1c74..5b37ae2 100644
--- a/locale/slovak.dtx
+++ b/locale/slovak.dtx
@@ -1,44 +1,47 @@
 % \file{locale/slovak.def}
 % This is the base file of the Slovak locale. It defines all the
 % private macros mandated by the locale file interface. 
-% \begin{macro}{\thesis@gender@koncovka}
-% The locale file defines the |\thesis@gender@koncovka| macro,
-% which expands to the correct verb ending based on the value of
-% the |\thesis@ifwoman| macro.
+% \begin{macro}{\thesis@slovak@gender@koncovka}
+% The locale file defines the |\thesis@slovak@gender@koncovka|
+% macro, which expands to the correct verb ending based on the
+% value of the |\thesis@ifwoman| macro.
 % \end{macro}\iffalse
 %<*base>
 % \fi\begin{macrocode}
-\ProvidesFile{fithesis3/locale/slovak.def}[2015/04/08]
+\ProvidesFile{fithesis3/locale/slovak.def}[2015/04/18]
 
 % Pomocná makrá
-\def\thesis@gender@koncovka{%
+\def\thesis@slovak@gender@koncovka{%
   \ifthesis@woman a\fi}
 
 % Zástupné texty
-\def\thesis@placeholders@title{Názov práce}
-\def\thesis@placeholders@keywords{kľúčové slovo 1, kľúčové slovo 2, ...}
-\def\thesis@placeholders@abstract{Text zhrnutie}
-\def\thesis@placeholders@author{Meno autora}
-\def\thesis@universityName{Názov univerzity}
-\def\thesis@facultyName{Názov fakulty}
-\def\thesis@placeholders@advisor{Meno vedúceho}
-\def\thesis@placeholders@department{Názov katedry}
-\def\thesis@placeholders@programme{Názov študijného programu}
-\def\thesis@placeholders@field{Název študijného odboru}
-\def\thesis@assignment{Namiesto tejto stránky vložte kópiu
+\def\thesis@slovak@placeholders@title{Názov práce}
+\def\thesis@slovak@placeholders@keywords{kľúčové slovo 1,
+  kľúčové slovo 2, ...}
+\def\thesis@slovak@placeholders@abstract{Text zhrnutie}
+\def\thesis@slovak@placeholders@author{Meno autora}
+\def\thesis@slovak@universityName{Názov univerzity}
+\def\thesis@slovak@facultyName{Názov fakulty}
+\def\thesis@slovak@placeholders@advisor{Meno vedúceho}
+\def\thesis@slovak@placeholders@department{Názov katedry}
+\def\thesis@slovak@placeholders@programme{Názov študijného
+  programu}
+\def\thesis@slovak@placeholders@field{Název študijného odboru}
+\def\thesis@slovak@assignment{Namiesto tejto stránky vložte kópiu
   oficiálneho podpísaného zadania práce.}
-\def\thesis@declaration{Text prehlásenie ...}
+\def\thesis@slovak@declaration{Text prehlásenie ...}
 
 % Rôzne
-\def\thesis@advisorTitle{Vedúci práce}
-\def\thesis@abstractTitle{Zhrnutie}
-\def\thesis@keywordsTitle{Kľúčové slová}
-\def\thesis@thanksTitle{Poďakovanie}
-\def\thesis@declarationTitle{Prehlásenie}
-\def\thesis@winter{Jar}
-\def\thesis@summer{Jeseň}
-\def\thesis@semester{\thesis@season\ \thesis@year}
-\def\thesis@typeName{%
+\def\thesis@slovak@advisorTitle{Vedúci práce}
+\def\thesis@slovak@abstractTitle{Zhrnutie}
+\def\thesis@slovak@keywordsTitle{Kľúčové slová}
+\def\thesis@slovak@thanksTitle{Poďakovanie}
+\def\thesis@slovak@declarationTitle{Prehlásenie}
+\def\thesis@slovak@winter{Jar}
+\def\thesis@slovak@summer{Jeseň}
+\def\thesis@slovak@semester{%
+  \thesis@{slovak@\thesis@season}\ \thesis@year}
+\def\thesis@slovak@typeName{%
   \ifx\thesis@type\thesis@bachelors%
     Bakalárska práca%
   \else\ifx\thesis@type\thesis@masters%
@@ -50,7 +53,7 @@
   \else%
     <<Neznámy typ práce (\thesis@type)>>%
   \fi\fi\fi\fi}
-\def\thesis@typeName@akuzativ{%
+\def\thesis@slovak@typeName@akuzativ{%
   \ifx\thesis@type\thesis@bachelors%
     Bakalársku prácu%
   \else\ifx\thesis@type\thesis@masters%
@@ -66,169 +69,141 @@
 %</base>
 % \fi\file{locale/mu/slovak.def}
 % This is the Slovak locale file specific to the Masaryk
-% University in Brno. It replaces the |\thesis@universityName|
+% University in Brno. It replaces the \texttt{universityName}
 % placeholder with the correct value.
 % \iffalse
 %<*mu>
 % \fi\begin{macrocode}
-\ProvidesFile{fithesis3/locale/mu/slovak.def}[2015/04/08]
-\def\thesis@universityName{Masarykova Univerzita}
+\ProvidesFile{fithesis3/locale/mu/slovak.def}[2015/04/18]
+\def\thesis@slovak@universityName{Masarykova Univerzita}
 %    \end{macrocode}\iffalse
 %</mu>
 % \fi\file{locale/mu/law/slovak.def}
 % This is the Slovak locale file specific to the Faculty of Law at
 % the Masaryk University in Brno. It replaces the
-% |\thesis@facultyName| placeholder with the correct value.
+% \texttt{facultyName} placeholder with the correct value.
 % \iffalse
 %<*mu/law>
 % \fi\begin{macrocode}
-\ProvidesFile{fithesis3/locale/mu/law/slovak.def}[2015/04/08]
-\def\thesis@facultyName{Právnická fakulta}
+\ProvidesFile{fithesis3/locale/mu/law/slovak.def}[2015/04/18]
+\def\thesis@slovak@facultyName{Právnická fakulta}
 %    \end{macrocode}\iffalse
 %</mu/law>
 % \fi\file{locale/mu/fsps/slovak.def}
 % This is the Slovak locale file specific to the Faculty of Sports
 % Studies at the Masaryk University in Brno. It replaces the
-% |\thesis@facultyName| placeholder with the correct value.
+% \texttt{facultyName} placeholder with the correct value.
 % \iffalse
 %<*mu/fsps>
 % \fi\begin{macrocode}
-\ProvidesFile{fithesis3/locale/mu/fsps/slovak.def}[2015/04/08]
-\def\thesis@facultyName{Fakulta športových štúdií}
+\ProvidesFile{fithesis3/locale/mu/fsps/slovak.def}[2015/04/18]
+\def\thesis@slovak@facultyName{Fakulta športových štúdií}
 %    \end{macrocode}\iffalse
 %</mu/fsps>
 % \fi\file{locale/mu/fss/slovak.def}
 % This is the Slovak locale file specific to the Faculty of Social
 % Studies at the Masaryk University in Brno. It replaces the
-% |\thesis@facultyName| placeholder with the correct value.
+% \texttt{facultyName} placeholder with the correct value.
 % \iffalse
 %<*mu/fss>
 % \fi\begin{macrocode}
-\ProvidesFile{fithesis3/locale/mu/fss/slovak.def}[2015/04/08]
-\def\thesis@facultyName{Fakulta sociálnych štúdií}
+\ProvidesFile{fithesis3/locale/mu/fss/slovak.def}[2015/04/18]
+\def\thesis@slovak@facultyName{Fakulta sociálnych štúdií}
 %    \end{macrocode}\iffalse
 %</mu/fss>
 % \fi\file{locale/mu/econ/slovak.def}
 % This is the Slovak locale file specific to the Faculty of
 % Economics and Administration at the Masaryk University in Brno.
-% It replaces the |\thesis@facultyName| placeholder with the
+% It replaces the \texttt{facultyName} placeholder with the
 % correct value.
 % \iffalse
 %<*mu/econ>
 % \fi\begin{macrocode}
-\ProvidesFile{fithesis3/locale/mu/econ/slovak.def}[2015/04/08]
-\def\thesis@facultyName{Ekonomicko-správna fakulta}
+\ProvidesFile{fithesis3/locale/mu/econ/slovak.def}[2015/04/18]
+\def\thesis@slovak@facultyName{Ekonomicko-správna fakulta}
 %    \end{macrocode}\iffalse
 %</mu/econ>
 % \fi\file{locale/mu/med/slovak.def}
 % This is the Slovak locale file specific to the Faculty of
 % Medicine at the Masaryk University in Brno.
-% It replaces the |\thesis@facultyName| placeholder with the
+% It replaces the \texttt{facultyName} placeholder with the
 % correct value.
 % \iffalse
 %<*mu/med>
 % \fi\begin{macrocode}
-\ProvidesFile{fithesis3/locale/mu/med/slovak.def}[2015/04/08]
-\def\thesis@facultyName{Lekárska fakulta}
+\ProvidesFile{fithesis3/locale/mu/med/slovak.def}[2015/04/18]
+\def\thesis@slovak@facultyName{Lekárska fakulta}
 %    \end{macrocode}\iffalse
 %</mu/med>
 % \fi\file{locale/mu/fi/slovak.def}
 % This is the Slovak locale file specific to the Faculty of
 % Informatics at the Masaryk University in Brno.
-% It replaces the |\thesis@facultyName| placeholder with the
-% correct value and updates the |\thesis@placeholders@assignment|
-% and |\thesis@declaration| private macros in accordance with the
+% It replaces the \texttt{facultyName} placeholder with the
+% correct value and updates the \texttt{placeholders@assignment}
+% and \texttt{declaration} strings in accordance with the
 % requirements of the faculty. The file also defines the
-% |\thesis@advisorSignature| macro required by the
+% \texttt{advisorSignature} string required by the
 % |\thesis@titlePage| block defined within the
 % \texttt{style/mu/fi.sty} style file.
 % \iffalse
 %<*mu/fi>
 % \fi\begin{macrocode}
-\ProvidesFile{fithesis3/locale/mu/fi/slovak.def}[2015/04/12]
-\def\thesis@facultyName{Fakulta informatiky}
+\ProvidesFile{fithesis3/locale/mu/fi/slovak.def}[2015/04/18]
+\def\thesis@slovak@facultyName{Fakulta informatiky}
 
 % Zástupné texty
-\def\thesis@assignment{Namiesto tejto stránky vložte kópiu
+\def\thesis@slovak@assignment{Namiesto tejto stránky vložte kópiu
   oficiálneho podpísaného zadania práce a prehlásenie autora
   školského diela.}
 
 % Rôzne
-\def\thesis@declaration{%
-  Prehlasujem, že táto \thesis@lower{typeName} je mojím pôvodným
-  autorským dielom, ktoré som vypracoval\thesis@gender@koncovka\ 
-  samostatne. Všetky zdroje, pramene a literatúru, ktoré som pri
-  vypracovaní používal\thesis@gender@koncovka\ alebo z~nich
-  čerpal\thesis@gender@koncovka, v~práci riadne citujem
+\def\thesis@slovak@declaration{%
+  Prehlasujem, že táto \thesis@lower{slovak@typeName} je mojím
+  pôvodným autorským dielom, ktoré som vypracoval%
+  \thesis@slovak@gender@koncovka samostatne. Všetky zdroje,
+  pramene a literatúru, ktoré som pri vypracovaní
+  používal\thesis@slovak@gender@koncovka\ alebo z~nich
+  čerpal\thesis@slovak@gender@koncovka, v~práci riadne citujem
   s~uvedením úplného odkazu na príslušný zdroj.}
-\def\thesis@advisorSignature{Podpis vedúceho}
+\def\thesis@slovak@advisorSignature{Podpis vedúceho}
 %    \end{macrocode}\iffalse
 %</mu/fi>
 % \fi\file{locale/mu/phil/slovak.def}
 % This is the Slovak locale file specific to the Faculty of
 % Arts at the Masaryk University in Brno.
-% It replaces the |\thesis@facultyName| placeholder with the
+% It replaces the \texttt{facultyName} placeholder with the
 % correct value.
 % \iffalse
 %<*mu/phil>
 % \fi\begin{macrocode}
-\ProvidesFile{fithesis3/locale/mu/phil/slovak.def}[2015/04/08]
-\def\thesis@facultyName{Filozofická fakulta}
+\ProvidesFile{fithesis3/locale/mu/phil/slovak.def}[2015/04/18]
+\def\thesis@slovak@facultyName{Filozofická fakulta}
 %    \end{macrocode}\iffalse
 %</mu/phil>
 % \fi\file{locale/mu/ped/slovak.def}
 % This is the Slovak locale file specific to the Faculty of
 % Education at the Masaryk University in Brno.
-% It replaces the |\thesis@facultyName| placeholder with the
+% It replaces the \texttt{facultyName} placeholder with the
 % correct value.
 % \iffalse
 %<*mu/ped>
 % \fi\begin{macrocode}
-\ProvidesFile{fithesis3/locale/mu/ped/slovak.def}[2015/04/10]
-\def\thesis@facultyName{Pedagogická fakulta}
+\ProvidesFile{fithesis3/locale/mu/ped/slovak.def}[2015/04/18]
+\def\thesis@slovak@facultyName{Pedagogická fakulta}
 %    \end{macrocode}\iffalse
 %</mu/ped>
 % \fi\file{locale/mu/sci/slovak.def}
 % This is the Slovak locale file specific to the Faculty of
 % Science at the Masaryk University in Brno.
-% It defines the private macros required by the
-% |\thesis@blocks@bibEntry| block defined within the
-% \texttt{style/mu/sci.sty} style file.
-% It also replaces the |\thesis@facultyName| and
-% |\thesis@placeholders@department| placeholders with the
-% correct value and redefines the |\thesis@abstractTitle|,
-% |\thesis@placeholders@abstract| and |\thesis@declaration| macros
-% in accordance with the formal requirements of the faculty.
+% It replaces the \texttt{facultyName} placeholder with the
+% correct value.
 % \iffalse
 %<*mu/sci>
 % \fi\begin{macrocode}
-\ProvidesFile{fithesis3/locale/mu/sci/slovak.def}[2015/04/12]
-
-%% Symbolický odkaz na český preklad
-\input{\thesis@localepath mu/sci/czech.def}
+\ProvidesFile{fithesis3/locale/mu/sci/slovak.def}[2015/04/18]
 
 % Zástupné texty
-\def\thesis@facultyName{Prírodovedecká fakulta}
-\def\thesis@placeholders@department{Názov ústavu}
-\def\thesis@placeholders@abstract{Text abstraktu}
-
-% Rôzne
-\def\thesis@abstractTitle{Abstrakt}
-\def\thesis@declaration{%
-  Prehlasujem, že som svoju \thesis@lower{typeName@akuzativ}
-  vypracoval\thesis@gender@koncovka\ samostatne s~využitím
-  informačných zdrojov, ktoré sú v~práci citované.}
-
-% Bibliografický záznam
-\def\thesis@bibTitle{Bibliografický záznam}
-\def\thesis@bib@author{Autor}
-\def\thesis@bib@title{Názov práce}
-\def\thesis@bib@programme{Študijný program}
-\def\thesis@bib@field{Študijný odbor}
-\def\thesis@bib@advisor{\thesis@advisorTitle}
-\def\thesis@bib@academicYear{Akademický rok}
-\def\thesis@bib@pages{Počet strán}
-\def\thesis@bib@keywords{\thesis@keywordsTitle}
+\def\thesis@slovak@facultyName{Prírodovedecká fakulta}
 %    \end{macrocode}\iffalse
 %</mu/sci>
 % \fi
diff --git a/style/mu/base.dtx b/style/mu/base.dtx
index 77acdda..9209516 100644
--- a/style/mu/base.dtx
+++ b/style/mu/base.dtx
@@ -50,7 +50,7 @@
 %     is or isn't going to expand to the thesis cover.
 % \end{itemize}
 % The defaults are \texttt{12pt}, \texttt{oneside}, \texttt{final},
-% \texttt{monochrome}, \texttt{lof}, \texttt{lot} and
+% \texttt{monochrome}, \texttt{nolof}, \texttt{nolot} and
 % \texttt{nocover}.
 %    \begin{macrocode}
 \DeclareOption{10pt}{\def\thesis@ptsize{0}}
@@ -94,16 +94,19 @@
 %   \item\textsf{pdfpages} -- Adds support for the injection of PDF
 %     documents into the resulting document, namely the thesis
 %     assignment.
+%   \item\textsf{hyperref} -- Adds support for injecting metadata
+%     into the resulting PDF document.
 % \end{itemize}
 % In addition to that, the \textsf{hyperref} package is configured
 % to support both roman and arabic page numbering in one document.
 %    \begin{macrocode}
 \RequirePackage[resetfonts]{cmap}
 \RequirePackage[T1]{fontenc}
-\RequirePackage{mathpazo}
-\RequirePackage{tgpagella}
+\thesis@require{mathpazo}
+\thesis@require{tgpagella}
 \thesis@require{graphicx}
 \thesis@require{pdfpages}
+\thesis@require{hyperref}
 \hypersetup{
   plainpages=false,          % Multiple page numbering support
   pdfpagelabels              % Generate pdf page labels
@@ -135,8 +138,7 @@
     \cleardoublepage%
   \else%
     \newpage%
-  \fi
-}
+  \fi}
 %    \end{macrocode}
 % \end{macro}\begin{macro}{\thesis@blocks@cover}
 % The |\thesis@blocks@cover| private macro typesets the thesis
@@ -149,17 +151,18 @@
     \begin{alwayssingle}
       \thispagestyle{empty}
       \begin{center}
-      {\sc\thesis@universityName\\\thesis@facultyName}
+      {\sc\thesis@@{universityName}\\\thesis@@{facultyName}}
       \vskip 1.4em
       \includegraphics[width=40mm]{%
         \thesis@logopath\thesis@facultyLogo}\\[0.4in]
       \let\footnotesize\small
       \let\footnoterule\relax{}
-      {\thesis@titlePage@Huge\bf\thesis@TeXtitle\par\vfil}\vskip 0.8in
-      {\sc \thesis@typeName}\\[0.3in]
+      {\thesis@titlePage@Huge\bf\thesis@TeXtitle\par\vfil}%
+      \vskip 0.8in
+      {\sc \thesis@@{typeName}}\\[0.3in]
       {\thesis@titlePage@Large\bf\thesis@author}
       \par\vfill
-      {\thesis@titlePage@large\thesis@place, \thesis@semester}
+      {\thesis@titlePage@large\thesis@place, \thesis@@{semester}}
       \end{center}
     \end{alwayssingle}
     \ifthesis@twoside\@twosidetrue\fi % Re-enable twoside
@@ -175,8 +178,7 @@
   \tableofcontents%
   \thesis@blocks@lot%
   \thesis@blocks@lof%
-  \thesis@blocks@clear%
-}
+  \thesis@blocks@clear}
 %    \end{macrocode}
 % \end{macro}\begin{macro}{\thesis@blocks@declaration}
 % The |\thesis@blocks@declaration| private macro typesets the
@@ -185,12 +187,12 @@
 \def\thesis@blocks@declaration{%
   \thesis@blocks@clear%
   \begin{alwayssingle}%
-    \chapter*{\thesis@declarationTitle}%
-    \thesis@declaration%
+    \chapter*{\thesis@@{declarationTitle}}%
+    \thesis@@{declaration}%
     \vskip 2cm%
     \hfill\thesis@author%
     \par\vfill%
-    \textbf{\thesis@advisorTitle:} \thesis@advisor%
+    \textbf{\thesis@@{advisorTitle}:} \thesis@advisor%
     \par\vfil%
   \end{alwayssingle}}
 %    \end{macrocode}
@@ -203,7 +205,7 @@
   \ifx\thesis@thanks\undefined\else%
     \thesis@blocks@clear%
     \begin{alwayssingle}%
-      \chapter*{\thesis@thanksTitle}%
+      \chapter*{\thesis@@{thanksTitle}}%
       \thesis@thanks%
       \par\vfill%
     \end{alwayssingle}%
@@ -215,7 +217,7 @@
 % \begin{macrocode}
 \def\thesis@blocks@abstract{%
   \begin{alwayssingle}%
-    \chapter*{\thesis@abstractTitle}%
+    \chapter*{\thesis@@{abstractTitle}}%
     \thesis@abstract%
     \par\vfil\null%
   \end{alwayssingle}}
@@ -223,7 +225,8 @@
 % \end{macro}\begin{macro}{\thesis@blocks@abstractEn}
 % The |\thesis@blocks@abstractEn| private macro typesets the
 % abstract in English. If the current locale is English, the
-% macro produces no output.
+% macro produces no output. A style file that uses this block
+% needs to require the English locale.
 % \begin{macrocode}
 \def\thesis@blocks@abstractEn{%
   \ifthesis@english\else%
@@ -231,7 +234,7 @@
     \begin{alwayssingle}%
       % Start the new chapter without clearing the right page
       {\def\cleardoublepage{}%
-      \chapter*{\thesis@abstractTitleEn}%
+      \chapter*{\thesis@{english@abstractTitle}}%
       \thesis@abstractEn}%
       \par\vfil\null%
     \end{alwayssingle}%
@@ -243,15 +246,18 @@
 % \begin{macrocode}
 \def\thesis@blocks@keywords{%
   \begin{alwayssingle}%
-    \chapter*{\thesis@keywordsTitle}%
-    \thesis@keywords%
+      % Start the new chapter without clearing the right page
+      {\def\cleardoublepage{}%
+      \chapter*{\thesis@@{keywordsTitle}}%
+      \thesis@keywords}%
     \par\vfill%
   \end{alwayssingle}}
 %    \end{macrocode}
 % \end{macro}\begin{macro}{\thesis@blocks@keywordsEn}
 % The |\thesis@blocks@keywordsEn| private macro typesets the
 % keywords in English. If the current locale is English, the
-% macro produces no output.
+% macro produces no output. A style file that uses this block
+% needs to require the English locale.
 % \begin{macrocode}
 \def\thesis@blocks@keywordsEn{%
   \ifthesis@english\else%
@@ -259,7 +265,7 @@
       \newpage
       % Start the new chapter without clearing the right page
       {\def\cleardoublepage{}%
-      \chapter*{\thesis@keywordsTitleEn}%
+      \chapter*{\thesis@{english@keywordsTitle}}%
       \thesis@keywordsEn}%
       \par\vfill%
     \end{alwayssingle}%
@@ -279,7 +285,7 @@
       \begin{alwayssingle}%
         \thispagestyle{empty}
         \addtocounter{page}{-\ifthesis@twoside2\else1\fi}
-        \noindent\textit{\thesis@assignment}%
+        \noindent\textit{\thesis@@{assignment}}%
       \end{alwayssingle}%
     \else%
       {\edef\@pdfList{\thesis@assignmentFiles}%
diff --git a/style/mu/fi.dtx b/style/mu/fi.dtx
index f081015..1ab39f2 100644
--- a/style/mu/fi.dtx
+++ b/style/mu/fi.dtx
@@ -24,8 +24,8 @@
   \begin{alwayssingle}
     \thispagestyle{empty}
     \begin{center}
-    {\thesis@titlePage@normalsize\sc\thesis@universityName\\%
-       \thesis@facultyName}
+    {\thesis@titlePage@normalsize\sc\thesis@@{universityName}\\%
+       \thesis@@{facultyName}}
     \vskip 1.4em
     \edef\thesis@logopath@color{\thesis@logopath\ifthesis@color color/\fi}
     \includegraphics[width=40mm]{%
@@ -33,26 +33,26 @@
     \let\footnotesize\small
     \let\footnoterule\relax{}
     {\thesis@titlePage@Huge\bf\thesis@TeXtitle\par\vfil}\vskip 0.8in
-    {\thesis@titlePage@normalsize\sc\thesis@typeName\\[0.3in]}
+    {\thesis@titlePage@normalsize\sc\thesis@@{typeName}\\[0.3in]}
     {\thesis@titlePage@Large\bf\thesis@author}
     % If this is a rigorous thesis, typeset the name of the
     % thesis advisor.
     \ifx\thesis@type\thesis@rigorous%
       {\thesis@titlePage@large\\[0.3in]
-        {\bf\thesis@advisorTitle:} \thesis@advisor}
+        {\bf\thesis@@{advisorTitle}:} \thesis@advisor}
     \fi%
     \par\vfill
-    {\thesis@titlePage@large\thesis@place, \thesis@semester
+    {\thesis@titlePage@large\thesis@place, \thesis@@{semester}
     % If this is a rigorous thesis, create space for the advisor's
     % signature
     \ifx\thesis@type\thesis@rigorous%
       \let\@A\relax\newlength{\@A}
-        \settowidth{\@A}{\thesis@advisorSignature}
+        \settowidth{\@A}{\thesis@@{advisorSignature}}
         \setlength{\@A}{\@A+1cm}
       \hfill\raisebox{-0.5em}{\parbox{\@A}{
         \centering
         \rule{\@A}{1pt}\\
-        \thesis@advisorSignature
+        \thesis@@{advisorSignature}
       }}
     \fi}
     \end{center}
@@ -73,9 +73,7 @@
     \thesis@blocks@declaration%
     \thesis@blocks@thanks%
     \thesis@blocks@abstract%
-    \thesis@blocks@abstractEn%
     \thesis@blocks@keywords%
-    \thesis@blocks@keywordsEn%
     \thesis@blocks@tables%
   \thesis@blocks@mainMatter%
 }
diff --git a/style/mu/sci.dtx b/style/mu/sci.dtx
index aac6762..5e2496c 100644
--- a/style/mu/sci.dtx
+++ b/style/mu/sci.dtx
@@ -8,6 +8,12 @@
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesPackage{fithesis3/style/mu/fithesis3-sci}[2015/04/12]
 %    \end{macrocode}
+% In addition to the main locale, the file also requires the
+% \textsf{czech} and \textsf{english} locales.
+%    \begin{macrocode}
+\thesis@requireLocale{czech}
+\thesis@requireLocale{english}
+%    \end{macrocode}
 % The file loads the following packages:
 % \begin{itemize}
 %   \item\textsf{tikz} -- Used for dimension arithmetic.
@@ -24,56 +30,61 @@
 % locale file interface, the locale files need to define the
 % following private macros:
 % \begin{itemize}
-%   \item\DescribeMacro{\thesis@bibTitle}|\thesis@bibTitle| --
-%     The title of the |\thesis@blocks@bibtry| block
-%   \item\DescribeMacro{\thesis@bib@author}|\thesis@bib@author|
-%     -- The label of the author name entry
-%   \item\DescribeMacro{\thesis@bib@title}|\thesis@bib@title|
-%     -- The label of the title name entry
-%   \item\DescribeMacro{\thesis@bib@programme}
-%     |\thesis@bib@programme| -- The label of the programme name
+%   \item\DescribeMacro{\thesis@czech@bibTitle}
+%     |\thesis@czech@bibTitle| -- The title of the
+%     |\thesis@blocks@bibTitle| block
+%   \item\DescribeMacro{\thesis@czech@bib@author}
+%     |\thesis@czech@bib@author| -- The label of the author name
+%     entry
+%   \item\DescribeMacro{\thesis@czech@bib@title}
+%     |\thesis@czech@bib@title| -- The label of the title name
+%     entry
+%   \item\DescribeMacro{\thesis@czech@bib@programme}
+%     |\thesis@czech@bib@programme| -- The label of the programme
+%     name entry
+%   \item\DescribeMacro{\thesis@czech@bib@field}
+%     |\thesis@czech@bib@field| -- The label of the field name
 %     entry
-%   \item\DescribeMacro{\thesis@bib@field}|\thesis@bib@field|
-%     -- The label of the field name entry
-%   \item\DescribeMacro{\thesis@bib@advisor}
-%     |\thesis@bib@advisor| -- The label of the advisor name
+%   \item\DescribeMacro{\thesis@czech@bib@advisor}
+%     |\thesis@czech@bib@advisor| -- The label of the advisor name
 %     entry
-%   \item\DescribeMacro{\thesis@bib@academicYear}
-%     |\thesis@bib@academicYear| -- The label of the academic
+%   \item\DescribeMacro{\thesis@czech@bib@academicYear}
+%     |\thesis@czech@bib@academicYear| -- The label of the academic
 %     year entry
-%   \item\DescribeMacro{\thesis@bib@pages}
-%     |\thesis@bib@pages| -- The label of the number of pages
+%   \item\DescribeMacro{\thesis@czech@bib@pages}
+%     |\thesis@czech@bib@pages| -- The label of the number of pages
+%     entry
+%   \item\DescribeMacro{\thesis@czech@bib@keywords}
+%     |\thesis@czech@bib@keywords| -- The label of the keywords
 %     entry
-%   \item\DescribeMacro{\thesis@bib@keywords}
-%     |\thesis@bib@keywords| -- The label of the keywords entry
 % \end{itemize}
 %    \begin{macrocode}
 \def\thesis@blocks@bibEntry{%
   \begin{alwayssingle}
-    \chapter*{\thesis@bibTitle}
+    \chapter*{\thesis@czech@bibTitle}
     {% Calculate the width of the columns
     \let\@A\relax\newlength{\@A}\settowidth{\@A}{{%
-      \bf\thesis@bib@author:}}
+      \bf\thesis@czech@bib@author:}}
     \let\@B\relax\newlength{\@B}\settowidth{\@B}{{%
-      \bf\thesis@bib@title:}}
+      \bf\thesis@czech@bib@title:}}
     \let\@C\relax\newlength{\@C}\settowidth{\@C}{{%
-      \bf\thesis@bib@programme:}}
+      \bf\thesis@czech@bib@programme:}}
     \let\@D\relax\newlength{\@D}\settowidth{\@D}{{%
-      \bf\thesis@bib@field:}}
+      \bf\thesis@czech@bib@field:}}
     % Unless this is a rigorous thesis, we will be typesetting the
     % name of the thesis advisor.
     \let\@E\relax\newlength{\@E}
       \ifx\thesis@type\thesis@rigorous%
         \setlength{\@E}{0pt}%
       \else%
-        \settowidth{\@E}{{\bf\thesis@bib@advisor:}}
+        \settowidth{\@E}{{\bf\thesis@czech@bib@advisor:}}
       \fi%
     \let\@F\relax\newlength{\@F}\settowidth{\@F}{{%
-      \bf\thesis@bib@academicYear:}}
+      \bf\thesis@czech@bib@academicYear:}}
     \let\@G\relax\newlength{\@G}\settowidth{\@G}{{%
-      \bf\thesis@bib@pages:}}
+      \bf\thesis@czech@bib@pages:}}
     \let\@H\relax\newlength{\@H}\settowidth{\@H}{{%
-      \bf\thesis@bib@keywords:}}
+      \bf\thesis@czech@bib@keywords:}}
     \let\@skip\relax\newlength{\@skip}\setlength{\@skip}{16pt}
     \let\@left\relax\newlength{\@left}\pgfmathsetlength{\@left}{%
       max(\@A,\@B,\@C,\@D,\@E,\@F,\@G,\@H)}
@@ -83,27 +94,27 @@
     % Typeset the table
     \renewcommand{\arraystretch}{2}
     \begin{tabular}{@{}p{\@left}@{\hskip\@skip}p{\@right}@{}}
-      \textbf{\thesis@bib@author:} & \vtop{%
+      \textbf{\thesis@czech@bib@author:} & \vtop{%
         \hbox{\strut\thesis@author}%
-        \hbox{\strut\thesis@facultyName, \thesis@universityName}%
+        \hbox{\strut\thesis@czech@facultyName, \thesis@czech@universityName}%
         \hbox{\strut\thesis@department}} \\
-      \textbf{\thesis@bib@title:}
+      \textbf{\thesis@czech@bib@title:}
         & \thesis@title \\
-      \textbf{\thesis@bib@programme:}
+      \textbf{\thesis@czech@bib@programme:}
         & \thesis@programme \\
-      \textbf{\thesis@bib@field:}
+      \textbf{\thesis@czech@bib@field:}
         & \thesis@field \\
       % Unless this is a rigorous thesis, typeset the name of the
       % thesis advisor.
       \ifx\thesis@type\thesis@rigorous\else%
-        \textbf{\thesis@bib@advisor:}
+        \textbf{\thesis@czech@bib@advisor:}
           & \thesis@advisor \\
       \fi
-      \textbf{\thesis@bib@academicYear:}
+      \textbf{\thesis@czech@bib@academicYear:}
         & \thesis@academicYear \\
-      \textbf{\thesis@bib@pages:}
+      \textbf{\thesis@czech@bib@pages:}
         & \thesis@pages \\
-      \textbf{\thesis@bib@keywords:}
+      \textbf{\thesis@czech@bib@keywords:}
         & \thesis@keywords \\
     \end{tabular}}
   \end{alwayssingle}}
@@ -114,28 +125,33 @@
 % required by the locale file interface, the locale files
 % need to define the following private macros:
 % \begin{itemize}
-%   \item\DescribeMacro{\thesis@bibTitleEn}|\thesis@bibTitleEn| --
-%     The title of the |\thesis@blocks@bibEntryEn| block
-%   \item\DescribeMacro{\thesis@bib@authorEn}|\thesis@bib@authorEn|
-%     -- The label of the author name entry
-%   \item\DescribeMacro{\thesis@bib@titleEn}|\thesis@bib@titleEn|
-%     -- The label of the title name entry
-%   \item\DescribeMacro{\thesis@bib@programmeEn}
-%     |\thesis@bib@programmeEn| -- The label of the programme name
+%   \item\DescribeMacro{\thesis@english@bibTitle}
+%     |\thesis@english@bibTitle| -- The title of the
+%     |\thesis@blocks@bibEntryEn| block
+%   \item\DescribeMacro{\thesis@english@bib@author}
+%     |\thesis@english@bib@author| -- The label of the author name
 %     entry
-%   \item\DescribeMacro{\thesis@bib@fieldEn}|\thesis@bib@fieldEn|
-%     -- The label of the field name entry
-%   \item\DescribeMacro{\thesis@bib@advisorEn}
-%     |\thesis@bib@advisorEn| -- The label of the advisor name
+%   \item\DescribeMacro{\thesis@english@bib@title}
+%     |\thesis@english@bib@title| -- The label of the title name
 %     entry
-%   \item\DescribeMacro{\thesis@bib@academicYearEn}
-%     |\thesis@bib@academicYearEn| -- The label of the academic
-%     year entry
-%   \item\DescribeMacro{\thesis@bib@pagesEn}
-%     |\thesis@bib@pagesEn| -- The label of the number of pages
+%   \item\DescribeMacro{\thesis@english@bib@programme}
+%     |\thesis@english@bib@programme| -- The label of the programme
+%     name entry
+%   \item\DescribeMacro{\thesis@english@bib@field}
+%     |\thesis@english@bib@field| -- The label of the field name
+%     entry
+%   \item\DescribeMacro{\thesis@english@bib@advisor}
+%     |\thesis@english@bib@advisor| -- The label of the advisor
+%     name entry
+%   \item\DescribeMacro{\thesis@english@bib@academicYear}
+%     |\thesis@english@bib@academicYear| -- The label of the
+%     academic year entry
+%   \item\DescribeMacro{\thesis@english@bib@pages}
+%     |\thesis@english@bib@pages| -- The label of the number of
+%     pages entry
+%   \item\DescribeMacro{\thesis@english@bib@keywords}
+%     |\thesis@english@bib@keywords| -- The label of the keywords
 %     entry
-%   \item\DescribeMacro{\thesis@bib@keywordsEn}
-%     |\thesis@bib@keywordsEn| -- The label of the keywords entry
 % \end{itemize}
 % If the current locale is English, the macro produces no output.
 %    \begin{macrocode}
@@ -144,30 +160,30 @@
     \begin{alwayssingle}
       % Start the new chapter without clearing the right page
       {\def\cleardoublepage{}%
-      \chapter*{\thesis@bibTitleEn}}%
+      \chapter*{\thesis@english@bibTitle}}%
       {% Calculate the width of the columns
       \let\@A\relax\newlength{\@A}\settowidth{\@A}{{%
-        \bf\thesis@bib@authorEn:}}
+        \bf\thesis@english@bib@author:}}
       \let\@B\relax\newlength{\@B}\settowidth{\@B}{{%
-        \bf\thesis@bib@titleEn:}}
+        \bf\thesis@english@bib@title:}}
       \let\@C\relax\newlength{\@C}\settowidth{\@C}{{%
-        \bf\thesis@bib@programmeEn:}}
+        \bf\thesis@english@bib@programme:}}
       \let\@D\relax\newlength{\@D}\settowidth{\@D}{{%
-        \bf\thesis@bib@fieldEn:}}
+        \bf\thesis@english@bib@field:}}
       % Unless this is a rigorous thesis, we will be typesetting
       % the name of the thesis advisor.
       \let\@E\relax\newlength{\@E}
         \ifx\thesis@type\thesis@rigorous%
           \setlength{\@E}{0pt}%
         \else%
-          \settowidth{\@E}{{\bf\thesis@bib@advisorEn:}}
+          \settowidth{\@E}{{\bf\thesis@english@bib@advisor:}}
         \fi%
       \let\@F\relax\newlength{\@F}\settowidth{\@F}{{%
-        \bf\thesis@bib@academicYearEn:}}
+        \bf\thesis@english@bib@academicYear:}}
       \let\@G\relax\newlength{\@G}\settowidth{\@G}{{%
-        \bf\thesis@bib@pages:}}
+        \bf\thesis@english@bib@pages:}}
       \let\@H\relax\newlength{\@H}\settowidth{\@H}{{%
-        \bf\thesis@bib@keywordsEn:}}
+        \bf\thesis@english@bib@keywords:}}
       \let\@skip\relax\newlength{\@skip}\setlength{\@skip}{16pt}
       \let\@left\relax\newlength{\@left}\pgfmathsetlength{\@left}{%
         max(\@A,\@B,\@C,\@D,\@E,\@F,\@G,\@H)}
@@ -177,28 +193,28 @@
     % Typeset the table
     \renewcommand{\arraystretch}{2}
     \begin{tabular}{@{}p{\@left}@{\hskip\@skip}p{\@right}@{}}
-        \textbf{\thesis@bib@authorEn:} & \vtop{%
+        \textbf{\thesis@english@bib@author:} & \vtop{%
           \hbox{\strut\thesis@authorEn}%
-          \hbox{\strut\thesis@facultyNameEn,
-                \thesis@universityNameEn}%
+          \hbox{\strut\thesis@english@facultyName,
+                \thesis@english@universityName}%
           \hbox{\strut\thesis@departmentEn}} \\
-        \textbf{\thesis@bib@titleEn:}
+        \textbf{\thesis@english@bib@title:}
           & \thesis@titleEn \\
-        \textbf{\thesis@bib@programmeEn:}
+        \textbf{\thesis@english@bib@programme:}
           & \thesis@programmeEn \\
-        \textbf{\thesis@bib@fieldEn:}
+        \textbf{\thesis@english@bib@field:}
           & \thesis@fieldEn \\
         % Unless this is a rigorous thesis, typeset the name of the
         % thesis advisor.
         \ifx\thesis@type\thesis@rigorous\else%
-          \textbf{\thesis@bib@advisorEn:}
+          \textbf{\thesis@english@bib@advisor:}
             & \thesis@advisorEn \\
         \fi
-        \textbf{\thesis@bib@academicYearEn:}
+        \textbf{\thesis@english@bib@academicYear:}
           & \thesis@academicYear \\
-        \textbf{\thesis@bib@pagesEn:}
+        \textbf{\thesis@english@bib@pages:}
           & \thesis@pages \\
-        \textbf{\thesis@bib@keywords:}
+        \textbf{\thesis@english@bib@keywords:}
           & \thesis@keywordsEn \\
       \end{tabular}}
     \end{alwayssingle}
@@ -227,11 +243,11 @@
     \begin{alwayssingle}
       \thispagestyle{empty}
       \begin{center}
-      {\sc\thesis@titlePage@LARGE\thesis@universityName\\%
-          \thesis@titlePage@Large\thesis@facultyName\\[0.3em]%
+      {\sc\thesis@titlePage@LARGE\thesis@czech@universityName\\%
+          \thesis@titlePage@Large\thesis@czech@facultyName\\[0.3em]%
           \thesis@titlePage@large\thesis@department}
       \vfill
-      {\bf\thesis@titlePage@Huge\thesis@typeName}
+      {\bf\thesis@titlePage@Huge\thesis@czech@typeName}
       \vfill
       {\thesis@titlePage@large\thesis@place
        \ \thesis@year\hfill\thesis@author}
@@ -258,8 +274,8 @@
       \end{minipage}
       \begin{minipage}{89mm}
         \begin{center}
-          {\sc\thesis@titlePage@LARGE\thesis@universityName\\%
-              \thesis@titlePage@Large\thesis@facultyName\\[0.3em]%
+          {\sc\thesis@titlePage@LARGE\thesis@czech@universityName\\%
+              \thesis@titlePage@Large\thesis@czech@facultyName\\[0.3em]%
               \thesis@titlePage@large\thesis@department}
           \rule{\textwidth}{2pt}\vspace*{2mm}
         \end{center}
@@ -272,7 +288,7 @@
     % The middle of the page
     \vfill
     {\bf\thesis@titlePage@Huge\thesis@TeXtitle\\[0.8em]}
-    {\thesis@titlePage@large\thesis@typeName\\[1em]}
+    {\thesis@titlePage@large\thesis@czech@typeName\\[1em]}
     {\bf\thesis@titlePage@LARGE\thesis@author}\\
     \vfill\noindent
     % The bottom of the page
@@ -280,11 +296,11 @@
       % Unless this is a rigorous thesis, typeset the name of the
       % thesis advisor.
       \ifx\thesis@type\thesis@rigorous\else%
-          \thesis@advisorTitle: \thesis@advisor\hfill%
+          \thesis@czech@advisorTitle: \thesis@advisor\hfill%
       \fi%
       \thesis@place\ \thesis@year}
   \end{alwayssingle}
-  \ifthesis@twoside\@twosidetrue\fi} % Re-enable twoside
+  \ifthesis@twoside\@twosidetrue\fi}} % Re-enable twoside
 %    \end{macrocode}
 % \end{macro}\begin{macro}{\thesis@blocks@declaration}
 % The |\thesis@blocks@declaration| private macro typesets the
@@ -293,12 +309,12 @@
 \def\thesis@blocks@declaration{%
   \thesis@blocks@clear%
   \begin{alwayssingle}%
-    \chapter*{\thesis@declarationTitle}%
-    \thesis@declaration%
+    \chapter*{\thesis@czech@declarationTitle}%
+    \thesis@czech@declaration%
     \vskip 2cm%
     \hfill\thesis@author%
   \end{alwayssingle}
-  \thesis@blocks@clear}}
+  \thesis@blocks@clear}
 %    \end{macrocode}
 % \end{macro}
 % The style file defines the autolayout preamble as the cover and
@@ -306,9 +322,12 @@
 % assignment, acknowledgement, table of contents and list of tables
 % and figures as a part of the front matter. All of the blocks 
 % beside |\thesis@blocks@bibEntry| and |\thesis@blocks@bibEntryEn|
-% are defined in the \texttt{style/mu/base.tex} file.
+% are defined in the \texttt{style/mu/base.tex} file. The entire
+% front matter is typeset as though the locale were chech in
+% accordance with the formal requirements of the faculty.
 %    \begin{macrocode}
 \def\thesis@preamble{%
+  {\def\thesis@locale{czech}%
   \thesis@blocks@cover%
   \thesis@blocks@frontMatter%
     \thesis@blocks@titlePage%
@@ -319,6 +338,6 @@
     \thesis@blocks@assignment%
     \thesis@blocks@thanks%
     \thesis@blocks@declaration%
-    \thesis@blocks@tables%
+    \thesis@blocks@tables}%
   \thesis@blocks@mainMatter}
 %    \end{macrocode}
-- 
GitLab