-
Notifications
You must be signed in to change notification settings - Fork 50
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #13 from kvakvs/russian
Russian translation of handbook
- Loading branch information
Showing
22 changed files
with
3,017 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -36,3 +36,4 @@ | |
# general nonsense | ||
Thumbs.db | ||
.DS_Store | ||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 "<стал"> функциональным | ||
языком --- поскольку свойства функциональных языков очень хорошо подходили к | ||
свойствам систем, которые разрабатывались. | ||
|
Oops, something went wrong.