From 0dccc66968482204616b71afa81e21ef2d22027d Mon Sep 17 00:00:00 2001
From: "a.petraki" <a.petraki@perx.ru>
Date: Sun, 28 Jul 2024 18:14:32 +0300
Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?=
 =?UTF-8?q?=D0=BD=D0=BE=20=D0=BE=D0=BF=D0=B8=D1=81=D0=B0=D0=BD=D0=B8=D0=B5?=
 =?UTF-8?q?=20=D0=BB=D0=BE=D0=B3=D0=B8=D0=BA=D0=B8=20=D1=83=D0=B4=D0=B0?=
 =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BF=D0=B5=D1=80=D0=B5=D0=B2?=
 =?UTF-8?q?=D0=BE=D0=B4=D0=BE=D0=B2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 proto/items/items.proto | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/proto/items/items.proto b/proto/items/items.proto
index ea19cce..a8cc3c8 100644
--- a/proto/items/items.proto
+++ b/proto/items/items.proto
@@ -82,6 +82,13 @@ message Item {
 
   // Позволяет одновременно установить/получить несколько переводов и производить манипуляции с переводами
   // Ключами является идентификатор локали, значениями - данные переводы
+  // При обновлении не происходит валидация или модификация каждого из переводов в соответствие со схемой,
+  // поэтому обновление через поле `translations` стоит выполнять с аккуратностью
+  // Для удаления переводов реализована следующая логика:
+  // - {"lang":nil|{}} - сброс перевода для языка
+  // - {"lang":map{...}} - установка перевода для языка
+  // - {"lang":map{...}, "*":nil} - установка перевода для языка, сброс остальных переводов
+  // - {"*":nil} - сброс всех переводов
   map<string, google.protobuf.Struct> translations = 12;
 
   // Список идентификаторов локалей, для которых есть переводы
-- 
GitLab