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) { if ($aDate == $bDate) {
return 0; return 0;
} else {
return $aDate < $bDate ? -1 : 1;
} }
return $aDate < $bDate ? -1 : 1;
} }
} }

View File

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

View File

@@ -11,11 +11,11 @@ namespace DesignPatterns\Creational\AbstractFactory;
* it is the concrete subclass which creates concrete components. * it is the concrete subclass which creates concrete components.
* *
* In this case, the abstract factory is a contract for creating some 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. * of rendering : HTML or JSON.
* *
* Therefore 4 concretes classes, but the client just need to know this contract * 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) * to build a correct HTTP response (for a HTML page or for an AJAX request).
*/ */
abstract class AbstractFactory abstract class AbstractFactory
{ {

View File

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

View File

@@ -13,7 +13,7 @@ class Bicycle implements VehicleInterface
protected $color; protected $color;
/** /**
* sets the color of the bicycle. * Sets the color of the bicycle.
* *
* @param string $rgb * @param string $rgb
*/ */

View File

@@ -7,3 +7,4 @@ More
Delegation/README Delegation/README
ServiceLocator/README ServiceLocator/README
Repository/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) * [DependencyInjection](Structural/DependencyInjection) [:notebook:](http://en.wikipedia.org/wiki/Dependency_injection)
* [Facade](Structural/Facade) [:notebook:](http://en.wikipedia.org/wiki/Facade_pattern) * [Facade](Structural/Facade) [:notebook:](http://en.wikipedia.org/wiki/Facade_pattern)
* [FluentInterface](Structural/FluentInterface) [:notebook:](http://en.wikipedia.org/wiki/Fluent_interface) * [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) * [Proxy](Structural/Proxy) [:notebook:](http://en.wikipedia.org/wiki/Proxy_pattern)
* [Registry](Structural/Registry) [:notebook:](http://en.wikipedia.org/wiki/Service_locator_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) (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 Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the a copy of this software and associated documentation files (the

View File

@@ -45,7 +45,7 @@ License
(The MIT 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 Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the 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 To translate one interface for a class into a compatible interface. An
adapter allows classes to work together that normally could not because 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. using the original interface.
Examples 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 * The point of this pattern, a Composite must inherit from the node
* if you want to builld trees. * if you want to build trees.
*/ */
public function testFormImplementsFormEelement() public function testFormImplementsFormEelement()
{ {

View File

@@ -10,12 +10,10 @@ class RenderInJson extends Decorator
/** /**
* render data as JSON. * render data as JSON.
* *
* @return mixed|string * @return string
*/ */
public function renderData() public function renderData()
{ {
$output = $this->wrapped->renderData(); return json_encode($this->wrapped->renderData());
return json_encode($output);
} }
} }

View File

@@ -10,17 +10,15 @@ class RenderInXml extends Decorator
/** /**
* render data as XML. * render data as XML.
* *
* @return mixed|string * @return string
*/ */
public function renderData() public function renderData()
{ {
$output = $this->wrapped->renderData();
// do some fancy conversion to xml from array ... // do some fancy conversion to xml from array ...
$doc = new \DOMDocument(); $doc = new \DOMDocument();
foreach ($output as $key => $val) { foreach ($this->wrapped->renderData() as $key => $val) {
$doc->appendChild($doc->createElement($key, $val)); $doc->appendChild($doc->createElement($key, $val));
} }

View File

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

View File

@@ -3,29 +3,29 @@
namespace DesignPatterns\Structural\Facade; namespace DesignPatterns\Structural\Facade;
/** /**
* Class BiosInterface. * Interface BiosInterface.
*/ */
interface BiosInterface interface BiosInterface
{ {
/** /**
* execute the BIOS. * Execute the BIOS.
*/ */
public function execute(); public function execute();
/** /**
* wait for halt. * Wait for halt.
*/ */
public function waitForKeyPress(); public function waitForKeyPress();
/** /**
* launches the OS. * Launches the OS.
* *
* @param OsInterface $os * @param OsInterface $os
*/ */
public function launch(OsInterface $os); public function launch(OsInterface $os);
/** /**
* power down BIOS. * Power down BIOS.
*/ */
public function powerDown(); public function powerDown();
} }

View File

@@ -3,7 +3,7 @@
namespace DesignPatterns\Structural\Facade; namespace DesignPatterns\Structural\Facade;
/** /**
* * Class Facade.
*/ */
class Facade class Facade
{ {
@@ -31,7 +31,7 @@ class Facade
} }
/** /**
* turn on the system. * Turn on the system.
*/ */
public function turnOn() public function turnOn()
{ {
@@ -41,7 +41,7 @@ class Facade
} }
/** /**
* turn off the system. * Turn off the system.
*/ */
public function turnOff() public function turnOff()
{ {

View File

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

View File

@@ -34,6 +34,8 @@ class FacadeTest extends \PHPUnit_Framework_TestCase
} }
/** /**
* @param Computer $facade
* @param OsInterface $os
* @dataProvider getComputer * @dataProvider getComputer
*/ */
public function testComputerOn(Computer $facade, OsInterface $os) 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) * [DependencyInjection](DependencyInjection) [:notebook:](http://en.wikipedia.org/wiki/Dependency_injection)
* [Facade](Facade) [:notebook:](http://en.wikipedia.org/wiki/Facade_pattern) * [Facade](Facade) [:notebook:](http://en.wikipedia.org/wiki/Facade_pattern)
* [FluentInterface](FluentInterface) [:notebook:](http://en.wikipedia.org/wiki/Fluent_interface) * [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) * [Proxy](Proxy) [:notebook:](http://en.wikipedia.org/wiki/Proxy_pattern)
* [Registry](Registry) [:notebook:](http://en.wikipedia.org/wiki/Service_locator_pattern) * [Registry](Registry) [:notebook:](http://en.wikipedia.org/wiki/Service_locator_pattern)

View File

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

View File

@@ -21,8 +21,8 @@ msgstr ""
#: ../../Behavioral/Mediator/README.rst:7 #: ../../Behavioral/Mediator/README.rst:7
msgid "" msgid ""
"This pattern provides an easy to decouple many components working together. " "This pattern provides an easy way to decouple many components working "
"It is a good alternative over Observer IF you have a \"central " "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)." "intelligence\", like a controller (but not in the sense of the MVC)."
msgstr "" 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 "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n" "Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\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" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.3.4\n"
#: ../../Behavioral/Memento/README.rst:2 #: ../../Behavioral/Memento/README.rst:2
msgid "`Memento`__" msgid "`Memento`__"
@@ -21,65 +28,97 @@ msgstr ""
#: ../../Behavioral/Memento/README.rst:7 #: ../../Behavioral/Memento/README.rst:7
msgid "" msgid ""
"Provide the ability to restore an object to its previous state (undo via " "It provides the ability to restore an object to it's previous state (undo"
"rollback)." " 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 "" msgstr ""
#: ../../Behavioral/Memento/README.rst:10 #: ../../Behavioral/Memento/README.rst:12
msgid "" msgid ""
"The memento pattern is implemented with three objects: the originator, a " "The memento pattern is implemented with three objects: the Originator, a "
"caretaker and a memento. The originator is some object that has an internal " "Caretaker and a Memento."
"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 "" 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" msgid "Examples"
msgstr "" msgstr ""
#: ../../Behavioral/Memento/README.rst:25 #: ../../Behavioral/Memento/README.rst:41
msgid "The seed of a pseudorandom number generator" msgid "The seed of a pseudorandom number generator"
msgstr "" msgstr ""
#: ../../Behavioral/Memento/README.rst:26 #: ../../Behavioral/Memento/README.rst:42
msgid "The state in a finite state machine" msgid "The state in a finite state machine"
msgstr "" msgstr ""
#: ../../Behavioral/Memento/README.rst:29 #: ../../Behavioral/Memento/README.rst:43
msgid "UML Diagram" msgid ""
msgstr "" "Control for intermediate states of `ORM Model "
"<http://en.wikipedia.org/wiki/Object-relational_mapping>`_ before saving"
#: ../../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 "" msgstr ""
#: ../../Behavioral/Memento/README.rst:46 #: ../../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" msgid "Originator.php"
msgstr "" msgstr ""
#: ../../Behavioral/Memento/README.rst:52 #: ../../Behavioral/Memento/README.rst:69
msgid "Caretaker.php" msgid "Caretaker.php"
msgstr "" msgstr ""
#: ../../Behavioral/Memento/README.rst:59 #: ../../Behavioral/Memento/README.rst:76
msgid "Test" msgid "Test"
msgstr "" msgstr ""
#: ../../Behavioral/Memento/README.rst:61 #: ../../Behavioral/Memento/README.rst:78
msgid "Tests/MementoTest.php" msgid "Tests/MementoTest.php"
msgstr "" 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 "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n" "Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\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" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.3.4\n"
#: ../../More/Delegation/README.rst:2 #: ../../More/Delegation/README.rst:2
msgid "`Delegation`__" msgid "`Delegation`__"
@@ -19,14 +26,26 @@ msgstr ""
msgid "Purpose" msgid "Purpose"
msgstr "" msgstr ""
#: ../../More/Delegation/README.rst:7 ../../More/Delegation/README.rst:12 #: ../../More/Delegation/README.rst:7
msgid "..." 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 "" msgstr ""
#: ../../More/Delegation/README.rst:10 #: ../../More/Delegation/README.rst:10
msgid "Examples" 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 #: ../../More/Delegation/README.rst:15
msgid "UML Diagram" msgid "UML Diagram"
msgstr "" msgstr ""
@@ -58,3 +77,4 @@ msgstr ""
#: ../../More/Delegation/README.rst:47 #: ../../More/Delegation/README.rst:47
msgid "Tests/DelegationTest.php" msgid "Tests/DelegationTest.php"
msgstr "" 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 "" msgstr ""
#: ../../README.rst:48 #: ../../README.rst:48
msgid "Copyright (c) 2014 `Dominik Liebler`_ and `contributors`_" msgid "Copyright (c) 2011 - 2016 `Dominik Liebler`_ and `contributors`_"
msgstr "" msgstr ""
#: ../../README.rst:50 #: ../../README.rst:50

View File

@@ -23,7 +23,7 @@ msgstr ""
msgid "" msgid ""
"To translate one interface for a class into a compatible interface. An " "To translate one interface for a class into a compatible interface. An "
"adapter allows classes to work together that normally could not because of " "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." "the original interface."
msgstr "" 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 #: ../../Structural/Registry/README.rst:14
msgid "" msgid ""
"Zend Framework: ``Zend_Registry`` holds the application's logger object, " "Zend Framework 1: ``Zend_Registry`` holds the application's logger "
"front controller etc." "object, front controller etc."
msgstr "" msgstr ""
#: ../../Structural/Registry/README.rst:16 #: ../../Structural/Registry/README.rst:16

View File

@@ -4,18 +4,18 @@ msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n" "Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-29 12:18+0200\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" "Last-Translator: Dominik Liebler <liebler.dominik@gmail.com>\n"
"MIME-Version: 1.0\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" "Content-Transfer-Encoding: 8bit\n"
"Language: de\n" "Language: de\n"
"Language-Team: \n" "Language-Team: \n"
"X-Generator: Poedit 1.8.7\n" "X-Generator: Poedit 1.8.7.1\n"
#: ../../Behavioral/Iterator/README.rst:2 #: ../../Behavioral/Iterator/README.rst:2
msgid "`Iterator`__" msgid "`Iterator`__"
msgstr "`Итератор <https://ru.wikipedia.org/wiki/Итератор_(шаблон_проектирования)>`_ (`Iterator`__)" msgstr "`Iterator`__"
#: ../../Behavioral/Iterator/README.rst:5 #: ../../Behavioral/Iterator/README.rst:5
msgid "Purpose" msgid "Purpose"
@@ -24,6 +24,8 @@ msgstr "Zweck"
#: ../../Behavioral/Iterator/README.rst:7 #: ../../Behavioral/Iterator/README.rst:7
msgid "To make an object iterable and to make it appear like a collection of objects." msgid "To make an object iterable and to make it appear like a collection of objects."
msgstr "" 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 #: ../../Behavioral/Iterator/README.rst:11
msgid "Examples" msgid "Examples"
@@ -34,6 +36,8 @@ msgid ""
"to process a file line by line by just running over all lines (which have an object " "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)" "representation) for a file (which of course is an object, too)"
msgstr "" msgstr ""
"Um eine Datei zeilenweise zu verarbeiten, in dem man über die Zeilen iteriert (die selbst auch "
"Objekte sind)"
#: ../../Behavioral/Iterator/README.rst:18 #: ../../Behavioral/Iterator/README.rst:18
msgid "Note" msgid "Note"
@@ -45,6 +49,9 @@ msgid ""
"would want to implement the Countable interface too, to allow ``count($object)`` on your iterable " "would want to implement the Countable interface too, to allow ``count($object)`` on your iterable "
"object" "object"
msgstr "" 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 #: ../../Behavioral/Iterator/README.rst:25
msgid "UML Diagram" msgid "UML Diagram"

View File

@@ -23,9 +23,9 @@ msgstr "Zweck"
#: ../../Behavioral/Mediator/README.rst:7 #: ../../Behavioral/Mediator/README.rst:7
msgid "" msgid ""
"This pattern provides an easy to decouple many components working together. It is a good " "This pattern provides an easy way to decouple many components working "
"alternative over Observer IF you have a \"central intelligence\", like a controller (but not in the " "together. It is a good alternative to Observer IF you have a \"central "
"sense of the MVC)." "intelligence\", like a controller (but not in the sense of the MVC)."
msgstr "" msgstr ""
"Dieses Muster bietet eine einfache Möglichkeit, viele, miteinander arbeitende Komponenten zu " "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 " "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 "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n" "Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \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: 2016-04-03 12:52+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Dominik Liebler <liebler.dominik@gmail.com>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\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" "Content-Transfer-Encoding: 8bit\n"
"Language: de\n" "Generated-By: Babel 2.3.4\n"
"Language-Team: \n"
"X-Generator: Poedit 1.8.7\n"
#: ../../Behavioral/Memento/README.rst:2 #: ../../Behavioral/Memento/README.rst:2
msgid "`Memento`__" msgid "`Memento`__"
msgstr "`Memento`__" msgstr ""
#: ../../Behavioral/Memento/README.rst:5 #: ../../Behavioral/Memento/README.rst:5
msgid "Purpose" msgid "Purpose"
msgstr "Zweck" msgstr ""
#: ../../Behavioral/Memento/README.rst:7 #: ../../Behavioral/Memento/README.rst:7
msgid "" msgid ""
"Provide the ability to restore an object to its previous state (undo via " "It provides the ability to restore an object to it's previous state (undo"
"rollback)." " 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 "" 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 "" msgid ""
"The memento pattern is implemented with three objects: the originator, a " "The memento pattern is implemented with three objects: the Originator, a "
"caretaker and a memento. The originator is some object that has an internal " "Caretaker and a Memento."
"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 "" 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" msgid "Examples"
msgstr "Beispiele" msgstr ""
#: ../../Behavioral/Memento/README.rst:25 #: ../../Behavioral/Memento/README.rst:41
msgid "The seed of a pseudorandom number generator" 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" msgid "The state in a finite state machine"
msgstr "Der State in einer FSM (Finite State Machine)" msgstr ""
#: ../../Behavioral/Memento/README.rst:29 #: ../../Behavioral/Memento/README.rst:43
msgid "UML Diagram" msgid ""
msgstr "UML-Diagramm" "Control for intermediate states of `ORM Model "
"<http://en.wikipedia.org/wiki/Object-relational_mapping>`_ before saving"
#: ../../Behavioral/Memento/README.rst:36 msgstr ""
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 #: ../../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" msgid "Originator.php"
msgstr "Originator.php" msgstr ""
#: ../../Behavioral/Memento/README.rst:52 #: ../../Behavioral/Memento/README.rst:69
msgid "Caretaker.php" msgid "Caretaker.php"
msgstr "Caretaker.php" msgstr ""
#: ../../Behavioral/Memento/README.rst:59 #: ../../Behavioral/Memento/README.rst:76
msgid "Test" msgid "Test"
msgstr "Test" msgstr ""
#: ../../Behavioral/Memento/README.rst:61 #: ../../Behavioral/Memento/README.rst:78
msgid "Tests/MementoTest.php" 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" "Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-29 12:18+0200\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" "Last-Translator: Dominik Liebler <liebler.dominik@gmail.com>\n"
"MIME-Version: 1.0\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" "Content-Transfer-Encoding: 8bit\n"
"Language: de\n" "Language: de\n"
"Language-Team: \n"
"X-Generator: Poedit 1.8.7.1\n"
#: ../../Creational/AbstractFactory/README.rst:2 #: ../../Creational/AbstractFactory/README.rst:2
msgid "`Abstract Factory`__" msgid "`Abstract Factory`__"
msgstr "" msgstr "`Abstract Factory`__"
"`Абстрактная фабрика <https://ru.wikipedia.org/wiki/"
"Абстрактная_фабрика_(шаблон_проектирования)>`_ (`Abstract Factory`__)"
#: ../../Creational/AbstractFactory/README.rst:5 #: ../../Creational/AbstractFactory/README.rst:5
msgid "Purpose" msgid "Purpose"
msgstr "Назначение" msgstr "Zweck"
#: ../../Creational/AbstractFactory/README.rst:7 #: ../../Creational/AbstractFactory/README.rst:7
msgid "" msgid ""
@@ -28,23 +28,23 @@ msgid ""
"interface. The client of the abstract factory does not care about how these " "interface. The client of the abstract factory does not care about how these "
"objects are created, he just knows how they go together." "objects are created, he just knows how they go together."
msgstr "" 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 #: ../../Creational/AbstractFactory/README.rst:13
msgid "UML Diagram" msgid "UML Diagram"
msgstr "UML Диаграмма" msgstr "UML Diagramm"
#: ../../Creational/AbstractFactory/README.rst:20 #: ../../Creational/AbstractFactory/README.rst:20
msgid "Code" msgid "Code"
msgstr "Код" msgstr "Code"
#: ../../Creational/AbstractFactory/README.rst:22 #: ../../Creational/AbstractFactory/README.rst:22
msgid "You can also find these code on `GitHub`_" msgid "You can also find these code on `GitHub`_"
msgstr "Вы можете найти этот код на `GitHub`_" msgstr "Du findest den Code auch auf `GitHub`_"
#: ../../Creational/AbstractFactory/README.rst:24 #: ../../Creational/AbstractFactory/README.rst:24
msgid "AbstractFactory.php" msgid "AbstractFactory.php"
@@ -88,7 +88,7 @@ msgstr "Html/Text.php"
#: ../../Creational/AbstractFactory/README.rst:85 #: ../../Creational/AbstractFactory/README.rst:85
msgid "Test" msgid "Test"
msgstr "Тест" msgstr "Теst"
#: ../../Creational/AbstractFactory/README.rst:87 #: ../../Creational/AbstractFactory/README.rst:87
msgid "Tests/AbstractFactoryTest.php" msgid "Tests/AbstractFactoryTest.php"

View File

@@ -4,54 +4,56 @@ msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n" "Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-29 12:18+0200\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" "Last-Translator: Dominik Liebler <liebler.dominik@gmail.com>\n"
"MIME-Version: 1.0\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" "Content-Transfer-Encoding: 8bit\n"
"Language: de\n" "Language: de\n"
"Language-Team: \n"
"X-Generator: Poedit 1.8.7.1\n"
#: ../../Creational/Builder/README.rst:2 #: ../../Creational/Builder/README.rst:2
msgid "`Builder`__" msgid "`Builder`__"
msgstr "" msgstr "`Builder`__"
"`Строитель <https://ru.wikipedia.org/wiki/"
"Строитель_(шаблон_проектирования)>`_ (`Builder`__)"
#: ../../Creational/Builder/README.rst:5 #: ../../Creational/Builder/README.rst:5
msgid "Purpose" msgid "Purpose"
msgstr "Назначение" msgstr "Zweck"
#: ../../Creational/Builder/README.rst:7 #: ../../Creational/Builder/README.rst:7
msgid "Builder is an interface that build parts of a complex object." 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 #: ../../Creational/Builder/README.rst:9
msgid "" msgid ""
"Sometimes, if the builder has a better knowledge of what it builds, this " "Sometimes, if the builder has a better knowledge of what it builds, this "
"interface could be an abstract class with default methods (aka adapter)." "interface could be an abstract class with default methods (aka adapter)."
msgstr "" 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 #: ../../Creational/Builder/README.rst:12
msgid "" msgid ""
"If you have a complex inheritance tree for objects, it is logical to have a " "If you have a complex inheritance tree for objects, it is logical to have a "
"complex inheritance tree for builders too." "complex inheritance tree for builders too."
msgstr "" 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 #: ../../Creational/Builder/README.rst:15
msgid "" msgid ""
"Note: Builders have often a fluent interface, see the mock builder of " "Note: Builders have often a fluent interface, see the mock builder of "
"PHPUnit for example." "PHPUnit for example."
msgstr "" msgstr ""
"Примечание: Строители могут иметь `текучий интерфейс <https://ru.wikipedia." "Hinweis: Builder haben oft auch ein Fluent Interface, siehe z.B. der "
"org/wiki/Fluent_interface>`_, например, строитель макетов в PHPUnit." "Mockbuilder in PHPUnit."
#: ../../Creational/Builder/README.rst:19 #: ../../Creational/Builder/README.rst:19
msgid "Examples" msgid "Examples"
msgstr "Примеры" msgstr "Beispiele"
#: ../../Creational/Builder/README.rst:21 #: ../../Creational/Builder/README.rst:21
msgid "PHPUnit: Mock Builder" msgid "PHPUnit: Mock Builder"
@@ -59,15 +61,15 @@ msgstr "PHPUnit: Mock Builder"
#: ../../Creational/Builder/README.rst:24 #: ../../Creational/Builder/README.rst:24
msgid "UML Diagram" msgid "UML Diagram"
msgstr "UML Диаграмма" msgstr "UML Diagramm"
#: ../../Creational/Builder/README.rst:31 #: ../../Creational/Builder/README.rst:31
msgid "Code" msgid "Code"
msgstr "Код" msgstr "Code"
#: ../../Creational/Builder/README.rst:33 #: ../../Creational/Builder/README.rst:33
msgid "You can also find these code on `GitHub`_" msgid "You can also find these code on `GitHub`_"
msgstr "Вы можете найти этот код на `GitHub`_" msgstr "Du findest den Code auch auf `GitHub`_"
#: ../../Creational/Builder/README.rst:35 #: ../../Creational/Builder/README.rst:35
msgid "Director.php" msgid "Director.php"
@@ -111,7 +113,7 @@ msgstr "Parts/Door.php"
#: ../../Creational/Builder/README.rst:96 #: ../../Creational/Builder/README.rst:96
msgid "Test" msgid "Test"
msgstr "Тест" msgstr "Теst"
#: ../../Creational/Builder/README.rst:98 #: ../../Creational/Builder/README.rst:98
msgid "Tests/DirectorTest.php" msgid "Tests/DirectorTest.php"

View File

@@ -4,65 +4,66 @@ msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n" "Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-29 12:18+0200\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" "Last-Translator: Dominik Liebler <liebler.dominik@gmail.com>\n"
"MIME-Version: 1.0\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" "Content-Transfer-Encoding: 8bit\n"
"Language: de\n" "Language: de\n"
"Language-Team: \n"
"X-Generator: Poedit 1.8.7.1\n"
#: ../../Creational/FactoryMethod/README.rst:2 #: ../../Creational/FactoryMethod/README.rst:2
msgid "`Factory Method`__" msgid "`Factory Method`__"
msgstr "" msgstr "`Factory Method`__"
"`Фабричный Метод <https://ru.wikipedia.org/wiki/"
абричный_метод_(шаблон_проектирования)>`_ (`Factory Method`__)"
#: ../../Creational/FactoryMethod/README.rst:5 #: ../../Creational/FactoryMethod/README.rst:5
msgid "Purpose" msgid "Purpose"
msgstr "Назначение" msgstr "Zweck"
#: ../../Creational/FactoryMethod/README.rst:7 #: ../../Creational/FactoryMethod/README.rst:7
msgid "" msgid ""
"The good point over the SimpleFactory is you can subclass it to implement " "The good point over the SimpleFactory is you can subclass it to implement "
"different ways to create objects" "different ways to create objects"
msgstr "" 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 #: ../../Creational/FactoryMethod/README.rst:10
msgid "For simple case, this abstract class could be just an interface" msgid "For simple case, this abstract class could be just an interface"
msgstr "" msgstr ""
"В простых случаях, этот абстрактный класс может быть только интерфейсом." "Für einfache Fälle kann statt der abstrakten Klasse auch einfach nur ein "
"Interface existieren"
#: ../../Creational/FactoryMethod/README.rst:12 #: ../../Creational/FactoryMethod/README.rst:12
msgid "" msgid ""
"This pattern is a \"real\" Design Pattern because it achieves the " "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." "\"Dependency Inversion Principle\" a.k.a the \"D\" in S.O.L.I.D principles."
msgstr "" msgstr ""
"Этот паттерн является «настоящим» Шаблоном Проектирования, потому что он " "Dieses Muster ist ein \"echtes\" Muster, da es das \"D\" in S.O.L.I.D. "
"следует «Принципу инверсии зависимостей\" ака \"D\" в `S.O.L.I.D <https://" "implementiert, das \"Dependency Inversion Prinzip\"."
"ru.wikipedia.org/wiki/SOLID_(объектно-ориентированное_программирование)>`_."
#: ../../Creational/FactoryMethod/README.rst:15 #: ../../Creational/FactoryMethod/README.rst:15
msgid "" msgid ""
"It means the FactoryMethod class depends on abstractions, not concrete " "It means the FactoryMethod class depends on abstractions, not concrete "
"classes. This is the real trick compared to SimpleFactory or StaticFactory." "classes. This is the real trick compared to SimpleFactory or StaticFactory."
msgstr "" msgstr ""
"Это означает, что класс FactoryMethod зависит от абстракций, а не от " "Die FactoryMethod ist abhängig von einer Abstraktion, nicht der konkreten "
"конкретных классов. Это существенный плюс в сравнении с SimpleFactory или " "Klasse. Das ist der entscheidende Vorteil gegenüber der SimpleFactory oder "
"StaticFactory." "StaticFactory."
#: ../../Creational/FactoryMethod/README.rst:20 #: ../../Creational/FactoryMethod/README.rst:20
msgid "UML Diagram" msgid "UML Diagram"
msgstr "UML Диаграмма" msgstr "UML Diagramm"
#: ../../Creational/FactoryMethod/README.rst:27 #: ../../Creational/FactoryMethod/README.rst:27
msgid "Code" msgid "Code"
msgstr "Код" msgstr "Code"
#: ../../Creational/FactoryMethod/README.rst:29 #: ../../Creational/FactoryMethod/README.rst:29
msgid "You can also find these code on `GitHub`_" msgid "You can also find these code on `GitHub`_"
msgstr "Вы можете найти этот код на `GitHub`_" msgstr "Du findest den Code auch auf `GitHub`_"
#: ../../Creational/FactoryMethod/README.rst:31 #: ../../Creational/FactoryMethod/README.rst:31
msgid "FactoryMethod.php" msgid "FactoryMethod.php"
@@ -94,7 +95,7 @@ msgstr "Ferrari.php"
#: ../../Creational/FactoryMethod/README.rst:74 #: ../../Creational/FactoryMethod/README.rst:74
msgid "Test" msgid "Test"
msgstr "Тест" msgstr "Теst"
#: ../../Creational/FactoryMethod/README.rst:76 #: ../../Creational/FactoryMethod/README.rst:76
msgid "Tests/FactoryMethodTest.php" msgid "Tests/FactoryMethodTest.php"

View File

@@ -4,64 +4,63 @@ msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n" "Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-29 12:18+0200\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" "Last-Translator: Dominik Liebler <liebler.dominik@gmail.com>\n"
"MIME-Version: 1.0\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" "Content-Transfer-Encoding: 8bit\n"
"Language: de\n" "Language: de\n"
"Language-Team: \n"
"X-Generator: Poedit 1.8.7.1\n"
#: ../../Creational/Multiton/README.rst:2 #: ../../Creational/Multiton/README.rst:2
msgid "Multiton" msgid "Multiton"
msgstr "Пул одиночек (Multiton)" msgstr "Multiton"
#: ../../Creational/Multiton/README.rst:4 #: ../../Creational/Multiton/README.rst:4
msgid "" msgid ""
"**THIS IS CONSIDERED TO BE AN ANTI-PATTERN! FOR BETTER TESTABILITY AND " "**THIS IS CONSIDERED TO BE AN ANTI-PATTERN! FOR BETTER TESTABILITY AND "
"MAINTAINABILITY USE DEPENDENCY INJECTION!**" "MAINTAINABILITY USE DEPENDENCY INJECTION!**"
msgstr "" msgstr ""
"**Это считается анти-паттерном! Для лучшей тестируемости и сопровождения " "**DIESES MUSTER IST EIN ANTI-PATTERN! FÜR BESSERE TESTBARKEIT UND "
"кода используйте Инъекцию Зависимости (Dependency Injection)!**" "WARTBARKEIT VERWENDE STATTDESSEN DEPENDENCY INJECTION!**"
#: ../../Creational/Multiton/README.rst:8 #: ../../Creational/Multiton/README.rst:8
msgid "Purpose" msgid "Purpose"
msgstr "Назначение" msgstr "Zweck"
#: ../../Creational/Multiton/README.rst:10 #: ../../Creational/Multiton/README.rst:10
msgid "" msgid ""
"To have only a list of named instances that are used, like a singleton but " "To have only a list of named instances that are used, like a singleton but "
"with n instances." "with n instances."
msgstr "" msgstr ""
"Содержит список именованных созданных экземпляров классов, которые в итоге " "stellt eine Liste an benamten Instanzen bereit, genauso wie ein Singleton, "
"используются как Singleton-ы, но в заданном заранее N-ном количестве." "aber mit n Instanzen."
#: ../../Creational/Multiton/README.rst:14 #: ../../Creational/Multiton/README.rst:14
msgid "Examples" msgid "Examples"
msgstr "Примеры" msgstr "Beispiele"
#: ../../Creational/Multiton/README.rst:16 #: ../../Creational/Multiton/README.rst:16
msgid "2 DB Connectors, e.g. one for MySQL, the other for SQLite" msgid "2 DB Connectors, e.g. one for MySQL, the other for SQLite"
msgstr "" msgstr ""
"Два объекта для доступа к базам данных, к примеру, один для MySQL, а " "zwei Datenbank-Konnektoren, z.B. einer für MySQL, ein anderer für SQLite"
"второй для SQLite"
#: ../../Creational/Multiton/README.rst:17 #: ../../Creational/Multiton/README.rst:17
msgid "multiple Loggers (one for debug messages, one for errors)" 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 #: ../../Creational/Multiton/README.rst:20
msgid "UML Diagram" msgid "UML Diagram"
msgstr "UML Диаграмма" msgstr "UML Diagramm"
#: ../../Creational/Multiton/README.rst:27 #: ../../Creational/Multiton/README.rst:27
msgid "Code" msgid "Code"
msgstr "Код" msgstr "Code"
#: ../../Creational/Multiton/README.rst:29 #: ../../Creational/Multiton/README.rst:29
msgid "You can also find these code on `GitHub`_" msgid "You can also find these code on `GitHub`_"
msgstr "Вы можете найти этот код на `GitHub`_" msgstr "Du findest den Code auch auf `GitHub`_"
#: ../../Creational/Multiton/README.rst:31 #: ../../Creational/Multiton/README.rst:31
msgid "Multiton.php" msgid "Multiton.php"
@@ -69,4 +68,4 @@ msgstr "Multiton.php"
#: ../../Creational/Multiton/README.rst:38 #: ../../Creational/Multiton/README.rst:38
msgid "Test" msgid "Test"
msgstr "Тест" msgstr "Теst"

View File

@@ -4,17 +4,18 @@ msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n" "Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-29 12:18+0200\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" "Last-Translator: Dominik Liebler <liebler.dominik@gmail.com>\n"
"MIME-Version: 1.0\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" "Content-Transfer-Encoding: 8bit\n"
"Language: de\n" "Language: de\n"
"Language-Team: \n"
"X-Generator: Poedit 1.8.7.1\n"
#: ../../Creational/Pool/README.rst:2 #: ../../Creational/Pool/README.rst:2
msgid "`Pool`__" msgid "`Pool`__"
msgstr "" msgstr "`Pool`__"
"`Объектный пул <https://ru.wikipedia.org/wiki/Объектный_пул>`_ (`Pool`__)"
#: ../../Creational/Pool/README.rst:4 #: ../../Creational/Pool/README.rst:4
msgid "" msgid ""
@@ -25,25 +26,28 @@ msgid ""
"object. When the client has finished, it returns the object, which is a " "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." "specific type of factory object, to the pool rather than destroying it."
msgstr "" 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 #: ../../Creational/Pool/README.rst:11
msgid "" msgid ""
"Object pooling can offer a significant performance boost in situations where" "Object pooling can offer a significant performance boost in situations "
" the cost of initializing a class instance is high, the rate of " "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 " "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 " "one time is low. The pooled object is obtained in predictable time when "
"creation of the new objects (especially over network) may take variable " "creation of the new objects (especially over network) may take variable "
"time." "time."
msgstr "" 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 #: ../../Creational/Pool/README.rst:18
msgid "" msgid ""
@@ -53,25 +57,24 @@ msgid ""
"simple object pooling (that hold no external resources, but only occupy " "simple object pooling (that hold no external resources, but only occupy "
"memory) may not be efficient and could decrease performance." "memory) may not be efficient and could decrease performance."
msgstr "" 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 #: ../../Creational/Pool/README.rst:25
msgid "UML Diagram" msgid "UML Diagram"
msgstr "UML Диаграмма" msgstr "UML Diagramm"
#: ../../Creational/Pool/README.rst:32 #: ../../Creational/Pool/README.rst:32
msgid "Code" msgid "Code"
msgstr "Код" msgstr "Code"
#: ../../Creational/Pool/README.rst:34 #: ../../Creational/Pool/README.rst:34
msgid "You can also find these code on `GitHub`_" msgid "You can also find these code on `GitHub`_"
msgstr "Вы можете найти этот код на `GitHub`_" msgstr "Du findest den Code auch auf `GitHub`_"
#: ../../Creational/Pool/README.rst:36 #: ../../Creational/Pool/README.rst:36
msgid "Pool.php" msgid "Pool.php"
@@ -87,7 +90,7 @@ msgstr "Worker.php"
#: ../../Creational/Pool/README.rst:55 #: ../../Creational/Pool/README.rst:55
msgid "Test" msgid "Test"
msgstr "Тест" msgstr "Теst"
#: ../../Creational/Pool/README.rst:57 #: ../../Creational/Pool/README.rst:57
msgid "Tests/PoolTest.php" msgid "Tests/PoolTest.php"

View File

@@ -4,54 +4,55 @@ msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n" "Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-29 12:18+0200\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" "Last-Translator: Dominik Liebler <liebler.dominik@gmail.com>\n"
"MIME-Version: 1.0\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" "Content-Transfer-Encoding: 8bit\n"
"Language: de\n" "Language: de\n"
"Language-Team: \n"
"X-Generator: Poedit 1.8.7.1\n"
#: ../../Creational/Prototype/README.rst:2 #: ../../Creational/Prototype/README.rst:2
msgid "`Prototype`__" msgid "`Prototype`__"
msgstr "" msgstr "`Prototype`__"
"`Прототип <https://ru.wikipedia.org/wiki/"
рототип_(шаблон_проектирования)>`_ (`Prototype`__)"
#: ../../Creational/Prototype/README.rst:5 #: ../../Creational/Prototype/README.rst:5
msgid "Purpose" msgid "Purpose"
msgstr "Назначение" msgstr "Zweck"
#: ../../Creational/Prototype/README.rst:7 #: ../../Creational/Prototype/README.rst:7
msgid "" msgid ""
"To avoid the cost of creating objects the standard way (new Foo()) and " "To avoid the cost of creating objects the standard way (new Foo()) and "
"instead create a prototype and clone it." "instead create a prototype and clone it."
msgstr "" msgstr ""
"Помогает избежать затрат на создание объектов стандартным способом (new " "Um die Kosten der Erzeugung von Objekten über den normalen Weg (new Foo()) "
"Foo()), а вместо этого создаёт прототип и затем клонирует его." "zu vermeiden und stattdessen einen Prototyp zu erzeugen, der bei Bedarf "
"gecloned werden kann."
#: ../../Creational/Prototype/README.rst:11 #: ../../Creational/Prototype/README.rst:11
msgid "Examples" msgid "Examples"
msgstr "Примеры" msgstr "Beispiele"
#: ../../Creational/Prototype/README.rst:13 #: ../../Creational/Prototype/README.rst:13
msgid "" msgid ""
"Large amounts of data (e.g. create 1,000,000 rows in a database at once via " "Large amounts of data (e.g. create 1,000,000 rows in a database at once via "
"a ORM)." "a ORM)."
msgstr "" msgstr ""
"Большие объемы данных (например, создать 1000000 строк в базе данных сразу " "Große Mengen von Daten (z.B. 1 Mio. Zeilen werden in einer Datenbank über "
"через ORM)." "ein ORM erzeugt)."
#: ../../Creational/Prototype/README.rst:17 #: ../../Creational/Prototype/README.rst:17
msgid "UML Diagram" msgid "UML Diagram"
msgstr "UML Диаграмма" msgstr "UML Diagramm"
#: ../../Creational/Prototype/README.rst:24 #: ../../Creational/Prototype/README.rst:24
msgid "Code" msgid "Code"
msgstr "Код" msgstr "Code"
#: ../../Creational/Prototype/README.rst:26 #: ../../Creational/Prototype/README.rst:26
msgid "You can also find these code on `GitHub`_" msgid "You can also find these code on `GitHub`_"
msgstr "Вы можете найти этот код на `GitHub`_" msgstr "Du findest den Code auch auf `GitHub`_"
#: ../../Creational/Prototype/README.rst:28 #: ../../Creational/Prototype/README.rst:28
msgid "index.php" msgid "index.php"
@@ -71,4 +72,4 @@ msgstr "FooBookPrototype.php"
#: ../../Creational/Prototype/README.rst:53 #: ../../Creational/Prototype/README.rst:53
msgid "Test" msgid "Test"
msgstr "Тест" msgstr "Теst"

View File

@@ -4,28 +4,30 @@ msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n" "Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-29 12:18+0200\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" "Last-Translator: Dominik Liebler <liebler.dominik@gmail.com>\n"
"MIME-Version: 1.0\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" "Content-Transfer-Encoding: 8bit\n"
"Language: de\n" "Language: de\n"
"Language-Team: \n"
"X-Generator: Poedit 1.8.7.1\n"
#: ../../Creational/README.rst:2 #: ../../Creational/README.rst:2
msgid "`Creational`__" msgid "`Creational`__"
msgstr "Порождающие шаблоны проектирования (`Creational`__)" msgstr "`Erzeugung`__"
#: ../../Creational/README.rst:4 #: ../../Creational/README.rst:4
msgid "" msgid ""
"In software engineering, creational design patterns are design patterns that" "In software engineering, creational design patterns are design patterns "
" deal with object creation mechanisms, trying to create objects in a manner " "that deal with object creation mechanisms, trying to create objects in a "
"suitable to the situation. The basic form of object creation could result in" "manner suitable to the situation. The basic form of object creation could "
" design problems or added complexity to the design. Creational design " "result in design problems or added complexity to the design. Creational "
"patterns solve this problem by somehow controlling this object creation." "design patterns solve this problem by somehow controlling this object "
"creation."
msgstr "" 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" "Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-29 12:18+0200\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" "Last-Translator: Dominik Liebler <liebler.dominik@gmail.com>\n"
"MIME-Version: 1.0\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" "Content-Transfer-Encoding: 8bit\n"
"Language: de\n" "Language: de\n"
"Language-Team: \n"
"X-Generator: Poedit 1.8.7.1\n"
#: ../../Creational/SimpleFactory/README.rst:2 #: ../../Creational/SimpleFactory/README.rst:2
msgid "Simple Factory" msgid "Simple Factory"
msgstr "Простая Фабрика (Simple Factory)" msgstr "Simple Factory"
#: ../../Creational/SimpleFactory/README.rst:5 #: ../../Creational/SimpleFactory/README.rst:5
msgid "Purpose" msgid "Purpose"
msgstr "Назначение" msgstr "Zweck"
#: ../../Creational/SimpleFactory/README.rst:7 #: ../../Creational/SimpleFactory/README.rst:7
msgid "SimpleFactory is a simple factory pattern." msgid "SimpleFactory is a simple factory pattern."
msgstr "SimpleFactory в примере ниже, это паттерн «Простая Фабрика»." msgstr "SimpleFactory ist ein vereinfachtes Factory Muster."
#: ../../Creational/SimpleFactory/README.rst:9 #: ../../Creational/SimpleFactory/README.rst:9
msgid "" msgid ""
"It differs from the static factory because it is NOT static and as you know:" "It differs from the static factory because it is NOT static and as you "
" static => global => evil!" "know: static => global => evil!"
msgstr "" 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 #: ../../Creational/SimpleFactory/README.rst:12
msgid "" msgid ""
"Therefore, you can have multiple factories, differently parametrized, you " "Therefore, you can have multiple factories, differently parametrized, you "
"can subclass it and you can mock-up it." "can subclass it and you can mock-up it."
msgstr "" 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 #: ../../Creational/SimpleFactory/README.rst:16
msgid "UML Diagram" msgid "UML Diagram"
msgstr "UML Диаграмма" msgstr "UML Diagramm"
#: ../../Creational/SimpleFactory/README.rst:23 #: ../../Creational/SimpleFactory/README.rst:23
msgid "Code" msgid "Code"
msgstr "Код" msgstr "Code"
#: ../../Creational/SimpleFactory/README.rst:25 #: ../../Creational/SimpleFactory/README.rst:25
msgid "You can also find these code on `GitHub`_" msgid "You can also find these code on `GitHub`_"
msgstr "Вы можете найти этот код на `GitHub`_" msgstr "Du findest den Code auch auf `GitHub`_"
#: ../../Creational/SimpleFactory/README.rst:27 #: ../../Creational/SimpleFactory/README.rst:27
msgid "SimpleFactory.php" msgid "SimpleFactory.php"
@@ -70,7 +73,7 @@ msgstr "Scooter.php"
#: ../../Creational/SimpleFactory/README.rst:52 #: ../../Creational/SimpleFactory/README.rst:52
msgid "Test" msgid "Test"
msgstr "Тест" msgstr "Теst"
#: ../../Creational/SimpleFactory/README.rst:54 #: ../../Creational/SimpleFactory/README.rst:54
msgid "Tests/SimpleFactoryTest.php" msgid "Tests/SimpleFactoryTest.php"

View File

@@ -4,75 +4,73 @@ msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n" "Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-29 12:18+0200\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" "Last-Translator: Dominik Liebler <liebler.dominik@gmail.com>\n"
"MIME-Version: 1.0\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" "Content-Transfer-Encoding: 8bit\n"
"Language: de\n" "Language: de\n"
"Language-Team: \n"
"X-Generator: Poedit 1.8.7.1\n"
#: ../../Creational/Singleton/README.rst:2 #: ../../Creational/Singleton/README.rst:2
msgid "`Singleton`__" msgid "`Singleton`__"
msgstr "" msgstr "`Singleton`__"
"`Одиночка <https://ru.wikipedia.org/wiki/"
"Одиночка_(шаблон_проектирования)>`_ (`Singleton`__)"
#: ../../Creational/Singleton/README.rst:4 #: ../../Creational/Singleton/README.rst:4
msgid "" msgid ""
"**THIS IS CONSIDERED TO BE AN ANTI-PATTERN! FOR BETTER TESTABILITY AND " "**THIS IS CONSIDERED TO BE AN ANTI-PATTERN! FOR BETTER TESTABILITY AND "
"MAINTAINABILITY USE DEPENDENCY INJECTION!**" "MAINTAINABILITY USE DEPENDENCY INJECTION!**"
msgstr "" msgstr ""
"**Это считается анти-паттерном! Для лучшей тестируемости и " "**DIESES MUSTER IST EIN ANTI-PATTERN! FÜR BESSERE TESTBARKEIT UND "
"сопровождения кода используйте Инъекцию Зависимости (Dependency " "WARTBARKEIT, VERWENDE DAS DEPENDENCY INJECTION MUSTER!**"
"Injection)!**"
#: ../../Creational/Singleton/README.rst:8 #: ../../Creational/Singleton/README.rst:8
msgid "Purpose" msgid "Purpose"
msgstr "Назначение" msgstr "Zweck"
#: ../../Creational/Singleton/README.rst:10 #: ../../Creational/Singleton/README.rst:10
msgid "" msgid ""
"To have only one instance of this object in the application that will handle" "To have only one instance of this object in the application that will "
" all calls." "handle all calls."
msgstr "" msgstr ""
"Позволяет содержать только один экземпляр объекта в приложении, " "Um nur eine einzelne Instanz eines Objekts in der Anwendung zu verwenden, "
"которое будет обрабатывать все обращения, запрещая создавать новый " "die alle Aufrufe abarbeitet."
"экземпляр."
#: ../../Creational/Singleton/README.rst:14 #: ../../Creational/Singleton/README.rst:14
msgid "Examples" msgid "Examples"
msgstr "Примеры" msgstr "Beispiele"
#: ../../Creational/Singleton/README.rst:16 #: ../../Creational/Singleton/README.rst:16
msgid "DB Connector" msgid "DB Connector"
msgstr "DB Connector для подключения к базе данных" msgstr "DB Konnektor"
#: ../../Creational/Singleton/README.rst:17 #: ../../Creational/Singleton/README.rst:17
msgid "" msgid ""
"Logger (may also be a Multiton if there are many log files for several " "Logger (may also be a Multiton if there are many log files for several "
"purposes)" "purposes)"
msgstr "" msgstr ""
"Logger (также может быть Multiton если есть много журналов для " "Logger (kann auch ein Multiton sein, falls es mehrere Logfiles für "
"нескольких целей)" "verschiedene Zwecke gibt)"
#: ../../Creational/Singleton/README.rst:19 #: ../../Creational/Singleton/README.rst:19
msgid "" msgid ""
"Lock file for the application (there is only one in the filesystem ...)" "Lock file for the application (there is only one in the filesystem ...)"
msgstr "" msgstr ""
"Блокировка файла в приложении (есть только один в файловой системе с " "Lock file für die Anwendung (falls diese nur einmal auf dem System laufen "
"одновременным доступом к нему)" "darf ...)"
#: ../../Creational/Singleton/README.rst:23 #: ../../Creational/Singleton/README.rst:23
msgid "UML Diagram" msgid "UML Diagram"
msgstr "UML Диаграмма" msgstr "UML Diagramm"
#: ../../Creational/Singleton/README.rst:30 #: ../../Creational/Singleton/README.rst:30
msgid "Code" msgid "Code"
msgstr "Код" msgstr "Code"
#: ../../Creational/Singleton/README.rst:32 #: ../../Creational/Singleton/README.rst:32
msgid "You can also find these code on `GitHub`_" msgid "You can also find these code on `GitHub`_"
msgstr "Вы можете найти этот код на `GitHub`_" msgstr "Du findest den Code auch auf `GitHub`_"
#: ../../Creational/Singleton/README.rst:34 #: ../../Creational/Singleton/README.rst:34
msgid "Singleton.php" msgid "Singleton.php"
@@ -80,7 +78,7 @@ msgstr "Singleton.php"
#: ../../Creational/Singleton/README.rst:41 #: ../../Creational/Singleton/README.rst:41
msgid "Test" msgid "Test"
msgstr "Тест" msgstr "Теst"
#: ../../Creational/Singleton/README.rst:43 #: ../../Creational/Singleton/README.rst:43
msgid "Tests/SingletonTest.php" msgid "Tests/SingletonTest.php"

View File

@@ -4,20 +4,22 @@ msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n" "Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-29 12:18+0200\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" "Last-Translator: Dominik Liebler <liebler.dominik@gmail.com>\n"
"MIME-Version: 1.0\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" "Content-Transfer-Encoding: 8bit\n"
"Language: de\n" "Language: de\n"
"Language-Team: \n"
"X-Generator: Poedit 1.8.7.1\n"
#: ../../Creational/StaticFactory/README.rst:2 #: ../../Creational/StaticFactory/README.rst:2
msgid "Static Factory" msgid "Static Factory"
msgstr "Статическая Фабрика (Static Factory)" msgstr "Static Factory"
#: ../../Creational/StaticFactory/README.rst:5 #: ../../Creational/StaticFactory/README.rst:5
msgid "Purpose" msgid "Purpose"
msgstr "Назначение" msgstr "Zweck"
#: ../../Creational/StaticFactory/README.rst:7 #: ../../Creational/StaticFactory/README.rst:7
msgid "" msgid ""
@@ -27,35 +29,35 @@ msgid ""
"method to create all types of objects it can create. It is usually named " "method to create all types of objects it can create. It is usually named "
"``factory`` or ``build``." "``factory`` or ``build``."
msgstr "" msgstr ""
"Подобно AbstractFactory, этот паттерн используется для создания ряда " "Ä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 "
"обычно, называется ``factory`` или ``build``." "Objekten zu erzeugen. Diese heißt typischerweise ``factory`` oder ``build``."
#: ../../Creational/StaticFactory/README.rst:14 #: ../../Creational/StaticFactory/README.rst:14
msgid "Examples" msgid "Examples"
msgstr "Примеры" msgstr "Beispiele"
#: ../../Creational/StaticFactory/README.rst:16 #: ../../Creational/StaticFactory/README.rst:16
msgid "" msgid ""
"Zend Framework: ``Zend_Cache_Backend`` or ``_Frontend`` use a factory method" "Zend Framework: ``Zend_Cache_Backend`` or ``_Frontend`` use a factory "
" create cache backends or frontends" "method create cache backends or frontends"
msgstr "" msgstr ""
"Zend Framework: ``Zend_Cache_Backend`` или ``_Frontend`` использует " "Zend Framework: ``Zend_Cache_Backend`` oder ``_Frontend`` benutzen eine "
"фабричный метод для создания cache backends или frontends" "Factory Methode, um Cache Backends oder Frontends zu erzeugen"
#: ../../Creational/StaticFactory/README.rst:20 #: ../../Creational/StaticFactory/README.rst:20
msgid "UML Diagram" msgid "UML Diagram"
msgstr "UML Диаграмма" msgstr "UML Diagramm"
#: ../../Creational/StaticFactory/README.rst:27 #: ../../Creational/StaticFactory/README.rst:27
msgid "Code" msgid "Code"
msgstr "Код" msgstr "Code"
#: ../../Creational/StaticFactory/README.rst:29 #: ../../Creational/StaticFactory/README.rst:29
msgid "You can also find these code on `GitHub`_" msgid "You can also find these code on `GitHub`_"
msgstr "Вы можете найти этот код на `GitHub`_" msgstr "Du findest den Code auch auf `GitHub`_"
#: ../../Creational/StaticFactory/README.rst:31 #: ../../Creational/StaticFactory/README.rst:31
msgid "StaticFactory.php" msgid "StaticFactory.php"
@@ -75,7 +77,7 @@ msgstr "FormatNumber.php"
#: ../../Creational/StaticFactory/README.rst:56 #: ../../Creational/StaticFactory/README.rst:56
msgid "Test" msgid "Test"
msgstr "Тест" msgstr "Теst"
#: ../../Creational/StaticFactory/README.rst:58 #: ../../Creational/StaticFactory/README.rst:58
msgid "Tests/StaticFactoryTest.php" 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 "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n" "Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \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: 2015-05-30 04:46+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Dominik Liebler <liebler.dominik@gmail.com>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\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" "Content-Transfer-Encoding: 8bit\n"
"Language: de\n" "Generated-By: Babel 2.3.4\n"
#: ../../More/Delegation/README.rst:2 #: ../../More/Delegation/README.rst:2
msgid "`Delegation`__" msgid "`Delegation`__"
msgstr "`Делегирование <https://ru.wikipedia.org/wiki/Шаблон_делегирования>`_ (`Delegation`__)" msgstr ""
#: ../../More/Delegation/README.rst:5 #: ../../More/Delegation/README.rst:5
msgid "Purpose" msgid "Purpose"
msgstr "Назначение" msgstr ""
#: ../../More/Delegation/README.rst:7 ../../More/Delegation/README.rst:12 #: ../../More/Delegation/README.rst:7
msgid "..." msgid ""
msgstr "Основной шаблон проектирования, в котором объект внешне выражает некоторое поведение, но в реальности передаёт ответственность за выполнение этого поведения связанному объекту. Шаблон делегирования является фундаментальной абстракцией, на основе которой реализованы другие шаблоны - композиция (также называемая агрегацией), примеси (mixins) и аспекты (aspects). (c) wiki" "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 #: ../../More/Delegation/README.rst:10
msgid "Examples" 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 #: ../../More/Delegation/README.rst:15
msgid "UML Diagram" msgid "UML Diagram"
msgstr "UML Диаграмма" msgstr ""
#: ../../More/Delegation/README.rst:22 #: ../../More/Delegation/README.rst:22
msgid "Code" msgid "Code"
msgstr "Код" msgstr ""
#: ../../More/Delegation/README.rst:24 #: ../../More/Delegation/README.rst:24
msgid "You can also find these code on `GitHub`_" msgid "You can also find these code on `GitHub`_"
msgstr "Вы можете найти этот код на `GitHub`_" msgstr ""
#: ../../More/Delegation/README.rst:26 #: ../../More/Delegation/README.rst:26
msgid "Usage.php" msgid "Usage.php"
msgstr "Usage.php" msgstr ""
#: ../../More/Delegation/README.rst:32 #: ../../More/Delegation/README.rst:32
msgid "TeamLead.php" msgid "TeamLead.php"
msgstr "TeamLead.php" msgstr ""
#: ../../More/Delegation/README.rst:38 #: ../../More/Delegation/README.rst:38
msgid "JuniorDeveloper.php" msgid "JuniorDeveloper.php"
msgstr "JuniorDeveloper.php" msgstr ""
#: ../../More/Delegation/README.rst:45 #: ../../More/Delegation/README.rst:45
msgid "Test" msgid "Test"
msgstr "Тест" msgstr ""
#: ../../More/Delegation/README.rst:47 #: ../../More/Delegation/README.rst:47
msgid "Tests/DelegationTest.php" 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" "Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-29 12:18+0200\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" "Last-Translator: Dominik Liebler <liebler.dominik@gmail.com>\n"
"MIME-Version: 1.0\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" "Content-Transfer-Encoding: 8bit\n"
"Language: de\n" "Language: de\n"
"Language-Team: \n"
"X-Generator: Poedit 1.8.7.1\n"
#: ../../More/README.rst:2 #: ../../More/README.rst:2
msgid "More" msgid "More"
msgstr "Дополнительно" msgstr "Weitere"

View File

@@ -4,20 +4,22 @@ msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n" "Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-29 12:18+0200\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" "Last-Translator: Dominik Liebler <liebler.dominik@gmail.com>\n"
"MIME-Version: 1.0\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" "Content-Transfer-Encoding: 8bit\n"
"Language: de\n" "Language: de\n"
"Language-Team: \n"
"X-Generator: Poedit 1.8.7.1\n"
#: ../../More/Repository/README.rst:2 #: ../../More/Repository/README.rst:2
msgid "Repository" msgid "Repository"
msgstr "Хранилище (Repository)" msgstr "Repository"
#: ../../More/Repository/README.rst:5 #: ../../More/Repository/README.rst:5
msgid "Purpose" msgid "Purpose"
msgstr "Назначение" msgstr "Zweck"
#: ../../More/Repository/README.rst:7 #: ../../More/Repository/README.rst:7
msgid "" msgid ""
@@ -28,25 +30,25 @@ msgid ""
"also supports the objective of achieving a clean separation and one-way " "also supports the objective of achieving a clean separation and one-way "
"dependency between the domain and data mapping layers." "dependency between the domain and data mapping layers."
msgstr "" 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 #: ../../More/Repository/README.rst:16
msgid "Examples" msgid "Examples"
msgstr "Примеры" msgstr "Beispiele"
#: ../../More/Repository/README.rst:18 #: ../../More/Repository/README.rst:18
msgid "" msgid ""
"Doctrine 2 ORM: there is Repository that mediates between Entity and DBAL " "Doctrine 2 ORM: there is Repository that mediates between Entity and DBAL "
"and contains methods to retrieve objects" "and contains methods to retrieve objects"
msgstr "" msgstr ""
"Doctrine 2 ORM: в ней есть Repository, который является связующим звеном " "Doctrine 2 ORM: Repository vermittelt zwischen Entity und DBAL und enthält "
"между Entity и DBAL и содержит методы для получения объектов." "verschiedene Methoden, um Entities zu erhalten"
#: ../../More/Repository/README.rst:20 #: ../../More/Repository/README.rst:20
msgid "Laravel Framework" msgid "Laravel Framework"
@@ -54,15 +56,15 @@ msgstr "Laravel Framework"
#: ../../More/Repository/README.rst:23 #: ../../More/Repository/README.rst:23
msgid "UML Diagram" msgid "UML Diagram"
msgstr "UML Диаграмма" msgstr "UML Diagramm"
#: ../../More/Repository/README.rst:30 #: ../../More/Repository/README.rst:30
msgid "Code" msgid "Code"
msgstr "Код" msgstr "Code"
#: ../../More/Repository/README.rst:32 #: ../../More/Repository/README.rst:32
msgid "You can also find these code on `GitHub`_" msgid "You can also find these code on `GitHub`_"
msgstr "Вы можете найти этот код на `GitHub`_" msgstr "Du findest den Code auch auf `GitHub`_"
#: ../../More/Repository/README.rst:34 #: ../../More/Repository/README.rst:34
msgid "Post.php" msgid "Post.php"
@@ -82,4 +84,4 @@ msgstr "MemoryStorage.php"
#: ../../More/Repository/README.rst:59 #: ../../More/Repository/README.rst:59
msgid "Test" msgid "Test"
msgstr "Тест" msgstr "Теst"

View File

@@ -4,52 +4,53 @@ msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n" "Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-29 12:18+0200\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" "Last-Translator: Dominik Liebler <liebler.dominik@gmail.com>\n"
"MIME-Version: 1.0\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" "Content-Transfer-Encoding: 8bit\n"
"Language: de\n" "Language: de\n"
"Language-Team: \n"
"X-Generator: Poedit 1.8.7.1\n"
#: ../../More/ServiceLocator/README.rst:2 #: ../../More/ServiceLocator/README.rst:2
msgid "`Service Locator`__" msgid "`Service Locator`__"
msgstr "Локатор Служб (`Service Locator`__)" msgstr "`Service Locator`__"
#: ../../More/ServiceLocator/README.rst:5 #: ../../More/ServiceLocator/README.rst:5
msgid "Purpose" msgid "Purpose"
msgstr "Назначение" msgstr "Zweck"
#: ../../More/ServiceLocator/README.rst:7 #: ../../More/ServiceLocator/README.rst:7
msgid "" msgid ""
"To implement a loosely coupled architecture in order to get better testable," "To implement a loosely coupled architecture in order to get better "
" maintainable and extendable code. DI pattern and Service Locator pattern " "testable, maintainable and extendable code. DI pattern and Service Locator "
"are an implementation of the Inverse of Control pattern." "pattern are an implementation of the Inverse of Control pattern."
msgstr "" msgstr ""
"Для реализации слабосвязанной архитектуры, чтобы получить хорошо " "Um eine lose gekoppelte Architektur zu erhalten, die testbar, wartbar und "
"тестируемый, сопровождаемый и расширяемый код. Паттерн Инъекция " "erweiterbar ist. Sowohl das Dependency Injection, als auch das Service "
"зависимостей (DI) и паттерн Локатор Служб — это реализация паттерна " "Locator Pattern sind Implementierungen des Inverse Of Control Patterns."
"Инверсия управления (Inversion of Control, IoC)."
#: ../../More/ServiceLocator/README.rst:12 #: ../../More/ServiceLocator/README.rst:12
msgid "Usage" msgid "Usage"
msgstr "Использование" msgstr "Verwendung"
#: ../../More/ServiceLocator/README.rst:14 #: ../../More/ServiceLocator/README.rst:14
msgid "" msgid ""
"With ``ServiceLocator`` you can register a service for a given interface. By" "With ``ServiceLocator`` you can register a service for a given interface. "
" using the interface you can retrieve the service and use it in the classes " "By using the interface you can retrieve the service and use it in the "
"of the application without knowing its implementation. You can configure and" "classes of the application without knowing its implementation. You can "
" inject the Service Locator object on bootstrap." "configure and inject the Service Locator object on bootstrap."
msgstr "" msgstr ""
"С ``Локатором Служб`` вы можете зарегистрировать сервис для определенного " "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 "
"можете настроить и внедрить объект Service Locator на начальном этапе " "muss. Der Service Locator selbst kann im Bootstrapping der Anwendung "
"сборки приложения." "konfiguriert und injiziert werden."
#: ../../More/ServiceLocator/README.rst:20 #: ../../More/ServiceLocator/README.rst:20
msgid "Examples" msgid "Examples"
msgstr "Примеры" msgstr "Beispiele"
#: ../../More/ServiceLocator/README.rst:22 #: ../../More/ServiceLocator/README.rst:22
msgid "" msgid ""
@@ -57,22 +58,22 @@ msgid ""
"the framework(i.e. EventManager, ModuleManager, all custom user services " "the framework(i.e. EventManager, ModuleManager, all custom user services "
"provided by modules, etc...)" "provided by modules, etc...)"
msgstr "" msgstr ""
"Zend Framework 2 использует Service Locator для создания и совместного " "Zend Framework 2 macht intensiven Gebrauch vom Service Locator, um im "
"использования сервисов, задействованных в фреймворке (т.е. EventManager, " "Framework Services zu erstellen und zu teilen (z.B. EventManager, "
"ModuleManager, все пользовательские сервисы, предоставляемые модулями, и т." "ModuleManager, alle eigenen Services, die durch Module bereitgestellt "
"д ...)" "werden, usw...)"
#: ../../More/ServiceLocator/README.rst:27 #: ../../More/ServiceLocator/README.rst:27
msgid "UML Diagram" msgid "UML Diagram"
msgstr "UML Диаграмма" msgstr "UML Diagramm"
#: ../../More/ServiceLocator/README.rst:34 #: ../../More/ServiceLocator/README.rst:34
msgid "Code" msgid "Code"
msgstr "Код" msgstr "Code"
#: ../../More/ServiceLocator/README.rst:36 #: ../../More/ServiceLocator/README.rst:36
msgid "You can also find these code on `GitHub`_" msgid "You can also find these code on `GitHub`_"
msgstr "Вы можете найти этот код на `GitHub`_" msgstr "Du findest den Code auch auf `GitHub`_"
#: ../../More/ServiceLocator/README.rst:38 #: ../../More/ServiceLocator/README.rst:38
msgid "ServiceLocatorInterface.php" msgid "ServiceLocatorInterface.php"
@@ -100,7 +101,7 @@ msgstr "DatabaseService.php"
#: ../../More/ServiceLocator/README.rst:75 #: ../../More/ServiceLocator/README.rst:75
msgid "Test" msgid "Test"
msgstr "Тест" msgstr "Теst"
#: ../../More/ServiceLocator/README.rst:77 #: ../../More/ServiceLocator/README.rst:77
msgid "Tests/ServiceLocatorTest.php" msgid "Tests/ServiceLocatorTest.php"

View File

@@ -67,8 +67,8 @@ msgid "(The MIT License)"
msgstr "(The MIT License)" msgstr "(The MIT License)"
#: ../../README.rst:48 #: ../../README.rst:48
msgid "Copyright (c) 2014 `Dominik Liebler`_ and `contributors`_" msgid "Copyright (c) 2011 - 2016 `Dominik Liebler`_ and `contributors`_"
msgstr "Copyright (c) 2014 `Dominik Liebler`_ and `contributors`_" msgstr "Copyright (c) 2011 - 2016 `Dominik Liebler`_ and `contributors`_"
#: ../../README.rst:50 #: ../../README.rst:50
msgid "" msgid ""

View File

@@ -4,64 +4,64 @@ msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n" "Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-29 12:18+0200\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" "Last-Translator: Dominik Liebler <liebler.dominik@gmail.com>\n"
"MIME-Version: 1.0\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" "Content-Transfer-Encoding: 8bit\n"
"Language: de\n" "Language: de\n"
"Language-Team: \n"
"X-Generator: Poedit 1.8.7.1\n"
#: ../../Structural/Adapter/README.rst:2 #: ../../Structural/Adapter/README.rst:2
msgid "`Adapter / Wrapper`__" msgid "`Adapter / Wrapper`__"
msgstr "" msgstr "`Adapter / Wrapper`__"
"`Адаптер <https://ru.wikipedia.org/wiki/Адаптер_(шаблон_проектирования)>`_ "
"(`Adapter / Wrapper`__)"
#: ../../Structural/Adapter/README.rst:5 #: ../../Structural/Adapter/README.rst:5
msgid "Purpose" msgid "Purpose"
msgstr "Назначение" msgstr "Zweck"
#: ../../Structural/Adapter/README.rst:7 #: ../../Structural/Adapter/README.rst:7
msgid "" msgid ""
"To translate one interface for a class into a compatible interface. An " "To translate one interface for a class into a compatible interface. An "
"adapter allows classes to work together that normally could not because of " "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." "the original interface."
msgstr "" 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 #: ../../Structural/Adapter/README.rst:13
msgid "Examples" msgid "Examples"
msgstr "Примеры" msgstr "Beispiele"
#: ../../Structural/Adapter/README.rst:15 #: ../../Structural/Adapter/README.rst:15
msgid "DB Client libraries adapter" msgid "DB Client libraries adapter"
msgstr "Адаптер клиентских библиотек для работы с базами данных" msgstr "Datenbank-Adapter"
#: ../../Structural/Adapter/README.rst:16 #: ../../Structural/Adapter/README.rst:16
msgid "" msgid ""
"using multiple different webservices and adapters normalize data so that the" "using multiple different webservices and adapters normalize data so that "
" outcome is the same for all" "the outcome is the same for all"
msgstr "" msgstr ""
"нормализовать данные нескольких различных веб-сервисов, в одинаковую " "verschiedene Webservices zu verwenden, bei denen mit Hilfe eines Adapters "
"структуру, как будто вы работаете со стандартным сервисом (например при " "für jeden die Daten aufbereitet werden, so dass nach außen dasselbe "
"работе с API соцсетей)" "Ergebnis zu erwarten ist"
#: ../../Structural/Adapter/README.rst:20 #: ../../Structural/Adapter/README.rst:20
msgid "UML Diagram" msgid "UML Diagram"
msgstr "UML Диаграмма" msgstr "UML Diagramm"
#: ../../Structural/Adapter/README.rst:27 #: ../../Structural/Adapter/README.rst:27
msgid "Code" msgid "Code"
msgstr "Код" msgstr "Code"
#: ../../Structural/Adapter/README.rst:29 #: ../../Structural/Adapter/README.rst:29
msgid "You can also find these code on `GitHub`_" msgid "You can also find these code on `GitHub`_"
msgstr "Вы можете найти этот код на `GitHub`_" msgstr "Du findest den Code auch auf `GitHub`_"
#: ../../Structural/Adapter/README.rst:31 #: ../../Structural/Adapter/README.rst:31
msgid "PaperBookInterface.php" msgid "PaperBookInterface.php"
@@ -85,7 +85,7 @@ msgstr "Kindle.php"
#: ../../Structural/Adapter/README.rst:62 #: ../../Structural/Adapter/README.rst:62
msgid "Test" msgid "Test"
msgstr "Тест" msgstr "Теst"
#: ../../Structural/Adapter/README.rst:64 #: ../../Structural/Adapter/README.rst:64
msgid "Tests/AdapterTest.php" msgid "Tests/AdapterTest.php"

View File

@@ -4,34 +4,34 @@ msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n" "Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-29 12:18+0200\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" "Last-Translator: Dominik Liebler <liebler.dominik@gmail.com>\n"
"MIME-Version: 1.0\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" "Content-Transfer-Encoding: 8bit\n"
"Language: de\n" "Language: de\n"
"Language-Team: \n"
"X-Generator: Poedit 1.8.7.1\n"
#: ../../Structural/Bridge/README.rst:2 #: ../../Structural/Bridge/README.rst:2
msgid "`Bridge`__" msgid "`Bridge`__"
msgstr "" msgstr "`Bridge`__"
"`Мост <https://ru.wikipedia.org/wiki/Мост_(шаблон_проектирования)>`_ "
"(`Bridge`__)"
#: ../../Structural/Bridge/README.rst:5 #: ../../Structural/Bridge/README.rst:5
msgid "Purpose" msgid "Purpose"
msgstr "Назначение" msgstr "Zweck"
#: ../../Structural/Bridge/README.rst:7 #: ../../Structural/Bridge/README.rst:7
msgid "" msgid ""
"Decouple an abstraction from its implementation so that the two can vary " "Decouple an abstraction from its implementation so that the two can vary "
"independently." "independently."
msgstr "" msgstr ""
"Отделить абстракцию от её реализации так, что они могут изменяться " "Eine Abstraktion von seiner Implementierung zu entkoppeln, sodass sich "
"независимо друг от друга." "diese unterscheiden können."
#: ../../Structural/Bridge/README.rst:11 #: ../../Structural/Bridge/README.rst:11
msgid "Sample:" msgid "Sample:"
msgstr "Пример:" msgstr "Beispiel:"
#: ../../Structural/Bridge/README.rst:13 #: ../../Structural/Bridge/README.rst:13
msgid "`Symfony DoctrineBridge <https://github.com/symfony/DoctrineBridge>`__" msgid "`Symfony DoctrineBridge <https://github.com/symfony/DoctrineBridge>`__"
@@ -40,15 +40,15 @@ msgstr ""
#: ../../Structural/Bridge/README.rst:17 #: ../../Structural/Bridge/README.rst:17
msgid "UML Diagram" msgid "UML Diagram"
msgstr "UML Диаграмма" msgstr "UML Diagramm"
#: ../../Structural/Bridge/README.rst:24 #: ../../Structural/Bridge/README.rst:24
msgid "Code" msgid "Code"
msgstr "Код" msgstr "Code"
#: ../../Structural/Bridge/README.rst:26 #: ../../Structural/Bridge/README.rst:26
msgid "You can also find these code on `GitHub`_" msgid "You can also find these code on `GitHub`_"
msgstr "Вы можете найти этот код на `GitHub`_" msgstr "Du findest den Code auch auf `GitHub`_"
#: ../../Structural/Bridge/README.rst:28 #: ../../Structural/Bridge/README.rst:28
msgid "Workshop.php" msgid "Workshop.php"
@@ -76,7 +76,7 @@ msgstr "Car.php"
#: ../../Structural/Bridge/README.rst:65 #: ../../Structural/Bridge/README.rst:65
msgid "Test" msgid "Test"
msgstr "Тест" msgstr "Теst"
#: ../../Structural/Bridge/README.rst:67 #: ../../Structural/Bridge/README.rst:67
msgid "Tests/BridgeTest.php" msgid "Tests/BridgeTest.php"

View File

@@ -4,33 +4,33 @@ msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n" "Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-29 12:18+0200\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" "Last-Translator: Dominik Liebler <liebler.dominik@gmail.com>\n"
"MIME-Version: 1.0\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" "Content-Transfer-Encoding: 8bit\n"
"Language: de\n" "Language: de\n"
"Language-Team: \n"
"X-Generator: Poedit 1.8.7.1\n"
#: ../../Structural/Composite/README.rst:2 #: ../../Structural/Composite/README.rst:2
msgid "`Composite`__" msgid "`Composite`__"
msgstr "" msgstr "`Composite`__"
"`Компоновщик <https://ru.wikipedia.org/wiki/"
"Компоновщик_(шаблон_проектирования)>`_ (`Composite`__)"
#: ../../Structural/Composite/README.rst:5 #: ../../Structural/Composite/README.rst:5
msgid "Purpose" msgid "Purpose"
msgstr "Назначение" msgstr "Zweck"
#: ../../Structural/Composite/README.rst:7 #: ../../Structural/Composite/README.rst:7
msgid "" msgid ""
"To treat a group of objects the same way as a single instance of the object." "To treat a group of objects the same way as a single instance of the object."
msgstr "" msgstr ""
"Взаимодействие с иерархической группой объектов также, как и с отдельно " "Eine Gruppe von Objekten genauso zu behandeln wie eine einzelne Instanz "
"взятым экземпляром." "eines Objekts."
#: ../../Structural/Composite/README.rst:11 #: ../../Structural/Composite/README.rst:11
msgid "Examples" msgid "Examples"
msgstr "Примеры" msgstr "Beispiele"
#: ../../Structural/Composite/README.rst:13 #: ../../Structural/Composite/README.rst:13
msgid "" msgid ""
@@ -38,29 +38,30 @@ msgid ""
"of the form, when ``render()`` is called, it subsequently runs through all " "of the form, when ``render()`` is called, it subsequently runs through all "
"its child elements and calls ``render()`` on them" "its child elements and calls ``render()`` on them"
msgstr "" msgstr ""
"Экземпляр класса Form обрабатывает все свои элементы формы, как будто это " "Eine Formular-Klasseninstanz behandelt alle seine beinhalteten Formelemente "
"один экземпляр. И когда вызывается метод ``render()``, он перебирает все " "wie eine eine einzelne Instanz des Formulars. Wenn ``render()`` aufgerufen "
"дочерние элементы и вызывает их собственный ``render()``." "wird, werden alle Kindelemente durchlaufen und auf jedem wieder "
"``render()`` aufgerufen."
#: ../../Structural/Composite/README.rst:16 #: ../../Structural/Composite/README.rst:16
msgid "" msgid ""
"``Zend_Config``: a tree of configuration options, each one is a " "``Zend_Config``: a tree of configuration options, each one is a "
"``Zend_Config`` object itself" "``Zend_Config`` object itself"
msgstr "" msgstr ""
"``Zend_Config``: дерево вариантов конфигурации, где каждая из конфигураций " "``Zend_Config``: ein Baum aus Konfigurationsoptionen, bei dem jedes Objekt "
"тоже представляет собой объект ``Zend_Config``" "wieder eine Instanz von``Zend_Config`` ist"
#: ../../Structural/Composite/README.rst:20 #: ../../Structural/Composite/README.rst:20
msgid "UML Diagram" msgid "UML Diagram"
msgstr "UML Диаграмма" msgstr "UML Diagramm"
#: ../../Structural/Composite/README.rst:27 #: ../../Structural/Composite/README.rst:27
msgid "Code" msgid "Code"
msgstr "Код" msgstr "Code"
#: ../../Structural/Composite/README.rst:29 #: ../../Structural/Composite/README.rst:29
msgid "You can also find these code on `GitHub`_" msgid "You can also find these code on `GitHub`_"
msgstr "Вы можете найти этот код на `GitHub`_" msgstr "Du findest den Code auch auf `GitHub`_"
#: ../../Structural/Composite/README.rst:31 #: ../../Structural/Composite/README.rst:31
msgid "FormElement.php" msgid "FormElement.php"
@@ -80,7 +81,7 @@ msgstr "TextElement.php"
#: ../../Structural/Composite/README.rst:56 #: ../../Structural/Composite/README.rst:56
msgid "Test" msgid "Test"
msgstr "Тест" msgstr "Теst"
#: ../../Structural/Composite/README.rst:58 #: ../../Structural/Composite/README.rst:58
msgid "Tests/CompositeTest.php" msgid "Tests/CompositeTest.php"

View File

@@ -4,58 +4,56 @@ msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n" "Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-29 12:18+0200\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" "Last-Translator: Dominik Liebler <liebler.dominik@gmail.com>\n"
"MIME-Version: 1.0\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" "Content-Transfer-Encoding: 8bit\n"
"Language: de\n" "Language: de\n"
"Language-Team: \n"
"X-Generator: Poedit 1.8.7.1\n"
#: ../../Structural/DataMapper/README.rst:2 #: ../../Structural/DataMapper/README.rst:2
msgid "`Data Mapper`__" msgid "`Data Mapper`__"
msgstr "Преобразователь Данных (`Data Mapper`__)" msgstr "`Data Mapper`__"
#: ../../Structural/DataMapper/README.rst:5 #: ../../Structural/DataMapper/README.rst:5
msgid "Purpose" msgid "Purpose"
msgstr "Назначение" msgstr "Zweck"
#: ../../Structural/DataMapper/README.rst:7 #: ../../Structural/DataMapper/README.rst:7
msgid "" msgid ""
"A Data Mapper, is a Data Access Layer that performs bidirectional transfer " "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" "of data between a persistent data store (often a relational database) and "
" in memory data representation (the domain layer). The goal of the pattern " "an in memory data representation (the domain layer). The goal of the "
"is to keep the in memory representation and the persistent data store " "pattern is to keep the in memory representation and the persistent data "
"independent of each other and the data mapper itself. The layer is composed " "store independent of each other and the data mapper itself. The layer is "
"of one or more mappers (or Data Access Objects), performing the data " "composed of one or more mappers (or Data Access Objects), performing the "
"transfer. Mapper implementations vary in scope. Generic mappers will handle " "data transfer. Mapper implementations vary in scope. Generic mappers will "
"many different domain entity types, dedicated mappers will handle one or a " "handle many different domain entity types, dedicated mappers will handle "
"few." "one or a few."
msgstr "" msgstr ""
"Преобразователь Данных — это паттерн, который выступает в роли посредника " "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 "
"данных. Слой состоит из одного или более mapper-а (или объектов доступа к " "von Daten regeln. Mapper können dabei unterschiedlich komplex aufgebaut "
"данным), отвечающих за передачу данных. Реализации mapper-ов различаются по " "sein. Generische Mapper werden viele verschiedene Domain Entity Typen "
"назначению. Общие mapper-ы могут обрабатывать всевозоможные типы сущностей " "verarbeiten können, aber auch spezialisierte Mapper sind denkbar."
"доменов, а выделенные mapper-ы будет обрабатывать один или несколько "
"конкретных типов."
#: ../../Structural/DataMapper/README.rst:17 #: ../../Structural/DataMapper/README.rst:17
msgid "" msgid ""
"The key point of this pattern is, unlike Active Record pattern, the data " "The key point of this pattern is, unlike Active Record pattern, the data "
"model follows Single Responsibility Principle." "model follows Single Responsibility Principle."
msgstr "" msgstr ""
"Ключевым моментом этого паттерна, в отличие от Активной Записи (Active " "Im Gegensatz zum Active Record Pattern folgt dieses Muster dem Single "
"Records) является то, что модель данных следует `Принципу Единой " "Responsibility Prinzip."
"Обязанности <https://ru.wikipedia.org/wiki/"
ринцип_единственной_обязанности>`_ SOLID."
#: ../../Structural/DataMapper/README.rst:21 #: ../../Structural/DataMapper/README.rst:21
msgid "Examples" msgid "Examples"
msgstr "Примеры" msgstr "Beispiele"
#: ../../Structural/DataMapper/README.rst:23 #: ../../Structural/DataMapper/README.rst:23
msgid "" msgid ""
@@ -67,15 +65,15 @@ msgstr ""
#: ../../Structural/DataMapper/README.rst:27 #: ../../Structural/DataMapper/README.rst:27
msgid "UML Diagram" msgid "UML Diagram"
msgstr "UML Диаграмма" msgstr "UML Diagramm"
#: ../../Structural/DataMapper/README.rst:34 #: ../../Structural/DataMapper/README.rst:34
msgid "Code" msgid "Code"
msgstr "Код" msgstr "Code"
#: ../../Structural/DataMapper/README.rst:36 #: ../../Structural/DataMapper/README.rst:36
msgid "You can also find these code on `GitHub`_" msgid "You can also find these code on `GitHub`_"
msgstr "Вы можете найти этот код на `GitHub`_" msgstr "Du findest den Code auch auf `GitHub`_"
#: ../../Structural/DataMapper/README.rst:38 #: ../../Structural/DataMapper/README.rst:38
msgid "User.php" msgid "User.php"
@@ -87,7 +85,7 @@ msgstr "UserMapper.php"
#: ../../Structural/DataMapper/README.rst:51 #: ../../Structural/DataMapper/README.rst:51
msgid "Test" msgid "Test"
msgstr "Тест" msgstr "Теst"
#: ../../Structural/DataMapper/README.rst:53 #: ../../Structural/DataMapper/README.rst:53
msgid "Tests/DataMapperTest.php" msgid "Tests/DataMapperTest.php"

View File

@@ -4,54 +4,52 @@ msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n" "Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-29 12:18+0200\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" "Last-Translator: Dominik Liebler <liebler.dominik@gmail.com>\n"
"MIME-Version: 1.0\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" "Content-Transfer-Encoding: 8bit\n"
"Language: de\n" "Language: de\n"
"Language-Team: \n"
"X-Generator: Poedit 1.8.7.1\n"
#: ../../Structural/Decorator/README.rst:2 #: ../../Structural/Decorator/README.rst:2
msgid "`Decorator`__" msgid "`Decorator`__"
msgstr "" msgstr "`Decorator`__"
"`Декоратор <https://ru.wikipedia.org/wiki/"
екоратор_(шаблон_проектирования)>`_ (`Decorator`__)"
#: ../../Structural/Decorator/README.rst:5 #: ../../Structural/Decorator/README.rst:5
msgid "Purpose" msgid "Purpose"
msgstr "Назначение" msgstr "Zweck"
#: ../../Structural/Decorator/README.rst:7 #: ../../Structural/Decorator/README.rst:7
msgid "To dynamically add new functionality to class instances." msgid "To dynamically add new functionality to class instances."
msgstr "Динамически добавляет новую функциональность в экземпляры классов." msgstr "neue Funktionalität dynamisch zu Klasseninstanzen hinzuzufügen."
#: ../../Structural/Decorator/README.rst:10 #: ../../Structural/Decorator/README.rst:10
msgid "Examples" msgid "Examples"
msgstr "Примеры" msgstr "Beispiele"
#: ../../Structural/Decorator/README.rst:12 #: ../../Structural/Decorator/README.rst:12
msgid "Zend Framework: decorators for ``Zend_Form_Element`` instances" 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 #: ../../Structural/Decorator/README.rst:13
msgid "" msgid ""
"Web Service Layer: Decorators JSON and XML for a REST service (in this case," "Web Service Layer: Decorators JSON and XML for a REST service (in this "
" only one of these should be allowed of course)" "case, only one of these should be allowed of course)"
msgstr "" msgstr "Web Service Layer: JSON- und XML-Dekoratoren für einen REST Service"
"Web Service Layer: Декораторы JSON и XML для REST сервисов (в этом случае, "
"конечно, только один из них может быть разрешен)."
#: ../../Structural/Decorator/README.rst:17 #: ../../Structural/Decorator/README.rst:17
msgid "UML Diagram" msgid "UML Diagram"
msgstr "UML Диаграмма" msgstr "UML Diagramm"
#: ../../Structural/Decorator/README.rst:24 #: ../../Structural/Decorator/README.rst:24
msgid "Code" msgid "Code"
msgstr "Код" msgstr "Code"
#: ../../Structural/Decorator/README.rst:26 #: ../../Structural/Decorator/README.rst:26
msgid "You can also find these code on `GitHub`_" msgid "You can also find these code on `GitHub`_"
msgstr "Вы можете найти этот код на `GitHub`_" msgstr "Du findest den Code auch auf `GitHub`_"
#: ../../Structural/Decorator/README.rst:28 #: ../../Structural/Decorator/README.rst:28
msgid "RendererInterface.php" msgid "RendererInterface.php"
@@ -75,7 +73,7 @@ msgstr "RenderInJson.php"
#: ../../Structural/Decorator/README.rst:59 #: ../../Structural/Decorator/README.rst:59
msgid "Test" msgid "Test"
msgstr "Тест" msgstr "Теst"
#: ../../Structural/Decorator/README.rst:61 #: ../../Structural/Decorator/README.rst:61
msgid "Tests/DecoratorTest.php" msgid "Tests/DecoratorTest.php"

View File

@@ -4,68 +4,67 @@ msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n" "Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-29 12:18+0200\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" "Last-Translator: Dominik Liebler <liebler.dominik@gmail.com>\n"
"MIME-Version: 1.0\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" "Content-Transfer-Encoding: 8bit\n"
"Language: de\n" "Language: de\n"
"Language-Team: \n"
"X-Generator: Poedit 1.8.7.1\n"
#: ../../Structural/DependencyInjection/README.rst:2 #: ../../Structural/DependencyInjection/README.rst:2
msgid "`Dependency Injection`__" msgid "`Dependency Injection`__"
msgstr "" msgstr "`Dependency Injection`__"
"`Внедрение Зависимости <https://ru.wikipedia.org/wiki/"
"Внедрениеависимости>`_ (`Dependency Injection`__)"
#: ../../Structural/DependencyInjection/README.rst:5 #: ../../Structural/DependencyInjection/README.rst:5
msgid "Purpose" msgid "Purpose"
msgstr "Назначение" msgstr "Zweck"
#: ../../Structural/DependencyInjection/README.rst:7 #: ../../Structural/DependencyInjection/README.rst:7
msgid "" msgid ""
"To implement a loosely coupled architecture in order to get better testable," "To implement a loosely coupled architecture in order to get better "
" maintainable and extendable code." "testable, maintainable and extendable code."
msgstr "" msgstr ""
"Для реализации слабосвязанной архитектуры. Чтобы получить более " "Eine lose gekoppelte Architektur zu implementieren, um besser testbaren, "
"тестируемый, сопровождаемый и расширяемый код." "wartbaren und erweiterbaren Code zu erreichen."
#: ../../Structural/DependencyInjection/README.rst:11 #: ../../Structural/DependencyInjection/README.rst:11
msgid "Usage" msgid "Usage"
msgstr "Использование" msgstr "Verwendung"
#: ../../Structural/DependencyInjection/README.rst:13 #: ../../Structural/DependencyInjection/README.rst:13
msgid "" msgid ""
"Configuration gets injected and ``Connection`` will get all that it needs " "Configuration gets injected and ``Connection`` will get all that it needs "
"from ``$config``. Without DI, the configuration would be created directly in" "from ``$config``. Without DI, the configuration would be created directly "
" ``Connection``, which is not very good for testing and extending " "in ``Connection``, which is not very good for testing and extending "
"``Connection``." "``Connection``."
msgstr "" msgstr ""
"Объект Configuration внедряется в ``Connection`` и последний получает всё, " "Die Konfiguration wird injiziert und ``Connection`` wird sich von ``"
"что ему необходимо из переменной ``$ config``. Без DI, конфигурация будет " "$config`` selbstständig nehmen, was es braucht. Ohne DI würde die "
"создана непосредственно в ``Connection``, что не очень хорошо для " "Konfiguration direkt in ``Connection`` erzeugt, was sich schlecht testen "
"тестирования и расширения ``Connection``, так как связывает эти классы " "und erweitern lässt."
"напрямую."
#: ../../Structural/DependencyInjection/README.rst:18 #: ../../Structural/DependencyInjection/README.rst:18
msgid "" msgid ""
"Notice we are following Inversion of control principle in ``Connection`` by " "Notice we are following Inversion of control principle in ``Connection`` by "
"asking ``$config`` to implement ``Parameters`` interface. This decouples our" "asking ``$config`` to implement ``Parameters`` interface. This decouples "
" components. We don't care where the source of information comes from, we " "our components. We don't care where the source of information comes from, "
"only care that ``$config`` has certain methods to retrieve that information." "we only care that ``$config`` has certain methods to retrieve that "
" Read more about Inversion of control `here " "information. Read more about Inversion of control `here <http://en."
"<http://en.wikipedia.org/wiki/Inversion_of_control>`__." "wikipedia.org/wiki/Inversion_of_control>`__."
msgstr "" msgstr ""
"Обратите внимание, в ``Connection`` мы следуем принципу SOLID `Инверсия " "Beachte, dass wir in ``Connection`` dem Inversion of Control Prinzip "
"Управления <https://ru.wikipedia.org/wiki/Инверсия_управления>`_, " "folgen, indem wir ``$config`` das ``Parameters`` Interface implementieren "
"запрашивая параметр ``$config``, чтобы реализовать интерфейс " "lassen. Das entkoppelt unsere Komponenten. Wir interessieren uns auch nicht "
"``Parameters``. Это отделяет наши компоненты друг от друга. Нас не заботит, " "für die Quelle der benötigten Informationen, alles was an der Stelle "
"из какого источника поступает эта информация о конфигурации, мы заботимся " "wichtig ist, ist, dass ``$config`` bestimmte Methoden zum Auslesen der "
"только о том, что ``$config`` должен иметь определенные методы, чтобы мы " "Informationen bereitstellt. Weiteres zu Inversion of control gibt es`hier "
"могли получить эту информацию." "<http://en.wikipedia.org/wiki/Inversion_of_control>`__."
#: ../../Structural/DependencyInjection/README.rst:26 #: ../../Structural/DependencyInjection/README.rst:26
msgid "Examples" msgid "Examples"
msgstr "Примеры" msgstr "Beispiele"
#: ../../Structural/DependencyInjection/README.rst:28 #: ../../Structural/DependencyInjection/README.rst:28
msgid "" msgid ""
@@ -74,10 +73,9 @@ msgid ""
"create a mock object of the configuration and inject that into the " "create a mock object of the configuration and inject that into the "
"``Connection`` object" "``Connection`` object"
msgstr "" msgstr ""
"The Doctrine2 ORM использует Внедрение Зависимости например для " "Das Doctrine2 ORM benutzt Dependency Injection für z.B. die Konfiguration, "
"конфигурации, которая внедряется в объект ``Connection``. Для целей " "die in ein ``Connection`` injiziert wird. Für Testzwecke lässt sich diese "
"тестирования, можно легко создать макет объекта конфигурации и внедрить его " "leicht durch ein gemocktes Objekt austauschen."
"в объект ``Connection``, подменив оригинальный."
#: ../../Structural/DependencyInjection/README.rst:32 #: ../../Structural/DependencyInjection/README.rst:32
msgid "" msgid ""
@@ -85,21 +83,21 @@ msgid ""
"objects via a configuration array and inject them where needed (i.e. in " "objects via a configuration array and inject them where needed (i.e. in "
"Controllers)" "Controllers)"
msgstr "" 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 #: ../../Structural/DependencyInjection/README.rst:37
msgid "UML Diagram" msgid "UML Diagram"
msgstr "UML Диаграмма" msgstr "UML Diagramm"
#: ../../Structural/DependencyInjection/README.rst:44 #: ../../Structural/DependencyInjection/README.rst:44
msgid "Code" msgid "Code"
msgstr "Код" msgstr "Code"
#: ../../Structural/DependencyInjection/README.rst:46 #: ../../Structural/DependencyInjection/README.rst:46
msgid "You can also find these code on `GitHub`_" msgid "You can also find these code on `GitHub`_"
msgstr "Вы можете найти этот код на `GitHub`_" msgstr "Du findest den Code auch auf `GitHub`_"
#: ../../Structural/DependencyInjection/README.rst:48 #: ../../Structural/DependencyInjection/README.rst:48
msgid "AbstractConfig.php" msgid "AbstractConfig.php"
@@ -119,7 +117,7 @@ msgstr "Connection.php"
#: ../../Structural/DependencyInjection/README.rst:73 #: ../../Structural/DependencyInjection/README.rst:73
msgid "Test" msgid "Test"
msgstr "Тест" msgstr "Теst"
#: ../../Structural/DependencyInjection/README.rst:75 #: ../../Structural/DependencyInjection/README.rst:75
msgid "Tests/DependencyInjectionTest.php" msgid "Tests/DependencyInjectionTest.php"

View File

@@ -4,22 +4,22 @@ msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n" "Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-29 12:18+0200\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" "Last-Translator: Dominik Liebler <liebler.dominik@gmail.com>\n"
"MIME-Version: 1.0\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" "Content-Transfer-Encoding: 8bit\n"
"Language: de\n" "Language: de\n"
"Language-Team: \n"
"X-Generator: Poedit 1.8.7.1\n"
#: ../../Structural/Facade/README.rst:2 #: ../../Structural/Facade/README.rst:2
msgid "`Facade`__" msgid "`Facade`__"
msgstr "" msgstr "`Facade`__"
"`Фасад <https://ru.wikipedia.org/wiki/Фасад_(шаблон_проектирования)>`_ "
"(`Facade`__)"
#: ../../Structural/Facade/README.rst:5 #: ../../Structural/Facade/README.rst:5
msgid "Purpose" msgid "Purpose"
msgstr "Назначение" msgstr "Zweck"
#: ../../Structural/Facade/README.rst:7 #: ../../Structural/Facade/README.rst:7
msgid "" msgid ""
@@ -27,41 +27,37 @@ msgid ""
"of a complex API. It's only a side-effect. The first goal is to reduce " "of a complex API. It's only a side-effect. The first goal is to reduce "
"coupling and follow the Law of Demeter." "coupling and follow the Law of Demeter."
msgstr "" msgstr ""
"Основная цель паттерна Фасад заключается не в том, чтобы помешать вам " "Das primäre Ziel des Facade-Musters ist nicht, dir das Lesen von komplexen "
"прочитать инструкцию комплексной API. Это только побочный эффект. Главная " "API Dokumentationen zu ersparen. Das kann ein Seiteneffekt sein. Es ist "
"цель всё же состоит в уменьшении связности кода и соблюдении `Закона " "vielmehr das Ziel, Kopplungen zu vermeiden und dem Gesetz von Demeter zu "
"Деметры <https://ru.wikipedia.org/wiki/Закон_Деметры>`_." "folgen."
#: ../../Structural/Facade/README.rst:11 #: ../../Structural/Facade/README.rst:11
msgid "" msgid ""
"A Facade is meant to decouple a client and a sub-system by embedding many " "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." "(but sometimes just one) interface, and of course to reduce complexity."
msgstr "" 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 #: ../../Structural/Facade/README.rst:15
msgid "A facade does not forbid you the access to the sub-system" 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 #: ../../Structural/Facade/README.rst:16
msgid "You can (you should) have multiple facades for one sub-system" msgid "You can (you should) have multiple facades for one sub-system"
msgstr "" msgstr ""
"Вы можете (и вам стоило бы) иметь несколько фасадов для одной подсистемы." "Es ist nicht unüblich, mehrere Fassaden für ein Subsystem zu implementieren"
#: ../../Structural/Facade/README.rst:18 #: ../../Structural/Facade/README.rst:18
msgid "" msgid ""
"That's why a good facade has no ``new`` in it. If there are multiple " "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 " "creations for each method, it is not a Facade, it's a Builder or a [Abstract"
"[Abstract\\|Static\\|Simple] Factory [Method]." "\\|Static\\|Simple] Factory [Method]."
msgstr "" 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 #: ../../Structural/Facade/README.rst:22
msgid "" msgid ""
@@ -69,21 +65,21 @@ msgid ""
"parameters. If you need creation of new instances, use a Factory as " "parameters. If you need creation of new instances, use a Factory as "
"argument." "argument."
msgstr "" 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 #: ../../Structural/Facade/README.rst:27
msgid "UML Diagram" msgid "UML Diagram"
msgstr "UML Диаграмма" msgstr "UML Diagramm"
#: ../../Structural/Facade/README.rst:34 #: ../../Structural/Facade/README.rst:34
msgid "Code" msgid "Code"
msgstr "Код" msgstr "Code"
#: ../../Structural/Facade/README.rst:36 #: ../../Structural/Facade/README.rst:36
msgid "You can also find these code on `GitHub`_" msgid "You can also find these code on `GitHub`_"
msgstr "Вы можете найти этот код на `GitHub`_" msgstr "Du findest den Code auch auf `GitHub`_"
#: ../../Structural/Facade/README.rst:38 #: ../../Structural/Facade/README.rst:38
msgid "Facade.php" msgid "Facade.php"
@@ -99,7 +95,7 @@ msgstr "BiosInterface.php"
#: ../../Structural/Facade/README.rst:57 #: ../../Structural/Facade/README.rst:57
msgid "Test" msgid "Test"
msgstr "Тест" msgstr "Теst"
#: ../../Structural/Facade/README.rst:59 #: ../../Structural/Facade/README.rst:59
msgid "Tests/FacadeTest.php" msgid "Tests/FacadeTest.php"

View File

@@ -4,60 +4,60 @@ msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n" "Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-29 12:18+0200\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" "Last-Translator: Dominik Liebler <liebler.dominik@gmail.com>\n"
"MIME-Version: 1.0\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" "Content-Transfer-Encoding: 8bit\n"
"Language: de\n" "Language: de\n"
"Language-Team: \n"
"X-Generator: Poedit 1.8.7.1\n"
#: ../../Structural/FluentInterface/README.rst:2 #: ../../Structural/FluentInterface/README.rst:2
msgid "`Fluent Interface`__" msgid "`Fluent Interface`__"
msgstr "" msgstr "`Fluent Interface`__"
"`Текучий Интерфейс <https://ru.wikipedia.org/wiki/Fluent_interface>`_ "
"(`Fluent Interface`__)"
#: ../../Structural/FluentInterface/README.rst:5 #: ../../Structural/FluentInterface/README.rst:5
msgid "Purpose" msgid "Purpose"
msgstr "Назначение" msgstr "Zweck"
#: ../../Structural/FluentInterface/README.rst:7 #: ../../Structural/FluentInterface/README.rst:7
msgid "" msgid ""
"To write code that is easy readable just like sentences in a natural " "To write code that is easy readable just like sentences in a natural "
"language (like English)." "language (like English)."
msgstr "" 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 #: ../../Structural/FluentInterface/README.rst:11
msgid "Examples" msgid "Examples"
msgstr "Примеры" msgstr "Beispiele"
#: ../../Structural/FluentInterface/README.rst:13 #: ../../Structural/FluentInterface/README.rst:13
msgid "Doctrine2's QueryBuilder works something like that example class below" 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 #: ../../Structural/FluentInterface/README.rst:15
msgid "PHPUnit uses fluent interfaces to build mock objects" msgid "PHPUnit uses fluent interfaces to build mock objects"
msgstr "" msgstr "PHPUnit verwendet ein Fluent Interface, um Mockobjekte zu erstellen"
"PHPUnit использует текучий интерфейс, чтобы создавать макеты объектов."
#: ../../Structural/FluentInterface/README.rst:16 #: ../../Structural/FluentInterface/README.rst:16
msgid "Yii Framework: CDbCommand and CActiveRecord use this pattern, too" msgid "Yii Framework: CDbCommand and CActiveRecord use this pattern, too"
msgstr "" msgstr ""
"Yii Framework: CDbCommand и CActiveRecord тоже используют этот паттерн." "Yii Framework: CDbCommand und CActiveRecord verwenden auch dieses Muster"
#: ../../Structural/FluentInterface/README.rst:19 #: ../../Structural/FluentInterface/README.rst:19
msgid "UML Diagram" msgid "UML Diagram"
msgstr "UML Диаграмма" msgstr "UML Diagramm"
#: ../../Structural/FluentInterface/README.rst:26 #: ../../Structural/FluentInterface/README.rst:26
msgid "Code" msgid "Code"
msgstr "Код" msgstr "Code"
#: ../../Structural/FluentInterface/README.rst:28 #: ../../Structural/FluentInterface/README.rst:28
msgid "You can also find these code on `GitHub`_" msgid "You can also find these code on `GitHub`_"
msgstr "Вы можете найти этот код на `GitHub`_" msgstr "Du findest den Code auch auf `GitHub`_"
#: ../../Structural/FluentInterface/README.rst:30 #: ../../Structural/FluentInterface/README.rst:30
msgid "Sql.php" msgid "Sql.php"
@@ -65,7 +65,7 @@ msgstr "Sql.php"
#: ../../Structural/FluentInterface/README.rst:37 #: ../../Structural/FluentInterface/README.rst:37
msgid "Test" msgid "Test"
msgstr "Тест" msgstr "Теst"
#: ../../Structural/FluentInterface/README.rst:39 #: ../../Structural/FluentInterface/README.rst:39
msgid "Tests/FluentInterfaceTest.php" 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" "Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-29 12:18+0200\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" "Last-Translator: Dominik Liebler <liebler.dominik@gmail.com>\n"
"MIME-Version: 1.0\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" "Content-Transfer-Encoding: 8bit\n"
"Language: de\n" "Language: de\n"
"Language-Team: \n"
"X-Generator: Poedit 1.8.7.1\n"
#: ../../Structural/Proxy/README.rst:2 #: ../../Structural/Proxy/README.rst:2
msgid "`Proxy`__" msgid "`Proxy`__"
msgstr "" msgstr "`Proxy`__"
"`Прокси <https://ru.wikipedia.org/wiki/Proxy_(шаблон_проектирования)>`_ "
"(`Proxy`__)"
#: ../../Structural/Proxy/README.rst:5 #: ../../Structural/Proxy/README.rst:5
msgid "Purpose" msgid "Purpose"
msgstr "Назначение" msgstr "Zweck"
#: ../../Structural/Proxy/README.rst:7 #: ../../Structural/Proxy/README.rst:7
msgid "To interface to anything that is expensive or impossible to duplicate." msgid "To interface to anything that is expensive or impossible to duplicate."
msgstr "" msgstr ""
"Создать интерфейс взаимодействия с любым классом, который трудно или " "Um ein Interface bereitzustellen, das teuer oder unmöglich zu duplizieren "
"невозможно использовать в оригинальном виде." "ist"
#: ../../Structural/Proxy/README.rst:10 #: ../../Structural/Proxy/README.rst:10
msgid "Examples" msgid "Examples"
msgstr "Примеры" msgstr "Beispiele"
#: ../../Structural/Proxy/README.rst:12 #: ../../Structural/Proxy/README.rst:12
msgid "" msgid ""
@@ -37,21 +37,21 @@ msgid ""
"initialization) in them, while the user still works with his own entity " "initialization) in them, while the user still works with his own entity "
"classes and will never use nor touch the proxies" "classes and will never use nor touch the proxies"
msgstr "" 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 #: ../../Structural/Proxy/README.rst:17
msgid "UML Diagram" msgid "UML Diagram"
msgstr "UML Диаграмма" msgstr "UML Diagramm"
#: ../../Structural/Proxy/README.rst:24 #: ../../Structural/Proxy/README.rst:24
msgid "Code" msgid "Code"
msgstr "Код" msgstr "Code"
#: ../../Structural/Proxy/README.rst:26 #: ../../Structural/Proxy/README.rst:26
msgid "You can also find these code on `GitHub`_" msgid "You can also find these code on `GitHub`_"
msgstr "Вы можете найти этот код на `GitHub`_" msgstr "Du findest den Code auch auf `GitHub`_"
#: ../../Structural/Proxy/README.rst:28 #: ../../Structural/Proxy/README.rst:28
msgid "Record.php" msgid "Record.php"
@@ -63,4 +63,4 @@ msgstr "RecordProxy.php"
#: ../../Structural/Proxy/README.rst:41 #: ../../Structural/Proxy/README.rst:41
msgid "Test" msgid "Test"
msgstr "Тест" msgstr "Теst"

View File

@@ -4,25 +4,25 @@ msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n" "Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-29 12:18+0200\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" "Last-Translator: Dominik Liebler <liebler.dominik@gmail.com>\n"
"MIME-Version: 1.0\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" "Content-Transfer-Encoding: 8bit\n"
"Language: de\n" "Language: de\n"
"Language-Team: \n"
"X-Generator: Poedit 1.8.7.1\n"
#: ../../Structural/README.rst:2 #: ../../Structural/README.rst:2
msgid "`Structural`__" msgid "`Structural`__"
msgstr "" msgstr "`Strukturell`__"
"`Структурные шаблоны проектирования <https://ru.wikipedia.org/wiki/"
"Структурныеаблоны_проектирования>`_ (`Structural`__)"
#: ../../Structural/README.rst:4 #: ../../Structural/README.rst:4
msgid "" msgid ""
"In Software Engineering, Structural Design Patterns are Design Patterns that" "In Software Engineering, Structural Design Patterns are Design Patterns "
" ease the design by identifying a simple way to realize relationships " "that ease the design by identifying a simple way to realize relationships "
"between entities." "between entities."
msgstr "" 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" "Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-29 12:18+0200\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" "Last-Translator: Dominik Liebler <liebler.dominik@gmail.com>\n"
"MIME-Version: 1.0\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" "Content-Transfer-Encoding: 8bit\n"
"Language: de\n" "Language: de\n"
"Language-Team: \n"
"X-Generator: Poedit 1.8.7.1\n"
#: ../../Structural/Registry/README.rst:2 #: ../../Structural/Registry/README.rst:2
msgid "`Registry`__" msgid "`Registry`__"
msgstr "Реестр (Registry)" msgstr "`Registry`__"
#: ../../Structural/Registry/README.rst:5 #: ../../Structural/Registry/README.rst:5
msgid "Purpose" msgid "Purpose"
msgstr "Назначение" msgstr "Zweck"
#: ../../Structural/Registry/README.rst:7 #: ../../Structural/Registry/README.rst:7
msgid "" msgid ""
@@ -25,41 +27,42 @@ msgid ""
"application, is typically implemented using an abstract class with only " "application, is typically implemented using an abstract class with only "
"static methods (or using the Singleton pattern)" "static methods (or using the Singleton pattern)"
msgstr "" msgstr ""
"Для реализации централизованного хранения объектов, часто используемых " "Einen zentralen Speicher für Objekte zu implementieren, die oft "
"во всем приложении, как правило, реализуется с помощью абстрактного " "innerhalb der Anwendung benötigt werden. Wird üblicherweise als "
"класса с только статическими методами (или с помощью шаблона Singleton)." "abstrakte Klasse mit statischen Methoden (oder als Singleton) "
"implementiert"
#: ../../Structural/Registry/README.rst:12 #: ../../Structural/Registry/README.rst:12
msgid "Examples" msgid "Examples"
msgstr "Примеры" msgstr "Beispiele"
#: ../../Structural/Registry/README.rst:14 #: ../../Structural/Registry/README.rst:14
msgid "" msgid ""
"Zend Framework: ``Zend_Registry`` holds the application's logger object, " "Zend Framework 1: ``Zend_Registry`` holds the application's logger "
"front controller etc." "object, front controller etc."
msgstr "" 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 #: ../../Structural/Registry/README.rst:16
msgid "" msgid ""
"Yii Framework: ``CWebApplication`` holds all the application components, " "Yii Framework: ``CWebApplication`` holds all the application components, "
"such as ``CWebUser``, ``CUrlManager``, etc." "such as ``CWebUser``, ``CUrlManager``, etc."
msgstr "" msgstr ""
"Yii Framework: ``CWebApplication`` содержит все компоненты приложения, " "Yii Framework: ``CWebApplication`` hält alle Anwendungskomponenten, wie "
"такие как ``CWebUser``, ``CUrlManager``, и т.д." "z.B.``CWebUser``, ``CUrlManager``, etc."
#: ../../Structural/Registry/README.rst:20 #: ../../Structural/Registry/README.rst:20
msgid "UML Diagram" msgid "UML Diagram"
msgstr "UML Диаграмма" msgstr "UML Diagramm"
#: ../../Structural/Registry/README.rst:27 #: ../../Structural/Registry/README.rst:27
msgid "Code" msgid "Code"
msgstr "Код" msgstr "Code"
#: ../../Structural/Registry/README.rst:29 #: ../../Structural/Registry/README.rst:29
msgid "You can also find these code on `GitHub`_" msgid "You can also find these code on `GitHub`_"
msgstr "Вы можете найти этот код на `GitHub`_" msgstr "Du findest den Code auch auf `GitHub`_"
#: ../../Structural/Registry/README.rst:31 #: ../../Structural/Registry/README.rst:31
msgid "Registry.php" msgid "Registry.php"
@@ -67,7 +70,7 @@ msgstr "Registry.php"
#: ../../Structural/Registry/README.rst:38 #: ../../Structural/Registry/README.rst:38
msgid "Test" msgid "Test"
msgstr "Тест" msgstr "Теst"
#: ../../Structural/Registry/README.rst:40 #: ../../Structural/Registry/README.rst:40
msgid "Tests/RegistryTest.php" msgid "Tests/RegistryTest.php"

View File

@@ -21,8 +21,8 @@ msgstr ""
#: ../../Behavioral/Mediator/README.rst:7 #: ../../Behavioral/Mediator/README.rst:7
msgid "" msgid ""
"This pattern provides an easy to decouple many components working together. " "This pattern provides an easy way to decouple many components working "
"It is a good alternative over Observer IF you have a \"central " "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)." "intelligence\", like a controller (but not in the sense of the MVC)."
msgstr "" 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 "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n" "Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\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" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.3.4\n"
#: ../../Behavioral/Memento/README.rst:2 #: ../../Behavioral/Memento/README.rst:2
msgid "`Memento`__" msgid "`Memento`__"
@@ -21,65 +28,184 @@ msgstr ""
#: ../../Behavioral/Memento/README.rst:7 #: ../../Behavioral/Memento/README.rst:7
msgid "" msgid ""
"Provide the ability to restore an object to its previous state (undo via " "It provides the ability to restore an object to it's previous state (undo"
"rollback)." " 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 "" msgstr ""
#: ../../Behavioral/Memento/README.rst:10 #: ../../Behavioral/Memento/README.rst:12
msgid "" msgid ""
"The memento pattern is implemented with three objects: the originator, a " "The memento pattern is implemented with three objects: the Originator, a "
"caretaker and a memento. The originator is some object that has an internal " "Caretaker and a Memento."
"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 "" 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" msgid "Examples"
msgstr "" msgstr ""
#: ../../Behavioral/Memento/README.rst:25 #: ../../Behavioral/Memento/README.rst:41
msgid "The seed of a pseudorandom number generator" msgid "The seed of a pseudorandom number generator"
msgstr "" msgstr ""
#: ../../Behavioral/Memento/README.rst:26 #: ../../Behavioral/Memento/README.rst:42
msgid "The state in a finite state machine" msgid "The state in a finite state machine"
msgstr "" msgstr ""
#: ../../Behavioral/Memento/README.rst:29 #: ../../Behavioral/Memento/README.rst:43
msgid "UML Diagram" msgid ""
msgstr "" "Control for intermediate states of `ORM Model "
"<http://en.wikipedia.org/wiki/Object-relational_mapping>`_ before saving"
#: ../../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 "" msgstr ""
#: ../../Behavioral/Memento/README.rst:46 #: ../../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" msgid "Originator.php"
msgstr "" msgstr ""
#: ../../Behavioral/Memento/README.rst:52 #: ../../Behavioral/Memento/README.rst:69
msgid "Caretaker.php" msgid "Caretaker.php"
msgstr "" msgstr ""
#: ../../Behavioral/Memento/README.rst:59 #: ../../Behavioral/Memento/README.rst:76
msgid "Test" msgid "Test"
msgstr "" msgstr ""
#: ../../Behavioral/Memento/README.rst:61 #: ../../Behavioral/Memento/README.rst:78
msgid "Tests/MementoTest.php" msgid "Tests/MementoTest.php"
msgstr "" 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 "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n" "Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\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" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.3.4\n"
#: ../../More/Delegation/README.rst:2 #: ../../More/Delegation/README.rst:2
msgid "`Delegation`__" msgid "`Delegation`__"
@@ -19,14 +26,26 @@ msgstr ""
msgid "Purpose" msgid "Purpose"
msgstr "" msgstr ""
#: ../../More/Delegation/README.rst:7 ../../More/Delegation/README.rst:12 #: ../../More/Delegation/README.rst:7
msgid "..." 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 "" msgstr ""
#: ../../More/Delegation/README.rst:10 #: ../../More/Delegation/README.rst:10
msgid "Examples" 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 #: ../../More/Delegation/README.rst:15
msgid "UML Diagram" msgid "UML Diagram"
msgstr "" msgstr ""
@@ -58,3 +77,4 @@ msgstr ""
#: ../../More/Delegation/README.rst:47 #: ../../More/Delegation/README.rst:47
msgid "Tests/DelegationTest.php" msgid "Tests/DelegationTest.php"
msgstr "" 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)" msgstr "(La licencia MIT)"
#: ../../README.rst:48 #: ../../README.rst:48
msgid "Copyright (c) 2014 `Dominik Liebler`_ and `contributors`_" msgid "Copyright (c) 2011 - 2016 `Dominik Liebler`_ and `contributors`_"
msgstr "Copyright (c) 2014 `Dominik Liebler`_ and `contributors`_" msgstr "Copyright (c) 2011 - 2016 `Dominik Liebler`_ and `contributors`_"
#: ../../README.rst:50 #: ../../README.rst:50
msgid "" msgid ""

View File

@@ -23,7 +23,7 @@ msgstr ""
msgid "" msgid ""
"To translate one interface for a class into a compatible interface. An " "To translate one interface for a class into a compatible interface. An "
"adapter allows classes to work together that normally could not because of " "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." "the original interface."
msgstr "" 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 #: ../../Structural/Registry/README.rst:14
msgid "" msgid ""
"Zend Framework: ``Zend_Registry`` holds the application's logger object, " "Zend Framework 1: ``Zend_Registry`` holds the application's logger "
"front controller etc." "object, front controller etc."
msgstr "" msgstr ""
#: ../../Structural/Registry/README.rst:16 #: ../../Structural/Registry/README.rst:16

View File

@@ -21,8 +21,8 @@ msgstr ""
#: ../../Behavioral/Mediator/README.rst:7 #: ../../Behavioral/Mediator/README.rst:7
msgid "" msgid ""
"This pattern provides an easy to decouple many components working together. " "This pattern provides an easy way to decouple many components working "
"It is a good alternative over Observer IF you have a \"central " "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)." "intelligence\", like a controller (but not in the sense of the MVC)."
msgstr "" 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 "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n" "Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\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" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.3.4\n"
#: ../../Behavioral/Memento/README.rst:2 #: ../../Behavioral/Memento/README.rst:2
msgid "`Memento`__" msgid "`Memento`__"
@@ -21,65 +28,184 @@ msgstr ""
#: ../../Behavioral/Memento/README.rst:7 #: ../../Behavioral/Memento/README.rst:7
msgid "" msgid ""
"Provide the ability to restore an object to its previous state (undo via " "It provides the ability to restore an object to it's previous state (undo"
"rollback)." " 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 "" msgstr ""
#: ../../Behavioral/Memento/README.rst:10 #: ../../Behavioral/Memento/README.rst:12
msgid "" msgid ""
"The memento pattern is implemented with three objects: the originator, a " "The memento pattern is implemented with three objects: the Originator, a "
"caretaker and a memento. The originator is some object that has an internal " "Caretaker and a Memento."
"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 "" 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" msgid "Examples"
msgstr "" msgstr ""
#: ../../Behavioral/Memento/README.rst:25 #: ../../Behavioral/Memento/README.rst:41
msgid "The seed of a pseudorandom number generator" msgid "The seed of a pseudorandom number generator"
msgstr "" msgstr ""
#: ../../Behavioral/Memento/README.rst:26 #: ../../Behavioral/Memento/README.rst:42
msgid "The state in a finite state machine" msgid "The state in a finite state machine"
msgstr "" msgstr ""
#: ../../Behavioral/Memento/README.rst:29 #: ../../Behavioral/Memento/README.rst:43
msgid "UML Diagram" msgid ""
msgstr "" "Control for intermediate states of `ORM Model "
"<http://en.wikipedia.org/wiki/Object-relational_mapping>`_ before saving"
#: ../../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 "" msgstr ""
#: ../../Behavioral/Memento/README.rst:46 #: ../../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" msgid "Originator.php"
msgstr "" msgstr ""
#: ../../Behavioral/Memento/README.rst:52 #: ../../Behavioral/Memento/README.rst:69
msgid "Caretaker.php" msgid "Caretaker.php"
msgstr "" msgstr ""
#: ../../Behavioral/Memento/README.rst:59 #: ../../Behavioral/Memento/README.rst:76
msgid "Test" msgid "Test"
msgstr "" msgstr ""
#: ../../Behavioral/Memento/README.rst:61 #: ../../Behavioral/Memento/README.rst:78
msgid "Tests/MementoTest.php" msgid "Tests/MementoTest.php"
msgstr "" 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 "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n" "Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\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" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.3.4\n"
#: ../../More/Delegation/README.rst:2 #: ../../More/Delegation/README.rst:2
msgid "`Delegation`__" msgid "`Delegation`__"
@@ -19,17 +26,29 @@ msgstr ""
msgid "Purpose" msgid "Purpose"
msgstr "" msgstr ""
#: ../../More/Delegation/README.rst:7 ../../More/Delegation/README.rst:12 #: ../../More/Delegation/README.rst:7
msgid "..." 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 "" msgstr ""
#: ../../More/Delegation/README.rst:10 #: ../../More/Delegation/README.rst:10
msgid "Examples" 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 #: ../../More/Delegation/README.rst:15
msgid "UML Diagram" msgid "UML Diagram"
msgstr "Diagrama UML" msgstr ""
#: ../../More/Delegation/README.rst:22 #: ../../More/Delegation/README.rst:22
msgid "Code" msgid "Code"
@@ -58,3 +77,4 @@ msgstr ""
#: ../../More/Delegation/README.rst:47 #: ../../More/Delegation/README.rst:47
msgid "Tests/DelegationTest.php" msgid "Tests/DelegationTest.php"
msgstr "" 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)" msgstr "(The MIT License)"
#: ../../README.rst:48 #: ../../README.rst:48
msgid "Copyright (c) 2014 `Dominik Liebler`_ and `contributors`_" msgid "Copyright (c) 2011 - 2016 `Dominik Liebler`_ and `contributors`_"
msgstr "Copyright (c) 2014 `Dominik Liebler`_ and `contributors`_" msgstr "Copyright (c) 2011 - 2016 `Dominik Liebler`_ and `contributors`_"
#: ../../README.rst:50 #: ../../README.rst:50
msgid "" msgid ""

View File

@@ -23,7 +23,7 @@ msgstr ""
msgid "" msgid ""
"To translate one interface for a class into a compatible interface. An " "To translate one interface for a class into a compatible interface. An "
"adapter allows classes to work together that normally could not because of " "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." "the original interface."
msgstr "" 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 #: ../../Structural/Registry/README.rst:14
msgid "" msgid ""
"Zend Framework: ``Zend_Registry`` holds the application's logger object, " "Zend Framework 1: ``Zend_Registry`` holds the application's logger "
"front controller etc." "object, front controller etc."
msgstr "" msgstr ""
#: ../../Structural/Registry/README.rst:16 #: ../../Structural/Registry/README.rst:16

View File

@@ -23,9 +23,9 @@ msgstr "Назначение"
#: ../../Behavioral/Mediator/README.rst:7 #: ../../Behavioral/Mediator/README.rst:7
msgid "" msgid ""
"This pattern provides an easy to decouple many components working together. " "This pattern provides an easy way to decouple many components working "
"It is a good alternative over Observer IF you have a \"central intelligence" "together. It is a good alternative to Observer IF you have a \"central "
"\", like a controller (but not in the sense of the MVC)." "intelligence\", like a controller (but not in the sense of the MVC)."
msgstr "" 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 "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n" "Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \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: 2015-05-30 01:42+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Eugene Glotov <kivagant@gmail.com>\n" "Last-Translator: Eugene Glotov <kivagant@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\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" "Content-Transfer-Encoding: 8bit\n"
"Language: ru\n" "Generated-By: Babel 2.3.4\n"
#: ../../Behavioral/Memento/README.rst:2 #: ../../Behavioral/Memento/README.rst:2
msgid "`Memento`__" msgid "`Memento`__"
msgstr "`Хранитель`__" msgstr "`Хранитель <https://ru.wikipedia.org/wiki/Хранитель_(шаблон_проектирования)>`_ (`Memento`__)"
#: ../../Behavioral/Memento/README.rst:5 #: ../../Behavioral/Memento/README.rst:5
msgid "Purpose" msgid "Purpose"
@@ -21,95 +28,126 @@ msgstr "Назначение"
#: ../../Behavioral/Memento/README.rst:7 #: ../../Behavioral/Memento/README.rst:7
msgid "" msgid ""
"Provide the ability to restore an object to its previous state (undo via " "It provides the ability to restore an object to it's previous state (undo"
"rollback)." " 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 "" msgstr ""
"Предоставляет возможность восстановить объект в его предыдущем состоянии или " "Шаблон предоставляет возможность восстановить объект в его предыдущем состоянии "
"получить доступ к состоянию объекта, не раскрывая его реализацию (т.е. сам " "(отменить действие посредством отката к предыдущему состоянию) или получить "
"объект не обязан иметь функционал возврата текущего состояния)." "доступ к состоянию объекта, не раскрывая его реализацию (т.е. сам "
"объект не обязан иметь функциональность для возврата текущего состояния)."
#: ../../Behavioral/Memento/README.rst:10 #: ../../Behavioral/Memento/README.rst:12
msgid "" msgid ""
"The memento pattern is implemented with three objects: the originator, a " "The memento pattern is implemented with three objects: the Originator, a "
"caretaker and a memento. The originator is some object that has an internal " "Caretaker and a Memento."
"state. The caretaker is going to do something to the originator, but wants " msgstr ""
"to be able to undo the change. The caretaker first asks the originator for a" "Шаблон Хранитель реализуется тремя объектами: \"Создателем\" (originator), "
" memento object. Then it does whatever operation (or sequence of operations)" "\"Опекуном\" (caretaker) и \"Хранитель\" (memento)."
" 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 " #: ../../Behavioral/Memento/README.rst:15
"an opaque object (one which the caretaker cannot, or should not, change). " msgid ""
"When using this pattern, care should be taken if the originator may change " "Memento an object that *contains a concrete unique snapshot of state* "
"other objects or resources - the memento pattern operates on a single " "of any object or resource: string, number, array, an instance of class "
"object." "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 "" 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" msgid "Examples"
msgstr "Примеры" msgstr "Примеры"
#: ../../Behavioral/Memento/README.rst:25 #: ../../Behavioral/Memento/README.rst:41
msgid "The seed of a pseudorandom number generator" msgid "The seed of a pseudorandom number generator"
msgstr "" 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" msgid "The state in a finite state machine"
msgstr "Состояние конечного автомата" 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" msgid "UML Diagram"
msgstr "UML Диаграмма" msgstr "UML Диаграмма"
#: ../../Behavioral/Memento/README.rst:36 #: ../../Behavioral/Memento/README.rst:53
msgid "Code" msgid "Code"
msgstr "Код" msgstr "Код"
#: ../../Behavioral/Memento/README.rst:38 #: ../../Behavioral/Memento/README.rst:55
msgid "You can also find these code on `GitHub`_" msgid "You can also find these code on `GitHub`_"
msgstr "Вы можете найти этот код на `GitHub`_" msgstr "Вы можете найти этот код на `GitHub`_"
#: ../../Behavioral/Memento/README.rst:40 #: ../../Behavioral/Memento/README.rst:57
msgid "Memento.php" msgid "Memento.php"
msgstr "Memento.php" msgstr "Memento.php"
#: ../../Behavioral/Memento/README.rst:46 #: ../../Behavioral/Memento/README.rst:63
msgid "Originator.php" msgid "Originator.php"
msgstr "Originator.php" msgstr "Originator.php"
#: ../../Behavioral/Memento/README.rst:52 #: ../../Behavioral/Memento/README.rst:69
msgid "Caretaker.php" msgid "Caretaker.php"
msgstr "Caretaker.php" msgstr "Caretaker.php"
#: ../../Behavioral/Memento/README.rst:59 #: ../../Behavioral/Memento/README.rst:76
msgid "Test" msgid "Test"
msgstr "Тест" msgstr "Тест"
#: ../../Behavioral/Memento/README.rst:61 #: ../../Behavioral/Memento/README.rst:78
msgid "Tests/MementoTest.php" msgid "Tests/MementoTest.php"
msgstr "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 "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n" "Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \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: 2015-05-30 04:46+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Eugene Glotov <kivagant@gmail.com>\n" "Last-Translator: Nikita Strelkov <nikita.strelkov@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\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" "Content-Transfer-Encoding: 8bit\n"
"Language: ru\n" "Generated-By: Babel 2.3.4\n"
#: ../../More/Delegation/README.rst:2 #: ../../More/Delegation/README.rst:2
msgid "`Delegation`__" msgid "`Delegation`__"
@@ -19,14 +26,35 @@ msgstr "`Делегирование <https://ru.wikipedia.org/wiki/Шаблон_
msgid "Purpose" msgid "Purpose"
msgstr "Назначение" msgstr "Назначение"
#: ../../More/Delegation/README.rst:7 ../../More/Delegation/README.rst:12 #: ../../More/Delegation/README.rst:7
msgid "..." msgid ""
msgstr "Основной шаблон проектирования, в котором объект внешне выражает некоторое поведение, но в реальности передаёт ответственность за выполнение этого поведения связанному объекту. Шаблон делегирования является фундаментальной абстракцией, на основе которой реализованы другие шаблоны - композиция (также называемая агрегацией), примеси (mixins) и аспекты (aspects). (c) wiki" "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 #: ../../More/Delegation/README.rst:10
msgid "Examples" msgid "Examples"
msgstr "Примеры" msgstr "Примеры"
#: ../../More/Delegation/README.rst:12
msgid ""
"Please review JuniorDeveloper.php, TeamLead.php, and then Usage.php to "
"see it all tied together."
msgstr ""
"Просмотрите, пожалуйста, сначала JuniorDeveloper.php, TeamLead.php "
"и затем Usage.php, чтобы увидеть, как они связаны."
#: ../../More/Delegation/README.rst:15 #: ../../More/Delegation/README.rst:15
msgid "UML Diagram" msgid "UML Diagram"
msgstr "UML Диаграмма" 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)" msgstr "(The MIT License)"
#: ../../README.rst:48 #: ../../README.rst:48
msgid "Copyright (c) 2014 `Dominik Liebler`_ and `contributors`_" msgid "Copyright (c) 2011 - 2016 `Dominik Liebler`_ and `contributors`_"
msgstr "Copyright (c) 2014 `Dominik Liebler`_ and `contributors`_" msgstr "Copyright (c) 2011 - 2016 `Dominik Liebler`_ and `contributors`_"
#: ../../README.rst:50 #: ../../README.rst:50
msgid "" msgid ""

View File

@@ -25,7 +25,7 @@ msgstr "Назначение"
msgid "" msgid ""
"To translate one interface for a class into a compatible interface. An " "To translate one interface for a class into a compatible interface. An "
"adapter allows classes to work together that normally could not because of " "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." "the original interface."
msgstr "" msgstr ""
"Привести нестандартный или неудобный интерфейс какого-то класса в " "Привести нестандартный или неудобный интерфейс какого-то класса в "

View File

@@ -85,7 +85,7 @@ msgid ""
"objects via a configuration array and inject them where needed (i.e. in " "objects via a configuration array and inject them where needed (i.e. in "
"Controllers)" "Controllers)"
msgstr "" 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 #: ../../Structural/Registry/README.rst:14
msgid "" msgid ""
"Zend Framework: ``Zend_Registry`` holds the application's logger object, " "Zend Framework 1: ``Zend_Registry`` holds the application's logger "
"front controller etc." "object, front controller etc."
msgstr "" msgstr ""
"Zend Framework: ``Zend_Registry`` содержит объект журналирования " "Zend Framework 1: ``Zend_Registry`` содержит объект журналирования "
"приложения (логгер), фронт-контроллер и т.д." "приложения (логгер), фронт-контроллер и т.д."
#: ../../Structural/Registry/README.rst:16 #: ../../Structural/Registry/README.rst:16

View File

@@ -21,8 +21,8 @@ msgstr ""
#: ../../Behavioral/Mediator/README.rst:7 #: ../../Behavioral/Mediator/README.rst:7
msgid "" msgid ""
"This pattern provides an easy to decouple many components working together. " "This pattern provides an easy way to decouple many components working "
"It is a good alternative over Observer IF you have a \"central " "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)." "intelligence\", like a controller (but not in the sense of the MVC)."
msgstr "" 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 "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n" "Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\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" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.3.4\n"
#: ../../Behavioral/Memento/README.rst:2 #: ../../Behavioral/Memento/README.rst:2
msgid "`Memento`__" msgid "`Memento`__"
@@ -19,6 +26,52 @@ msgstr ""
msgid "Purpose" msgid "Purpose"
msgstr "" 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 #: ../../Behavioral/Memento/README.rst:39
msgid "Examples" msgid "Examples"
msgstr "" msgstr ""
@@ -31,6 +84,12 @@ msgstr ""
msgid "The state in a finite state machine" msgid "The state in a finite state machine"
msgstr "" 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 #: ../../Behavioral/Memento/README.rst:46
msgid "UML Diagram" msgid "UML Diagram"
msgstr "" msgstr ""
@@ -63,73 +122,3 @@ msgstr ""
msgid "Tests/MementoTest.php" msgid "Tests/MementoTest.php"
msgstr "" 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 "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n" "Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\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" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.3.4\n"
#: ../../More/Delegation/README.rst:2 #: ../../More/Delegation/README.rst:2
msgid "`Delegation`__" msgid "`Delegation`__"
@@ -19,10 +26,26 @@ msgstr ""
msgid "Purpose" msgid "Purpose"
msgstr "" 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 #: ../../More/Delegation/README.rst:10
msgid "Examples" 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 #: ../../More/Delegation/README.rst:15
msgid "UML Diagram" msgid "UML Diagram"
msgstr "" msgstr ""
@@ -55,21 +78,3 @@ msgstr ""
msgid "Tests/DelegationTest.php" msgid "Tests/DelegationTest.php"
msgstr "" 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 授权协议" msgstr "MIT 授权协议"
#: ../../README.rst:48 #: ../../README.rst:48
msgid "Copyright (c) 2014 `Dominik Liebler`_ and `contributors`_" msgid "Copyright (c) 2011 - 2016 `Dominik Liebler`_ and `contributors`_"
msgstr "Copyright (c) 2014 `Dominik Liebler`_ 和 `贡献者`_" msgstr "Copyright (c) 2011 - 2016 `Dominik Liebler`_ 和 `贡献者`_"
#: ../../README.rst:50 #: ../../README.rst:50
msgid "" msgid ""

View File

@@ -23,7 +23,7 @@ msgstr "目的"
msgid "" msgid ""
"To translate one interface for a class into a compatible interface. An " "To translate one interface for a class into a compatible interface. An "
"adapter allows classes to work together that normally could not because of " "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." "the original interface."
msgstr "" 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 #: ../../Structural/Registry/README.rst:14
msgid "" msgid ""
"Zend Framework 1: ``Zend_Registry`` holds the application's logger object, " "Zend Framework 1: ``Zend_Registry`` holds the application's logger "
"front controller etc." "object, front controller etc."
msgstr "" msgstr ""
"Zend Framework 1: ``Zend_Registry`` 持有应用的logger对象前端控制器等。" "Zend Framework 1: ``Zend_Registry`` 持有应用的logger对象前端控制器等。"