Merge remote-tracking branch 'origin/master' into iterator-bug

This commit is contained in:
Dominik Liebler
2016-09-21 14:38:53 +02:00
99 changed files with 3027 additions and 892 deletions

View File

@@ -17,8 +17,8 @@ class DateComparator implements ComparatorInterface
if ($aDate == $bDate) {
return 0;
} else {
}
return $aDate < $bDate ? -1 : 1;
}
}
}

View File

@@ -2,9 +2,6 @@
namespace DesignPatterns\Behavioral\TemplateMethod;
/**
*
*/
abstract class Journey
{
/**

View File

@@ -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
{

View File

@@ -2,9 +2,6 @@
namespace DesignPatterns\Creational\Builder;
/**
*
*/
interface BuilderInterface
{
/**

View File

@@ -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
*/

View File

@@ -7,3 +7,4 @@ More
Delegation/README
ServiceLocator/README
Repository/README
EAV/README

View File

@@ -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)
@@ -98,7 +99,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) 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

View File

@@ -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

View File

@@ -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

View File

@@ -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()
{

View File

@@ -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());
}
}

View File

@@ -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));
}

View File

@@ -10,7 +10,7 @@ interface RendererInterface
/**
* render data.
*
* @return mixed
* @return string
*/
public function renderData();
}

View File

@@ -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();
}

View File

@@ -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()
{

View File

@@ -3,12 +3,12 @@
namespace DesignPatterns\Structural\Facade;
/**
* Class OsInterface.
* Interface OsInterface.
*/
interface OsInterface
{
/**
* halt the OS.
* Halt the OS.
*/
public function halt();
}

View File

@@ -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)

View File

@@ -0,0 +1,37 @@
<?php
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
{
/**
* 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;
/**
* @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");
}
}

View File

@@ -0,0 +1,41 @@
<?php
namespace DesignPatterns\Structural\Flyweight;
/**
* 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.
*
* @var array
*/
private $pool = array();
/**
* Magic getter.
*
* @param string $name
*
* @return Flyweight
*/
public function __get($name)
{
if (!array_key_exists($name, $this->pool)) {
$this->pool[$name] = new CharacterFlyweight($name);
}
return $this->pool[$name];
}
/**
* @return int
*/
public function totalNumber()
{
return count($this->pool);
}
}

View File

@@ -0,0 +1,14 @@
<?php
namespace DesignPatterns\Structural\Flyweight;
/**
* An interface through which flyweights can receive and act on extrinsic state.
*/
interface FlyweightInterface
{
/**
* @param string $extrinsicState
*/
public function draw($extrinsicState);
}

View File

@@ -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

View File

@@ -0,0 +1,36 @@
<?php
namespace DesignPatterns\Structural\Flyweight\Tests;
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.
*/
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');
// 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);
}
// Flyweight pattern ensures that instances are shared
// instead of having hundreds of thousands of individual objects
$this->assertLessThanOrEqual($factory->totalNumber(), count($this->characters));
}
}

View File

@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<Diagram>
<ID>PHP</ID>
<OriginalElement>\DesignPatterns\Structural\Flyweight\FlyweightFactory</OriginalElement>
<nodes>
<node x="14.0" y="109.0">\DesignPatterns\Structural\Flyweight\CharacterFlyweight</node>
<node x="235.0" y="0.0">\DesignPatterns\Structural\Flyweight\FlyweightFactory</node>
<node x="-8.0" y="0.0">\DesignPatterns\Structural\Flyweight\FlyweightInterface</node>
</nodes>
<notes />
<edges>
<edge source="\DesignPatterns\Structural\Flyweight\CharacterFlyweight" target="\DesignPatterns\Structural\Flyweight\FlyweightInterface">
<point x="0.0" y="-56.5" />
<point x="0.0" y="29.5" />
</edge>
</edges>
<settings layout="Hierarchic Group" zoom="1.0" x="191.0" y="111.0" />
<SelectedNodes />
<Categories>
<Category>Fields</Category>
<Category>Constants</Category>
<Category>Constructors</Category>
<Category>Methods</Category>
</Categories>
<VISIBILITY>private</VISIBILITY>
</Diagram>

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 58 KiB

