2023-11-17 20:51:13 +03:00
/ * *
* Module : Text descriptors for UI and model elements .
2023-12-28 14:04:44 +03:00
*
2023-11-17 20:51:13 +03:00
* Label is a short text used to represent an entity .
* Description is a long description used in tooltips .
* /
2025-02-11 20:56:24 +03:00
import { AccessPolicy , LibraryItemType } from '@/features/library/models/library' ;
2025-02-10 01:32:55 +03:00
import { UserRole } from '@/features/users/models/user' ;
2024-08-26 17:25:07 +03:00
2023-12-16 19:20:26 +03:00
/ * *
2025-01-15 23:03:35 +03:00
* Retrieves label for { @link UserRole } .
2023-12-16 19:20:26 +03:00
* /
2025-01-15 23:03:35 +03:00
export function labelAccessMode ( mode : UserRole ) : string {
2023-12-28 14:04:44 +03:00
// prettier-ignore
2023-12-16 19:20:26 +03:00
switch ( mode ) {
2025-01-15 23:03:35 +03:00
case UserRole.READER : return 'Читатель' ;
case UserRole.EDITOR : return 'Редактор' ;
case UserRole.OWNER : return 'Владелец' ;
case UserRole.ADMIN : return 'Администратор' ;
2023-12-16 19:20:26 +03:00
}
}
/ * *
2025-01-15 23:03:35 +03:00
* Retrieves description for { @link UserRole } .
2023-12-16 19:20:26 +03:00
* /
2025-01-15 23:03:35 +03:00
export function describeAccessMode ( mode : UserRole ) : string {
2023-12-28 14:04:44 +03:00
// prettier-ignore
2023-12-16 19:20:26 +03:00
switch ( mode ) {
2025-01-15 23:03:35 +03:00
case UserRole . READER :
2023-12-16 19:20:26 +03:00
return 'Режим запрещает редактирование' ;
2025-01-15 23:03:35 +03:00
case UserRole . EDITOR :
2024-05-27 20:42:34 +03:00
return 'Режим редактирования' ;
2025-01-15 23:03:35 +03:00
case UserRole . OWNER :
2024-05-27 20:42:34 +03:00
return 'Режим владельца' ;
2025-01-15 23:03:35 +03:00
case UserRole . ADMIN :
2024-05-27 20:42:34 +03:00
return 'Режим администратора' ;
2023-12-16 19:20:26 +03:00
}
}
2024-03-09 16:40:10 +03:00
2024-06-02 23:41:46 +03:00
/ * *
* Retrieves label for { @link AccessPolicy } .
* /
export function labelAccessPolicy ( policy : AccessPolicy ) : string {
// prettier-ignore
switch ( policy ) {
case AccessPolicy.PRIVATE : return 'Личный' ;
case AccessPolicy.PROTECTED : return 'Защищенный' ;
case AccessPolicy.PUBLIC : return 'Открытый' ;
}
}
/ * *
* Retrieves description for { @link AccessPolicy } .
* /
export function describeAccessPolicy ( policy : AccessPolicy ) : string {
// prettier-ignore
switch ( policy ) {
case AccessPolicy . PRIVATE :
return 'Доступ только для владельца' ;
case AccessPolicy . PROTECTED :
return 'Доступ для владельца и редакторов' ;
case AccessPolicy . PUBLIC :
return 'Открытый доступ' ;
}
}
2024-06-03 17:38:30 +03:00
/ * *
* Retrieves label for { @link LibraryItemType } .
* /
export function labelLibraryItemType ( itemType : LibraryItemType ) : string {
// prettier-ignore
switch ( itemType ) {
case LibraryItemType.RSFORM : return 'К С ' ;
case LibraryItemType.OSS : return 'О С С ' ;
}
}
/ * *
* Retrieves description for { @link LibraryItemType } .
* /
export function describeLibraryItemType ( itemType : LibraryItemType ) : string {
// prettier-ignore
switch ( itemType ) {
case LibraryItemType.RSFORM : return 'Концептуальная схема' ;
case LibraryItemType.OSS : return 'Операционная схема синтеза' ;
}
}
2024-03-09 16:40:10 +03:00
/ * *
2024-06-06 23:11:53 +03:00
* UI info descriptors .
* /
export const information = {
changesSaved : 'Изменения сохранены' ,
2024-06-20 21:11:40 +03:00
pathReady : 'Путь скопирован' ,
2024-06-06 23:11:53 +03:00
substituteSingle : 'Отождествление завершено' ,
reorderComplete : 'Упорядочение завершено' ,
reindexComplete : 'Имена конституент обновлены' ,
moveComplete : 'Перемещение завершено' ,
linkReady : 'Ссылка скопирована' ,
versionRestored : 'Загрузка версии завершена' ,
2024-08-21 16:49:17 +03:00
locationRenamed : 'Ваши схемы перемещены' ,
2024-06-06 23:11:53 +03:00
cloneComplete : ( alias : string ) = > ` Копия создана: ${ alias } ` ,
2024-08-22 22:41:41 +03:00
noDataToExport : 'Нет данных для экспорта' ,
2024-08-26 17:25:07 +03:00
substitutionsCorrect : 'Таблица отождествлений прошла проверку' ,
2025-01-28 19:47:24 +03:00
uploadSuccess : 'Схема загружена из файла' ,
inlineSynthesisComplete : 'Встраивание завершено' ,
2024-06-06 23:11:53 +03:00
newLibraryItem : 'Схема успешно создана' ,
2025-01-27 15:03:48 +03:00
addedConstituents : ( count : number ) = > ` Добавлены конституенты: ${ count } ` ,
newUser : ( username : string ) = > ` Пользователь успешно создан: ${ username } ` ,
2024-06-06 23:11:53 +03:00
newVersion : ( version : string ) = > ` Версия создана: ${ version } ` ,
2024-07-21 15:19:57 +03:00
newConstituent : ( alias : string ) = > ` Конституента добавлена: ${ alias } ` ,
newOperation : ( alias : string ) = > ` Операция добавлена: ${ alias } ` ,
2024-06-06 23:11:53 +03:00
versionDestroyed : 'Версия удалена' ,
itemDestroyed : 'Схема удалена' ,
2024-07-23 23:04:21 +03:00
operationDestroyed : 'Операция удалена' ,
2024-07-29 23:15:03 +03:00
operationExecuted : 'Операция выполнена' ,
allOperationExecuted : 'В с е операции выполнены' ,
2025-01-28 19:47:24 +03:00
constituentsDestroyed : ( count : number ) = > ` Конституенты удалены: ${ count } `
2024-06-06 23:11:53 +03:00
} ;
/ * *
* UI error descriptors .
* /
export const errors = {
astFailed : 'Невозможно построить дерево разбора' ,
2024-11-14 22:10:29 +03:00
typeStructureFailed : 'Структура отсутствует' ,
2024-07-24 18:11:39 +03:00
passwordsMismatch : 'Пароли не совпадают' ,
2025-02-03 18:17:44 +03:00
passwordsSame : 'Пароль совпадает с о старым' ,
2024-07-31 18:09:31 +03:00
imageFailed : 'Ошибка при создании изображения' ,
2024-08-01 11:56:21 +03:00
reuseOriginal : 'Повторное использование удаляемой конституенты при отождествлении' ,
2024-08-17 22:31:24 +03:00
substituteInherited : 'Нельзя удалять наследованные конституенты при отождествлении' ,
2025-02-03 13:14:39 +03:00
inputAlreadyExists : 'Концептуальная схема с таким именем уже существует' ,
2025-02-03 18:17:44 +03:00
requiredField : 'Обязательное поле' ,
2025-02-03 13:14:39 +03:00
emailField : 'Введите корректный адрес электронной почты' ,
rulesNotAccepted : 'Примите условия пользования Порталом' ,
privacyNotAccepted : 'Примите политику обработки персональных данных' ,
2025-02-04 23:34:02 +03:00
loginFormat : 'Имя пользователя должно содержать только буквы и цифры' ,
2025-02-06 20:28:23 +03:00
invalidLocation : 'Некорректный формат пути' ,
versionTaken : 'Версия с таким шифром уже существует'
2024-06-06 23:11:53 +03:00
} ;
/ * *
* UI tooltip descriptors .
2024-03-09 16:40:10 +03:00
* /
2024-06-06 23:11:53 +03:00
export const tooltips = {
2024-06-18 15:07:41 +03:00
unsaved : 'Сохраните или отмените изменения' ,
shareItem : ( policy? : AccessPolicy ) = >
policy === AccessPolicy . PUBLIC ? 'Поделиться схемой' : 'Поделиться можно только <br/>открытой схемой'
2024-03-20 19:49:45 +03:00
} ;
2024-06-06 23:11:53 +03:00
/ * *
* UI prompt messages .
* /
export const prompts = {
promptUnsaved : 'Присутствуют несохраненные изменения. Продолжить без их учета?' ,
deleteLibraryItem : 'Вы уверены, что хотите удалить данную схему?' ,
2024-08-23 19:09:31 +03:00
deleteOSS :
'Внимание!!\nУ да ле ние операционной схемы приведет к удалению всех операций и собственных концептуальных схем.\nДа нно е действие нельзя отменить.\nВ ы уверены, что хотите удалить данную О С С ?' ,
2024-06-06 23:11:53 +03:00
generateWordforms : 'Данное действие приведет к перезаписи словоформ при совпадении граммем. Продолжить?' ,
2024-06-21 19:27:36 +03:00
restoreArchive : 'При восстановлении архивной версии актуальная схему будет заменена. Продолжить?' ,
2024-08-30 20:18:21 +03:00
templateUndefined : 'Вы уверены, что хотите создать шаблонную конституенту не фиксируя аргументы?' ,
2024-06-21 19:27:36 +03:00
ownerChange :
'Вы уверены, что хотите изменить владельца? Вы потеряете право управления данной схемой. Данное действие отменить нельзя'
2024-06-06 23:11:53 +03:00
} ;
// ============== INTERNAL LABELS FOR DEVELOPERS TEXT ================
export function contextOutsideScope ( contextName : string , contextState : string ) : string {
2024-12-12 21:58:19 +03:00
return ` ${ contextName } has to be used within < ${ contextState } > ` ;
2024-06-06 23:11:53 +03:00
}