From d97f9831d5496e284965e7903365221b921aa605 Mon Sep 17 00:00:00 2001 From: janukobytsch Date: Mon, 2 Feb 2015 00:11:48 +0100 Subject: [PATCH 01/35] added flyweight pattern --- Structural/Flyweight/CharacterFlyweight.php | 36 +++++++++++++++++++ Structural/Flyweight/FlyweightFactory.php | 37 ++++++++++++++++++++ Structural/Flyweight/FlyweightInterface.php | 12 +++++++ Structural/Flyweight/Tests/FlyweightTest.php | 36 +++++++++++++++++++ 4 files changed, 121 insertions(+) create mode 100644 Structural/Flyweight/CharacterFlyweight.php create mode 100644 Structural/Flyweight/FlyweightFactory.php create mode 100644 Structural/Flyweight/FlyweightInterface.php create mode 100644 Structural/Flyweight/Tests/FlyweightTest.php diff --git a/Structural/Flyweight/CharacterFlyweight.php b/Structural/Flyweight/CharacterFlyweight.php new file mode 100644 index 0000000..77d6b2d --- /dev/null +++ b/Structural/Flyweight/CharacterFlyweight.php @@ -0,0 +1,36 @@ +name = $name; + } + + /** + * Clients supply the context-dependent information that the flyweight needs to draw itself + * For flyweights representing characters, extrinsic state usually contains e.g. the font + * @param string $font + */ + public function draw($font) + { + print_r("Character {$this->name} printed $font \n"); + } + +} \ No newline at end of file diff --git a/Structural/Flyweight/FlyweightFactory.php b/Structural/Flyweight/FlyweightFactory.php new file mode 100644 index 0000000..4558300 --- /dev/null +++ b/Structural/Flyweight/FlyweightFactory.php @@ -0,0 +1,37 @@ +pool)) { + $this->pool[(string) $name] = new CharacterFlyweight((string) $name); + } + return $this->pool[(string) $name]; + } + + public function totalNumber() + { + return sizeof($this->pool); + } + +} \ No newline at end of file diff --git a/Structural/Flyweight/FlyweightInterface.php b/Structural/Flyweight/FlyweightInterface.php new file mode 100644 index 0000000..cf43d57 --- /dev/null +++ b/Structural/Flyweight/FlyweightInterface.php @@ -0,0 +1,12 @@ +numberOfCharacters; $i++) { + $char = $this->characters[array_rand($this->characters)]; + $font = $this->fonts[array_rand($this->fonts)]; + $flyweight = $factory->$char; + // External state can be passed in like this: + // $flyweight->draw($font); + } + + // Flyweight pattern ensures that instances are shared + // instead of having hundreds of thousands of individual objects + $this->assertLessThanOrEqual($factory->totalNumber(), sizeof($this->characters)); + } +} From b2c034ec7f9a423d7a2f4521700b7fa4b7a0fd78 Mon Sep 17 00:00:00 2001 From: janukobytsch Date: Mon, 2 Feb 2015 15:36:32 +0100 Subject: [PATCH 02/35] fixed eol and typecast --- Structural/Flyweight/CharacterFlyweight.php | 51 ++++++++++---------- Structural/Flyweight/FlyweightFactory.php | 21 ++++---- Structural/Flyweight/FlyweightInterface.php | 9 ++-- Structural/Flyweight/Tests/FlyweightTest.php | 20 ++++---- 4 files changed, 49 insertions(+), 52 deletions(-) diff --git a/Structural/Flyweight/CharacterFlyweight.php b/Structural/Flyweight/CharacterFlyweight.php index 77d6b2d..43908c1 100644 --- a/Structural/Flyweight/CharacterFlyweight.php +++ b/Structural/Flyweight/CharacterFlyweight.php @@ -6,31 +6,30 @@ namespace DesignPatterns\Structural\Flyweight; * Implements the flyweight interface and adds storage for intrinsic state, if any. * Instances of concrete flyweights are shared by means of a factory. */ -class CharacterFlyweight implements FlyweightInterface { +class CharacterFlyweight implements FlyweightInterface +{ + /** + * Any state stored by the concrete flyweight must be independent of its context. + * For flyweights representing characters, this is usually the corresponding character code. + * @var string + */ + private $name; - /** - * Any state stored by the concrete flyweight must be independent of its context. - * For flyweights representing characters, this is usually the corresponding character code. - * @var string - */ - private $name; + /** + * Constructor. + * @param string $name + */ + public function __construct($name) { + $this->name = $name; + } - /** - * Constructor. - * @param string $name - */ - public function __construct($name) { - $this->name = $name; - } - - /** - * Clients supply the context-dependent information that the flyweight needs to draw itself - * For flyweights representing characters, extrinsic state usually contains e.g. the font - * @param string $font - */ - public function draw($font) - { - print_r("Character {$this->name} printed $font \n"); - } - -} \ No newline at end of file + /** + * Clients supply the context-dependent information that the flyweight needs to draw itself + * For flyweights representing characters, extrinsic state usually contains e.g. the font + * @param string $font + */ + public function draw($font) + { + print_r("Character {$this->name} printed $font \n"); + } +} diff --git a/Structural/Flyweight/FlyweightFactory.php b/Structural/Flyweight/FlyweightFactory.php index 4558300..5b17a43 100644 --- a/Structural/Flyweight/FlyweightFactory.php +++ b/Structural/Flyweight/FlyweightFactory.php @@ -8,30 +8,29 @@ use DesignPatterns\Structural\Flyweight\CharacterFlyweight; * A factory manages shared flyweights. Clients shouldn't instaniate them directly, * but let the factory take care of returning existing objects or creating new ones. */ -class FlyweightFactory { - - /** - * Associative store for flyweight objects +class FlyweightFactory +{ + /** + * Associative store for flyweight objects * @var Array */ - private $pool = array(); + private $pool = array(); - /** + /** * Magic getter * @param string $name * @return Flyweight */ public function __get($name) { - if (!array_key_exists((string) $name, $this->pool)) { - $this->pool[(string) $name] = new CharacterFlyweight((string) $name); + if (!array_key_exists($name, $this->pool)) { + $this->pool[$name] = new CharacterFlyweight($name); } - return $this->pool[(string) $name]; + return $this->pool[$name]; } public function totalNumber() { return sizeof($this->pool); } - -} \ No newline at end of file +} diff --git a/Structural/Flyweight/FlyweightInterface.php b/Structural/Flyweight/FlyweightInterface.php index cf43d57..e48bb8f 100644 --- a/Structural/Flyweight/FlyweightInterface.php +++ b/Structural/Flyweight/FlyweightInterface.php @@ -5,8 +5,7 @@ namespace DesignPatterns\Structural\Flyweight; /** * An interface through which flyweights can receive and act on extrinsic state */ -interface FlyweightInterface { - - public function draw($extrinsicState); - -} \ No newline at end of file +interface FlyweightInterface +{ + public function draw($extrinsicState); +} diff --git a/Structural/Flyweight/Tests/FlyweightTest.php b/Structural/Flyweight/Tests/FlyweightTest.php index ade3fde..90c3f3a 100644 --- a/Structural/Flyweight/Tests/FlyweightTest.php +++ b/Structural/Flyweight/Tests/FlyweightTest.php @@ -10,23 +10,23 @@ use DesignPatterns\Structural\Flyweight\FlyweightFactory; */ class FlyweightTest extends \PHPUnit_Framework_TestCase { - private $characters = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', - 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'); - private $fonts = array('Arial', 'Times New Roman', 'Verdana', 'Helvetica'); + private $characters = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', + 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'); + private $fonts = array('Arial', 'Times New Roman', 'Verdana', 'Helvetica'); - // This is about the number of characters in a book of average length - private $numberOfCharacters = 300000; + // This is about the number of characters in a book of average length + private $numberOfCharacters = 300000; public function testFlyweight() { $factory = new FlyweightFactory(); for ($i = 0; $i < $this->numberOfCharacters; $i++) { - $char = $this->characters[array_rand($this->characters)]; - $font = $this->fonts[array_rand($this->fonts)]; - $flyweight = $factory->$char; - // External state can be passed in like this: - // $flyweight->draw($font); + $char = $this->characters[array_rand($this->characters)]; + $font = $this->fonts[array_rand($this->fonts)]; + $flyweight = $factory->$char; + // External state can be passed in like this: + // $flyweight->draw($font); } // Flyweight pattern ensures that instances are shared From 7a4f1d63999f68194a149c2bdf032507b8ecbf57 Mon Sep 17 00:00:00 2001 From: Leonam Dias Date: Fri, 19 Jun 2015 15:29:27 -0300 Subject: [PATCH 03/35] Corrections on brazilian portuguese README Includes corrections on pt_br README like whitespaces etc. --- locale/pt_BR/LC_MESSAGES/README.po | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/locale/pt_BR/LC_MESSAGES/README.po b/locale/pt_BR/LC_MESSAGES/README.po index ce29298..1d5f529 100644 --- a/locale/pt_BR/LC_MESSAGES/README.po +++ b/locale/pt_BR/LC_MESSAGES/README.po @@ -1,4 +1,4 @@ -# +# msgid "" msgstr "" "Project-Id-Version: DesignPatternsPHP 1.0\n" @@ -22,9 +22,9 @@ msgid "" "them from Zend Framework, Symfony2 or Doctrine2 as I'm most familiar with " "this software)." msgstr "" -"Esta é uma coleção de padrões de projetos conhecidos e alguns códigos de exemplo de como" -"implementá-los em PHP. Todo padrão tem uma pequena lista de exemplos (muitos deles" -"vindos do Zend Framework, Symfony2 ou Doctrine2 já que tenho mais familiaridade com" +"Esta é uma coleção de padrões de projetos conhecidos e alguns códigos de exemplo de como " +"implementá-los em PHP. Todo padrão tem uma pequena lista de exemplos (muitos deles " +"vindos do Zend Framework, Symfony2 ou Doctrine2 já que tenho mais familiaridade com " "eles" #: ../../README.rst:16 @@ -32,7 +32,7 @@ msgid "" "I think the problem with patterns is that often people do know them but " "don't know when to apply which." msgstr "" -"Eu acredito que o problema com os padrões é que muitas pessoas os conhecem mas" +"Eu acredito que o problema com os padrões é que muitas pessoas os conhecem mas " "não sabem quando aplicá-los" #: ../../README.rst:20 @@ -46,8 +46,8 @@ msgid "" " click on **the title of every pattern's page** for a full explanation of " "the pattern on Wikipedia." msgstr "" -"Os padrões podem ser estruturados grosseiramente em tres categorias diferentes. Por favor" -"clique no **no título da página de cada padrão** para uma explicação completa do" +"Os padrões podem ser estruturados grosseiramente em tres categorias diferentes. Por favor " +"clique no **no título da página de cada padrão** para uma explicação completa do " "padrão na Wikipedia." #: ../../README.rst:35 @@ -63,10 +63,10 @@ msgid "" "standard`_ using ``./vendor/bin/phpcs -p --standard=PSR2 --ignore=vendor " ".``." msgstr "" -"Por favor, sinta-se a vontade para criar um fork e extender os exemplos existentes ou para criar os seus e" +"Por favor, sinta-se a vontade para criar um fork e extender os exemplos existentes ou para criar os seus e " "envie um pull request com suas alterações! Para manter o código consistente " -"qualidade, por favor, valide seu código usando o `PHP CodeSniffer`_ baseado na `PSR2`_ " -"usando ``./vendor/bin/phpcs -p --standard=PSR2 --ignore=vendor" +"e com qualidade, por favor, valide seu código usando o `PHP CodeSniffer`_ baseado na `PSR2`_ " +"usando ``./vendor/bin/phpcs -p --standard=PSR2 --ignore=vendor``" #: ../../README.rst:44 msgid "License" From 08bce354aa5cfde8f9da132f5a40cf6a64dc63db Mon Sep 17 00:00:00 2001 From: Leonam Dias Date: Fri, 19 Jun 2015 15:41:30 -0300 Subject: [PATCH 04/35] Translating Creational README page to pt_br Translating the creational readme to brazilian portuguese --- locale/pt_BR/LC_MESSAGES/Creational/README.po | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/locale/pt_BR/LC_MESSAGES/Creational/README.po b/locale/pt_BR/LC_MESSAGES/Creational/README.po index 72f543b..4873bcd 100644 --- a/locale/pt_BR/LC_MESSAGES/Creational/README.po +++ b/locale/pt_BR/LC_MESSAGES/Creational/README.po @@ -1,4 +1,4 @@ -# +# msgid "" msgstr "" "Project-Id-Version: DesignPatternsPHP 1.0\n" @@ -13,7 +13,7 @@ msgstr "" #: ../../Creational/README.rst:2 msgid "`Creational`__" -msgstr "" +msgstr "`Criacional`__" #: ../../Creational/README.rst:4 msgid "" @@ -23,3 +23,8 @@ msgid "" " design problems or added complexity to the design. Creational design " "patterns solve this problem by somehow controlling this object creation." msgstr "" +"Em engenharia de software, padrões de projeto do tipo criacional são padrões que" +" trabalham com mecanismos de criação de objetos, criando objetos de maneira " +"adequada às situações. A forma básica para criação de objetos pode resultar em" +" problemas de design ou adicionar complexidade ao mesmo. Padrões de Criação " +"resolvem este problema mantendo a criação do objeto sob controle." From d303b133e43553f9aec408c9417497cec873eaf6 Mon Sep 17 00:00:00 2001 From: Leonam Pereira Dias Date: Sun, 21 Jun 2015 10:40:09 -0300 Subject: [PATCH 05/35] changing the header in pt_BR --- locale/pt_BR/LC_MESSAGES/README.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/locale/pt_BR/LC_MESSAGES/README.po b/locale/pt_BR/LC_MESSAGES/README.po index 1d5f529..a10ea0b 100644 --- a/locale/pt_BR/LC_MESSAGES/README.po +++ b/locale/pt_BR/LC_MESSAGES/README.po @@ -4,12 +4,12 @@ msgstr "" "Project-Id-Version: DesignPatternsPHP 1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-29 12:18+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" +"PO-Revision-Date: 2015-06-18 12:00-0300\n" +"Last-Translator: Leonam Pereira Dias \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" #: ../../README.rst:5 msgid "DesignPatternsPHP" From 6fc5953ea3d8e9440c830ca3d92f969f66f33c3a Mon Sep 17 00:00:00 2001 From: Leonam Pereira Dias Date: Sun, 21 Jun 2015 10:53:58 -0300 Subject: [PATCH 06/35] Translating abstract factory to pt_br --- .../Creational/AbstractFactory/README.po | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/locale/pt_BR/LC_MESSAGES/Creational/AbstractFactory/README.po b/locale/pt_BR/LC_MESSAGES/Creational/AbstractFactory/README.po index 04a383e..fd6e4dd 100644 --- a/locale/pt_BR/LC_MESSAGES/Creational/AbstractFactory/README.po +++ b/locale/pt_BR/LC_MESSAGES/Creational/AbstractFactory/README.po @@ -4,20 +4,21 @@ msgstr "" "Project-Id-Version: DesignPatternsPHP 1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-29 12:18+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" +"PO-Revision-Date: 2015-06-20 12:00-0300\n" +"Last-Translator: Leonam Pereira Dias \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" #: ../../Creational/AbstractFactory/README.rst:2 msgid "`Abstract Factory`__" msgstr "" +"Fábrica de abstração_ (`Abstract Factory`__)" #: ../../Creational/AbstractFactory/README.rst:5 msgid "Purpose" -msgstr "" +msgstr "Objetivo" #: ../../Creational/AbstractFactory/README.rst:7 msgid "" @@ -26,18 +27,21 @@ msgid "" "interface. The client of the abstract factory does not care about how these " "objects are created, he just knows how they go together." msgstr "" +"Para a criação de conjunto de objetos relacionados ou dependentes sem especificar suas " +"classes concretas. O cliente da fábrica de abstração não precisa se preocupar como estes " +"objetos são criados, ele só sabe obtê-los." #: ../../Creational/AbstractFactory/README.rst:13 msgid "UML Diagram" -msgstr "" +msgstr "Diagrama UML" #: ../../Creational/AbstractFactory/README.rst:20 msgid "Code" -msgstr "" +msgstr "Código" #: ../../Creational/AbstractFactory/README.rst:22 msgid "You can also find these code on `GitHub`_" -msgstr "" +msgstr "Você pode encontrar o código no `Github`_" #: ../../Creational/AbstractFactory/README.rst:24 msgid "AbstractFactory.php" From eb24b7257fb317ef4e71bd6a5645158fb4a9a968 Mon Sep 17 00:00:00 2001 From: Leonam Pereira Dias Date: Sun, 21 Jun 2015 11:26:56 -0300 Subject: [PATCH 07/35] translating Builder and FactoryMethod for brazilian pt --- .../LC_MESSAGES/Creational/Builder/README.po | 27 +++++++++++-------- .../Creational/FactoryMethod/README.po | 23 ++++++++++------ 2 files changed, 31 insertions(+), 19 deletions(-) diff --git a/locale/pt_BR/LC_MESSAGES/Creational/Builder/README.po b/locale/pt_BR/LC_MESSAGES/Creational/Builder/README.po index 79d4fe3..4dcdf66 100644 --- a/locale/pt_BR/LC_MESSAGES/Creational/Builder/README.po +++ b/locale/pt_BR/LC_MESSAGES/Creational/Builder/README.po @@ -4,62 +4,67 @@ msgstr "" "Project-Id-Version: DesignPatternsPHP 1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-29 12:18+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" +"PO-Revision-Date: 2015-05-21 10:54-0300\n" +"Last-Translator: Leonam Pereira Dias \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" #: ../../Creational/Builder/README.rst:2 msgid "`Builder`__" -msgstr "" +msgstr "Construtor (`Builder`__)" #: ../../Creational/Builder/README.rst:5 msgid "Purpose" -msgstr "" +msgstr "Objetivo" #: ../../Creational/Builder/README.rst:7 msgid "Builder is an interface that build parts of a complex object." -msgstr "" +msgstr "Contrutor é uma interface que constrói partes de objetos complexos." #: ../../Creational/Builder/README.rst:9 msgid "" "Sometimes, if the builder has a better knowledge of what it builds, this " "interface could be an abstract class with default methods (aka adapter)." msgstr "" +"As vezes, se o construtor tem melhor conhecimento do que ele cria, essa " +"interface pode ser uma classe abstrata com métodos padrão (como o padrão adaptador)." #: ../../Creational/Builder/README.rst:12 msgid "" "If you have a complex inheritance tree for objects, it is logical to have a " "complex inheritance tree for builders too." msgstr "" +"Se você tem uma árvore de herança entre objetos complexa, é lógico que se tenha uma " +"árvore de herança complexa para os construtores também" #: ../../Creational/Builder/README.rst:15 msgid "" "Note: Builders have often a fluent interface, see the mock builder of " "PHPUnit for example." msgstr "" +"Nota: Construtores têm frequentemente, uma interface fluente. Veja o construtor mock do PHPUnit, por exemplo." #: ../../Creational/Builder/README.rst:19 msgid "Examples" -msgstr "" +msgstr "Exemplos" #: ../../Creational/Builder/README.rst:21 msgid "PHPUnit: Mock Builder" -msgstr "" +msgstr "PHPUnit: Contrutor Mock" #: ../../Creational/Builder/README.rst:24 msgid "UML Diagram" -msgstr "" +msgstr "Diagrama UML" #: ../../Creational/Builder/README.rst:31 msgid "Code" -msgstr "" +msgstr "Código" #: ../../Creational/Builder/README.rst:33 msgid "You can also find these code on `GitHub`_" -msgstr "" +msgstr "Você pode encontrar esse código no `Github`_" #: ../../Creational/Builder/README.rst:35 msgid "Director.php" diff --git a/locale/pt_BR/LC_MESSAGES/Creational/FactoryMethod/README.po b/locale/pt_BR/LC_MESSAGES/Creational/FactoryMethod/README.po index b65c56b..ddbfdd7 100644 --- a/locale/pt_BR/LC_MESSAGES/Creational/FactoryMethod/README.po +++ b/locale/pt_BR/LC_MESSAGES/Creational/FactoryMethod/README.po @@ -4,54 +4,61 @@ msgstr "" "Project-Id-Version: DesignPatternsPHP 1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-29 12:18+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" +"PO-Revision-Date: 2015-06-21 11:09-0300\n" +"Last-Translator: Leonam Pereira Dias \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" #: ../../Creational/FactoryMethod/README.rst:2 msgid "`Factory Method`__" -msgstr "" +msgstr "Fábrica de Métodos (`Factory Method`__)" #: ../../Creational/FactoryMethod/README.rst:5 msgid "Purpose" -msgstr "" +msgstr "Objetivo" #: ../../Creational/FactoryMethod/README.rst:7 msgid "" "The good point over the SimpleFactory is you can subclass it to implement " "different ways to create objects" msgstr "" +"O ponto positivo em relação ao SimpleFactory é que pode-se extender sua implementação " +"de diferentes maneiras para a criação de objetos." #: ../../Creational/FactoryMethod/README.rst:10 msgid "For simple case, this abstract class could be just an interface" msgstr "" +"Para um caso simples, esta classe abstrata pode ser apenas uma interface" #: ../../Creational/FactoryMethod/README.rst:12 msgid "" "This pattern is a \"real\" Design Pattern because it achieves the " "\"Dependency Inversion Principle\" a.k.a the \"D\" in S.O.L.I.D principles." msgstr "" +"Este padrão é um padrão de projetos de software \"real\" já que " +"trata o \"Princípio da inversão de dependências\" o \"D\" nos princípios S.O.L.I.D" #: ../../Creational/FactoryMethod/README.rst:15 msgid "" "It means the FactoryMethod class depends on abstractions, not concrete " "classes. This is the real trick compared to SimpleFactory or StaticFactory." msgstr "" +"Significa que a Fábrica de Método depende de abstrações, não implementação. " +"Este é uma vantagem comparado ao SimpleFactory ou StaticFactory." #: ../../Creational/FactoryMethod/README.rst:20 msgid "UML Diagram" -msgstr "" +msgstr "Diagrama UML" #: ../../Creational/FactoryMethod/README.rst:27 msgid "Code" -msgstr "" +msgstr "Código" #: ../../Creational/FactoryMethod/README.rst:29 msgid "You can also find these code on `GitHub`_" -msgstr "" +msgstr "Você pode encontrar este código no `Github`_" #: ../../Creational/FactoryMethod/README.rst:31 msgid "FactoryMethod.php" From 1120fab17dbc5573f12cb259768a9aa2d7ab0a1e Mon Sep 17 00:00:00 2001 From: Alex Nastase Date: Mon, 7 Mar 2016 21:37:33 +0200 Subject: [PATCH 08/35] Comment updates in AbstractFactory Fixed minor typos and punctuation in comments. --- Creational/AbstractFactory/AbstractFactory.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Creational/AbstractFactory/AbstractFactory.php b/Creational/AbstractFactory/AbstractFactory.php index 6529ff6..fd69448 100644 --- a/Creational/AbstractFactory/AbstractFactory.php +++ b/Creational/AbstractFactory/AbstractFactory.php @@ -11,11 +11,11 @@ namespace DesignPatterns\Creational\AbstractFactory; * it is the concrete subclass which creates concrete components. * * In this case, the abstract factory is a contract for creating some components - * for the web. There are two components : Text and Picture. There is two ways + * for the web. There are two components : Text and Picture. There are two ways * of rendering : HTML or JSON. * - * Therefore 4 concretes classes, but the client just need to know this contract - * to build a correct http response (for a html page or for an ajax request) + * Therefore 4 concrete classes, but the client just needs to know this contract + * to build a correct HTTP response (for a HTML page or for an AJAX request). */ abstract class AbstractFactory { From 0e358b79d262eaf53cdcab64526e38456e62a319 Mon Sep 17 00:00:00 2001 From: Petr Jurasek Date: Mon, 21 Mar 2016 17:03:04 +0100 Subject: [PATCH 09/35] Typo Typo update --- Structural/Facade/BiosInterface.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Structural/Facade/BiosInterface.php b/Structural/Facade/BiosInterface.php index 823af04..2655e6f 100644 --- a/Structural/Facade/BiosInterface.php +++ b/Structural/Facade/BiosInterface.php @@ -3,29 +3,29 @@ namespace DesignPatterns\Structural\Facade; /** - * Class BiosInterface. + * Interface BiosInterface */ interface BiosInterface { /** - * execute the BIOS. + * execute the BIOS */ public function execute(); /** - * wait for halt. + * wait for halt */ public function waitForKeyPress(); /** - * launches the OS. + * launches the OS * * @param OsInterface $os */ public function launch(OsInterface $os); /** - * power down BIOS. + * power down BIOS */ public function powerDown(); } From 00c3903b2e88143357070665edaaa3cc11121025 Mon Sep 17 00:00:00 2001 From: Petr Jurasek Date: Thu, 24 Mar 2016 09:45:55 +0100 Subject: [PATCH 10/35] Capitalize letters and add dots --- Structural/Facade/BiosInterface.php | 10 +++++----- Structural/Facade/Facade.php | 6 +++--- Structural/Facade/OsInterface.php | 4 ++-- Structural/Facade/Tests/FacadeTest.php | 2 ++ 4 files changed, 12 insertions(+), 10 deletions(-) diff --git a/Structural/Facade/BiosInterface.php b/Structural/Facade/BiosInterface.php index 2655e6f..8f1aa01 100644 --- a/Structural/Facade/BiosInterface.php +++ b/Structural/Facade/BiosInterface.php @@ -3,29 +3,29 @@ namespace DesignPatterns\Structural\Facade; /** - * Interface BiosInterface + * Interface BiosInterface. */ interface BiosInterface { /** - * execute the BIOS + * Execute the BIOS. */ public function execute(); /** - * wait for halt + * Wait for halt. */ public function waitForKeyPress(); /** - * launches the OS + * Launches the OS. * * @param OsInterface $os */ public function launch(OsInterface $os); /** - * power down BIOS + * Power down BIOS. */ public function powerDown(); } diff --git a/Structural/Facade/Facade.php b/Structural/Facade/Facade.php index 50c665d..6c96fea 100644 --- a/Structural/Facade/Facade.php +++ b/Structural/Facade/Facade.php @@ -3,7 +3,7 @@ namespace DesignPatterns\Structural\Facade; /** - * + * Class Facade */ class Facade { @@ -31,7 +31,7 @@ class Facade } /** - * turn on the system. + * Turn on the system. */ public function turnOn() { @@ -41,7 +41,7 @@ class Facade } /** - * turn off the system. + * Turn off the system. */ public function turnOff() { diff --git a/Structural/Facade/OsInterface.php b/Structural/Facade/OsInterface.php index 8394fd4..d8171e4 100644 --- a/Structural/Facade/OsInterface.php +++ b/Structural/Facade/OsInterface.php @@ -3,12 +3,12 @@ namespace DesignPatterns\Structural\Facade; /** - * Class OsInterface. + * Interface OsInterface. */ interface OsInterface { /** - * halt the OS. + * Halt the OS. */ public function halt(); } diff --git a/Structural/Facade/Tests/FacadeTest.php b/Structural/Facade/Tests/FacadeTest.php index e6038a0..0f1ea10 100644 --- a/Structural/Facade/Tests/FacadeTest.php +++ b/Structural/Facade/Tests/FacadeTest.php @@ -34,6 +34,8 @@ class FacadeTest extends \PHPUnit_Framework_TestCase } /** + * @param Computer $facade + * @param OsInterface $os * @dataProvider getComputer */ public function testComputerOn(Computer $facade, OsInterface $os) From 730316c11b2775c4c7f566b0431b9737bde4e32c Mon Sep 17 00:00:00 2001 From: Petr Jurasek Date: Thu, 24 Mar 2016 10:07:07 +0100 Subject: [PATCH 11/35] Add an dot --- Structural/Facade/Facade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Structural/Facade/Facade.php b/Structural/Facade/Facade.php index 6c96fea..43d1bcb 100644 --- a/Structural/Facade/Facade.php +++ b/Structural/Facade/Facade.php @@ -3,7 +3,7 @@ namespace DesignPatterns\Structural\Facade; /** - * Class Facade + * Class Facade. */ class Facade { From 4200d5a8741d37ba4817ae72d39980e9258d6237 Mon Sep 17 00:00:00 2001 From: Filis Date: Tue, 29 Mar 2016 18:38:17 +0200 Subject: [PATCH 12/35] copyright year? --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 440185f..06cf4ea 100755 --- a/README.md +++ b/README.md @@ -98,7 +98,7 @@ To establish a consistent code quality, please check your code using [PHP_CodeSn (The MIT License) -Copyright (c) 2014 Dominik Liebler and [contributors](https://github.com/domnikl/DesignPatternsPHP/graphs/contributors) +Copyright (c) 2016 Dominik Liebler and [contributors](https://github.com/domnikl/DesignPatternsPHP/graphs/contributors) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the From 32e0c656cd6d347e3140927841f8628f207ecc09 Mon Sep 17 00:00:00 2001 From: Filis Date: Wed, 30 Mar 2016 00:13:50 +0200 Subject: [PATCH 13/35] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 06cf4ea..37d79a6 100755 --- a/README.md +++ b/README.md @@ -98,7 +98,7 @@ To establish a consistent code quality, please check your code using [PHP_CodeSn (The MIT License) -Copyright (c) 2016 Dominik Liebler and [contributors](https://github.com/domnikl/DesignPatternsPHP/graphs/contributors) +Copyright (c) 2014 - 2016 Dominik Liebler and [contributors](https://github.com/domnikl/DesignPatternsPHP/graphs/contributors) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the From babb71702faa39168c876d5a9a7e754d571c2310 Mon Sep 17 00:00:00 2001 From: Filis Date: Wed, 30 Mar 2016 13:47:19 +0200 Subject: [PATCH 14/35] updated copyright year 2011 - 2016 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 37d79a6..a378e35 100755 --- a/README.md +++ b/README.md @@ -98,7 +98,7 @@ To establish a consistent code quality, please check your code using [PHP_CodeSn (The MIT License) -Copyright (c) 2014 - 2016 Dominik Liebler and [contributors](https://github.com/domnikl/DesignPatternsPHP/graphs/contributors) +Copyright (c) 2011 - 2016 Dominik Liebler and [contributors](https://github.com/domnikl/DesignPatternsPHP/graphs/contributors) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the From 1d63e8544baf044170e6e9133249bb4b29e5c93f Mon Sep 17 00:00:00 2001 From: Dominik Liebler Date: Mon, 4 Apr 2016 08:03:45 +0200 Subject: [PATCH 15/35] translated Structural patterns --- .../LC_MESSAGES/Structural/Adapter/README.po | 42 +++++----- .../LC_MESSAGES/Structural/Bridge/README.po | 24 +++--- .../Structural/Composite/README.po | 35 ++++----- .../Structural/DataMapper/README.po | 60 +++++++-------- .../Structural/Decorator/README.po | 32 ++++---- .../Structural/DependencyInjection/README.po | 76 +++++++++---------- .../LC_MESSAGES/Structural/Facade/README.po | 54 ++++++------- .../Structural/FluentInterface/README.po | 32 ++++---- .../de/LC_MESSAGES/Structural/Proxy/README.po | 30 ++++---- locale/de/LC_MESSAGES/Structural/README.po | 18 ++--- .../LC_MESSAGES/Structural/Registry/README.po | 33 ++++---- 11 files changed, 216 insertions(+), 220 deletions(-) diff --git a/locale/de/LC_MESSAGES/Structural/Adapter/README.po b/locale/de/LC_MESSAGES/Structural/Adapter/README.po index b56001b..4dfe1b9 100644 --- a/locale/de/LC_MESSAGES/Structural/Adapter/README.po +++ b/locale/de/LC_MESSAGES/Structural/Adapter/README.po @@ -4,22 +4,22 @@ msgstr "" "Project-Id-Version: DesignPatternsPHP 1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-29 12:18+0200\n" -"PO-Revision-Date: 2015-05-31 14:58+0300\n" +"PO-Revision-Date: 2016-04-04 07:27+0200\n" "Last-Translator: Dominik Liebler \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: de\n" +"Language-Team: \n" +"X-Generator: Poedit 1.8.7.1\n" #: ../../Structural/Adapter/README.rst:2 msgid "`Adapter / Wrapper`__" -msgstr "" -"`Адаптер `_ " -"(`Adapter / Wrapper`__)" +msgstr "`Adapter / Wrapper`__" #: ../../Structural/Adapter/README.rst:5 msgid "Purpose" -msgstr "Назначение" +msgstr "Zweck" #: ../../Structural/Adapter/README.rst:7 msgid "" @@ -28,40 +28,40 @@ msgid "" "incompatible interfaces by providing it's interface to clients while using " "the original interface." msgstr "" -"Привести нестандартный или неудобный интерфейс какого-то класса в " -"интерфейс, совместимый с вашим кодом. Адаптер позволяет классам работать " -"вместе стандартным образом, что обычно не получается из-за несовместимых " -"интерфейсов, предоставляя для этого прослойку с интерфейсом, удобным для " -"клиентов, самостоятельно используя оригинальный интерфейс." +"Um ein Interface für eine Klasse in ein kompatibles Interface zu " +"übersetzen. Ein Adapter erlaubt Klassen miteinander zu arbeiten die " +"normalerweise aufgrund von inkompatiblen Interfaces nicht miteinander " +"arbeiten könnten, indem ein Interface für die originalen Klassen zur " +"Verfügung gestellt wird." #: ../../Structural/Adapter/README.rst:13 msgid "Examples" -msgstr "Примеры" +msgstr "Beispiele" #: ../../Structural/Adapter/README.rst:15 msgid "DB Client libraries adapter" -msgstr "Адаптер клиентских библиотек для работы с базами данных" +msgstr "Datenbank-Adapter" #: ../../Structural/Adapter/README.rst:16 msgid "" -"using multiple different webservices and adapters normalize data so that the" -" outcome is the same for all" +"using multiple different webservices and adapters normalize data so that " +"the outcome is the same for all" msgstr "" -"нормализовать данные нескольких различных веб-сервисов, в одинаковую " -"структуру, как будто вы работаете со стандартным сервисом (например при " -"работе с API соцсетей)" +"verschiedene Webservices zu verwenden, bei denen mit Hilfe eines Adapters " +"für jeden die Daten aufbereitet werden, so dass nach außen dasselbe " +"Ergebnis zu erwarten ist" #: ../../Structural/Adapter/README.rst:20 msgid "UML Diagram" -msgstr "UML Диаграмма" +msgstr "UML Diagramm" #: ../../Structural/Adapter/README.rst:27 msgid "Code" -msgstr "Код" +msgstr "Code" #: ../../Structural/Adapter/README.rst:29 msgid "You can also find these code on `GitHub`_" -msgstr "Вы можете найти этот код на `GitHub`_" +msgstr "Du findest den Code auch auf `GitHub`_" #: ../../Structural/Adapter/README.rst:31 msgid "PaperBookInterface.php" @@ -85,7 +85,7 @@ msgstr "Kindle.php" #: ../../Structural/Adapter/README.rst:62 msgid "Test" -msgstr "Тест" +msgstr "Теst" #: ../../Structural/Adapter/README.rst:64 msgid "Tests/AdapterTest.php" diff --git a/locale/de/LC_MESSAGES/Structural/Bridge/README.po b/locale/de/LC_MESSAGES/Structural/Bridge/README.po index 9e7356e..14bd48c 100644 --- a/locale/de/LC_MESSAGES/Structural/Bridge/README.po +++ b/locale/de/LC_MESSAGES/Structural/Bridge/README.po @@ -4,34 +4,34 @@ msgstr "" "Project-Id-Version: DesignPatternsPHP 1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-29 12:18+0200\n" -"PO-Revision-Date: 2015-06-02 00:24+0300\n" +"PO-Revision-Date: 2016-04-04 07:28+0200\n" "Last-Translator: Dominik Liebler \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: de\n" +"Language-Team: \n" +"X-Generator: Poedit 1.8.7.1\n" #: ../../Structural/Bridge/README.rst:2 msgid "`Bridge`__" -msgstr "" -"`Мост `_ " -"(`Bridge`__)" +msgstr "`Bridge`__" #: ../../Structural/Bridge/README.rst:5 msgid "Purpose" -msgstr "Назначение" +msgstr "Zweck" #: ../../Structural/Bridge/README.rst:7 msgid "" "Decouple an abstraction from its implementation so that the two can vary " "independently." msgstr "" -"Отделить абстракцию от её реализации так, что они могут изменяться " -"независимо друг от друга." +"Eine Abstraktion von seiner Implementierung zu entkoppeln, sodass sich " +"diese unterscheiden können." #: ../../Structural/Bridge/README.rst:11 msgid "Sample:" -msgstr "Пример:" +msgstr "Beispiel:" #: ../../Structural/Bridge/README.rst:13 msgid "`Symfony DoctrineBridge `__" @@ -40,15 +40,15 @@ msgstr "" #: ../../Structural/Bridge/README.rst:17 msgid "UML Diagram" -msgstr "UML Диаграмма" +msgstr "UML Diagramm" #: ../../Structural/Bridge/README.rst:24 msgid "Code" -msgstr "Код" +msgstr "Code" #: ../../Structural/Bridge/README.rst:26 msgid "You can also find these code on `GitHub`_" -msgstr "Вы можете найти этот код на `GitHub`_" +msgstr "Du findest den Code auch auf `GitHub`_" #: ../../Structural/Bridge/README.rst:28 msgid "Workshop.php" @@ -76,7 +76,7 @@ msgstr "Car.php" #: ../../Structural/Bridge/README.rst:65 msgid "Test" -msgstr "Тест" +msgstr "Теst" #: ../../Structural/Bridge/README.rst:67 msgid "Tests/BridgeTest.php" diff --git a/locale/de/LC_MESSAGES/Structural/Composite/README.po b/locale/de/LC_MESSAGES/Structural/Composite/README.po index 70c622b..e9e55bd 100644 --- a/locale/de/LC_MESSAGES/Structural/Composite/README.po +++ b/locale/de/LC_MESSAGES/Structural/Composite/README.po @@ -4,33 +4,33 @@ msgstr "" "Project-Id-Version: DesignPatternsPHP 1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-29 12:18+0200\n" -"PO-Revision-Date: 2015-06-02 00:33+0300\n" +"PO-Revision-Date: 2016-04-04 07:31+0200\n" "Last-Translator: Dominik Liebler \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: de\n" +"Language-Team: \n" +"X-Generator: Poedit 1.8.7.1\n" #: ../../Structural/Composite/README.rst:2 msgid "`Composite`__" -msgstr "" -"`Компоновщик `_ (`Composite`__)" +msgstr "`Composite`__" #: ../../Structural/Composite/README.rst:5 msgid "Purpose" -msgstr "Назначение" +msgstr "Zweck" #: ../../Structural/Composite/README.rst:7 msgid "" "To treat a group of objects the same way as a single instance of the object." msgstr "" -"Взаимодействие с иерархической группой объектов также, как и с отдельно " -"взятым экземпляром." +"Eine Gruppe von Objekten genauso zu behandeln wie eine einzelne Instanz " +"eines Objekts." #: ../../Structural/Composite/README.rst:11 msgid "Examples" -msgstr "Примеры" +msgstr "Beispiele" #: ../../Structural/Composite/README.rst:13 msgid "" @@ -38,29 +38,30 @@ msgid "" "of the form, when ``render()`` is called, it subsequently runs through all " "its child elements and calls ``render()`` on them" msgstr "" -"Экземпляр класса Form обрабатывает все свои элементы формы, как будто это " -"один экземпляр. И когда вызывается метод ``render()``, он перебирает все " -"дочерние элементы и вызывает их собственный ``render()``." +"Eine Formular-Klasseninstanz behandelt alle seine beinhalteten Formelemente " +"wie eine eine einzelne Instanz des Formulars. Wenn ``render()`` aufgerufen " +"wird, werden alle Kindelemente durchlaufen und auf jedem wieder " +"``render()`` aufgerufen." #: ../../Structural/Composite/README.rst:16 msgid "" "``Zend_Config``: a tree of configuration options, each one is a " "``Zend_Config`` object itself" msgstr "" -"``Zend_Config``: дерево вариантов конфигурации, где каждая из конфигураций " -"тоже представляет собой объект ``Zend_Config``" +"``Zend_Config``: ein Baum aus Konfigurationsoptionen, bei dem jedes Objekt " +"wieder eine Instanz von``Zend_Config`` ist" #: ../../Structural/Composite/README.rst:20 msgid "UML Diagram" -msgstr "UML Диаграмма" +msgstr "UML Diagramm" #: ../../Structural/Composite/README.rst:27 msgid "Code" -msgstr "Код" +msgstr "Code" #: ../../Structural/Composite/README.rst:29 msgid "You can also find these code on `GitHub`_" -msgstr "Вы можете найти этот код на `GitHub`_" +msgstr "Du findest den Code auch auf `GitHub`_" #: ../../Structural/Composite/README.rst:31 msgid "FormElement.php" @@ -80,7 +81,7 @@ msgstr "TextElement.php" #: ../../Structural/Composite/README.rst:56 msgid "Test" -msgstr "Тест" +msgstr "Теst" #: ../../Structural/Composite/README.rst:58 msgid "Tests/CompositeTest.php" diff --git a/locale/de/LC_MESSAGES/Structural/DataMapper/README.po b/locale/de/LC_MESSAGES/Structural/DataMapper/README.po index ce871bb..b563d43 100644 --- a/locale/de/LC_MESSAGES/Structural/DataMapper/README.po +++ b/locale/de/LC_MESSAGES/Structural/DataMapper/README.po @@ -4,58 +4,56 @@ msgstr "" "Project-Id-Version: DesignPatternsPHP 1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-29 12:18+0200\n" -"PO-Revision-Date: 2015-06-02 00:48+0300\n" +"PO-Revision-Date: 2016-04-04 07:37+0200\n" "Last-Translator: Dominik Liebler \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: de\n" +"Language-Team: \n" +"X-Generator: Poedit 1.8.7.1\n" #: ../../Structural/DataMapper/README.rst:2 msgid "`Data Mapper`__" -msgstr "Преобразователь Данных (`Data Mapper`__)" +msgstr "`Data Mapper`__" #: ../../Structural/DataMapper/README.rst:5 msgid "Purpose" -msgstr "Назначение" +msgstr "Zweck" #: ../../Structural/DataMapper/README.rst:7 msgid "" "A Data Mapper, is a Data Access Layer that performs bidirectional transfer " -"of data between a persistent data store (often a relational database) and an" -" in memory data representation (the domain layer). The goal of the pattern " -"is to keep the in memory representation and the persistent data store " -"independent of each other and the data mapper itself. The layer is composed " -"of one or more mappers (or Data Access Objects), performing the data " -"transfer. Mapper implementations vary in scope. Generic mappers will handle " -"many different domain entity types, dedicated mappers will handle one or a " -"few." +"of data between a persistent data store (often a relational database) and " +"an in memory data representation (the domain layer). The goal of the " +"pattern is to keep the in memory representation and the persistent data " +"store independent of each other and the data mapper itself. The layer is " +"composed of one or more mappers (or Data Access Objects), performing the " +"data transfer. Mapper implementations vary in scope. Generic mappers will " +"handle many different domain entity types, dedicated mappers will handle " +"one or a few." msgstr "" -"Преобразователь Данных — это паттерн, который выступает в роли посредника " -"для двунаправленной передачи данных между постоянным хранилищем данных " -"(часто, реляционной базы данных) и представления данных в памяти (слой " -"домена, то что уже загружено и используется для логической обработки). Цель " -"паттерна в том, чтобы держать представление данных в памяти и постоянное " -"хранилище данных независимыми друг от друга и от самого преобразователя " -"данных. Слой состоит из одного или более mapper-а (или объектов доступа к " -"данным), отвечающих за передачу данных. Реализации mapper-ов различаются по " -"назначению. Общие mapper-ы могут обрабатывать всевозоможные типы сущностей " -"доменов, а выделенные mapper-ы будет обрабатывать один или несколько " -"конкретных типов." +"Ein Data Mapper ist Teil der Datenzugriffsschicht (Data Access Layer), die " +"für den bidirektionalen Zugriff auf Daten aus einem persistenten Speicher " +"(oftmals eine relationale Datenbank) in den Domain Layer der Anwendung und " +"zurück zuständig ist. Das Ziel dieses Patterns ist es, die jeweiligen Layer " +"zu trennen und unabhängig voneinander zu gestalten. Der Layer besteht aus " +"einem oder mehreren Mappern (oder Data Access Objects), die den Austasch " +"von Daten regeln. Mapper können dabei unterschiedlich komplex aufgebaut " +"sein. Generische Mapper werden viele verschiedene Domain Entity Typen " +"verarbeiten können, aber auch spezialisierte Mapper sind denkbar." #: ../../Structural/DataMapper/README.rst:17 msgid "" "The key point of this pattern is, unlike Active Record pattern, the data " "model follows Single Responsibility Principle." msgstr "" -"Ключевым моментом этого паттерна, в отличие от Активной Записи (Active " -"Records) является то, что модель данных следует `Принципу Единой " -"Обязанности `_ SOLID." +"Im Gegensatz zum Active Record Pattern folgt dieses Muster dem Single " +"Responsibility Prinzip." #: ../../Structural/DataMapper/README.rst:21 msgid "Examples" -msgstr "Примеры" +msgstr "Beispiele" #: ../../Structural/DataMapper/README.rst:23 msgid "" @@ -67,15 +65,15 @@ msgstr "" #: ../../Structural/DataMapper/README.rst:27 msgid "UML Diagram" -msgstr "UML Диаграмма" +msgstr "UML Diagramm" #: ../../Structural/DataMapper/README.rst:34 msgid "Code" -msgstr "Код" +msgstr "Code" #: ../../Structural/DataMapper/README.rst:36 msgid "You can also find these code on `GitHub`_" -msgstr "Вы можете найти этот код на `GitHub`_" +msgstr "Du findest den Code auch auf `GitHub`_" #: ../../Structural/DataMapper/README.rst:38 msgid "User.php" @@ -87,7 +85,7 @@ msgstr "UserMapper.php" #: ../../Structural/DataMapper/README.rst:51 msgid "Test" -msgstr "Тест" +msgstr "Теst" #: ../../Structural/DataMapper/README.rst:53 msgid "Tests/DataMapperTest.php" diff --git a/locale/de/LC_MESSAGES/Structural/Decorator/README.po b/locale/de/LC_MESSAGES/Structural/Decorator/README.po index c3fe618..8b12f0c 100644 --- a/locale/de/LC_MESSAGES/Structural/Decorator/README.po +++ b/locale/de/LC_MESSAGES/Structural/Decorator/README.po @@ -4,54 +4,52 @@ msgstr "" "Project-Id-Version: DesignPatternsPHP 1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-29 12:18+0200\n" -"PO-Revision-Date: 2015-06-02 00:53+0300\n" +"PO-Revision-Date: 2016-04-04 07:42+0200\n" "Last-Translator: Dominik Liebler \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: de\n" +"Language-Team: \n" +"X-Generator: Poedit 1.8.7.1\n" #: ../../Structural/Decorator/README.rst:2 msgid "`Decorator`__" -msgstr "" -"`Декоратор `_ (`Decorator`__)" +msgstr "`Decorator`__" #: ../../Structural/Decorator/README.rst:5 msgid "Purpose" -msgstr "Назначение" +msgstr "Zweck" #: ../../Structural/Decorator/README.rst:7 msgid "To dynamically add new functionality to class instances." -msgstr "Динамически добавляет новую функциональность в экземпляры классов." +msgstr "neue Funktionalität dynamisch zu Klasseninstanzen hinzuzufügen." #: ../../Structural/Decorator/README.rst:10 msgid "Examples" -msgstr "Примеры" +msgstr "Beispiele" #: ../../Structural/Decorator/README.rst:12 msgid "Zend Framework: decorators for ``Zend_Form_Element`` instances" -msgstr "Zend Framework: декораторы для экземпляров ``Zend_Form_Element``" +msgstr "Zend Framework: Dekoratoren für ``Zend_Form_Element`` Instanzen" #: ../../Structural/Decorator/README.rst:13 msgid "" -"Web Service Layer: Decorators JSON and XML for a REST service (in this case," -" only one of these should be allowed of course)" -msgstr "" -"Web Service Layer: Декораторы JSON и XML для REST сервисов (в этом случае, " -"конечно, только один из них может быть разрешен)." +"Web Service Layer: Decorators JSON and XML for a REST service (in this " +"case, only one of these should be allowed of course)" +msgstr "Web Service Layer: JSON- und XML-Dekoratoren für einen REST Service" #: ../../Structural/Decorator/README.rst:17 msgid "UML Diagram" -msgstr "UML Диаграмма" +msgstr "UML Diagramm" #: ../../Structural/Decorator/README.rst:24 msgid "Code" -msgstr "Код" +msgstr "Code" #: ../../Structural/Decorator/README.rst:26 msgid "You can also find these code on `GitHub`_" -msgstr "Вы можете найти этот код на `GitHub`_" +msgstr "Du findest den Code auch auf `GitHub`_" #: ../../Structural/Decorator/README.rst:28 msgid "RendererInterface.php" @@ -75,7 +73,7 @@ msgstr "RenderInJson.php" #: ../../Structural/Decorator/README.rst:59 msgid "Test" -msgstr "Тест" +msgstr "Теst" #: ../../Structural/Decorator/README.rst:61 msgid "Tests/DecoratorTest.php" diff --git a/locale/de/LC_MESSAGES/Structural/DependencyInjection/README.po b/locale/de/LC_MESSAGES/Structural/DependencyInjection/README.po index 8ff2098..4bb372c 100644 --- a/locale/de/LC_MESSAGES/Structural/DependencyInjection/README.po +++ b/locale/de/LC_MESSAGES/Structural/DependencyInjection/README.po @@ -4,12 +4,14 @@ msgstr "" "Project-Id-Version: DesignPatternsPHP 1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-29 12:18+0200\n" -"PO-Revision-Date: 2015-06-02 01:32+0300\n" +"PO-Revision-Date: 2016-04-04 07:49+0200\n" "Last-Translator: Dominik Liebler \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: de\n" +"Language-Team: \n" +"X-Generator: Poedit 1.8.7.1\n" #: ../../Structural/DependencyInjection/README.rst:2 msgid "`Dependency Injection`__" @@ -19,53 +21,52 @@ msgstr "" #: ../../Structural/DependencyInjection/README.rst:5 msgid "Purpose" -msgstr "Назначение" +msgstr "Zweck" #: ../../Structural/DependencyInjection/README.rst:7 msgid "" -"To implement a loosely coupled architecture in order to get better testable," -" maintainable and extendable code." +"To implement a loosely coupled architecture in order to get better " +"testable, maintainable and extendable code." msgstr "" -"Для реализации слабосвязанной архитектуры. Чтобы получить более " -"тестируемый, сопровождаемый и расширяемый код." +"Eine lose gekoppelte Architektur zu implementieren, um besser testbaren, " +"wartbaren und erweiterbaren Code zu erreichen." #: ../../Structural/DependencyInjection/README.rst:11 msgid "Usage" -msgstr "Использование" +msgstr "Verwendung" #: ../../Structural/DependencyInjection/README.rst:13 msgid "" "Configuration gets injected and ``Connection`` will get all that it needs " -"from ``$config``. Without DI, the configuration would be created directly in" -" ``Connection``, which is not very good for testing and extending " +"from ``$config``. Without DI, the configuration would be created directly " +"in ``Connection``, which is not very good for testing and extending " "``Connection``." msgstr "" -"Объект Configuration внедряется в ``Connection`` и последний получает всё, " -"что ему необходимо из переменной ``$ config``. Без DI, конфигурация будет " -"создана непосредственно в ``Connection``, что не очень хорошо для " -"тестирования и расширения ``Connection``, так как связывает эти классы " -"напрямую." +"Die Konfiguration wird injiziert und ``Connection`` wird sich von ``" +"$config`` selbstständig nehmen, was es braucht. Ohne DI würde die " +"Konfiguration direkt in ``Connection`` erzeugt, was sich schlecht testen " +"und erweitern lässt." #: ../../Structural/DependencyInjection/README.rst:18 msgid "" "Notice we are following Inversion of control principle in ``Connection`` by " -"asking ``$config`` to implement ``Parameters`` interface. This decouples our" -" components. We don't care where the source of information comes from, we " -"only care that ``$config`` has certain methods to retrieve that information." -" Read more about Inversion of control `here " -"`__." +"asking ``$config`` to implement ``Parameters`` interface. This decouples " +"our components. We don't care where the source of information comes from, " +"we only care that ``$config`` has certain methods to retrieve that " +"information. Read more about Inversion of control `here `__." msgstr "" -"Обратите внимание, в ``Connection`` мы следуем принципу SOLID `Инверсия " -"Управления `_, " -"запрашивая параметр ``$config``, чтобы реализовать интерфейс " -"``Parameters``. Это отделяет наши компоненты друг от друга. Нас не заботит, " -"из какого источника поступает эта информация о конфигурации, мы заботимся " -"только о том, что ``$config`` должен иметь определенные методы, чтобы мы " -"могли получить эту информацию." +"Beachte, dass wir in ``Connection`` dem Inversion of Control Prinzip " +"folgen, indem wir ``$config`` das ``Parameters`` Interface implementieren " +"lassen. Das entkoppelt unsere Komponenten. Wir interessieren uns auch nicht " +"für die Quelle der benötigten Informationen, alles was an der Stelle " +"wichtig ist, ist, dass ``$config`` bestimmte Methoden zum Auslesen der " +"Informationen bereitstellt. Weiteres zu Inversion of control gibt es`hier " +"`__." #: ../../Structural/DependencyInjection/README.rst:26 msgid "Examples" -msgstr "Примеры" +msgstr "Beispiele" #: ../../Structural/DependencyInjection/README.rst:28 msgid "" @@ -74,10 +75,9 @@ msgid "" "create a mock object of the configuration and inject that into the " "``Connection`` object" msgstr "" -"The Doctrine2 ORM использует Внедрение Зависимости например для " -"конфигурации, которая внедряется в объект ``Connection``. Для целей " -"тестирования, можно легко создать макет объекта конфигурации и внедрить его " -"в объект ``Connection``, подменив оригинальный." +"Das Doctrine2 ORM benutzt Dependency Injection für z.B. die Konfiguration, " +"die in ein ``Connection`` injiziert wird. Für Testzwecke lässt sich diese " +"leicht durch ein gemocktes Objekt austauschen." #: ../../Structural/DependencyInjection/README.rst:32 msgid "" @@ -85,21 +85,21 @@ msgid "" "objects via a configuration array and inject them where needed (i.e. in " "Controllers)" msgstr "" -"Symfony and Zend Framework 2 уже содержат контейнеры для DI, которые " -"создают объекты с помощью массива из конфигурации, и внедряют их в случае " -"необходимости (т.е. в Контроллерах)." +"Symfony2 und Zend Framework 2 bieten beide Dependency Injection Container " +"an, die selbstständig vorkonfigurierte Objekte bei Bedarf erzeugen und " +"diese in z.B. Controller injizieren können." #: ../../Structural/DependencyInjection/README.rst:37 msgid "UML Diagram" -msgstr "UML Диаграмма" +msgstr "UML Diagramm" #: ../../Structural/DependencyInjection/README.rst:44 msgid "Code" -msgstr "Код" +msgstr "Code" #: ../../Structural/DependencyInjection/README.rst:46 msgid "You can also find these code on `GitHub`_" -msgstr "Вы можете найти этот код на `GitHub`_" +msgstr "Du findest den Code auch auf `GitHub`_" #: ../../Structural/DependencyInjection/README.rst:48 msgid "AbstractConfig.php" @@ -119,7 +119,7 @@ msgstr "Connection.php" #: ../../Structural/DependencyInjection/README.rst:73 msgid "Test" -msgstr "Тест" +msgstr "Теst" #: ../../Structural/DependencyInjection/README.rst:75 msgid "Tests/DependencyInjectionTest.php" diff --git a/locale/de/LC_MESSAGES/Structural/Facade/README.po b/locale/de/LC_MESSAGES/Structural/Facade/README.po index f4f4186..2e241c1 100644 --- a/locale/de/LC_MESSAGES/Structural/Facade/README.po +++ b/locale/de/LC_MESSAGES/Structural/Facade/README.po @@ -4,22 +4,22 @@ msgstr "" "Project-Id-Version: DesignPatternsPHP 1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-29 12:18+0200\n" -"PO-Revision-Date: 2015-06-02 01:48+0300\n" +"PO-Revision-Date: 2016-04-04 07:56+0200\n" "Last-Translator: Dominik Liebler \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: de\n" +"Language-Team: \n" +"X-Generator: Poedit 1.8.7.1\n" #: ../../Structural/Facade/README.rst:2 msgid "`Facade`__" -msgstr "" -"`Фасад `_ " -"(`Facade`__)" +msgstr "`Facade`__" #: ../../Structural/Facade/README.rst:5 msgid "Purpose" -msgstr "Назначение" +msgstr "Zweck" #: ../../Structural/Facade/README.rst:7 msgid "" @@ -27,41 +27,37 @@ msgid "" "of a complex API. It's only a side-effect. The first goal is to reduce " "coupling and follow the Law of Demeter." msgstr "" -"Основная цель паттерна Фасад заключается не в том, чтобы помешать вам " -"прочитать инструкцию комплексной API. Это только побочный эффект. Главная " -"цель всё же состоит в уменьшении связности кода и соблюдении `Закона " -"Деметры `_." +"Das primäre Ziel des Facade-Musters ist nicht, dir das Lesen von komplexen " +"API Dokumentationen zu ersparen. Das kann ein Seiteneffekt sein. Es ist " +"vielmehr das Ziel, Kopplungen zu vermeiden und dem Gesetz von Demeter zu " +"folgen." #: ../../Structural/Facade/README.rst:11 msgid "" "A Facade is meant to decouple a client and a sub-system by embedding many " "(but sometimes just one) interface, and of course to reduce complexity." msgstr "" -"Фасад предназначен для разделения клиента и подсистемы путем внедрения " -"многих (но иногда только одного) интерфейсов, и, конечно, уменьшения общей " -"сложности." +"Eine Facade dient dazu, den Client von einem Subsystem zu entkopplen, indem " +"ein oder mehrere Interfaces einzuführen und damit Komplexität zu verringern." #: ../../Structural/Facade/README.rst:15 msgid "A facade does not forbid you the access to the sub-system" -msgstr "" -"Фасад не запрещает прямой доступ к подсистеме. Просто он делает его проще и " -"понятнее." +msgstr "Eine Facade verbietet nicht den Zugriff auf das Subsystem" #: ../../Structural/Facade/README.rst:16 msgid "You can (you should) have multiple facades for one sub-system" msgstr "" -"Вы можете (и вам стоило бы) иметь несколько фасадов для одной подсистемы." +"Es ist nicht unüblich, mehrere Fassaden für ein Subsystem zu implementieren" #: ../../Structural/Facade/README.rst:18 msgid "" "That's why a good facade has no ``new`` in it. If there are multiple " -"creations for each method, it is not a Facade, it's a Builder or a " -"[Abstract\\|Static\\|Simple] Factory [Method]." +"creations for each method, it is not a Facade, it's a Builder or a [Abstract" +"\\|Static\\|Simple] Factory [Method]." msgstr "" -"Вот почему хороший фасад не содержит созданий экземпляров классов (``new``) " -"внутри. Если внутри фасада создаются объекты для реализации каждого метода, " -"это не Фасад, это Строитель или [Абстрактная\\|Статическая\\|Простая] " -"Фабрика [или Фабричный Метод]." +"Deshalb besitzt eine gute Facade keine ``new`` Aufrufe. Falls es mehrere " +"Erzeugungsmethoden pro Methode gibt, handelt es sicht nicht um eine Facade, " +"sondern um einen Builder oder [Abstract\\|Static\\|Simple] Factory [Method]." #: ../../Structural/Facade/README.rst:22 msgid "" @@ -69,21 +65,21 @@ msgid "" "parameters. If you need creation of new instances, use a Factory as " "argument." msgstr "" -"Лучший фасад не содержит ``new`` или конструктора с type-hinted " -"параметрами. Если вам необходимо создавать новые экземпляры классов, в " -"таком случае лучше использовать Фабрику в качестве аргумента." +"Bestenfalls besitzt eine Facade kein ``new`` und einen Konstruktor mit Type-" +"Hints als Parameter. Falls du neue Instanzen erzeugen willst, kannst du " +"eine Factory als Argument verwenden." #: ../../Structural/Facade/README.rst:27 msgid "UML Diagram" -msgstr "UML Диаграмма" +msgstr "UML Diagramm" #: ../../Structural/Facade/README.rst:34 msgid "Code" -msgstr "Код" +msgstr "Code" #: ../../Structural/Facade/README.rst:36 msgid "You can also find these code on `GitHub`_" -msgstr "Вы можете найти этот код на `GitHub`_" +msgstr "Du findest den Code auch auf `GitHub`_" #: ../../Structural/Facade/README.rst:38 msgid "Facade.php" @@ -99,7 +95,7 @@ msgstr "BiosInterface.php" #: ../../Structural/Facade/README.rst:57 msgid "Test" -msgstr "Тест" +msgstr "Теst" #: ../../Structural/Facade/README.rst:59 msgid "Tests/FacadeTest.php" diff --git a/locale/de/LC_MESSAGES/Structural/FluentInterface/README.po b/locale/de/LC_MESSAGES/Structural/FluentInterface/README.po index ad460da..a213628 100644 --- a/locale/de/LC_MESSAGES/Structural/FluentInterface/README.po +++ b/locale/de/LC_MESSAGES/Structural/FluentInterface/README.po @@ -4,60 +4,60 @@ msgstr "" "Project-Id-Version: DesignPatternsPHP 1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-29 12:18+0200\n" -"PO-Revision-Date: 2015-06-02 01:50+0300\n" +"PO-Revision-Date: 2016-04-04 07:57+0200\n" "Last-Translator: Dominik Liebler \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: de\n" +"Language-Team: \n" +"X-Generator: Poedit 1.8.7.1\n" #: ../../Structural/FluentInterface/README.rst:2 msgid "`Fluent Interface`__" -msgstr "" -"`Текучий Интерфейс `_ " -"(`Fluent Interface`__)" +msgstr "`Fluent Interface`__" #: ../../Structural/FluentInterface/README.rst:5 msgid "Purpose" -msgstr "Назначение" +msgstr "Zweck" #: ../../Structural/FluentInterface/README.rst:7 msgid "" "To write code that is easy readable just like sentences in a natural " "language (like English)." msgstr "" -"Писать код, который легко читается, как предложения в естественном языке " -"(вроде русского или английского)." +"Um Code zu schreiben, der wie ein Satz in einer natürlichen Sprache gelesen " +"werden kann (z.B. in Englisch)" #: ../../Structural/FluentInterface/README.rst:11 msgid "Examples" -msgstr "Примеры" +msgstr "Beispiele" #: ../../Structural/FluentInterface/README.rst:13 msgid "Doctrine2's QueryBuilder works something like that example class below" -msgstr "Doctrine2’s QueryBuilder работает примерно также, как пример ниже." +msgstr "" +"Doctrine2's QueryBuilder funktioniert ähnlich zu dem Beispiel hier unten" #: ../../Structural/FluentInterface/README.rst:15 msgid "PHPUnit uses fluent interfaces to build mock objects" -msgstr "" -"PHPUnit использует текучий интерфейс, чтобы создавать макеты объектов." +msgstr "PHPUnit verwendet ein Fluent Interface, um Mockobjekte zu erstellen" #: ../../Structural/FluentInterface/README.rst:16 msgid "Yii Framework: CDbCommand and CActiveRecord use this pattern, too" msgstr "" -"Yii Framework: CDbCommand и CActiveRecord тоже используют этот паттерн." +"Yii Framework: CDbCommand und CActiveRecord verwenden auch dieses Muster" #: ../../Structural/FluentInterface/README.rst:19 msgid "UML Diagram" -msgstr "UML Диаграмма" +msgstr "UML Diagramm" #: ../../Structural/FluentInterface/README.rst:26 msgid "Code" -msgstr "Код" +msgstr "Code" #: ../../Structural/FluentInterface/README.rst:28 msgid "You can also find these code on `GitHub`_" -msgstr "Вы можете найти этот код на `GitHub`_" +msgstr "Du findest den Code auch auf `GitHub`_" #: ../../Structural/FluentInterface/README.rst:30 msgid "Sql.php" @@ -65,7 +65,7 @@ msgstr "Sql.php" #: ../../Structural/FluentInterface/README.rst:37 msgid "Test" -msgstr "Тест" +msgstr "Теst" #: ../../Structural/FluentInterface/README.rst:39 msgid "Tests/FluentInterfaceTest.php" diff --git a/locale/de/LC_MESSAGES/Structural/Proxy/README.po b/locale/de/LC_MESSAGES/Structural/Proxy/README.po index a708a66..46755ec 100644 --- a/locale/de/LC_MESSAGES/Structural/Proxy/README.po +++ b/locale/de/LC_MESSAGES/Structural/Proxy/README.po @@ -4,32 +4,32 @@ msgstr "" "Project-Id-Version: DesignPatternsPHP 1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-29 12:18+0200\n" -"PO-Revision-Date: 2015-06-02 01:56+0300\n" +"PO-Revision-Date: 2016-04-04 07:59+0200\n" "Last-Translator: Dominik Liebler \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: de\n" +"Language-Team: \n" +"X-Generator: Poedit 1.8.7.1\n" #: ../../Structural/Proxy/README.rst:2 msgid "`Proxy`__" -msgstr "" -"`Прокси `_ " -"(`Proxy`__)" +msgstr "`Proxy`__" #: ../../Structural/Proxy/README.rst:5 msgid "Purpose" -msgstr "Назначение" +msgstr "Zweck" #: ../../Structural/Proxy/README.rst:7 msgid "To interface to anything that is expensive or impossible to duplicate." msgstr "" -"Создать интерфейс взаимодействия с любым классом, который трудно или " -"невозможно использовать в оригинальном виде." +"Um ein Interface bereitzustellen, das teuer oder unmöglich zu duplizieren " +"ist" #: ../../Structural/Proxy/README.rst:10 msgid "Examples" -msgstr "Примеры" +msgstr "Beispiele" #: ../../Structural/Proxy/README.rst:12 msgid "" @@ -37,21 +37,21 @@ msgid "" "initialization) in them, while the user still works with his own entity " "classes and will never use nor touch the proxies" msgstr "" -"Doctrine2 использует прокси для реализации магии фреймворка (например, для " -"ленивой инициализации), в то время как пользователь работает со своими " -"собственными классами сущностей и никогда не будет использовать прокси." +"Doctrine2 verwendet Proxies, um sein Framework zu implementieren (z.B. Lazy " +"Initialization), der User arbeitet aber dennoch mit seinen eigenen Entity " +"Klassen und wird niemals die Proxies anpassen" #: ../../Structural/Proxy/README.rst:17 msgid "UML Diagram" -msgstr "UML Диаграмма" +msgstr "UML Diagramm" #: ../../Structural/Proxy/README.rst:24 msgid "Code" -msgstr "Код" +msgstr "Code" #: ../../Structural/Proxy/README.rst:26 msgid "You can also find these code on `GitHub`_" -msgstr "Вы можете найти этот код на `GitHub`_" +msgstr "Du findest den Code auch auf `GitHub`_" #: ../../Structural/Proxy/README.rst:28 msgid "Record.php" @@ -63,4 +63,4 @@ msgstr "RecordProxy.php" #: ../../Structural/Proxy/README.rst:41 msgid "Test" -msgstr "Тест" +msgstr "Теst" diff --git a/locale/de/LC_MESSAGES/Structural/README.po b/locale/de/LC_MESSAGES/Structural/README.po index 3ecfece..1404b66 100644 --- a/locale/de/LC_MESSAGES/Structural/README.po +++ b/locale/de/LC_MESSAGES/Structural/README.po @@ -4,25 +4,25 @@ msgstr "" "Project-Id-Version: DesignPatternsPHP 1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-29 12:18+0200\n" -"PO-Revision-Date: 2015-05-30 23:27+0300\n" +"PO-Revision-Date: 2016-04-04 08:03+0200\n" "Last-Translator: Dominik Liebler \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: de\n" +"Language-Team: \n" +"X-Generator: Poedit 1.8.7.1\n" #: ../../Structural/README.rst:2 msgid "`Structural`__" -msgstr "" -"`Структурные шаблоны проектирования `_ (`Structural`__)" +msgstr "`Strukturell`__" #: ../../Structural/README.rst:4 msgid "" -"In Software Engineering, Structural Design Patterns are Design Patterns that" -" ease the design by identifying a simple way to realize relationships " +"In Software Engineering, Structural Design Patterns are Design Patterns " +"that ease the design by identifying a simple way to realize relationships " "between entities." msgstr "" -"При разработке программного обеспечения, Структурные шаблоны проектирования " -"упрощают проектирование путем выявления простого способа реализовать " -"отношения между субъектами." +"In der Softwareentwicklung bezeichnet man Strukturelle Muster als die " +"Design Patterns, die das Design vereinfachen, indem sie Beziehungen " +"zwischen Objekten realisieren." diff --git a/locale/de/LC_MESSAGES/Structural/Registry/README.po b/locale/de/LC_MESSAGES/Structural/Registry/README.po index 92e2d6e..b890133 100644 --- a/locale/de/LC_MESSAGES/Structural/Registry/README.po +++ b/locale/de/LC_MESSAGES/Structural/Registry/README.po @@ -4,20 +4,22 @@ msgstr "" "Project-Id-Version: DesignPatternsPHP 1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-29 12:18+0200\n" -"PO-Revision-Date: 2015-06-02 01:36+0300\n" +"PO-Revision-Date: 2016-04-04 08:02+0200\n" "Last-Translator: Dominik Liebler \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: de\n" +"Language-Team: \n" +"X-Generator: Poedit 1.8.7.1\n" #: ../../Structural/Registry/README.rst:2 msgid "`Registry`__" -msgstr "Реестр (Registry)" +msgstr "`Registry`__" #: ../../Structural/Registry/README.rst:5 msgid "Purpose" -msgstr "Назначение" +msgstr "Zweck" #: ../../Structural/Registry/README.rst:7 msgid "" @@ -25,41 +27,42 @@ msgid "" "application, is typically implemented using an abstract class with only " "static methods (or using the Singleton pattern)" msgstr "" -"Для реализации централизованного хранения объектов, часто используемых " -"во всем приложении, как правило, реализуется с помощью абстрактного " -"класса с только статическими методами (или с помощью шаблона Singleton)." +"Einen zentralen Speicher für Objekte zu implementieren, die oft " +"innerhalb der Anwendung benötigt werden. Wird üblicherweise als " +"abstrakte Klasse mit statischen Methoden (oder als Singleton) " +"implementiert" #: ../../Structural/Registry/README.rst:12 msgid "Examples" -msgstr "Примеры" +msgstr "Beispiele" #: ../../Structural/Registry/README.rst:14 msgid "" "Zend Framework: ``Zend_Registry`` holds the application's logger object, " "front controller etc." msgstr "" -"Zend Framework: ``Zend_Registry`` содержит объект журналирования " -"приложения (логгер), фронт-контроллер и т.д." +"Zend Framework: ``Zend_Registry`` hält die zentralen Objekte der " +"Anwendung: z.B. Logger oder Front Controller" #: ../../Structural/Registry/README.rst:16 msgid "" "Yii Framework: ``CWebApplication`` holds all the application components, " "such as ``CWebUser``, ``CUrlManager``, etc." msgstr "" -"Yii Framework: ``CWebApplication`` содержит все компоненты приложения, " -"такие как ``CWebUser``, ``CUrlManager``, и т.д." +"Yii Framework: ``CWebApplication`` hält alle Anwendungskomponenten, wie " +"z.B.``CWebUser``, ``CUrlManager``, etc." #: ../../Structural/Registry/README.rst:20 msgid "UML Diagram" -msgstr "UML Диаграмма" +msgstr "UML Diagramm" #: ../../Structural/Registry/README.rst:27 msgid "Code" -msgstr "Код" +msgstr "Code" #: ../../Structural/Registry/README.rst:29 msgid "You can also find these code on `GitHub`_" -msgstr "Вы можете найти этот код на `GitHub`_" +msgstr "Du findest den Code auch auf `GitHub`_" #: ../../Structural/Registry/README.rst:31 msgid "Registry.php" @@ -67,7 +70,7 @@ msgstr "Registry.php" #: ../../Structural/Registry/README.rst:38 msgid "Test" -msgstr "Тест" +msgstr "Теst" #: ../../Structural/Registry/README.rst:40 msgid "Tests/RegistryTest.php" From c71fc4c26dd7a6e9c3fdf955a23f0f4f2ed3522f Mon Sep 17 00:00:00 2001 From: Dominik Liebler Date: Mon, 4 Apr 2016 08:14:04 +0200 Subject: [PATCH 16/35] translated More --- .../de/LC_MESSAGES/More/Delegation/README.po | 20 ++++--- locale/de/LC_MESSAGES/More/README.po | 6 +- .../de/LC_MESSAGES/More/Repository/README.po | 36 +++++------ .../LC_MESSAGES/More/ServiceLocator/README.po | 59 ++++++++++--------- 4 files changed, 64 insertions(+), 57 deletions(-) diff --git a/locale/de/LC_MESSAGES/More/Delegation/README.po b/locale/de/LC_MESSAGES/More/Delegation/README.po index c33f3dc..be8af51 100644 --- a/locale/de/LC_MESSAGES/More/Delegation/README.po +++ b/locale/de/LC_MESSAGES/More/Delegation/README.po @@ -4,40 +4,42 @@ msgstr "" "Project-Id-Version: DesignPatternsPHP 1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-29 12:18+0200\n" -"PO-Revision-Date: 2015-05-30 04:46+0300\n" +"PO-Revision-Date: 2016-04-04 08:05+0200\n" "Last-Translator: Dominik Liebler \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: de\n" +"Language-Team: \n" +"X-Generator: Poedit 1.8.7.1\n" #: ../../More/Delegation/README.rst:2 msgid "`Delegation`__" -msgstr "`Делегирование `_ (`Delegation`__)" +msgstr "`Delegation`__" #: ../../More/Delegation/README.rst:5 msgid "Purpose" -msgstr "Назначение" +msgstr "Zweck" #: ../../More/Delegation/README.rst:7 ../../More/Delegation/README.rst:12 msgid "..." -msgstr "Основной шаблон проектирования, в котором объект внешне выражает некоторое поведение, но в реальности передаёт ответственность за выполнение этого поведения связанному объекту. Шаблон делегирования является фундаментальной абстракцией, на основе которой реализованы другие шаблоны - композиция (также называемая агрегацией), примеси (mixins) и аспекты (aspects). (c) wiki" +msgstr "..." #: ../../More/Delegation/README.rst:10 msgid "Examples" -msgstr "Примеры" +msgstr "Beispiele" #: ../../More/Delegation/README.rst:15 msgid "UML Diagram" -msgstr "UML Диаграмма" +msgstr "UML Diagramm" #: ../../More/Delegation/README.rst:22 msgid "Code" -msgstr "Код" +msgstr "Code" #: ../../More/Delegation/README.rst:24 msgid "You can also find these code on `GitHub`_" -msgstr "Вы можете найти этот код на `GitHub`_" +msgstr "Du findest den Code auch auf `GitHub`_" #: ../../More/Delegation/README.rst:26 msgid "Usage.php" @@ -53,7 +55,7 @@ msgstr "JuniorDeveloper.php" #: ../../More/Delegation/README.rst:45 msgid "Test" -msgstr "Тест" +msgstr "Теst" #: ../../More/Delegation/README.rst:47 msgid "Tests/DelegationTest.php" diff --git a/locale/de/LC_MESSAGES/More/README.po b/locale/de/LC_MESSAGES/More/README.po index 24d65fc..a733fa2 100644 --- a/locale/de/LC_MESSAGES/More/README.po +++ b/locale/de/LC_MESSAGES/More/README.po @@ -4,13 +4,15 @@ msgstr "" "Project-Id-Version: DesignPatternsPHP 1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-29 12:18+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: 2016-04-04 08:13+0200\n" "Last-Translator: Dominik Liebler \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: de\n" +"Language-Team: \n" +"X-Generator: Poedit 1.8.7.1\n" #: ../../More/README.rst:2 msgid "More" -msgstr "Дополнительно" +msgstr "Weitere" diff --git a/locale/de/LC_MESSAGES/More/Repository/README.po b/locale/de/LC_MESSAGES/More/Repository/README.po index 5b9ec98..c323575 100644 --- a/locale/de/LC_MESSAGES/More/Repository/README.po +++ b/locale/de/LC_MESSAGES/More/Repository/README.po @@ -4,20 +4,22 @@ msgstr "" "Project-Id-Version: DesignPatternsPHP 1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-29 12:18+0200\n" -"PO-Revision-Date: 2015-05-30 05:02+0300\n" +"PO-Revision-Date: 2016-04-04 08:09+0200\n" "Last-Translator: Dominik Liebler \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: de\n" +"Language-Team: \n" +"X-Generator: Poedit 1.8.7.1\n" #: ../../More/Repository/README.rst:2 msgid "Repository" -msgstr "Хранилище (Repository)" +msgstr "Repository" #: ../../More/Repository/README.rst:5 msgid "Purpose" -msgstr "Назначение" +msgstr "Zweck" #: ../../More/Repository/README.rst:7 msgid "" @@ -28,25 +30,25 @@ msgid "" "also supports the objective of achieving a clean separation and one-way " "dependency between the domain and data mapping layers." msgstr "" -"Посредник между уровнями области определения (хранилище) и распределения " -"данных. Использует интерфейс, похожий на коллекции, для доступа к объектам " -"области определения. Репозиторий инкапсулирует набор объектов, сохраняемых " -"в хранилище данных, и операции выполняемые над ними, обеспечивая более " -"объектно-ориентированное представление реальных данных. Репозиторий также " -"преследует цель достижения полного разделения и односторонней зависимости " -"между уровнями области определения и распределения данных." +"Vermittelt zwischen dem Domain- und Data-Mapping-Layer indem es ein " +"Interface wie für eine Collection implementierung, um auf Domainobjekte zu " +"zugreifen. Das Repository kapselt dabei alle persistierten Objekte und die " +"Operationen auf diesen um eine objektorientierte Sicht auf die " +"Persistenzschicht zu implementieren. Das Repository unterstützt damit die " +"saubere Trennung und eine Abhängigkeit in nur eine Richtung von Domain- und " +"Data-Mapping-Layern." #: ../../More/Repository/README.rst:16 msgid "Examples" -msgstr "Примеры" +msgstr "Beispiele" #: ../../More/Repository/README.rst:18 msgid "" "Doctrine 2 ORM: there is Repository that mediates between Entity and DBAL " "and contains methods to retrieve objects" msgstr "" -"Doctrine 2 ORM: в ней есть Repository, который является связующим звеном " -"между Entity и DBAL и содержит методы для получения объектов." +"Doctrine 2 ORM: Repository vermittelt zwischen Entity und DBAL und enthält " +"verschiedene Methoden, um Entities zu erhalten" #: ../../More/Repository/README.rst:20 msgid "Laravel Framework" @@ -54,15 +56,15 @@ msgstr "Laravel Framework" #: ../../More/Repository/README.rst:23 msgid "UML Diagram" -msgstr "UML Диаграмма" +msgstr "UML Diagramm" #: ../../More/Repository/README.rst:30 msgid "Code" -msgstr "Код" +msgstr "Code" #: ../../More/Repository/README.rst:32 msgid "You can also find these code on `GitHub`_" -msgstr "Вы можете найти этот код на `GitHub`_" +msgstr "Du findest den Code auch auf `GitHub`_" #: ../../More/Repository/README.rst:34 msgid "Post.php" @@ -82,4 +84,4 @@ msgstr "MemoryStorage.php" #: ../../More/Repository/README.rst:59 msgid "Test" -msgstr "Тест" +msgstr "Теst" diff --git a/locale/de/LC_MESSAGES/More/ServiceLocator/README.po b/locale/de/LC_MESSAGES/More/ServiceLocator/README.po index 4124706..543b932 100644 --- a/locale/de/LC_MESSAGES/More/ServiceLocator/README.po +++ b/locale/de/LC_MESSAGES/More/ServiceLocator/README.po @@ -4,52 +4,53 @@ msgstr "" "Project-Id-Version: DesignPatternsPHP 1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-29 12:18+0200\n" -"PO-Revision-Date: 2015-05-30 05:14+0300\n" +"PO-Revision-Date: 2016-04-04 08:13+0200\n" "Last-Translator: Dominik Liebler \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: de\n" +"Language-Team: \n" +"X-Generator: Poedit 1.8.7.1\n" #: ../../More/ServiceLocator/README.rst:2 msgid "`Service Locator`__" -msgstr "Локатор Служб (`Service Locator`__)" +msgstr "`Service Locator`__" #: ../../More/ServiceLocator/README.rst:5 msgid "Purpose" -msgstr "Назначение" +msgstr "Zweck" #: ../../More/ServiceLocator/README.rst:7 msgid "" -"To implement a loosely coupled architecture in order to get better testable," -" maintainable and extendable code. DI pattern and Service Locator pattern " -"are an implementation of the Inverse of Control pattern." +"To implement a loosely coupled architecture in order to get better " +"testable, maintainable and extendable code. DI pattern and Service Locator " +"pattern are an implementation of the Inverse of Control pattern." msgstr "" -"Для реализации слабосвязанной архитектуры, чтобы получить хорошо " -"тестируемый, сопровождаемый и расширяемый код. Паттерн Инъекция " -"зависимостей (DI) и паттерн Локатор Служб — это реализация паттерна " -"Инверсия управления (Inversion of Control, IoC)." +"Um eine lose gekoppelte Architektur zu erhalten, die testbar, wartbar und " +"erweiterbar ist. Sowohl das Dependency Injection, als auch das Service " +"Locator Pattern sind Implementierungen des Inverse Of Control Patterns." #: ../../More/ServiceLocator/README.rst:12 msgid "Usage" -msgstr "Использование" +msgstr "Verwendung" #: ../../More/ServiceLocator/README.rst:14 msgid "" -"With ``ServiceLocator`` you can register a service for a given interface. By" -" using the interface you can retrieve the service and use it in the classes " -"of the application without knowing its implementation. You can configure and" -" inject the Service Locator object on bootstrap." +"With ``ServiceLocator`` you can register a service for a given interface. " +"By using the interface you can retrieve the service and use it in the " +"classes of the application without knowing its implementation. You can " +"configure and inject the Service Locator object on bootstrap." msgstr "" -"С ``Локатором Служб`` вы можете зарегистрировать сервис для определенного " -"интерфейса. С помощью интерфейса вы можете получить зарегистрированный " -"сервис и использовать его в классах приложения, не зная его реализацию. Вы " -"можете настроить и внедрить объект Service Locator на начальном этапе " -"сборки приложения." +"Mit dem Service Locator kann ein Service anhand eines Interfaces " +"registriert werden. Mit dem Interface kann dann ein Service erhalten und " +"verwendet werden, ohne dass die Anwendung die genaue Implementierung kennen " +"muss. Der Service Locator selbst kann im Bootstrapping der Anwendung " +"konfiguriert und injiziert werden." #: ../../More/ServiceLocator/README.rst:20 msgid "Examples" -msgstr "Примеры" +msgstr "Beispiele" #: ../../More/ServiceLocator/README.rst:22 msgid "" @@ -57,22 +58,22 @@ msgid "" "the framework(i.e. EventManager, ModuleManager, all custom user services " "provided by modules, etc...)" msgstr "" -"Zend Framework 2 использует Service Locator для создания и совместного " -"использования сервисов, задействованных в фреймворке (т.е. EventManager, " -"ModuleManager, все пользовательские сервисы, предоставляемые модулями, и т." -"д ...)" +"Zend Framework 2 macht intensiven Gebrauch vom Service Locator, um im " +"Framework Services zu erstellen und zu teilen (z.B. EventManager, " +"ModuleManager, alle eigenen Services, die durch Module bereitgestellt " +"werden, usw...)" #: ../../More/ServiceLocator/README.rst:27 msgid "UML Diagram" -msgstr "UML Диаграмма" +msgstr "UML Diagramm" #: ../../More/ServiceLocator/README.rst:34 msgid "Code" -msgstr "Код" +msgstr "Code" #: ../../More/ServiceLocator/README.rst:36 msgid "You can also find these code on `GitHub`_" -msgstr "Вы можете найти этот код на `GitHub`_" +msgstr "Du findest den Code auch auf `GitHub`_" #: ../../More/ServiceLocator/README.rst:38 msgid "ServiceLocatorInterface.php" @@ -100,7 +101,7 @@ msgstr "DatabaseService.php" #: ../../More/ServiceLocator/README.rst:75 msgid "Test" -msgstr "Тест" +msgstr "Теst" #: ../../More/ServiceLocator/README.rst:77 msgid "Tests/ServiceLocatorTest.php" From f4c2808f35b2f716c3d8f2920ace2e9de8d97e0e Mon Sep 17 00:00:00 2001 From: Dominik Liebler Date: Mon, 4 Apr 2016 08:47:18 +0200 Subject: [PATCH 17/35] translated Creational --- .../Creational/AbstractFactory/README.po | 28 +++++----- .../LC_MESSAGES/Creational/Builder/README.po | 36 +++++++------ .../Creational/FactoryMethod/README.po | 35 ++++++------ .../LC_MESSAGES/Creational/Multiton/README.po | 33 ++++++------ .../de/LC_MESSAGES/Creational/Pool/README.po | 53 ++++++++++--------- .../Creational/Prototype/README.po | 29 +++++----- locale/de/LC_MESSAGES/Creational/README.po | 28 +++++----- .../Creational/SimpleFactory/README.po | 33 ++++++------ .../Creational/Singleton/README.po | 44 ++++++++------- .../Creational/StaticFactory/README.po | 36 +++++++------ .../Structural/DependencyInjection/README.po | 6 +-- 11 files changed, 185 insertions(+), 176 deletions(-) diff --git a/locale/de/LC_MESSAGES/Creational/AbstractFactory/README.po b/locale/de/LC_MESSAGES/Creational/AbstractFactory/README.po index 441094c..8b2bca1 100644 --- a/locale/de/LC_MESSAGES/Creational/AbstractFactory/README.po +++ b/locale/de/LC_MESSAGES/Creational/AbstractFactory/README.po @@ -4,22 +4,22 @@ msgstr "" "Project-Id-Version: DesignPatternsPHP 1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-29 12:18+0200\n" -"PO-Revision-Date: 2015-05-30 22:25+0300\n" +"PO-Revision-Date: 2016-04-04 08:20+0200\n" "Last-Translator: Dominik Liebler \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: de\n" +"Language-Team: \n" +"X-Generator: Poedit 1.8.7.1\n" #: ../../Creational/AbstractFactory/README.rst:2 msgid "`Abstract Factory`__" -msgstr "" -"`Абстрактная фабрика `_ (`Abstract Factory`__)" +msgstr "`Abstract Factory`__" #: ../../Creational/AbstractFactory/README.rst:5 msgid "Purpose" -msgstr "Назначение" +msgstr "Zweck" #: ../../Creational/AbstractFactory/README.rst:7 msgid "" @@ -28,23 +28,23 @@ msgid "" "interface. The client of the abstract factory does not care about how these " "objects are created, he just knows how they go together." msgstr "" -"Создать ряд связанных или зависимых объектов без указания их конкретных " -"классов. Обычно создаваемые классы стремятся реализовать один и тот же " -"интерфейс. Клиент абстрактной фабрики не заботится о том, как создаются эти " -"объекты, он просто знает, по каким признакам они взаимосвязаны и как с ними " -"обращаться." +"Um eine Serie von verwandten oder abhängigen Objekten zu erzeugen, ohne " +"deren konkrete Klassen spezifizieren zu müssen. Im Normalfall " +"implementieren alle diese dasselbe Interface. Der Client der abstrakten " +"Fabrik interessiert sich nicht dafür, wie die Objekte erzeugt werden, er " +"weiß nur, wie die Objekte zueinander gehören." #: ../../Creational/AbstractFactory/README.rst:13 msgid "UML Diagram" -msgstr "UML Диаграмма" +msgstr "UML Diagramm" #: ../../Creational/AbstractFactory/README.rst:20 msgid "Code" -msgstr "Код" +msgstr "Code" #: ../../Creational/AbstractFactory/README.rst:22 msgid "You can also find these code on `GitHub`_" -msgstr "Вы можете найти этот код на `GitHub`_" +msgstr "Du findest den Code auch auf `GitHub`_" #: ../../Creational/AbstractFactory/README.rst:24 msgid "AbstractFactory.php" @@ -88,7 +88,7 @@ msgstr "Html/Text.php" #: ../../Creational/AbstractFactory/README.rst:85 msgid "Test" -msgstr "Тест" +msgstr "Теst" #: ../../Creational/AbstractFactory/README.rst:87 msgid "Tests/AbstractFactoryTest.php" diff --git a/locale/de/LC_MESSAGES/Creational/Builder/README.po b/locale/de/LC_MESSAGES/Creational/Builder/README.po index aa92d50..9cb0f96 100644 --- a/locale/de/LC_MESSAGES/Creational/Builder/README.po +++ b/locale/de/LC_MESSAGES/Creational/Builder/README.po @@ -4,54 +4,56 @@ msgstr "" "Project-Id-Version: DesignPatternsPHP 1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-29 12:18+0200\n" -"PO-Revision-Date: 2015-05-30 22:36+0300\n" +"PO-Revision-Date: 2016-04-04 08:22+0200\n" "Last-Translator: Dominik Liebler \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: de\n" +"Language-Team: \n" +"X-Generator: Poedit 1.8.7.1\n" #: ../../Creational/Builder/README.rst:2 msgid "`Builder`__" -msgstr "" -"`Строитель `_ (`Builder`__)" +msgstr "`Builder`__" #: ../../Creational/Builder/README.rst:5 msgid "Purpose" -msgstr "Назначение" +msgstr "Zweck" #: ../../Creational/Builder/README.rst:7 msgid "Builder is an interface that build parts of a complex object." -msgstr "Строитель — это интерфейс для производства частей сложного объекта." +msgstr "Builder ist ein Interface, das Teile eines komplexen Objekts aufbaut." #: ../../Creational/Builder/README.rst:9 msgid "" "Sometimes, if the builder has a better knowledge of what it builds, this " "interface could be an abstract class with default methods (aka adapter)." msgstr "" -"Иногда, если Строитель лучше знает о том, что он строит, этот интерфейс " -"может быть абстрактным классом с методами по-умолчанию (адаптер)." +"Manchmal, wenn der Builder ein gutes Bild davon hat, was er bauen solle, " +"dann kann dieses Interface aus auch einer abstrakten Klasse mit " +"Standardmethoden bestehen (siehe Adapter)." #: ../../Creational/Builder/README.rst:12 msgid "" "If you have a complex inheritance tree for objects, it is logical to have a " "complex inheritance tree for builders too." msgstr "" -"Если у вас есть сложное дерево наследования для объектов, логично иметь " -"сложное дерево наследования и для их строителей." +"Wenn du einen komplexen Vererbungsbaum für ein Objekt hast, ist es nur " +"logisch, dass auch der Builder über eine komplexe Vererbungshierarchie " +"verfügt." #: ../../Creational/Builder/README.rst:15 msgid "" "Note: Builders have often a fluent interface, see the mock builder of " "PHPUnit for example." msgstr "" -"Примечание: Строители могут иметь `текучий интерфейс `_, например, строитель макетов в PHPUnit." +"Hinweis: Builder haben oft auch ein Fluent Interface, siehe z.B. der " +"Mockbuilder in PHPUnit." #: ../../Creational/Builder/README.rst:19 msgid "Examples" -msgstr "Примеры" +msgstr "Beispiele" #: ../../Creational/Builder/README.rst:21 msgid "PHPUnit: Mock Builder" @@ -59,15 +61,15 @@ msgstr "PHPUnit: Mock Builder" #: ../../Creational/Builder/README.rst:24 msgid "UML Diagram" -msgstr "UML Диаграмма" +msgstr "UML Diagramm" #: ../../Creational/Builder/README.rst:31 msgid "Code" -msgstr "Код" +msgstr "Code" #: ../../Creational/Builder/README.rst:33 msgid "You can also find these code on `GitHub`_" -msgstr "Вы можете найти этот код на `GitHub`_" +msgstr "Du findest den Code auch auf `GitHub`_" #: ../../Creational/Builder/README.rst:35 msgid "Director.php" @@ -111,7 +113,7 @@ msgstr "Parts/Door.php" #: ../../Creational/Builder/README.rst:96 msgid "Test" -msgstr "Тест" +msgstr "Теst" #: ../../Creational/Builder/README.rst:98 msgid "Tests/DirectorTest.php" diff --git a/locale/de/LC_MESSAGES/Creational/FactoryMethod/README.po b/locale/de/LC_MESSAGES/Creational/FactoryMethod/README.po index 916f12b..3a533db 100644 --- a/locale/de/LC_MESSAGES/Creational/FactoryMethod/README.po +++ b/locale/de/LC_MESSAGES/Creational/FactoryMethod/README.po @@ -4,65 +4,66 @@ msgstr "" "Project-Id-Version: DesignPatternsPHP 1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-29 12:18+0200\n" -"PO-Revision-Date: 2015-05-30 22:46+0300\n" +"PO-Revision-Date: 2016-04-04 08:25+0200\n" "Last-Translator: Dominik Liebler \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: de\n" +"Language-Team: \n" +"X-Generator: Poedit 1.8.7.1\n" #: ../../Creational/FactoryMethod/README.rst:2 msgid "`Factory Method`__" -msgstr "" -"`Фабричный Метод `_ (`Factory Method`__)" +msgstr "`Factory Method`__" #: ../../Creational/FactoryMethod/README.rst:5 msgid "Purpose" -msgstr "Назначение" +msgstr "Zweck" #: ../../Creational/FactoryMethod/README.rst:7 msgid "" "The good point over the SimpleFactory is you can subclass it to implement " "different ways to create objects" msgstr "" -"Выгодное отличие от SimpleFactory в том, что вы можете вынести реализацию " -"создания объектов в подклассы." +"Der Vorteil gegenüber einer SimpleFactory ist, dass die Factory über eine " +"Kindklasse erweitert werden kann, sodass es verschiedene Wege geben kann, " +"ein Objekt zu erzeugen" #: ../../Creational/FactoryMethod/README.rst:10 msgid "For simple case, this abstract class could be just an interface" msgstr "" -"В простых случаях, этот абстрактный класс может быть только интерфейсом." +"Für einfache Fälle kann statt der abstrakten Klasse auch einfach nur ein " +"Interface existieren" #: ../../Creational/FactoryMethod/README.rst:12 msgid "" "This pattern is a \"real\" Design Pattern because it achieves the " "\"Dependency Inversion Principle\" a.k.a the \"D\" in S.O.L.I.D principles." msgstr "" -"Этот паттерн является «настоящим» Шаблоном Проектирования, потому что он " -"следует «Принципу инверсии зависимостей\" ака \"D\" в `S.O.L.I.D `_." +"Dieses Muster ist ein \"echtes\" Muster, da es das \"D\" in S.O.L.I.D. " +"implementiert, das \"Dependency Inversion Prinzip\"." #: ../../Creational/FactoryMethod/README.rst:15 msgid "" "It means the FactoryMethod class depends on abstractions, not concrete " "classes. This is the real trick compared to SimpleFactory or StaticFactory." msgstr "" -"Это означает, что класс FactoryMethod зависит от абстракций, а не от " -"конкретных классов. Это существенный плюс в сравнении с SimpleFactory или " +"Die FactoryMethod ist abhängig von einer Abstraktion, nicht der konkreten " +"Klasse. Das ist der entscheidende Vorteil gegenüber der SimpleFactory oder " "StaticFactory." #: ../../Creational/FactoryMethod/README.rst:20 msgid "UML Diagram" -msgstr "UML Диаграмма" +msgstr "UML Diagramm" #: ../../Creational/FactoryMethod/README.rst:27 msgid "Code" -msgstr "Код" +msgstr "Code" #: ../../Creational/FactoryMethod/README.rst:29 msgid "You can also find these code on `GitHub`_" -msgstr "Вы можете найти этот код на `GitHub`_" +msgstr "Du findest den Code auch auf `GitHub`_" #: ../../Creational/FactoryMethod/README.rst:31 msgid "FactoryMethod.php" @@ -94,7 +95,7 @@ msgstr "Ferrari.php" #: ../../Creational/FactoryMethod/README.rst:74 msgid "Test" -msgstr "Тест" +msgstr "Теst" #: ../../Creational/FactoryMethod/README.rst:76 msgid "Tests/FactoryMethodTest.php" diff --git a/locale/de/LC_MESSAGES/Creational/Multiton/README.po b/locale/de/LC_MESSAGES/Creational/Multiton/README.po index 509a9c0..70f4c1e 100644 --- a/locale/de/LC_MESSAGES/Creational/Multiton/README.po +++ b/locale/de/LC_MESSAGES/Creational/Multiton/README.po @@ -4,64 +4,63 @@ msgstr "" "Project-Id-Version: DesignPatternsPHP 1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-29 12:18+0200\n" -"PO-Revision-Date: 2015-05-30 22:58+0300\n" +"PO-Revision-Date: 2016-04-04 08:27+0200\n" "Last-Translator: Dominik Liebler \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: de\n" +"Language-Team: \n" +"X-Generator: Poedit 1.8.7.1\n" #: ../../Creational/Multiton/README.rst:2 msgid "Multiton" -msgstr "Пул одиночек (Multiton)" +msgstr "Multiton" #: ../../Creational/Multiton/README.rst:4 msgid "" "**THIS IS CONSIDERED TO BE AN ANTI-PATTERN! FOR BETTER TESTABILITY AND " "MAINTAINABILITY USE DEPENDENCY INJECTION!**" msgstr "" -"**Это считается анти-паттерном! Для лучшей тестируемости и сопровождения " -"кода используйте Инъекцию Зависимости (Dependency Injection)!**" +"**DIESES MUSTER IST EIN ANTI-PATTERN! FÜR BESSERE TESTBARKEIT UND " +"WARTBARKEIT VERWENDE STATTDESSEN DEPENDENCY INJECTION!**" #: ../../Creational/Multiton/README.rst:8 msgid "Purpose" -msgstr "Назначение" +msgstr "Zweck" #: ../../Creational/Multiton/README.rst:10 msgid "" "To have only a list of named instances that are used, like a singleton but " "with n instances." msgstr "" -"Содержит список именованных созданных экземпляров классов, которые в итоге " -"используются как Singleton-ы, но в заданном заранее N-ном количестве." +"stellt eine Liste an benamten Instanzen bereit, genauso wie ein Singleton, " +"aber mit n Instanzen." #: ../../Creational/Multiton/README.rst:14 msgid "Examples" -msgstr "Примеры" +msgstr "Beispiele" #: ../../Creational/Multiton/README.rst:16 msgid "2 DB Connectors, e.g. one for MySQL, the other for SQLite" msgstr "" -"Два объекта для доступа к базам данных, к примеру, один для MySQL, а " -"второй для SQLite" +"zwei Datenbank-Konnektoren, z.B. einer für MySQL, ein anderer für SQLite" #: ../../Creational/Multiton/README.rst:17 msgid "multiple Loggers (one for debug messages, one for errors)" -msgstr "" -"Несколько логгирующих объектов (один для отладочных сообщений, другой для " -"ошибок и т.п.) " +msgstr "mehrere Logger (einer für Debugmeldungen, einer für Fehler)" #: ../../Creational/Multiton/README.rst:20 msgid "UML Diagram" -msgstr "UML Диаграмма" +msgstr "UML Diagramm" #: ../../Creational/Multiton/README.rst:27 msgid "Code" -msgstr "Код" +msgstr "Code" #: ../../Creational/Multiton/README.rst:29 msgid "You can also find these code on `GitHub`_" -msgstr "Вы можете найти этот код на `GitHub`_" +msgstr "Du findest den Code auch auf `GitHub`_" #: ../../Creational/Multiton/README.rst:31 msgid "Multiton.php" @@ -69,4 +68,4 @@ msgstr "Multiton.php" #: ../../Creational/Multiton/README.rst:38 msgid "Test" -msgstr "Тест" +msgstr "Теst" diff --git a/locale/de/LC_MESSAGES/Creational/Pool/README.po b/locale/de/LC_MESSAGES/Creational/Pool/README.po index 8c679b4..9357d4d 100644 --- a/locale/de/LC_MESSAGES/Creational/Pool/README.po +++ b/locale/de/LC_MESSAGES/Creational/Pool/README.po @@ -4,17 +4,18 @@ msgstr "" "Project-Id-Version: DesignPatternsPHP 1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-29 12:18+0200\n" -"PO-Revision-Date: 2015-05-30 23:08+0300\n" +"PO-Revision-Date: 2016-04-04 08:35+0200\n" "Last-Translator: Dominik Liebler \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: de\n" +"Language-Team: \n" +"X-Generator: Poedit 1.8.7.1\n" #: ../../Creational/Pool/README.rst:2 msgid "`Pool`__" -msgstr "" -"`Объектный пул `_ (`Pool`__)" +msgstr "`Pool`__" #: ../../Creational/Pool/README.rst:4 msgid "" @@ -25,25 +26,28 @@ msgid "" "object. When the client has finished, it returns the object, which is a " "specific type of factory object, to the pool rather than destroying it." msgstr "" -"Порождающий паттерн, который предоставляет набор заранее инициализированных " -"объектов, готовых к использованию («пул»), что не требует каждый раз " -"создавать и уничтожать их." +"Das **Objekt Pool Pattern** ist ein Erzeugungsmuster, das ein Set von " +"initialisierten Objekten bereithält - ein \"Pool\" - statt jedesmal ein " +"neues Objekt zu erzeugen und wieder zu zerstören bei Bedarf. Der Client des " +"Pools fragt ein Objekt an und erhält es von dem Pool, führt alle " +"gewünschten Operationen aus und gibt anschließend das Objekt zurück. Das " +"Objekt selbst ist wie eine spezielle Factory implementiert." #: ../../Creational/Pool/README.rst:11 msgid "" -"Object pooling can offer a significant performance boost in situations where" -" the cost of initializing a class instance is high, the rate of " +"Object pooling can offer a significant performance boost in situations " +"where the cost of initializing a class instance is high, the rate of " "instantiation of a class is high, and the number of instances in use at any " "one time is low. The pooled object is obtained in predictable time when " "creation of the new objects (especially over network) may take variable " "time." msgstr "" -"Хранение объектов в пуле может заметно повысить производительность в " -"ситуациях, когда стоимость инициализации экземпляра класса высока, скорость " -"экземпляра класса высока, а количество одновременно используемых " -"экземпляров в любой момент времени является низкой. Время на извлечение " -"объекта из пула легко прогнозируется, в отличие от создания новых объектов " -"(особенно с сетевым оверхедом), что занимает неопределённое время." +"Dieses Muster kann die Performance einer Anwendung entscheidend verbessern, " +"wenn die Erzeugung von Objekten teuer ist, oft neue Objekte erzeugt werden " +"müssen und die gleichzeitig verwendete Anzahl von Instanzen eher gering " +"ist. Das Objekt im Pool wird in konstanter Zeit erzeugt, wohingegen die " +"Erzeugung neuer Objekte (vorallem über das Netzwerk) variable Zeit in " +"Anspruch nimmt und bei hoher Auslastung zum Problem führen würde." #: ../../Creational/Pool/README.rst:18 msgid "" @@ -53,25 +57,24 @@ msgid "" "simple object pooling (that hold no external resources, but only occupy " "memory) may not be efficient and could decrease performance." msgstr "" -"Однако эти преимущества в основном относится к объектам, которые изначально " -"являются дорогостоящими по времени создания. Например, соединения с базой " -"данных, соединения сокетов, потоков и инициализация больших графических " -"объектов, таких как шрифты или растровые изображения. В некоторых " -"ситуациях, использование простого пула объектов (которые не зависят от " -"внешних ресурсов, а только занимают память) может оказаться неэффективным и " -"приведёт к снижению производительности." +"Diese Vorteile können vorallem bei teuren Objekterzeugungen ausgespielt " +"werden, wie z.B. Datenbankverbindungen, Socketverbindungen, Threads und " +"großen Grafikobjekten wie Schriften oder Bitmaps. In manchen Situationen, " +"in denen Objekte nur Speicher verbrauchen, aber nicht von externen " +"Resourcen abhängig sind, wird das Muster nicht effizient sein und kann " +"stattdessen die Performance beinträchtigen." #: ../../Creational/Pool/README.rst:25 msgid "UML Diagram" -msgstr "UML Диаграмма" +msgstr "UML Diagramm" #: ../../Creational/Pool/README.rst:32 msgid "Code" -msgstr "Код" +msgstr "Code" #: ../../Creational/Pool/README.rst:34 msgid "You can also find these code on `GitHub`_" -msgstr "Вы можете найти этот код на `GitHub`_" +msgstr "Du findest den Code auch auf `GitHub`_" #: ../../Creational/Pool/README.rst:36 msgid "Pool.php" @@ -87,7 +90,7 @@ msgstr "Worker.php" #: ../../Creational/Pool/README.rst:55 msgid "Test" -msgstr "Тест" +msgstr "Теst" #: ../../Creational/Pool/README.rst:57 msgid "Tests/PoolTest.php" diff --git a/locale/de/LC_MESSAGES/Creational/Prototype/README.po b/locale/de/LC_MESSAGES/Creational/Prototype/README.po index f249bce..ea5e199 100644 --- a/locale/de/LC_MESSAGES/Creational/Prototype/README.po +++ b/locale/de/LC_MESSAGES/Creational/Prototype/README.po @@ -4,54 +4,55 @@ msgstr "" "Project-Id-Version: DesignPatternsPHP 1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-29 12:18+0200\n" -"PO-Revision-Date: 2015-05-30 23:13+0300\n" +"PO-Revision-Date: 2016-04-04 08:36+0200\n" "Last-Translator: Dominik Liebler \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: de\n" +"Language-Team: \n" +"X-Generator: Poedit 1.8.7.1\n" #: ../../Creational/Prototype/README.rst:2 msgid "`Prototype`__" -msgstr "" -"`Прототип `_ (`Prototype`__)" +msgstr "`Prototype`__" #: ../../Creational/Prototype/README.rst:5 msgid "Purpose" -msgstr "Назначение" +msgstr "Zweck" #: ../../Creational/Prototype/README.rst:7 msgid "" "To avoid the cost of creating objects the standard way (new Foo()) and " "instead create a prototype and clone it." msgstr "" -"Помогает избежать затрат на создание объектов стандартным способом (new " -"Foo()), а вместо этого создаёт прототип и затем клонирует его." +"Um die Kosten der Erzeugung von Objekten über den normalen Weg (new Foo()) " +"zu vermeiden und stattdessen einen Prototyp zu erzeugen, der bei Bedarf " +"gecloned werden kann." #: ../../Creational/Prototype/README.rst:11 msgid "Examples" -msgstr "Примеры" +msgstr "Beispiele" #: ../../Creational/Prototype/README.rst:13 msgid "" "Large amounts of data (e.g. create 1,000,000 rows in a database at once via " "a ORM)." msgstr "" -"Большие объемы данных (например, создать 1000000 строк в базе данных сразу " -"через ORM)." +"Große Mengen von Daten (z.B. 1 Mio. Zeilen werden in einer Datenbank über " +"ein ORM erzeugt)." #: ../../Creational/Prototype/README.rst:17 msgid "UML Diagram" -msgstr "UML Диаграмма" +msgstr "UML Diagramm" #: ../../Creational/Prototype/README.rst:24 msgid "Code" -msgstr "Код" +msgstr "Code" #: ../../Creational/Prototype/README.rst:26 msgid "You can also find these code on `GitHub`_" -msgstr "Вы можете найти этот код на `GitHub`_" +msgstr "Du findest den Code auch auf `GitHub`_" #: ../../Creational/Prototype/README.rst:28 msgid "index.php" @@ -71,4 +72,4 @@ msgstr "FooBookPrototype.php" #: ../../Creational/Prototype/README.rst:53 msgid "Test" -msgstr "Тест" +msgstr "Теst" diff --git a/locale/de/LC_MESSAGES/Creational/README.po b/locale/de/LC_MESSAGES/Creational/README.po index 7f5c8f8..827bc24 100644 --- a/locale/de/LC_MESSAGES/Creational/README.po +++ b/locale/de/LC_MESSAGES/Creational/README.po @@ -4,28 +4,30 @@ msgstr "" "Project-Id-Version: DesignPatternsPHP 1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-29 12:18+0200\n" -"PO-Revision-Date: 2015-05-30 23:11+0300\n" +"PO-Revision-Date: 2016-04-04 08:39+0200\n" "Last-Translator: Dominik Liebler \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: de\n" +"Language-Team: \n" +"X-Generator: Poedit 1.8.7.1\n" #: ../../Creational/README.rst:2 msgid "`Creational`__" -msgstr "Порождающие шаблоны проектирования (`Creational`__)" +msgstr "`Erzeugung`__" #: ../../Creational/README.rst:4 msgid "" -"In software engineering, creational design patterns are design patterns that" -" deal with object creation mechanisms, trying to create objects in a manner " -"suitable to the situation. The basic form of object creation could result in" -" design problems or added complexity to the design. Creational design " -"patterns solve this problem by somehow controlling this object creation." +"In software engineering, creational design patterns are design patterns " +"that deal with object creation mechanisms, trying to create objects in a " +"manner suitable to the situation. The basic form of object creation could " +"result in design problems or added complexity to the design. Creational " +"design patterns solve this problem by somehow controlling this object " +"creation." msgstr "" -"В разработке программного обеспечения, Порождающие шаблоны проектирования – " -"это паттерны, которые имеют дело с механизмами создания объекта и пытаются " -"создать объекты в порядке, подходящем к ситуации. Обычная форма создания " -"объекта может привести к проблемам проектирования или увеличивать сложность " -"конструкции. Порождающие шаблоны проектирования решают эту проблему, " -"определённым образом контролируя процесс создания объекта." +"In der Softwareentwicklung bezeichnet man die Muster, die neue Objekte in " +"passender Art und Weise erzeugen als Erzeugungsmuster. Die einfache Form " +"der Erzeugung kann in bestimmten Situationen zu Problemen oder erhöhte " +"Komplexität im Design führen. Erzeugungsmuster lösen dieses Problem, in dem " +"sie Objekterzeugung kontrollieren." diff --git a/locale/de/LC_MESSAGES/Creational/SimpleFactory/README.po b/locale/de/LC_MESSAGES/Creational/SimpleFactory/README.po index 6e07bbd..c9f582f 100644 --- a/locale/de/LC_MESSAGES/Creational/SimpleFactory/README.po +++ b/locale/de/LC_MESSAGES/Creational/SimpleFactory/README.po @@ -4,53 +4,56 @@ msgstr "" "Project-Id-Version: DesignPatternsPHP 1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-29 12:18+0200\n" -"PO-Revision-Date: 2015-05-30 23:17+0300\n" +"PO-Revision-Date: 2016-04-04 08:41+0200\n" "Last-Translator: Dominik Liebler \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: de\n" +"Language-Team: \n" +"X-Generator: Poedit 1.8.7.1\n" #: ../../Creational/SimpleFactory/README.rst:2 msgid "Simple Factory" -msgstr "Простая Фабрика (Simple Factory)" +msgstr "Simple Factory" #: ../../Creational/SimpleFactory/README.rst:5 msgid "Purpose" -msgstr "Назначение" +msgstr "Zweck" #: ../../Creational/SimpleFactory/README.rst:7 msgid "SimpleFactory is a simple factory pattern." -msgstr "SimpleFactory в примере ниже, это паттерн «Простая Фабрика»." +msgstr "SimpleFactory ist ein vereinfachtes Factory Muster." #: ../../Creational/SimpleFactory/README.rst:9 msgid "" -"It differs from the static factory because it is NOT static and as you know:" -" static => global => evil!" +"It differs from the static factory because it is NOT static and as you " +"know: static => global => evil!" msgstr "" -"Она отличается от Статической Фабрики тем, что собственно *не является " -"статической*. Потому как вы должны знаеть: статическая => глобальная => зло!" +"Es hebt sich von der Static Factory ab, in dem es KEINE statischen Methoden " +"anbietet, da statische Methoden global verfügbar sind und damit sich " +"Probleme bei z.B. der Testbarkeit ergeben können." #: ../../Creational/SimpleFactory/README.rst:12 msgid "" "Therefore, you can have multiple factories, differently parametrized, you " "can subclass it and you can mock-up it." msgstr "" -"Таким образом, вы можете иметь несколько фабрик, параметризованных " -"различным образом. Вы можете унаследовать их и создавать макеты для " -"тестирования." +"Deshalb kann es mehrere Factories geben, die verschieden parametrisiert " +"werden können und durch Kindklassen erweitert und für Tests gemocked werden " +"können." #: ../../Creational/SimpleFactory/README.rst:16 msgid "UML Diagram" -msgstr "UML Диаграмма" +msgstr "UML Diagramm" #: ../../Creational/SimpleFactory/README.rst:23 msgid "Code" -msgstr "Код" +msgstr "Code" #: ../../Creational/SimpleFactory/README.rst:25 msgid "You can also find these code on `GitHub`_" -msgstr "Вы можете найти этот код на `GitHub`_" +msgstr "Du findest den Code auch auf `GitHub`_" #: ../../Creational/SimpleFactory/README.rst:27 msgid "SimpleFactory.php" @@ -70,7 +73,7 @@ msgstr "Scooter.php" #: ../../Creational/SimpleFactory/README.rst:52 msgid "Test" -msgstr "Тест" +msgstr "Теst" #: ../../Creational/SimpleFactory/README.rst:54 msgid "Tests/SimpleFactoryTest.php" diff --git a/locale/de/LC_MESSAGES/Creational/Singleton/README.po b/locale/de/LC_MESSAGES/Creational/Singleton/README.po index 15c9e62..d96cf09 100644 --- a/locale/de/LC_MESSAGES/Creational/Singleton/README.po +++ b/locale/de/LC_MESSAGES/Creational/Singleton/README.po @@ -4,75 +4,73 @@ msgstr "" "Project-Id-Version: DesignPatternsPHP 1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-29 12:18+0200\n" -"PO-Revision-Date: 2015-05-30 23:20+0300\n" +"PO-Revision-Date: 2016-04-04 08:44+0200\n" "Last-Translator: Dominik Liebler \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: de\n" +"Language-Team: \n" +"X-Generator: Poedit 1.8.7.1\n" #: ../../Creational/Singleton/README.rst:2 msgid "`Singleton`__" -msgstr "" -"`Одиночка `_ (`Singleton`__)" +msgstr "`Singleton`__" #: ../../Creational/Singleton/README.rst:4 msgid "" "**THIS IS CONSIDERED TO BE AN ANTI-PATTERN! FOR BETTER TESTABILITY AND " "MAINTAINABILITY USE DEPENDENCY INJECTION!**" msgstr "" -"**Это считается анти-паттерном! Для лучшей тестируемости и " -"сопровождения кода используйте Инъекцию Зависимости (Dependency " -"Injection)!**" +"**DIESES MUSTER IST EIN ANTI-PATTERN! FÜR BESSERE TESTBARKEIT UND " +"WARTBARKEIT, VERWENDE DAS DEPENDENCY INJECTION MUSTER!**" #: ../../Creational/Singleton/README.rst:8 msgid "Purpose" -msgstr "Назначение" +msgstr "Zweck" #: ../../Creational/Singleton/README.rst:10 msgid "" -"To have only one instance of this object in the application that will handle" -" all calls." +"To have only one instance of this object in the application that will " +"handle all calls." msgstr "" -"Позволяет содержать только один экземпляр объекта в приложении, " -"которое будет обрабатывать все обращения, запрещая создавать новый " -"экземпляр." +"Um nur eine einzelne Instanz eines Objekts in der Anwendung zu verwenden, " +"die alle Aufrufe abarbeitet." #: ../../Creational/Singleton/README.rst:14 msgid "Examples" -msgstr "Примеры" +msgstr "Beispiele" #: ../../Creational/Singleton/README.rst:16 msgid "DB Connector" -msgstr "DB Connector для подключения к базе данных" +msgstr "DB Konnektor" #: ../../Creational/Singleton/README.rst:17 msgid "" "Logger (may also be a Multiton if there are many log files for several " "purposes)" msgstr "" -"Logger (также может быть Multiton если есть много журналов для " -"нескольких целей)" +"Logger (kann auch ein Multiton sein, falls es mehrere Logfiles für " +"verschiedene Zwecke gibt)" #: ../../Creational/Singleton/README.rst:19 msgid "" "Lock file for the application (there is only one in the filesystem ...)" msgstr "" -"Блокировка файла в приложении (есть только один в файловой системе с " -"одновременным доступом к нему)" +"Lock file für die Anwendung (falls diese nur einmal auf dem System laufen " +"darf ...)" #: ../../Creational/Singleton/README.rst:23 msgid "UML Diagram" -msgstr "UML Диаграмма" +msgstr "UML Diagramm" #: ../../Creational/Singleton/README.rst:30 msgid "Code" -msgstr "Код" +msgstr "Code" #: ../../Creational/Singleton/README.rst:32 msgid "You can also find these code on `GitHub`_" -msgstr "Вы можете найти этот код на `GitHub`_" +msgstr "Du findest den Code auch auf `GitHub`_" #: ../../Creational/Singleton/README.rst:34 msgid "Singleton.php" @@ -80,7 +78,7 @@ msgstr "Singleton.php" #: ../../Creational/Singleton/README.rst:41 msgid "Test" -msgstr "Тест" +msgstr "Теst" #: ../../Creational/Singleton/README.rst:43 msgid "Tests/SingletonTest.php" diff --git a/locale/de/LC_MESSAGES/Creational/StaticFactory/README.po b/locale/de/LC_MESSAGES/Creational/StaticFactory/README.po index 805d0ff..995cfd1 100644 --- a/locale/de/LC_MESSAGES/Creational/StaticFactory/README.po +++ b/locale/de/LC_MESSAGES/Creational/StaticFactory/README.po @@ -4,20 +4,22 @@ msgstr "" "Project-Id-Version: DesignPatternsPHP 1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-29 12:18+0200\n" -"PO-Revision-Date: 2015-05-30 23:24+0300\n" +"PO-Revision-Date: 2016-04-04 08:47+0200\n" "Last-Translator: Dominik Liebler \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: de\n" +"Language-Team: \n" +"X-Generator: Poedit 1.8.7.1\n" #: ../../Creational/StaticFactory/README.rst:2 msgid "Static Factory" -msgstr "Статическая Фабрика (Static Factory)" +msgstr "Static Factory" #: ../../Creational/StaticFactory/README.rst:5 msgid "Purpose" -msgstr "Назначение" +msgstr "Zweck" #: ../../Creational/StaticFactory/README.rst:7 msgid "" @@ -27,35 +29,35 @@ msgid "" "method to create all types of objects it can create. It is usually named " "``factory`` or ``build``." msgstr "" -"Подобно AbstractFactory, этот паттерн используется для создания ряда " -"связанных или зависимых объектов. Разница между этим шаблоном и Абстрактной " -"Фабрикой заключается в том, что Статическая Фабрика использует только один " -"статический метод, чтобы создать все допустимые типы объектов. Этот метод, " -"обычно, называется ``factory`` или ``build``." +"Ähnlich zur AbstractFactory wird dieses Pattern dafür verwendet, eine Serie " +"von Objekten zu erzeugen, die zueinander in Beziehung stehen oder " +"voneinander abhängig sind. Der Unterschied liegt darin, dass die Static " +"Factory nur eine statische Methode zur Verfügung stellt, um alle Arten von " +"Objekten zu erzeugen. Diese heißt typischerweise ``factory`` oder ``build``." #: ../../Creational/StaticFactory/README.rst:14 msgid "Examples" -msgstr "Примеры" +msgstr "Beispiele" #: ../../Creational/StaticFactory/README.rst:16 msgid "" -"Zend Framework: ``Zend_Cache_Backend`` or ``_Frontend`` use a factory method" -" create cache backends or frontends" +"Zend Framework: ``Zend_Cache_Backend`` or ``_Frontend`` use a factory " +"method create cache backends or frontends" msgstr "" -"Zend Framework: ``Zend_Cache_Backend`` или ``_Frontend`` использует " -"фабричный метод для создания cache backends или frontends" +"Zend Framework: ``Zend_Cache_Backend`` oder ``_Frontend`` benutzen eine " +"Factory Methode, um Cache Backends oder Frontends zu erzeugen" #: ../../Creational/StaticFactory/README.rst:20 msgid "UML Diagram" -msgstr "UML Диаграмма" +msgstr "UML Diagramm" #: ../../Creational/StaticFactory/README.rst:27 msgid "Code" -msgstr "Код" +msgstr "Code" #: ../../Creational/StaticFactory/README.rst:29 msgid "You can also find these code on `GitHub`_" -msgstr "Вы можете найти этот код на `GitHub`_" +msgstr "Du findest den Code auch auf `GitHub`_" #: ../../Creational/StaticFactory/README.rst:31 msgid "StaticFactory.php" @@ -75,7 +77,7 @@ msgstr "FormatNumber.php" #: ../../Creational/StaticFactory/README.rst:56 msgid "Test" -msgstr "Тест" +msgstr "Теst" #: ../../Creational/StaticFactory/README.rst:58 msgid "Tests/StaticFactoryTest.php" diff --git a/locale/de/LC_MESSAGES/Structural/DependencyInjection/README.po b/locale/de/LC_MESSAGES/Structural/DependencyInjection/README.po index 4bb372c..47ebbfd 100644 --- a/locale/de/LC_MESSAGES/Structural/DependencyInjection/README.po +++ b/locale/de/LC_MESSAGES/Structural/DependencyInjection/README.po @@ -4,7 +4,7 @@ msgstr "" "Project-Id-Version: DesignPatternsPHP 1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-29 12:18+0200\n" -"PO-Revision-Date: 2016-04-04 07:49+0200\n" +"PO-Revision-Date: 2016-04-04 08:17+0200\n" "Last-Translator: Dominik Liebler \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -15,9 +15,7 @@ msgstr "" #: ../../Structural/DependencyInjection/README.rst:2 msgid "`Dependency Injection`__" -msgstr "" -"`Внедрение Зависимости `_ (`Dependency Injection`__)" +msgstr "`Dependency Injection`__" #: ../../Structural/DependencyInjection/README.rst:5 msgid "Purpose" From 3327732fb4a8b958b0457c7eda9d9967d0570c49 Mon Sep 17 00:00:00 2001 From: Dominik Liebler Date: Mon, 4 Apr 2016 13:13:04 +0200 Subject: [PATCH 18/35] addes missing translation for Iterator --- locale/de/LC_MESSAGES/Behavioral/Iterator/README.po | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/locale/de/LC_MESSAGES/Behavioral/Iterator/README.po b/locale/de/LC_MESSAGES/Behavioral/Iterator/README.po index 56e4f7f..622e07d 100644 --- a/locale/de/LC_MESSAGES/Behavioral/Iterator/README.po +++ b/locale/de/LC_MESSAGES/Behavioral/Iterator/README.po @@ -4,18 +4,18 @@ msgstr "" "Project-Id-Version: DesignPatternsPHP 1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-29 12:18+0200\n" -"PO-Revision-Date: 2016-03-29 05:44+0200\n" +"PO-Revision-Date: 2016-04-04 13:12+0200\n" "Last-Translator: Dominik Liebler \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: de\n" "Language-Team: \n" -"X-Generator: Poedit 1.8.7\n" +"X-Generator: Poedit 1.8.7.1\n" #: ../../Behavioral/Iterator/README.rst:2 msgid "`Iterator`__" -msgstr "`Итератор `_ (`Iterator`__)" +msgstr "`Iterator`__" #: ../../Behavioral/Iterator/README.rst:5 msgid "Purpose" @@ -24,6 +24,8 @@ msgstr "Zweck" #: ../../Behavioral/Iterator/README.rst:7 msgid "To make an object iterable and to make it appear like a collection of objects." msgstr "" +"Um ein Objekt iterierbar zu machen und es nach außen aussehen zu lassen wie eine Sammlung von " +"Objekten." #: ../../Behavioral/Iterator/README.rst:11 msgid "Examples" @@ -34,6 +36,8 @@ msgid "" "to process a file line by line by just running over all lines (which have an object " "representation) for a file (which of course is an object, too)" msgstr "" +"Um eine Datei zeilenweise zu verarbeiten, in dem man über die Zeilen iteriert (die selbst auch " +"Objekte sind)" #: ../../Behavioral/Iterator/README.rst:18 msgid "Note" @@ -45,6 +49,9 @@ msgid "" "would want to implement the Countable interface too, to allow ``count($object)`` on your iterable " "object" msgstr "" +"Standard PHP Library (SPL) stellt ein Interface `Iterator` bereit, das zu diesem Zweck bestens " +"geeignet ist. Oftmals sollte man das Countable Interface auch implementieren, um " +"``count($object)`` auf dem Objekt zu erlauben." #: ../../Behavioral/Iterator/README.rst:25 msgid "UML Diagram" From b8e602f66d338d3e9c8b07aa737fd473f5b106c2 Mon Sep 17 00:00:00 2001 From: Dominik Liebler Date: Thu, 7 Apr 2016 08:41:33 +0200 Subject: [PATCH 19/35] fixed CS issues --- Structural/Flyweight/CharacterFlyweight.php | 3 ++- Structural/Flyweight/FlyweightFactory.php | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Structural/Flyweight/CharacterFlyweight.php b/Structural/Flyweight/CharacterFlyweight.php index 43908c1..d10cd03 100644 --- a/Structural/Flyweight/CharacterFlyweight.php +++ b/Structural/Flyweight/CharacterFlyweight.php @@ -19,7 +19,8 @@ class CharacterFlyweight implements FlyweightInterface * Constructor. * @param string $name */ - public function __construct($name) { + public function __construct($name) + { $this->name = $name; } diff --git a/Structural/Flyweight/FlyweightFactory.php b/Structural/Flyweight/FlyweightFactory.php index 5b17a43..6f70372 100644 --- a/Structural/Flyweight/FlyweightFactory.php +++ b/Structural/Flyweight/FlyweightFactory.php @@ -31,6 +31,6 @@ class FlyweightFactory public function totalNumber() { - return sizeof($this->pool); + return sizeof($this->pool); } } From d9d3f1213213ef6659aa1f200ba117d2534d1640 Mon Sep 17 00:00:00 2001 From: Dominik Liebler Date: Thu, 7 Apr 2016 08:53:37 +0200 Subject: [PATCH 20/35] added README.rst to FlyweightFactory --- Structural/Flyweight/FlyweightFactory.php | 5 +++ Structural/Flyweight/README.rst | 51 +++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 Structural/Flyweight/README.rst diff --git a/Structural/Flyweight/FlyweightFactory.php b/Structural/Flyweight/FlyweightFactory.php index 6f70372..a15a07b 100644 --- a/Structural/Flyweight/FlyweightFactory.php +++ b/Structural/Flyweight/FlyweightFactory.php @@ -12,12 +12,14 @@ class FlyweightFactory { /** * Associative store for flyweight objects + * * @var Array */ private $pool = array(); /** * Magic getter + * * @param string $name * @return Flyweight */ @@ -29,6 +31,9 @@ class FlyweightFactory return $this->pool[$name]; } + /** + * @return int + */ public function totalNumber() { return sizeof($this->pool); diff --git a/Structural/Flyweight/README.rst b/Structural/Flyweight/README.rst new file mode 100644 index 0000000..322ebad --- /dev/null +++ b/Structural/Flyweight/README.rst @@ -0,0 +1,51 @@ +`Flyweight`__ +========== + +Purpose +------- + +To minimise memory usage, a Flyweight shares as much as possible memory with similar objects. It +is needed when a large amount of objects is used that don't differ much in state. A common practice is +to hold state in external data structures and pass them to the flyweight object when needed. + +UML Diagram +----------- + +.. image:: uml/uml.png + :alt: Alt Facade UML Diagram + :align: center + +Code +---- + +You can also find these code on `GitHub`_ + +FlyweightInterface.php + +.. literalinclude:: FlyweightInterface.php + :language: php + :linenos: + +CharacterFlyweight.php + +.. literalinclude:: CharacterFlyweight.php + :language: php + :linenos: + +FlyweightFactory.php + +.. literalinclude:: FlyweightFactory.php + :language: php + :linenos: + +Test +---- + +Tests/FlyweightTest.php + +.. literalinclude:: Tests/FlyweightTest.php + :language: php + :linenos: + +.. _`GitHub`: https://github.com/domnikl/DesignPatternsPHP/tree/master/Structural/Flyweight +.. __: https://en.wikipedia.org/wiki/Flyweight_pattern From 3fcf860cf3ed918a6c2289f7f0c37c27c0dfbeea Mon Sep 17 00:00:00 2001 From: Dominik Liebler Date: Thu, 7 Apr 2016 08:59:31 +0200 Subject: [PATCH 21/35] Fixed style --- Structural/Flyweight/CharacterFlyweight.php | 2 +- Structural/Flyweight/FlyweightFactory.php | 5 +++-- Structural/Flyweight/FlyweightInterface.php | 3 +++ 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/Structural/Flyweight/CharacterFlyweight.php b/Structural/Flyweight/CharacterFlyweight.php index d10cd03..d0c6399 100644 --- a/Structural/Flyweight/CharacterFlyweight.php +++ b/Structural/Flyweight/CharacterFlyweight.php @@ -16,7 +16,6 @@ class CharacterFlyweight implements FlyweightInterface private $name; /** - * Constructor. * @param string $name */ public function __construct($name) @@ -27,6 +26,7 @@ class CharacterFlyweight implements FlyweightInterface /** * Clients supply the context-dependent information that the flyweight needs to draw itself * For flyweights representing characters, extrinsic state usually contains e.g. the font + * * @param string $font */ public function draw($font) diff --git a/Structural/Flyweight/FlyweightFactory.php b/Structural/Flyweight/FlyweightFactory.php index a15a07b..c709363 100644 --- a/Structural/Flyweight/FlyweightFactory.php +++ b/Structural/Flyweight/FlyweightFactory.php @@ -12,7 +12,7 @@ class FlyweightFactory { /** * Associative store for flyweight objects - * + * * @var Array */ private $pool = array(); @@ -28,6 +28,7 @@ class FlyweightFactory if (!array_key_exists($name, $this->pool)) { $this->pool[$name] = new CharacterFlyweight($name); } + return $this->pool[$name]; } @@ -36,6 +37,6 @@ class FlyweightFactory */ public function totalNumber() { - return sizeof($this->pool); + return count($this->pool); } } diff --git a/Structural/Flyweight/FlyweightInterface.php b/Structural/Flyweight/FlyweightInterface.php index e48bb8f..023419c 100644 --- a/Structural/Flyweight/FlyweightInterface.php +++ b/Structural/Flyweight/FlyweightInterface.php @@ -7,5 +7,8 @@ namespace DesignPatterns\Structural\Flyweight; */ interface FlyweightInterface { + /** + * @param string $extrinsicState + */ public function draw($extrinsicState); } From acdef3f6e9fd21d23b5b3f7dba9f53ccd984dd30 Mon Sep 17 00:00:00 2001 From: Dominik Liebler Date: Fri, 13 May 2016 10:23:19 +0200 Subject: [PATCH 22/35] fixed return type of RendererInterface --- Structural/Decorator/RenderInJson.php | 6 ++---- Structural/Decorator/RenderInXml.php | 6 ++---- Structural/Decorator/RendererInterface.php | 2 +- 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/Structural/Decorator/RenderInJson.php b/Structural/Decorator/RenderInJson.php index 71943bd..fb9a71e 100644 --- a/Structural/Decorator/RenderInJson.php +++ b/Structural/Decorator/RenderInJson.php @@ -10,12 +10,10 @@ class RenderInJson extends Decorator /** * render data as JSON. * - * @return mixed|string + * @return string */ public function renderData() { - $output = $this->wrapped->renderData(); - - return json_encode($output); + return json_encode($this->wrapped->renderData()); } } diff --git a/Structural/Decorator/RenderInXml.php b/Structural/Decorator/RenderInXml.php index 2eab7ca..f203d53 100644 --- a/Structural/Decorator/RenderInXml.php +++ b/Structural/Decorator/RenderInXml.php @@ -10,17 +10,15 @@ class RenderInXml extends Decorator /** * render data as XML. * - * @return mixed|string + * @return string */ public function renderData() { - $output = $this->wrapped->renderData(); - // do some fancy conversion to xml from array ... $doc = new \DOMDocument(); - foreach ($output as $key => $val) { + foreach ($this->wrapped->renderData() as $key => $val) { $doc->appendChild($doc->createElement($key, $val)); } diff --git a/Structural/Decorator/RendererInterface.php b/Structural/Decorator/RendererInterface.php index 92b00ef..73152b9 100644 --- a/Structural/Decorator/RendererInterface.php +++ b/Structural/Decorator/RendererInterface.php @@ -10,7 +10,7 @@ interface RendererInterface /** * render data. * - * @return mixed + * @return string */ public function renderData(); } From a98e962e507bee46142ca6d5faa7f0b528203ec4 Mon Sep 17 00:00:00 2001 From: Ivan Romanko Date: Wed, 18 May 2016 19:52:18 +0300 Subject: [PATCH 23/35] fixed russian translation --- locale/ru/LC_MESSAGES/Structural/DependencyInjection/README.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/locale/ru/LC_MESSAGES/Structural/DependencyInjection/README.po b/locale/ru/LC_MESSAGES/Structural/DependencyInjection/README.po index 83986ad..15e3f62 100644 --- a/locale/ru/LC_MESSAGES/Structural/DependencyInjection/README.po +++ b/locale/ru/LC_MESSAGES/Structural/DependencyInjection/README.po @@ -85,7 +85,7 @@ msgid "" "objects via a configuration array and inject them where needed (i.e. in " "Controllers)" msgstr "" -"Symfony and Zend Framework 2 уже содержат контейнеры для DI, которые " +"Symfony и Zend Framework 2 уже содержат контейнеры для DI, которые " "создают объекты с помощью массива из конфигурации, и внедряют их в случае " "необходимости (т.е. в Контроллерах)." From 0870927cef964803e1d9772bf4e2f5c18e0c7d83 Mon Sep 17 00:00:00 2001 From: michael chrisco Date: Wed, 25 May 2016 08:07:40 -0700 Subject: [PATCH 24/35] Spelling over Test case --- Structural/Composite/Tests/CompositeTest.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Structural/Composite/Tests/CompositeTest.php b/Structural/Composite/Tests/CompositeTest.php index 510a06b..024cadf 100644 --- a/Structural/Composite/Tests/CompositeTest.php +++ b/Structural/Composite/Tests/CompositeTest.php @@ -23,8 +23,8 @@ class CompositeTest extends \PHPUnit_Framework_TestCase } /** - * The all point of this pattern, a Composite must inherit from the node - * if you want to builld trees. + * The point of this pattern, a Composite must inherit from the node + * if you want to build trees. */ public function testFormImplementsFormEelement() { From 557ac019b13d61a6641266c8928d75f8c8b2fc9a Mon Sep 17 00:00:00 2001 From: shangguokan Date: Sat, 4 Jun 2016 01:16:55 +0200 Subject: [PATCH 25/35] update all .po files --- More/README.rst | 1 + README.md | 1 + README.rst | 2 +- Structural/Flyweight/README.rst | 2 +- Structural/README.md | 1 + Structural/README.rst | 1 + .../LC_MESSAGES/Behavioral/Mediator/README.po | 4 +- .../LC_MESSAGES/Behavioral/Memento/README.po | 113 ++++--- .../ca/LC_MESSAGES/More/Delegation/README.po | 30 +- locale/ca/LC_MESSAGES/More/EAV/README.po | 78 +++++ locale/ca/LC_MESSAGES/README.po | 2 +- .../Structural/Flyweight/README.po | 69 +++++ .../LC_MESSAGES/Structural/Registry/README.po | 4 +- .../LC_MESSAGES/Behavioral/Mediator/README.po | 6 +- .../LC_MESSAGES/Behavioral/Memento/README.po | 253 ++++++++++++---- .../de/LC_MESSAGES/More/Delegation/README.po | 60 ++-- locale/de/LC_MESSAGES/More/EAV/README.po | 78 +++++ locale/de/LC_MESSAGES/README.po | 4 +- .../Structural/Flyweight/README.po | 69 +++++ .../LC_MESSAGES/Structural/Registry/README.po | 6 +- .../LC_MESSAGES/Behavioral/Mediator/README.po | 4 +- .../LC_MESSAGES/Behavioral/Memento/README.po | 200 ++++++++++--- .../es/LC_MESSAGES/More/Delegation/README.po | 30 +- locale/es/LC_MESSAGES/More/EAV/README.po | 78 +++++ locale/es/LC_MESSAGES/README.po | 4 +- .../Structural/Flyweight/README.po | 69 +++++ .../LC_MESSAGES/Structural/Registry/README.po | 4 +- .../LC_MESSAGES/Behavioral/Mediator/README.po | 4 +- .../LC_MESSAGES/Behavioral/Memento/README.po | 200 ++++++++++--- .../LC_MESSAGES/More/Delegation/README.po | 32 +- locale/pt_BR/LC_MESSAGES/More/EAV/README.po | 78 +++++ locale/pt_BR/LC_MESSAGES/README.po | 4 +- .../Structural/Flyweight/README.po | 69 +++++ .../LC_MESSAGES/Structural/Registry/README.po | 4 +- .../LC_MESSAGES/Behavioral/Mediator/README.po | 6 +- .../LC_MESSAGES/Behavioral/Memento/README.po | 282 +++++++++++++----- .../ru/LC_MESSAGES/More/Delegation/README.po | 120 ++++++-- locale/ru/LC_MESSAGES/More/EAV/README.po | 78 +++++ locale/ru/LC_MESSAGES/README.po | 4 +- .../Structural/Flyweight/README.po | 69 +++++ .../LC_MESSAGES/Structural/Registry/README.po | 6 +- .../LC_MESSAGES/Behavioral/Mediator/README.po | 4 +- .../LC_MESSAGES/Behavioral/Memento/README.po | 133 ++++----- .../LC_MESSAGES/More/Delegation/README.po | 45 +-- locale/zh_CN/LC_MESSAGES/More/EAV/README.po | 78 +++++ locale/zh_CN/LC_MESSAGES/README.po | 4 +- .../Structural/Flyweight/README.po | 69 +++++ .../LC_MESSAGES/Structural/Registry/README.po | 4 +- 48 files changed, 2024 insertions(+), 442 deletions(-) create mode 100644 locale/ca/LC_MESSAGES/More/EAV/README.po create mode 100644 locale/ca/LC_MESSAGES/Structural/Flyweight/README.po create mode 100644 locale/de/LC_MESSAGES/More/EAV/README.po create mode 100644 locale/de/LC_MESSAGES/Structural/Flyweight/README.po create mode 100644 locale/es/LC_MESSAGES/More/EAV/README.po create mode 100644 locale/es/LC_MESSAGES/Structural/Flyweight/README.po create mode 100644 locale/pt_BR/LC_MESSAGES/More/EAV/README.po create mode 100644 locale/pt_BR/LC_MESSAGES/Structural/Flyweight/README.po create mode 100644 locale/ru/LC_MESSAGES/More/EAV/README.po create mode 100644 locale/ru/LC_MESSAGES/Structural/Flyweight/README.po create mode 100644 locale/zh_CN/LC_MESSAGES/More/EAV/README.po create mode 100644 locale/zh_CN/LC_MESSAGES/Structural/Flyweight/README.po diff --git a/More/README.rst b/More/README.rst index dbab1f6..a2de938 100644 --- a/More/README.rst +++ b/More/README.rst @@ -7,3 +7,4 @@ More Delegation/README ServiceLocator/README Repository/README + EAV/README diff --git a/README.md b/README.md index a378e35..9f3bef6 100755 --- a/README.md +++ b/README.md @@ -65,6 +65,7 @@ The patterns can be structured in roughly three different categories. Please cli * [DependencyInjection](Structural/DependencyInjection) [:notebook:](http://en.wikipedia.org/wiki/Dependency_injection) * [Facade](Structural/Facade) [:notebook:](http://en.wikipedia.org/wiki/Facade_pattern) * [FluentInterface](Structural/FluentInterface) [:notebook:](http://en.wikipedia.org/wiki/Fluent_interface) +* [Flyweight](Structural/Flyweight) [:notebook:](https://en.wikipedia.org/wiki/Flyweight_pattern) * [Proxy](Structural/Proxy) [:notebook:](http://en.wikipedia.org/wiki/Proxy_pattern) * [Registry](Structural/Registry) [:notebook:](http://en.wikipedia.org/wiki/Service_locator_pattern) diff --git a/README.rst b/README.rst index 3db54a9..bc32f77 100644 --- a/README.rst +++ b/README.rst @@ -45,7 +45,7 @@ License (The MIT License) -Copyright (c) 2014 `Dominik Liebler`_ and `contributors`_ +Copyright (c) 2011 - 2016 `Dominik Liebler`_ and `contributors`_ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the diff --git a/Structural/Flyweight/README.rst b/Structural/Flyweight/README.rst index 322ebad..dec239b 100644 --- a/Structural/Flyweight/README.rst +++ b/Structural/Flyweight/README.rst @@ -1,5 +1,5 @@ `Flyweight`__ -========== +============= Purpose ------- diff --git a/Structural/README.md b/Structural/README.md index 6def831..40f2c10 100644 --- a/Structural/README.md +++ b/Structural/README.md @@ -12,5 +12,6 @@ entities. * [DependencyInjection](DependencyInjection) [:notebook:](http://en.wikipedia.org/wiki/Dependency_injection) * [Facade](Facade) [:notebook:](http://en.wikipedia.org/wiki/Facade_pattern) * [FluentInterface](FluentInterface) [:notebook:](http://en.wikipedia.org/wiki/Fluent_interface) +* [Flyweight](Flyweight) [:notebook:](https://en.wikipedia.org/wiki/Flyweight_pattern) * [Proxy](Proxy) [:notebook:](http://en.wikipedia.org/wiki/Proxy_pattern) * [Registry](Registry) [:notebook:](http://en.wikipedia.org/wiki/Service_locator_pattern) diff --git a/Structural/README.rst b/Structural/README.rst index fcf7c58..8715963 100644 --- a/Structural/README.rst +++ b/Structural/README.rst @@ -16,6 +16,7 @@ relationships between entities. DependencyInjection/README Facade/README FluentInterface/README + Flyweight/README Proxy/README Registry/README diff --git a/locale/ca/LC_MESSAGES/Behavioral/Mediator/README.po b/locale/ca/LC_MESSAGES/Behavioral/Mediator/README.po index 9c6694b..6474cd1 100644 --- a/locale/ca/LC_MESSAGES/Behavioral/Mediator/README.po +++ b/locale/ca/LC_MESSAGES/Behavioral/Mediator/README.po @@ -21,8 +21,8 @@ msgstr "" #: ../../Behavioral/Mediator/README.rst:7 msgid "" -"This pattern provides an easy to decouple many components working together. " -"It is a good alternative over Observer IF you have a \"central " +"This pattern provides an easy way to decouple many components working " +"together. It is a good alternative to Observer IF you have a \"central " "intelligence\", like a controller (but not in the sense of the MVC)." msgstr "" diff --git a/locale/ca/LC_MESSAGES/Behavioral/Memento/README.po b/locale/ca/LC_MESSAGES/Behavioral/Memento/README.po index 913069a..e92a849 100644 --- a/locale/ca/LC_MESSAGES/Behavioral/Memento/README.po +++ b/locale/ca/LC_MESSAGES/Behavioral/Memento/README.po @@ -1,15 +1,22 @@ -# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015, Dominik Liebler and contributors +# This file is distributed under the same license as the DesignPatternsPHP +# package. +# FIRST AUTHOR , 2016. +# +#, fuzzy msgid "" msgstr "" "Project-Id-Version: DesignPatternsPHP 1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-05-29 12:18+0200\n" +"POT-Creation-Date: 2016-06-03 23:59+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.3.4\n" #: ../../Behavioral/Memento/README.rst:2 msgid "`Memento`__" @@ -21,65 +28,97 @@ msgstr "" #: ../../Behavioral/Memento/README.rst:7 msgid "" -"Provide the ability to restore an object to its previous state (undo via " -"rollback)." +"It provides the ability to restore an object to it's previous state (undo" +" via rollback) or to gain access to state of the object, without " +"revealing it's implementation (i.e., the object is not required to have a" +" functional for return the current state)." msgstr "" -#: ../../Behavioral/Memento/README.rst:10 +#: ../../Behavioral/Memento/README.rst:12 msgid "" -"The memento pattern is implemented with three objects: the originator, a " -"caretaker and a memento. The originator is some object that has an internal " -"state. The caretaker is going to do something to the originator, but wants " -"to be able to undo the change. The caretaker first asks the originator for a" -" memento object. Then it does whatever operation (or sequence of operations)" -" it was going to do. To roll back to the state before the operations, it " -"returns the memento object to the originator. The memento object itself is " -"an opaque object (one which the caretaker cannot, or should not, change). " -"When using this pattern, care should be taken if the originator may change " -"other objects or resources - the memento pattern operates on a single " -"object." +"The memento pattern is implemented with three objects: the Originator, a " +"Caretaker and a Memento." msgstr "" -#: ../../Behavioral/Memento/README.rst:23 +#: ../../Behavioral/Memento/README.rst:15 +msgid "" +"Memento – an object that *contains a concrete unique snapshot of state* " +"of any object or resource: string, number, array, an instance of class " +"and so on. The uniqueness in this case does not imply the prohibition " +"existence of similar states in different snapshots. That means the state " +"can be extracted as the independent clone. Any object stored in the " +"Memento should be *a full copy of the original object rather than a " +"reference* to the original object. The Memento object is a \"opaque " +"object\" (the object that no one can or should change)." +msgstr "" + +#: ../../Behavioral/Memento/README.rst:24 +msgid "" +"Originator – it is an object that contains the *actual state of an " +"external object is strictly specified type*. Originator is able to create" +" a unique copy of this state and return it wrapped in a Memento. The " +"Originator does not know the history of changes. You can set a concrete " +"state to Originator from the outside, which will be considered as actual." +" The Originator must make sure that given state corresponds the allowed " +"type of object. Originator may (but not should) have any methods, but " +"they *they can't make changes to the saved object state*." +msgstr "" + +#: ../../Behavioral/Memento/README.rst:33 +msgid "" +"Caretaker *controls the states history*. He may make changes to an " +"object; take a decision to save the state of an external object in the " +"Originator; ask from the Originator snapshot of the current state; or set" +" the Originator state to equivalence with some snapshot from history." +msgstr "" + +#: ../../Behavioral/Memento/README.rst:39 msgid "Examples" msgstr "" -#: ../../Behavioral/Memento/README.rst:25 +#: ../../Behavioral/Memento/README.rst:41 msgid "The seed of a pseudorandom number generator" msgstr "" -#: ../../Behavioral/Memento/README.rst:26 +#: ../../Behavioral/Memento/README.rst:42 msgid "The state in a finite state machine" msgstr "" -#: ../../Behavioral/Memento/README.rst:29 -msgid "UML Diagram" -msgstr "" - -#: ../../Behavioral/Memento/README.rst:36 -msgid "Code" -msgstr "" - -#: ../../Behavioral/Memento/README.rst:38 -msgid "You can also find these code on `GitHub`_" -msgstr "" - -#: ../../Behavioral/Memento/README.rst:40 -msgid "Memento.php" +#: ../../Behavioral/Memento/README.rst:43 +msgid "" +"Control for intermediate states of `ORM Model " +"`_ before saving" msgstr "" #: ../../Behavioral/Memento/README.rst:46 +msgid "UML Diagram" +msgstr "" + +#: ../../Behavioral/Memento/README.rst:53 +msgid "Code" +msgstr "" + +#: ../../Behavioral/Memento/README.rst:55 +msgid "You can also find these code on `GitHub`_" +msgstr "" + +#: ../../Behavioral/Memento/README.rst:57 +msgid "Memento.php" +msgstr "" + +#: ../../Behavioral/Memento/README.rst:63 msgid "Originator.php" msgstr "" -#: ../../Behavioral/Memento/README.rst:52 +#: ../../Behavioral/Memento/README.rst:69 msgid "Caretaker.php" msgstr "" -#: ../../Behavioral/Memento/README.rst:59 +#: ../../Behavioral/Memento/README.rst:76 msgid "Test" msgstr "" -#: ../../Behavioral/Memento/README.rst:61 +#: ../../Behavioral/Memento/README.rst:78 msgid "Tests/MementoTest.php" msgstr "" + diff --git a/locale/ca/LC_MESSAGES/More/Delegation/README.po b/locale/ca/LC_MESSAGES/More/Delegation/README.po index 169e8fd..ac259f0 100644 --- a/locale/ca/LC_MESSAGES/More/Delegation/README.po +++ b/locale/ca/LC_MESSAGES/More/Delegation/README.po @@ -1,15 +1,22 @@ -# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015, Dominik Liebler and contributors +# This file is distributed under the same license as the DesignPatternsPHP +# package. +# FIRST AUTHOR , 2016. +# +#, fuzzy msgid "" msgstr "" "Project-Id-Version: DesignPatternsPHP 1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-05-29 12:18+0200\n" +"POT-Creation-Date: 2016-06-03 23:59+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.3.4\n" #: ../../More/Delegation/README.rst:2 msgid "`Delegation`__" @@ -19,14 +26,26 @@ msgstr "" msgid "Purpose" msgstr "" -#: ../../More/Delegation/README.rst:7 ../../More/Delegation/README.rst:12 -msgid "..." +#: ../../More/Delegation/README.rst:7 +msgid "" +"Demonstrate the Delegator pattern, where an object, instead of performing" +" one of its stated tasks, delegates that task to an associated helper " +"object. In this case TeamLead professes to writeCode and Usage uses this," +" while TeamLead delegates writeCode to JuniorDeveloper's writeBadCode " +"function. This inverts the responsibility so that Usage is unknowingly " +"executing writeBadCode." msgstr "" #: ../../More/Delegation/README.rst:10 msgid "Examples" msgstr "" +#: ../../More/Delegation/README.rst:12 +msgid "" +"Please review JuniorDeveloper.php, TeamLead.php, and then Usage.php to " +"see it all tied together." +msgstr "" + #: ../../More/Delegation/README.rst:15 msgid "UML Diagram" msgstr "" @@ -58,3 +77,4 @@ msgstr "" #: ../../More/Delegation/README.rst:47 msgid "Tests/DelegationTest.php" msgstr "" + diff --git a/locale/ca/LC_MESSAGES/More/EAV/README.po b/locale/ca/LC_MESSAGES/More/EAV/README.po new file mode 100644 index 0000000..c101913 --- /dev/null +++ b/locale/ca/LC_MESSAGES/More/EAV/README.po @@ -0,0 +1,78 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015, Dominik Liebler and contributors +# This file is distributed under the same license as the DesignPatternsPHP +# package. +# FIRST AUTHOR , 2016. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-06-03 23:59+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.3.4\n" + +#: ../../More/EAV/README.rst:2 +msgid "`Entity-Attribute-Value (EAV)`__" +msgstr "" + +#: ../../More/EAV/README.rst:4 +msgid "" +"The Entity–attribute–value (EAV) pattern in order to implement EAV model " +"with PHP." +msgstr "" + +#: ../../More/EAV/README.rst:7 +msgid "Purpose" +msgstr "" + +#: ../../More/EAV/README.rst:9 +msgid "" +"The Entity–attribute–value (EAV) model is a data model to describe " +"entities where the number of attributes (properties, parameters) that can" +" be used to describe them is potentially vast, but the number that will " +"actually apply to a given entity is relatively modest." +msgstr "" + +#: ../../More/EAV/README.rst:15 +msgid "Examples" +msgstr "" + +#: ../../More/EAV/README.rst:17 +msgid "Check full work example in `example.php`_ file." +msgstr "" + +#: ../../More/EAV/README.rst:90 +msgid "UML Diagram" +msgstr "" + +#: ../../More/EAV/README.rst:97 +msgid "Code" +msgstr "" + +#: ../../More/EAV/README.rst:99 +msgid "You can also find these code on `GitHub`_" +msgstr "" + +#: ../../More/EAV/README.rst:102 +msgid "Test" +msgstr "" + +#: ../../More/EAV/README.rst:104 +msgid "Tests/EntityTest.php" +msgstr "" + +#: ../../More/EAV/README.rst:110 +msgid "Tests/AttributeTest.php" +msgstr "" + +#: ../../More/EAV/README.rst:116 +msgid "Tests/ValueTest.php" +msgstr "" + diff --git a/locale/ca/LC_MESSAGES/README.po b/locale/ca/LC_MESSAGES/README.po index 3a26db2..8588590 100644 --- a/locale/ca/LC_MESSAGES/README.po +++ b/locale/ca/LC_MESSAGES/README.po @@ -62,7 +62,7 @@ msgid "(The MIT License)" msgstr "" #: ../../README.rst:48 -msgid "Copyright (c) 2014 `Dominik Liebler`_ and `contributors`_" +msgid "Copyright (c) 2011 - 2016 `Dominik Liebler`_ and `contributors`_" msgstr "" #: ../../README.rst:50 diff --git a/locale/ca/LC_MESSAGES/Structural/Flyweight/README.po b/locale/ca/LC_MESSAGES/Structural/Flyweight/README.po new file mode 100644 index 0000000..9a8b771 --- /dev/null +++ b/locale/ca/LC_MESSAGES/Structural/Flyweight/README.po @@ -0,0 +1,69 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015, Dominik Liebler and contributors +# This file is distributed under the same license as the DesignPatternsPHP +# package. +# FIRST AUTHOR , 2016. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-06-03 23:59+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.3.4\n" + +#: ../../Structural/Flyweight/README.rst:2 +msgid "`Flyweight`__" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:5 +msgid "Purpose" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:7 +msgid "" +"To minimise memory usage, a Flyweight shares as much as possible memory " +"with similar objects. It is needed when a large amount of objects is used" +" that don't differ much in state. A common practice is to hold state in " +"external data structures and pass them to the flyweight object when " +"needed." +msgstr "" + +#: ../../Structural/Flyweight/README.rst:12 +msgid "UML Diagram" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:19 +msgid "Code" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:21 +msgid "You can also find these code on `GitHub`_" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:23 +msgid "FlyweightInterface.php" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:29 +msgid "CharacterFlyweight.php" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:35 +msgid "FlyweightFactory.php" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:42 +msgid "Test" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:44 +msgid "Tests/FlyweightTest.php" +msgstr "" + diff --git a/locale/ca/LC_MESSAGES/Structural/Registry/README.po b/locale/ca/LC_MESSAGES/Structural/Registry/README.po index 843138c..ddc6079 100644 --- a/locale/ca/LC_MESSAGES/Structural/Registry/README.po +++ b/locale/ca/LC_MESSAGES/Structural/Registry/README.po @@ -32,8 +32,8 @@ msgstr "" #: ../../Structural/Registry/README.rst:14 msgid "" -"Zend Framework: ``Zend_Registry`` holds the application's logger object, " -"front controller etc." +"Zend Framework 1: ``Zend_Registry`` holds the application's logger " +"object, front controller etc." msgstr "" #: ../../Structural/Registry/README.rst:16 diff --git a/locale/de/LC_MESSAGES/Behavioral/Mediator/README.po b/locale/de/LC_MESSAGES/Behavioral/Mediator/README.po index 7735326..bd3e76a 100644 --- a/locale/de/LC_MESSAGES/Behavioral/Mediator/README.po +++ b/locale/de/LC_MESSAGES/Behavioral/Mediator/README.po @@ -23,9 +23,9 @@ msgstr "Zweck" #: ../../Behavioral/Mediator/README.rst:7 msgid "" -"This pattern provides an easy to decouple many components working together. It is a good " -"alternative over Observer IF you have a \"central intelligence\", like a controller (but not in the " -"sense of the MVC)." +"This pattern provides an easy way to decouple many components working " +"together. It is a good alternative to Observer IF you have a \"central " +"intelligence\", like a controller (but not in the sense of the MVC)." msgstr "" "Dieses Muster bietet eine einfache Möglichkeit, viele, miteinander arbeitende Komponenten zu " "entkoppeln. Es ist eine gute Alternative für das Observer-Pattern, wenn du eine „zentrale " diff --git a/locale/de/LC_MESSAGES/Behavioral/Memento/README.po b/locale/de/LC_MESSAGES/Behavioral/Memento/README.po index 9bbe94b..aa8752f 100644 --- a/locale/de/LC_MESSAGES/Behavioral/Memento/README.po +++ b/locale/de/LC_MESSAGES/Behavioral/Memento/README.po @@ -1,100 +1,225 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015, Dominik Liebler and contributors +# This file is distributed under the same license as the DesignPatternsPHP +# package. +# FIRST AUTHOR , 2016. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: DesignPatternsPHP 1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-05-29 12:18+0200\n" -"PO-Revision-Date: 2016-04-03 12:52+0200\n" -"Last-Translator: Dominik Liebler \n" +"POT-Creation-Date: 2016-06-03 23:59+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: de\n" -"Language-Team: \n" -"X-Generator: Poedit 1.8.7\n" +"Generated-By: Babel 2.3.4\n" #: ../../Behavioral/Memento/README.rst:2 msgid "`Memento`__" -msgstr "`Memento`__" +msgstr "" #: ../../Behavioral/Memento/README.rst:5 msgid "Purpose" -msgstr "Zweck" +msgstr "" #: ../../Behavioral/Memento/README.rst:7 msgid "" -"Provide the ability to restore an object to its previous state (undo via " -"rollback)." +"It provides the ability to restore an object to it's previous state (undo" +" via rollback) or to gain access to state of the object, without " +"revealing it's implementation (i.e., the object is not required to have a" +" functional for return the current state)." msgstr "" -"Bietet die Möglichkeit, einen Objektzustand zu einem vorigen Zustand " -"zurückzusetzen (mit Hilfe eines Rollbacks)." -#: ../../Behavioral/Memento/README.rst:10 +#: ../../Behavioral/Memento/README.rst:12 msgid "" -"The memento pattern is implemented with three objects: the originator, a " -"caretaker and a memento. The originator is some object that has an internal " -"state. The caretaker is going to do something to the originator, but wants to " -"be able to undo the change. The caretaker first asks the originator for a " -"memento object. Then it does whatever operation (or sequence of operations) it " -"was going to do. To roll back to the state before the operations, it returns " -"the memento object to the originator. The memento object itself is an opaque " -"object (one which the caretaker cannot, or should not, change). When using " -"this pattern, care should be taken if the originator may change other objects " -"or resources - the memento pattern operates on a single object." +"The memento pattern is implemented with three objects: the Originator, a " +"Caretaker and a Memento." msgstr "" -"Das Memento-Muster wird mit Hilfe von drei Objekten implementiert: der " -"Originalton, ein Caretaker und das Memento. Der Originalton ist ein Objekt, " -"das einen internen State besitzt. Der Caretaker wird etwas mit dem Originalton " -"machen, aber möchte evtl. diese Änderung auch rückgängig machen wollen. Der " -"Caretaker fragt den Originalton zuerst nach dem Memento-Objekt. Dann wird die " -"angefragte Operation (oder Sequenz von Änderungen) ausgeführt. Um diese " -"Änderung zurückzurollen, wird das Memento-Objekt an den Originalton " -"zurückgegeben. Das Memento-Objekt selbst ist intransparent, so dass der " -"Caretaker selbstständig keine Änderungen am Objekt durchführen kann. Bei der " -"Implementierung dieses Musters ist darauf zu achten, dass der Originator auch " -"Seiteneffekte auslösen kann, das Pattern aber nur auf einem einzelnen Objekt " -"operiert." -#: ../../Behavioral/Memento/README.rst:23 +#: ../../Behavioral/Memento/README.rst:15 +msgid "" +"Memento – an object that *contains a concrete unique snapshot of state* " +"of any object or resource: string, number, array, an instance of class " +"and so on. The uniqueness in this case does not imply the prohibition " +"existence of similar states in different snapshots. That means the state " +"can be extracted as the independent clone. Any object stored in the " +"Memento should be *a full copy of the original object rather than a " +"reference* to the original object. The Memento object is a \"opaque " +"object\" (the object that no one can or should change)." +msgstr "" + +#: ../../Behavioral/Memento/README.rst:24 +msgid "" +"Originator – it is an object that contains the *actual state of an " +"external object is strictly specified type*. Originator is able to create" +" a unique copy of this state and return it wrapped in a Memento. The " +"Originator does not know the history of changes. You can set a concrete " +"state to Originator from the outside, which will be considered as actual." +" The Originator must make sure that given state corresponds the allowed " +"type of object. Originator may (but not should) have any methods, but " +"they *they can't make changes to the saved object state*." +msgstr "" + +#: ../../Behavioral/Memento/README.rst:33 +msgid "" +"Caretaker *controls the states history*. He may make changes to an " +"object; take a decision to save the state of an external object in the " +"Originator; ask from the Originator snapshot of the current state; or set" +" the Originator state to equivalence with some snapshot from history." +msgstr "" + +#: ../../Behavioral/Memento/README.rst:39 msgid "Examples" -msgstr "Beispiele" +msgstr "" -#: ../../Behavioral/Memento/README.rst:25 +#: ../../Behavioral/Memento/README.rst:41 msgid "The seed of a pseudorandom number generator" -msgstr "Das seeden eines Pseudozufallszahlengenerators" +msgstr "" -#: ../../Behavioral/Memento/README.rst:26 +#: ../../Behavioral/Memento/README.rst:42 msgid "The state in a finite state machine" -msgstr "Der State in einer FSM (Finite State Machine)" +msgstr "" -#: ../../Behavioral/Memento/README.rst:29 -msgid "UML Diagram" -msgstr "UML-Diagramm" - -#: ../../Behavioral/Memento/README.rst:36 -msgid "Code" -msgstr "Code" - -#: ../../Behavioral/Memento/README.rst:38 -msgid "You can also find these code on `GitHub`_" -msgstr "Du findest den Code hierzu auf `GitHub`_" - -#: ../../Behavioral/Memento/README.rst:40 -msgid "Memento.php" -msgstr "Memento.php" +#: ../../Behavioral/Memento/README.rst:43 +msgid "" +"Control for intermediate states of `ORM Model " +"`_ before saving" +msgstr "" #: ../../Behavioral/Memento/README.rst:46 +msgid "UML Diagram" +msgstr "" + +#: ../../Behavioral/Memento/README.rst:53 +msgid "Code" +msgstr "" + +#: ../../Behavioral/Memento/README.rst:55 +msgid "You can also find these code on `GitHub`_" +msgstr "" + +#: ../../Behavioral/Memento/README.rst:57 +msgid "Memento.php" +msgstr "" + +#: ../../Behavioral/Memento/README.rst:63 msgid "Originator.php" -msgstr "Originator.php" +msgstr "" -#: ../../Behavioral/Memento/README.rst:52 +#: ../../Behavioral/Memento/README.rst:69 msgid "Caretaker.php" -msgstr "Caretaker.php" +msgstr "" -#: ../../Behavioral/Memento/README.rst:59 +#: ../../Behavioral/Memento/README.rst:76 msgid "Test" -msgstr "Test" +msgstr "" -#: ../../Behavioral/Memento/README.rst:61 +#: ../../Behavioral/Memento/README.rst:78 msgid "Tests/MementoTest.php" -msgstr "Tests/MementoTest.php" +msgstr "" + + +#. # +#. msgid "" +#. msgstr "" +#. "Project-Id-Version: DesignPatternsPHP 1.0\n" +#. "Report-Msgid-Bugs-To: \n" +#. "POT-Creation-Date: 2015-05-29 12:18+0200\n" +#. "PO-Revision-Date: 2016-04-03 12:52+0200\n" +#. "Last-Translator: Dominik Liebler \n" +#. "MIME-Version: 1.0\n" +#. "Content-Type: text/plain; charset=UTF-8\n" +#. "Content-Transfer-Encoding: 8bit\n" +#. "Language: de\n" +#. "Language-Team: \n" +#. "X-Generator: Poedit 1.8.7\n" +#. +#. #: ../../Behavioral/Memento/README.rst:2 +#. msgid "`Memento`__" +#. msgstr "`Memento`__" +#. +#. #: ../../Behavioral/Memento/README.rst:5 +#. msgid "Purpose" +#. msgstr "Zweck" +#. +#. #: ../../Behavioral/Memento/README.rst:7 +#. msgid "" +#. "Provide the ability to restore an object to its previous state (undo via " +#. "rollback)." +#. msgstr "" +#. "Bietet die Möglichkeit, einen Objektzustand zu einem vorigen Zustand " +#. "zurückzusetzen (mit Hilfe eines Rollbacks)." +#. +#. #: ../../Behavioral/Memento/README.rst:10 +#. msgid "" +#. "The memento pattern is implemented with three objects: the originator, a " +#. "caretaker and a memento. The originator is some object that has an internal " +#. "state. The caretaker is going to do something to the originator, but wants to " +#. "be able to undo the change. The caretaker first asks the originator for a " +#. "memento object. Then it does whatever operation (or sequence of operations) it " +#. "was going to do. To roll back to the state before the operations, it returns " +#. "the memento object to the originator. The memento object itself is an opaque " +#. "object (one which the caretaker cannot, or should not, change). When using " +#. "this pattern, care should be taken if the originator may change other objects " +#. "or resources - the memento pattern operates on a single object." +#. msgstr "" +#. "Das Memento-Muster wird mit Hilfe von drei Objekten implementiert: der " +#. "Originalton, ein Caretaker und das Memento. Der Originalton ist ein Objekt, " +#. "das einen internen State besitzt. Der Caretaker wird etwas mit dem Originalton " +#. "machen, aber möchte evtl. diese Änderung auch rückgängig machen wollen. Der " +#. "Caretaker fragt den Originalton zuerst nach dem Memento-Objekt. Dann wird die " +#. "angefragte Operation (oder Sequenz von Änderungen) ausgeführt. Um diese " +#. "Änderung zurückzurollen, wird das Memento-Objekt an den Originalton " +#. "zurückgegeben. Das Memento-Objekt selbst ist intransparent, so dass der " +#. "Caretaker selbstständig keine Änderungen am Objekt durchführen kann. Bei der " +#. "Implementierung dieses Musters ist darauf zu achten, dass der Originator auch " +#. "Seiteneffekte auslösen kann, das Pattern aber nur auf einem einzelnen Objekt " +#. "operiert." +#. +#. #: ../../Behavioral/Memento/README.rst:23 +#. msgid "Examples" +#. msgstr "Beispiele" +#. +#. #: ../../Behavioral/Memento/README.rst:25 +#. msgid "The seed of a pseudorandom number generator" +#. msgstr "Das seeden eines Pseudozufallszahlengenerators" +#. +#. #: ../../Behavioral/Memento/README.rst:26 +#. msgid "The state in a finite state machine" +#. msgstr "Der State in einer FSM (Finite State Machine)" +#. +#. #: ../../Behavioral/Memento/README.rst:29 +#. msgid "UML Diagram" +#. msgstr "UML-Diagramm" +#. +#. #: ../../Behavioral/Memento/README.rst:36 +#. msgid "Code" +#. msgstr "Code" +#. +#. #: ../../Behavioral/Memento/README.rst:38 +#. msgid "You can also find these code on `GitHub`_" +#. msgstr "Du findest den Code hierzu auf `GitHub`_" +#. +#. #: ../../Behavioral/Memento/README.rst:40 +#. msgid "Memento.php" +#. msgstr "Memento.php" +#. +#. #: ../../Behavioral/Memento/README.rst:46 +#. msgid "Originator.php" +#. msgstr "Originator.php" +#. +#. #: ../../Behavioral/Memento/README.rst:52 +#. msgid "Caretaker.php" +#. msgstr "Caretaker.php" +#. +#. #: ../../Behavioral/Memento/README.rst:59 +#. msgid "Test" +#. msgstr "Test" +#. +#. #: ../../Behavioral/Memento/README.rst:61 +#. msgid "Tests/MementoTest.php" +#. msgstr "Tests/MementoTest.php" diff --git a/locale/de/LC_MESSAGES/More/Delegation/README.po b/locale/de/LC_MESSAGES/More/Delegation/README.po index be8af51..ac259f0 100644 --- a/locale/de/LC_MESSAGES/More/Delegation/README.po +++ b/locale/de/LC_MESSAGES/More/Delegation/README.po @@ -1,62 +1,80 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015, Dominik Liebler and contributors +# This file is distributed under the same license as the DesignPatternsPHP +# package. +# FIRST AUTHOR , 2016. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: DesignPatternsPHP 1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-05-29 12:18+0200\n" -"PO-Revision-Date: 2016-04-04 08:05+0200\n" -"Last-Translator: Dominik Liebler \n" +"POT-Creation-Date: 2016-06-03 23:59+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: de\n" -"Language-Team: \n" -"X-Generator: Poedit 1.8.7.1\n" +"Generated-By: Babel 2.3.4\n" #: ../../More/Delegation/README.rst:2 msgid "`Delegation`__" -msgstr "`Delegation`__" +msgstr "" #: ../../More/Delegation/README.rst:5 msgid "Purpose" -msgstr "Zweck" +msgstr "" -#: ../../More/Delegation/README.rst:7 ../../More/Delegation/README.rst:12 -msgid "..." -msgstr "..." +#: ../../More/Delegation/README.rst:7 +msgid "" +"Demonstrate the Delegator pattern, where an object, instead of performing" +" one of its stated tasks, delegates that task to an associated helper " +"object. In this case TeamLead professes to writeCode and Usage uses this," +" while TeamLead delegates writeCode to JuniorDeveloper's writeBadCode " +"function. This inverts the responsibility so that Usage is unknowingly " +"executing writeBadCode." +msgstr "" #: ../../More/Delegation/README.rst:10 msgid "Examples" -msgstr "Beispiele" +msgstr "" + +#: ../../More/Delegation/README.rst:12 +msgid "" +"Please review JuniorDeveloper.php, TeamLead.php, and then Usage.php to " +"see it all tied together." +msgstr "" #: ../../More/Delegation/README.rst:15 msgid "UML Diagram" -msgstr "UML Diagramm" +msgstr "" #: ../../More/Delegation/README.rst:22 msgid "Code" -msgstr "Code" +msgstr "" #: ../../More/Delegation/README.rst:24 msgid "You can also find these code on `GitHub`_" -msgstr "Du findest den Code auch auf `GitHub`_" +msgstr "" #: ../../More/Delegation/README.rst:26 msgid "Usage.php" -msgstr "Usage.php" +msgstr "" #: ../../More/Delegation/README.rst:32 msgid "TeamLead.php" -msgstr "TeamLead.php" +msgstr "" #: ../../More/Delegation/README.rst:38 msgid "JuniorDeveloper.php" -msgstr "JuniorDeveloper.php" +msgstr "" #: ../../More/Delegation/README.rst:45 msgid "Test" -msgstr "Теst" +msgstr "" #: ../../More/Delegation/README.rst:47 msgid "Tests/DelegationTest.php" -msgstr "Tests/DelegationTest.php" +msgstr "" + diff --git a/locale/de/LC_MESSAGES/More/EAV/README.po b/locale/de/LC_MESSAGES/More/EAV/README.po new file mode 100644 index 0000000..c101913 --- /dev/null +++ b/locale/de/LC_MESSAGES/More/EAV/README.po @@ -0,0 +1,78 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015, Dominik Liebler and contributors +# This file is distributed under the same license as the DesignPatternsPHP +# package. +# FIRST AUTHOR , 2016. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-06-03 23:59+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.3.4\n" + +#: ../../More/EAV/README.rst:2 +msgid "`Entity-Attribute-Value (EAV)`__" +msgstr "" + +#: ../../More/EAV/README.rst:4 +msgid "" +"The Entity–attribute–value (EAV) pattern in order to implement EAV model " +"with PHP." +msgstr "" + +#: ../../More/EAV/README.rst:7 +msgid "Purpose" +msgstr "" + +#: ../../More/EAV/README.rst:9 +msgid "" +"The Entity–attribute–value (EAV) model is a data model to describe " +"entities where the number of attributes (properties, parameters) that can" +" be used to describe them is potentially vast, but the number that will " +"actually apply to a given entity is relatively modest." +msgstr "" + +#: ../../More/EAV/README.rst:15 +msgid "Examples" +msgstr "" + +#: ../../More/EAV/README.rst:17 +msgid "Check full work example in `example.php`_ file." +msgstr "" + +#: ../../More/EAV/README.rst:90 +msgid "UML Diagram" +msgstr "" + +#: ../../More/EAV/README.rst:97 +msgid "Code" +msgstr "" + +#: ../../More/EAV/README.rst:99 +msgid "You can also find these code on `GitHub`_" +msgstr "" + +#: ../../More/EAV/README.rst:102 +msgid "Test" +msgstr "" + +#: ../../More/EAV/README.rst:104 +msgid "Tests/EntityTest.php" +msgstr "" + +#: ../../More/EAV/README.rst:110 +msgid "Tests/AttributeTest.php" +msgstr "" + +#: ../../More/EAV/README.rst:116 +msgid "Tests/ValueTest.php" +msgstr "" + diff --git a/locale/de/LC_MESSAGES/README.po b/locale/de/LC_MESSAGES/README.po index 3eb7c9c..3cd8baa 100644 --- a/locale/de/LC_MESSAGES/README.po +++ b/locale/de/LC_MESSAGES/README.po @@ -67,8 +67,8 @@ msgid "(The MIT License)" msgstr "(The MIT License)" #: ../../README.rst:48 -msgid "Copyright (c) 2014 `Dominik Liebler`_ and `contributors`_" -msgstr "Copyright (c) 2014 `Dominik Liebler`_ and `contributors`_" +msgid "Copyright (c) 2011 - 2016 `Dominik Liebler`_ and `contributors`_" +msgstr "Copyright (c) 2011 - 2016 `Dominik Liebler`_ and `contributors`_" #: ../../README.rst:50 msgid "" diff --git a/locale/de/LC_MESSAGES/Structural/Flyweight/README.po b/locale/de/LC_MESSAGES/Structural/Flyweight/README.po new file mode 100644 index 0000000..9a8b771 --- /dev/null +++ b/locale/de/LC_MESSAGES/Structural/Flyweight/README.po @@ -0,0 +1,69 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015, Dominik Liebler and contributors +# This file is distributed under the same license as the DesignPatternsPHP +# package. +# FIRST AUTHOR , 2016. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-06-03 23:59+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.3.4\n" + +#: ../../Structural/Flyweight/README.rst:2 +msgid "`Flyweight`__" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:5 +msgid "Purpose" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:7 +msgid "" +"To minimise memory usage, a Flyweight shares as much as possible memory " +"with similar objects. It is needed when a large amount of objects is used" +" that don't differ much in state. A common practice is to hold state in " +"external data structures and pass them to the flyweight object when " +"needed." +msgstr "" + +#: ../../Structural/Flyweight/README.rst:12 +msgid "UML Diagram" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:19 +msgid "Code" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:21 +msgid "You can also find these code on `GitHub`_" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:23 +msgid "FlyweightInterface.php" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:29 +msgid "CharacterFlyweight.php" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:35 +msgid "FlyweightFactory.php" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:42 +msgid "Test" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:44 +msgid "Tests/FlyweightTest.php" +msgstr "" + diff --git a/locale/de/LC_MESSAGES/Structural/Registry/README.po b/locale/de/LC_MESSAGES/Structural/Registry/README.po index b890133..648c0aa 100644 --- a/locale/de/LC_MESSAGES/Structural/Registry/README.po +++ b/locale/de/LC_MESSAGES/Structural/Registry/README.po @@ -38,10 +38,10 @@ msgstr "Beispiele" #: ../../Structural/Registry/README.rst:14 msgid "" -"Zend Framework: ``Zend_Registry`` holds the application's logger object, " -"front controller etc." +"Zend Framework 1: ``Zend_Registry`` holds the application's logger " +"object, front controller etc." msgstr "" -"Zend Framework: ``Zend_Registry`` hält die zentralen Objekte der " +"Zend Framework 1: ``Zend_Registry`` hält die zentralen Objekte der " "Anwendung: z.B. Logger oder Front Controller" #: ../../Structural/Registry/README.rst:16 diff --git a/locale/es/LC_MESSAGES/Behavioral/Mediator/README.po b/locale/es/LC_MESSAGES/Behavioral/Mediator/README.po index 9c6694b..6474cd1 100644 --- a/locale/es/LC_MESSAGES/Behavioral/Mediator/README.po +++ b/locale/es/LC_MESSAGES/Behavioral/Mediator/README.po @@ -21,8 +21,8 @@ msgstr "" #: ../../Behavioral/Mediator/README.rst:7 msgid "" -"This pattern provides an easy to decouple many components working together. " -"It is a good alternative over Observer IF you have a \"central " +"This pattern provides an easy way to decouple many components working " +"together. It is a good alternative to Observer IF you have a \"central " "intelligence\", like a controller (but not in the sense of the MVC)." msgstr "" diff --git a/locale/es/LC_MESSAGES/Behavioral/Memento/README.po b/locale/es/LC_MESSAGES/Behavioral/Memento/README.po index 913069a..9aa14bc 100644 --- a/locale/es/LC_MESSAGES/Behavioral/Memento/README.po +++ b/locale/es/LC_MESSAGES/Behavioral/Memento/README.po @@ -1,15 +1,22 @@ -# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015, Dominik Liebler and contributors +# This file is distributed under the same license as the DesignPatternsPHP +# package. +# FIRST AUTHOR , 2016. +# +#, fuzzy msgid "" msgstr "" "Project-Id-Version: DesignPatternsPHP 1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-05-29 12:18+0200\n" +"POT-Creation-Date: 2016-06-03 23:59+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.3.4\n" #: ../../Behavioral/Memento/README.rst:2 msgid "`Memento`__" @@ -21,65 +28,184 @@ msgstr "" #: ../../Behavioral/Memento/README.rst:7 msgid "" -"Provide the ability to restore an object to its previous state (undo via " -"rollback)." +"It provides the ability to restore an object to it's previous state (undo" +" via rollback) or to gain access to state of the object, without " +"revealing it's implementation (i.e., the object is not required to have a" +" functional for return the current state)." msgstr "" -#: ../../Behavioral/Memento/README.rst:10 +#: ../../Behavioral/Memento/README.rst:12 msgid "" -"The memento pattern is implemented with three objects: the originator, a " -"caretaker and a memento. The originator is some object that has an internal " -"state. The caretaker is going to do something to the originator, but wants " -"to be able to undo the change. The caretaker first asks the originator for a" -" memento object. Then it does whatever operation (or sequence of operations)" -" it was going to do. To roll back to the state before the operations, it " -"returns the memento object to the originator. The memento object itself is " -"an opaque object (one which the caretaker cannot, or should not, change). " -"When using this pattern, care should be taken if the originator may change " -"other objects or resources - the memento pattern operates on a single " -"object." +"The memento pattern is implemented with three objects: the Originator, a " +"Caretaker and a Memento." msgstr "" -#: ../../Behavioral/Memento/README.rst:23 +#: ../../Behavioral/Memento/README.rst:15 +msgid "" +"Memento – an object that *contains a concrete unique snapshot of state* " +"of any object or resource: string, number, array, an instance of class " +"and so on. The uniqueness in this case does not imply the prohibition " +"existence of similar states in different snapshots. That means the state " +"can be extracted as the independent clone. Any object stored in the " +"Memento should be *a full copy of the original object rather than a " +"reference* to the original object. The Memento object is a \"opaque " +"object\" (the object that no one can or should change)." +msgstr "" + +#: ../../Behavioral/Memento/README.rst:24 +msgid "" +"Originator – it is an object that contains the *actual state of an " +"external object is strictly specified type*. Originator is able to create" +" a unique copy of this state and return it wrapped in a Memento. The " +"Originator does not know the history of changes. You can set a concrete " +"state to Originator from the outside, which will be considered as actual." +" The Originator must make sure that given state corresponds the allowed " +"type of object. Originator may (but not should) have any methods, but " +"they *they can't make changes to the saved object state*." +msgstr "" + +#: ../../Behavioral/Memento/README.rst:33 +msgid "" +"Caretaker *controls the states history*. He may make changes to an " +"object; take a decision to save the state of an external object in the " +"Originator; ask from the Originator snapshot of the current state; or set" +" the Originator state to equivalence with some snapshot from history." +msgstr "" + +#: ../../Behavioral/Memento/README.rst:39 msgid "Examples" msgstr "" -#: ../../Behavioral/Memento/README.rst:25 +#: ../../Behavioral/Memento/README.rst:41 msgid "The seed of a pseudorandom number generator" msgstr "" -#: ../../Behavioral/Memento/README.rst:26 +#: ../../Behavioral/Memento/README.rst:42 msgid "The state in a finite state machine" msgstr "" -#: ../../Behavioral/Memento/README.rst:29 -msgid "UML Diagram" -msgstr "" - -#: ../../Behavioral/Memento/README.rst:36 -msgid "Code" -msgstr "" - -#: ../../Behavioral/Memento/README.rst:38 -msgid "You can also find these code on `GitHub`_" -msgstr "" - -#: ../../Behavioral/Memento/README.rst:40 -msgid "Memento.php" +#: ../../Behavioral/Memento/README.rst:43 +msgid "" +"Control for intermediate states of `ORM Model " +"`_ before saving" msgstr "" #: ../../Behavioral/Memento/README.rst:46 +msgid "UML Diagram" +msgstr "" + +#: ../../Behavioral/Memento/README.rst:53 +msgid "Code" +msgstr "" + +#: ../../Behavioral/Memento/README.rst:55 +msgid "You can also find these code on `GitHub`_" +msgstr "" + +#: ../../Behavioral/Memento/README.rst:57 +msgid "Memento.php" +msgstr "" + +#: ../../Behavioral/Memento/README.rst:63 msgid "Originator.php" msgstr "" -#: ../../Behavioral/Memento/README.rst:52 +#: ../../Behavioral/Memento/README.rst:69 msgid "Caretaker.php" msgstr "" -#: ../../Behavioral/Memento/README.rst:59 +#: ../../Behavioral/Memento/README.rst:76 msgid "Test" msgstr "" -#: ../../Behavioral/Memento/README.rst:61 +#: ../../Behavioral/Memento/README.rst:78 msgid "Tests/MementoTest.php" msgstr "" + + + +#. # +#. msgid "" +#. msgstr "" +#. "Project-Id-Version: DesignPatternsPHP 1.0\n" +#. "Report-Msgid-Bugs-To: \n" +#. "POT-Creation-Date: 2015-05-29 12:18+0200\n" +#. "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +#. "Last-Translator: FULL NAME \n" +#. "Language-Team: LANGUAGE \n" +#. "MIME-Version: 1.0\n" +#. "Content-Type: text/plain; charset=UTF-8\n" +#. "Content-Transfer-Encoding: 8bit\n" +#. +#. #: ../../Behavioral/Memento/README.rst:2 +#. msgid "`Memento`__" +#. msgstr "" +#. +#. #: ../../Behavioral/Memento/README.rst:5 +#. msgid "Purpose" +#. msgstr "" +#. +#. #: ../../Behavioral/Memento/README.rst:7 +#. msgid "" +#. "Provide the ability to restore an object to its previous state (undo via " +#. "rollback)." +#. msgstr "" +#. +#. #: ../../Behavioral/Memento/README.rst:10 +#. msgid "" +#. "The memento pattern is implemented with three objects: the originator, a " +#. "caretaker and a memento. The originator is some object that has an internal " +#. "state. The caretaker is going to do something to the originator, but wants " +#. "to be able to undo the change. The caretaker first asks the originator for a" +#. " memento object. Then it does whatever operation (or sequence of operations)" +#. " it was going to do. To roll back to the state before the operations, it " +#. "returns the memento object to the originator. The memento object itself is " +#. "an opaque object (one which the caretaker cannot, or should not, change). " +#. "When using this pattern, care should be taken if the originator may change " +#. "other objects or resources - the memento pattern operates on a single " +#. "object." +#. msgstr "" +#. +#. #: ../../Behavioral/Memento/README.rst:23 +#. msgid "Examples" +#. msgstr "" +#. +#. #: ../../Behavioral/Memento/README.rst:25 +#. msgid "The seed of a pseudorandom number generator" +#. msgstr "" +#. +#. #: ../../Behavioral/Memento/README.rst:26 +#. msgid "The state in a finite state machine" +#. msgstr "" +#. +#. #: ../../Behavioral/Memento/README.rst:29 +#. msgid "UML Diagram" +#. msgstr "" +#. +#. #: ../../Behavioral/Memento/README.rst:36 +#. msgid "Code" +#. msgstr "" +#. +#. #: ../../Behavioral/Memento/README.rst:38 +#. msgid "You can also find these code on `GitHub`_" +#. msgstr "" +#. +#. #: ../../Behavioral/Memento/README.rst:40 +#. msgid "Memento.php" +#. msgstr "" +#. +#. #: ../../Behavioral/Memento/README.rst:46 +#. msgid "Originator.php" +#. msgstr "" +#. +#. #: ../../Behavioral/Memento/README.rst:52 +#. msgid "Caretaker.php" +#. msgstr "" +#. +#. #: ../../Behavioral/Memento/README.rst:59 +#. msgid "Test" +#. msgstr "" +#. +#. #: ../../Behavioral/Memento/README.rst:61 +#. msgid "Tests/MementoTest.php" +#. msgstr "" diff --git a/locale/es/LC_MESSAGES/More/Delegation/README.po b/locale/es/LC_MESSAGES/More/Delegation/README.po index 169e8fd..ac259f0 100644 --- a/locale/es/LC_MESSAGES/More/Delegation/README.po +++ b/locale/es/LC_MESSAGES/More/Delegation/README.po @@ -1,15 +1,22 @@ -# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015, Dominik Liebler and contributors +# This file is distributed under the same license as the DesignPatternsPHP +# package. +# FIRST AUTHOR , 2016. +# +#, fuzzy msgid "" msgstr "" "Project-Id-Version: DesignPatternsPHP 1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-05-29 12:18+0200\n" +"POT-Creation-Date: 2016-06-03 23:59+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.3.4\n" #: ../../More/Delegation/README.rst:2 msgid "`Delegation`__" @@ -19,14 +26,26 @@ msgstr "" msgid "Purpose" msgstr "" -#: ../../More/Delegation/README.rst:7 ../../More/Delegation/README.rst:12 -msgid "..." +#: ../../More/Delegation/README.rst:7 +msgid "" +"Demonstrate the Delegator pattern, where an object, instead of performing" +" one of its stated tasks, delegates that task to an associated helper " +"object. In this case TeamLead professes to writeCode and Usage uses this," +" while TeamLead delegates writeCode to JuniorDeveloper's writeBadCode " +"function. This inverts the responsibility so that Usage is unknowingly " +"executing writeBadCode." msgstr "" #: ../../More/Delegation/README.rst:10 msgid "Examples" msgstr "" +#: ../../More/Delegation/README.rst:12 +msgid "" +"Please review JuniorDeveloper.php, TeamLead.php, and then Usage.php to " +"see it all tied together." +msgstr "" + #: ../../More/Delegation/README.rst:15 msgid "UML Diagram" msgstr "" @@ -58,3 +77,4 @@ msgstr "" #: ../../More/Delegation/README.rst:47 msgid "Tests/DelegationTest.php" msgstr "" + diff --git a/locale/es/LC_MESSAGES/More/EAV/README.po b/locale/es/LC_MESSAGES/More/EAV/README.po new file mode 100644 index 0000000..c101913 --- /dev/null +++ b/locale/es/LC_MESSAGES/More/EAV/README.po @@ -0,0 +1,78 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015, Dominik Liebler and contributors +# This file is distributed under the same license as the DesignPatternsPHP +# package. +# FIRST AUTHOR , 2016. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-06-03 23:59+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.3.4\n" + +#: ../../More/EAV/README.rst:2 +msgid "`Entity-Attribute-Value (EAV)`__" +msgstr "" + +#: ../../More/EAV/README.rst:4 +msgid "" +"The Entity–attribute–value (EAV) pattern in order to implement EAV model " +"with PHP." +msgstr "" + +#: ../../More/EAV/README.rst:7 +msgid "Purpose" +msgstr "" + +#: ../../More/EAV/README.rst:9 +msgid "" +"The Entity–attribute–value (EAV) model is a data model to describe " +"entities where the number of attributes (properties, parameters) that can" +" be used to describe them is potentially vast, but the number that will " +"actually apply to a given entity is relatively modest." +msgstr "" + +#: ../../More/EAV/README.rst:15 +msgid "Examples" +msgstr "" + +#: ../../More/EAV/README.rst:17 +msgid "Check full work example in `example.php`_ file." +msgstr "" + +#: ../../More/EAV/README.rst:90 +msgid "UML Diagram" +msgstr "" + +#: ../../More/EAV/README.rst:97 +msgid "Code" +msgstr "" + +#: ../../More/EAV/README.rst:99 +msgid "You can also find these code on `GitHub`_" +msgstr "" + +#: ../../More/EAV/README.rst:102 +msgid "Test" +msgstr "" + +#: ../../More/EAV/README.rst:104 +msgid "Tests/EntityTest.php" +msgstr "" + +#: ../../More/EAV/README.rst:110 +msgid "Tests/AttributeTest.php" +msgstr "" + +#: ../../More/EAV/README.rst:116 +msgid "Tests/ValueTest.php" +msgstr "" + diff --git a/locale/es/LC_MESSAGES/README.po b/locale/es/LC_MESSAGES/README.po index ddebaed..80021bb 100644 --- a/locale/es/LC_MESSAGES/README.po +++ b/locale/es/LC_MESSAGES/README.po @@ -77,8 +77,8 @@ msgid "(The MIT License)" msgstr "(La licencia MIT)" #: ../../README.rst:48 -msgid "Copyright (c) 2014 `Dominik Liebler`_ and `contributors`_" -msgstr "Copyright (c) 2014 `Dominik Liebler`_ and `contributors`_" +msgid "Copyright (c) 2011 - 2016 `Dominik Liebler`_ and `contributors`_" +msgstr "Copyright (c) 2011 - 2016 `Dominik Liebler`_ and `contributors`_" #: ../../README.rst:50 msgid "" diff --git a/locale/es/LC_MESSAGES/Structural/Flyweight/README.po b/locale/es/LC_MESSAGES/Structural/Flyweight/README.po new file mode 100644 index 0000000..9a8b771 --- /dev/null +++ b/locale/es/LC_MESSAGES/Structural/Flyweight/README.po @@ -0,0 +1,69 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015, Dominik Liebler and contributors +# This file is distributed under the same license as the DesignPatternsPHP +# package. +# FIRST AUTHOR , 2016. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-06-03 23:59+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.3.4\n" + +#: ../../Structural/Flyweight/README.rst:2 +msgid "`Flyweight`__" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:5 +msgid "Purpose" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:7 +msgid "" +"To minimise memory usage, a Flyweight shares as much as possible memory " +"with similar objects. It is needed when a large amount of objects is used" +" that don't differ much in state. A common practice is to hold state in " +"external data structures and pass them to the flyweight object when " +"needed." +msgstr "" + +#: ../../Structural/Flyweight/README.rst:12 +msgid "UML Diagram" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:19 +msgid "Code" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:21 +msgid "You can also find these code on `GitHub`_" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:23 +msgid "FlyweightInterface.php" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:29 +msgid "CharacterFlyweight.php" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:35 +msgid "FlyweightFactory.php" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:42 +msgid "Test" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:44 +msgid "Tests/FlyweightTest.php" +msgstr "" + diff --git a/locale/es/LC_MESSAGES/Structural/Registry/README.po b/locale/es/LC_MESSAGES/Structural/Registry/README.po index 843138c..ddc6079 100644 --- a/locale/es/LC_MESSAGES/Structural/Registry/README.po +++ b/locale/es/LC_MESSAGES/Structural/Registry/README.po @@ -32,8 +32,8 @@ msgstr "" #: ../../Structural/Registry/README.rst:14 msgid "" -"Zend Framework: ``Zend_Registry`` holds the application's logger object, " -"front controller etc." +"Zend Framework 1: ``Zend_Registry`` holds the application's logger " +"object, front controller etc." msgstr "" #: ../../Structural/Registry/README.rst:16 diff --git a/locale/pt_BR/LC_MESSAGES/Behavioral/Mediator/README.po b/locale/pt_BR/LC_MESSAGES/Behavioral/Mediator/README.po index 9c6694b..6474cd1 100644 --- a/locale/pt_BR/LC_MESSAGES/Behavioral/Mediator/README.po +++ b/locale/pt_BR/LC_MESSAGES/Behavioral/Mediator/README.po @@ -21,8 +21,8 @@ msgstr "" #: ../../Behavioral/Mediator/README.rst:7 msgid "" -"This pattern provides an easy to decouple many components working together. " -"It is a good alternative over Observer IF you have a \"central " +"This pattern provides an easy way to decouple many components working " +"together. It is a good alternative to Observer IF you have a \"central " "intelligence\", like a controller (but not in the sense of the MVC)." msgstr "" diff --git a/locale/pt_BR/LC_MESSAGES/Behavioral/Memento/README.po b/locale/pt_BR/LC_MESSAGES/Behavioral/Memento/README.po index 913069a..9aa14bc 100644 --- a/locale/pt_BR/LC_MESSAGES/Behavioral/Memento/README.po +++ b/locale/pt_BR/LC_MESSAGES/Behavioral/Memento/README.po @@ -1,15 +1,22 @@ -# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015, Dominik Liebler and contributors +# This file is distributed under the same license as the DesignPatternsPHP +# package. +# FIRST AUTHOR , 2016. +# +#, fuzzy msgid "" msgstr "" "Project-Id-Version: DesignPatternsPHP 1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-05-29 12:18+0200\n" +"POT-Creation-Date: 2016-06-03 23:59+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.3.4\n" #: ../../Behavioral/Memento/README.rst:2 msgid "`Memento`__" @@ -21,65 +28,184 @@ msgstr "" #: ../../Behavioral/Memento/README.rst:7 msgid "" -"Provide the ability to restore an object to its previous state (undo via " -"rollback)." +"It provides the ability to restore an object to it's previous state (undo" +" via rollback) or to gain access to state of the object, without " +"revealing it's implementation (i.e., the object is not required to have a" +" functional for return the current state)." msgstr "" -#: ../../Behavioral/Memento/README.rst:10 +#: ../../Behavioral/Memento/README.rst:12 msgid "" -"The memento pattern is implemented with three objects: the originator, a " -"caretaker and a memento. The originator is some object that has an internal " -"state. The caretaker is going to do something to the originator, but wants " -"to be able to undo the change. The caretaker first asks the originator for a" -" memento object. Then it does whatever operation (or sequence of operations)" -" it was going to do. To roll back to the state before the operations, it " -"returns the memento object to the originator. The memento object itself is " -"an opaque object (one which the caretaker cannot, or should not, change). " -"When using this pattern, care should be taken if the originator may change " -"other objects or resources - the memento pattern operates on a single " -"object." +"The memento pattern is implemented with three objects: the Originator, a " +"Caretaker and a Memento." msgstr "" -#: ../../Behavioral/Memento/README.rst:23 +#: ../../Behavioral/Memento/README.rst:15 +msgid "" +"Memento – an object that *contains a concrete unique snapshot of state* " +"of any object or resource: string, number, array, an instance of class " +"and so on. The uniqueness in this case does not imply the prohibition " +"existence of similar states in different snapshots. That means the state " +"can be extracted as the independent clone. Any object stored in the " +"Memento should be *a full copy of the original object rather than a " +"reference* to the original object. The Memento object is a \"opaque " +"object\" (the object that no one can or should change)." +msgstr "" + +#: ../../Behavioral/Memento/README.rst:24 +msgid "" +"Originator – it is an object that contains the *actual state of an " +"external object is strictly specified type*. Originator is able to create" +" a unique copy of this state and return it wrapped in a Memento. The " +"Originator does not know the history of changes. You can set a concrete " +"state to Originator from the outside, which will be considered as actual." +" The Originator must make sure that given state corresponds the allowed " +"type of object. Originator may (but not should) have any methods, but " +"they *they can't make changes to the saved object state*." +msgstr "" + +#: ../../Behavioral/Memento/README.rst:33 +msgid "" +"Caretaker *controls the states history*. He may make changes to an " +"object; take a decision to save the state of an external object in the " +"Originator; ask from the Originator snapshot of the current state; or set" +" the Originator state to equivalence with some snapshot from history." +msgstr "" + +#: ../../Behavioral/Memento/README.rst:39 msgid "Examples" msgstr "" -#: ../../Behavioral/Memento/README.rst:25 +#: ../../Behavioral/Memento/README.rst:41 msgid "The seed of a pseudorandom number generator" msgstr "" -#: ../../Behavioral/Memento/README.rst:26 +#: ../../Behavioral/Memento/README.rst:42 msgid "The state in a finite state machine" msgstr "" -#: ../../Behavioral/Memento/README.rst:29 -msgid "UML Diagram" -msgstr "" - -#: ../../Behavioral/Memento/README.rst:36 -msgid "Code" -msgstr "" - -#: ../../Behavioral/Memento/README.rst:38 -msgid "You can also find these code on `GitHub`_" -msgstr "" - -#: ../../Behavioral/Memento/README.rst:40 -msgid "Memento.php" +#: ../../Behavioral/Memento/README.rst:43 +msgid "" +"Control for intermediate states of `ORM Model " +"`_ before saving" msgstr "" #: ../../Behavioral/Memento/README.rst:46 +msgid "UML Diagram" +msgstr "" + +#: ../../Behavioral/Memento/README.rst:53 +msgid "Code" +msgstr "" + +#: ../../Behavioral/Memento/README.rst:55 +msgid "You can also find these code on `GitHub`_" +msgstr "" + +#: ../../Behavioral/Memento/README.rst:57 +msgid "Memento.php" +msgstr "" + +#: ../../Behavioral/Memento/README.rst:63 msgid "Originator.php" msgstr "" -#: ../../Behavioral/Memento/README.rst:52 +#: ../../Behavioral/Memento/README.rst:69 msgid "Caretaker.php" msgstr "" -#: ../../Behavioral/Memento/README.rst:59 +#: ../../Behavioral/Memento/README.rst:76 msgid "Test" msgstr "" -#: ../../Behavioral/Memento/README.rst:61 +#: ../../Behavioral/Memento/README.rst:78 msgid "Tests/MementoTest.php" msgstr "" + + + +#. # +#. msgid "" +#. msgstr "" +#. "Project-Id-Version: DesignPatternsPHP 1.0\n" +#. "Report-Msgid-Bugs-To: \n" +#. "POT-Creation-Date: 2015-05-29 12:18+0200\n" +#. "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +#. "Last-Translator: FULL NAME \n" +#. "Language-Team: LANGUAGE \n" +#. "MIME-Version: 1.0\n" +#. "Content-Type: text/plain; charset=UTF-8\n" +#. "Content-Transfer-Encoding: 8bit\n" +#. +#. #: ../../Behavioral/Memento/README.rst:2 +#. msgid "`Memento`__" +#. msgstr "" +#. +#. #: ../../Behavioral/Memento/README.rst:5 +#. msgid "Purpose" +#. msgstr "" +#. +#. #: ../../Behavioral/Memento/README.rst:7 +#. msgid "" +#. "Provide the ability to restore an object to its previous state (undo via " +#. "rollback)." +#. msgstr "" +#. +#. #: ../../Behavioral/Memento/README.rst:10 +#. msgid "" +#. "The memento pattern is implemented with three objects: the originator, a " +#. "caretaker and a memento. The originator is some object that has an internal " +#. "state. The caretaker is going to do something to the originator, but wants " +#. "to be able to undo the change. The caretaker first asks the originator for a" +#. " memento object. Then it does whatever operation (or sequence of operations)" +#. " it was going to do. To roll back to the state before the operations, it " +#. "returns the memento object to the originator. The memento object itself is " +#. "an opaque object (one which the caretaker cannot, or should not, change). " +#. "When using this pattern, care should be taken if the originator may change " +#. "other objects or resources - the memento pattern operates on a single " +#. "object." +#. msgstr "" +#. +#. #: ../../Behavioral/Memento/README.rst:23 +#. msgid "Examples" +#. msgstr "" +#. +#. #: ../../Behavioral/Memento/README.rst:25 +#. msgid "The seed of a pseudorandom number generator" +#. msgstr "" +#. +#. #: ../../Behavioral/Memento/README.rst:26 +#. msgid "The state in a finite state machine" +#. msgstr "" +#. +#. #: ../../Behavioral/Memento/README.rst:29 +#. msgid "UML Diagram" +#. msgstr "" +#. +#. #: ../../Behavioral/Memento/README.rst:36 +#. msgid "Code" +#. msgstr "" +#. +#. #: ../../Behavioral/Memento/README.rst:38 +#. msgid "You can also find these code on `GitHub`_" +#. msgstr "" +#. +#. #: ../../Behavioral/Memento/README.rst:40 +#. msgid "Memento.php" +#. msgstr "" +#. +#. #: ../../Behavioral/Memento/README.rst:46 +#. msgid "Originator.php" +#. msgstr "" +#. +#. #: ../../Behavioral/Memento/README.rst:52 +#. msgid "Caretaker.php" +#. msgstr "" +#. +#. #: ../../Behavioral/Memento/README.rst:59 +#. msgid "Test" +#. msgstr "" +#. +#. #: ../../Behavioral/Memento/README.rst:61 +#. msgid "Tests/MementoTest.php" +#. msgstr "" diff --git a/locale/pt_BR/LC_MESSAGES/More/Delegation/README.po b/locale/pt_BR/LC_MESSAGES/More/Delegation/README.po index 21a201b..ac259f0 100644 --- a/locale/pt_BR/LC_MESSAGES/More/Delegation/README.po +++ b/locale/pt_BR/LC_MESSAGES/More/Delegation/README.po @@ -1,15 +1,22 @@ -# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015, Dominik Liebler and contributors +# This file is distributed under the same license as the DesignPatternsPHP +# package. +# FIRST AUTHOR , 2016. +# +#, fuzzy msgid "" msgstr "" "Project-Id-Version: DesignPatternsPHP 1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-05-29 12:18+0200\n" +"POT-Creation-Date: 2016-06-03 23:59+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.3.4\n" #: ../../More/Delegation/README.rst:2 msgid "`Delegation`__" @@ -19,17 +26,29 @@ msgstr "" msgid "Purpose" msgstr "" -#: ../../More/Delegation/README.rst:7 ../../More/Delegation/README.rst:12 -msgid "..." +#: ../../More/Delegation/README.rst:7 +msgid "" +"Demonstrate the Delegator pattern, where an object, instead of performing" +" one of its stated tasks, delegates that task to an associated helper " +"object. In this case TeamLead professes to writeCode and Usage uses this," +" while TeamLead delegates writeCode to JuniorDeveloper's writeBadCode " +"function. This inverts the responsibility so that Usage is unknowingly " +"executing writeBadCode." msgstr "" #: ../../More/Delegation/README.rst:10 msgid "Examples" msgstr "" +#: ../../More/Delegation/README.rst:12 +msgid "" +"Please review JuniorDeveloper.php, TeamLead.php, and then Usage.php to " +"see it all tied together." +msgstr "" + #: ../../More/Delegation/README.rst:15 msgid "UML Diagram" -msgstr "Diagrama UML" +msgstr "" #: ../../More/Delegation/README.rst:22 msgid "Code" @@ -58,3 +77,4 @@ msgstr "" #: ../../More/Delegation/README.rst:47 msgid "Tests/DelegationTest.php" msgstr "" + diff --git a/locale/pt_BR/LC_MESSAGES/More/EAV/README.po b/locale/pt_BR/LC_MESSAGES/More/EAV/README.po new file mode 100644 index 0000000..c101913 --- /dev/null +++ b/locale/pt_BR/LC_MESSAGES/More/EAV/README.po @@ -0,0 +1,78 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015, Dominik Liebler and contributors +# This file is distributed under the same license as the DesignPatternsPHP +# package. +# FIRST AUTHOR , 2016. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-06-03 23:59+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.3.4\n" + +#: ../../More/EAV/README.rst:2 +msgid "`Entity-Attribute-Value (EAV)`__" +msgstr "" + +#: ../../More/EAV/README.rst:4 +msgid "" +"The Entity–attribute–value (EAV) pattern in order to implement EAV model " +"with PHP." +msgstr "" + +#: ../../More/EAV/README.rst:7 +msgid "Purpose" +msgstr "" + +#: ../../More/EAV/README.rst:9 +msgid "" +"The Entity–attribute–value (EAV) model is a data model to describe " +"entities where the number of attributes (properties, parameters) that can" +" be used to describe them is potentially vast, but the number that will " +"actually apply to a given entity is relatively modest." +msgstr "" + +#: ../../More/EAV/README.rst:15 +msgid "Examples" +msgstr "" + +#: ../../More/EAV/README.rst:17 +msgid "Check full work example in `example.php`_ file." +msgstr "" + +#: ../../More/EAV/README.rst:90 +msgid "UML Diagram" +msgstr "" + +#: ../../More/EAV/README.rst:97 +msgid "Code" +msgstr "" + +#: ../../More/EAV/README.rst:99 +msgid "You can also find these code on `GitHub`_" +msgstr "" + +#: ../../More/EAV/README.rst:102 +msgid "Test" +msgstr "" + +#: ../../More/EAV/README.rst:104 +msgid "Tests/EntityTest.php" +msgstr "" + +#: ../../More/EAV/README.rst:110 +msgid "Tests/AttributeTest.php" +msgstr "" + +#: ../../More/EAV/README.rst:116 +msgid "Tests/ValueTest.php" +msgstr "" + diff --git a/locale/pt_BR/LC_MESSAGES/README.po b/locale/pt_BR/LC_MESSAGES/README.po index a10ea0b..ab971d8 100644 --- a/locale/pt_BR/LC_MESSAGES/README.po +++ b/locale/pt_BR/LC_MESSAGES/README.po @@ -78,8 +78,8 @@ msgid "(The MIT License)" msgstr "(The MIT License)" #: ../../README.rst:48 -msgid "Copyright (c) 2014 `Dominik Liebler`_ and `contributors`_" -msgstr "Copyright (c) 2014 `Dominik Liebler`_ and `contributors`_" +msgid "Copyright (c) 2011 - 2016 `Dominik Liebler`_ and `contributors`_" +msgstr "Copyright (c) 2011 - 2016 `Dominik Liebler`_ and `contributors`_" #: ../../README.rst:50 msgid "" diff --git a/locale/pt_BR/LC_MESSAGES/Structural/Flyweight/README.po b/locale/pt_BR/LC_MESSAGES/Structural/Flyweight/README.po new file mode 100644 index 0000000..9a8b771 --- /dev/null +++ b/locale/pt_BR/LC_MESSAGES/Structural/Flyweight/README.po @@ -0,0 +1,69 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015, Dominik Liebler and contributors +# This file is distributed under the same license as the DesignPatternsPHP +# package. +# FIRST AUTHOR , 2016. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-06-03 23:59+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.3.4\n" + +#: ../../Structural/Flyweight/README.rst:2 +msgid "`Flyweight`__" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:5 +msgid "Purpose" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:7 +msgid "" +"To minimise memory usage, a Flyweight shares as much as possible memory " +"with similar objects. It is needed when a large amount of objects is used" +" that don't differ much in state. A common practice is to hold state in " +"external data structures and pass them to the flyweight object when " +"needed." +msgstr "" + +#: ../../Structural/Flyweight/README.rst:12 +msgid "UML Diagram" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:19 +msgid "Code" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:21 +msgid "You can also find these code on `GitHub`_" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:23 +msgid "FlyweightInterface.php" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:29 +msgid "CharacterFlyweight.php" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:35 +msgid "FlyweightFactory.php" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:42 +msgid "Test" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:44 +msgid "Tests/FlyweightTest.php" +msgstr "" + diff --git a/locale/pt_BR/LC_MESSAGES/Structural/Registry/README.po b/locale/pt_BR/LC_MESSAGES/Structural/Registry/README.po index 843138c..ddc6079 100644 --- a/locale/pt_BR/LC_MESSAGES/Structural/Registry/README.po +++ b/locale/pt_BR/LC_MESSAGES/Structural/Registry/README.po @@ -32,8 +32,8 @@ msgstr "" #: ../../Structural/Registry/README.rst:14 msgid "" -"Zend Framework: ``Zend_Registry`` holds the application's logger object, " -"front controller etc." +"Zend Framework 1: ``Zend_Registry`` holds the application's logger " +"object, front controller etc." msgstr "" #: ../../Structural/Registry/README.rst:16 diff --git a/locale/ru/LC_MESSAGES/Behavioral/Mediator/README.po b/locale/ru/LC_MESSAGES/Behavioral/Mediator/README.po index 13b8089..7d07e12 100644 --- a/locale/ru/LC_MESSAGES/Behavioral/Mediator/README.po +++ b/locale/ru/LC_MESSAGES/Behavioral/Mediator/README.po @@ -23,9 +23,9 @@ msgstr "Назначение" #: ../../Behavioral/Mediator/README.rst:7 msgid "" -"This pattern provides an easy to decouple many components working together. " -"It is a good alternative over Observer IF you have a \"central intelligence" -"\", like a controller (but not in the sense of the MVC)." +"This pattern provides an easy way to decouple many components working " +"together. It is a good alternative to Observer IF you have a \"central " +"intelligence\", like a controller (but not in the sense of the MVC)." msgstr "" "Этот паттерн позволяет снизить связность множества компонентов, работающих " "совместно. Объектам больше нет нужды вызывать друг друга напрямую. Это " diff --git a/locale/ru/LC_MESSAGES/Behavioral/Memento/README.po b/locale/ru/LC_MESSAGES/Behavioral/Memento/README.po index 146f4f5..5107f84 100644 --- a/locale/ru/LC_MESSAGES/Behavioral/Memento/README.po +++ b/locale/ru/LC_MESSAGES/Behavioral/Memento/README.po @@ -1,115 +1,241 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015, Dominik Liebler and contributors +# This file is distributed under the same license as the DesignPatternsPHP +# package. +# FIRST AUTHOR , 2016. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: DesignPatternsPHP 1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-05-29 12:18+0200\n" -"PO-Revision-Date: 2015-05-30 01:42+0300\n" -"Last-Translator: Eugene Glotov \n" +"POT-Creation-Date: 2016-06-03 23:59+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ru\n" +"Generated-By: Babel 2.3.4\n" #: ../../Behavioral/Memento/README.rst:2 msgid "`Memento`__" -msgstr "`Хранитель`__" +msgstr "" #: ../../Behavioral/Memento/README.rst:5 msgid "Purpose" -msgstr "Назначение" +msgstr "" #: ../../Behavioral/Memento/README.rst:7 msgid "" -"Provide the ability to restore an object to its previous state (undo via " -"rollback)." +"It provides the ability to restore an object to it's previous state (undo" +" via rollback) or to gain access to state of the object, without " +"revealing it's implementation (i.e., the object is not required to have a" +" functional for return the current state)." msgstr "" -"Предоставляет возможность восстановить объект в его предыдущем состоянии или " -"получить доступ к состоянию объекта, не раскрывая его реализацию (т.е. сам " -"объект не обязан иметь функционал возврата текущего состояния)." -#: ../../Behavioral/Memento/README.rst:10 +#: ../../Behavioral/Memento/README.rst:12 msgid "" -"The memento pattern is implemented with three objects: the originator, a " -"caretaker and a memento. The originator is some object that has an internal " -"state. The caretaker is going to do something to the originator, but wants " -"to be able to undo the change. The caretaker first asks the originator for a" -" memento object. Then it does whatever operation (or sequence of operations)" -" it was going to do. To roll back to the state before the operations, it " -"returns the memento object to the originator. The memento object itself is " -"an opaque object (one which the caretaker cannot, or should not, change). " -"When using this pattern, care should be taken if the originator may change " -"other objects or resources - the memento pattern operates on a single " -"object." +"The memento pattern is implemented with three objects: the Originator, a " +"Caretaker and a Memento." msgstr "" -"Паттерн «Хранитель» реализуется тремя объектами: Создатель, Опекун и " -"Хранитель.\n" -"\n" -"Хранитель — объект, который *хранит конкретный уникальный слепок состояния* " -"любого объекта или ресурса: строка, число, массив, экземпляр класса и так " -"далее. Уникальность в данном случае подразумевает не запрет существования " -"одинаковых состояний в слепках, а то, что состояние можно извлечь в виде " -"независимого клона. Это значит, объект, сохраняемый в Хранитель, должен *быть " -"полной копией исходного объекта а не ссылкой* на исходный объект. Сам объект " -"Хранитель является «непрозрачным объектом» (тот, который никто не может и не " -"должен изменять).\n" -"\n" -"Создатель — это объект, который *содержит в себе актуальное состояние внешнего " -"объекта строго заданного типа* и умеет создать уникальную копию этого " -"состояния, возвращая её обёрнутую в Хранитель. Создатель не знает истории " -"изменений. Создателю можно принудительно установить конкретное состояние " -"извне, которое будет считаться актуальным. Создатель должен позаботиться, " -"чтобы это состояние соответствовало типу объекта, с которым ему разрешено " -"работать. Создатель может (но не обязан) иметь любые методы, но они *не могут " -"менять сохранённое состояние объекта*.\n" -"\n" -"Опекун *управляет историей слепков состояний*. Он может вносить изменения в " -"объект, принимать решение о сохранении состояния внешнего объекта в Создателе, " -"требовать от Создателя слепок текущего состояния, или привести состояние " -"Создателя в соответствие состоянию какого-то слепка из истории." -#: ../../Behavioral/Memento/README.rst:23 +#: ../../Behavioral/Memento/README.rst:15 +msgid "" +"Memento – an object that *contains a concrete unique snapshot of state* " +"of any object or resource: string, number, array, an instance of class " +"and so on. The uniqueness in this case does not imply the prohibition " +"existence of similar states in different snapshots. That means the state " +"can be extracted as the independent clone. Any object stored in the " +"Memento should be *a full copy of the original object rather than a " +"reference* to the original object. The Memento object is a \"opaque " +"object\" (the object that no one can or should change)." +msgstr "" + +#: ../../Behavioral/Memento/README.rst:24 +msgid "" +"Originator – it is an object that contains the *actual state of an " +"external object is strictly specified type*. Originator is able to create" +" a unique copy of this state and return it wrapped in a Memento. The " +"Originator does not know the history of changes. You can set a concrete " +"state to Originator from the outside, which will be considered as actual." +" The Originator must make sure that given state corresponds the allowed " +"type of object. Originator may (but not should) have any methods, but " +"they *they can't make changes to the saved object state*." +msgstr "" + +#: ../../Behavioral/Memento/README.rst:33 +msgid "" +"Caretaker *controls the states history*. He may make changes to an " +"object; take a decision to save the state of an external object in the " +"Originator; ask from the Originator snapshot of the current state; or set" +" the Originator state to equivalence with some snapshot from history." +msgstr "" + +#: ../../Behavioral/Memento/README.rst:39 msgid "Examples" -msgstr "Примеры" +msgstr "" -#: ../../Behavioral/Memento/README.rst:25 +#: ../../Behavioral/Memento/README.rst:41 msgid "The seed of a pseudorandom number generator" msgstr "" -"`Семя `_ псевдослучайного генератора " -"чисел." -#: ../../Behavioral/Memento/README.rst:26 +#: ../../Behavioral/Memento/README.rst:42 msgid "The state in a finite state machine" -msgstr "Состояние конечного автомата" +msgstr "" -#: ../../Behavioral/Memento/README.rst:29 -msgid "UML Diagram" -msgstr "UML Диаграмма" - -#: ../../Behavioral/Memento/README.rst:36 -msgid "Code" -msgstr "Код" - -#: ../../Behavioral/Memento/README.rst:38 -msgid "You can also find these code on `GitHub`_" -msgstr "Вы можете найти этот код на `GitHub`_" - -#: ../../Behavioral/Memento/README.rst:40 -msgid "Memento.php" -msgstr "Memento.php" +#: ../../Behavioral/Memento/README.rst:43 +msgid "" +"Control for intermediate states of `ORM Model " +"`_ before saving" +msgstr "" #: ../../Behavioral/Memento/README.rst:46 +msgid "UML Diagram" +msgstr "" + +#: ../../Behavioral/Memento/README.rst:53 +msgid "Code" +msgstr "" + +#: ../../Behavioral/Memento/README.rst:55 +msgid "You can also find these code on `GitHub`_" +msgstr "" + +#: ../../Behavioral/Memento/README.rst:57 +msgid "Memento.php" +msgstr "" + +#: ../../Behavioral/Memento/README.rst:63 msgid "Originator.php" -msgstr "Originator.php" +msgstr "" -#: ../../Behavioral/Memento/README.rst:52 +#: ../../Behavioral/Memento/README.rst:69 msgid "Caretaker.php" -msgstr "Caretaker.php" +msgstr "" -#: ../../Behavioral/Memento/README.rst:59 +#: ../../Behavioral/Memento/README.rst:76 msgid "Test" -msgstr "Тест" +msgstr "" -#: ../../Behavioral/Memento/README.rst:61 +#: ../../Behavioral/Memento/README.rst:78 msgid "Tests/MementoTest.php" -msgstr "Tests/MementoTest.php" +msgstr "" + + + +#. # +#. msgid "" +#. msgstr "" +#. "Project-Id-Version: DesignPatternsPHP 1.0\n" +#. "Report-Msgid-Bugs-To: \n" +#. "POT-Creation-Date: 2015-05-29 12:18+0200\n" +#. "PO-Revision-Date: 2015-05-30 01:42+0300\n" +#. "Last-Translator: Eugene Glotov \n" +#. "MIME-Version: 1.0\n" +#. "Content-Type: text/plain; charset=UTF-8\n" +#. "Content-Transfer-Encoding: 8bit\n" +#. "Language: ru\n" +#. +#. #: ../../Behavioral/Memento/README.rst:2 +#. msgid "`Memento`__" +#. msgstr "`Хранитель`__" +#. +#. #: ../../Behavioral/Memento/README.rst:5 +#. msgid "Purpose" +#. msgstr "Назначение" +#. +#. #: ../../Behavioral/Memento/README.rst:7 +#. msgid "" +#. "Provide the ability to restore an object to its previous state (undo via " +#. "rollback)." +#. msgstr "" +#. "Предоставляет возможность восстановить объект в его предыдущем состоянии или " +#. "получить доступ к состоянию объекта, не раскрывая его реализацию (т.е. сам " +#. "объект не обязан иметь функционал возврата текущего состояния)." +#. +#. #: ../../Behavioral/Memento/README.rst:10 +#. msgid "" +#. "The memento pattern is implemented with three objects: the originator, a " +#. "caretaker and a memento. The originator is some object that has an internal " +#. "state. The caretaker is going to do something to the originator, but wants " +#. "to be able to undo the change. The caretaker first asks the originator for a" +#. " memento object. Then it does whatever operation (or sequence of operations)" +#. " it was going to do. To roll back to the state before the operations, it " +#. "returns the memento object to the originator. The memento object itself is " +#. "an opaque object (one which the caretaker cannot, or should not, change). " +#. "When using this pattern, care should be taken if the originator may change " +#. "other objects or resources - the memento pattern operates on a single " +#. "object." +#. msgstr "" +#. "Паттерн «Хранитель» реализуется тремя объектами: Создатель, Опекун и " +#. "Хранитель.\n" +#. "\n" +#. "Хранитель — объект, который *хранит конкретный уникальный слепок состояния* " +#. "любого объекта или ресурса: строка, число, массив, экземпляр класса и так " +#. "далее. Уникальность в данном случае подразумевает не запрет существования " +#. "одинаковых состояний в слепках, а то, что состояние можно извлечь в виде " +#. "независимого клона. Это значит, объект, сохраняемый в Хранитель, должен *быть " +#. "полной копией исходного объекта а не ссылкой* на исходный объект. Сам объект " +#. "Хранитель является «непрозрачным объектом» (тот, который никто не может и не " +#. "должен изменять).\n" +#. "\n" +#. "Создатель — это объект, который *содержит в себе актуальное состояние внешнего " +#. "объекта строго заданного типа* и умеет создать уникальную копию этого " +#. "состояния, возвращая её обёрнутую в Хранитель. Создатель не знает истории " +#. "изменений. Создателю можно принудительно установить конкретное состояние " +#. "извне, которое будет считаться актуальным. Создатель должен позаботиться, " +#. "чтобы это состояние соответствовало типу объекта, с которым ему разрешено " +#. "работать. Создатель может (но не обязан) иметь любые методы, но они *не могут " +#. "менять сохранённое состояние объекта*.\n" +#. "\n" +#. "Опекун *управляет историей слепков состояний*. Он может вносить изменения в " +#. "объект, принимать решение о сохранении состояния внешнего объекта в Создателе, " +#. "требовать от Создателя слепок текущего состояния, или привести состояние " +#. "Создателя в соответствие состоянию какого-то слепка из истории." +#. +#. #: ../../Behavioral/Memento/README.rst:23 +#. msgid "Examples" +#. msgstr "Примеры" +#. +#. #: ../../Behavioral/Memento/README.rst:25 +#. msgid "The seed of a pseudorandom number generator" +#. msgstr "" +#. "`Семя `_ псевдослучайного генератора " +#. "чисел." +#. +#. #: ../../Behavioral/Memento/README.rst:26 +#. msgid "The state in a finite state machine" +#. msgstr "Состояние конечного автомата" +#. +#. #: ../../Behavioral/Memento/README.rst:29 +#. msgid "UML Diagram" +#. msgstr "UML Диаграмма" +#. +#. #: ../../Behavioral/Memento/README.rst:36 +#. msgid "Code" +#. msgstr "Код" +#. +#. #: ../../Behavioral/Memento/README.rst:38 +#. msgid "You can also find these code on `GitHub`_" +#. msgstr "Вы можете найти этот код на `GitHub`_" +#. +#. #: ../../Behavioral/Memento/README.rst:40 +#. msgid "Memento.php" +#. msgstr "Memento.php" +#. +#. #: ../../Behavioral/Memento/README.rst:46 +#. msgid "Originator.php" +#. msgstr "Originator.php" +#. +#. #: ../../Behavioral/Memento/README.rst:52 +#. msgid "Caretaker.php" +#. msgstr "Caretaker.php" +#. +#. #: ../../Behavioral/Memento/README.rst:59 +#. msgid "Test" +#. msgstr "Тест" +#. +#. #: ../../Behavioral/Memento/README.rst:61 +#. msgid "Tests/MementoTest.php" +#. msgstr "Tests/MementoTest.php" diff --git a/locale/ru/LC_MESSAGES/More/Delegation/README.po b/locale/ru/LC_MESSAGES/More/Delegation/README.po index 958fd7a..3e2676f 100644 --- a/locale/ru/LC_MESSAGES/More/Delegation/README.po +++ b/locale/ru/LC_MESSAGES/More/Delegation/README.po @@ -1,60 +1,142 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015, Dominik Liebler and contributors +# This file is distributed under the same license as the DesignPatternsPHP +# package. +# FIRST AUTHOR , 2016. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: DesignPatternsPHP 1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-05-29 12:18+0200\n" -"PO-Revision-Date: 2015-05-30 04:46+0300\n" -"Last-Translator: Eugene Glotov \n" +"POT-Creation-Date: 2016-06-03 23:59+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ru\n" +"Generated-By: Babel 2.3.4\n" #: ../../More/Delegation/README.rst:2 msgid "`Delegation`__" -msgstr "`Делегирование `_ (`Delegation`__)" +msgstr "" #: ../../More/Delegation/README.rst:5 msgid "Purpose" -msgstr "Назначение" +msgstr "" -#: ../../More/Delegation/README.rst:7 ../../More/Delegation/README.rst:12 -msgid "..." -msgstr "Основной шаблон проектирования, в котором объект внешне выражает некоторое поведение, но в реальности передаёт ответственность за выполнение этого поведения связанному объекту. Шаблон делегирования является фундаментальной абстракцией, на основе которой реализованы другие шаблоны - композиция (также называемая агрегацией), примеси (mixins) и аспекты (aspects). (c) wiki" +#: ../../More/Delegation/README.rst:7 +msgid "" +"Demonstrate the Delegator pattern, where an object, instead of performing" +" one of its stated tasks, delegates that task to an associated helper " +"object. In this case TeamLead professes to writeCode and Usage uses this," +" while TeamLead delegates writeCode to JuniorDeveloper's writeBadCode " +"function. This inverts the responsibility so that Usage is unknowingly " +"executing writeBadCode." +msgstr "" #: ../../More/Delegation/README.rst:10 msgid "Examples" -msgstr "Примеры" +msgstr "" + +#: ../../More/Delegation/README.rst:12 +msgid "" +"Please review JuniorDeveloper.php, TeamLead.php, and then Usage.php to " +"see it all tied together." +msgstr "" #: ../../More/Delegation/README.rst:15 msgid "UML Diagram" -msgstr "UML Диаграмма" +msgstr "" #: ../../More/Delegation/README.rst:22 msgid "Code" -msgstr "Код" +msgstr "" #: ../../More/Delegation/README.rst:24 msgid "You can also find these code on `GitHub`_" -msgstr "Вы можете найти этот код на `GitHub`_" +msgstr "" #: ../../More/Delegation/README.rst:26 msgid "Usage.php" -msgstr "Usage.php" +msgstr "" #: ../../More/Delegation/README.rst:32 msgid "TeamLead.php" -msgstr "TeamLead.php" +msgstr "" #: ../../More/Delegation/README.rst:38 msgid "JuniorDeveloper.php" -msgstr "JuniorDeveloper.php" +msgstr "" #: ../../More/Delegation/README.rst:45 msgid "Test" -msgstr "Тест" +msgstr "" #: ../../More/Delegation/README.rst:47 msgid "Tests/DelegationTest.php" -msgstr "Tests/DelegationTest.php" +msgstr "" + + + +#. # +#. msgid "" +#. msgstr "" +#. "Project-Id-Version: DesignPatternsPHP 1.0\n" +#. "Report-Msgid-Bugs-To: \n" +#. "POT-Creation-Date: 2015-05-29 12:18+0200\n" +#. "PO-Revision-Date: 2015-05-30 04:46+0300\n" +#. "Last-Translator: Eugene Glotov \n" +#. "MIME-Version: 1.0\n" +#. "Content-Type: text/plain; charset=UTF-8\n" +#. "Content-Transfer-Encoding: 8bit\n" +#. "Language: ru\n" +#. +#. #: ../../More/Delegation/README.rst:2 +#. msgid "`Delegation`__" +#. msgstr "`Делегирование `_ (`Delegation`__)" +#. +#. #: ../../More/Delegation/README.rst:5 +#. msgid "Purpose" +#. msgstr "Назначение" +#. +#. #: ../../More/Delegation/README.rst:7 ../../More/Delegation/README.rst:12 +#. msgid "..." +#. msgstr "Основной шаблон проектирования, в котором объект внешне выражает некоторое поведение, но в реальности передаёт ответственность за выполнение этого поведения связанному объекту. Шаблон делегирования является фундаментальной абстракцией, на основе которой реализованы другие шаблоны - композиция (также называемая агрегацией), примеси (mixins) и аспекты (aspects). (c) wiki" +#. +#. #: ../../More/Delegation/README.rst:10 +#. msgid "Examples" +#. msgstr "Примеры" +#. +#. #: ../../More/Delegation/README.rst:15 +#. msgid "UML Diagram" +#. msgstr "UML Диаграмма" +#. +#. #: ../../More/Delegation/README.rst:22 +#. msgid "Code" +#. msgstr "Код" +#. +#. #: ../../More/Delegation/README.rst:24 +#. msgid "You can also find these code on `GitHub`_" +#. msgstr "Вы можете найти этот код на `GitHub`_" +#. +#. #: ../../More/Delegation/README.rst:26 +#. msgid "Usage.php" +#. msgstr "Usage.php" +#. +#. #: ../../More/Delegation/README.rst:32 +#. msgid "TeamLead.php" +#. msgstr "TeamLead.php" +#. +#. #: ../../More/Delegation/README.rst:38 +#. msgid "JuniorDeveloper.php" +#. msgstr "JuniorDeveloper.php" +#. +#. #: ../../More/Delegation/README.rst:45 +#. msgid "Test" +#. msgstr "Тест" +#. +#. #: ../../More/Delegation/README.rst:47 +#. msgid "Tests/DelegationTest.php" +#. msgstr "Tests/DelegationTest.php" diff --git a/locale/ru/LC_MESSAGES/More/EAV/README.po b/locale/ru/LC_MESSAGES/More/EAV/README.po new file mode 100644 index 0000000..c101913 --- /dev/null +++ b/locale/ru/LC_MESSAGES/More/EAV/README.po @@ -0,0 +1,78 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015, Dominik Liebler and contributors +# This file is distributed under the same license as the DesignPatternsPHP +# package. +# FIRST AUTHOR , 2016. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-06-03 23:59+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.3.4\n" + +#: ../../More/EAV/README.rst:2 +msgid "`Entity-Attribute-Value (EAV)`__" +msgstr "" + +#: ../../More/EAV/README.rst:4 +msgid "" +"The Entity–attribute–value (EAV) pattern in order to implement EAV model " +"with PHP." +msgstr "" + +#: ../../More/EAV/README.rst:7 +msgid "Purpose" +msgstr "" + +#: ../../More/EAV/README.rst:9 +msgid "" +"The Entity–attribute–value (EAV) model is a data model to describe " +"entities where the number of attributes (properties, parameters) that can" +" be used to describe them is potentially vast, but the number that will " +"actually apply to a given entity is relatively modest." +msgstr "" + +#: ../../More/EAV/README.rst:15 +msgid "Examples" +msgstr "" + +#: ../../More/EAV/README.rst:17 +msgid "Check full work example in `example.php`_ file." +msgstr "" + +#: ../../More/EAV/README.rst:90 +msgid "UML Diagram" +msgstr "" + +#: ../../More/EAV/README.rst:97 +msgid "Code" +msgstr "" + +#: ../../More/EAV/README.rst:99 +msgid "You can also find these code on `GitHub`_" +msgstr "" + +#: ../../More/EAV/README.rst:102 +msgid "Test" +msgstr "" + +#: ../../More/EAV/README.rst:104 +msgid "Tests/EntityTest.php" +msgstr "" + +#: ../../More/EAV/README.rst:110 +msgid "Tests/AttributeTest.php" +msgstr "" + +#: ../../More/EAV/README.rst:116 +msgid "Tests/ValueTest.php" +msgstr "" + diff --git a/locale/ru/LC_MESSAGES/README.po b/locale/ru/LC_MESSAGES/README.po index 5efb48e..5ef6690 100644 --- a/locale/ru/LC_MESSAGES/README.po +++ b/locale/ru/LC_MESSAGES/README.po @@ -76,8 +76,8 @@ msgid "(The MIT License)" msgstr "(The MIT License)" #: ../../README.rst:48 -msgid "Copyright (c) 2014 `Dominik Liebler`_ and `contributors`_" -msgstr "Copyright (c) 2014 `Dominik Liebler`_ and `contributors`_" +msgid "Copyright (c) 2011 - 2016 `Dominik Liebler`_ and `contributors`_" +msgstr "Copyright (c) 2011 - 2016 `Dominik Liebler`_ and `contributors`_" #: ../../README.rst:50 msgid "" diff --git a/locale/ru/LC_MESSAGES/Structural/Flyweight/README.po b/locale/ru/LC_MESSAGES/Structural/Flyweight/README.po new file mode 100644 index 0000000..9a8b771 --- /dev/null +++ b/locale/ru/LC_MESSAGES/Structural/Flyweight/README.po @@ -0,0 +1,69 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015, Dominik Liebler and contributors +# This file is distributed under the same license as the DesignPatternsPHP +# package. +# FIRST AUTHOR , 2016. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-06-03 23:59+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.3.4\n" + +#: ../../Structural/Flyweight/README.rst:2 +msgid "`Flyweight`__" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:5 +msgid "Purpose" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:7 +msgid "" +"To minimise memory usage, a Flyweight shares as much as possible memory " +"with similar objects. It is needed when a large amount of objects is used" +" that don't differ much in state. A common practice is to hold state in " +"external data structures and pass them to the flyweight object when " +"needed." +msgstr "" + +#: ../../Structural/Flyweight/README.rst:12 +msgid "UML Diagram" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:19 +msgid "Code" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:21 +msgid "You can also find these code on `GitHub`_" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:23 +msgid "FlyweightInterface.php" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:29 +msgid "CharacterFlyweight.php" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:35 +msgid "FlyweightFactory.php" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:42 +msgid "Test" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:44 +msgid "Tests/FlyweightTest.php" +msgstr "" + diff --git a/locale/ru/LC_MESSAGES/Structural/Registry/README.po b/locale/ru/LC_MESSAGES/Structural/Registry/README.po index b7b7fe4..9c151a2 100644 --- a/locale/ru/LC_MESSAGES/Structural/Registry/README.po +++ b/locale/ru/LC_MESSAGES/Structural/Registry/README.po @@ -35,10 +35,10 @@ msgstr "Примеры" #: ../../Structural/Registry/README.rst:14 msgid "" -"Zend Framework: ``Zend_Registry`` holds the application's logger object, " -"front controller etc." +"Zend Framework 1: ``Zend_Registry`` holds the application's logger " +"object, front controller etc." msgstr "" -"Zend Framework: ``Zend_Registry`` содержит объект журналирования " +"Zend Framework 1: ``Zend_Registry`` содержит объект журналирования " "приложения (логгер), фронт-контроллер и т.д." #: ../../Structural/Registry/README.rst:16 diff --git a/locale/zh_CN/LC_MESSAGES/Behavioral/Mediator/README.po b/locale/zh_CN/LC_MESSAGES/Behavioral/Mediator/README.po index 9c6694b..6474cd1 100644 --- a/locale/zh_CN/LC_MESSAGES/Behavioral/Mediator/README.po +++ b/locale/zh_CN/LC_MESSAGES/Behavioral/Mediator/README.po @@ -21,8 +21,8 @@ msgstr "" #: ../../Behavioral/Mediator/README.rst:7 msgid "" -"This pattern provides an easy to decouple many components working together. " -"It is a good alternative over Observer IF you have a \"central " +"This pattern provides an easy way to decouple many components working " +"together. It is a good alternative to Observer IF you have a \"central " "intelligence\", like a controller (but not in the sense of the MVC)." msgstr "" diff --git a/locale/zh_CN/LC_MESSAGES/Behavioral/Memento/README.po b/locale/zh_CN/LC_MESSAGES/Behavioral/Memento/README.po index fa2378c..e92a849 100644 --- a/locale/zh_CN/LC_MESSAGES/Behavioral/Memento/README.po +++ b/locale/zh_CN/LC_MESSAGES/Behavioral/Memento/README.po @@ -1,15 +1,22 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015, Dominik Liebler and contributors +# This file is distributed under the same license as the DesignPatternsPHP +# package. +# FIRST AUTHOR , 2016. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: DesignPatternsPHP 1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-05-29 12:18+0200\n" +"POT-Creation-Date: 2016-06-03 23:59+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.3.4\n" #: ../../Behavioral/Memento/README.rst:2 msgid "`Memento`__" @@ -19,6 +26,52 @@ msgstr "" msgid "Purpose" msgstr "" +#: ../../Behavioral/Memento/README.rst:7 +msgid "" +"It provides the ability to restore an object to it's previous state (undo" +" via rollback) or to gain access to state of the object, without " +"revealing it's implementation (i.e., the object is not required to have a" +" functional for return the current state)." +msgstr "" + +#: ../../Behavioral/Memento/README.rst:12 +msgid "" +"The memento pattern is implemented with three objects: the Originator, a " +"Caretaker and a Memento." +msgstr "" + +#: ../../Behavioral/Memento/README.rst:15 +msgid "" +"Memento – an object that *contains a concrete unique snapshot of state* " +"of any object or resource: string, number, array, an instance of class " +"and so on. The uniqueness in this case does not imply the prohibition " +"existence of similar states in different snapshots. That means the state " +"can be extracted as the independent clone. Any object stored in the " +"Memento should be *a full copy of the original object rather than a " +"reference* to the original object. The Memento object is a \"opaque " +"object\" (the object that no one can or should change)." +msgstr "" + +#: ../../Behavioral/Memento/README.rst:24 +msgid "" +"Originator – it is an object that contains the *actual state of an " +"external object is strictly specified type*. Originator is able to create" +" a unique copy of this state and return it wrapped in a Memento. The " +"Originator does not know the history of changes. You can set a concrete " +"state to Originator from the outside, which will be considered as actual." +" The Originator must make sure that given state corresponds the allowed " +"type of object. Originator may (but not should) have any methods, but " +"they *they can't make changes to the saved object state*." +msgstr "" + +#: ../../Behavioral/Memento/README.rst:33 +msgid "" +"Caretaker *controls the states history*. He may make changes to an " +"object; take a decision to save the state of an external object in the " +"Originator; ask from the Originator snapshot of the current state; or set" +" the Originator state to equivalence with some snapshot from history." +msgstr "" + #: ../../Behavioral/Memento/README.rst:39 msgid "Examples" msgstr "" @@ -31,6 +84,12 @@ msgstr "" msgid "The state in a finite state machine" msgstr "" +#: ../../Behavioral/Memento/README.rst:43 +msgid "" +"Control for intermediate states of `ORM Model " +"`_ before saving" +msgstr "" + #: ../../Behavioral/Memento/README.rst:46 msgid "UML Diagram" msgstr "" @@ -63,73 +122,3 @@ msgstr "" msgid "Tests/MementoTest.php" msgstr "" -#: ../../Behavioral/Memento/README.rst:7 -msgid "" -"It provides the ability to restore an object to it's previous state (undo " -"via rollback) or to gain access to state of the object, without revealing " -"it's implementation (i.e., the object is not required to have a functional " -"for return the current state)." -msgstr "" - -#: ../../Behavioral/Memento/README.rst:12 -msgid "" -"The memento pattern is implemented with three objects: the Originator, a " -"Caretaker and a Memento." -msgstr "" - -#: ../../Behavioral/Memento/README.rst:15 -msgid "" -"Memento – an object that *contains a concrete unique snapshot of state* of " -"any object or resource: string, number, array, an instance of class and so " -"on. The uniqueness in this case does not imply the prohibition existence of " -"similar states in different snapshots. That means the state can be extracted" -" as the independent clone. Any object stored in the Memento should be *a " -"full copy of the original object rather than a reference* to the original " -"object. The Memento object is a \"opaque object\" (the object that no one " -"can or should change)." -msgstr "" - -#: ../../Behavioral/Memento/README.rst:24 -msgid "" -"Originator – it is an object that contains the *actual state of an external " -"object is strictly specified type*. Originator is able to create a unique " -"copy of this state and return it wrapped in a Memento. The Originator does " -"not know the history of changes. You can set a concrete state to Originator " -"from the outside, which will be considered as actual. The Originator must " -"make sure that given state corresponds the allowed type of object. " -"Originator may (but not should) have any methods, but they *they can't make " -"changes to the saved object state*." -msgstr "" - -#: ../../Behavioral/Memento/README.rst:33 -msgid "" -"Caretaker *controls the states history*. He may make changes to an object; " -"take a decision to save the state of an external object in the Originator; " -"ask from the Originator snapshot of the current state; or set the Originator" -" state to equivalence with some snapshot from history." -msgstr "" - -#: ../../Behavioral/Memento/README.rst:43 -msgid "" -"Control for intermediate states of `ORM Model `_ before saving" -msgstr "" - -#~ msgid "" -#~ "Provide the ability to restore an object to its previous state (undo via " -#~ "rollback)." -#~ msgstr "" - -#~ msgid "" -#~ "The memento pattern is implemented with three objects: the originator, a " -#~ "caretaker and a memento. The originator is some object that has an internal " -#~ "state. The caretaker is going to do something to the originator, but wants " -#~ "to be able to undo the change. The caretaker first asks the originator for a" -#~ " memento object. Then it does whatever operation (or sequence of operations)" -#~ " it was going to do. To roll back to the state before the operations, it " -#~ "returns the memento object to the originator. The memento object itself is " -#~ "an opaque object (one which the caretaker cannot, or should not, change). " -#~ "When using this pattern, care should be taken if the originator may change " -#~ "other objects or resources - the memento pattern operates on a single " -#~ "object." -#~ msgstr "" diff --git a/locale/zh_CN/LC_MESSAGES/More/Delegation/README.po b/locale/zh_CN/LC_MESSAGES/More/Delegation/README.po index 0b52512..ac259f0 100644 --- a/locale/zh_CN/LC_MESSAGES/More/Delegation/README.po +++ b/locale/zh_CN/LC_MESSAGES/More/Delegation/README.po @@ -1,15 +1,22 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015, Dominik Liebler and contributors +# This file is distributed under the same license as the DesignPatternsPHP +# package. +# FIRST AUTHOR , 2016. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: DesignPatternsPHP 1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-05-29 12:18+0200\n" +"POT-Creation-Date: 2016-06-03 23:59+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.3.4\n" #: ../../More/Delegation/README.rst:2 msgid "`Delegation`__" @@ -19,10 +26,26 @@ msgstr "" msgid "Purpose" msgstr "" +#: ../../More/Delegation/README.rst:7 +msgid "" +"Demonstrate the Delegator pattern, where an object, instead of performing" +" one of its stated tasks, delegates that task to an associated helper " +"object. In this case TeamLead professes to writeCode and Usage uses this," +" while TeamLead delegates writeCode to JuniorDeveloper's writeBadCode " +"function. This inverts the responsibility so that Usage is unknowingly " +"executing writeBadCode." +msgstr "" + #: ../../More/Delegation/README.rst:10 msgid "Examples" msgstr "" +#: ../../More/Delegation/README.rst:12 +msgid "" +"Please review JuniorDeveloper.php, TeamLead.php, and then Usage.php to " +"see it all tied together." +msgstr "" + #: ../../More/Delegation/README.rst:15 msgid "UML Diagram" msgstr "" @@ -55,21 +78,3 @@ msgstr "" msgid "Tests/DelegationTest.php" msgstr "" -#: ../../More/Delegation/README.rst:7 -msgid "" -"Demonstrate the Delegator pattern, where an object, instead of performing " -"one of its stated tasks, delegates that task to an associated helper object." -" In this case TeamLead professes to writeCode and Usage uses this, while " -"TeamLead delegates writeCode to JuniorDeveloper's writeBadCode function. " -"This inverts the responsibility so that Usage is unknowingly executing " -"writeBadCode." -msgstr "" - -#: ../../More/Delegation/README.rst:12 -msgid "" -"Please review JuniorDeveloper.php, TeamLead.php, and then Usage.php to see " -"it all tied together." -msgstr "" - -#~ msgid "..." -#~ msgstr "" diff --git a/locale/zh_CN/LC_MESSAGES/More/EAV/README.po b/locale/zh_CN/LC_MESSAGES/More/EAV/README.po new file mode 100644 index 0000000..c101913 --- /dev/null +++ b/locale/zh_CN/LC_MESSAGES/More/EAV/README.po @@ -0,0 +1,78 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015, Dominik Liebler and contributors +# This file is distributed under the same license as the DesignPatternsPHP +# package. +# FIRST AUTHOR , 2016. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-06-03 23:59+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.3.4\n" + +#: ../../More/EAV/README.rst:2 +msgid "`Entity-Attribute-Value (EAV)`__" +msgstr "" + +#: ../../More/EAV/README.rst:4 +msgid "" +"The Entity–attribute–value (EAV) pattern in order to implement EAV model " +"with PHP." +msgstr "" + +#: ../../More/EAV/README.rst:7 +msgid "Purpose" +msgstr "" + +#: ../../More/EAV/README.rst:9 +msgid "" +"The Entity–attribute–value (EAV) model is a data model to describe " +"entities where the number of attributes (properties, parameters) that can" +" be used to describe them is potentially vast, but the number that will " +"actually apply to a given entity is relatively modest." +msgstr "" + +#: ../../More/EAV/README.rst:15 +msgid "Examples" +msgstr "" + +#: ../../More/EAV/README.rst:17 +msgid "Check full work example in `example.php`_ file." +msgstr "" + +#: ../../More/EAV/README.rst:90 +msgid "UML Diagram" +msgstr "" + +#: ../../More/EAV/README.rst:97 +msgid "Code" +msgstr "" + +#: ../../More/EAV/README.rst:99 +msgid "You can also find these code on `GitHub`_" +msgstr "" + +#: ../../More/EAV/README.rst:102 +msgid "Test" +msgstr "" + +#: ../../More/EAV/README.rst:104 +msgid "Tests/EntityTest.php" +msgstr "" + +#: ../../More/EAV/README.rst:110 +msgid "Tests/AttributeTest.php" +msgstr "" + +#: ../../More/EAV/README.rst:116 +msgid "Tests/ValueTest.php" +msgstr "" + diff --git a/locale/zh_CN/LC_MESSAGES/README.po b/locale/zh_CN/LC_MESSAGES/README.po index b2d9e60..f3bae2c 100644 --- a/locale/zh_CN/LC_MESSAGES/README.po +++ b/locale/zh_CN/LC_MESSAGES/README.po @@ -71,8 +71,8 @@ msgid "(The MIT License)" msgstr "MIT 授权协议" #: ../../README.rst:48 -msgid "Copyright (c) 2014 `Dominik Liebler`_ and `contributors`_" -msgstr "Copyright (c) 2014 `Dominik Liebler`_ 和 `贡献者`_" +msgid "Copyright (c) 2011 - 2016 `Dominik Liebler`_ and `contributors`_" +msgstr "Copyright (c) 2011 - 2016 `Dominik Liebler`_ 和 `贡献者`_" #: ../../README.rst:50 msgid "" diff --git a/locale/zh_CN/LC_MESSAGES/Structural/Flyweight/README.po b/locale/zh_CN/LC_MESSAGES/Structural/Flyweight/README.po new file mode 100644 index 0000000..9a8b771 --- /dev/null +++ b/locale/zh_CN/LC_MESSAGES/Structural/Flyweight/README.po @@ -0,0 +1,69 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015, Dominik Liebler and contributors +# This file is distributed under the same license as the DesignPatternsPHP +# package. +# FIRST AUTHOR , 2016. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-06-03 23:59+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.3.4\n" + +#: ../../Structural/Flyweight/README.rst:2 +msgid "`Flyweight`__" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:5 +msgid "Purpose" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:7 +msgid "" +"To minimise memory usage, a Flyweight shares as much as possible memory " +"with similar objects. It is needed when a large amount of objects is used" +" that don't differ much in state. A common practice is to hold state in " +"external data structures and pass them to the flyweight object when " +"needed." +msgstr "" + +#: ../../Structural/Flyweight/README.rst:12 +msgid "UML Diagram" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:19 +msgid "Code" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:21 +msgid "You can also find these code on `GitHub`_" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:23 +msgid "FlyweightInterface.php" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:29 +msgid "CharacterFlyweight.php" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:35 +msgid "FlyweightFactory.php" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:42 +msgid "Test" +msgstr "" + +#: ../../Structural/Flyweight/README.rst:44 +msgid "Tests/FlyweightTest.php" +msgstr "" + diff --git a/locale/zh_CN/LC_MESSAGES/Structural/Registry/README.po b/locale/zh_CN/LC_MESSAGES/Structural/Registry/README.po index f01d956..d56535f 100644 --- a/locale/zh_CN/LC_MESSAGES/Structural/Registry/README.po +++ b/locale/zh_CN/LC_MESSAGES/Structural/Registry/README.po @@ -66,8 +66,8 @@ msgstr "" #: ../../Structural/Registry/README.rst:14 msgid "" -"Zend Framework 1: ``Zend_Registry`` holds the application's logger object, " -"front controller etc." +"Zend Framework 1: ``Zend_Registry`` holds the application's logger " +"object, front controller etc." msgstr "" "Zend Framework 1: ``Zend_Registry`` 持有应用的logger对象,前端控制器等。" From c8e0c74f4683cd2a7e1bbd0a11524c880c9488a0 Mon Sep 17 00:00:00 2001 From: Christophe Vidal Date: Tue, 14 Jun 2016 08:33:07 +0700 Subject: [PATCH 26/35] Fixed style --- Behavioral/Iterator/BookList.php | 2 -- Behavioral/TemplateMethod/Journey.php | 3 --- Creational/Builder/BuilderInterface.php | 3 --- Structural/Facade/Tests/FacadeTest.php | 2 +- Structural/Flyweight/CharacterFlyweight.php | 3 ++- Structural/Flyweight/FlyweightFactory.php | 11 +++++------ Structural/Flyweight/FlyweightInterface.php | 2 +- Structural/Flyweight/Tests/FlyweightTest.php | 6 +++--- 8 files changed, 12 insertions(+), 20 deletions(-) diff --git a/Behavioral/Iterator/BookList.php b/Behavioral/Iterator/BookList.php index 6cc5e5e..784c594 100644 --- a/Behavioral/Iterator/BookList.php +++ b/Behavioral/Iterator/BookList.php @@ -11,8 +11,6 @@ class BookList implements \Countable if (isset($this->books[$bookNumberToGet])) { return $this->books[$bookNumberToGet]; } - - return; } public function addBook(Book $book) diff --git a/Behavioral/TemplateMethod/Journey.php b/Behavioral/TemplateMethod/Journey.php index 6309e7f..c7a6809 100644 --- a/Behavioral/TemplateMethod/Journey.php +++ b/Behavioral/TemplateMethod/Journey.php @@ -2,9 +2,6 @@ namespace DesignPatterns\Behavioral\TemplateMethod; -/** - * - */ abstract class Journey { /** diff --git a/Creational/Builder/BuilderInterface.php b/Creational/Builder/BuilderInterface.php index f682656..563162f 100644 --- a/Creational/Builder/BuilderInterface.php +++ b/Creational/Builder/BuilderInterface.php @@ -2,9 +2,6 @@ namespace DesignPatterns\Creational\Builder; -/** - * - */ interface BuilderInterface { /** diff --git a/Structural/Facade/Tests/FacadeTest.php b/Structural/Facade/Tests/FacadeTest.php index 0f1ea10..0247aaf 100644 --- a/Structural/Facade/Tests/FacadeTest.php +++ b/Structural/Facade/Tests/FacadeTest.php @@ -34,7 +34,7 @@ class FacadeTest extends \PHPUnit_Framework_TestCase } /** - * @param Computer $facade + * @param Computer $facade * @param OsInterface $os * @dataProvider getComputer */ diff --git a/Structural/Flyweight/CharacterFlyweight.php b/Structural/Flyweight/CharacterFlyweight.php index d0c6399..02657c1 100644 --- a/Structural/Flyweight/CharacterFlyweight.php +++ b/Structural/Flyweight/CharacterFlyweight.php @@ -11,6 +11,7 @@ class CharacterFlyweight implements FlyweightInterface /** * Any state stored by the concrete flyweight must be independent of its context. * For flyweights representing characters, this is usually the corresponding character code. + * * @var string */ private $name; @@ -25,7 +26,7 @@ class CharacterFlyweight implements FlyweightInterface /** * Clients supply the context-dependent information that the flyweight needs to draw itself - * For flyweights representing characters, extrinsic state usually contains e.g. the font + * For flyweights representing characters, extrinsic state usually contains e.g. the font. * * @param string $font */ diff --git a/Structural/Flyweight/FlyweightFactory.php b/Structural/Flyweight/FlyweightFactory.php index c709363..10a0d4d 100644 --- a/Structural/Flyweight/FlyweightFactory.php +++ b/Structural/Flyweight/FlyweightFactory.php @@ -2,8 +2,6 @@ namespace DesignPatterns\Structural\Flyweight; -use DesignPatterns\Structural\Flyweight\CharacterFlyweight; - /** * A factory manages shared flyweights. Clients shouldn't instaniate them directly, * but let the factory take care of returning existing objects or creating new ones. @@ -11,16 +9,17 @@ use DesignPatterns\Structural\Flyweight\CharacterFlyweight; class FlyweightFactory { /** - * Associative store for flyweight objects + * Associative store for flyweight objects. * - * @var Array + * @var array */ private $pool = array(); /** - * Magic getter + * Magic getter. * * @param string $name + * * @return Flyweight */ public function __get($name) @@ -28,7 +27,7 @@ class FlyweightFactory if (!array_key_exists($name, $this->pool)) { $this->pool[$name] = new CharacterFlyweight($name); } - + return $this->pool[$name]; } diff --git a/Structural/Flyweight/FlyweightInterface.php b/Structural/Flyweight/FlyweightInterface.php index 023419c..b12290d 100644 --- a/Structural/Flyweight/FlyweightInterface.php +++ b/Structural/Flyweight/FlyweightInterface.php @@ -3,7 +3,7 @@ namespace DesignPatterns\Structural\Flyweight; /** - * An interface through which flyweights can receive and act on extrinsic state + * An interface through which flyweights can receive and act on extrinsic state. */ interface FlyweightInterface { diff --git a/Structural/Flyweight/Tests/FlyweightTest.php b/Structural/Flyweight/Tests/FlyweightTest.php index 90c3f3a..997c3df 100644 --- a/Structural/Flyweight/Tests/FlyweightTest.php +++ b/Structural/Flyweight/Tests/FlyweightTest.php @@ -6,12 +6,12 @@ use DesignPatterns\Structural\Flyweight\FlyweightFactory; /** * FlyweightTest demonstrates how a client would use the flyweight structure - * You don't have to change the code of your client + * You don't have to change the code of your client. */ class FlyweightTest extends \PHPUnit_Framework_TestCase { private $characters = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', - 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'); + 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', ); private $fonts = array('Arial', 'Times New Roman', 'Verdana', 'Helvetica'); // This is about the number of characters in a book of average length @@ -31,6 +31,6 @@ class FlyweightTest extends \PHPUnit_Framework_TestCase // Flyweight pattern ensures that instances are shared // instead of having hundreds of thousands of individual objects - $this->assertLessThanOrEqual($factory->totalNumber(), sizeof($this->characters)); + $this->assertLessThanOrEqual($factory->totalNumber(), count($this->characters)); } } From ca3a8b2f29d38869fb5a10339c8f3be2bfa652cf Mon Sep 17 00:00:00 2001 From: Christophe Vidal Date: Tue, 14 Jun 2016 06:16:01 +0700 Subject: [PATCH 27/35] Fixed typo --- Structural/Adapter/README.rst | 2 +- locale/ca/LC_MESSAGES/Structural/Adapter/README.po | 2 +- locale/de/LC_MESSAGES/Structural/Adapter/README.po | 2 +- locale/es/LC_MESSAGES/Structural/Adapter/README.po | 2 +- locale/pt_BR/LC_MESSAGES/Structural/Adapter/README.po | 2 +- locale/ru/LC_MESSAGES/Structural/Adapter/README.po | 2 +- locale/zh_CN/LC_MESSAGES/Structural/Adapter/README.po | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Structural/Adapter/README.rst b/Structural/Adapter/README.rst index 1de8425..8d861d0 100644 --- a/Structural/Adapter/README.rst +++ b/Structural/Adapter/README.rst @@ -6,7 +6,7 @@ Purpose To translate one interface for a class into a compatible interface. An adapter allows classes to work together that normally could not because -of incompatible interfaces by providing it's interface to clients while +of incompatible interfaces by providing its interface to clients while using the original interface. Examples diff --git a/locale/ca/LC_MESSAGES/Structural/Adapter/README.po b/locale/ca/LC_MESSAGES/Structural/Adapter/README.po index b351fc9..21bee57 100644 --- a/locale/ca/LC_MESSAGES/Structural/Adapter/README.po +++ b/locale/ca/LC_MESSAGES/Structural/Adapter/README.po @@ -23,7 +23,7 @@ msgstr "" msgid "" "To translate one interface for a class into a compatible interface. An " "adapter allows classes to work together that normally could not because of " -"incompatible interfaces by providing it's interface to clients while using " +"incompatible interfaces by providing its interface to clients while using " "the original interface." msgstr "" diff --git a/locale/de/LC_MESSAGES/Structural/Adapter/README.po b/locale/de/LC_MESSAGES/Structural/Adapter/README.po index 4dfe1b9..f264557 100644 --- a/locale/de/LC_MESSAGES/Structural/Adapter/README.po +++ b/locale/de/LC_MESSAGES/Structural/Adapter/README.po @@ -25,7 +25,7 @@ msgstr "Zweck" msgid "" "To translate one interface for a class into a compatible interface. An " "adapter allows classes to work together that normally could not because of " -"incompatible interfaces by providing it's interface to clients while using " +"incompatible interfaces by providing its interface to clients while using " "the original interface." msgstr "" "Um ein Interface für eine Klasse in ein kompatibles Interface zu " diff --git a/locale/es/LC_MESSAGES/Structural/Adapter/README.po b/locale/es/LC_MESSAGES/Structural/Adapter/README.po index b351fc9..21bee57 100644 --- a/locale/es/LC_MESSAGES/Structural/Adapter/README.po +++ b/locale/es/LC_MESSAGES/Structural/Adapter/README.po @@ -23,7 +23,7 @@ msgstr "" msgid "" "To translate one interface for a class into a compatible interface. An " "adapter allows classes to work together that normally could not because of " -"incompatible interfaces by providing it's interface to clients while using " +"incompatible interfaces by providing its interface to clients while using " "the original interface." msgstr "" diff --git a/locale/pt_BR/LC_MESSAGES/Structural/Adapter/README.po b/locale/pt_BR/LC_MESSAGES/Structural/Adapter/README.po index b351fc9..21bee57 100644 --- a/locale/pt_BR/LC_MESSAGES/Structural/Adapter/README.po +++ b/locale/pt_BR/LC_MESSAGES/Structural/Adapter/README.po @@ -23,7 +23,7 @@ msgstr "" msgid "" "To translate one interface for a class into a compatible interface. An " "adapter allows classes to work together that normally could not because of " -"incompatible interfaces by providing it's interface to clients while using " +"incompatible interfaces by providing its interface to clients while using " "the original interface." msgstr "" diff --git a/locale/ru/LC_MESSAGES/Structural/Adapter/README.po b/locale/ru/LC_MESSAGES/Structural/Adapter/README.po index a07bbcd..fd9cb1d 100644 --- a/locale/ru/LC_MESSAGES/Structural/Adapter/README.po +++ b/locale/ru/LC_MESSAGES/Structural/Adapter/README.po @@ -25,7 +25,7 @@ msgstr "Назначение" msgid "" "To translate one interface for a class into a compatible interface. An " "adapter allows classes to work together that normally could not because of " -"incompatible interfaces by providing it's interface to clients while using " +"incompatible interfaces by providing its interface to clients while using " "the original interface." msgstr "" "Привести нестандартный или неудобный интерфейс какого-то класса в " diff --git a/locale/zh_CN/LC_MESSAGES/Structural/Adapter/README.po b/locale/zh_CN/LC_MESSAGES/Structural/Adapter/README.po index 99ac6ec..0ec1cd9 100644 --- a/locale/zh_CN/LC_MESSAGES/Structural/Adapter/README.po +++ b/locale/zh_CN/LC_MESSAGES/Structural/Adapter/README.po @@ -23,7 +23,7 @@ msgstr "目的" msgid "" "To translate one interface for a class into a compatible interface. An " "adapter allows classes to work together that normally could not because of " -"incompatible interfaces by providing it's interface to clients while using " +"incompatible interfaces by providing its interface to clients while using " "the original interface." msgstr "" "将某个类的接口转换成与另一个接口兼容。适配器通过将原始接口进行转换,给用户" From add59b3cd880a2ce57b939d7cd35c443fbcb7ef5 Mon Sep 17 00:00:00 2001 From: Kalinin Alexandr Date: Wed, 22 Jun 2016 15:58:55 +0400 Subject: [PATCH 28/35] Update Bicycle.php --- Creational/FactoryMethod/Bicycle.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Creational/FactoryMethod/Bicycle.php b/Creational/FactoryMethod/Bicycle.php index 8e41f88..fe6deee 100644 --- a/Creational/FactoryMethod/Bicycle.php +++ b/Creational/FactoryMethod/Bicycle.php @@ -13,7 +13,7 @@ class Bicycle implements VehicleInterface protected $color; /** - * sets the color of the bicycle. + * Sets the color of the bicycle. * * @param string $rgb */ From 2b41a2d8013cbddb851002ca216d4c89b07cd20f Mon Sep 17 00:00:00 2001 From: "nikita.strelkov" Date: Wed, 31 Aug 2016 23:25:31 +0500 Subject: [PATCH 29/35] Translate Flyweight pattern description into Russian --- .../Structural/Flyweight/README.po | 27 ++++++++++++------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/locale/ru/LC_MESSAGES/Structural/Flyweight/README.po b/locale/ru/LC_MESSAGES/Structural/Flyweight/README.po index 9a8b771..81f9e37 100644 --- a/locale/ru/LC_MESSAGES/Structural/Flyweight/README.po +++ b/locale/ru/LC_MESSAGES/Structural/Flyweight/README.po @@ -11,7 +11,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-06-03 23:59+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"Last-Translator: Nikita Strelkov \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" @@ -21,10 +21,12 @@ msgstr "" #: ../../Structural/Flyweight/README.rst:2 msgid "`Flyweight`__" msgstr "" +"`Приспособленец `_ " +"(`Flyweight`__)" #: ../../Structural/Flyweight/README.rst:5 msgid "Purpose" -msgstr "" +msgstr "Назначение" #: ../../Structural/Flyweight/README.rst:7 msgid "" @@ -34,36 +36,41 @@ msgid "" "external data structures and pass them to the flyweight object when " "needed." msgstr "" +"Для уменьшения использования памяти Приспособленец разделяет как можно " +"больше памяти между аналогичными объектами. Это необходимо, когда " +"используется большое количество объектов, состояние которых не сильно " +"отличается. Обычной практикой является хранение состояния во внешних " +"структурах и передавать их в объект-приспособленец, когда необходимо." #: ../../Structural/Flyweight/README.rst:12 msgid "UML Diagram" -msgstr "" +msgstr "UML Диаграмма" #: ../../Structural/Flyweight/README.rst:19 msgid "Code" -msgstr "" +msgstr "Код" #: ../../Structural/Flyweight/README.rst:21 msgid "You can also find these code on `GitHub`_" -msgstr "" +msgstr "Вы можете найти этот код на `GitHub`_" #: ../../Structural/Flyweight/README.rst:23 msgid "FlyweightInterface.php" -msgstr "" +msgstr "FlyweightInterface.php" #: ../../Structural/Flyweight/README.rst:29 msgid "CharacterFlyweight.php" -msgstr "" +msgstr "CharacterFlyweight.php" #: ../../Structural/Flyweight/README.rst:35 msgid "FlyweightFactory.php" -msgstr "" +msgstr "FlyweightFactory.php" #: ../../Structural/Flyweight/README.rst:42 msgid "Test" -msgstr "" +msgstr "Тест" #: ../../Structural/Flyweight/README.rst:44 msgid "Tests/FlyweightTest.php" -msgstr "" +msgstr "Tests/FlyweightTest.php" From a5b5ee49a131fdff67351411b66da485a9f16da6 Mon Sep 17 00:00:00 2001 From: "nikita.strelkov" Date: Thu, 1 Sep 2016 01:44:13 +0500 Subject: [PATCH 30/35] Translate Delegation pattern description into Russian --- .../ru/LC_MESSAGES/More/Delegation/README.po | 96 +++++-------------- 1 file changed, 22 insertions(+), 74 deletions(-) diff --git a/locale/ru/LC_MESSAGES/More/Delegation/README.po b/locale/ru/LC_MESSAGES/More/Delegation/README.po index 3e2676f..1fc6a2a 100644 --- a/locale/ru/LC_MESSAGES/More/Delegation/README.po +++ b/locale/ru/LC_MESSAGES/More/Delegation/README.po @@ -11,7 +11,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-06-03 23:59+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"Last-Translator: Nikita Strelkov \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" @@ -21,10 +21,12 @@ msgstr "" #: ../../More/Delegation/README.rst:2 msgid "`Delegation`__" msgstr "" +"`Делегирование `_" +"(`Delegation`__)" #: ../../More/Delegation/README.rst:5 msgid "Purpose" -msgstr "" +msgstr "Назначение" #: ../../More/Delegation/README.rst:7 msgid "" @@ -35,108 +37,54 @@ msgid "" "function. This inverts the responsibility so that Usage is unknowingly " "executing writeBadCode." msgstr "" +"В этом примере демонстрируется шаблон 'Делегирование', в котором объект, " +"вместо того чтобы выполнять одну из своих поставленных задач, поручает её " +"связанному вспомогательному объекту. В рассматриваемом ниже примере объект " +"TeamLead должен выполнять задачу writeCode, а объект Usage использовать " +"его, но при этом TeamLead перепоручает выполнение задачи writeCode функции " +"writeBadCode объекта JuniorDeveloper. Это инвертирует ответственность так, " +"что объект Usage не зная того выполняет writeBadCode." #: ../../More/Delegation/README.rst:10 msgid "Examples" -msgstr "" +msgstr "Примеры" #: ../../More/Delegation/README.rst:12 msgid "" "Please review JuniorDeveloper.php, TeamLead.php, and then Usage.php to " "see it all tied together." msgstr "" +"Просмотрите, пожалуйста, сначала JuniorDeveloper.php, TeamLead.php " +"и затем Usage.php, чтобы увидеть, как они связаны." #: ../../More/Delegation/README.rst:15 msgid "UML Diagram" -msgstr "" +msgstr "UML Диаграмма" #: ../../More/Delegation/README.rst:22 msgid "Code" -msgstr "" +msgstr "Код" #: ../../More/Delegation/README.rst:24 msgid "You can also find these code on `GitHub`_" -msgstr "" +msgstr "Вы можете найти этот код на `GitHub`_" #: ../../More/Delegation/README.rst:26 msgid "Usage.php" -msgstr "" +msgstr "Usage.php" #: ../../More/Delegation/README.rst:32 msgid "TeamLead.php" -msgstr "" +msgstr "TeamLead.php" #: ../../More/Delegation/README.rst:38 msgid "JuniorDeveloper.php" -msgstr "" +msgstr "JuniorDeveloper.php" #: ../../More/Delegation/README.rst:45 msgid "Test" -msgstr "" +msgstr "Тест" #: ../../More/Delegation/README.rst:47 msgid "Tests/DelegationTest.php" -msgstr "" - - - -#. # -#. msgid "" -#. msgstr "" -#. "Project-Id-Version: DesignPatternsPHP 1.0\n" -#. "Report-Msgid-Bugs-To: \n" -#. "POT-Creation-Date: 2015-05-29 12:18+0200\n" -#. "PO-Revision-Date: 2015-05-30 04:46+0300\n" -#. "Last-Translator: Eugene Glotov \n" -#. "MIME-Version: 1.0\n" -#. "Content-Type: text/plain; charset=UTF-8\n" -#. "Content-Transfer-Encoding: 8bit\n" -#. "Language: ru\n" -#. -#. #: ../../More/Delegation/README.rst:2 -#. msgid "`Delegation`__" -#. msgstr "`Делегирование `_ (`Delegation`__)" -#. -#. #: ../../More/Delegation/README.rst:5 -#. msgid "Purpose" -#. msgstr "Назначение" -#. -#. #: ../../More/Delegation/README.rst:7 ../../More/Delegation/README.rst:12 -#. msgid "..." -#. msgstr "Основной шаблон проектирования, в котором объект внешне выражает некоторое поведение, но в реальности передаёт ответственность за выполнение этого поведения связанному объекту. Шаблон делегирования является фундаментальной абстракцией, на основе которой реализованы другие шаблоны - композиция (также называемая агрегацией), примеси (mixins) и аспекты (aspects). (c) wiki" -#. -#. #: ../../More/Delegation/README.rst:10 -#. msgid "Examples" -#. msgstr "Примеры" -#. -#. #: ../../More/Delegation/README.rst:15 -#. msgid "UML Diagram" -#. msgstr "UML Диаграмма" -#. -#. #: ../../More/Delegation/README.rst:22 -#. msgid "Code" -#. msgstr "Код" -#. -#. #: ../../More/Delegation/README.rst:24 -#. msgid "You can also find these code on `GitHub`_" -#. msgstr "Вы можете найти этот код на `GitHub`_" -#. -#. #: ../../More/Delegation/README.rst:26 -#. msgid "Usage.php" -#. msgstr "Usage.php" -#. -#. #: ../../More/Delegation/README.rst:32 -#. msgid "TeamLead.php" -#. msgstr "TeamLead.php" -#. -#. #: ../../More/Delegation/README.rst:38 -#. msgid "JuniorDeveloper.php" -#. msgstr "JuniorDeveloper.php" -#. -#. #: ../../More/Delegation/README.rst:45 -#. msgid "Test" -#. msgstr "Тест" -#. -#. #: ../../More/Delegation/README.rst:47 -#. msgid "Tests/DelegationTest.php" -#. msgstr "Tests/DelegationTest.php" +msgstr "Tests/DelegationTest.php" From 162778058049fad69c936c9ce2f77aa412e265c7 Mon Sep 17 00:00:00 2001 From: "nikita.strelkov" Date: Thu, 1 Sep 2016 02:26:44 +0500 Subject: [PATCH 31/35] Translate EAV pattern description into Russian --- locale/ru/LC_MESSAGES/More/EAV/README.po | 31 +++++++++++++++--------- 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/locale/ru/LC_MESSAGES/More/EAV/README.po b/locale/ru/LC_MESSAGES/More/EAV/README.po index c101913..1f4c81f 100644 --- a/locale/ru/LC_MESSAGES/More/EAV/README.po +++ b/locale/ru/LC_MESSAGES/More/EAV/README.po @@ -11,7 +11,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-06-03 23:59+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"Last-Translator: Nikita Strelkov \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" @@ -20,17 +20,19 @@ msgstr "" #: ../../More/EAV/README.rst:2 msgid "`Entity-Attribute-Value (EAV)`__" -msgstr "" +msgstr "`Сущность-Артибут-Значение`__" #: ../../More/EAV/README.rst:4 msgid "" "The Entity–attribute–value (EAV) pattern in order to implement EAV model " "with PHP." msgstr "" +"Шаблон Сущность-Атрибут-Значение используется для реализации модели EAV " +"на PHP" #: ../../More/EAV/README.rst:7 msgid "Purpose" -msgstr "" +msgstr "Назначение" #: ../../More/EAV/README.rst:9 msgid "" @@ -39,40 +41,45 @@ msgid "" " be used to describe them is potentially vast, but the number that will " "actually apply to a given entity is relatively modest." msgstr "" +"Модель Сущность-Атрибут-Значение (EAV) - это модель данных, " +"предназначенная для описания сущностей, в которых количество атрибутов " +"(свойств, параметров), характеризующих их, потенциально огромно, " +"но то количество, которое реально будет использоваться в конкретной " +"сущности относительно мало." #: ../../More/EAV/README.rst:15 msgid "Examples" -msgstr "" +msgstr "Примеры" #: ../../More/EAV/README.rst:17 msgid "Check full work example in `example.php`_ file." -msgstr "" +msgstr "Смотри полный работоспособный пример в файле `example.php`_." #: ../../More/EAV/README.rst:90 msgid "UML Diagram" -msgstr "" +msgstr "UML Диаграмма" #: ../../More/EAV/README.rst:97 msgid "Code" -msgstr "" +msgstr "Code" #: ../../More/EAV/README.rst:99 msgid "You can also find these code on `GitHub`_" -msgstr "" +msgstr "Вы можете найти этот код на `GitHub`_" #: ../../More/EAV/README.rst:102 msgid "Test" -msgstr "" +msgstr "Тест" #: ../../More/EAV/README.rst:104 msgid "Tests/EntityTest.php" -msgstr "" +msgstr "Tests/EntityTest.php" #: ../../More/EAV/README.rst:110 msgid "Tests/AttributeTest.php" -msgstr "" +msgstr "Tests/AttributeTest.php" #: ../../More/EAV/README.rst:116 msgid "Tests/ValueTest.php" -msgstr "" +msgstr "Tests/ValueTest.php" From 4581b478e9c1247e48611f94e6629123511f2882 Mon Sep 17 00:00:00 2001 From: "nikita.strelkov" Date: Thu, 1 Sep 2016 14:37:55 +0500 Subject: [PATCH 32/35] Restore Eugene Glotovs translation with some fixes and additions --- .../LC_MESSAGES/Behavioral/Memento/README.po | 174 +++++------------- 1 file changed, 44 insertions(+), 130 deletions(-) diff --git a/locale/ru/LC_MESSAGES/Behavioral/Memento/README.po b/locale/ru/LC_MESSAGES/Behavioral/Memento/README.po index 5107f84..9089e6c 100644 --- a/locale/ru/LC_MESSAGES/Behavioral/Memento/README.po +++ b/locale/ru/LC_MESSAGES/Behavioral/Memento/README.po @@ -11,7 +11,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-06-03 23:59+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"Last-Translator: Eugene Glotov \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" @@ -21,10 +21,12 @@ msgstr "" #: ../../Behavioral/Memento/README.rst:2 msgid "`Memento`__" msgstr "" +"`Хранитель `_" +"(`Memento`__)" #: ../../Behavioral/Memento/README.rst:5 msgid "Purpose" -msgstr "" +msgstr "Назначение" #: ../../Behavioral/Memento/README.rst:7 msgid "" @@ -33,12 +35,18 @@ msgid "" "revealing it's implementation (i.e., the object is not required to have a" " functional for return the current state)." msgstr "" +"Шаблон предоставляет возможность восстановить объект в его предыдущем состоянии " +"(отменить действие посредством отката к предыдущему состоянию) или получить " +"доступ к состоянию объекта, не раскрывая его реализацию (т.е. сам " +"объект не обязан иметь функциональность для возврата текущего состояния)." #: ../../Behavioral/Memento/README.rst:12 msgid "" "The memento pattern is implemented with three objects: the Originator, a " "Caretaker and a Memento." msgstr "" +"Шаблон Хранитель реализуется тремя объектами: \"Создателем\" (originator), " +"\"Опекуном\" (caretaker) и \"Хранитель\" (memento)." #: ../../Behavioral/Memento/README.rst:15 msgid "" @@ -51,6 +59,14 @@ msgid "" "reference* to the original object. The Memento object is a \"opaque " "object\" (the object that no one can or should change)." msgstr "" +"Хранитель - это объект, который *хранит конкретный снимок состояния* " +"некоторого объекта или ресурса: строки, числа, массива, экземпляра " +"класса и так далее. Уникальность в данном случае подразумевает не запрет на " +"существование одинаковых состояний в разных снимках, а то, что состояние " +"можно извлечь в виде независимой копии. Любой объект, сохраняемый в " +"Хранителе, должен быть *полной копией исходного объекта, а не ссылкой* на " +"исходный объект. Сам объект Хранитель является «непрозрачным объектом» (тот, " +"который никто не может и не должен изменять)." #: ../../Behavioral/Memento/README.rst:24 msgid "" @@ -63,6 +79,14 @@ msgid "" "type of object. Originator may (but not should) have any methods, but " "they *they can't make changes to the saved object state*." msgstr "" +"Создатель — это объект, который *содержит в себе актуальное состояние внешнего " +"объекта строго заданного типа* и умеет создавать уникальную копию этого " +"состояния, возвращая её, обёрнутую в обеъкт Хранителя. Создатель не знает истории " +"изменений. Создателю можно принудительно установить конкретное состояние " +"извне, которое будет считаться актуальным. Создатель должен позаботиться о том, " +"чтобы это состояние соответствовало типу объекта, с которым ему разрешено " +"работать. Создатель может (но не обязан) иметь любые методы, но они *не могут " +"менять сохранённое состояние объекта*." #: ../../Behavioral/Memento/README.rst:33 msgid "" @@ -71,171 +95,61 @@ msgid "" "Originator; ask from the Originator snapshot of the current state; or set" " the Originator state to equivalence with some snapshot from history." msgstr "" +"Опекун *управляет историей снимков состояний*. Он может вносить изменения в " +"объект, принимать решение о сохранении состояния внешнего объекта в Создателе, " +"запрашивать от Создателя снимок текущего состояния, или привести состояние " +"Создателя в соответствие с состоянием какого-то снимка из истории." #: ../../Behavioral/Memento/README.rst:39 msgid "Examples" -msgstr "" +msgstr "Примеры" #: ../../Behavioral/Memento/README.rst:41 msgid "The seed of a pseudorandom number generator" msgstr "" +"`Зерно `_ генератора псевдослучайных " +"чисел." #: ../../Behavioral/Memento/README.rst:42 msgid "The state in a finite state machine" -msgstr "" +msgstr "Состояние конечного автомата" #: ../../Behavioral/Memento/README.rst:43 msgid "" "Control for intermediate states of `ORM Model " "`_ before saving" msgstr "" +"Контроль промежуточных состояний модели в `ORM" +"`_ перед сохранением" #: ../../Behavioral/Memento/README.rst:46 msgid "UML Diagram" -msgstr "" +msgstr "UML Диаграмма" #: ../../Behavioral/Memento/README.rst:53 msgid "Code" -msgstr "" +msgstr "Код" #: ../../Behavioral/Memento/README.rst:55 msgid "You can also find these code on `GitHub`_" -msgstr "" +msgstr "Вы можете найти этот код на `GitHub`_" #: ../../Behavioral/Memento/README.rst:57 msgid "Memento.php" -msgstr "" +msgstr "Memento.php" #: ../../Behavioral/Memento/README.rst:63 msgid "Originator.php" -msgstr "" +msgstr "Originator.php" #: ../../Behavioral/Memento/README.rst:69 msgid "Caretaker.php" -msgstr "" +msgstr "Caretaker.php" #: ../../Behavioral/Memento/README.rst:76 msgid "Test" -msgstr "" +msgstr "Тест" #: ../../Behavioral/Memento/README.rst:78 msgid "Tests/MementoTest.php" -msgstr "" - - - -#. # -#. msgid "" -#. msgstr "" -#. "Project-Id-Version: DesignPatternsPHP 1.0\n" -#. "Report-Msgid-Bugs-To: \n" -#. "POT-Creation-Date: 2015-05-29 12:18+0200\n" -#. "PO-Revision-Date: 2015-05-30 01:42+0300\n" -#. "Last-Translator: Eugene Glotov \n" -#. "MIME-Version: 1.0\n" -#. "Content-Type: text/plain; charset=UTF-8\n" -#. "Content-Transfer-Encoding: 8bit\n" -#. "Language: ru\n" -#. -#. #: ../../Behavioral/Memento/README.rst:2 -#. msgid "`Memento`__" -#. msgstr "`Хранитель`__" -#. -#. #: ../../Behavioral/Memento/README.rst:5 -#. msgid "Purpose" -#. msgstr "Назначение" -#. -#. #: ../../Behavioral/Memento/README.rst:7 -#. msgid "" -#. "Provide the ability to restore an object to its previous state (undo via " -#. "rollback)." -#. msgstr "" -#. "Предоставляет возможность восстановить объект в его предыдущем состоянии или " -#. "получить доступ к состоянию объекта, не раскрывая его реализацию (т.е. сам " -#. "объект не обязан иметь функционал возврата текущего состояния)." -#. -#. #: ../../Behavioral/Memento/README.rst:10 -#. msgid "" -#. "The memento pattern is implemented with three objects: the originator, a " -#. "caretaker and a memento. The originator is some object that has an internal " -#. "state. The caretaker is going to do something to the originator, but wants " -#. "to be able to undo the change. The caretaker first asks the originator for a" -#. " memento object. Then it does whatever operation (or sequence of operations)" -#. " it was going to do. To roll back to the state before the operations, it " -#. "returns the memento object to the originator. The memento object itself is " -#. "an opaque object (one which the caretaker cannot, or should not, change). " -#. "When using this pattern, care should be taken if the originator may change " -#. "other objects or resources - the memento pattern operates on a single " -#. "object." -#. msgstr "" -#. "Паттерн «Хранитель» реализуется тремя объектами: Создатель, Опекун и " -#. "Хранитель.\n" -#. "\n" -#. "Хранитель — объект, который *хранит конкретный уникальный слепок состояния* " -#. "любого объекта или ресурса: строка, число, массив, экземпляр класса и так " -#. "далее. Уникальность в данном случае подразумевает не запрет существования " -#. "одинаковых состояний в слепках, а то, что состояние можно извлечь в виде " -#. "независимого клона. Это значит, объект, сохраняемый в Хранитель, должен *быть " -#. "полной копией исходного объекта а не ссылкой* на исходный объект. Сам объект " -#. "Хранитель является «непрозрачным объектом» (тот, который никто не может и не " -#. "должен изменять).\n" -#. "\n" -#. "Создатель — это объект, который *содержит в себе актуальное состояние внешнего " -#. "объекта строго заданного типа* и умеет создать уникальную копию этого " -#. "состояния, возвращая её обёрнутую в Хранитель. Создатель не знает истории " -#. "изменений. Создателю можно принудительно установить конкретное состояние " -#. "извне, которое будет считаться актуальным. Создатель должен позаботиться, " -#. "чтобы это состояние соответствовало типу объекта, с которым ему разрешено " -#. "работать. Создатель может (но не обязан) иметь любые методы, но они *не могут " -#. "менять сохранённое состояние объекта*.\n" -#. "\n" -#. "Опекун *управляет историей слепков состояний*. Он может вносить изменения в " -#. "объект, принимать решение о сохранении состояния внешнего объекта в Создателе, " -#. "требовать от Создателя слепок текущего состояния, или привести состояние " -#. "Создателя в соответствие состоянию какого-то слепка из истории." -#. -#. #: ../../Behavioral/Memento/README.rst:23 -#. msgid "Examples" -#. msgstr "Примеры" -#. -#. #: ../../Behavioral/Memento/README.rst:25 -#. msgid "The seed of a pseudorandom number generator" -#. msgstr "" -#. "`Семя `_ псевдослучайного генератора " -#. "чисел." -#. -#. #: ../../Behavioral/Memento/README.rst:26 -#. msgid "The state in a finite state machine" -#. msgstr "Состояние конечного автомата" -#. -#. #: ../../Behavioral/Memento/README.rst:29 -#. msgid "UML Diagram" -#. msgstr "UML Диаграмма" -#. -#. #: ../../Behavioral/Memento/README.rst:36 -#. msgid "Code" -#. msgstr "Код" -#. -#. #: ../../Behavioral/Memento/README.rst:38 -#. msgid "You can also find these code on `GitHub`_" -#. msgstr "Вы можете найти этот код на `GitHub`_" -#. -#. #: ../../Behavioral/Memento/README.rst:40 -#. msgid "Memento.php" -#. msgstr "Memento.php" -#. -#. #: ../../Behavioral/Memento/README.rst:46 -#. msgid "Originator.php" -#. msgstr "Originator.php" -#. -#. #: ../../Behavioral/Memento/README.rst:52 -#. msgid "Caretaker.php" -#. msgstr "Caretaker.php" -#. -#. #: ../../Behavioral/Memento/README.rst:59 -#. msgid "Test" -#. msgstr "Тест" -#. -#. #: ../../Behavioral/Memento/README.rst:61 -#. msgid "Tests/MementoTest.php" -#. msgstr "Tests/MementoTest.php" +msgstr "Tests/MementoTest.php" From 3c67d5af7041d1715f7b7d1fa6ca38b29d797544 Mon Sep 17 00:00:00 2001 From: "nikita.strelkov" Date: Thu, 1 Sep 2016 15:39:42 +0500 Subject: [PATCH 33/35] Generate UML diagram for Flyweight --- Structural/Flyweight/uml/Flyweight.uml | 27 ++ Structural/Flyweight/uml/uml.png | Bin 0 -> 18579 bytes Structural/Flyweight/uml/uml.svg | 466 +++++++++++++++++++++++++ 3 files changed, 493 insertions(+) create mode 100644 Structural/Flyweight/uml/Flyweight.uml create mode 100644 Structural/Flyweight/uml/uml.png create mode 100644 Structural/Flyweight/uml/uml.svg diff --git a/Structural/Flyweight/uml/Flyweight.uml b/Structural/Flyweight/uml/Flyweight.uml new file mode 100644 index 0000000..5d53b0f --- /dev/null +++ b/Structural/Flyweight/uml/Flyweight.uml @@ -0,0 +1,27 @@ + + + PHP + \DesignPatterns\Structural\Flyweight\FlyweightFactory + + \DesignPatterns\Structural\Flyweight\CharacterFlyweight + \DesignPatterns\Structural\Flyweight\FlyweightFactory + \DesignPatterns\Structural\Flyweight\FlyweightInterface + + + + + + + + + + + + Fields + Constants + Constructors + Methods + + private + + diff --git a/Structural/Flyweight/uml/uml.png b/Structural/Flyweight/uml/uml.png new file mode 100644 index 0000000000000000000000000000000000000000..1209ab4a7a0f39de72b855d584175675b2cdfbe5 GIT binary patch literal 18579 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + name + + + + + + + + + + + + + __construct(name) + + + + + + + + + + + + + draw(font) + + + + + + + + + + + + + CharacterFlyweight + + + CharacterFlyweight + + + + + + + + + + + + + + + + name + + + + + + + + + + + + + __construct(name) + + + + + + + + + + + + + draw(font) + + + + + + + + + + + + + CharacterFlyweight + + + CharacterFlyweight + + + + + + + + + + + + + + + + + + + pool + + + + + + + + + + + + + __get(name) + + + + + + + + + + totalNumber() + + + + + + + + + + + + + FlyweightFactory + + + FlyweightFactory + + + + + + + + + + + + + + + + pool + + + + + + + + + + + + + __get(name) + + + + + + + + + + totalNumber() + + + + + + + + + + + + + FlyweightFactory + + + FlyweightFactory + + + + + + + + + + + + + + + + + + + draw(extrinsicState) + + + + + + + + + + + + + FlyweightInterface + + + FlyweightInterface + + + + + + + + + + + + + + + + draw(extrinsicState) + + + + + + + + + + + + + FlyweightInterface + + + FlyweightInterface + + + + + + + + + From 5139033d45554bbfdbad15c1828afbeeb8e48e10 Mon Sep 17 00:00:00 2001 From: shangguokan Date: Thu, 1 Sep 2016 13:48:41 +0200 Subject: [PATCH 34/35] title fix --- locale/ru/LC_MESSAGES/Behavioral/Memento/README.po | 4 +--- locale/ru/LC_MESSAGES/More/Delegation/README.po | 4 +--- locale/ru/LC_MESSAGES/Structural/Flyweight/README.po | 4 +--- 3 files changed, 3 insertions(+), 9 deletions(-) diff --git a/locale/ru/LC_MESSAGES/Behavioral/Memento/README.po b/locale/ru/LC_MESSAGES/Behavioral/Memento/README.po index 9089e6c..a11f2e1 100644 --- a/locale/ru/LC_MESSAGES/Behavioral/Memento/README.po +++ b/locale/ru/LC_MESSAGES/Behavioral/Memento/README.po @@ -20,9 +20,7 @@ msgstr "" #: ../../Behavioral/Memento/README.rst:2 msgid "`Memento`__" -msgstr "" -"`Хранитель `_" -"(`Memento`__)" +msgstr "`Хранитель `_ (`Memento`__)" #: ../../Behavioral/Memento/README.rst:5 msgid "Purpose" diff --git a/locale/ru/LC_MESSAGES/More/Delegation/README.po b/locale/ru/LC_MESSAGES/More/Delegation/README.po index 1fc6a2a..a0e0312 100644 --- a/locale/ru/LC_MESSAGES/More/Delegation/README.po +++ b/locale/ru/LC_MESSAGES/More/Delegation/README.po @@ -20,9 +20,7 @@ msgstr "" #: ../../More/Delegation/README.rst:2 msgid "`Delegation`__" -msgstr "" -"`Делегирование `_" -"(`Delegation`__)" +msgstr "`Делегирование `_ (`Delegation`__)" #: ../../More/Delegation/README.rst:5 msgid "Purpose" diff --git a/locale/ru/LC_MESSAGES/Structural/Flyweight/README.po b/locale/ru/LC_MESSAGES/Structural/Flyweight/README.po index 81f9e37..a8f0879 100644 --- a/locale/ru/LC_MESSAGES/Structural/Flyweight/README.po +++ b/locale/ru/LC_MESSAGES/Structural/Flyweight/README.po @@ -20,9 +20,7 @@ msgstr "" #: ../../Structural/Flyweight/README.rst:2 msgid "`Flyweight`__" -msgstr "" -"`Приспособленец `_ " -"(`Flyweight`__)" +msgstr "`Приспособленец `_ (`Flyweight`__)" #: ../../Structural/Flyweight/README.rst:5 msgid "Purpose" From f281f412c45fe2d87417cf5d42d2f0ae15fa3395 Mon Sep 17 00:00:00 2001 From: Diogo Alexsander Cavilha Date: Fri, 9 Sep 2016 10:17:41 -0300 Subject: [PATCH 35/35] Update DateComparator.php --- Behavioral/Strategy/DateComparator.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Behavioral/Strategy/DateComparator.php b/Behavioral/Strategy/DateComparator.php index bc7ffea..15c2f20 100644 --- a/Behavioral/Strategy/DateComparator.php +++ b/Behavioral/Strategy/DateComparator.php @@ -17,8 +17,8 @@ class DateComparator implements ComparatorInterface if ($aDate == $bDate) { return 0; - } else { - return $aDate < $bDate ? -1 : 1; } + + return $aDate < $bDate ? -1 : 1; } }