Select Git revision
locales.proto
locales.proto 3.52 KiB
syntax = "proto3";
import "google/protobuf/empty.proto";
option go_package = "git.perx.ru/perxis/perxis-go/proto/locales;locales";
package content.locales;
// Locale содержит информацию и настройки для языка
message Locale {
// Идентификатор локали, генерируется автоматически.
//
// В пространстве всегда существует одна локаль по умолчанию, для нее идентификатор устанавливается `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; // Вес локали. Чем больше, тем ниже приоритет
bool no_publish = 100; // Не публиковать контент данной локали. Не будет доступен контент через Delivery API. (кроме default)
bool disabled = 101; // Запретить использование локали. Нельзя создавать и редактировать контент для данной локали (кроме default)
}
message CreateRequest {
Locale locale = 1;
}
message CreateResponse {
Locale locale = 1;
}
message UpdateRequest {
Locale locale = 1;
}
message ListRequest {
string space_id = 1;
}
message ListResponse {
repeated Locale locales = 1;
}
message DeleteRequest {
string id = 1;
string space_id = 2;
}
service Locales {
// Создать локаль
rpc Create(CreateRequest) returns(CreateResponse) {}
// Обновить локаль
rpc Update(UpdateRequest) returns(google.protobuf.Empty) {}