Added all translations

This commit is contained in:
Petro Ostapuk 2023-02-04 18:06:19 +02:00
parent b49faa7157
commit c591840105
39 changed files with 2508 additions and 4 deletions

View File

@ -4,7 +4,7 @@ services:
build:
context: .
dockerfile: Dockerfile
args:
args:
language: ${language:-en}
ports:
- "8080:80"
- "8080:80"

View File

@ -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 <petroostapuk@gmail.com>\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 "`Ланцюжок відповідальностей <https://uk.wikipedia.org/wiki/Ланцюжок_відповідальностей>`_ (`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 "Тест"

View File

@ -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 <petroostapuk@gmail.com>\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 "`Команда <https://uk.wikipedia.org/wiki/Команда_(шаблон_проєктування)>`_ (`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 "Тест"

View File

@ -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 <petroostapuk@gmail.com>\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 "`Інтерпретатор <https://uk.wikipedia.org/wiki/Інтерпретатор_(шаблон_проєктування)>`_ (`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 "Тест"

View File

@ -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 <petroostapuk@gmail.com>\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 "`Ітератор <https://uk.wikipedia.org/wiki/Ітератор_(шаблон_проєктування)>`_ (`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 "Тест"

View File

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

View File

@ -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 <petroostapuk@gmail.com>\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 "`Знімок <https://uk.wikipedia.org/wiki/Знімок_(шаблон_проєктування)>`_ (`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 ""
"`Зерно <http://en.wikipedia.org/wiki/Random_seed>`_ генератора псевдовипадкових"
"чисел."
#: ../../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 "
"<http://en.wikipedia.org/wiki/Object-relational_mapping>`_ before saving"
msgstr ""
"Контроль проміжних станів `ORM моделі "
"<http://en.wikipedia.org/wiki/Object-relational_mapping>`_ перед збереженням"
#: ../../Behavioral/Memento/README.rst:46
msgid "UML Diagram"
msgstr "Діаграма UML"
#: ../../Behavioral/Memento/README.rst: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 "Тест"

View File

@ -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 <petroostapuk@gmail.com>\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 <https://uk.wikipedia.org/wiki/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 "Тест"

View File

@ -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 <petroostapuk@gmail.com>\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 "`Спостерігач <https://uk.wikipedia.org/wiki/Спостерігач_(шаблон_проєктування)>`_ (`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 "Тест"

View File

@ -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 <petroostapuk@gmail.com>\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 "`Поведінкові патерни проектування <https://uk.wikipedia.org/wiki/Шаблони_поведінки>`_ (`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 ""
"Поведінкові патерни проектування визначають загальні закономірності зв'язків "
"між об'єктами, що реалізують дані патерни. Дотримання цих шаблонів "
"зменшує зв'язність системи та полегшує комунікацію між об'єктами, що "
"покращує гнучкість програмного продукту."

View File

@ -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 <petroostapuk@gmail.com>\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 "`Специфікація <https://uk.wikipedia.org/wiki/Специфікація_(шаблон_проєктування)>`_ (`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 <https://github.com/K-Phoen/rulerz>`__"
msgstr "`RulerZ <https://github.com/K-Phoen/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 "Тест"

View File

@ -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 <petroostapuk@gmail.com>\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 "`Стан <https://uk.wikipedia.org/wiki/Стан_(шаблон_проєктування)>`_ (`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 "Тест"

View File

@ -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 <petroostapuk@gmail.com>\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 "`Стратегія <https://uk.wikipedia.org/wiki/Стратегія_(шаблон_проєктування)>`_ (`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 "Тест"

View File

@ -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 <petroostapuk@gmail.com>\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 "`Шаблонний Метод <https://uk.wikipedia.org/wiki/Шаблонний_метод_(шаблон_проєктування)>`_ (`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 "Тест"

View File

@ -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 <petroostapuk@gmail.com>\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 "`Відвідувач <https://uk.wikipedia.org/wiki/Відвідувач_(шаблон_проєктування)>`_ (`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 "Тест"

View File