View File

@@ -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)

View File

@@ -16,6 +16,7 @@ relationships between entities.
DependencyInjection/README
Facade/README
FluentInterface/README
Flyweight/README
Proxy/README
Registry/README

View File

@@ -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 ""

View File

@@ -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 <EMAIL@ADDRESS>, 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 <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\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 "
"<http://en.wikipedia.org/wiki/Object-relational_mapping>`_ 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 ""

View File

@@ -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 <EMAIL@ADDRESS>, 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 <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\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 ""

View File

@@ -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 <EMAIL@ADDRESS>, 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 <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\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 Entityattributevalue (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 Entityattributevalue (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 ""

View File

@@ -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

View File

@@ -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 ""

View File

@@ -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 <EMAIL@ADDRESS>, 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 <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\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 ""

View File

@@ -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

View File

@@ -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 <liebler.dominik@gmail.com>\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 "`Итератор <https://ru.wikipedia.org/wiki/Итератор_(шаблон_проектирования)>`_ (`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"

View File

@@ -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 "

View File

@@ -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 <EMAIL@ADDRESS>, 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 <liebler.dominik@gmail.com>\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 <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\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 "
"<http://en.wikipedia.org/wiki/Object-relational_mapping>`_ 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 <liebler.dominik@gmail.com>\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"

View File

@@ -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 <liebler.dominik@gmail.com>\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 ""
"`Абстрактная фабрика <https://ru.wikipedia.org/wiki/"
"Абстрактная_фабрика_(шаблон_проектирования)>`_ (`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"

View File

@@ -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 <liebler.dominik@gmail.com>\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 ""
"`Строитель <https://ru.wikipedia.org/wiki/"
"Строитель_(шаблон_проектирования)>`_ (`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 ""
"Примечание: Строители могут иметь `текучий интерфейс <https://ru.wikipedia."
"org/wiki/Fluent_interface>`_, например, строитель макетов в 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"

View File

@@ -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 <liebler.dominik@gmail.com>\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 ""
"`Фабричный Метод <https://ru.wikipedia.org/wiki/"
абричный_метод_(шаблон_проектирования)>`_ (`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 <https://"
"ru.wikipedia.org/wiki/SOLID_(объектно-ориентированное_программирование)>`_."
"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"

View File

@@ -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 <liebler.dominik@gmail.com>\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"

View File

@@ -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 <liebler.dominik@gmail.com>\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 ""
"`Объектный пул <https://ru.wikipedia.org/wiki/Объектный_пул>`_ (`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"

View File

@@ -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 <liebler.dominik@gmail.com>\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 ""
"`Прототип <https://ru.wikipedia.org/wiki/"
рототип_(шаблон_проектирования)>`_ (`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"

View File

@@ -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 <liebler.dominik@gmail.com>\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."

View File

@@ -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 <liebler.dominik@gmail.com>\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"

View File

@@ -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 <liebler.dominik@gmail.com>\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 ""
"`Одиночка <https://ru.wikipedia.org/wiki/"
"Одиночка_(шаблон_проектирования)>`_ (`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"

View File

@@ -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 <liebler.dominik@gmail.com>\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"

View File

@@ -1,60 +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 <EMAIL@ADDRESS>, 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: Dominik Liebler <liebler.dominik@gmail.com>\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 <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\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"
"Generated-By: Babel 2.3.4\n"
#: ../../More/Delegation/README.rst:2
msgid "`Delegation`__"
msgstr "`Делегирование <https://ru.wikipedia.org/wiki/Шаблон_делегирования>`_ (`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 ""

View File

@@ -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 <EMAIL@ADDRESS>, 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 <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\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 Entityattributevalue (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 Entityattributevalue (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 ""

View File

@@ -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 <liebler.dominik@gmail.com>\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"

View File

@@ -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 <liebler.dominik@gmail.com>\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"

View File

@@ -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 <liebler.dominik@gmail.com>\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"

View File

@@ -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 ""

View File

@@ -4,64 +4,64 @@ 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 <liebler.dominik@gmail.com>\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 ""
"`Адаптер <https://ru.wikipedia.org/wiki/Адаптер_(шаблон_проектирования)>`_ "
"(`Adapter / Wrapper`__)"
msgstr "`Adapter / Wrapper`__"
#: ../../Structural/Adapter/README.rst:5
msgid "Purpose"
msgstr "Назначение"
msgstr "Zweck"
#: ../../Structural/Adapter/README.rst:7
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 "
"ü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"

View File

@@ -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 <liebler.dominik@gmail.com>\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 ""
"`Мост <https://ru.wikipedia.org/wiki/Мост_(шаблон_проектирования)>`_ "
"(`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 <https://github.com/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"

View File

@@ -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 <liebler.dominik@gmail.com>\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 ""
"`Компоновщик <https://ru.wikipedia.org/wiki/"
"Компоновщик_(шаблон_проектирования)>`_ (`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"

View File

@@ -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 <liebler.dominik@gmail.com>\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) является то, что модель данных следует `Принципу Единой "
"Обязанности <https://ru.wikipedia.org/wiki/"
ринцип_единственной_обязанности>`_ 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"

View File

@@ -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 <liebler.dominik@gmail.com>\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 ""
"`Декоратор <https://ru.wikipedia.org/wiki/"
екоратор_(шаблон_проектирования)>`_ (`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"

View File

@@ -4,68 +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: 2015-06-02 01:32+0300\n"
"PO-Revision-Date: 2016-04-04 08:17+0200\n"
"Last-Translator: Dominik Liebler <liebler.dominik@gmail.com>\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`__"
msgstr ""
"`Внедрение Зависимости <https://ru.wikipedia.org/wiki/"
"Внедрениеависимости>`_ (`Dependency Injection`__)"
msgstr "`Dependency Injection`__"
#: ../../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 "
"<http://en.wikipedia.org/wiki/Inversion_of_control>`__."
"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 <http://en."
"wikipedia.org/wiki/Inversion_of_control>`__."
msgstr ""
"Обратите внимание, в ``Connection`` мы следуем принципу SOLID `Инверсия "
"Управления <https://ru.wikipedia.org/wiki/Инверсия_управления>`_, "
"запрашивая параметр ``$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 "
"<http://en.wikipedia.org/wiki/Inversion_of_control>`__."
#: ../../Structural/DependencyInjection/README.rst:26
msgid "Examples"
msgstr "Примеры"
msgstr "Beispiele"
#: ../../Structural/DependencyInjection/README.rst:28
msgid ""
@@ -74,10 +73,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 +83,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 +117,7 @@ msgstr "Connection.php"
#: ../../Structural/DependencyInjection/README.rst:73
msgid "Test"
msgstr "Тест"
msgstr "Теst"
#: ../../Structural/DependencyInjection/README.rst:75
msgid "Tests/DependencyInjectionTest.php"

View File

@@ -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 <liebler.dominik@gmail.com>\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 ""
"`Фасад <https://ru.wikipedia.org/wiki/Фасад_(шаблон_проектирования)>`_ "
"(`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. Это только побочный эффект. Главная "
"цель всё же состоит в уменьшении связности кода и соблюдении `Закона "
"Деметры <https://ru.wikipedia.org/wiki/Закон_Деметры>`_."
"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"

View File

@@ -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 <liebler.dominik@gmail.com>\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 ""
"`Текучий Интерфейс <https://ru.wikipedia.org/wiki/Fluent_interface>`_ "
"(`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 "Doctrine2s 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"

View File

@@ -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 <EMAIL@ADDRESS>, 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 <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\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 ""

View File

@@ -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 <liebler.dominik@gmail.com>\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 ""
"`Прокси <https://ru.wikipedia.org/wiki/Proxy_(шаблон_проектирования)>`_ "
"(`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"

View File

@@ -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 <liebler.dominik@gmail.com>\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 ""
"`Структурные шаблоны проектирования <https://ru.wikipedia.org/wiki/"
"Структурныеаблоны_проектирования>`_ (`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."

View File

@@ -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 <liebler.dominik@gmail.com>\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."
"Zend Framework 1: ``Zend_Registry`` holds the application's logger "
"object, front controller etc."
msgstr ""
"Zend Framework: ``Zend_Registry`` содержит объект журналирования "
"приложения (логгер), фронт-контроллер и т.д."
"Zend Framework 1: ``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"

View File

@@ -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 ""

View File

@@ -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 <EMAIL@ADDRESS>, 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 <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\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 "
"<http://en.wikipedia.org/wiki/Object-relational_mapping>`_ 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 <EMAIL@ADDRESS>\n"
#. "Language-Team: LANGUAGE <LL@li.org>\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 ""

View File

@@ -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 <EMAIL@ADDRESS>, 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 <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\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 ""

View File

@@ -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 <EMAIL@ADDRESS>, 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 <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\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 Entityattributevalue (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 Entityattributevalue (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 ""

View File

@@ -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 ""

View File

@@ -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 ""

View File

@@ -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 <EMAIL@ADDRESS>, 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 <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\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 ""

View File

@@ -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

View File

@@ -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 ""

View File

@@ -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 <EMAIL@ADDRESS>, 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 <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\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 "
"<http://en.wikipedia.org/wiki/Object-relational_mapping>`_ 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 <EMAIL@ADDRESS>\n"
#. "Language-Team: LANGUAGE <LL@li.org>\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 ""

View File

@@ -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 <EMAIL@ADDRESS>, 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 <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\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 ""

View File

@@ -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 <EMAIL@ADDRESS>, 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 <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\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 Entityattributevalue (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 Entityattributevalue (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 ""

View File

@@ -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 ""

View File

@@ -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 ""

View File

@@ -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 <EMAIL@ADDRESS>, 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 <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\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 ""

View File

@@ -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

View File

@@ -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 ""
"Этот паттерн позволяет снизить связность множества компонентов, работающих "
"совместно. Объектам больше нет нужды вызывать друг друга напрямую. Это "

View File

@@ -1,19 +1,26 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2015, Dominik Liebler and contributors
# This file is distributed under the same license as the DesignPatternsPHP
# package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 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"
"POT-Creation-Date: 2016-06-03 23:59+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Eugene Glotov <kivagant@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\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 "`Хранитель <https://ru.wikipedia.org/wiki/Хранитель_(шаблон_проектирования)>`_ (`Memento`__)"
#: ../../Behavioral/Memento/README.rst:5
msgid "Purpose"
@@ -21,95 +28,126 @@ 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 ""
"Шаблон Хранитель реализуется тремя объектами: \"Создателем\" (originator), "
"\"Опекуном\" (caretaker) и \"Хранитель\" (memento)."
#: ../../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 ""
"Паттерн «Хранитель» реализуется тремя объектами: Создатель, Опекун и "
"Хранитель.\n"
"\n"
"Хранитель — объект, который *хранит конкретный уникальный слепок состояния* "
"любого объекта или ресурса: строка, число, массив, экземпляр класса и так "
"далее. Уникальность в данном случае подразумевает не запрет существования "
"одинаковых состояний в слепках, а то, что состояние можно извлечь в виде "
"независимого клона. Это значит, объект, сохраняемый в Хранитель, должен *быть "
"полной копией исходного объекта а не ссылкой* на исходный объект. Сам объект "
"Хранитель является «непрозрачным объектом» (тот, который никто не может и не "
"должен изменять).\n"
"\n"
"Создатель — это объект, который *содержит в себе актуальное состояние внешнего "
"объекта строго заданного типа* и умеет создать уникальную копию этого "
"состояния, возвращая её обёрнутую в Хранитель. Создатель не знает истории "
"объекта строго заданного типа* и умеет создавать уникальную копию этого "
"состояния, возвращая её, обёрнутую в обеъкт Хранителя. Создатель не знает истории "
"изменений. Создателю можно принудительно установить конкретное состояние "
"извне, которое будет считаться актуальным. Создатель должен позаботиться, "
"извне, которое будет считаться актуальным. Создатель должен позаботиться о том, "
"чтобы это состояние соответствовало типу объекта, с которым ему разрешено "
"работать. Создатель может (но не обязан) иметь любые методы, но они *не могут "
"менять сохранённое состояние объекта*.\n"
"\n"
"Опекун *управляет историей слепков состояний*. Он может вносить изменения в "
"объект, принимать решение о сохранении состояния внешнего объекта в Создателе, "
"требовать от Создателя слепок текущего состояния, или привести состояние "
"Создателя в соответствие состоянию какого-то слепка из истории."
"менять сохранённое состояние объекта*."
#: ../../Behavioral/Memento/README.rst:23
#: ../../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 ""
"`Семя <http://en.wikipedia.org/wiki/Random_seed>`_ псевдослучайного генератора "
"`Зерно <http://en.wikipedia.org/wiki/Random_seed>`_ генератора псевдослучайных "
"чисел."
#: ../../Behavioral/Memento/README.rst:26
#: ../../Behavioral/Memento/README.rst:42
msgid "The state in a finite state machine"
msgstr "Состояние конечного автомата"
#: ../../Behavioral/Memento/README.rst:29
#: ../../Behavioral/Memento/README.rst:43
msgid ""
"Control for intermediate states of `ORM Model "
"<http://en.wikipedia.org/wiki/Object-relational_mapping>`_ before saving"
msgstr ""
"Контроль промежуточных состояний модели в `ORM"
"<http://en.wikipedia.org/wiki/Object-relational_mapping>`_ перед сохранением"
#: ../../Behavioral/Memento/README.rst:46
msgid "UML Diagram"
msgstr "UML Диаграмма"
#: ../../Behavioral/Memento/README.rst:36
#: ../../Behavioral/Memento/README.rst:53
msgid "Code"
msgstr "Код"
#: ../../Behavioral/Memento/README.rst:38
#: ../../Behavioral/Memento/README.rst:55
msgid "You can also find these code on `GitHub`_"
msgstr "Вы можете найти этот код на `GitHub`_"
#: ../../Behavioral/Memento/README.rst:40
#: ../../Behavioral/Memento/README.rst:57
msgid "Memento.php"
msgstr "Memento.php"
#: ../../Behavioral/Memento/README.rst:46
#: ../../Behavioral/Memento/README.rst:63
msgid "Originator.php"
msgstr "Originator.php"
#: ../../Behavioral/Memento/README.rst:52
#: ../../Behavioral/Memento/README.rst:69
msgid "Caretaker.php"
msgstr "Caretaker.php"
#: ../../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 "Tests/MementoTest.php"

View File

@@ -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 <EMAIL@ADDRESS>, 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 <kivagant@gmail.com>\n"
"POT-Creation-Date: 2016-06-03 23:59+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Nikita Strelkov <nikita.strelkov@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\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`__"
@@ -19,14 +26,35 @@ msgstr "`Делегирование <https://ru.wikipedia.org/wiki/Шаблон_
msgid "Purpose"
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 ""
"В этом примере демонстрируется шаблон 'Делегирование', в котором объект, "
"вместо того чтобы выполнять одну из своих поставленных задач, поручает её "
"связанному вспомогательному объекту. В рассматриваемом ниже примере объект "
"TeamLead должен выполнять задачу writeCode, а объект Usage использовать "
"его, но при этом TeamLead перепоручает выполнение задачи writeCode функции "
"writeBadCode объекта JuniorDeveloper. Это инвертирует ответственность так, "
"что объект Usage не зная того выполняет writeBadCode."
#: ../../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 ""
"Просмотрите, пожалуйста, сначала JuniorDeveloper.php, TeamLead.php "
"и затем Usage.php, чтобы увидеть, как они связаны."
#: ../../More/Delegation/README.rst:15
msgid "UML Diagram"
msgstr "UML Диаграмма"

View File

@@ -0,0 +1,85 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2015, Dominik Liebler and contributors
# This file is distributed under the same license as the DesignPatternsPHP
# package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 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: Nikita Strelkov <nikita.strelkov@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\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 Entityattributevalue (EAV) pattern in order to implement EAV model "
"with PHP."
msgstr ""
"Шаблон Сущность-Атрибут-Значение используется для реализации модели EAV "
"на PHP"
#: ../../More/EAV/README.rst:7
msgid "Purpose"
msgstr "Назначение"
#: ../../More/EAV/README.rst:9
msgid ""
"The Entityattributevalue (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 ""
"Модель Сущность-Атрибут-Значение (EAV) - это модель данных, "
"предназначенная для описания сущностей, в которых количество атрибутов "
"(свойств, параметров), характеризующих их, потенциально огромно, "
"но то количество, которое реально будет использоваться в конкретной "
"сущности относительно мало."
#: ../../More/EAV/README.rst:15
msgid "Examples"
msgstr "Примеры"
#: ../../More/EAV/README.rst:17
msgid "Check full work example in `example.php`_ file."
msgstr "Смотри полный работоспособный пример в файле `example.php`_."
#: ../../More/EAV/README.rst:90
msgid "UML Diagram"
msgstr "UML Диаграмма"
#: ../../More/EAV/README.rst:97
msgid "Code"
msgstr "Code"
#: ../../More/EAV/README.rst:99
msgid "You can also find these code on `GitHub`_"
msgstr "Вы можете найти этот код на `GitHub`_"
#: ../../More/EAV/README.rst:102
msgid "Test"
msgstr "Тест"
#: ../../More/EAV/README.rst:104
msgid "Tests/EntityTest.php"
msgstr "Tests/EntityTest.php"
#: ../../More/EAV/README.rst:110
msgid "Tests/AttributeTest.php"
msgstr "Tests/AttributeTest.php"
#: ../../More/EAV/README.rst:116
msgid "Tests/ValueTest.php"
msgstr "Tests/ValueTest.php"

View File

@@ -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 ""

View File

@@ -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 ""
"Привести нестандартный или неудобный интерфейс какого-то класса в "

View File

@@ -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, которые "
"создают объекты с помощью массива из конфигурации, и внедряют их в случае "
"необходимости (т.е. в Контроллерах)."

View File

@@ -0,0 +1,74 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2015, Dominik Liebler and contributors
# This file is distributed under the same license as the DesignPatternsPHP
# package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 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: Nikita Strelkov <nikita.strelkov@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\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 "`Приспособленец <https://ru.wikipedia.org/wiki/Приспособленец_(шаблон_проектирования)>`_ (`Flyweight`__)"
#: ../../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 "UML Диаграмма"
#: ../../Structural/Flyweight/README.rst:19
msgid "Code"
msgstr "Код"
#: ../../Structural/Flyweight/README.rst:21
msgid "You can also find these code on `GitHub`_"
msgstr "Вы можете найти этот код на `GitHub`_"
#: ../../Structural/Flyweight/README.rst:23
msgid "FlyweightInterface.php"
msgstr "FlyweightInterface.php"
#: ../../Structural/Flyweight/README.rst:29
msgid "CharacterFlyweight.php"
msgstr "CharacterFlyweight.php"
#: ../../Structural/Flyweight/README.rst:35
msgid "FlyweightFactory.php"
msgstr "FlyweightFactory.php"
#: ../../Structural/Flyweight/README.rst:42
msgid "Test"
msgstr "Тест"
#: ../../Structural/Flyweight/README.rst:44
msgid "Tests/FlyweightTest.php"
msgstr "Tests/FlyweightTest.php"

View File

@@ -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

View File

@@ -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 ""

View File

@@ -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 <EMAIL@ADDRESS>, 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 <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\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 "
"<http://en.wikipedia.org/wiki/Object-relational_mapping>`_ 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 <http://en.wikipedia.org/wiki"
"/Object-relational_mapping>`_ 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 ""

View File

@@ -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 <EMAIL@ADDRESS>, 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 <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\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 ""

View File

@@ -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 <EMAIL@ADDRESS>, 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 <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\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 Entityattributevalue (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 Entityattributevalue (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 ""

View File

@@ -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 ""

View File

@@ -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 ""
"将某个类的接口转换成与另一个接口兼容。适配器通过将原始接口进行转换,给用户"

View File

@@ -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 <EMAIL@ADDRESS>, 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 <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\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 ""

View File

@@ -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对象前端控制器等。"