Author: Alex (MammutAlex)
Committer: GitHub (web-flow)
Pusher: saundefined
Date: 2025-11-20T14:02:40+03:00

Commit: 
https://github.com/php/web-php/commit/156487cb70aab9f822399816ec8924d929aeee55
Raw diff: 
https://github.com/php/web-php/commit/156487cb70aab9f822399816ec8924d929aeee55.diff

Add Ukrainian language of PHP 8.5 announcement page (#1632)

Changed paths:
  A  releases/8.5/languages/uk.php
  A  releases/8.5/uk.php
  M  releases/8.5/common.php


Diff:

diff --git a/releases/8.5/common.php b/releases/8.5/common.php
index 737b665e0e..11cd0e0726 100644
--- a/releases/8.5/common.php
+++ b/releases/8.5/common.php
@@ -9,6 +9,7 @@
 const LANGUAGES = [
     'en' => 'English',
     'ru' => 'Русский',
+    'uk' => 'Українська',
     'zh' => '简体中文',
 ];
 
diff --git a/releases/8.5/languages/uk.php b/releases/8.5/languages/uk.php
new file mode 100644
index 0000000000..ad88716816
--- /dev/null
+++ b/releases/8.5/languages/uk.php
@@ -0,0 +1,79 @@
+<?php
+
+return [
+    'common_header' => 'PHP 8.5 — це велике оновлення мови PHP з новими 
можливостями, включно з URI-розширенням, оператором Pipe та підтримкою зміни 
властивостей під час клонування.',
+    'main_title' => 'Розумніший, Швидший, Створений для Майбутнього.',
+    'main_subtitle' => '<p><strong>PHP 8.5 — це велике оновлення мови 
PHP</strong> із новими можливостями, включно з 
<strong>URI-розширенням</strong>, <strong>оператором Pipe</strong> та 
підтримкою <strong>зміни властивостей під час клонування</strong>.</p>',
+
+    'whats_new' => 'Що нового в 8.5',
+    'upgrade_now' => 'Оновитись до PHP 8.5',
+    'old_version' => 'PHP 8.4 та старіші',
+    'badge_new' => 'НОВЕ',
+    'documentation' => 'Документація',
+    'released' => 'Випущено 20 листопада 2025',
+    'key_features' => 'Ключові можливості PHP 8.5',
+    'key_features_description' => '<p><strong>Швидший</strong>, 
<strong>чистіший</strong> і <strong>створений для розробників</strong>.</p>',
+
+    'features_pipe_operator_title' => 'Оператор Pipe',
+    'features_pipe_operator_description' => '<p>Оператор <code>|></code> 
дозволяє зʼєднувати виклики callable-функцій зліва направо, передаючи значення 
послідовно без проміжних змінних.</p>',
+    'features_persistent_curl_share_handles_title' => 'Постійні cURL 
Share-хендли',
+    'features_persistent_curl_share_handles_description' => '<p>Тепер хендли 
можуть зберігатись між запитами PHP, що дозволяє уникнути повторної 
ініціалізації з’єднань із тими самими хостами.</p>',
+    'features_clone_with_title' => 'Clone With',
+    'features_clone_with_description' => '<p>Клонуйте об’єкти та оновлюйте 
властивості новим синтаксисом <code>clone()</code>, що робить патерн "with-er" 
простим навіть для <code>readonly</code> класів.</p>',
+    'features_uri_extension_title' => 'URI-розширення',
+    'features_uri_extension_description' => '<p>PHP 8.5 додає вбудоване 
URI-розширення для парсингу, нормалізації та роботи з URL згідно зі стандартами 
<em>RFC 3986</em> та <em>WHATWG URL</em>.</p>',
+    'features_no_discard_title' => 'Атрибут #[\NoDiscard]',
+    'features_no_discard_description' => '<p>Атрибут 
<code>#[\NoDiscard]</code> попереджає, якщо повернуте значення не використано, 
допомагаючи уникати помилок і підвищуючи безпеку API.</p>',
+    'features_fcc_in_const_expr_title' => 'Замикання та First-Class Callables 
у константних виразах',
+    'features_fcc_in_const_expr_description' => '<p>Статичні замикання та 
first-class callables тепер можна використовувати в константних виразах, 
наприклад у параметрах атрибутів.</p>',
+
+    'pipe_operator_title' => 'Оператор Pipe',
+    'pipe_operator_description' => '<p>Pipe-оператор дає змогу ланцюжити 
виклики функцій без необхідності створювати проміжні змінні. Це дозволяє 
замінити вкладені виклики на ланцюжок, який читається зліва 
направо.</p><p>Більше про історію появи цієї можливості читайте у <a 
href="https://thephp.foundation/blog/2025/07/11/php-85-adds-pipe-operator/"; 
target="_blank" rel="noopener noreferrer">блозі The PHP Foundation</a>.</p>',
+
+    'array_first_last_title' => 'Функції array_first() та array_last()',
+    'array_first_last_description' => '<p>Функції <code>array_first()</code> і 
<code>array_last()</code> повертають відповідно перший або останній елемент 
масиву. Якщо масив порожній — повертають <code>null</code>, що зручно для 
використання разом із оператором <code>??</code>.</p>',
+
+    'clone_with_title' => 'Clone With',
+    'clone_with_description' => '<p>Тепер можна оновлювати властивості під час 
клонування об’єкта, передаючи асоціативний масив у функцію 
<code>clone()</code>. Це природним чином реалізує патерн "with-er" для 
<code>readonly</code> класів.</p>',
+
+    'uri_extension_title' => 'URI-розширення',
+    'uri_extension_description' => '<p>Нове, завжди доступне URI-розширення 
забезпечує API для безпечного розбору та модифікації URI та URL згідно зі 
стандартами RFC 3986 і WHATWG URL.</p><p>Побудовано на основі <a 
href="https://uriparser.github.io/";>uriparser</a> (RFC 3986) та <a 
href="https://lexbor.com/";>Lexbor</a> (WHATWG URL).</p><p>Дізнайтеся більше в 
<a href="https://thephp.foundation/blog/2025/10/10/php-85-uri-extension/"; 
target="_blank" rel="noopener noreferrer">блозі The PHP Foundation</a>.</p>',
+
+    'no_discard_title' => 'Атрибут #[\NoDiscard]',
+    'no_discard_description' => '<p>Додавши атрибут <code>#[\NoDiscard]</code> 
до функції, PHP перевірятиме, чи використано повернуте значення, і видасть 
попередження, якщо ні. Це покращує безпеку API, де повернене значення є 
важливим, але його легко проігнорувати.</p><p>Для явного позначення 
невикористаного значення можна застосувати приведення <code>(void)</code>.</p>',
+
+    'persistent_curl_share_handles_title' => 'Постійні cURL Share-хендли',
+    'persistent_curl_share_handles_description' => '<p>На відміну від 
<code>curl_share_init()</code>, хендли, створені через 
<code>curl_share_init_persistent()</code>, не знищуються наприкінці запиту. 
Якщо знайдено persistent-хендл з такими ж параметрами — він буде повторно 
використаний, що усуває необхідність ініціалізації cURL кожного разу.</p>',
+
+    'fcc_in_const_expr_title' => 'Замикання та First-Class Callables у 
константних виразах',
+    'fcc_in_const_expr_description' => '<p>Статичні замикання та first-class 
callables тепер можна використовувати в константних виразах: у параметрах 
атрибутів, значеннях властивостей і параметрів за замовчуванням та у 
константах.</p>',
+
+    'new_classes_title' => 'Додаткові можливості та покращення',
+    'fatal_error_backtrace' => 'Фатальні помилки (наприклад, перевищення 
максимального часу виконання) тепер містять backtrace.',
+    'const_attribute_target' => 'Атрибути тепер можуть бути націлені на 
константи.',
+    'override_attr_properties' => 'Атрибут {0} тепер можна застосовувати до 
властивостей.',
+    'deprecated_traits_constants' => 'Атрибут {0} тепер можна використовувати 
в трейтах і константах.',
+    'asymmetric_static_properties' => 'Статичні властивості тепер підтримують 
асиметричну видимість.',
+    'final_promoted_properties' => 'Властивості можуть бути позначені як 
<code>final</code> за допомогою promotion у конструкторі.',
+    'closure_getCurrent' => 'Додано метод <code>Closure::getCurrent()</code> 
для спрощення рекурсії в анонімних функціях.',
+    'partitioned_cookies' => '{0} і {1} тепер підтримують ключ "partitioned".',
+    'get_set_error_handler' => 'Доступні нові функції {0} і {1}.',
+    'new_dom_element_methods' => 'Доступні нові методи {0} і {1}.',
+    'grapheme_levenshtein' => 'Додано функцію {0}.',
+    'delayed_target_validation' => 'Новий атрибут {0} дозволяє приглушити 
помилки компіляції від core-та extension-атрибутів, використаних на некоректних 
цільових елементах.',
+
+    'bc_title' => 'Застаріння та несумісності',
+    'bc_backtick_operator' => 'Оператор бектіків як псевдонім для {0} 
оголошено застарілим.',
+    'bc_non_canonical_cast_names' => 'Неканонічні назви приведення 
<code>(boolean)</code>, <code>(integer)</code>, <code>(double)</code> та 
<code>(binary)</code> оголошено застарілими. Використовуйте відповідно 
<code>(bool)</code>, <code>(int)</code>, <code>(float)</code> та 
<code>(string)</code>.',
+    'bc_disable_classes' => 'INI-параметр {0} видалено, оскільки він порушував 
роботу рушія.',
+    'bc_semicolon_after_case' => 'Завершення операторів <code>case</code> 
крапкою з комою замість двокрапки оголошено застарілим.',
+    'bc_null_array_offset' => 'Використання <code>null</code> як індекса 
масиву або у викликах {0} оголошено застарілим. Використовуйте порожній рядок.',
+    'bc_class_alias_names' => 'Більше не можна використовувати "array" та 
"callable" як назви класів-аліасів у {0}.',
+    'bc_sleep_wakeup' => 'Магічні методи {0} і {1} оголошено мʼяко 
застарілими. Натомість слід використовувати {2} і {3}.',
+    'bc_casting_nan' => 'Тепер PHP видає попередження під час приведення {0} 
до інших типів.',
+    'bc_non_array_destructuring' => 'Деструктуризація не-масивних значень 
(окрім <code>null</code>) через {0} або {1} тепер викликає попередження.',
+    'bc_casting_non_int_floats' => 'Тепер видається попередження при 
приведенні float-значень (або рядків, що схожі на float) до <code>int</code>, 
якщо вони не можуть бути коректно представлені.',
+
+    'footer_title' => 'Кращий синтаксис, вища продуктивність і краща 
типобезпечність.',
+    'footer_description' => '<p class="first-paragraph">Повний список змін 
опубліковано у <a href="/ChangeLog-8.php#PHP_8_5" 
target="_blank">ChangeLog</a>.</p><p>Будь ласка, ознайомтеся з <a 
href="/manual/en/migration85.php" target="_blank">посібником з міграції</a> для 
детального переліку нових можливостей і несумісностей.</p>',
+];
diff --git a/releases/8.5/uk.php b/releases/8.5/uk.php
new file mode 100644
index 0000000000..e27f9b677c
--- /dev/null
+++ b/releases/8.5/uk.php
@@ -0,0 +1,5 @@
+<?php
+
+$lang = 'uk';
+
+include_once __DIR__ . '/release.inc';

Reply via email to