From be6cf8429e9058ad14274d96a6db824982684a1b Mon Sep 17 00:00:00 2001 From: Petro Ostapuk Date: Tue, 10 Jan 2023 22:07:08 +0200 Subject: [PATCH 1/8] Init Ukrainian translation --- README.md | 33 ++++++----- locale/uk/LC_MESSAGES/README.po | 100 ++++++++++++++++++++++++++++++++ 2 files changed, 117 insertions(+), 16 deletions(-) create mode 100644 locale/uk/LC_MESSAGES/README.po diff --git a/README.md b/README.md index 0f42b49..1895481 100644 --- a/README.md +++ b/README.md @@ -98,20 +98,21 @@ The patterns can be structured in roughly three different categories. Please cli ## Localization & Supported Languages -| Code | Language | Documentation | -| ------------------|-------------|------| -| ca | Catalan | [Docs :notebook:](https://designpatternsphp.readthedocs.io/ca/latest/README.html) | -| zh_CN | Chinese | [Docs :notebook:](https://designpatternsphp.readthedocs.io/zh_CN/latest/README.html) | -| nl | Dutch | [Docs :notebook:](https://designpatternsphp.readthedocs.io/nl/latest/README.html) | -| en | English | [Docs :notebook:](https://designpatternsphp.readthedocs.io/en/latest/README.html) | -| de | German | [Docs :notebook:](https://designpatternsphp.readthedocs.io/de/latest/README.html) | -| ja | Japanese | [Docs :notebook:](https://designpatternsphp.readthedocs.io/ja/latest/README.html) | -| pl | Polish | [Docs :notebook:](https://designpatternsphp.readthedocs.io/pl/latest/README.html) | +| Code | Language | Documentation | +|-------|-------------------|--------------------------------------------------------------------------------------| +| ca | Catalan | [Docs :notebook:](https://designpatternsphp.readthedocs.io/ca/latest/README.html) | +| zh_CN | Chinese | [Docs :notebook:](https://designpatternsphp.readthedocs.io/zh_CN/latest/README.html) | +| nl | Dutch | [Docs :notebook:](https://designpatternsphp.readthedocs.io/nl/latest/README.html) | +| en | English | [Docs :notebook:](https://designpatternsphp.readthedocs.io/en/latest/README.html) | +| de | German | [Docs :notebook:](https://designpatternsphp.readthedocs.io/de/latest/README.html) | +| ja | Japanese | [Docs :notebook:](https://designpatternsphp.readthedocs.io/ja/latest/README.html) | +| pl | Polish | [Docs :notebook:](https://designpatternsphp.readthedocs.io/pl/latest/README.html) | | pt_BR | Portuguese-Brazil | [Docs :notebook:](https://designpatternsphp.readthedocs.io/pt_BR/latest/README.html) | -| ru | Russian | [Docs :notebook:](https://designpatternsphp.readthedocs.io/ru/latest/README.html) | -| es | Spanish | [Docs :notebook:](https://designpatternsphp.readthedocs.io/es/latest/README.html) | -| es_MX | Spanish-Mexican | [Docs :notebook:](https://designpatternsphp.readthedocs.io/es_MX/latest/README.html) | -| tr | Turkish | [Docs :notebook:](https://designpatternsphp.readthedocs.io/tr/latest/README.html) | -| bg | Bulgarian | [Docs :notebook:](https://designpatternsphp.readthedocs.io/bg/latest/README.html) | -| fr | French | [Docs :notebook:](https://designpatternsphp.readthedocs.io/fr/latest/README.html) | -| it | Italian | [Docs :notebook:](https://designpatternsphp.readthedocs.io/it/latest/README.html) | +| ru | Russian | [Docs :notebook:](https://designpatternsphp.readthedocs.io/ru/latest/README.html) | +| es | Spanish | [Docs :notebook:](https://designpatternsphp.readthedocs.io/es/latest/README.html) | +| es_MX | Spanish-Mexican | [Docs :notebook:](https://designpatternsphp.readthedocs.io/es_MX/latest/README.html) | +| tr | Turkish | [Docs :notebook:](https://designpatternsphp.readthedocs.io/tr/latest/README.html) | +| bg | Bulgarian | [Docs :notebook:](https://designpatternsphp.readthedocs.io/bg/latest/README.html) | +| fr | French | [Docs :notebook:](https://designpatternsphp.readthedocs.io/fr/latest/README.html) | +| it | Italian | [Docs :notebook:](https://designpatternsphp.readthedocs.io/it/latest/README.html) | +| uk | Ukrainian | [Docs :notebook:](https://designpatternsphp.readthedocs.io/uk/latest/README.html) | diff --git a/locale/uk/LC_MESSAGES/README.po b/locale/uk/LC_MESSAGES/README.po new file mode 100644 index 0000000..6de3c96 --- /dev/null +++ b/locale/uk/LC_MESSAGES/README.po @@ -0,0 +1,100 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-01-10 21:00+0200\n" +"PO-Revision-Date: 2023-01-11 20:29+0200\n" +"Last-Translator: Petro Ostapuk \n" +"Language-Team: \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.1.1\n" + +#: ../../README.rst:5 +msgid "DesignPatternsPHP" +msgstr "DesignPatternsPHP" + +#: ../../README.rst:11 +msgid "" +"This is a collection of known design patterns and some sample code how to implement them in PHP. Every pattern has a small list of examples." +msgstr "" +"Це набір відомих `шаблонів проєктування `_ " +"(патернів) і деякі приклади їх реалізації на PHP. Кожен патерн містить невеликий список прикладів." + +#: ../../README.rst:16 +msgid "I think the problem with patterns is that often people do know them but don't know when to apply which." +msgstr "Я вважаю, проблема патернів у тому, що люди часто знайомі з ними, але не уявляють, як їх застосовувати." + +#: ../../README.rst:20 +msgid "Patterns" +msgstr "Патерни" + +#: ../../README.rst:22 +msgid "" +"The patterns can be structured in roughly three different categories. Please click on **the title of every pattern's page** " +"for a full explanation of the pattern on Wikipedia." +msgstr "" +"Патерни можуть бути умовно згруповані у три різні категорії. Натисніть на **заголовок кожної сторінки з патерном** для " +"детального пояснення патерну у Вікіпедії." + +#: ../../README.rst:35 +msgid "Contribute" +msgstr "Участь у розробці" + +#: ../../README.rst:37 +msgid "" +"If you encounter any bugs or missing translations, please feel free to fork and send a pull request with your changes. To " +"establish a consistent code quality, please check your code using `PHP CodeSniffer`_ against `PSR2 standard`_ using ``./" +"vendor/bin/phpcs -p --standard=PSR2 --ignore=vendor .``." +msgstr "" +"Якщо ви виявили помилки або відсутність перекладу, ви можете надіслати пулреквест з вашими змінами. Щоб зберігати високу " +"якість коду, будь ласка, перевіряйте ваш код за допомогою `PHP CodeSniffer`_ на відповідність стандарту `PSR2`_, " +"використовуючи команду ``./vendor/bin/phpcs -p --standard=PSR2 --ignore=vendor . ``." + +#: ../../README.rst:44 +msgid "License" +msgstr "Ліцензія" + +#: ../../README.rst:46 +msgid "(The MIT License)" +msgstr "(The MIT License)" + +#: ../../README.rst:48 +msgid "Copyright (c) 2011 - 2016 `Dominik Liebler`_ and `contributors`_" +msgstr "Copyright (c) 2011 - 2023 `Dominik Liebler`_ and `contributors`_" + +#: ../../README.rst:50 +msgid "" +"Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation " +"files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, " +"modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the " +"Software is furnished to do so, subject to the following conditions:" +msgstr "" +"Ця ліцензія дозволяє особам, які отримали копію цього програмного забезпечення та супутню документацію (надалі іменованими " +"«Програмне Забезпечення»), безоплатно використовувати Програмне Забезпечення без обмежень, включаючи необмежене право на " +"використання, копіювання, зміну, додавання, публікацію, розповсюдження, субліцензування та продаж копій Програмного " +"Забезпечення, а також особам, яким надається це Програмне Забезпечення, за дотримання таких умов:" + +#: ../../README.rst:58 +msgid "" +"The above copyright notice and this permission notice shall be included in all copies or substantial portions of the " +"Software." +msgstr "" +"Вказане вище повідомлення про авторське право та ці умови повинні бути включені до всіх копій або значних частин цього " +"Програмного Забезпечення." + +#: ../../README.rst:61 +msgid "" +"THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE " +"WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR " +"COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, " +"ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE." +msgstr "" +"ДАНЕ ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ НАДАЄТЬСЯ «ЯК Є», БЕЗ БУДЬ-ЯКИХ ГАРАНТІЙ, ЩО ЯВНО ВИРАЖЕНІ АБО МАЮТЬСЯ НА УВАЗІ, ВКЛЮЧАЮЧИ " +"ГАРАНТІЇ ТОВАРНОЇ ПРИДАТНОСТІ, ВІДПОВІДНОСТІ ЩОДО ЙОГО КОНКРЕТНОГО ПРИЗНАЧЕННЯ ТА ВІДСУТНОСТІ ПОРУШЕНЬ, АЛЕ НЕ ОБМЕЖУЮЧИСЬ " +"НИМИ. НІ В ЯКОМУ РАЗІ АВТОРИ АБО ПРАВОВЛАСНИКИ НЕ НЕСУТЬ ВІДПОВІДАЛЬНОСТІ ЗА БУДЬ-ЯКИМИ ПОЗОВАМИ, ЗА ЗБИТК|и АБО ЗА ІНШИМИ " +"ВИМОГАМИ, У ТОМУ ЧИСЛІ ПРИ ДІЇ КОНТРАКТУ, ДЕЛІКТІ ЧИ ІНШІЙ СИТУАЦІЇ, ЩО ВИНИКЛА ЧЕРЕЗ ВИКОРИСТАННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ " +"АБО ІНШІ ДІЇ З ПРОГРАМНИМ ЗАБЕЗПЕЧЕННЯМ." From b49faa71571fd11efe922ab8833cd114b89b4e2e Mon Sep 17 00:00:00 2001 From: Petro Ostapuk Date: Wed, 11 Jan 2023 21:39:13 +0200 Subject: [PATCH 2/8] Creational Aabstract factory --- .../Creational/AbstractFactory/README.po | 50 +++++++++++++++++++ locale/uk/LC_MESSAGES/Creational/README.po | 33 ++++++++++++ 2 files changed, 83 insertions(+) create mode 100644 locale/uk/LC_MESSAGES/Creational/AbstractFactory/README.po create mode 100644 locale/uk/LC_MESSAGES/Creational/README.po diff --git a/locale/uk/LC_MESSAGES/Creational/AbstractFactory/README.po b/locale/uk/LC_MESSAGES/Creational/AbstractFactory/README.po new file mode 100644 index 0000000..1769786 --- /dev/null +++ b/locale/uk/LC_MESSAGES/Creational/AbstractFactory/README.po @@ -0,0 +1,50 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-01-11 20:29+0200\n" +"PO-Revision-Date: 2023-01-11 21:37+0200\n" +"Last-Translator: Petro Ostapuk \n" +"Language-Team: \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.1.1\n" + +#: ../../Creational/AbstractFactory/README.rst:2 +msgid "`Abstract Factory`__" +msgstr "" +"`Абстрактна фабрика `_ (`Abstract Factory`__)" + +#: ../../Creational/AbstractFactory/README.rst:5 +msgid "Purpose" +msgstr "Призначення" + +#: ../../Creational/AbstractFactory/README.rst:7 +msgid "" +"To create series of related or dependent objects without specifying their concrete classes. Usually " +"the created classes all implement the same interface. The client of the abstract factory does not " +"care about how these objects are created, it just knows how they go together." +msgstr "" +"Створити ряд пов'язаних чи залежних об'єктів без зазначення їх конкретних класів. Зазвичай " +"створювані класи всі реалізовують один і той же інтерфейс. Клієнт абстрактної фабрики не дбає про " +"те, як створюються ці об'єкти, він просто знає, за якими ознаками вони взаємопов'язані і як із ними " +"поводитись." + +#: ../../Creational/AbstractFactory/README.rst:13 +msgid "UML Diagram" +msgstr "Діаграма UML" + +#: ../../Creational/AbstractFactory/README.rst:20 +msgid "Code" +msgstr "Код" + +#: ../../Creational/AbstractFactory/README.rst:22 +msgid "You can also find this code on `GitHub`_" +msgstr "Ви можете знайти цей код на `GitHub`_" + +#: ../../Creational/AbstractFactory/README.rst:85 +msgid "Test" +msgstr "Тест" diff --git a/locale/uk/LC_MESSAGES/Creational/README.po b/locale/uk/LC_MESSAGES/Creational/README.po new file mode 100644 index 0000000..2590fc1 --- /dev/null +++ b/locale/uk/LC_MESSAGES/Creational/README.po @@ -0,0 +1,33 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-01-11 20:00+0200\n" +"PO-Revision-Date: 2023-01-11 21:36+0200\n" +"Last-Translator: Petro Ostapuk \n" +"Language-Team: \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.1.1\n" + +#: ../../Creational/README.rst:2 +msgid "`Creational`__" +msgstr "Породжувальні патерни проектування (`Creational`__)" + +#: ../../Creational/README.rst:4 +msgid "" +"In software engineering, creational design patterns are design patterns that " +"deal with object creation mechanisms, trying to create objects in a manner " +"suitable to the situation. The basic form of object creation could result in " +"design problems or added complexity to the design. Creational design patterns " +"solve this problem by somehow controlling this object creation." +msgstr "" +"У розробці програмного забезпечення, Породжувальні патерни проектування - це " +"патерни, які мають справу з механізмами створення об'єкта та намагаються " +"створити об'єкти в порядку, що підходить до ситуації. Звичайна форма створення " +"об'єкт може призвести до проблем проектування або збільшувати складність " +"конструкції. Породжувальні патерни проектування, вирішують цю проблему, певним " +"чином контролюючи процес створення об'єкта." From c591840105ab5db88556c27455864f98706f8eb6 Mon Sep 17 00:00:00 2001 From: Petro Ostapuk Date: Sat, 4 Feb 2023 18:06:19 +0200 Subject: [PATCH 3/8] Added all translations --- docker-compose.yml | 4 +- .../ChainOfResponsibilities/README.po | 73 ++++++++++ .../LC_MESSAGES/Behavioral/Command/README.po | 89 ++++++++++++ .../Behavioral/Interpreter/README.po | 59 ++++++++ .../LC_MESSAGES/Behavioral/Iterator/README.po | 71 ++++++++++ .../LC_MESSAGES/Behavioral/Mediator/README.po | 59 ++++++++ .../LC_MESSAGES/Behavioral/Memento/README.po | 132 ++++++++++++++++++ .../Behavioral/NullObject/README.po | 89 ++++++++++++ .../LC_MESSAGES/Behavioral/Observer/README.po | 73 ++++++++++ locale/uk/LC_MESSAGES/Behavioral/README.po | 30 ++++ .../Behavioral/Specification/README.po | 58 ++++++++ .../uk/LC_MESSAGES/Behavioral/State/README.po | 49 +++++++ .../LC_MESSAGES/Behavioral/Strategy/README.po | 80 +++++++++++ .../Behavioral/TemplateMethod/README.po | 80 +++++++++++ .../LC_MESSAGES/Behavioral/Visitor/README.po | 61 ++++++++ .../Creational/AbstractFactory/README.po | 4 +- .../LC_MESSAGES/Creational/Builder/README.po | 75 ++++++++++ .../Creational/FactoryMethod/README.po | 70 ++++++++++ .../uk/LC_MESSAGES/Creational/Pool/README.po | 84 +++++++++++ .../Creational/Prototype/README.po | 59 ++++++++ .../Creational/SimpleFactory/README.po | 66 +++++++++ .../Creational/Singleton/README.po | 78 +++++++++++ .../Creational/StaticFactory/README.po | 52 +++++++ locale/uk/LC_MESSAGES/More/EAV/README.po | 68 +++++++++ locale/uk/LC_MESSAGES/More/README.po | 18 +++ .../uk/LC_MESSAGES/More/Repository/README.po | 71 ++++++++++ .../LC_MESSAGES/More/ServiceLocator/README.po | 89 ++++++++++++ .../LC_MESSAGES/Structural/Adapter/README.po | 69 +++++++++ .../LC_MESSAGES/Structural/Bridge/README.po | 48 +++++++ .../Structural/Composite/README.po | 60 ++++++++ .../Structural/DataMapper/README.po | 83 +++++++++++ .../Structural/Decorator/README.po | 55 ++++++++ .../Structural/DependencyInjection/README.po | 106 ++++++++++++++ .../LC_MESSAGES/Structural/Facade/README.po | 91 ++++++++++++ .../Structural/FluentInterface/README.po | 61 ++++++++ .../Structural/Flyweight/README.po | 53 +++++++ .../uk/LC_MESSAGES/Structural/Proxy/README.po | 60 ++++++++ locale/uk/LC_MESSAGES/Structural/README.po | 29 ++++ .../LC_MESSAGES/Structural/Registry/README.po | 56 ++++++++ 39 files changed, 2508 insertions(+), 4 deletions(-) create mode 100644 locale/uk/LC_MESSAGES/Behavioral/ChainOfResponsibilities/README.po create mode 100644 locale/uk/LC_MESSAGES/Behavioral/Command/README.po create mode 100644 locale/uk/LC_MESSAGES/Behavioral/Interpreter/README.po create mode 100644 locale/uk/LC_MESSAGES/Behavioral/Iterator/README.po create mode 100644 locale/uk/LC_MESSAGES/Behavioral/Mediator/README.po create mode 100644 locale/uk/LC_MESSAGES/Behavioral/Memento/README.po create mode 100644 locale/uk/LC_MESSAGES/Behavioral/NullObject/README.po create mode 100644 locale/uk/LC_MESSAGES/Behavioral/Observer/README.po create mode 100644 locale/uk/LC_MESSAGES/Behavioral/README.po create mode 100644 locale/uk/LC_MESSAGES/Behavioral/Specification/README.po create mode 100644 locale/uk/LC_MESSAGES/Behavioral/State/README.po create mode 100644 locale/uk/LC_MESSAGES/Behavioral/Strategy/README.po create mode 100644 locale/uk/LC_MESSAGES/Behavioral/TemplateMethod/README.po create mode 100644 locale/uk/LC_MESSAGES/Behavioral/Visitor/README.po create mode 100644 locale/uk/LC_MESSAGES/Creational/Builder/README.po create mode 100644 locale/uk/LC_MESSAGES/Creational/FactoryMethod/README.po create mode 100644 locale/uk/LC_MESSAGES/Creational/Pool/README.po create mode 100644 locale/uk/LC_MESSAGES/Creational/Prototype/README.po create mode 100644 locale/uk/LC_MESSAGES/Creational/SimpleFactory/README.po create mode 100644 locale/uk/LC_MESSAGES/Creational/Singleton/README.po create mode 100644 locale/uk/LC_MESSAGES/Creational/StaticFactory/README.po create mode 100644 locale/uk/LC_MESSAGES/More/EAV/README.po create mode 100644 locale/uk/LC_MESSAGES/More/README.po create mode 100644 locale/uk/LC_MESSAGES/More/Repository/README.po create mode 100644 locale/uk/LC_MESSAGES/More/ServiceLocator/README.po create mode 100644 locale/uk/LC_MESSAGES/Structural/Adapter/README.po create mode 100644 locale/uk/LC_MESSAGES/Structural/Bridge/README.po create mode 100644 locale/uk/LC_MESSAGES/Structural/Composite/README.po create mode 100644 locale/uk/LC_MESSAGES/Structural/DataMapper/README.po create mode 100644 locale/uk/LC_MESSAGES/Structural/Decorator/README.po create mode 100644 locale/uk/LC_MESSAGES/Structural/DependencyInjection/README.po create mode 100644 locale/uk/LC_MESSAGES/Structural/Facade/README.po create mode 100644 locale/uk/LC_MESSAGES/Structural/FluentInterface/README.po create mode 100644 locale/uk/LC_MESSAGES/Structural/Flyweight/README.po create mode 100644 locale/uk/LC_MESSAGES/Structural/Proxy/README.po create mode 100644 locale/uk/LC_MESSAGES/Structural/README.po create mode 100644 locale/uk/LC_MESSAGES/Structural/Registry/README.po diff --git a/docker-compose.yml b/docker-compose.yml index aa8819f..82d68cd 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -4,7 +4,7 @@ services: build: context: . dockerfile: Dockerfile - args: + args: language: ${language:-en} ports: - - "8080:80" + - "8080:80" \ No newline at end of file diff --git a/locale/uk/LC_MESSAGES/Behavioral/ChainOfResponsibilities/README.po b/locale/uk/LC_MESSAGES/Behavioral/ChainOfResponsibilities/README.po new file mode 100644 index 0000000..85caa59 --- /dev/null +++ b/locale/uk/LC_MESSAGES/Behavioral/ChainOfResponsibilities/README.po @@ -0,0 +1,73 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-04 12:00+0200\n" +"PO-Revision-Date: 2023-02-04 12:00+0200\n" +"Last-Translator: Petro Ostapuk \n" +"Language-Team: \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.1.1\n" + +#: ../../Behavioral/ChainOfResponsibilities/README.rst:2 +msgid "`Chain Of Responsibilities`__" +msgstr "`Ланцюжок відповідальностей `_ (`Chain Of Responsibilities`__)" + +#: ../../Behavioral/ChainOfResponsibilities/README.rst:5 +msgid "Purpose" +msgstr "Призначення" + +#: ../../Behavioral/ChainOfResponsibilities/README.rst:7 +msgid "" +"To build a chain of objects to handle a call in sequential order. If one " +"object cannot handle a call, it delegates the call to the next in the chain " +"and so forth." +msgstr "" +"Побудувати ланцюжок об'єктів для обробки виклику в послідовному порядку. " +"Якщо один об'єкт не може впоратися із викликом, він делегує виклик " +"наступному у ланцюжку тощо." + +#: ../../Behavioral/ChainOfResponsibilities/README.rst:12 +msgid "Examples" +msgstr "Приклади" + +#: ../../Behavioral/ChainOfResponsibilities/README.rst:14 +msgid "" +"logging framework, where each chain element decides autonomously what to do " +"with a log message" +msgstr "" +"фреймворк для логування, де кожен елемент ланцюга самостійно " +"вирішує, що робити з повідомленням для логування." + +#: ../../Behavioral/ChainOfResponsibilities/README.rst:16 +msgid "a Spam filter" +msgstr "фільтр спаму" + +#: ../../Behavioral/ChainOfResponsibilities/README.rst:17 +msgid "" +"Caching: first object is an instance of e.g. a Memcached Interface, if that " +"\"misses\" it delegates the call to the database interface" +msgstr "" +"Кешування: перший об'єкт є екземпляром, наприклад, інтерфейсу " +"Memcached. Якщо запис у кеші відсутній, виклик делегується інтерфейсу " +"бази даних." + +#: ../../Behavioral/ChainOfResponsibilities/README.rst:25 +msgid "UML Diagram" +msgstr "Діаграма UML" + +#: ../../Behavioral/ChainOfResponsibilities/README.rst:32 +msgid "Code" +msgstr "Код" + +#: ../../Behavioral/ChainOfResponsibilities/README.rst:34 +msgid "You can also find this code on `GitHub`_" +msgstr "Ви можете знайти цей код на `GitHub`_" + +#: ../../Behavioral/ChainOfResponsibilities/README.rst:61 +msgid "Test" +msgstr "Тест" diff --git a/locale/uk/LC_MESSAGES/Behavioral/Command/README.po b/locale/uk/LC_MESSAGES/Behavioral/Command/README.po new file mode 100644 index 0000000..19d2eed --- /dev/null +++ b/locale/uk/LC_MESSAGES/Behavioral/Command/README.po @@ -0,0 +1,89 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-04 12:00+0200\n" +"PO-Revision-Date: 2023-02-04 12:00+0200\n" +"Last-Translator: Petro Ostapuk \n" +"Language-Team: \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.1.1\n" + +#: ../../Behavioral/Command/README.rst:2 +msgid "`Command`__" +msgstr "`Команда `_ (`Command`__)" + +#: ../../Behavioral/Command/README.rst:5 +msgid "Purpose" +msgstr "Призначення" + +#: ../../Behavioral/Command/README.rst:7 +msgid "To encapsulate invocation and decoupling." +msgstr "Інкапсулювати дію та її параметри" + +#: ../../Behavioral/Command/README.rst:9 +msgid "" +"We have an Invoker and a Receiver. This pattern uses a \"Command\" to " +"delegate the method call against the Receiver and presents the same method " +"\"execute\". Therefore, the Invoker just knows to call \"execute\" to " +"process the Command of the client. The Receiver is decoupled from the " +"Invoker." +msgstr "" +"Припустимо, у нас є об'єкти Invoker (Командир) та Receiver (Виконавець). " +"Цей патерн використовує реалізацію інтерфейсу \"Команда\", щоб викликати " +"якийсь метод Виконавця використовуючи для цього відомий Командирові метод " +"execute()». Командир просто знає, що потрібно викликати метод “execute()”, " +"для обробки команди клієнта, не розбираючись у деталях реалізації " +"Виконавця. Виконавець відокремлений від Командира." + +#: ../../Behavioral/Command/README.rst:15 +msgid "" +"The second aspect of this pattern is the undo(), which undoes the method " +"execute(). Command can also be aggregated to combine more complex commands " +"with minimum copy-paste and relying on composition over inheritance." +msgstr "" +"Другим аспектом цього патерну є метод undo(), який скасовує " +"дію, що виконується методом execute(). Команди також можуть бути " +"об'єднані в більш загальні команди з мінімальним копіюванням-вставкою та " +"покладаючись на композицію поверх успадкування." + +#: ../../Behavioral/Command/README.rst:21 +msgid "Examples" +msgstr "Приклади" + +#: ../../Behavioral/Command/README.rst:23 +msgid "" +"A text editor : all events are commands which can be undone, stacked and saved." +msgstr "" +"Текстовий редактор: всі події є командами, які можуть бути " +"відмінено, вибудовано в певну послідовність і збережено." + +#: ../../Behavioral/Command/README.rst:27 +msgid "" +"big CLI tools use subcommands to distribute various tasks and pack them in " +"\"modules\", each of these can be implemented with the Command pattern (e.g." +" vagrant)" +msgstr "" +"великі утиліти для командного рядка (наприклад, Vagrant) використовують " +"вкладені команди для поділу різних завдань та упаковки їх у «модулі», " +"кожен з яких може бути реалізований за допомогою патерну \"Команда\"." + +#: ../../Behavioral/Command/README.rst:32 +msgid "UML Diagram" +msgstr "Діаграма UML" + +#: ../../Behavioral/Command/README.rst:39 +msgid "Code" +msgstr "Код" + +#: ../../Behavioral/Command/README.rst:41 +msgid "You can also find this code on `GitHub`_" +msgstr "Ви можете знайти цей код на `GitHub`_" + +#: ../../Behavioral/Command/README.rst:68 +msgid "Test" +msgstr "Тест" diff --git a/locale/uk/LC_MESSAGES/Behavioral/Interpreter/README.po b/locale/uk/LC_MESSAGES/Behavioral/Interpreter/README.po new file mode 100644 index 0000000..6270be4 --- /dev/null +++ b/locale/uk/LC_MESSAGES/Behavioral/Interpreter/README.po @@ -0,0 +1,59 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-04 12:00+0200\n" +"PO-Revision-Date: 2023-02-04 12:00+0200\n" +"Last-Translator: Petro Ostapuk \n" +"Language-Team: \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.1.1\n" + +#: ../../Behavioral/Interpreter/README.rst:2 +msgid "`Interpreter`__" +msgstr "`Інтерпретатор `_ (`Interpreter`__)" + +#: ../../Behavioral/Interpreter/README.rst:4 +msgid "Purpose" +msgstr "Призначення" + +#: ../../Behavioral/Interpreter/README.rst:7 TODOTODO +msgid "" +"For a given language, it defines the representation of its grammar as " +"\"No Terminal Expression\" and \"Terminal Expression\", " +"as well as an interpreter for the sentences of that language." +msgstr "" +"Для деякої мови шаблон описує його граматику за допомогою термінів " +"\"Термінальний символ\" та \"Нетермінальний символ\", а також " +"описує інтерпретатор речень, створених за допомогою даної мови." + +#: ../../Behavioral/Interpreter/README.rst:11 +msgid "Examples" +msgstr "Приклади" + +#: ../../Behavioral/Interpreter/README.rst:14 +msgid "" +"An example of a binary logic interpreter, each definition is defined by its own class" +msgstr "" +"Інтерпретатор бінарної (двійкової) логіки, у якому кожен тип " +"логічної операції визначено у своєму власному класі." + +#: ../../Behavioral/Interpreter/README.rst:16 +msgid "UML Diagram" +msgstr "Діаграма UML" + +#: ../../Behavioral/Interpreter/README.rst:23 +msgid "Code" +msgstr "Код" + +#: ../../Behavioral/Interpreter/README.rst:26 +msgid "You can also find this code on `GitHub`_" +msgstr "Ви можете знайти цей код на `GitHub`_" + +#: ../../Behavioral/Interpreter/README.rst:61 +msgid "Test" +msgstr "Тест" diff --git a/locale/uk/LC_MESSAGES/Behavioral/Iterator/README.po b/locale/uk/LC_MESSAGES/Behavioral/Iterator/README.po new file mode 100644 index 0000000..243707c --- /dev/null +++ b/locale/uk/LC_MESSAGES/Behavioral/Iterator/README.po @@ -0,0 +1,71 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-04 12:00+0200\n" +"PO-Revision-Date: 2023-02-04 12:00+0200\n" +"Last-Translator: Petro Ostapuk \n" +"Language-Team: \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.1.1\n" + +#: ../../Behavioral/Iterator/README.rst:2 +msgid "`Iterator`__" +msgstr "`Ітератор `_ (`Iterator`__)" + +#: ../../Behavioral/Iterator/README.rst:5 +msgid "Purpose" +msgstr "Призначення" + +#: ../../Behavioral/Iterator/README.rst:7 +msgid "To make an object iterable and to make it appear like a collection of objects." +msgstr "" +"Зробити об'єкт ітерованим, щоб він виглядав як колекція об'єктів." + +#: ../../Behavioral/Iterator/README.rst:11 +msgid "Examples" +msgstr "Приклади" + +#: ../../Behavioral/Iterator/README.rst:13 +msgid "" +"to process a file line by line by just running over all lines (which have an" +" object representation) for a file (which of course is an object, too)" +msgstr "" +"стрічковий перебір файлу, який представлений у вигляді об'єкта, що містить " +"рядки, що теж є об'єктами. Оброблювач буде запущений поверх всіх " +"об'єктів." + +#: ../../Behavioral/Iterator/README.rst:18 +msgid "Note" +msgstr "Примітка" + +#: ../../Behavioral/Iterator/README.rst:20 +msgid "" +"Standard PHP Library (SPL) defines an interface Iterator which is best " +"suited for this! Often you would want to implement the Countable interface " +"too, to allow ``count($object)`` on your iterable object" +msgstr "" +"Стандартна бібліотека PHP SPL визначає інтерфейс Iterator, який " +"добре підходить для цих цілей. Також вам може знадобитися реалізувати " +"інтерфейс Countable, щоб дозволити викликати ``count($object)`` у вашому " +"ітерованому об'єкті." + +#: ../../Behavioral/Iterator/README.rst:25 +msgid "UML Diagram" +msgstr "Діаграма UML" + +#: ../../Behavioral/Iterator/README.rst:32 +msgid "Code" +msgstr "Код" + +#: ../../Behavioral/Iterator/README.rst:34 +msgid "You can also find this code on `GitHub`_" +msgstr "Ви можете знайти цей код на `GitHub`_" + +#: ../../Behavioral/Iterator/README.rst:61 +msgid "Test" +msgstr "Тест" diff --git a/locale/uk/LC_MESSAGES/Behavioral/Mediator/README.po b/locale/uk/LC_MESSAGES/Behavioral/Mediator/README.po new file mode 100644 index 0000000..01fe326 --- /dev/null +++ b/locale/uk/LC_MESSAGES/Behavioral/Mediator/README.po @@ -0,0 +1,59 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-04 12:00+0200\n" +"PO-Revision-Date: 2023-02-04 12:00+0200\n" +"Last-Translator: Petro Ostapuk \n" +"Language-Team: \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.1.1\n" + +#: ../../Behavioral/Mediator/README.rst:2 +msgid "`Mediator`__" +msgstr "`Посередник `_ (`Mediator`__)" + +#: ../../Behavioral/Mediator/README.rst:5 +msgid "Purpose" +msgstr "Призначення" + +#: ../../Behavioral/Mediator/README.rst:7 +msgid "" +"This pattern provides an easy way to decouple many components working " +"together. It is a good alternative to Observer IF you have a \"central " +"intelligence\", like a controller (but not in the sense of the MVC)." +msgstr "" +"Цей патерн дозволяє знизити зв'язність безлічі компонентів, що працюють " +"спільно. Об'єктам більше немає потреби викликати один одного безпосередньо. Це " +"хороша альтернатива Спостерігачеві, якщо у вас є “центральна логіка” на кшталт " +"контролера (але не в сенсі MVC)" + +#: ../../Behavioral/Mediator/README.rst:11 +msgid "" +"All components (called Colleague) are only coupled to the Mediator interface " +"and it is a good thing because in OOP, one good friend is better than many. " +"This is the key-feature of this pattern." +msgstr "" +"Всі компоненти (звані \"Колеги\") об'єднуються в інтерфейс " +"Mediator і це добре, тому що в рамках ООП, \"старий друг краще " +"нових двох\"." + +#: ../../Behavioral/Mediator/README.rst:16 +msgid "UML Diagram" +msgstr "Діаграма UML" + +#: ../../Behavioral/Mediator/README.rst:23 +msgid "Code" +msgstr "Код" + +#: ../../Behavioral/Mediator/README.rst:25 +msgid "You can also find this code on `GitHub`_" +msgstr "Ви можете знайти цей код на `GitHub`_" + +#: ../../Behavioral/Mediator/README.rst:64 +msgid "Test" +msgstr "Тест" diff --git a/locale/uk/LC_MESSAGES/Behavioral/Memento/README.po b/locale/uk/LC_MESSAGES/Behavioral/Memento/README.po new file mode 100644 index 0000000..50e22bb --- /dev/null +++ b/locale/uk/LC_MESSAGES/Behavioral/Memento/README.po @@ -0,0 +1,132 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-04 12:00+0200\n" +"PO-Revision-Date: 2023-02-04 12:00+0200\n" +"Last-Translator: Petro Ostapuk \n" +"Language-Team: \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.1.1\n" + +#: ../../Behavioral/Memento/README.rst:2 +msgid "`Memento`__" +msgstr "`Знімок `_ (`Memento`__)" + +#: ../../Behavioral/Memento/README.rst:5 +msgid "Purpose" +msgstr "Призначення" + +#: ../../Behavioral/Memento/README.rst:7 +msgid "" +"It provides the ability to restore an object to it's previous state (undo " +"via rollback) or to gain access to state of the object, without revealing " +"it's implementation (i.e., the object is not required to have a function " +"to return the current state)." +msgstr "" +"Патерн надає можливість відновити об'єкт у його попередньому стані " +"(скасувати дію за допомогою відкату до попереднього стану) або отримати " +"доступ до стану об'єкта, не розкриваючи його реалізацію (тобто. сам " +"об'єкт не повинен мати функціональність для повернення поточного стану)." + +#: ../../Behavioral/Memento/README.rst:12 +msgid "" +"The memento pattern is implemented with three objects: the Originator, a " +"Caretaker and a Memento." +msgstr "" +"Шаблон Зберігач реалізується трьома об'єктами: \"Творцем\" (originator), " +"\"Опікуном\" (caretaker) і \"Охоронець\" (memento)." + +#: ../../Behavioral/Memento/README.rst:15 +msgid "" +"Memento – an object that *contains a concrete unique snapshot of state* " +"of any object or resource: string, number, array, an instance of class " +"and so on. The uniqueness in this case does not imply the prohibition " +"existence of similar states in different snapshots. That means the state " +"can be extracted as the independent clone. Any object stored in the " +"Memento should be *a full copy of the original object rather than a " +"reference* to the original object. The Memento object is a \"opaque " +"object\" (the object that no one can or should change)." +msgstr "" +"Знімок - це об'єкт, який *зберігає конкретний знімок стану* " +"деякого об'єкта чи ресурсу: рядки, числа, масиву, екземпляра " +"класу і так далі. Унікальність у даному випадку має на увазі не заборону на " +"існування однакових станів у різних знімках, а те, що стан " +"можна витягти у вигляді незалежної копії. Будь-який об'єкт, що зберігається в " +"Знімок повинен бути повною копією вихідного об'єкта, а не посиланням на " +"вихідний об'єкт. Сам об'єкт Знімок є \"непрозорим об'єктом\" (той, " +"який ніхто не може і не повинен змінювати)." + +#: ../../Behavioral/Memento/README.rst:24 +msgid "" +"Originator – it is an object that contains the *actual state of an " +"external object is strictly specified type*. Originator is able to create" +" a unique copy of this state and return it wrapped in a Memento. The " +"Originator does not know the history of changes. You can set a concrete " +"state to Originator from the outside, which will be considered as actual." +" The Originator must make sure that given state corresponds the allowed " +"type of object. Originator may (but not should) have any methods, but " +"they *they can't make changes to the saved object state*." +msgstr "" +"Творець - це об'єкт, який містить у собі актуальний стан зовнішнього " +"об'єкта строго заданого типу* і вміє створювати унікальну копію цього " +"стану, повертаючи її, обгорнуту в об'єкт Знімок. Творець не знає історії " +"змін. Творцю можна примусово встановити конкретний стан " +"ззовні, яка буде вважатися актуальною. Творець повинен подбати про те, " +"щоб цей стан відповідав типу об'єкта, з яким йому дозволено " +"працювати. Творець може (але не зобов'язаний) мати будь-які методи, але вони *не можуть " +"змінити збережений стан об'єкта*." + +#: ../../Behavioral/Memento/README.rst:33 +msgid "" +"Caretaker *controls the states history*. He may make changes to an " +"object; take a decision to save the state of an external object in the " +"Originator; ask from the Originator snapshot of the current state; or set" +" the Originator state to equivalence with some snapshot from history." +msgstr "" +"Опікун *керує історією знімків станів*. Він може вносити зміни до " +"об'єкту, приймати рішення про збереження стану зовнішнього об'єкта у Творці," +"вимагати від Творця знімок поточного стану, або привести стан " +"Творця у відповідність до стану якогось знімка з історії." + +#: ../../Behavioral/Memento/README.rst:39 +msgid "Examples" +msgstr "Приклади" + +#: ../../Behavioral/Memento/README.rst:41 +msgid "The seed of a pseudorandom number generator" +msgstr "" +"`Зерно `_ генератора псевдовипадкових" +"чисел." + +#: ../../Behavioral/Memento/README.rst:42 +msgid "The state in a finite state machine" +msgstr "Стан кінцевого автомату" + +#: ../../Behavioral/Memento/README.rst:43 +msgid "" +"Control for intermediate states of `ORM Model " +"`_ before saving" +msgstr "" +"Контроль проміжних станів `ORM моделі " +"`_ перед збереженням" + +#: ../../Behavioral/Memento/README.rst:46 +msgid "UML Diagram" +msgstr "Діаграма UML" + +#: ../../Behavioral/Memento/README.rst:53 +msgid "Code" +msgstr "Код" + +#: ../../Behavioral/Memento/README.rst:55 +msgid "You can also find this code on `GitHub`_" +msgstr "Ви можете знайти цей код на `GitHub`_" + +#: ../../Behavioral/Memento/README.rst:76 +msgid "Test" +msgstr "Тест" diff --git a/locale/uk/LC_MESSAGES/Behavioral/NullObject/README.po b/locale/uk/LC_MESSAGES/Behavioral/NullObject/README.po new file mode 100644 index 0000000..5024ea1 --- /dev/null +++ b/locale/uk/LC_MESSAGES/Behavioral/NullObject/README.po @@ -0,0 +1,89 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-04 12:00+0200\n" +"PO-Revision-Date: 2023-02-04 12:00+0200\n" +"Last-Translator: Petro Ostapuk \n" +"Language-Team: \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.1.1\n" + +#: ../../Behavioral/NullObject/README.rst:2 +msgid "`Null Object`__" +msgstr "`Null object `_ (`Null Object`__)" + +#: ../../Behavioral/NullObject/README.rst:5 +msgid "Purpose" +msgstr "Призначення" + +#: ../../Behavioral/NullObject/README.rst:7 +msgid "" +"NullObject is not a GoF design pattern but a schema which appears " +"frequently enough to be considered a pattern. It has the following benefits:" +msgstr "" +"NullObject не шаблон з книги Банди Чотирьох, але схема, яка з'являється " +"досить часто, щоб вважатися патерном. Вона має такі" +"переваги:" + +#: ../../Behavioral/NullObject/README.rst:11 +msgid "Client code is simplified" +msgstr "Клієнтський код спрощується" + +#: ../../Behavioral/NullObject/README.rst:12 +msgid "Reduces the chance of null pointer exceptions" +msgstr "" +"Зменшує шанс виключень через нульові покажчики (і помилок PHP різного рівня)" + +#: ../../Behavioral/NullObject/README.rst:13 +msgid "Fewer conditionals require less test cases" +msgstr "Менше додаткових умов - значить менше тест кейсів" + +#: ../../Behavioral/NullObject/README.rst:15 +msgid "" +"Methods that return an object or null should instead return an object or " +"``NullObject``. ``NullObject``\\ s simplify boilerplate code such as ``if " +"(!is_null($obj)) { $obj->callSomething(); }`` to just " +"``$obj->callSomething();`` by eliminating the conditional check in client " +"code." +msgstr "" +"Методи, які повертають об'єкт або Null, натомість повинні повернути " +"об'єкт ``NullObject``. ``NullObject``\\ це спрощений формальний код, що усуває " +"необхідність перевірки ``if (!is_null($obj)) { $obj->callSomething(); }``, " +"замінюючи її на звичайний виклик ``$obj->callSomething();``." + +#: ../../Behavioral/NullObject/README.rst:22 +msgid "Examples" +msgstr "Приклади" + +#: ../../Behavioral/NullObject/README.rst:24 +msgid "Null logger or null output to preserve a standard way of interaction between objects, even if the shouldn't do anything" +msgstr "Null logger або null output для збереження стандартного способу взаємодії між об'єктами, навіть якщо вони не повинні нічого робити" + +#: ../../Behavioral/NullObject/README.rst:26 +msgid "null handler in a Chain of Responsibilities pattern" +msgstr "null handler у патерні Ланцюжка обов'язків" + +#: ../../Behavioral/NullObject/README.rst:27 +msgid "null command in a Command pattern" +msgstr "null command у патерні Команда" + +#: ../../Behavioral/NullObject/README.rst:30 +msgid "UML Diagram" +msgstr "Діаграма UML" + +#: ../../Behavioral/NullObject/README.rst:37 +msgid "Code" +msgstr "Код" + +#: ../../Behavioral/NullObject/README.rst:39 +msgid "You can also find this code on `GitHub`_" +msgstr "Ви можете знайти цей код на `GitHub`_" + +#: ../../Behavioral/NullObject/README.rst:66 +msgid "Test" +msgstr "Тест" diff --git a/locale/uk/LC_MESSAGES/Behavioral/Observer/README.po b/locale/uk/LC_MESSAGES/Behavioral/Observer/README.po new file mode 100644 index 0000000..80f1727 --- /dev/null +++ b/locale/uk/LC_MESSAGES/Behavioral/Observer/README.po @@ -0,0 +1,73 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-04 12:00+0200\n" +"PO-Revision-Date: 2023-02-04 12:00+0200\n" +"Last-Translator: Petro Ostapuk \n" +"Language-Team: \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.1.1\n" + +#: ../../Behavioral/Observer/README.rst:2 +msgid "`Observer`__" +msgstr "`Спостерігач `_ (`Observer`__)" + +#: ../../Behavioral/Observer/README.rst:5 +msgid "Purpose" +msgstr "Призначення" + +#: ../../Behavioral/Observer/README.rst:7 +msgid "" +"To implement a publish/subscribe behaviour to an object, whenever a " +"\"Subject\" object changes its state, the attached \"Observers\" will be " +"notified. It is used to shorten the amount of coupled objects and uses loose" +" coupling instead." +msgstr "" +"Для реалізації публікації/підписки на поведінку об'єкта, щоразу, коли " +"об'єкт \"Subject\" змінює свій стан, прикріплені об'єкти \"Observers\" " +"будуть повідомлені. Паттерн використовується, щоб скоротити кількість " +"пов'язаних безпосередньо об'єктів і замість цього використовує слабкий зв'язок (loose " +"coupling)." + +#: ../../Behavioral/Observer/README.rst:13 +msgid "Examples" +msgstr "Приклади" + +#: ../../Behavioral/Observer/README.rst:15 +msgid "" +"a message queue system is observed to show the progress of a job in a GUI" +msgstr "" +"Система черги повідомлень спостерігає за чергами, щоб відображати прогрес у GUI" + +#: ../../Behavioral/Observer/README.rst:19 +msgid "Note" +msgstr "Примітка" + +#: ../../Behavioral/Observer/README.rst:21 +msgid "" +"PHP already defines two interfaces that can help to implement this pattern: " +"SplObserver and SplSubject." +msgstr "" +"PHP надає два стандартні інтерфейси, які можуть допомогти " +"реалізувати цей шаблон: SplObserver та SplSubject." + +#: ../../Behavioral/Observer/README.rst:25 +msgid "UML Diagram" +msgstr "Діаграма UML" + +#: ../../Behavioral/Observer/README.rst:32 +msgid "Code" +msgstr "Код" + +#: ../../Behavioral/Observer/README.rst:34 +msgid "You can also find this code on `GitHub`_" +msgstr "Ви можете знайти цей код на `GitHub`_" + +#: ../../Behavioral/Observer/README.rst:49 +msgid "Test" +msgstr "Тест" diff --git a/locale/uk/LC_MESSAGES/Behavioral/README.po b/locale/uk/LC_MESSAGES/Behavioral/README.po new file mode 100644 index 0000000..f3636dc --- /dev/null +++ b/locale/uk/LC_MESSAGES/Behavioral/README.po @@ -0,0 +1,30 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-04 12:00+0200\n" +"PO-Revision-Date: 2023-02-04 12:00+0200\n" +"Last-Translator: Petro Ostapuk \n" +"Language-Team: \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.1.1\n" + +#: ../../Behavioral/README.rst:2 +msgid "`Behavioral`__" +msgstr "`Поведінкові патерни проектування `_ (`Behavioral`__)" + +#: ../../Behavioral/README.rst:4 +msgid "" +"In software engineering, behavioral design patterns are design patterns that" +" identify common communication patterns between objects and realize these " +"patterns. By doing so, these patterns increase flexibility in carrying out " +"this communication." +msgstr "" +"Поведінкові патерни проектування визначають загальні закономірності зв'язків " +"між об'єктами, що реалізують дані патерни. Дотримання цих шаблонів " +"зменшує зв'язність системи та полегшує комунікацію між об'єктами, що " +"покращує гнучкість програмного продукту." diff --git a/locale/uk/LC_MESSAGES/Behavioral/Specification/README.po b/locale/uk/LC_MESSAGES/Behavioral/Specification/README.po new file mode 100644 index 0000000..2a51b13 --- /dev/null +++ b/locale/uk/LC_MESSAGES/Behavioral/Specification/README.po @@ -0,0 +1,58 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-04 12:00+0200\n" +"PO-Revision-Date: 2023-02-04 12:00+0200\n" +"Last-Translator: Petro Ostapuk \n" +"Language-Team: \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.1.1\n" + +#: ../../Behavioral/Specification/README.rst:2 +msgid "`Specification`__" +msgstr "`Специфікація `_ (`Specification`__)" + +#: ../../Behavioral/Specification/README.rst:5 +msgid "Purpose" +msgstr "Призначення" + +#: ../../Behavioral/Specification/README.rst:7 +msgid "" +"Builds a clear specification of business rules, where objects can be checked" +" against. The composite specification class has one method called " +"``isSatisfiedBy`` that returns either true or false depending on whether the" +" given object satisfies the specification." +msgstr "" +"Будує зрозумілий опис бізнес-правил, на відповідність яким можуть бути " +"перевірені об'єкти. Композитний клас специфікації має один метод, " +"званий ``isSatisfiedBy``, який повертає true або false в " +"залежно від того, чи задовольняє даний об'єкт специфікації." + +#: ../../Behavioral/Specification/README.rst:13 +msgid "Examples" +msgstr "Приклади" + +#: ../../Behavioral/Specification/README.rst:15 +msgid "`RulerZ `__" +msgstr "`RulerZ `__" + +#: ../../Behavioral/Specification/README.rst:18 +msgid "UML Diagram" +msgstr "Діаграма UML" + +#: ../../Behavioral/Specification/README.rst:25 +msgid "Code" +msgstr "Код" + +#: ../../Behavioral/Specification/README.rst:27 +msgid "You can also find this code on `GitHub`_" +msgstr "Ви можете знайти цей код на `GitHub`_" + +#: ../../Behavioral/Specification/README.rst:72 +msgid "Test" +msgstr "Тест" diff --git a/locale/uk/LC_MESSAGES/Behavioral/State/README.po b/locale/uk/LC_MESSAGES/Behavioral/State/README.po new file mode 100644 index 0000000..ce7d53a --- /dev/null +++ b/locale/uk/LC_MESSAGES/Behavioral/State/README.po @@ -0,0 +1,49 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-04 12:00+0200\n" +"PO-Revision-Date: 2023-02-04 12:00+0200\n" +"Last-Translator: Petro Ostapuk \n" +"Language-Team: \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.1.1\n" + +#: ../../Behavioral/State/README.rst:2 +msgid "`State`__" +msgstr "`Стан `_ (`State`__)" + +#: ../../Behavioral/State/README.rst:5 +msgid "Purpose" +msgstr "Призначення" + +#: ../../Behavioral/State/README.rst:7 +msgid "" +"Encapsulate varying behavior for the same routine based on an object's " +"state. This can be a cleaner way for an object to change its behavior at " +"runtime without resorting to large monolithic conditional statements." +msgstr "" +"Інкапсулює зміну поведінки тих самих методів залежно " +"від стану об'єкта. " +"Цей патерн допоможе витонченим способом змінити поведінку об'єкта під " +"час виконання не вдаючись до великих умовних операторів." + +#: ../../Behavioral/State/README.rst:12 +msgid "UML Diagram" +msgstr "Діаграма UML" + +#: ../../Behavioral/State/README.rst:19 +msgid "Code" +msgstr "Код" + +#: ../../Behavioral/State/README.rst:21 +msgid "You can also find this code on `GitHub`_" +msgstr "Ви можете знайти цей код на `GitHub`_" + +#: ../../Behavioral/State/README.rst:54 +msgid "Test" +msgstr "Тест" diff --git a/locale/uk/LC_MESSAGES/Behavioral/Strategy/README.po b/locale/uk/LC_MESSAGES/Behavioral/Strategy/README.po new file mode 100644 index 0000000..17fd5c6 --- /dev/null +++ b/locale/uk/LC_MESSAGES/Behavioral/Strategy/README.po @@ -0,0 +1,80 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-04 12:00+0200\n" +"PO-Revision-Date: 2023-02-04 12:00+0200\n" +"Last-Translator: Petro Ostapuk \n" +"Language-Team: \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.1.1\n" + +#: ../../Behavioral/Strategy/README.rst:2 +msgid "`Strategy`__" +msgstr "`Стратегія `_ (`Strategy`__)" + +#: ../../Behavioral/Strategy/README.rst:5 +msgid "Terminology:" +msgstr "Термінологія:" + +#: ../../Behavioral/Strategy/README.rst:7 +msgid "Context" +msgstr "Контекст" + +#: ../../Behavioral/Strategy/README.rst:8 +msgid "Strategy" +msgstr "Стратегія" + +#: ../../Behavioral/Strategy/README.rst:9 +msgid "Concrete Strategy" +msgstr "Конкретна стратегія" + +#: ../../Behavioral/Strategy/README.rst:12 +msgid "Purpose" +msgstr "Призначення" + +#: ../../Behavioral/Strategy/README.rst:14 +msgid "" +"To separate strategies and to enable fast switching between them. Also this " +"pattern is a good alternative to inheritance (instead of having an abstract " +"class that is extended)." +msgstr "" +"Щоб розділити стратегії та отримати можливість швидкого перемикання " +"між ними. Також цей патерн є гарною альтернативою успадкування " +"(замість розширення абстрактного класу)." + +#: ../../Behavioral/Strategy/README.rst:19 +msgid "Examples" +msgstr "Приклади" + +#: ../../Behavioral/Strategy/README.rst:21 +msgid "sorting a list of objects, one strategy by date, the other by id" +msgstr "" +"Сортування списку об'єктів, одна стратегія сортує за датою, інша за id" + +#: ../../Behavioral/Strategy/README.rst:22 +msgid "" +"simplify unit testing: e.g. switching between file and in-memory storage" +msgstr "" +"спростити юніт тестування: наприклад перемикання між файловим " +"сховищем та сховищем в оперативній пам'яті" + +#: ../../Behavioral/Strategy/README.rst:26 +msgid "UML Diagram" +msgstr "Діаграма UML" + +#: ../../Behavioral/Strategy/README.rst:33 +msgid "Code" +msgstr "Код" + +#: ../../Behavioral/Strategy/README.rst:35 +msgid "You can also find this code on `GitHub`_" +msgstr "Ви можете знайти цей код на `GitHub`_" + +#: ../../Behavioral/Strategy/README.rst:62 +msgid "Test" +msgstr "Тест" diff --git a/locale/uk/LC_MESSAGES/Behavioral/TemplateMethod/README.po b/locale/uk/LC_MESSAGES/Behavioral/TemplateMethod/README.po new file mode 100644 index 0000000..add8d77 --- /dev/null +++ b/locale/uk/LC_MESSAGES/Behavioral/TemplateMethod/README.po @@ -0,0 +1,80 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-04 12:00+0200\n" +"PO-Revision-Date: 2023-02-04 12:00+0200\n" +"Last-Translator: Petro Ostapuk \n" +"Language-Team: \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.1.1\n" + +#: ../../Behavioral/TemplateMethod/README.rst:2 +msgid "`Template Method`__" +msgstr "`Шаблонний Метод `_ (`Template Method`__)" + +#: ../../Behavioral/TemplateMethod/README.rst:5 +msgid "Purpose" +msgstr "Призначення" + +#: ../../Behavioral/TemplateMethod/README.rst:7 +msgid "Template Method is a behavioral design pattern." +msgstr "Шаблонний метод, це поведінковий патерн проектування." + +#: ../../Behavioral/TemplateMethod/README.rst:9 +msgid "" +"Perhaps you have encountered it many times already. The idea is to let " +"subclasses of this abstract template \"finish\" the behavior of an " +"algorithm." +msgstr "" +"Можливо, ви стикалися з цим вже багато разів. Ідея полягає в тому, щоб " +"дозволити спадкоємцям абстрактного класу перевизначити поведінку " +"алгоритмів батьківського класу." + +#: ../../Behavioral/TemplateMethod/README.rst:13 +msgid "" +"A.k.a the \"Hollywood principle\": \"Don't call us, we call you.\" This " +"class is not called by subclasses but the inverse. How? With abstraction of " +"course." +msgstr "" +"Як у «Голлівудському принципі»: «Не дзвоніть нам, ми самі вам подзвонимо». " +"клас не викликається підкласами, але навпаки: підкласи викликаються " +"батьком. Як? За допомогою методу в батьківській абстракції, звичайно." + +#: ../../Behavioral/TemplateMethod/README.rst:17 +msgid "" +"In other words, this is a skeleton of algorithm, well-suited for framework " +"libraries. The user has just to implement one method and the superclass do " +"the job." +msgstr "" +"Іншими словами, це каркас алгоритму, який добре підходить для " +"бібліотек (у фреймворках, наприклад). Користувач просто реалізує " +"уточнюючі методи, а суперклас робить всю основну роботу." + +#: ../../Behavioral/TemplateMethod/README.rst:21 +msgid "" +"It is an easy way to decouple concrete classes and reduce copy-paste, " +"that's why you'll find it everywhere." +msgstr "" +"Це простий спосіб ізолювати логіку у конкретні класи та зменшити " +"копіпаст, тому ви повсюдно зустрінете його у тому чи іншому вигляді." + +#: ../../Behavioral/TemplateMethod/README.rst:25 +msgid "UML Diagram" +msgstr "Діаграма UML" + +#: ../../Behavioral/TemplateMethod/README.rst:32 +msgid "Code" +msgstr "Код" + +#: ../../Behavioral/TemplateMethod/README.rst:34 +msgid "You can also find this code on `GitHub`_" +msgstr "Ви можете знайти цей код на `GitHub`_" + +#: ../../Behavioral/TemplateMethod/README.rst:55 +msgid "Test" +msgstr "Тест" diff --git a/locale/uk/LC_MESSAGES/Behavioral/Visitor/README.po b/locale/uk/LC_MESSAGES/Behavioral/Visitor/README.po new file mode 100644 index 0000000..b94cc82 --- /dev/null +++ b/locale/uk/LC_MESSAGES/Behavioral/Visitor/README.po @@ -0,0 +1,61 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-04 12:00+0200\n" +"PO-Revision-Date: 2023-02-04 12:00+0200\n" +"Last-Translator: Petro Ostapuk \n" +"Language-Team: \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.1.1\n" + +#: ../../Behavioral/Visitor/README.rst:2 +msgid "`Visitor`__" +msgstr "`Відвідувач `_ (`Visitor`__)" + +#: ../../Behavioral/Visitor/README.rst:5 +msgid "Purpose" +msgstr "Призначення" + +#: ../../Behavioral/Visitor/README.rst:7 +msgid "" +"The Visitor Pattern lets you outsource operations on objects to other " +"objects. The main reason to do this is to keep a separation of concerns. But" +" classes have to define a contract to allow visitors (the ``Role::accept`` " +"method in the example)." +msgstr "" +"Шаблон \"Відвідувач\" виконує операції над об'єктами інших класів. " +"Головною метою є збереження поділу спрямованості завдань " +"окремих класів. У цьому класи зобов'язані визначити спеціальний " +"контракт, щоб дозволити використовувати їх Відвідувачам (метод \"прийняти " +"роль\" ``Role::accept`` у прикладі)." + +#: ../../Behavioral/Visitor/README.rst:12 +msgid "" +"The contract is an abstract class but you can have also a clean interface. " +"In that case, each Visitor has to choose itself which method to invoke on " +"the visitor." +msgstr "" +"Контракт, як правило, це абстрактний клас, але ви можете використовувати " +"чистий інтерфейс. У цьому випадку, кожен відвідувач повинен сам вибирати, " +"який метод посилається на відвідувача." + +#: ../../Behavioral/Visitor/README.rst:17 +msgid "UML Diagram" +msgstr "Діаграма UML" + +#: ../../Behavioral/Visitor/README.rst:24 +msgid "Code" +msgstr "Код" + +#: ../../Behavioral/Visitor/README.rst:26 +msgid "You can also find this code on `GitHub`_" +msgstr "Ви можете знайти цей код на `GitHub`_" + +#: ../../Behavioral/Visitor/README.rst:59 +msgid "Test" +msgstr "Тест" diff --git a/locale/uk/LC_MESSAGES/Creational/AbstractFactory/README.po b/locale/uk/LC_MESSAGES/Creational/AbstractFactory/README.po index 1769786..6d55a11 100644 --- a/locale/uk/LC_MESSAGES/Creational/AbstractFactory/README.po +++ b/locale/uk/LC_MESSAGES/Creational/AbstractFactory/README.po @@ -3,8 +3,8 @@ msgid "" msgstr "" "Project-Id-Version: DesignPatternsPHP 1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-01-11 20:29+0200\n" -"PO-Revision-Date: 2023-01-11 21:37+0200\n" +"POT-Creation-Date: 2023-02-04 12:00+0200\n" +"PO-Revision-Date: 2023-02-04 12:00+0200\n" "Last-Translator: Petro Ostapuk \n" "Language-Team: \n" "Language: uk\n" diff --git a/locale/uk/LC_MESSAGES/Creational/Builder/README.po b/locale/uk/LC_MESSAGES/Creational/Builder/README.po new file mode 100644 index 0000000..c94433d --- /dev/null +++ b/locale/uk/LC_MESSAGES/Creational/Builder/README.po @@ -0,0 +1,75 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-04 12:00+0200\n" +"PO-Revision-Date: 2023-02-04 12:00+0200\n" +"Last-Translator: Petro Ostapuk \n" +"Language-Team: \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.1.1\n" + +#: ../../Creational/Builder/README.rst:2 +msgid "`Builder`__" +msgstr "" +"`Будівник `_ (`Builder`__)" + +#: ../../Creational/Builder/README.rst:5 +msgid "Purpose" +msgstr "Призначення" + +#: ../../Creational/Builder/README.rst:7 +msgid "Builder is an interface that build parts of a complex object." +msgstr "Будівельник - це інтерфейс для виробництва складних об'єктів." + +#: ../../Creational/Builder/README.rst:9 +msgid "" +"Sometimes, if the builder has a better knowledge of what it builds, this " +"interface could be an abstract class with default methods (aka adapter)." +msgstr "" +"Іноді, якщо Будівельник краще знає про те, що він будує, цей інтерфейс " +"може бути абстрактним класом з методами за замовчуванням (адаптер)." + +#: ../../Creational/Builder/README.rst:12 +msgid "" +"If you have a complex inheritance tree for objects, it is logical to have a " +"complex inheritance tree for builders too." +msgstr "" +"Якщо у вас є складне дерево успадкування для об'єктів, логічно мати " +"складне дерево успадкування і їх будівельників." + +#: ../../Creational/Builder/README.rst:15 +msgid "" +"Note: Builders have often a fluent interface, see the mock builder of " +"PHPUnit for example." +msgstr "" +"Примітка: Будівельники можуть мати текучий інтерфейс , наприклад, " +"будівельник mock у PHPUnit." + +#: ../../Creational/Builder/README.rst:19 +msgid "Examples" +msgstr "Приклади" + +#: ../../Creational/Builder/README.rst:21 +msgid "PHPUnit: Mock Builder" +msgstr "PHPUnit: Mock Builder" + +#: ../../Creational/Builder/README.rst:24 +msgid "UML Diagram" +msgstr "Діаграма UML" + +#: ../../Creational/Builder/README.rst:31 +msgid "Code" +msgstr "Код" + +#: ../../Creational/Builder/README.rst:33 +msgid "You can also find this code on `GitHub`_" +msgstr "Ви можете знайти цей код на `GitHub`_" + +#: ../../Creational/Builder/README.rst:96 +msgid "Test" +msgstr "Тест" diff --git a/locale/uk/LC_MESSAGES/Creational/FactoryMethod/README.po b/locale/uk/LC_MESSAGES/Creational/FactoryMethod/README.po new file mode 100644 index 0000000..40d61de --- /dev/null +++ b/locale/uk/LC_MESSAGES/Creational/FactoryMethod/README.po @@ -0,0 +1,70 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-04 12:00+0200\n" +"PO-Revision-Date: 2023-02-04 12:00+0200\n" +"Last-Translator: Petro Ostapuk \n" +"Language-Team: \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.1.1\n" + +#: ../../Creational/FactoryMethod/README.rst:2 +msgid "`Factory Method`__" +msgstr "" +"`Фабричний метод `_ (`Factory Method`__)" + +#: ../../Creational/FactoryMethod/README.rst:5 +msgid "Purpose" +msgstr "Призначення" + +#: ../../Creational/FactoryMethod/README.rst:7 +msgid "" +"The good point over the SimpleFactory is you can subclass it to implement " +"different ways to create objects." +msgstr "" +"Вигідна відмінність від SimpleFactory в тому, що ви можете винести реалізацію " +"створення об'єктів у підкласи." + +#: ../../Creational/FactoryMethod/README.rst:10 +msgid "For simple cases, this abstract class could be just an interface." +msgstr "" +"У простих випадках цей абстрактний клас може бути тільки інтерфейсом." + +#: ../../Creational/FactoryMethod/README.rst:12 +msgid "" +"This pattern is a \"real\" Design Pattern because it achieves the " +"Dependency Inversion principle a.k.a the \"D\" in SOLID principles." +msgstr "" +"Цей патерн є \"справжнім\" Шаблоном Проектування, тому що він " +"слід \"Принципу інверсії залежностей\" також відомому як \"D\" в `S.O.L.I.D `_." + +#: ../../Creational/FactoryMethod/README.rst:15 +msgid "" +"It means the FactoryMethod class depends on abstractions, not concrete " +"classes. This is the real trick compared to SimpleFactory or StaticFactory." +msgstr "" +"Це означає, що клас FactoryMethod залежить від абстракцій, а не від " +"конкретних класів. Це істотний плюс у порівнянні з SimpleFactory або " +"StaticFactory." + +#: ../../Creational/FactoryMethod/README.rst:20 +msgid "UML Diagram" +msgstr "Діаграма UML" + +#: ../../Creational/FactoryMethod/README.rst:27 +msgid "Code" +msgstr "Код" + +#: ../../Creational/FactoryMethod/README.rst:29 +msgid "You can also find this code on `GitHub`_" +msgstr "Ви можете знайти цей код на `GitHub`_" + +#: ../../Creational/FactoryMethod/README.rst:74 +msgid "Test" +msgstr "Тест" diff --git a/locale/uk/LC_MESSAGES/Creational/Pool/README.po b/locale/uk/LC_MESSAGES/Creational/Pool/README.po new file mode 100644 index 0000000..3e52f73 --- /dev/null +++ b/locale/uk/LC_MESSAGES/Creational/Pool/README.po @@ -0,0 +1,84 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-04 12:00+0200\n" +"PO-Revision-Date: 2023-02-04 12:00+0200\n" +"Last-Translator: Petro Ostapuk \n" +"Language-Team: \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.1.1\n" + +#: ../../Creational/Pool/README.rst:2 +msgid "`Pool`__" +msgstr "" +"`Пул об'єктів `_ (`Pool`__)" + +#: ../../Creational/Pool/README.rst:4 +msgid "Purpose" +msgstr "Призначення" + +#: ../../Creational/Pool/README.rst:4 +msgid "" +"The **object pool pattern** is a software creational design pattern that " +"uses a set of initialized objects kept ready to use – a \"pool\" – rather " +"than allocating and destroying them on demand. A client of the pool will " +"request an object from the pool and perform operations on the returned " +"object. When the client has finished, it returns the object, which is a " +"specific type of factory object, to the pool rather than destroying it." +msgstr "" +"Патерн, що породжує, який надає набір заздалегідь ініціалізованих " +"об'єктів, готових до використання («пул»), що не вимагає щоразу " +"створювати та знищувати їх." + +#: ../../Creational/Pool/README.rst:11 +msgid "" +"Object pooling can offer a significant performance boost in situations where" +" the cost of initializing a class instance is high, the rate of " +"instantiation of a class is high, and the number of instances in use at any " +"one time is low. The pooled object is obtained in predictable time when " +"creation of the new objects (especially over network) may take variable " +"time." +msgstr "" +"Зберігання об'єктів у пулі може помітно підвищити продуктивність у " +"ситуаціях, коли вартість та швидкість ініціалізації екземпляра класу високі, " +"а кількість екземплярів, що одночасно використовуються, в будь-який момент часу " +"є низьким. Час отримання об'єкта з пулу легко прогнозується, " +"як створення нового об'єкта (особливо з мережевим оверхедом) може " +"займати невизначений час." + +#: ../../Creational/Pool/README.rst:18 +msgid "" +"However these benefits are mostly true for objects that are expensive with " +"respect to time, such as database connections, socket connections, threads " +"and large graphic objects like fonts or bitmaps. In certain situations, " +"simple object pooling (that hold no external resources, but only occupy " +"memory) may not be efficient and could decrease performance." +msgstr "" +"Однак ці переваги в основному відносяться до об'єктів, які спочатку " +"є дорогими за часом створення. Наприклад, з'єднання з базою " +"даних, з'єднання сокетів, потоків або ініціалізація великих графічних " +"об'єктів, таких як шрифти або растрові зображення. У деяких " +"ситуаціях, використання простого пулу об'єктів (які не залежать від " +"Зовнішніх ресурсів, а тільки займають пам'ять) може виявитися неефективним і " +"приведе до зниження продуктивності." + +#: ../../Creational/Pool/README.rst:25 +msgid "UML Diagram" +msgstr "Діаграма UML" + +#: ../../Creational/Pool/README.rst:32 +msgid "Code" +msgstr "Код" + +#: ../../Creational/Pool/README.rst:34 +msgid "You can also find this code on `GitHub`_" +msgstr "Ви можете знайти цей код на `GitHub`_" + +#: ../../Creational/Pool/README.rst:55 +msgid "Test" +msgstr "Тест" diff --git a/locale/uk/LC_MESSAGES/Creational/Prototype/README.po b/locale/uk/LC_MESSAGES/Creational/Prototype/README.po new file mode 100644 index 0000000..718a94c --- /dev/null +++ b/locale/uk/LC_MESSAGES/Creational/Prototype/README.po @@ -0,0 +1,59 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-04 12:00+0200\n" +"PO-Revision-Date: 2023-02-04 12:00+0200\n" +"Last-Translator: Petro Ostapuk \n" +"Language-Team: \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.1.1\n" + +#: ../../Creational/Prototype/README.rst:2 +msgid "`Prototype`__" +msgstr "" +"`Прототип `_ (`Prototype`__)" + +#: ../../Creational/Prototype/README.rst:5 +msgid "Purpose" +msgstr "Призначення" + +#: ../../Creational/Prototype/README.rst:7 +msgid "" +"To avoid the cost of creating objects the standard way (new Foo()) and " +"instead create a prototype and clone it." +msgstr "" +"Допомагає уникнути витрат на створення об'єктів у стандартний спосіб (new " +"Foo()), а натомість створює прототип і потім клонує його." + +#: ../../Creational/Prototype/README.rst:11 +msgid "Examples" +msgstr "Приклади" + +#: ../../Creational/Prototype/README.rst:13 +msgid "" +"Large amounts of data (e.g. create 1,000,000 rows in a database at once via " +"a ORM)." +msgstr "" +"Великі обсяги даних (наприклад, створити 1000000 рядків у базі даних відразу " +"через ORM)." + +#: ../../Creational/Prototype/README.rst:17 +msgid "UML Diagram" +msgstr "Діаграма UML" + +#: ../../Creational/Prototype/README.rst:24 +msgid "Code" +msgstr "Код" + +#: ../../Creational/Prototype/README.rst:26 +msgid "You can also find this code on `GitHub`_" +msgstr "Ви можете знайти цей код на `GitHub`_" + +#: ../../Creational/Prototype/README.rst:53 +msgid "Test" +msgstr "Тест" diff --git a/locale/uk/LC_MESSAGES/Creational/SimpleFactory/README.po b/locale/uk/LC_MESSAGES/Creational/SimpleFactory/README.po new file mode 100644 index 0000000..365ed0b --- /dev/null +++ b/locale/uk/LC_MESSAGES/Creational/SimpleFactory/README.po @@ -0,0 +1,66 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-04 12:00+0200\n" +"PO-Revision-Date: 2023-02-04 12:00+0200\n" +"Last-Translator: Petro Ostapuk \n" +"Language-Team: \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.1.1\n" + +#: ../../Creational/SimpleFactory/README.rst:2 +msgid "Simple Factory" +msgstr "Проста Фабрика (Simple Factory)" + +#: ../../Creational/SimpleFactory/README.rst:5 +msgid "Purpose" +msgstr "Призначення" + +#: ../../Creational/SimpleFactory/README.rst:7 +msgid "SimpleFactory is a simple factory pattern." +msgstr "SimpleFactory у прикладі нижче, це патерн \"Проста Фабрика\"." + +#: ../../Creational/SimpleFactory/README.rst:9 +msgid "" +"It differs from the static factory because it is not static. " +"Therefore, you can have multiple factories, differently parameterized, " +"you can subclass it and you can mock it. It always should be preferred " +"over a static factory!" +msgstr "" +"Вона відрізняється від Статичної Фабрики тим, що власне *не є " +"статичної*. Таким чином, ви можете мати безліч фабрик з різними параметрами. " +"Проста фабрика завжди повинна бути кращою за Статичну фабрику!" + +#: ../../Creational/SimpleFactory/README.rst:10 +msgid "" +"Therefore, you can have multiple factories, differently parametrized, you can subclass it and you can mock it." +msgstr "" +"Тому ви можете мати кілька фабрик, параметризованих різним " +"Образом. Ви можете успадкувати їх і створювати макети для тестування." + +#: ../../Creational/SimpleFactory/README.rst:11 +msgid "" +"It always should be preferred over a static factory!" +msgstr "" +"Проста фабрика завжди повинна бути краще статичної фабрики" + +#: ../../Creational/SimpleFactory/README.rst:16 +msgid "UML Diagram" +msgstr "Діаграма UML" + +#: ../../Creational/SimpleFactory/README.rst:23 +msgid "Code" +msgstr "Код" + +#: ../../Creational/SimpleFactory/README.rst:25 +msgid "You can also find this code on `GitHub`_" +msgstr "Ви можете знайти цей код на `GitHub`_" + +#: ../../Creational/SimpleFactory/README.rst:52 +msgid "Test" +msgstr "Тест" diff --git a/locale/uk/LC_MESSAGES/Creational/Singleton/README.po b/locale/uk/LC_MESSAGES/Creational/Singleton/README.po new file mode 100644 index 0000000..b5e7171 --- /dev/null +++ b/locale/uk/LC_MESSAGES/Creational/Singleton/README.po @@ -0,0 +1,78 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-04 12:00+0200\n" +"PO-Revision-Date: 2023-02-04 12:00+0200\n" +"Last-Translator: Petro Ostapuk \n" +"Language-Team: \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.1.1\n" + +#: ../../Creational/Singleton/README.rst:2 +msgid "`Singleton`__" +msgstr "" +"`Одинак `_ (`Singleton`__)" + +#: ../../Creational/Singleton/README.rst:4 +msgid "" +"**THIS IS CONSIDERED TO BE AN ANTI-PATTERN! FOR BETTER TESTABILITY AND " +"MAINTAINABILITY USE DEPENDENCY INJECTION!**" +msgstr "" +"**Це вважається анти-патерном! Для кращої тестованості та " +"супроводження коду використовуйте Ін'єкцію Залежності (Dependency " +"Injection)!**" + +#: ../../Creational/Singleton/README.rst:8 +msgid "Purpose" +msgstr "Призначення" + +#: ../../Creational/Singleton/README.rst:10 +msgid "" +"To have only one instance of this object in the application that will handle" +" all calls." +msgstr "" +"Дозволяє містити лише один екземпляр об'єкта в додатку, " +"яке оброблятиме всі звернення, забороняючи створювати новий " +"екземпляр." + +#: ../../Creational/Singleton/README.rst:14 +msgid "Examples" +msgstr "Приклади" + +#: ../../Creational/Singleton/README.rst:16 +msgid "DB Connector" +msgstr "DB Connector для підключення до бази даних" + +#: ../../Creational/Singleton/README.rst:17 +msgid "" +"Logger" +msgstr "" +"Logger" + +#: ../../Creational/Singleton/README.rst:19 +msgid "" +"Lock file for the application (there is only one in the filesystem ...)" +msgstr "" +"Блокування файлу в програмі (є лише один у файловій системі з " +"одночасним доступом до нього)" + +#: ../../Creational/Singleton/README.rst:23 +msgid "UML Diagram" +msgstr "Діаграма UML" + +#: ../../Creational/Singleton/README.rst:30 +msgid "Code" +msgstr "Код" + +#: ../../Creational/Singleton/README.rst:32 +msgid "You can also find this code on `GitHub`_" +msgstr "Ви можете знайти цей код на `GitHub`_" + +#: ../../Creational/Singleton/README.rst:41 +msgid "Test" +msgstr "Тест" diff --git a/locale/uk/LC_MESSAGES/Creational/StaticFactory/README.po b/locale/uk/LC_MESSAGES/Creational/StaticFactory/README.po new file mode 100644 index 0000000..74efa95 --- /dev/null +++ b/locale/uk/LC_MESSAGES/Creational/StaticFactory/README.po @@ -0,0 +1,52 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-04 12:00+0200\n" +"PO-Revision-Date: 2023-02-04 12:00+0200\n" +"Last-Translator: Petro Ostapuk \n" +"Language-Team: \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.1.1\n" + +#: ../../Creational/StaticFactory/README.rst:2 +msgid "Static Factory" +msgstr "Статична Фабрика (Static Factory)" + +#: ../../Creational/StaticFactory/README.rst:5 +msgid "Purpose" +msgstr "Призначення" + +#: ../../Creational/StaticFactory/README.rst:7 +msgid "" +"Similar to the AbstractFactory, this pattern is used to create series of " +"related or dependent objects. The difference between this and the abstract " +"factory pattern is that the static factory pattern uses just one static " +"method to create all types of objects it can create. It is usually named " +"``factory`` or ``build``." +msgstr "" +"Подібно до AbstractFactory, цей патерн використовується для створення ряду " +"зв'язаних або залежних об'єктів. Різниця між цим шаблоном і абстрактним " +"Фабрикою полягає в тому, що Статична Фабрика використовує лише один " +"Статичний метод, щоб створити всі допустимі типи об'єктів. Цей метод, " +"зазвичай, називається \"factory\" або \"build\"." + +#: ../../Creational/StaticFactory/README.rst:20 +msgid "UML Diagram" +msgstr "Діаграма UML" + +#: ../../Creational/StaticFactory/README.rst:27 +msgid "Code" +msgstr "Код" + +#: ../../Creational/StaticFactory/README.rst:29 +msgid "You can also find this code on `GitHub`_" +msgstr "Ви можете знайти цей код на `GitHub`_" + +#: ../../Creational/StaticFactory/README.rst:56 +msgid "Test" +msgstr "Тест" diff --git a/locale/uk/LC_MESSAGES/More/EAV/README.po b/locale/uk/LC_MESSAGES/More/EAV/README.po new file mode 100644 index 0000000..c3c8979 --- /dev/null +++ b/locale/uk/LC_MESSAGES/More/EAV/README.po @@ -0,0 +1,68 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-04 12:00+0200\n" +"PO-Revision-Date: 2023-02-04 12:00+0200\n" +"Last-Translator: Petro Ostapuk \n" +"Language-Team: \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.1.1\n" + +#: ../../More/EAV/README.rst:2 +msgid "`Entity-Attribute-Value (EAV)`__" +msgstr "`Сутність-Атрибут-Значення`__" + +#: ../../More/EAV/README.rst:4 +msgid "" +"The Entity–attribute–value (EAV) pattern in order to implement EAV model " +"with PHP." +msgstr "" +"Паттерн Сутність-Атрибут-Значення використовується для реалізації моделі EAV" +"на PHP" + +#: ../../More/EAV/README.rst:7 +msgid "Purpose" +msgstr "Призначення" + +#: ../../More/EAV/README.rst:9 +msgid "" +"The Entity–attribute–value (EAV) model is a data model to describe " +"entities where the number of attributes (properties, parameters) that can" +" be used to describe them is potentially vast, but the number that will " +"actually apply to a given entity is relatively modest." +msgstr "" +"Модель Сутність-Атрибут-Значення (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 "Код" + +#: ../../More/EAV/README.rst:99 +msgid "You can also find this code on `GitHub`_" +msgstr "Ви можете знайти цей код на `GitHub`_" + +#: ../../More/EAV/README.rst:102 +msgid "Test" +msgstr "Тест" + diff --git a/locale/uk/LC_MESSAGES/More/README.po b/locale/uk/LC_MESSAGES/More/README.po new file mode 100644 index 0000000..3b4c709 --- /dev/null +++ b/locale/uk/LC_MESSAGES/More/README.po @@ -0,0 +1,18 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-04 12:00+0200\n" +"PO-Revision-Date: 2023-02-04 12:00+0200\n" +"Last-Translator: Petro Ostapuk \n" +"Language-Team: \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.1.1\n" + +#: ../../More/README.rst:2 +msgid "More" +msgstr "Додатково" diff --git a/locale/uk/LC_MESSAGES/More/Repository/README.po b/locale/uk/LC_MESSAGES/More/Repository/README.po new file mode 100644 index 0000000..7d174ee --- /dev/null +++ b/locale/uk/LC_MESSAGES/More/Repository/README.po @@ -0,0 +1,71 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-04 12:00+0200\n" +"PO-Revision-Date: 2023-02-04 12:00+0200\n" +"Last-Translator: Petro Ostapuk \n" +"Language-Team: \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.1.1\n" + +#: ../../More/Repository/README.rst:2 +msgid "Repository" +msgstr "Репозиторій (Repository)" + +#: ../../More/Repository/README.rst:5 +msgid "Purpose" +msgstr "Призначення" + +#: ../../More/Repository/README.rst:7 +msgid "" +"Mediates between the domain and data mapping layers using a collection-like " +"interface for accessing domain objects. Repository encapsulates the set of " +"objects persisted in a data store and the operations performed over them, " +"providing a more object-oriented view of the persistence layer. Repository " +"also supports the objective of achieving a clean separation and one-way " +"dependency between the domain and data mapping layers." +msgstr "" +"Посередник між рівнями області визначення (сховища) та розподілу " +"даних. Використовує інтерфейс, схожий на колекції, для доступу до об'єктів " +"області визначення. Репозиторій інкапсулює набір об'єктів, що зберігаються " +"у сховищі даних, і операції, що виконуються над ними, забезпечуючи більш " +"об'єктно-орієнтоване подання реальних даних. Репозиторій також " +"переслідує мету досягнення повного поділу та односторонньої залежності " +"між рівнями області визначення та розподілу даних." + +#: ../../More/Repository/README.rst:16 +msgid "Examples" +msgstr "Приклади" + +#: ../../More/Repository/README.rst:18 +msgid "" +"Doctrine 2 ORM: there is Repository that mediates between Entity and DBAL " +"and contains methods to retrieve objects" +msgstr "" +"Doctrine 2 ORM: у ній є Repository, який є сполучною ланкою " +"між Entity та DBAL і містить методи для отримання об'єктів." + +#: ../../More/Repository/README.rst:20 +msgid "Laravel Framework" +msgstr "Laravel Framework" + +#: ../../More/Repository/README.rst:23 +msgid "UML Diagram" +msgstr "Діаграма UML" + +#: ../../More/Repository/README.rst:30 +msgid "Code" +msgstr "Код" + +#: ../../More/Repository/README.rst:32 +msgid "You can also find this code on `GitHub`_" +msgstr "Ви можете знайти цей код на `GitHub`_" + +#: ../../More/Repository/README.rst:59 +msgid "Test" +msgstr "Тест" diff --git a/locale/uk/LC_MESSAGES/More/ServiceLocator/README.po b/locale/uk/LC_MESSAGES/More/ServiceLocator/README.po new file mode 100644 index 0000000..42a11a4 --- /dev/null +++ b/locale/uk/LC_MESSAGES/More/ServiceLocator/README.po @@ -0,0 +1,89 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-04 12:00+0200\n" +"PO-Revision-Date: 2023-02-04 12:00+0200\n" +"Last-Translator: Petro Ostapuk \n" +"Language-Team: \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.1.1\n" + +#: ../../More/ServiceLocator/README.rst:2 +msgid "`Service Locator`__" +msgstr "Локатор Служб (`Service Locator`__)" + +#: ../../More/ServiceLocator/README.rst:4 +msgid "**THIS IS CONSIDERED TO BE AN ANTI-PATTERN!**" +msgstr "**Цей шаблон вважається анти-патерном!**" + +#: ../../More/ServiceLocator/README.rst:4 +msgid "" +"Service Locator is considered for some people an anti-pattern. " +"It violates the Dependency Inversion principle. Service Locator " +"hides class' dependencies instead of exposing them as you would " +"do using the Dependency Injection. In case of changes of those " +"dependencies you risk to break the functionality of classes which " +"are using them, making your system difficult to maintain." +msgstr "" +"Дехто вважає Локатор Служб анти-патерном. Він порушує " +"принцип інверсії залежностей `(Dependency Inversion principle) " +"`_) " +"з набору принципів `SOLID `_. " +"Локатор Служб приховує залежність даного класу замість їхнього спільного " +"використання, як у випадку шаблону Впровадження Залежності (`Dependency " +"Injection `_). " +"У разі зміни даних залежностей ми ризикуємо зламати функціонал класів, " +"які їх використовують, унаслідок чого утрудняється підтримка системи." + +#: ../../More/ServiceLocator/README.rst:9 +msgid "Purpose" +msgstr "Призначення" + +#: ../../More/ServiceLocator/README.rst:12 +msgid "" +"To implement a loosely coupled architecture in order to get better testable," +" maintainable and extendable code. DI pattern and Service Locator pattern " +"are an implementation of the Inverse of Control pattern." +msgstr "" +"Для реалізації слабозв'язаної архітектури, щоб отримати добре " +"тестований код, що супроводжується і розширюється. Паттерн Ін'єкція " +"залежностей (DI) і патерн Локатор Служб - це реалізація патерну " +"Інверсія керування (Inversion of Control, IoC)." + +#: ../../More/ServiceLocator/README.rst:16 +msgid "Usage" +msgstr "Використання" + +#: ../../More/ServiceLocator/README.rst:19 +msgid "" +"With ``ServiceLocator`` you can register a service for a given interface. By" +" using the interface you can retrieve the service and use it in the classes " +"of the application without knowing its implementation. You can configure and" +" inject the Service Locator object on bootstrap." +msgstr "" +"З \"Локатором Служб\" ви можете зареєструвати сервіс для певного " +"інтерфейсу. За допомогою інтерфейсу ви можете отримати зареєстрований " +"Сервіс і використовувати його в класах програми, не знаючи його реалізації. Ви " +"можете налаштувати та впровадити об'єкт Service Locator на початковому етапі " +"складання програми." + +#: ../../More/ServiceLocator/README.rst:31 +msgid "UML Diagram" +msgstr "Діаграма UML" + +#: ../../More/ServiceLocator/README.rst:38 +msgid "Code" +msgstr "Код" + +#: ../../More/ServiceLocator/README.rst:41 +msgid "You can also find this code on `GitHub`_" +msgstr "Ви можете знайти цей код на `GitHub`_" + +#: ../../More/ServiceLocator/README.rst:55 +msgid "Test" +msgstr "Тест" diff --git a/locale/uk/LC_MESSAGES/Structural/Adapter/README.po b/locale/uk/LC_MESSAGES/Structural/Adapter/README.po new file mode 100644 index 0000000..cdfc621 --- /dev/null +++ b/locale/uk/LC_MESSAGES/Structural/Adapter/README.po @@ -0,0 +1,69 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-04 12:00+0200\n" +"PO-Revision-Date: 2023-02-04 12:00+0200\n" +"Last-Translator: Petro Ostapuk \n" +"Language-Team: \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.1.1\n" + +#: ../../Structural/Adapter/README.rst:2 +msgid "`Adapter / Wrapper`__" +msgstr "" +"`Адаптер `_ " +"(`Adapter / Wrapper`__)" + +#: ../../Structural/Adapter/README.rst:5 +msgid "Purpose" +msgstr "Призначення" + +#: ../../Structural/Adapter/README.rst:7 +msgid "" +"To translate one interface for a class into a compatible interface. An " +"adapter allows classes to work together that normally could not because of " +"incompatible interfaces by providing its interface to clients while using " +"the original interface." +msgstr "" +"Привести нестандартний або незручний інтерфейс якогось класу в " +"інтерфейс, сумісний з вашим кодом. Адаптер дозволяє класам працювати " +"разом стандартним чином, що зазвичай не виходить через несумісність " +"інтерфейсів, надаючи для цього прошарок з інтерфейсом, зручним для " +"клієнтів, самостійно використовуючи оригінальний інтерфейс." + +#: ../../Structural/Adapter/README.rst:13 +msgid "Examples" +msgstr "Приклади" + +#: ../../Structural/Adapter/README.rst:15 +msgid "DB Client libraries adapter" +msgstr "Адаптер клієнтських бібліотек для роботи з базами даних" + +#: ../../Structural/Adapter/README.rst:16 +msgid "" +"using multiple different webservices and adapters normalize data so that the" +" outcome is the same for all" +msgstr "" +"нормалізувати дані кількох різних веб-сервісів, в однакову " +"структуру, ніби ви працюєте зі стандартним сервісом" + +#: ../../Structural/Adapter/README.rst:20 +msgid "UML Diagram" +msgstr "Діаграма UML" + +#: ../../Structural/Adapter/README.rst:27 +msgid "Code" +msgstr "Код" + +#: ../../Structural/Adapter/README.rst:29 +msgid "You can also find this code on `GitHub`_" +msgstr "Ви можете знайти цей код на `GitHub`_" + +#: ../../Structural/Adapter/README.rst:62 +msgid "Test" +msgstr "Тест" diff --git a/locale/uk/LC_MESSAGES/Structural/Bridge/README.po b/locale/uk/LC_MESSAGES/Structural/Bridge/README.po new file mode 100644 index 0000000..fdb5c10 --- /dev/null +++ b/locale/uk/LC_MESSAGES/Structural/Bridge/README.po @@ -0,0 +1,48 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-04 12:00+0200\n" +"PO-Revision-Date: 2023-02-04 12:00+0200\n" +"Last-Translator: Petro Ostapuk \n" +"Language-Team: \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.1.1\n" + +#: ../../Structural/Bridge/README.rst:2 +msgid "`Bridge`__" +msgstr "" +"`Міст `_ " +"(`Bridge`__)" + +#: ../../Structural/Bridge/README.rst:5 +msgid "Purpose" +msgstr "Призначення" + +#: ../../Structural/Bridge/README.rst:7 +msgid "" +"Decouple an abstraction from its implementation so that the two can vary " +"independently." +msgstr "" +"Відокремити абстракцію від її реалізації, отже вони можуть змінюватися " +"незалежно один від одного." + +#: ../../Structural/Bridge/README.rst:17 +msgid "UML Diagram" +msgstr "Діаграма UML" + +#: ../../Structural/Bridge/README.rst:24 +msgid "Code" +msgstr "Код" + +#: ../../Structural/Bridge/README.rst:26 +msgid "You can also find this code on `GitHub`_" +msgstr "Ви можете знайти цей код на `GitHub`_" + +#: ../../Structural/Bridge/README.rst:65 +msgid "Test" +msgstr "Тест" diff --git a/locale/uk/LC_MESSAGES/Structural/Composite/README.po b/locale/uk/LC_MESSAGES/Structural/Composite/README.po new file mode 100644 index 0000000..26fb9dd --- /dev/null +++ b/locale/uk/LC_MESSAGES/Structural/Composite/README.po @@ -0,0 +1,60 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-04 12:00+0200\n" +"PO-Revision-Date: 2023-02-04 12:00+0200\n" +"Last-Translator: Petro Ostapuk \n" +"Language-Team: \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.1.1\n" + +#: ../../Structural/Composite/README.rst:2 +msgid "`Composite`__" +msgstr "" +"`Компонувальник `_ (`Composite`__)" + +#: ../../Structural/Composite/README.rst:5 +msgid "Purpose" +msgstr "Призначення" + +#: ../../Structural/Composite/README.rst:7 +msgid "" +"To treat a group of objects the same way as a single instance of the object." +msgstr "" +"Взаємодія з ієрархічною групою об'єктів так само, як і з окремо " +"взятим екземпляром." + +#: ../../Structural/Composite/README.rst:11 +msgid "Examples" +msgstr "Приклади" + +#: ../../Structural/Composite/README.rst:13 +msgid "" +"a form class instance handles all its form elements like a single instance " +"of the form, when ``render()`` is called, it subsequently runs through all " +"its child elements and calls ``render()`` on them" +msgstr "" +"Екземпляр класу Form обробляє всі свої елементи форми, як це " +"один екземпляр. І коли викликається метод ``render()``, він перебирає всі " +"дочірні елементи і викликає їх власний ``render()``." + +#: ../../Structural/Composite/README.rst:20 +msgid "UML Diagram" +msgstr "Діаграма UML" + +#: ../../Structural/Composite/README.rst:27 +msgid "Code" +msgstr "Код" + +#: ../../Structural/Composite/README.rst:29 +msgid "You can also find this code on `GitHub`_" +msgstr "Ви можете знайти цей код на `GitHub`_" + +#: ../../Structural/Composite/README.rst:56 +msgid "Test" +msgstr "Тест" diff --git a/locale/uk/LC_MESSAGES/Structural/DataMapper/README.po b/locale/uk/LC_MESSAGES/Structural/DataMapper/README.po new file mode 100644 index 0000000..6458bc2 --- /dev/null +++ b/locale/uk/LC_MESSAGES/Structural/DataMapper/README.po @@ -0,0 +1,83 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-04 12:00+0200\n" +"PO-Revision-Date: 2023-02-04 12:00+0200\n" +"Last-Translator: Petro Ostapuk \n" +"Language-Team: \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.1.1\n" + +#: ../../Structural/DataMapper/README.rst:2 +msgid "`Data Mapper`__" +msgstr "Перетворювач даних (`Data Mapper`__)" + +#: ../../Structural/DataMapper/README.rst:5 +msgid "Purpose" +msgstr "Призначення" + +#: ../../Structural/DataMapper/README.rst:7 +msgid "" +"A Data Mapper, is a Data Access Layer that performs bidirectional transfer " +"of data between a persistent data store (often a relational database) and an" +" in memory data representation (the domain layer). The goal of the pattern " +"is to keep the in memory representation and the persistent data store " +"independent of each other and the data mapper itself. The layer is composed " +"of one or more mappers (or Data Access Objects), performing the data " +"transfer. Mapper implementations vary in scope. Generic mappers will handle " +"many different domain entity types, dedicated mappers will handle one or a " +"few." +msgstr "" +"Перетворювач Даних - це патерн, який виступає в ролі посередника " +"для двонаправленої передачі між постійним сховищем даних " +"(часто, реляційної бази даних) та подання даних у пам'яті (шар " +"домену, що вже завантажено і використовується для логічної обробки). Мета " +"патерну в тому, щоб тримати подання даних у пам'яті та постійне " +"сховище даних незалежними один від одного і від самого перетворювача " +"даних. Шар складається з одного або більше mapper-а (або об'єктів доступу до " +"даним), відповідальних за передачу даних. Реалізації mapper-ів різняться по " +"призначення. Загальні mapper-и можуть обробляти всілякі типи сутностей " +"доменів, а виділені mapper-и буде обробляти один або кілька " +"конкретних типів." + +#: ../../Structural/DataMapper/README.rst:17 +msgid "" +"The key point of this pattern is, unlike Active Record pattern, the data " +"model follows Single Responsibility Principle." +msgstr "" +"Ключовим моментом цього патерну, на відміну від Активного Запису (Active " +"Records) є те, що модель даних слідує `Принципу єдиної відповідальності " +"`_ SOLID." + +#: ../../Structural/DataMapper/README.rst:21 +msgid "Examples" +msgstr "Приклади" + +#: ../../Structural/DataMapper/README.rst:23 +msgid "" +"DB Object Relational Mapper (ORM) : Doctrine2 uses DAO named as " +"\"EntityRepository\"" +msgstr "" +"DB Object Relational Mapper (ORM): Doctrine2 використовує DAO під назвою " +"\"EntityRepository\"" + +#: ../../Structural/DataMapper/README.rst:27 +msgid "UML Diagram" +msgstr "Діаграма UML" + +#: ../../Structural/DataMapper/README.rst:34 +msgid "Code" +msgstr "Код" + +#: ../../Structural/DataMapper/README.rst:36 +msgid "You can also find this code on `GitHub`_" +msgstr "Ви можете знайти цей код на `GitHub`_" + +#: ../../Structural/DataMapper/README.rst:51 +msgid "Test" +msgstr "Тест" diff --git a/locale/uk/LC_MESSAGES/Structural/Decorator/README.po b/locale/uk/LC_MESSAGES/Structural/Decorator/README.po new file mode 100644 index 0000000..0964420 --- /dev/null +++ b/locale/uk/LC_MESSAGES/Structural/Decorator/README.po @@ -0,0 +1,55 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-04 12:00+0200\n" +"PO-Revision-Date: 2023-02-04 12:00+0200\n" +"Last-Translator: Petro Ostapuk \n" +"Language-Team: \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.1.1\n" + +#: ../../Structural/Decorator/README.rst:2 +msgid "`Decorator`__" +msgstr "" +"`Декоратор `_ (`Decorator`__)" + +#: ../../Structural/Decorator/README.rst:5 +msgid "Purpose" +msgstr "Призначення" + +#: ../../Structural/Decorator/README.rst:7 +msgid "To dynamically add new functionality to class instances." +msgstr "Динамічно додає нову функціональність до екземплярів класів." + +#: ../../Structural/Decorator/README.rst:10 +msgid "Examples" +msgstr "Приклади" + +#: ../../Structural/Decorator/README.rst:13 +msgid "" +"Web Service Layer: Decorators JSON and XML for a REST service (in this case," +" only one of these should be allowed of course)" +msgstr "" +"Web Service Layer: Декоратори JSON та XML для REST сервісів (у цьому випадку, " +"Звичайно, тільки один з них може бути дозволений)." + +#: ../../Structural/Decorator/README.rst:17 +msgid "UML Diagram" +msgstr "Діаграма UML" + +#: ../../Structural/Decorator/README.rst:24 +msgid "Code" +msgstr "Код" + +#: ../../Structural/Decorator/README.rst:26 +msgid "You can also find this code on `GitHub`_" +msgstr "Ви можете знайти цей код на `GitHub`_" + +#: ../../Structural/Decorator/README.rst:59 +msgid "Test" +msgstr "Тест" diff --git a/locale/uk/LC_MESSAGES/Structural/DependencyInjection/README.po b/locale/uk/LC_MESSAGES/Structural/DependencyInjection/README.po new file mode 100644 index 0000000..59e8f30 --- /dev/null +++ b/locale/uk/LC_MESSAGES/Structural/DependencyInjection/README.po @@ -0,0 +1,106 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-04 12:00+0200\n" +"PO-Revision-Date: 2023-02-04 12:00+0200\n" +"Last-Translator: Petro Ostapuk \n" +"Language-Team: \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.1.1\n" + +#: ../../Structural/DependencyInjection/README.rst:2 +msgid "`Dependency Injection`__" +msgstr "" +"`Впровадження залежності `_ (`Dependency Injection`__)" + +#: ../../Structural/DependencyInjection/README.rst:5 +msgid "Purpose" +msgstr "Призначення" + +#: ../../Structural/DependencyInjection/README.rst:7 +msgid "" +"To implement a loosely coupled architecture in order to get better testable," +" maintainable and extendable code." +msgstr "" +"Для реалізації слабозв'язаної архітектури. Щоб отримати більше " +"тестований код, що супроводжується та розширюється." + +#: ../../Structural/DependencyInjection/README.rst:11 +msgid "Usage" +msgstr "Використання" + +#: ../../Structural/DependencyInjection/README.rst:13 +msgid "" +"``DatabaseConfiguration`` gets injected and ``DatabaseConnection`` will get all that it " +"needs from ``$config``. Without DI, the configuration would be created " +"directly in ``DatabaseConnection``, which is not very good for testing and " +"extending it." +msgstr "" +"Об'єкт ``DatabaseConfiguration`` впроваджується в ``DatabaseConnection`` і останній отримує все, " +"що йому необхідно зі змінної ``$config``. Без DI, конфігурація буде " +"створена безпосередньо в ``Connection``, що не дуже добре для " +"тестування та розширення ``Connection``, тому що пов'язує ці класи " +"безпосередньо." + +#: ../../Structural/DependencyInjection/README.rst:18 +msgid "" +"Notice we are following Inversion of control principle in ``Connection`` by " +"asking ``$config`` to implement ``Parameters`` interface. This decouples our" +" components. We don't care where the source of information comes from, we " +"only care that ``$config`` has certain methods to retrieve that information." +" Read more about Inversion of control `here " +"`__." +msgstr "" +"Зверніть увагу, в ``Connection`` ми дотримуємося принципу SOLID `Інверсія " +"управління `_, " +"запитуючи параметр ``$config``, щоб реалізувати інтерфейс " +"``Parameters``. Це відокремлює наші компоненти один від одного. Нас не турбує, " +"з якого джерела надходить ця інформація про конфігурацію, ми дбаємо " +"тільки про те, що ``$config`` повинен мати певні методи, щоб ми " +"могли отримати цю інформацію." + +#: ../../Structural/DependencyInjection/README.rst:26 +msgid "Examples" +msgstr "Приклади" + +#: ../../Structural/DependencyInjection/README.rst:28 +msgid "" +"The Doctrine2 ORM uses dependency injection e.g. for configuration that is " +"injected into a ``Connection`` object. For testing purposes, one can easily " +"create a mock object of the configuration and inject that into the " +"``Connection`` object" +msgstr "" +"The Doctrine2 ORM використовує Впровадження Залежності наприклад для " +"конфігурації, яка впроваджується в об'єкт ``Connection``. Для цілей " +"тестування, можна легко створити мок об'єкта конфігурації та впровадити його " +"в об'єкт ``Connection``, підмінивши оригінальний." + +#: ../../Structural/DependencyInjection/README.rst:32 +msgid "" +"many frameworks already have containers for DI that create " +"objects via a configuration array and inject them where needed (i.e. in " +"Controllers)" +msgstr "" +"У багатьох фреймворках вже є контейнери для DI, які створюють " +"об'єкти через масив з конфігурацією та впроваджують туди, де це потрібно (наприклад у Контролери)." + +#: ../../Structural/DependencyInjection/README.rst:37 +msgid "UML Diagram" +msgstr "Діаграма UML" + +#: ../../Structural/DependencyInjection/README.rst:44 +msgid "Code" +msgstr "Код" + +#: ../../Structural/DependencyInjection/README.rst:46 +msgid "You can also find this code on `GitHub`_" +msgstr "Ви можете знайти цей код на `GitHub`_" + +#: ../../Structural/DependencyInjection/README.rst:73 +msgid "Test" +msgstr "Тест" diff --git a/locale/uk/LC_MESSAGES/Structural/Facade/README.po b/locale/uk/LC_MESSAGES/Structural/Facade/README.po new file mode 100644 index 0000000..35ca9cf --- /dev/null +++ b/locale/uk/LC_MESSAGES/Structural/Facade/README.po @@ -0,0 +1,91 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-04 12:00+0200\n" +"PO-Revision-Date: 2023-02-04 12:00+0200\n" +"Last-Translator: Petro Ostapuk \n" +"Language-Team: \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.1.1\n" + +#: ../../Structural/Facade/README.rst:2 +msgid "`Facade`__" +msgstr "" +"`Фасад `_ " +"(`Facade`__)" + +#: ../../Structural/Facade/README.rst:5 +msgid "Purpose" +msgstr "Призначення" + +#: ../../Structural/Facade/README.rst:7 +msgid "" +"The primary goal of a Facade Pattern is not to avoid you having to read the" +"manual of a complex API. It's only a side-effect. The first goal is to" +"reduce coupling and follow the Law of Demeter." +msgstr "" +"Основна мета патерну Фасад полягає не в тому, щоб завадити вам " +"прочитати інструкцію комплексного API. Це тільки побічний ефект. Головна" +"мета все ж таки полягає у зменшенні зв'язності коду та дотриманні `Закону " +"Деметри `_." + +#: ../../Structural/Facade/README.rst:11 +msgid "" +"A Facade is meant to decouple a client and a sub-system by embedding many " +"(but sometimes just one) interface, and of course to reduce complexity." +msgstr "" +"Фасад призначений для поділу клієнта та підсистеми шляхом впровадження " +"багатьох (але іноді тільки одного) інтерфейсів, і, звичайно, зменшення загальної " +"складності." + +#: ../../Structural/Facade/README.rst:15 +msgid "A facade does not forbid you the access to the sub-system" +msgstr "" +"Фасад не забороняє прямий доступ до підсистеми. Просто він робить його простіше і зрозуміліше." + +#: ../../Structural/Facade/README.rst:16 +msgid "You can (you should) have multiple facades for one sub-system" +msgstr "" +"Ви можете (і вам варто) мати кілька фасадів для однієї підсистеми." + +#: ../../Structural/Facade/README.rst:18 +msgid "" +"That's why a good facade has no ``new`` in it. If there are multiple " +"creations for each method, it is not a Facade, it's a Builder or a " +"[Abstract\\|Static\\|Simple] Factory [Method]." +msgstr "" +"Ось чому хороший фасад не містить створення екземплярів класів (``new``) " +"всередині. Якщо всередині фасаду створюються об'єкти для реалізації кожного методу, " +"це не Фасад, це Будівельник або [Абстрактна\|Статична\\|Проста] " +"Фабрика [або Фабричний Метод]." + +#: ../../Structural/Facade/README.rst:22 +msgid "" +"The best facade has no ``new`` and a constructor with interface-type-hinted " +"parameters. If you need creation of new instances, use a Factory as " +"argument." +msgstr "" +"Кращий фасад не містить ``new`` або конструктора з type-hinted " +"параметрами. Якщо вам необхідно створювати нові екземпляри класів, в " +"такому випадку краще використовувати Фабрику як аргумент." + +#: ../../Structural/Facade/README.rst:27 +msgid "UML Diagram" +msgstr "Діаграма UML" + +#: ../../Structural/Facade/README.rst:34 +msgid "Code" +msgstr "Код" + +#: ../../Structural/Facade/README.rst:36 +msgid "You can also find this code on `GitHub`_" +msgstr "Ви можете знайти цей код на `GitHub`_" + +#: ../../Structural/Facade/README.rst:57 +msgid "Test" +msgstr "Тест" diff --git a/locale/uk/LC_MESSAGES/Structural/FluentInterface/README.po b/locale/uk/LC_MESSAGES/Structural/FluentInterface/README.po new file mode 100644 index 0000000..ef6027f --- /dev/null +++ b/locale/uk/LC_MESSAGES/Structural/FluentInterface/README.po @@ -0,0 +1,61 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-04 12:00+0200\n" +"PO-Revision-Date: 2023-02-04 12:00+0200\n" +"Last-Translator: Petro Ostapuk \n" +"Language-Team: \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.1.1\n" + +#: ../../Structural/FluentInterface/README.rst:2 +msgid "`Fluent Interface`__" +msgstr "" +"`Текучий інтерфейс `_ " +"(`Fluent Interface`__)" + +#: ../../Structural/FluentInterface/README.rst:5 +msgid "Purpose" +msgstr "Призначення" + +#: ../../Structural/FluentInterface/README.rst:7 +msgid "" +"To write code that is easy readable just like sentences in a natural " +"language (like English)." +msgstr "" +"Писати код, який легко читається, як речення у природній мові " +"(на кшталт української чи англійської)." + +#: ../../Structural/FluentInterface/README.rst:11 +msgid "Examples" +msgstr "Приклади" + +#: ../../Structural/FluentInterface/README.rst:13 +msgid "Doctrine2's QueryBuilder works something like that example class below" +msgstr "Doctrine 2 Query Builder працює приблизно так само, як приклад нижче." + +#: ../../Structural/FluentInterface/README.rst:15 +msgid "PHPUnit uses fluent interfaces to build mock objects" +msgstr "" +"PHPUnit використовує текучий інтерфейс, щоб створювати підставні об'єкти." + +#: ../../Structural/FluentInterface/README.rst:19 +msgid "UML Diagram" +msgstr "Діаграма UML" + +#: ../../Structural/FluentInterface/README.rst:26 +msgid "Code" +msgstr "Код" + +#: ../../Structural/FluentInterface/README.rst:28 +msgid "You can also find this code on `GitHub`_" +msgstr "Ви можете знайти цей код на `GitHub`_" + +#: ../../Structural/FluentInterface/README.rst:37 +msgid "Test" +msgstr "Тест" diff --git a/locale/uk/LC_MESSAGES/Structural/Flyweight/README.po b/locale/uk/LC_MESSAGES/Structural/Flyweight/README.po new file mode 100644 index 0000000..6e512b8 --- /dev/null +++ b/locale/uk/LC_MESSAGES/Structural/Flyweight/README.po @@ -0,0 +1,53 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-04 12:00+0200\n" +"PO-Revision-Date: 2023-02-04 12:00+0200\n" +"Last-Translator: Petro Ostapuk \n" +"Language-Team: \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.1.1\n" + +#: ../../Structural/Flyweight/README.rst:2 +msgid "`Flyweight`__" +msgstr "`Легковаговик `_ (`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 this code on `GitHub`_" +msgstr "Ви можете знайти цей код на `GitHub`_" + +#: ../../Structural/Flyweight/README.rst:42 +msgid "Test" +msgstr "Тест" + diff --git a/locale/uk/LC_MESSAGES/Structural/Proxy/README.po b/locale/uk/LC_MESSAGES/Structural/Proxy/README.po new file mode 100644 index 0000000..4ae9054 --- /dev/null +++ b/locale/uk/LC_MESSAGES/Structural/Proxy/README.po @@ -0,0 +1,60 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-04 12:00+0200\n" +"PO-Revision-Date: 2023-02-04 12:00+0200\n" +"Last-Translator: Petro Ostapuk \n" +"Language-Team: \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.1.1\n" + +#: ../../Structural/Proxy/README.rst:2 +msgid "`Proxy`__" +msgstr "" +"`Замісник `_ " +"(`Proxy`__)" + +#: ../../Structural/Proxy/README.rst:5 +msgid "Purpose" +msgstr "Призначення" + +#: ../../Structural/Proxy/README.rst:7 +msgid "To interface to anything that is expensive or impossible to duplicate." +msgstr "" +"Створити інтерфейс взаємодії з будь-яким класом, який важко чи " +"неможливо використовувати в оригінальному вигляді." + +#: ../../Structural/Proxy/README.rst:10 +msgid "Examples" +msgstr "Приклади" + +#: ../../Structural/Proxy/README.rst:12 +msgid "" +"Doctrine2 uses proxies to implement framework magic (e.g. lazy " +"initialization) in them, while the user still works with his own entity " +"classes and will never use nor touch the proxies" +msgstr "" +"Doctrine2 використовує проксі для реалізації магії фреймворку (наприклад, для " +"ледачої ініціалізації), в той час як користувач працює зі своїми " +"власними класами сутностей і ніколи не буде використовувати проксі." + +#: ../../Structural/Proxy/README.rst:17 +msgid "UML Diagram" +msgstr "Діаграма UML" + +#: ../../Structural/Proxy/README.rst:24 +msgid "Code" +msgstr "Код" + +#: ../../Structural/Proxy/README.rst:26 +msgid "You can also find this code on `GitHub`_" +msgstr "Ви можете знайти цей код на `GitHub`_" + +#: ../../Structural/Proxy/README.rst:41 +msgid "Test" +msgstr "Тест" diff --git a/locale/uk/LC_MESSAGES/Structural/README.po b/locale/uk/LC_MESSAGES/Structural/README.po new file mode 100644 index 0000000..3e71d9a --- /dev/null +++ b/locale/uk/LC_MESSAGES/Structural/README.po @@ -0,0 +1,29 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-04 12:00+0200\n" +"PO-Revision-Date: 2023-02-04 12:00+0200\n" +"Last-Translator: Petro Ostapuk \n" +"Language-Team: \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.1.1\n" + +#: ../../Structural/README.rst:2 +msgid "`Structural`__" +msgstr "" +"`Структурні патерни проектування `_ (`Structural`__)" + +#: ../../Structural/README.rst:4 +msgid "" +"In Software Engineering, Structural Design Patterns are Design Patterns that" +" ease the design by identifying a simple way to realize relationships " +"between entities." +msgstr "" +"Під час розробки програмного забезпечення, Структурні патерни проектування " +"спрощують проектування шляхом виявлення простого способу реалізації " +"відносин між суб'єктами." diff --git a/locale/uk/LC_MESSAGES/Structural/Registry/README.po b/locale/uk/LC_MESSAGES/Structural/Registry/README.po new file mode 100644 index 0000000..fb07c53 --- /dev/null +++ b/locale/uk/LC_MESSAGES/Structural/Registry/README.po @@ -0,0 +1,56 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: DesignPatternsPHP 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-04 12:00+0200\n" +"PO-Revision-Date: 2023-02-04 12:00+0200\n" +"Last-Translator: Petro Ostapuk \n" +"Language-Team: \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.1.1\n" + +#: ../../Structural/Registry/README.rst:2 +msgid "`Registry`__" +msgstr "`Registry`__" + +#: ../../Structural/Registry/README.rst:5 +msgid "Purpose" +msgstr "Призначення" + +#: ../../Structural/Registry/README.rst:7 +msgid "" +"To implement a central storage for objects often used throughout the " +"application, is typically implemented using an abstract class with only " +"static methods (or using the Singleton pattern). Remember that this " +"introduces global state, which should be avoided at all times! Instead " +"implement it using Dependency Injection!" +msgstr "" +"Для реалізації централізованого зберігання об'єктів, що часто використовуються " +"у всьому додатку, як правило, реалізується за допомогою абстрактного " +"класу тільки зі статичними методами (або за допомогою шаблону Singleton). " +"Пам'ятайте, що це вводить глобальний стан, якого слід уникати. " +"Використовуйте Dependency Injection замість Registry." + +#: ../../Structural/Registry/README.rst:12 +msgid "Examples" +msgstr "Приклади" + +#: ../../Structural/Registry/README.rst:20 +msgid "UML Diagram" +msgstr "Діаграма UML" + +#: ../../Structural/Registry/README.rst:27 +msgid "Code" +msgstr "Код" + +#: ../../Structural/Registry/README.rst:29 +msgid "You can also find this code on `GitHub`_" +msgstr "Ви можете знайти цей код на `GitHub`_" + +#: ../../Structural/Registry/README.rst:38 +msgid "Test" +msgstr "Тест" From ea77d134bad76c2a8ae3da0a5b24d57a4d142acd Mon Sep 17 00:00:00 2001 From: Petro Ostapuk Date: Thu, 9 Feb 2023 18:40:08 +0200 Subject: [PATCH 4/8] Fixed name for the Builder --- locale/uk/LC_MESSAGES/Creational/Builder/README.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/locale/uk/LC_MESSAGES/Creational/Builder/README.po b/locale/uk/LC_MESSAGES/Creational/Builder/README.po index c94433d..0a32020 100644 --- a/locale/uk/LC_MESSAGES/Creational/Builder/README.po +++ b/locale/uk/LC_MESSAGES/Creational/Builder/README.po @@ -16,7 +16,7 @@ msgstr "" #: ../../Creational/Builder/README.rst:2 msgid "`Builder`__" msgstr "" -"`Будівник `_ (`Builder`__)" +"`Будівельник `_ (`Builder`__)" #: ../../Creational/Builder/README.rst:5 msgid "Purpose" From 5f022e4f8c5751da50a4b27b30746862736b301a Mon Sep 17 00:00:00 2001 From: Borislav Sabev Date: Mon, 24 Apr 2023 09:19:08 +0300 Subject: [PATCH 5/8] Update designpatternsphp.yml --- .github/workflows/designpatternsphp.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/designpatternsphp.yml b/.github/workflows/designpatternsphp.yml index 23a7896..c9f5af5 100644 --- a/.github/workflows/designpatternsphp.yml +++ b/.github/workflows/designpatternsphp.yml @@ -7,7 +7,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: build the stack run: docker-compose build From 9a5208c4f806175cf7279a0f64d1389c5e79ede5 Mon Sep 17 00:00:00 2001 From: Kozhumyaka Yaroslav Date: Tue, 25 Apr 2023 17:06:40 +0300 Subject: [PATCH 6/8] [f] compatible with Iterator --- Behavioral/Iterator/BookList.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Behavioral/Iterator/BookList.php b/Behavioral/Iterator/BookList.php index 7726e99..1391b41 100644 --- a/Behavioral/Iterator/BookList.php +++ b/Behavioral/Iterator/BookList.php @@ -46,12 +46,12 @@ class BookList implements Countable, Iterator return $this->currentIndex; } - public function next() + public function next(): void { $this->currentIndex++; } - public function rewind() + public function rewind(): void { $this->currentIndex = 0; } From 4af130b13ffdf55143171db4764888fceecf87a6 Mon Sep 17 00:00:00 2001 From: Sepehr <87861266+sepsoh@users.noreply.github.com> Date: Thu, 11 May 2023 15:30:37 +0330 Subject: [PATCH 7/8] Update README.rst add some examples --- Creational/Singleton/README.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Creational/Singleton/README.rst b/Creational/Singleton/README.rst index c98da81..1e4fb1d 100644 --- a/Creational/Singleton/README.rst +++ b/Creational/Singleton/README.rst @@ -15,6 +15,8 @@ Examples - DB Connector - Logger +- Config Manager +- Threads Handling - Lock file for the application (there is only one in the filesystem ...) From e974b142d10d03ea3f49d19f7a035b4a37c5b426 Mon Sep 17 00:00:00 2001 From: borislavsabev Date: Tue, 19 Sep 2023 10:50:07 +0300 Subject: [PATCH 8/8] Update README.md to reflect the situation with the readthedocs build --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 1895481..7fe5859 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,9 @@ # DesignPatternsPHP [![Build Status](https://github.com/domnikl/DesignPatternsPHP/workflows/CI/badge.svg)](https://github.com/domnikl/DesignPatternsPHP/actions) -[![Donate](https://img.shields.io/badge/donate-paypal-blue.svg?style=flat-square)](https://paypal.me/DominikLiebler) + +Note from the maintainers: +> The project's ReadTheDocs pages is currently down and are being reconfigured. We're sorry for any inconvenience please read through the repository directly on github. [Read the Docs of DesignPatternsPHP](http://designpatternsphp.readthedocs.org) or [Download as PDF/Epub](https://readthedocs.org/projects/designpatternsphp/downloads/)