diff --git a/proto/items/items.proto b/proto/items/items.proto index a8cc3c8d8009b8a07d600558c8a13157561407ab..15b86c64d4f8e41e16069f7283374d112a60d33b 100644 --- a/proto/items/items.proto +++ b/proto/items/items.proto @@ -87,13 +87,13 @@ message Item { // Для удаления переводов реализована следующая логика: // - {"lang":nil|{}} - СЃР±СЂРѕСЃ перевода для языка // - {"lang":map{...}} - установка перевода для языка - // - {"lang":map{...}, "*":nil} - установка перевода для языка, СЃР±СЂРѕСЃ остальных переводов + // - {"lang":map{...}, "*":nil} - установка перевода для языка (РѕРґРЅРѕРіРѕ или нескольких), СЃР±СЂРѕСЃ остальных переводов // - {"*":nil} - СЃР±СЂРѕСЃ всех переводов map<string, google.protobuf.Struct> translations = 12; // РЎРїРёСЃРѕРє идентификаторов локалей, для которых есть переводы - // Соотвествует СЃРїРёСЃРєСѓ переводов РІ translations, РїСЂРё получении записи всегда возвращается - // полный СЃРїРёСЃРѕРє. Невозможно обновить вручную: формируется системой + // Соответствует СЃРїРёСЃРєСѓ переводов РІ translations, РїСЂРё получении записи всегда возвращается + // полный СЃРїРёСЃРѕРє. Невозможно обновить вручную, формируется системой repeated string translations_ids = 101; } @@ -152,7 +152,12 @@ message FindOptions { bool regular = 4; bool hidden = 5; bool templates = 6; - string locale_id = 7; // Язык перевода который будет использоваться. Если РЅРµ указан, то возвращаются данные для языка РїРѕ умолчанию + + // Язык перевода, для которого РЅСѓР¶РЅРѕ выполнить запрос. РџРѕ умолчанию если перевод для запрашиваемого + // поля РЅРµ существует, то РїРѕРёСЃРє РїСЂРѕС…РѕРґРёС‚ РїРѕ fallback-языку (если указан Рё существует) или РїРѕ основным данным. + // + // Если РЅРµ указан, то возвращаются данные для языка РїРѕ умолчанию + string locale_id = 7; // РЎРїРёСЃРѕРє идентификаторов переводов/локалей, которых должны быть включены РІ результат // Р’РѕР·РјРѕР¶РЅРѕ указание '*' для получения всех переводов diff --git a/proto/locales/locales.proto b/proto/locales/locales.proto index a2aa0e232fcacd4ba92ec14f90ce23ea8d0a2d48..883243be44a51e26ffc39db1646fdfa65d983a94 100644 --- a/proto/locales/locales.proto +++ b/proto/locales/locales.proto @@ -6,15 +6,33 @@ option go_package = "git.perx.ru/perxis/perxis-go/proto/locales;locales"; package content.locales; +// Locale содержит информацию Рё настройки для языка message Locale { - string id = 1; // Рдентификатор локали, генерируется автоматически. Для локали РїРѕ умолчанию устанавливается как "default". - string space_id = 2; // Рдентификатор пространства. - string name = 3; // Название локали. Опционально, заполняется автоматически (Пример: russian, english) - string native_name = 4; // Название локали РЅР° языке локали. Опционально, заполняется автоматически (Пример: Р СѓСЃСЃРєРёР№, English) - string code = 5; // РљРѕРґ локали https://en.wikipedia.org/wiki/IETF_language_tag - string fallback = 6; // Рдентификатор локали, который будет использоваться РїСЂРё отсутствии перевода + // Рдентификатор локали, генерируется автоматически. + // + // Р’ пространстве всегда существует РѕРґРЅР° локаль РїРѕ умолчанию, для нее идентификатор устанавливается `default`. + // `default`-локаль содержит настройки основных данных записи. Ее нельзя удалить, сделать `no_publish` или `disabled` + // Рё для нее нельзя установить `fallback`-локаль. + string id = 1; + + // Рдентификатор пространства локали. + string space_id = 2; + + // Название локали. Опционально: заполняется автоматически, если РЅРµ было передано (Пример: russian, english) + string name = 3; + + // Название локали РЅР° языке локали. Опционально, заполняется автоматически (Пример: Р СѓСЃСЃРєРёР№, English) + string native_name = 4; + + // РљРѕРґ локали https://en.wikipedia.org/wiki/IETF_language_tag. РќРµ является уникальным + string code = 5; + + // Рдентификатор локали, который будет использоваться РїСЂРё отсутствии перевода. Допускаются цепочки, РЅРѕ РїСЂРё + // получении перевода Р±СѓРґСѓС‚ использованы только данные РѕСЃРЅРѕРІРЅРѕР№, fallback Рё запрошенной локали. РќРµ допускается + // кольцевая зависимость локалей. + string fallback = 6; string direction = 7; // Направление РїРёСЃСЊРјР° - слева направо (ltr) или справа налево (rtl). РџРѕ умолчанию устанавливается ltr. - int64 weight = 8; // Вес локали. + int64 weight = 8; // Вес локали. Чем больше, тем РЅРёР¶Рµ приоритет bool no_publish = 100; // РќРµ публиковать контент данной локали. РќРµ будет доступен контент через Delivery API. (РєСЂРѕРјРµ default) bool disabled = 101; // Запретить использование локали. Нельзя создавать Рё редактировать контент для данной локали (РєСЂРѕРјРµ default) @@ -51,7 +69,8 @@ service Locales { // Обновить локаль rpc Update(UpdateRequest) returns(google.protobuf.Empty) {} - // Получить СЃРїРёСЃРѕРє локалей + // Получить СЃРїРёСЃРѕРє локалей. Р’ пространстве всегда есть РѕРґРЅР° локаль РїРѕ умолчанию. + // Результат возвращается СЃ сортировкой РїРѕ [ weight, name ] rpc List(ListRequest) returns(ListResponse) {} // Удалить локаль