@ -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 <petroostapuk@gmail.com>\n"
"Language-Team: \n"
"Language: uk\n"

View File

@ -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 <petroostapuk@gmail.com>\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 ""
"`Будівник <https://uk.wikipedia.org/wiki/Будівник_(шаблон_проєктування)>`_ (`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 ""
"Примітка: Будівельники можуть мати текучий інтерфейс <https://uk.wikipedia.org/wiki/Fluent_interface>, наприклад, "
"будівельник 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 "Тест"

View File

@ -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 <petroostapuk@gmail.com>\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 ""
"`Фабричний метод <https://uk.wikipedia.org/wiki/Фабричний_метод_(шаблон_проєктування)>`_ (`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 <https://"
"uk.wikipedia.org/wiki/SOLID_(об'єктно-орієнтоване_програмування)>`_."
#: ../../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 "Тест"

View File

@ -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 <petroostapuk@gmail.com>\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 ""
"`Пул об'єктів <https://uk.wikipedia.org/wiki/Пул_об'єктів_(шаблон_проєктування)>`_ (`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 "Тест"

View File

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

View File

@ -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 <petroostapuk@gmail.com>\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 "Тест"

View File

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

View File

@ -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 <petroostapuk@gmail.com>\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 "Тест"

View File

@ -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 <petroostapuk@gmail.com>\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 Entityattributevalue (EAV) pattern in order to implement EAV model "
"with PHP."
msgstr ""
"Паттерн Сутність-Атрибут-Значення використовується для реалізації моделі EAV"
"на PHP"
#: ../../More/EAV/README.rst:7
msgid "Purpose"
msgstr "Призначення"
#: ../../More/EAV/README.rst:9
msgid ""
"The Entityattributevalue (EAV) model is a data model to describe "
"entities where the number of attributes (properties, parameters) that can"
" be used to describe them is potentially vast, but the number that will "
"actually apply to a given entity is relatively modest."
msgstr ""
"Модель Сутність-Атрибут-Значення (EAV) - це модель даних, "
"призначена для опису сутностей, у яких кількість атрибутів "
"(властивостей, параметрів), що характеризують їх, потенційно велика, "
"але та кількість, яка реально буде використовуватися в конкретній "
"сутності, відносно мала."
#: ../../More/EAV/README.rst:15
msgid "Examples"
msgstr "Приклади"
#: ../../More/EAV/README.rst:17
msgid "Check full work example in `example.php`_ file."
msgstr "Дивися повний працездатний приклад у файлі `example.php`_."
#: ../../More/EAV/README.rst:90
msgid "UML Diagram"
msgstr "Діаграма UML"
#: ../../More/EAV/README.rst:97
msgid "Code"
msgstr "Код"
#: ../../More/EAV/README.rst:99
msgid "You can also find this code on `GitHub`_"
msgstr "Ви можете знайти цей код на `GitHub`_"
#: ../../More/EAV/README.rst:102
msgid "Test"
msgstr "Тест"

View File

@ -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 <petroostapuk@gmail.com>\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 "Додатково"

View File

@ -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 <petroostapuk@gmail.com>\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 "Тест"

View File

@ -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 <petroostapuk@gmail.com>\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) "
"<https://uk.wikipedia.org/wiki/Принцип_інверсії_залежностей>`_) "
"з набору принципів `SOLID <https://uk.wikipedia.org/wiki/SOLID>`_. "
"Локатор Служб приховує залежність даного класу замість їхнього спільного "
"використання, як у випадку шаблону Впровадження Залежності (`Dependency "
"Injection <https://uk.wikipedia.org/wiki/Впровадження_залежностей>`_). "
"У разі зміни даних залежностей ми ризикуємо зламати функціонал класів, "
"які їх використовують, унаслідок чого утрудняється підтримка системи."
#: ../../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 "Тест"

View File

@ -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 <petroostapuk@gmail.com>\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 ""
"`Адаптер <https://uk.wikipedia.org/wiki/Адаптер_(шаблон_проєктування)>`_ "
"(`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 "Тест"

View File

