Skip to content

Commit

Permalink
Merge pull request #13 from kvakvs/russian
Browse files Browse the repository at this point in the history
Russian translation of handbook
  • Loading branch information
omerk committed Mar 1, 2014
2 parents e004fc7 + 715a2be commit d4c8693
Show file tree
Hide file tree
Showing 22 changed files with 3,017 additions and 0 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -36,3 +36,4 @@
# general nonsense
Thumbs.db
.DS_Store
*.pdf
169 changes: 169 additions & 0 deletions ErlangHandbook-RU.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,169 @@
% !TEX encoding = UTF-8 Unicode
%% NOTE: Due to using fontspec and UTF8 to avoid encoding problems and stuff, Russian
%% version of this document builds using xe(la)tex and TexStudio
\documentclass[russian,14pt,oneside]{book}
\usepackage{extsizes} % additional font sizes for documentclass

%%%%%%
%% package includes
\usepackage{ifxetex}
\ifxetex
\else
\usepackage[utf8]{inputenc}
\usepackage[T2A]{fontenc}
\fi

\usepackage[russian]{babel}
\usepackage{hyperref}
\usepackage{textcomp}
\usepackage{array}
\usepackage{color}
\usepackage[hmargin=2.5cm,vmargin=2.5cm]{geometry}
\usepackage{minted}
\usepackage{todonotes}
\usepackage{parskip}
\usepackage[Bjornstrup]{fncychap}
\usepackage{listings}

%%%%%%
%% package setup
\hypersetup{
colorlinks=true,
linktoc=all,
linkcolor=red,
}

%%%%%%
%% Fonts
\ifxetex
\usepackage{fontspec}
\defaultfontfeatures{Scale=MatchLowercase,Mapping=tex-text}
\setmainfont[Path=fonts/,ItalicFont=PTF56F.ttf,
BoldFont=PTF75F.ttf]{PTF55F.ttf}
\setmonofont[Ligatures={NoRequired,NoCommon,NoContextual},
Path=fonts/,BoldFont=FiraMono-Bold.ttf]{FiraMono-Regular.ttf}
\usepackage{titlesec}
\newfontfamily\erlChapterFont[Path=fonts/,BoldFont=PTF75F.ttf]{PTF55F.ttf}
\ChTitleVar{\erlChapterFont\fontsize{28}{28}\bf\selectfont\hfill}
\ChNameVar{\erlChapterFont\fontsize{16}{16}\bf\selectfont}
\fi

%%%%%%
%% hacks and macros
\newminted[erlang]{erlang}{xleftmargin=0cm,xrightmargin=0cm,frame=single,framerule=1pt}

%% Framed code fragment coloring, for code examples where Russian variable
%% names break syntax and coloring
\usepackage{fancyvrb}
\DefineVerbatimEnvironment{erlangru}{Verbatim}{frame=single,samepage=true}

%% hack to fix the margin issue in \item s in 1.2.1
\newminted[erlangim]{erlang}{xleftmargin=-1.5cm}

