From 961444b4df54ba05ec3043f100a5096efb3db0f3 Mon Sep 17 00:00:00 2001 From: Fabric Bot <159731069+FabricMCBot@users.noreply.github.com> Date: Fri, 24 Jan 2025 15:36:57 +0000 Subject: [PATCH] New translations codecs.md (Ukrainian) --- translated/uk_ua/develop/codecs.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/translated/uk_ua/develop/codecs.md b/translated/uk_ua/develop/codecs.md index df34c5268..8197fbe95 100644 --- a/translated/uk_ua/develop/codecs.md +++ b/translated/uk_ua/develop/codecs.md @@ -29,8 +29,8 @@ authors: ```java BlockPos pos = new BlockPos(1, 2, 3); -// Serialize the BlockPos to a JsonElement -DataResult<0> result = BlockPos.CODEC.encodeStart(JsonOps.INSTANCE, pos); +// Серіалізація BlockPos до JsonElement +DataResult result= BlockPos.CODEC.encodeStart(JsonOps.INSTANCE, pos); ``` Під час використання кодека значення повертаються у формі `DataResult`. Це обгортка, яка може представляти або успіх чи невдача. Ми можемо використовувати це кількома способами: якщо нам просто потрібно наше серіалізоване значення, `DataResult#result` буде @@ -40,20 +40,20 @@ DataResult<0> result = BlockPos.CODEC.encodeStart(JsonOps.INSTANCE, pos); Тож візьмімо наше серіалізоване значення та перетворимо його назад на `BlockPos`: ```java -// When actually writing a mod, you'll want to properly handle empty Optionals of course +// Під час написання мода ви, звичайно, захочете правильно обробляти порожні Optionals JsonElement json = result.resultOrPartial(LOGGER::error).orElseThrow(); -// Here we have our json value, which should correspond to `[1, 2, 3]`, +// Тут ми маємо наше значення json, яке має відповідати `[1, 2, 3]`, // as that's the format used by the BlockPos codec. LOGGER.info("Serialized BlockPos: {}", json); -// Now we'll deserialize the JsonElement back into a BlockPos -DataResult<0> result = BlockPos.CODEC.parse(JsonOps.INSTANCE, json); +// Тепер ми десеріалізуємо JsonElement назад у BlockPos +DataResult result = BlockPos.CODEC.parse(JsonOps.INSTANCE, json); -// Again, we'll just grab our value from the result +// Знову ж таки, ми просто візьмемо наше значення з результату BlockPos pos = result.resultOrPartial(LOGGER::error).orElseThrow(); -// And we can see that we've successfully serialized and deserialized our BlockPos! +// І ми бачимо, що ми успішно серіалізували і десеріалізували наш BlockPos! LOGGER.info("Deserialized BlockPos: {}", pos); ``` @@ -198,7 +198,7 @@ Codec amountOfFriendsYouHave = Codec.intRange(0, 2); #### Пара {#pair} -`Codec.pair` об’єднує два кодеки, `Codec<0>` і `Codec<1>`, у `Codec>`. Майте на увазі, що він працює належним чином лише з кодеками, які серіалізуються в певне поле, наприклад [перетворені `MapCodec`s](#mapcodec) або [кодеки запису](#merging-codecs-for-record-like-classes). +`Codec.pair` об’єднує два кодеки, `Codec` і `Codec`, у `Codec>`. Майте на увазі, що він працює належним чином лише з кодеками, які серіалізуються в певне поле, наприклад [перетворені `MapCodec`s](#mapcodec) або [кодеки запису](#merging-codecs-for-record-like-classes). Отриманий кодек буде серіалізовано в мапу, що поєднує поля обох використаних кодеків. Наприклад, запустіть цей код: @@ -374,7 +374,7 @@ Codec beanCodec = beanTypeCodec.dispatch("type", Bean::getType, BeanType:: public record ListNode(int value, ListNode next) {} ``` -Ми не можемо створити кодек для цього звичайними засобами, оскільки який кодек ми використаємо для поля `next`? Нам потрібен `Codec<0>`, який ми зараз розробляємо! `Codec#recursive` дозволяє нам досягти цього за допомогою магічної на вигляд лямбди: +Ми не можемо створити кодек для цього звичайними засобами, оскільки який кодек ми використаємо для поля `next`? Нам потрібен `Codec`, який ми зараз розробляємо! `Codec#recursive` дозволяє нам досягти цього за допомогою магічної на вигляд лямбди: ```java Codec codec = Codec.recursive(