@ -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 <petroostapuk@gmail.com>\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 ""
"`Міст <https://uk.wikipedia.org/wiki/Міст_(шаблон_проєктування)>`_ "
"(`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 "Тест"

View File

@ -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 <petroostapuk@gmail.com>\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 ""
"`Компонувальник <https://uk.wikipedia.org/wiki/Компонувальник_(шаблон_проєктування)>`_ (`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 "Тест"

View File

@ -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 <petroostapuk@gmail.com>\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) є те, що модель даних слідує `Принципу єдиної відповідальності "
"<https://uk.wikipedia.org/wiki/Принцип_єдиної_відповідальності>`_ 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 "Тест"

View File

@ -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 <petroostapuk@gmail.com>\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 ""
"`Декоратор <https://uk.wikipedia.org/wiki/Декоратор_(шаблон_проєктування)>`_ (`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 "Тест"

View File

@ -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 <petroostapuk@gmail.com>\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 ""
"`Впровадження залежності <https://uk.wikipedia.org/wiki/Впровадження_залежностей>`_ (`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 "
"<http://en.wikipedia.org/wiki/Inversion_of_control>`__."
msgstr ""
"Зверніть увагу, в ``Connection`` ми дотримуємося принципу SOLID `Інверсія "
"управління <https://uk.wikipedia.org/wiki/Інверсія_управління>`_, "
"запитуючи параметр ``$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 "Тест"

View File

@ -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 <petroostapuk@gmail.com>\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 ""
"`Фасад <https://uk.wikipedia.org/wiki/Фасад_(шаблон_проєктування)>`_ "
"(`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. Це тільки побічний ефект. Головна"
"мета все ж таки полягає у зменшенні зв'язності коду та дотриманні `Закону "
"Деметри <https://uk.wikipedia.org/wiki/Закон_Деметри>`_."
#: ../../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 "Тест"

View File

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

View File

@ -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 <petroostapuk@gmail.com>\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 "`Легковаговик <https://uk.wikipedia.org/wiki/Легковаговик_(шаблон_проєктування)>`_ (`Flyweight`__)"
#: ../../Structural/Flyweight/README.rst:5
msgid "Purpose"
msgstr "Призначення"
#: ../../Structural/Flyweight/README.rst:7
msgid ""
"To minimise memory usage, a Flyweight shares as much as possible memory "
"with similar objects. It is needed when a large amount of objects is used"
" that don't differ much in state. A common practice is to hold state in "
"external data structures and pass them to the flyweight object when "
"needed."
msgstr ""
"Для зменшення використання пам'яті Легковаговик розділяє як можна "
"більше пам'яті між аналогічними об'єктами. Це необхідно, коли "
"використовується велика кількість об'єктів, стан яких не сильно "
"відрізняється. Звичайною практикою є зберігання стану у зовнішніх "
"структурах і передавати їх в об'єкт-легковаговик, коли необхідно."
#: ../../Structural/Flyweight/README.rst:12
msgid "UML Diagram"
msgstr "Діаграма UML"
#: ../../Structural/Flyweight/README.rst:19
msgid "Code"
msgstr "Код"
#: ../../Structural/Flyweight/README.rst:21
msgid "You can also find this code on `GitHub`_"
msgstr "Ви можете знайти цей код на `GitHub`_"
#: ../../Structural/Flyweight/README.rst:42
msgid "Test"
msgstr "Тест"

View File

@ -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 <petroostapuk@gmail.com>\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 ""
"`Замісник <https://uk.wikipedia.org/wiki/Замісник_(шаблон_проєктування)>`_ "
"(`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 "Тест"

View File

@ -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 <petroostapuk@gmail.com>\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 ""
"`Структурні патерни проектування <https://uk.wikipedia.org/wiki/Структурніаблони>`_ (`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 ""
"Під час розробки програмного забезпечення, Структурні патерни проектування "
"спрощують проектування шляхом виявлення простого способу реалізації "
"відносин між суб'єктами."

View File

@ -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 <petroostapuk@gmail.com>\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 "Тест"