%%% display todo notes or not?
\newcommand{\todonote}[1]{\todo[inline]{\textbf{Note:} #1}}
%\newcommand{\todonote}[1]{}

%% typesetting for the "results in" notation used.
\def\resultingin{$\quad\Rightarrow\quad$}

\begin{document}

%%%%%%
%% Title
\begin{titlepage}
\centering

\vspace*{70pt}
\includegraphics[scale=0.3]{includes/erlang-logo.png}\\[0.8\baselineskip]
{\Huge \sffamily НАСТОЛЬНАЯ КНИГА}\\
\vspace{250pt}
{\LARGE Бьярн Дэкер (Bjarne D\"acker)}\par
{\LARGE Роберт Вирдинг (Robert Virding)}\par

\end{titlepage}


%%%%%%
%% Info Page
\clearpage
\thispagestyle{empty}
{\Huge Настольная книга по Erlang}\\[0.1\baselineskip]
\hspace{10pt}{\large{Бьярн Дэкер (Bjarne Däcker) и Роберт Вирдинг (Robert Virding)}}

\vspace{10pt}
{\Large \textbf{Версия:}\\[0.2\baselineskip]
\immediate\write18{git log -n1 | grep 'Date:' | sed 's/Date: //g' > _revision.tex}
\input{_revision}
\immediate\write18{rm _revision.tex}
}

\vspace{10pt}
{\large Последняя версия этой книги находится по адресу:\\
\url{http://opensource.erlang-solutions.com/erlang-handbook}}

\vfill

\textbf{Главный редактор}\\[0.1\baselineskip]
%\begin{tabular}{@{\hspace{3ex}}p{42em}}
Омер Килич (Omer Kilic)
%\end{tabular}

\textbf{Прочие участники}\\[0.1\baselineskip]
%\begin{tabular}{@{\hspace{3ex}}p{42em}}
Список людей, которые помогли с изменениями и исправлениями находится
\href{https://github.com/esl/erlang-handbook/graphs/contributors}{в репозитории
проекта}.
%\end{tabular}

\vspace{10pt}
\textbf{Соглашения}\\
Спецификации синтаксиса задаются с помощью \texttt{этого моноширинного шрифта}.
В квадратные скобки ([ ]) заключаются необязательные части. Термы, начинающиеся
с заглавной буквы, как например \textit{Integer} должны быть заменены на
какое-нибудь подходящее значение. Термы, начинающиеся со строчной буквы, как
например \texttt{end}, являются зарезервированными словами языка Erlang.
Вертикальная черта (\textbar{}) разделяет альтернативные варианты, как например
Integer \textbar{} Float.

\vspace{10pt}
\textbf{Ошибки и улучшения}\\
Это живой документ, пожалуйста присылайте исправления и рекомендации по улучшению
содержимого используя систему учёта задач Github по адресу
\url{https://github.com/esl/erlang-handbook}. Вы также можете создать свою ветвь
репозитория (fork) и прислать нам запрос на соединение ветвей (pull request) с
вашими предлагаемыми исправлениями и предложениями. Новые ревизии этого документа
будут публиковаться по мере накопления больших изменений.

\vspace{10pt}
\includegraphics[scale=0.7]{includes/cc-by-sa.png}\\ Этот текст доступен согласно
условиям лицензии Creative Commons Attribution-ShareAlike 3.0 License. Вы имеете
право копировать, распространять и передавать эту книгу по условиям лицензии,
описанным по адресу \url{http://creativecommons.org/licenses/by-sa/3.0}

\newpage


%%%%%%
%% TOC
\tableofcontents


%%%%%%
%% Chapters

\input{chapters-RU/01-background}
\input{chapters-RU/02-structure-of-an-erlang-program}
\input{chapters-RU/03-data-types}
\input{chapters-RU/04-pattern-matching}
\input{chapters-RU/05-functions}
\input{chapters-RU/06-processes}
\input{chapters-RU/07-error-handling}
\input{chapters-RU/08-distributed-erlang}
\input{chapters-RU/09-ports-and-port-drivers}
\input{chapters-RU/10-code-loading}
\input{chapters-RU/11-macros}
\input{chapters-RU/12-further-reading}


\end{document}
43 changes: 43 additions & 0 deletions README-RU.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Настольная книга по Erlang

Изначально написанная Бьярном Дэкером (Bjarne Däcker) и позже пересмотренная
Робертом Вирдингом (Robert Virding), настольная книга по Erlang является
собранием возможностей языка и системы времени исполнения. Книга нацелена на людей
с некоторым опытом программирования, и служит кратким введением в область знаний,
касающуюся языка Erlang.


## Где скачать
Текущая версия может быть скачана [здесь][release].

Настольная книга свёрстана с помощью системы LaTeX. Если вы хотите собрать книгу
самостоятельно, вам поможет Makefile. Вам понадобится дополнительно установить
пакеты [minted] и [pygments] для того, чтобы магия раскраски исходных текстов
заработала, а также `xelatex`, поскольку русская версия использует Unicode шрифты,
и, в отличие от английской, не работает со стандартными шрифтами LaTeX.


## Ошибки и улучшения

Это живой документ, пожалуйста присылайте исправления и рекомендации по улучшению
содержимого используя [систему учёта задач][issue tracker]. Вы также можете создать
свою ветвь репозитория (fork) и прислать нам запрос на соединение ветвей (pull request)
с вашими предлагаемыми исправлениями и предложениями. Новые ревизии этого документа
будут публиковаться по мере накопления больших изменений


## Лицензия

![cc-by-sa](http://i.creativecommons.org/l/by-sa/3.0/88x31.png)

Этот текст доступен согласно Creative Commons Attribution-ShareAlike 3.0 License.
Вы имеете право копировать, распространять и передавать его согласно условиям
лицензии, описанным [здесь][cc-license].



[release]: https://github.com/esl/erlang-handbook/raw/master/output/ErlangHandbook-RU.pdf
[pygments]: http://pygments.org/
[minted]: https://github.com/gpoore/minted
[issue tracker]: https://github.com/esl/erlang-handbook/issues
[cc-license]: http://creativecommons.org/licenses/by-sa/3.0
26 changes: 26 additions & 0 deletions chapters-RU/01-background.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
\chapter[Вступление, или почему Erlang такой, как он есть]{Вступление}
\section*{или почему Erlang такой, как он есть}
\label{background}

Erlang --- это результат проекта по улучшению программирования приложений для
телекоммуникаций в Лаборатории Компьютерных Наук (CSLab или Computer Science Lab)
компании Ericsson. Критически важным требованием была поддержка характеристик
этих приложений, таких, как:

\begin{itemize}
\item Массивная параллельность
\item Устойчивость к сбоям
\item Изоляция
\item Динамическое обновление кода во время его исполнения
\item Транзакционность
\end{itemize}

В течение всей истории Erlang процесс его разработки был исключительно
прагматичным. Характеристики и свойства видов систем, в которых была заинтересована
компания Ericsson, прямым образом влияли на ход разработки Erlang. Эти свойства
считались настолько фундаментальными, что было решено поддержку для них встроить
прямо в язык, вместо дополнительных библиотек. По причине прагматичного процесса
разработки вместо предварительного планирования, Erlang "<стал"> функциональным
языком --- поскольку свойства функциональных языков очень хорошо подходили к
свойствам систем, которые разрабатывались.

Loading

0 comments on commit d4c8693

Please sign in to comment.