Files
Ultradesu 5260c2828b
Checks / test (push) Failing after 2m25s
NEXT
2026-10-07 15:30:31 +01:00

6658 lines
289 KiB
JSON
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"jsm_invalid_coverage_interval": {
"en": "JSM coverage requires valid intervals of at least one millisecond and an unambiguous base start.",
"ru": "Для покрытия JSM нужны интервалы не короче миллисекунды и однозначное начало базовой ротации.",
"fr": "La couverture JSM nécessite des intervalles d’au moins une milliseconde et un début de rotation de base non ambigu."
},
"jsm_coverage_conflict": {
"en": "JSM schedule overrides changed outside Meguri. Publication paused.",
"ru": "Замены в расписании JSM изменились вне Meguri. Публикация приостановлена.",
"fr": "Les remplacements du planning JSM ont changé en dehors de Meguri. Publication suspendue."
},
"jsm_coverage_response_invalid": {
"en": "JSM coverage read-back does not match the requested interval.",
"ru": "Сохранённое покрытие JSM не совпадает с запрошенным интервалом.",
"fr": "La couverture relue depuis JSM ne correspond pas à l’intervalle demandé."
},
"meguri_on_call_together_f7894c": {
"en": "Meguri · On-call together",
"ru": "Meguri · Дежурим вместе",
"fr": "Meguri · L’astreinte en équipe"
},
"demo_data_retention_e272aa": {
"en": "Demo data retention",
"ru": "Хранение демоданных",
"fr": "Conservation des données de démonstration"
},
"demo_temporary_data_8112dd": {
"en": "DEMO · temporary data",
"ru": "ДЕМО · временные данные",
"fr": "DÉMO · données temporaires"
},
"teams_workspaces_332acb": {
"en": "Workspaces: ",
"ru": "Пространства: ",
"fr": "Espaces : "
},
"requests_0e1805": {
"en": " · requests: ",
"ru": " · запросы: ",
"fr": " · demandes : "
},
"visitor_accounts_f4ac15": {
"en": " · visitor accounts: ",
"ru": " · аккаунты посетителей: ",
"fr": " · comptes visiteurs : "
},
"restart_resets_demo_data_examples_refresh_automatica_0082d1": {
"en": "Restart resets demo data. Examples refresh automatically.",
"ru": "Перезапуск очищает демоданные. Примеры обновляются автоматически.",
"fr": "Le redémarrage réinitialise les données. Les exemples sont renouvelés automatiquement."
},
"protected_database_isolated_demo_active_2e4ba8": {
"en": "Protected database — isolated demo active.",
"ru": "База защищена — демо работает отдельно.",
"fr": "Base protégée — démonstration isolée active."
},
"the_configured_database_was_not_verified_as_demo_and_c1a54e": {
"en": "The configured database was not verified as demo and was left untouched. Administrator: review DATABASE_URL and the demo-mode setting.",
"ru": "Указанная база не подтверждена как демонстрационная и не изменялась. Администратору: проверьте DATABASE_URL и настройку деморежима.",
"fr": "La base configurée n’a pas été reconnue comme base de démonstration et reste intacte. Administration : vérifiez DATABASE_URL et le mode démo."
},
"loading_meguri_856b9a": {
"en": "Loading Meguri…",
"ru": "Загрузка Meguri…",
"fr": "Chargement de Meguri…"
},
"dismiss_error_347aaa": {
"en": "Dismiss error",
"ru": "Скрыть ошибку",
"fr": "Fermer l’erreur"
},
"symbol_67fba2": {
"en": "×",
"ru": "×",
"fr": "×"
},
"symbol_4d82f1": {
"en": "◒",
"ru": "◒",
"fr": "◒"
},
"meguri_d160e8": {
"en": "meguri",
"ru": "meguri",
"fr": "meguri"
},
"on_call_in_good_hands_f1cf2d": {
"en": "ON-CALL, IN GOOD HANDS",
"ru": "ДЕЖУРСТВА ПОД КОНТРОЛЕМ",
"fr": "L’ASTREINTE EN BONNES MAINS"
},
"a_clear_rhythm_c58fae": {
"en": "A clear rhythm.",
"ru": "Понятный ритм.",
"fr": "Un rythme clair."
},
"a_shared_responsibility_2c5e48": {
"en": "A shared responsibility.",
"ru": "Общая ответственность.",
"fr": "Une responsabilité partagée."
},
"one_calendar_for_your_team_thoughtful_rotations_simp_52aff3": {
"en": "One calendar for your team. Thoughtful rotations, simple swaps, and a schedule you can trust.",
"ru": "Общий календарь команды. Удобные ротации, простые подмены и надёжное расписание.",
"fr": "Un calendrier commun. Des rotations adaptées, des échanges simples et un planning fiable."
},
"plan_here_stay_in_sync_everywhere_70e528": {
"en": "Plan here. Stay in sync everywhere.",
"ru": "Планируйте здесь. Синхронизируйте везде.",
"fr": "Planifiez ici. Restez synchronisés partout."
},
"your_team_s_home_for_on_call_66a895": {
"en": "YOUR TEAM’S HOME FOR ON-CALL",
"ru": "ДЕЖУРСТВА ВАШЕЙ КОМАНДЫ",
"fr": "LES ASTREINTES DE VOTRE ÉQUIPE"
},
"create_your_account_4046b5": {
"en": "Create your account",
"ru": "Создайте аккаунт",
"fr": "Créez votre compte"
},
"welcome_back_b80783": {
"en": "Welcome back",
"ru": "С возвращением",
"fr": "Bon retour"
},
"make_space_for_a_smoother_handover_44adaf": {
"en": "Make space for a smoother handover.",
"ru": "Передавайте смену без лишних хлопот.",
"fr": "Passez le relais simplement."
},
"username_84c290": {
"en": "Username",
"ru": "Имя пользователя",
"fr": "Identifiant"
},
"display_name_c7874a": {
"en": "Display name",
"ru": "Отображаемое имя",
"fr": "Nom affiché"
},
"password_8be3c9": {
"en": "Password",
"ru": "Пароль",
"fr": "Mot de passe"
},
"create_account_aaf374": {
"en": "Create account",
"ru": "Создать аккаунт",
"fr": "Créer un compte"
},
"sign_in_ada2e9": {
"en": "Sign in",
"ru": "Войти",
"fr": "Se connecter"
},
"already_registered_sign_in_0df05c": {
"en": "Already registered? Sign in",
"ru": "Уже зарегистрированы? Войти",
"fr": "Déjà inscrit ? Se connecter"
},
"new_here_create_an_account_2b2c3f": {
"en": "New here? Create an account",
"ru": "Впервые здесь? Создать аккаунт",
"fr": "Nouveau ? Créer un compte"
},
"try_the_demo_38cfaf": {
"en": "Try the demo",
"ru": "Попробуйте демо",
"fr": "Essayez la démonstration"
},
"alice_522b27": {
"en": "alice",
"ru": "alice",
"fr": "alice"
},
"lead_both_workspaces_variables_rules_ed9a19": {
"en": "Lead · all four workspaces, variables & rules",
"ru": "Тимлид · все четыре пространства, переменные и правила",
"fr": "Responsable · les quatre espaces, variables et règles"
},
"bob_48181a": {
"en": "bob",
"ru": "bob",
"fr": "bob"
},
"engineering_weekly_on_call_swaps_de49e8": {
"en": "Engineering & regions · rotations and swaps",
"ru": "Разработка и регионы · ротации и подмены",
"fr": "Ingénierie et régions · rotations et échanges"
},
"carol_28b92b": {
"en": "carol",
"ru": "carol",
"fr": "carol"
},
"support_daily_shifts_approvals_c9a0d8": {
"en": "Support & commerce · shifts and service tiers",
"ru": "Поддержка и коммерция · смены и уровни обслуживания",
"fr": "Assistance et commerce · rotations et niveaux de service"
},
"password_for_all_2f1a67": {
"en": "Password for all:",
"ru": "Общий пароль:",
"fr": "Mot de passe commun :"
},
"meguri_demo_only_0c7b5d": {
"en": "meguri-demo-only",
"ru": "meguri-demo-only",
"fr": "meguri-demo-only"
},
"workspace_703988": {
"en": "WORKSPACE",
"ru": "ПРОСТРАНСТВО",
"fr": "ESPACE"
},
"team_218887": {
"en": "Workspace",
"ru": "Пространство",
"fr": "Espace"
},
"choose_a_team_1853ee": {
"en": "Choose a workspace",
"ru": "Выберите пространство",
"fr": "Choisissez un espace"
},
"main_navigation_efd197": {
"en": "Main navigation",
"ru": "Основная навигация",
"fr": "Navigation principale"
},
"setup_cdd7bb": {
"en": "Setup",
"ru": "Настройка",
"fr": "Configuration"
},
"symbol_be22a3": {
"en": "⚙",
"ru": "⚙",
"fr": "⚙"
},
"sign_out_dc1649": {
"en": "Sign out",
"ru": "Выйти",
"fr": "Se déconnecter"
},
"choose_team_9c6970": {
"en": "Choose workspace",
"ru": "Выбрать пространство",
"fr": "Choisir un espace"
},
"workspace_4ca0a7": {
"en": "Workspace",
"ru": "Пространство",
"fr": "Espace"
},
"symbol_42099b": {
"en": "/",
"ru": "/",
"fr": "/"
},
"getting_started_76e7a3": {
"en": "Getting started",
"ru": "Начало работы",
"fr": "Premiers pas"
},
"your_time_31bdbf": {
"en": "Your time: ",
"ru": "Ваш часовой пояс: ",
"fr": "Votre fuseau : "
},
"new_workspace_b21b86": {
"en": "New workspace",
"ru": "Новое пространство",
"fr": "Nouvel espace"
},
"your_team_s_next_chapter_starts_here_4e986d": {
"en": "Your team’s next chapter starts here.",
"ru": "Начните планировать дежурства команды.",
"fr": "Organisez les prochaines astreintes de votre équipe."
},
"create_a_workspace_add_a_team_and_give_your_on_call__af9412": {
"en": "Create a workspace, invite colleagues and set up your schedules.",
"ru": "Создайте пространство, пригласите коллег и настройте расписания.",
"fr": "Créez un espace, invitez vos collègues et configurez les plannings."
},
"create_a_workspace_e94c64": {
"en": "Create a workspace",
"ru": "Создать пространство",
"fr": "Créer un espace"
},
"team_setup_504738": {
"en": "WORKSPACE SETUP",
"ru": "НАСТРОЙКИ ПРОСТРАНСТВА",
"fr": "CONFIGURATION DE L’ESPACE"
},
"your_team_303d2a": {
"en": "YOUR WORKSPACE",
"ru": "ВАШЕ ПРОСТРАНСТВО",
"fr": "VOTRE ESPACE"
},
"plan_time_off_33c0fc": {
"en": "Plan time off",
"ru": "Запланировать отсутствие",
"fr": "Planifier une absence"
},
"ask_for_cover_53c1cd": {
"en": "Ask for cover",
"ru": "Попросить подмену",
"fr": "Demander un remplacement"
},
"schedule_is_in_sync_be394a": {
"en": "Schedule is in sync",
"ru": "Расписание синхронизировано",
"fr": "Planning synchronisé"
},
"publication_fe5f07": {
"en": "Publication: ",
"ru": "Публикация: ",
"fr": "Publication : "
},
"local_preview_provider_aca82c": {
"en": "Local preview provider",
"ru": "Локальный предпросмотр",
"fr": "Aperçu local"
},
"jira_service_management_071f90": {
"en": "Jira Service Management",
"ru": "Jira Service Management",
"fr": "Jira Service Management"
},
"sync_now_2b7d93": {
"en": "Sync now",
"ru": "Синхронизировать",
"fr": "Synchroniser"
},
"on_call_now_0ec724": {
"en": "ON CALL NOW ·",
"ru": "СЕЙЧАС ДЕЖУРИТ ·",
"fr": "D’ASTREINTE ·"
},
"no_coverage_252d1f": {
"en": "No coverage",
"ru": "Нет дежурного",
"fr": "Aucune couverture"
},
"until_24bf03": {
"en": "Until ",
"ru": "До ",
"fr": "Jusqu’au "
},
"choose_a_schedule_below_dea8d5": {
"en": "Choose a schedule below",
"ru": "Выберите расписание ниже",
"fr": "Choisissez un planning ci-dessous"
},
"your_next_shift_next_4_weeks_0e4beb": {
"en": "YOUR NEXT SHIFT · NEXT 4 WEEKS",
"ru": "ВАША БЛИЖАЙШАЯ СМЕНА · ЗА 4 НЕДЕЛИ",
"fr": "VOTRE PROCHAINE ASTREINTE · SUR 4 SEMAINES"
},
"no_shifts_in_this_view_e878f4": {
"en": "No shifts in this view",
"ru": "В этом периоде смен нет",
"fr": "Aucune astreinte sur cette période"
},
"enjoy_your_time_off_44297f": {
"en": "Enjoy your time off.",
"ru": "Хорошего отдыха.",
"fr": "Profitez de votre temps libre."
},
"needs_your_reply_9e26e0": {
"en": "Needs your reply",
"ru": "Ждут вашего ответа",
"fr": "Votre réponse est attendue"
},
"all_requests_63246c": {
"en": "All requests →",
"ru": "Все запросы →",
"fr": "Toutes les demandes →"
},
"decline_b59cf9": {
"en": "Decline",
"ru": "Отклонить",
"fr": "Refuser"
},
"accept_bb54db": {
"en": "Accept",
"ru": "Принять",
"fr": "Accepter"
},
"request_5e8425": {
"en": " request",
"ru": " запрос",
"fr": " demande"
},
"waiting_for_a_reply_529d98": {
"en": " waiting for a reply",
"ru": " ждут ответа",
"fr": " en attente de réponse"
},
"view_cf3dbd": {
"en": "View →",
"ru": "Посмотреть →",
"fr": "Voir →"
},
"select_a_day_to_arrange_cover_510f60": {
"en": "Select a day to arrange cover",
"ru": "Выберите день для подмены",
"fr": "Sélectionnez un jour à remplacer"
},
"choose_schedule_33049c": {
"en": "Choose schedule",
"ru": "Выбрать расписание",
"fr": "Choisir un planning"
},
"symbol_00d74e": {
"en": "⌄",
"ru": "⌄",
"fr": "⌄"
},
"search_schedules_235648": {
"en": "Search schedules",
"ru": "Поиск расписаний",
"fr": "Rechercher un planning"
},
"search_schedules_85f641": {
"en": "Search schedules…",
"ru": "Найти расписание…",
"fr": "Rechercher un planning…"
},
"schedule_0a8ada": {
"en": "Schedule",
"ru": "Расписание",
"fr": "Planning"
},
"previous_four_weeks_37f96a": {
"en": "Previous four weeks",
"ru": "Предыдущие четыре недели",
"fr": "Quatre semaines précédentes"
},
"symbol_0dccf9": {
"en": "‹",
"ru": "‹",
"fr": "‹"
},
"today_24345a": {
"en": "Today",
"ru": "Сегодня",
"fr": "Aujourd’hui"
},
"next_four_weeks_08a1b8": {
"en": "Next four weeks",
"ru": "Следующие четыре недели",
"fr": "Quatre semaines suivantes"
},
"symbol_60ecbc": {
"en": "›",
"ru": "›",
"fr": "›"
},
"uncovered_77617b": {
"en": "Uncovered · ",
"ru": "Нет подмены · ",
"fr": "Non couvert · "
},
"off_e362e3": {
"en": " off",
"ru": " отсутствует",
"fr": " absent"
},
"symbol_0380cf": {
"en": "⇄",
"ru": "⇄",
"fr": "⇄"
},
"no_available_replacement_publication_is_blocked_144e92": {
"en": "No available replacement; publication is blocked",
"ru": "Нет доступной подмены; публикация заблокирована",
"fr": "Aucun remplaçant disponible ; publication bloquée"
},
"symbol_0ab831": {
"en": "!",
"ru": "!",
"fr": "!"
},
"times_shown_in_1f96a9": {
"en": "Times shown in",
"ru": "Часовой пояс:",
"fr": "Fuseau horaire :"
},
"approved_change_coverage_needs_attention_fc97bf": {
"en": "⇄ Approved change   ·   ! Coverage needs attention",
"ru": "⇄ Подмена подтверждена   ·   ! Нужен дежурный",
"fr": "⇄ Remplacement confirmé   ·   ! Couverture à vérifier"
},
"your_team_80b301": {
"en": "Members",
"ru": "Участники",
"fr": "Membres"
},
"manage_team_68a698": {
"en": "Manage members →",
"ru": "Управление участниками →",
"fr": "Gérer les membres →"
},
"you_8af56d": {
"en": "you",
"ru": "вы",
"fr": "vous"
},
"replacements_take_effect_after_everyone_involved_con_a63d3a": {
"en": "Replacements take effect after everyone involved confirms.",
"ru": "Подмена применяется после подтверждения всеми участниками.",
"fr": "Le remplacement prend effet après l’accord de tous les participants."
},
"new_request_8a3714": {
"en": "New request",
"ru": "Новый запрос",
"fr": "Nouvelle demande"
},
"nothing_waiting_on_a_handover_1a3b46": {
"en": "Nothing waiting on a handover.",
"ru": "Запросов на подмену пока нет.",
"fr": "Aucune demande en attente."
},
"your_team_s_replacements_and_swaps_will_appear_here_ee9501": {
"en": "Your team’s replacements and swaps will appear here.",
"ru": "Здесь появятся подмены и обмены сменами вашей команды.",
"fr": "Les remplacements et échanges de votre équipe apparaîtront ici."
},
"created_05e8fd": {
"en": "Created ",
"ru": "Создано ",
"fr": "Créé le "
},
"waiting_for_f91441": {
"en": "Waiting for ",
"ru": "Ожидается ответ: ",
"fr": "En attente de "
},
"applied_without_confirmation_f694d2": {
"en": "Applied without confirmation: ",
"ru": "Применено без согласования: ",
"fr": "Appliqué sans validation : "
},
"cancel_request_84837a": {
"en": "Cancel request",
"ru": "Отменить запрос",
"fr": "Annuler la demande"
},
"apply_without_confirmation_f0350d": {
"en": "Apply without confirmation",
"ru": "Применить без согласования",
"fr": "Appliquer sans validation"
},
"rotation_rules_5fc430": {
"en": "Rotation rules",
"ru": "Правила ротации",
"fr": "Règles de rotation"
},
"project_coverage_6d54f7": {
"en": "+ First available",
"ru": "+ Первый доступный",
"fr": "+ Premier disponible"
},
"rotation_b83874": {
"en": "+ Rotation",
"ru": "+ Ротация",
"fr": "+ Rotation"
},
"ordered_rotation_8e0214": {
"en": "ORDERED ROTATION",
"ru": "ПОСЛЕДОВАТЕЛЬНАЯ РОТАЦИЯ",
"fr": "ROTATION ORDONNÉE"
},
"project_coverage_7b1767": {
"en": "First available",
"ru": "Первый доступный",
"fr": "Premier disponible"
},
"every_9dd38c": {
"en": "Every ",
"ru": "Период: ",
"fr": "Tous les "
},
"days_from_490892": {
"en": " days · from ",
"ru": " дн. · с ",
"fr": " jours · depuis le "
},
"at_7df702": {
"en": " at ",
"ru": " в ",
"fr": " à "
},
"a_fixed_recipient_for_a_later_escalation_step_absenc_5e5415": {
"en": "One person, without rotation. Arrange a replacement when they are away.",
"ru": "Один ответственный без ротации. На время отсутствия назначьте подмену.",
"fr": "Une personne, sans rotation. Prévoyez un remplacement pendant ses absences."
},
"if_earlier_owners_are_off_1e3f8c": {
"en": "If earlier owners are off",
"ru": "Если предыдущие отсутствуют",
"fr": "Si les précédents sont absents"
},
"primary_a9a96e": {
"en": "Primary",
"ru": "Основной",
"fr": "Principal"
},
"if_everyone_is_off_e30f82": {
"en": "↓ if everyone is off",
"ru": "↓ если все отсутствуют",
"fr": "↓ si tout le monde est absent"
},
"effective_fallback_1c5666": {
"en": "Effective fallback",
"ru": "Дежурный по резервному расписанию",
"fr": "Relais effectif"
},
"1_356a19": {
"en": "1",
"ru": "1",
"fr": "1"
},
"if_off_in_their_country_or_absent_32eb36": {
"en": "↓ if off in their country or absent",
"ru": "↓ если праздник в стране или отсутствие",
"fr": "↓ en cas d’absence ou de jour férié local"
},
"2_da4b92": {
"en": "2",
"ru": "2",
"fr": "2"
},
"secondary_025de5": {
"en": "Secondary",
"ru": "Второй",
"fr": "Secondaire"
},
"if_both_off_e97563": {
"en": "↓ if both off",
"ru": "↓ если оба отсутствуют",
"fr": "↓ si les deux sont absents"
},
"3_77de68": {
"en": "3",
"ru": "3",
"fr": "3"
},
"edit_530164": {
"en": "Edit",
"ru": "Изменить",
"fr": "Modifier"
},
"edit_source_rule_0d3b78": {
"en": "Edit source rule",
"ru": "Изменить исходное правило",
"fr": "Modifier la règle source"
},
"remove_e96390": {
"en": "Remove",
"ru": "Удалить",
"fr": "Supprimer"
},
"absences_0f9ec2": {
"en": "Absences",
"ru": "Отсутствия",
"fr": "Absences"
},
"absence_0e0616": {
"en": "+ Absence",
"ru": "+ Отсутствие",
"fr": "+ Absence"
},
"no_absences_planned_224ab7": {
"en": "No absences planned.",
"ru": "Отсутствия не запланированы.",
"fr": "Aucune absence prévue."
},
"inclusive_75b495": {
"en": " (inclusive)",
"ru": " (включительно)",
"fr": " (inclus)"
},
"public_holidays_badf9f": {
"en": "Public holidays",
"ru": "Государственные праздники",
"fr": "Jours fériés"
},
"import_csv_eeec98": {
"en": "Import CSV",
"ru": "Импорт CSV",
"fr": "Importer un CSV"
},
"holiday_85f1a0": {
"en": "+ Holiday",
"ru": "+ Праздник",
"fr": "+ Jour férié"
},
"no_holidays_yet_import_dates_for_the_countries_your__c8ed79": {
"en": "No holidays yet. Import dates for the countries your team works in.",
"ru": "Праздников пока нет. Импортируйте даты для стран вашей команды.",
"fr": "Aucun jour férié. Importez les dates pour les pays de votre équipe."
},
"holidays_9db6c2": {
"en": " holidays",
"ru": " праздников",
"fr": " jours fériés"
},
"country_calendar_date_cc65d7": {
"en": " · country calendar date",
"ru": " · дата по календарю страны",
"fr": " · date du calendrier national"
},
"meguri_manages_these_rules_your_connected_provider_s_bc7ae1": {
"en": "Meguri manages these rules. Your connected provider sends notifications and runs escalation timers.",
"ru": "Meguri управляет правилами. Подключённый сервис отправляет уведомления и выполняет эскалации.",
"fr": "Meguri gère ces règles. Le fournisseur connecté envoie les notifications et exécute les escalades."
},
"escalation_policies_ad128e": {
"en": "Escalation policies",
"ru": "Политики эскалации",
"fr": "Politiques d’escalade"
},
"policy_938cc5": {
"en": "+ Policy",
"ru": "+ Политика",
"fr": "+ Politique"
},
"alert_reaches_this_policy_ea3f47": {
"en": "Alert reaches this policy",
"ru": "Алерт поступает в эту политику",
"fr": "L’alerte arrive dans cette politique"
},
"symbol_fc4866": {
"en": "↓",
"ru": "↓",
"fr": "↓"
},
"immediately_21b60a": {
"en": "Immediately",
"ru": "Сразу",
"fr": "Immédiatement"
},
"min_after_alert_8adeb2": {
"en": " min after alert",
"ru": " мин. после алерта",
"fr": " min après l’alerte"
},
"if_unacknowledged_407d03": {
"en": "if unacknowledged",
"ru": "если не подтверждён",
"fr": "si non acquittée"
},
"if_still_open_c34949": {
"en": "if still open",
"ru": "если ещё открыт",
"fr": "si encore ouverte"
},
"repeat_654579": {
"en": "↺ Repeat ",
"ru": "↺ Повторить ",
"fr": "↺ Répéter "
},
"times_wait_e1b163": {
"en": " times · wait ",
"ru": " раз · ожидание ",
"fr": " fois · attente "
},
"min_f4e8a8": {
"en": " min",
"ru": " мин.",
"fr": " min"
},
"end_of_policy_no_repeats_c2ac4f": {
"en": "End of policy · no repeats",
"ru": "Конец политики · без повторов",
"fr": "Fin de la politique · sans répétition"
},
"routing_rules_49ce36": {
"en": "Routing rules",
"ru": "Правила маршрутизации",
"fr": "Règles de routage"
},
"rule_fce5b5": {
"en": "+ Rule",
"ru": "+ Правило",
"fr": "+ Règle"
},
"first_match_wins_drag_a_rule_by_its_handle_or_use_th_ee6dee": {
"en": "Evaluate by numbered priority; the first match wins. Manual rules are grouped above generated rules. Drag or use arrows to change priority.",
"ru": "Проверка идёт по номеру приоритета до первого совпадения. Ручные правила показаны выше сгенерированных. Меняйте приоритет перетаскиванием или стрелками.",
"fr": "Évaluation par numéro de priorité, au premier résultat. Les règles manuelles sont regroupées avant les règles générées. Modifiez la priorité par glisser-déposer ou avec les flèches."
},
"routing_rules_in_evaluation_order_582c46": {
"en": "Routing rules in evaluation order",
"ru": "Правила в порядке проверки",
"fr": "Règles dans l’ordre d’évaluation"
},
"drag_72143a": {
"en": "Drag ",
"ru": "Перетащить ",
"fr": "Faire glisser "
},
"to_reorder_64a607": {
"en": " to reorder",
"ru": " для смены порядка",
"fr": " pour réordonner"
},
"drag_to_reorder_e7541f": {
"en": "Drag to reorder",
"ru": "Перетащите для смены порядка",
"fr": "Faire glisser pour réordonner"
},
"symbol_40b24b": {
"en": "⠿",
"ru": "⠿",
"fr": "⠿"
},
"position_713830": {
"en": "Position ",
"ru": "Позиция ",
"fr": "Position "
},
"move_e402ac": {
"en": "Move ",
"ru": "Переместить ",
"fr": "Déplacer "
},
"up_459409": {
"en": " up",
"ru": " выше",
"fr": " vers le haut"
},
"move_up_b4f57c": {
"en": "Move up",
"ru": "Переместить выше",
"fr": "Monter"
},
"symbol_9555ff": {
"en": "↑",
"ru": "↑",
"fr": "↑"
},
"down_edbf4b": {
"en": " down",
"ru": " ниже",
"fr": " vers le bas"
},
"move_down_260ff8": {
"en": "Move down",
"ru": "Переместить ниже",
"fr": "Descendre"
},
"if_7be63e": {
"en": "IF",
"ru": "ЕСЛИ",
"fr": "SI"
},
"any_alert_4496c3": {
"en": "Any alert",
"ru": "Любой алерт",
"fr": "Toute alerte"
},
"and_c2f934": {
"en": "AND",
"ru": "И",
"fr": "ET"
},
"workspace_working_hours_b8ec6f": {
"en": "◷ Workspace working hours",
"ru": "◷ Рабочее время пространства",
"fr": "◷ Horaires de travail de l’espace"
},
"symbol_213edd": {
"en": "→",
"ru": "→",
"fr": "→"
},
"do_not_notify_1a59a6": {
"en": "Do not notify",
"ru": "Не уведомлять",
"fr": "Ne pas notifier"
},
"no_routing_rules_configured_768f05": {
"en": "No routing rules configured.",
"ru": "Правила маршрутизации не настроены.",
"fr": "Aucune règle de routage configurée."
},
"your_role_does_not_include_access_to_audit_history_bb8e51": {
"en": "Your role does not include access to audit history.",
"ru": "У вашей роли нет доступа к истории действий.",
"fr": "Votre rôle ne permet pas de consulter l’historique d’audit."
},
"team_preferences_440fbe": {
"en": "WORKSPACE PREFERENCES",
"ru": "ПАРАМЕТРЫ ПРОСТРАНСТВА",
"fr": "PRÉFÉRENCES DE L’ESPACE"
},
"workspace_schedule_timezone_954c44": {
"en": "Workspace schedule timezone: ",
"ru": "Часовой пояс расписаний пространства: ",
"fr": "Fuseau des plannings de l’espace : "
},
"planning_horizon_b249cc": {
"en": "Planning horizon: ",
"ru": "Горизонт планирования: ",
"fr": "Horizon de planification : "
},
"days_e72d54": {
"en": " days",
"ru": " дн.",
"fr": " jours"
},
"edit_preferences_4cefcb": {
"en": "Edit preferences",
"ru": "Изменить настройки",
"fr": "Modifier les préférences"
},
"connected_provider_f22440": {
"en": "CONNECTED PROVIDER",
"ru": "ПОДКЛЮЧЁННЫЙ СЕРВИС",
"fr": "FOURNISSEUR CONNECTÉ"
},
"local_preview_8d4a3f": {
"en": "Local preview",
"ru": "Локальный предпросмотр",
"fr": "Aperçu local"
},
"approved_changes_are_published_automatically_a715bf": {
"en": "Approved changes are published automatically.",
"ru": "Подтверждённые изменения публикуются автоматически.",
"fr": "Les modifications approuvées sont publiées automatiquement."
},
"configure_792c81": {
"en": "Configure",
"ru": "Настроить",
"fr": "Configurer"
},
"download_preview_30507d": {
"en": "Download preview",
"ru": "Скачать предпросмотр",
"fr": "Télécharger l’aperçu"
},
"team_access_8fb357": {
"en": "Workspace access",
"ru": "Доступ к пространству",
"fr": "Accès à l’espace"
},
"add_teammate_d6bc5a": {
"en": "+ Add teammate",
"ru": "+ Добавить коллегу",
"fr": "+ Ajouter un collègue"
},
"permissions_607d39": {
"en": " permissions",
"ru": " разрешений",
"fr": " autorisations"
},
"edit_access_e381a8": {
"en": "Edit access",
"ru": "Изменить доступ",
"fr": "Modifier l’accès"
},
"scheduling_directory_e8fdd4": {
"en": "Scheduling directory",
"ru": "Участники расписаний",
"fr": "Annuaire des participants"
},
"country_controls_public_holidays_defaults_to_cyprus_e828a2": {
"en": "Country controls public holidays · defaults to Cyprus",
"ru": "Страна определяет праздники · по умолчанию Кипр",
"fr": "Le pays détermine les jours fériés · Chypre par défaut"
},
"no_email_configured_b309ce": {
"en": "No email configured",
"ru": "Email не указан",
"fr": "Aucune adresse e-mail"
},
"workspace_user_95981a": {
"en": "Workspace user",
"ru": "Пользователь пространства",
"fr": "Utilisateur de l’espace"
},
"email_contact_e9e0b3": {
"en": "Email contact",
"ru": "Контакт по email",
"fr": "Contact par e-mail"
},
"edit_person_d98516": {
"en": "Edit person",
"ru": "Изменить участника",
"fr": "Modifier la personne"
},
"workspace_time_a3e57f": {
"en": "WORKSPACE TIME",
"ru": "ВРЕМЯ ПРОСТРАНСТВА",
"fr": "HORAIRES DE L’ESPACE"
},
"working_interval_schedule_timezone_fc825f": {
"en": "Working interval & schedule timezone",
"ru": "Рабочий интервал и часовой пояс расписаний",
"fr": "Horaires de travail et fuseau des plannings"
},
"shared_by_every_team_rotations_use_this_timezone_wit_e06e20": {
"en": "Schedules use this timezone with their own handover time; routing rules can use this working interval.",
"ru": "Расписания используют этот часовой пояс со своим временем передачи смены; маршруты могут использовать этот рабочий интервал.",
"fr": "Les plannings utilisent ce fuseau avec leur heure de relève ; les règles de routage peuvent utiliser ces horaires."
},
"edit_working_interval_290690": {
"en": "Edit working interval",
"ru": "Изменить рабочий интервал",
"fr": "Modifier les horaires de travail"
},
"workspace_policy_4437ae": {
"en": "WORKSPACE POLICY",
"ru": "ПОЛИТИКА ПРОСТРАНСТВА",
"fr": "POLITIQUE DE L’ESPACE"
},
"changes_made_outside_meguri_98ff25": {
"en": "Changes made outside Meguri",
"ru": "Изменения вне Meguri",
"fr": "Modifications hors de Meguri"
},
"applies_to_every_team_in_this_workspace_and_only_to__909c8c": {
"en": "Applies only to this workspace’s resources managed by Meguri.",
"ru": "Применяется только к ресурсам этого пространства под управлением Meguri.",
"fr": "S’applique uniquement aux ressources de cet espace gérées par Meguri."
},
"when_external_configuration_changes_18f056": {
"en": "When external configuration changes",
"ru": "При изменении внешней конфигурации",
"fr": "Si la configuration externe change"
},
"pause_publication_and_report_a_conflict_default_5b9c4a": {
"en": "Pause publication and report a conflict (default)",
"ru": "Остановить публикацию и сообщить о конфликте (по умолчанию)",
"fr": "Suspendre la publication et signaler le conflit (par défaut)"
},
"overwrite_external_changes_with_meguri_s_state_36db36": {
"en": "Overwrite external changes with Meguri’s state",
"ru": "Перезаписать внешние изменения состоянием Meguri",
"fr": "Écraser les modifications externes avec l’état de Meguri"
},
"meguri_8bdb60": {
"en": "MEGURI",
"ru": "MEGURI",
"fr": "MEGURI"
},
"good_rotations_start_with_a_shared_plan_2e3f86": {
"en": "Good rotations start with a shared plan.",
"ru": "Хорошие дежурства начинаются с общего плана.",
"fr": "De bonnes rotations commencent par un planning commun."
},
"apply_without_approval_d72926": {
"en": "Apply without approval",
"ru": "Применить без согласования",
"fr": "Appliquer sans accord"
},
"who_can_cover_for_you_6e894c": {
"en": "Who can cover for you?",
"ru": "Кто вас подменит?",
"fr": "Qui peut vous remplacer ?"
},
"cover_cc7dd4": {
"en": "Cover ",
"ru": "Подменить: ",
"fr": "Remplacer "
},
"s_shift_9119aa": {
"en": "’s shift",
"ru": "на смене",
"fr": "pendant son astreinte"
},
"choose_a_shift_330348": {
"en": "Choose a shift",
"ru": "Выберите смену",
"fr": "Choisir une astreinte"
},
"workspace_variable_7abc57": {
"en": "Workspace variable",
"ru": "Переменная пространства",
"fr": "Variable de l’espace"
},
"generation_rule_d34ccf": {
"en": "Generation rule",
"ru": "Правило генерации",
"fr": "Règle de génération"
},
"rotation_906fe5": {
"en": "Rotation",
"ru": "Ротация",
"fr": "Rotation"
},
"project_coverage_536388": {
"en": "First available",
"ru": "Первый доступный",
"fr": "Premier disponible"
},
"request_a_change_3d465f": {
"en": "Request a change",
"ru": "Запросить подмену",
"fr": "Demander un changement"
},
"planned_absence_bfcea7": {
"en": "Planned absence",
"ru": "Планируемое отсутствие",
"fr": "Absence prévue"
},
"public_holiday_49ec03": {
"en": "Public holiday",
"ru": "Государственный праздник",
"fr": "Jour férié"
},
"import_public_holidays_8098e3": {
"en": "Import public holidays",
"ru": "Импорт праздников",
"fr": "Importer des jours fériés"
},
"remove_schedule_ef0a8a": {
"en": "Remove schedule",
"ru": "Удалить расписание",
"fr": "Supprimer le planning"
},
"scheduling_person_1273c6": {
"en": "Scheduling person",
"ru": "Участник расписания",
"fr": "Participant au planning"
},
"workspace_working_interval_c7d250": {
"en": "Workspace working interval",
"ru": "Рабочий интервал пространства",
"fr": "Horaires de travail de l’espace"
},
"your_account_4ab291": {
"en": "Your account",
"ru": "Ваш аккаунт",
"fr": "Votre compte"
},
"escalation_policy_bbb0f7": {
"en": "Escalation policy",
"ru": "Политика эскалации",
"fr": "Politique d’escalade"
},
"routing_rule_b00b22": {
"en": "Routing rule",
"ru": "Правило маршрутизации",
"fr": "Règle de routage"
},
"connected_provider_9702c0": {
"en": "Connected provider",
"ru": "Подключённый сервис",
"fr": "Fournisseur connecté"
},
"team_preferences_7fcab5": {
"en": "Workspace preferences",
"ru": "Параметры пространства",
"fr": "Préférences de l’espace"
},
"close_dialog_7b2902": {
"en": "Close dialog",
"ru": "Закрыть окно",
"fr": "Fermer la fenêtre"
},
"choose_a_person_202007": {
"en": "Choose a person",
"ru": "Выберите участника",
"fr": "Choisir une personne"
},
"person_details_0574fe": {
"en": "Person details",
"ru": "Данные участника",
"fr": "Informations de la personne"
},
"back_c32ae9": {
"en": "← Back",
"ru": "← Назад",
"fr": "← Retour"
},
"search_workspace_users_or_enter_email_b3922e": {
"en": "Search workspace users or enter email",
"ru": "Найдите пользователя или введите email",
"fr": "Rechercher un utilisateur ou saisir un e-mail"
},
"name_or_person_example_com_c4e3fd": {
"en": "Name or person@example.com",
"ru": "Имя или person@example.com",
"fr": "Nom ou person@example.com"
},
"user_9f8a23": {
"en": "User",
"ru": "Пользователь",
"fr": "Utilisateur"
},
"contact_b37456": {
"en": "Contact",
"ru": "Контакт",
"fr": "Contact"
},
"no_matching_person_in_this_workspace_dcec7a": {
"en": "No matching person in this workspace.",
"ru": "В этом пространстве никого не найдено.",
"fr": "Aucune personne correspondante dans cet espace."
},
"add_by_email_9368f3": {
"en": "Add by email",
"ru": "Добавить по email",
"fr": "Ajouter par e-mail"
},
"they_do_not_need_a_meguri_account_adding_a_contact_d_15a721": {
"en": "They do not need a Meguri account. Adding a contact does not grant access.",
"ru": "Аккаунт Meguri не требуется. Добавление контакта не даёт доступа.",
"fr": "Aucun compte Meguri n’est nécessaire. Ajouter un contact ne lui donne pas accès."
},
"name_optional_9c9f03": {
"en": "Name (optional)",
"ru": "Имя (необязательно)",
"fr": "Nom (facultatif)"
},
"displayed_in_the_calendar_923a0e": {
"en": "Displayed in the calendar",
"ru": "Отображается в календаре",
"fr": "Affiché dans le calendrier"
},
"country_d523eb": {
"en": "Country",
"ru": "Страна",
"fr": "Pays"
},
"add_e2b431": {
"en": "Add ",
"ru": "Добавить ",
"fr": "Ajouter "
},
"name_709a23": {
"en": "Name",
"ru": "Название",
"fr": "Nom"
},
"email_for_jsm_lookup_193cfb": {
"en": "Email for JSM lookup",
"ru": "Email для поиска в JSM",
"fr": "E-mail pour la recherche JSM"
},
"scheduling_country_393322": {
"en": "Scheduling country",
"ru": "Страна участника",
"fr": "Pays du participant"
},
"use_these_details_775a68": {
"en": "Use these details",
"ru": "Использовать эти данные",
"fr": "Utiliser ces informations"
},
"country_of_work_88453b": {
"en": "Country of work",
"ru": "Страна работы",
"fr": "Pays de travail"
},
"display_timezone_2425c3": {
"en": "Display timezone",
"ru": "Часовой пояс отображения",
"fr": "Fuseau d’affichage"
},
"browser_default_e90df2": {
"en": "Browser default: ",
"ru": "Из браузера: ",
"fr": "Fuseau du navigateur : "
},
"use_browser_timezone_3f54ba": {
"en": "Use browser timezone",
"ru": "Использовать часовой пояс браузера",
"fr": "Utiliser le fuseau du navigateur"
},
"dates_and_timestamps_are_displayed_in_77ec74": {
"en": "Dates and timestamps are displayed in ",
"ru": "Даты и время отображаются в ",
"fr": "Les dates et heures sont affichées dans "
},
"this_never_changes_the_workspace_timezone_or_shifts_1de864": {
"en": ". This never changes the workspace timezone or shifts.",
"ru": ". Это не меняет часовой пояс пространства и смены.",
"fr": ". Cela ne modifie jamais le fuseau de l’espace ni les astreintes."
},
"country_changes_update_your_holiday_calendar_in_team_1e4eb8": {
"en": "Country changes update your holiday calendar in teams. Leave password fields blank to keep your current password.",
"ru": "Смена страны обновляет ваш календарь праздников в командах. Не заполняйте поля пароля, если не хотите его менять.",
"fr": "Changer de pays actualise vos jours fériés dans les équipes. Laissez les champs de mot de passe vides pour le conserver."
},
"current_password_19dff4": {
"en": "Current password",
"ru": "Текущий пароль",
"fr": "Mot de passe actuel"
},
"new_password_d850ee": {
"en": "New password",
"ru": "Новый пароль",
"fr": "Nouveau mot de passe"
},
"an_email_contact_can_be_scheduled_without_logging_in_34d74f": {
"en": "An email contact can be scheduled without logging in. JSM needs an existing Atlassian account with this email or an explicit account ID.",
"ru": "Контакт по email может дежурить без входа. Для JSM нужен аккаунт Atlassian с этим email или явно заданный ID аккаунта.",
"fr": "Un contact peut être planifié sans se connecter. JSM nécessite un compte Atlassian associé à cet e-mail ou un identifiant de compte explicite."
},
"workspace_iana_timezone_bea0e0": {
"en": "Workspace IANA timezone",
"ru": "Часовой пояс пространства (IANA)",
"fr": "Fuseau IANA de l’espace"
},
"mon_24b2a0": {
"en": "Mon",
"ru": "Пн",
"fr": "Lun"
},
"tue_529541": {
"en": "Tue",
"ru": "Вт",
"fr": "Mar"
},
"wed_23408b": {
"en": "Wed",
"ru": "Ср",
"fr": "Mer"
},
"thu_3593cc": {
"en": "Thu",
"ru": "Чт",
"fr": "Jeu"
},
"fri_bbd6e3": {
"en": "Fri",
"ru": "Пт",
"fr": "Ven"
},
"sat_6b782d": {
"en": "Sat",
"ru": "Сб",
"fr": "Sam"
},
"sun_48c98c": {
"en": "Sun",
"ru": "Вс",
"fr": "Dim"
},
"working_day_starts_5418a6": {
"en": "Working day starts",
"ru": "Начало рабочего дня",
"fr": "Début de la journée de travail"
},
"working_day_ends_52d5f6": {
"en": "Working day ends",
"ru": "Конец рабочего дня",
"fr": "Fin de la journée de travail"
},
"this_interval_is_shared_across_the_workspace_the_tim_07e765": {
"en": "This interval is shared across the workspace. The timezone also defines local rotation handovers. Your account timezone affects display only.",
"ru": "Этот интервал общий для пространства. Часовой пояс также определяет передачу смен. Часовой пояс аккаунта влияет только на отображение.",
"fr": "Ces horaires sont communs à l’espace. Le fuseau définit aussi les relèves des rotations. Le fuseau du compte ne concerne que l’affichage."
},
"schedule_name_fb63dc": {
"en": "Schedule name",
"ru": "Название расписания",
"fr": "Nom du planning"
},
"handover_time_c9e315": {
"en": "Handover time",
"ru": "Время передачи смены",
"fr": "Heure de relève"
},
"schedule_time_in_911b55": {
"en": "Schedule time in ",
"ru": "Время расписания: ",
"fr": "Heure du planning : "
},
"each_shift_ends_when_the_next_begins_14ab16": {
"en": " · each shift ends when the next begins",
"ru": " · каждая смена заканчивается в начале следующей",
"fr": " · chaque astreinte se termine au début de la suivante"
},
"anchor_date_e77bd6": {
"en": "Anchor date",
"ru": "Дата начала ротации",
"fr": "Date de départ de la rotation"
},
"dd_mm_yyyy_d7e5fe": {
"en": "DD-MM-YYYY",
"ru": "DD-MM-YYYY",
"fr": "DD-MM-YYYY"
},
"open_calendar_41547e": {
"en": "Open calendar",
"ru": "Открыть календарь",
"fr": "Ouvrir le calendrier"
},
"symbol_21887f": {
"en": "▦",
"ru": "▦",
"fr": "▦"
},
"days_per_shift_83ec07": {
"en": "Days per shift",
"ru": "Дней в смене",
"fr": "Jours par astreinte"
},
"participants_in_rotation_order_4edee0": {
"en": "Participants, in rotation order",
"ru": "Участники по порядку ротации",
"fr": "Participants dans l’ordre de rotation"
},
"edit_participant_details_73e491": {
"en": "Edit participant details",
"ru": "Изменить данные участника",
"fr": "Modifier les informations du participant"
},
"details_dc3dec": {
"en": "Details",
"ru": "Подробности",
"fr": "Détails"
},
"move_earlier_07dd6f": {
"en": "Move earlier",
"ru": "Переместить раньше",
"fr": "Avancer"
},
"move_later_bb4c84": {
"en": "Move later",
"ru": "Переместить позже",
"fr": "Reculer"
},
"remove_participant_131344": {
"en": "Remove participant",
"ru": "Удалить участника",
"fr": "Retirer le participant"
},
"add_participant_name_or_email_5d89ac": {
"en": "+ Add participant · name or email",
"ru": "+ Добавить участника · имя или email",
"fr": "+ Ajouter un participant · nom ou e-mail"
},
"the_first_participant_starts_on_the_anchor_date_at_t_d87af4": {
"en": "The first participant starts on the anchor date at this schedule’s handover time.",
"ru": "Первый участник начинает в дату начала ротации, во время передачи смены.",
"fr": "Le premier participant commence à la date de départ, à l’heure de relève du planning."
},
"choose_a_person_or_enter_email_bcface": {
"en": "Choose a person or enter email",
"ru": "Выберите участника или введите email",
"fr": "Choisir une personne ou saisir un e-mail"
},
"primary_employee_805dff": {
"en": "Primary employee",
"ru": "Первый ответственный",
"fr": "Responsable principal"
},
"secondary_employee_6194c2": {
"en": "Secondary employee",
"ru": "Второй ответственный",
"fr": "Responsable secondaire"
},
"fallback_schedule_7b7a21": {
"en": "Fallback schedule",
"ru": "Резервное расписание",
"fr": "Planning de repli"
},
"choose_a_schedule_0636f3": {
"en": "Choose a schedule",
"ru": "Выберите расписание",
"fr": "Choisir un planning"
},
"when_the_primary_is_absent_or_has_a_public_holiday_i_ba8499": {
"en": "When the primary is absent or has a public holiday in their country, use the secondary. If both are off, use the effective fallback schedule. General rotations continue through holidays.",
"ru": "Если основной ответственный отсутствует или в его стране праздник, дежурит второй. Если отсутствуют оба — дежурный резервного расписания. Общие ротации продолжаются и в праздники.",
"fr": "Si le responsable principal est absent ou en jour férié, le secondaire prend le relais. Si les deux sont absents, le planning de repli s’applique. Les rotations générales continuent les jours fériés."
},
"no_assignment_for_this_day_95a9f7": {
"en": "No assignment for this day.",
"ru": "На этот день дежурный не назначен.",
"fr": "Aucune affectation pour ce jour."
},
"choose_755968": {
"en": "Choose →",
"ru": "Выбрать →",
"fr": "Choisir →"
},
"past_shift_cd54e4": {
"en": "Past shift",
"ru": "Прошедшая смена",
"fr": "Astreinte passée"
},
"from_3f6605": {
"en": "From",
"ru": "С",
"fr": "Du"
},
"now_e3b820": {
"en": "Now",
"ru": "Сейчас",
"fr": "Maintenant"
},
"until_96bdb6": {
"en": "Until",
"ru": "До",
"fr": "Jusqu’au"
},
"you_ll_cover_this_shift_afcf1e": {
"en": "You’ll cover this shift",
"ru": "Вы подмените на этой смене",
"fr": "Vous assurerez cette astreinte"
},
"requested_by_your_colleague_1320db": {
"en": "Requested by your colleague",
"ru": "По запросу коллеги",
"fr": "À la demande de votre collègue"
},
"who_s_covering_926c44": {
"en": "Who’s covering?",
"ru": "Кто подменяет?",
"fr": "Qui remplace ?"
},
"search_colleagues_9c47ad": {
"en": "Search colleagues",
"ru": "Поиск коллег",
"fr": "Rechercher des collègues"
},
"search_by_name_or_email_eedfe2": {
"en": "Search by name or email…",
"ru": "Найти по имени или email…",
"fr": "Rechercher par nom ou e-mail…"
},
"covering_colleague_10b47f": {
"en": "Covering colleague",
"ru": "Подменяющий коллега",
"fr": "Collègue remplaçant"
},
"me_94563e": {
"en": "Me",
"ru": "Я",
"fr": "Moi"
},
"symbol_698a87": {
"en": "✓",
"ru": "✓",
"fr": "✓"
},
"no_matching_teammates_dac71f": {
"en": "No matching teammates.",
"ru": "Коллеги не найдены.",
"fr": "Aucun collègue trouvé."
},
"change_dates_or_swap_days_a3da69": {
"en": "Change dates or swap days",
"ru": "Изменить даты или обменяться днями",
"fr": "Modifier les dates ou échanger des jours"
},
"duty_days_e9fa6d": {
"en": "Duty days · ",
"ru": "Дни дежурства · ",
"fr": "Jours d’astreinte · "
},
"first_day_9820d9": {
"en": "First day",
"ru": "Первый день",
"fr": "Premier jour"
},
"last_day_2a1772": {
"en": "Last day",
"ru": "Последний день",
"fr": "Dernier jour"
},
"i_ll_take_a_shift_in_return_b47888": {
"en": "I’ll take a shift in return",
"ru": "Возьму смену взамен",
"fr": "Je prendrai une astreinte en échange"
},
"return_first_day_93f9a6": {
"en": "Return first day",
"ru": "Первый день ответной смены",
"fr": "Premier jour en échange"
},
"return_last_day_7433cf": {
"en": "Return last day",
"ru": "Последний день ответной смены",
"fr": "Dernier jour en échange"
},
"comment_optional_f28415": {
"en": "Comment (optional)",
"ru": "Комментарий (необязательно)",
"fr": "Commentaire (facultatif)"
},
"e_g_ops_123_vacation_befe39": {
"en": "e.g. OPS-123 · vacation",
"ru": "например, OPS-123 · отпуск",
"fr": "p. ex. OPS-123 · congés"
},
"checking_availability_24f241": {
"en": "Checking availability…",
"ru": "Проверяем доступность…",
"fr": "Vérification de la disponibilité…"
},
"applies_immediately_no_approval_needed_842779": {
"en": "Applies immediately. No approval needed.",
"ru": "Применяется сразу. Согласование не требуется.",
"fr": "Application immédiate. Aucun accord nécessaire."
},
"your_acceptance_completes_this_request_3713f7": {
"en": "Your acceptance completes this request.",
"ru": "Ваше подтверждение завершает запрос.",
"fr": "Votre accord valide cette demande."
},
"will_confirm_in_meguri_a4a9b6": {
"en": " will confirm in Meguri.",
"ru": " подтвердит в Meguri.",
"fr": " confirmera dans Meguri."
},
"applies_immediately_your_action_and_optional_comment_50c159": {
"en": "Applies immediately. Your action and optional comment are recorded in history.",
"ru": "Применяется сразу. Действие и комментарий сохранятся в истории.",
"fr": "Application immédiate. Votre action et votre commentaire éventuel seront enregistrés dans l’historique."
},
"employee_079711": {
"en": "Employee",
"ru": "Сотрудник",
"fr": "Employé"
},
"first_absent_duty_day_b0b47f": {
"en": "First absent duty day",
"ru": "Первый день отсутствия",
"fr": "Premier jour d’absence"
},
"last_absent_duty_day_inclusive_6f2bf4": {
"en": "Last absent duty day (inclusive)",
"ru": "Последний день отсутствия (включительно)",
"fr": "Dernier jour d’absence (inclus)"
},
"dates_are_inclusive_duty_days_in_the_workspace_timez_b377b5": {
"en": "Dates are inclusive duty days in the workspace timezone. Each schedule uses its own handover. Projects automatically use their available secondary, then fallback. Add ranges to cover your rotations in bulk.",
"ru": "Даты включают дежурные дни в часовом поясе команды. Каждое расписание использует своё время передачи смены. Проекты автоматически используют следующего доступного ответственного, затем резервное расписание. Добавьте интервалы для подмен сразу во всех ротациях.",
"fr": "Les dates incluent les jours de garde dans le fuseau de l’espace de travail. Chaque planning utilise sa propre heure de relève. Les projets utilisent automatiquement le responsable suivant disponible, puis le planning de secours. Ajoutez des intervalles pour couvrir vos rotations ensemble."
},
"replacement_ranges_a8d04e": {
"en": "Replacement ranges",
"ru": "Интервалы подмены",
"fr": "Périodes de remplacement"
},
"replacement_range_f216ec": {
"en": "+ Replacement range",
"ru": "+ Интервал подмены",
"fr": "+ Période de remplacement"
},
"no_explicit_substitutes_yet_the_preview_below_shows__07dfef": {
"en": "No explicit substitutes yet. The preview below shows automatic coverage and any uncovered shifts.",
"ru": "Подмены пока не выбраны. Ниже показаны автоматические изменения и смены без дежурного.",
"fr": "Aucun remplaçant choisi. L’aperçu ci-dessous indique la couverture automatique et les astreintes non couvertes."
},
"range_starts_3632e7": {
"en": "Range starts",
"ru": "Начало интервала",
"fr": "Début de la période"
},
"range_ends_inclusive_a1e1bc": {
"en": "Range ends (inclusive)",
"ru": "Конец интервала (включительно)",
"fr": "Fin de la période (incluse)"
},
"replacement_c385e3": {
"en": "Replacement",
"ru": "Подмена",
"fr": "Remplacement"
},
"promote_secondary_automatically_3bee50": {
"en": "Promote secondary automatically",
"ru": "Автоматически назначить следующего ответственного",
"fr": "Passer automatiquement au responsable secondaire"
},
"use_this_replacement_in_affected_projects_too_edf224": {
"en": "Use this replacement in affected projects too",
"ru": "Использовать эту подмену и в затронутых проектах",
"fr": "Utiliser aussi ce remplacement dans les projets concernés"
},
"remove_range_55c658": {
"en": "Remove range",
"ru": "Удалить интервал",
"fr": "Supprimer la période"
},
"apply_replacements_without_confirmation_7c4a2e": {
"en": "Apply replacements without confirmation",
"ru": "Применить подмены без согласования",
"fr": "Appliquer les remplacements sans validation"
},
"vacation_coverage_9d7295": {
"en": "Vacation coverage",
"ru": "Подмена на время отпуска",
"fr": "Remplacement pendant les congés"
},
"schedule_impact_0ae487": {
"en": "Schedule impact",
"ru": "Изменения расписаний",
"fr": "Effet sur les plannings"
},
"checking_affected_schedules_109ed9": {
"en": "Checking affected schedules…",
"ru": "Проверяем затронутые расписания…",
"fr": "Vérification des plannings concernés…"
},
"affected_schedules_c82c00": {
"en": " affected schedules · ",
"ru": " расписаний · ",
"fr": " plannings concernés · "
},
"replacement_requests_c81010": {
"en": " replacement requests · ",
"ru": " запросов на подмену · ",
"fr": " demandes de remplacement · "
},
"uncovered_intervals_b5430f": {
"en": " uncovered intervals",
"ru": " интервалов без дежурного",
"fr": " périodes non couvertes"
},
"no_scheduled_shifts_change_in_this_interval_98915a": {
"en": "No scheduled shifts change in this interval.",
"ru": "В этом интервале смены не изменятся.",
"fr": "Aucune astreinte ne change sur cette période."
},
"schedule_interval_3cf85c": {
"en": "Schedule / interval",
"ru": "Расписание / интервал",
"fr": "Planning / période"
},
"coverage_80e135": {
"en": "Coverage",
"ru": "Дежурство",
"fr": "Couverture"
},
"action_97c89a": {
"en": "Action",
"ru": "Действие",
"fr": "Action"
},
"uncovered_88710a": {
"en": "Uncovered",
"ru": "Нет дежурного",
"fr": "Non couvert"
},
"apply_now_a356cc": {
"en": "Apply now",
"ru": "Применить сейчас",
"fr": "Appliquer maintenant"
},
"needs_confirmation_722b99": {
"en": "Needs confirmation",
"ru": "Нужно подтверждение",
"fr": "Validation requise"
},
"choose_a_substitute_be8f67": {
"en": "Choose a substitute",
"ru": "Выберите подмену",
"fr": "Choisir un remplaçant"
},
"automatic_secondary_fallback_7197c5": {
"en": "Automatic secondary / fallback",
"ru": "Следующий ответственный / резерв автоматически",
"fr": "Secondaire / repli automatique"
},
"show_fewer_intervals_6d52e6": {
"en": "Show fewer intervals",
"ru": "Показать меньше интервалов",
"fr": "Afficher moins de périodes"
},
"show_all_382ebd": {
"en": "Show all ",
"ru": "Показать все ",
"fr": "Tout afficher : "
},
"intervals_d03402": {
"en": " intervals",
"ru": " интервалов",
"fr": " périodes"
},
"absence_takes_effect_when_saved_each_replacement_con_a55d09": {
"en": "Absence takes effect when saved. Only participants with workspace accounts need to approve replacements; contacts do not. Replacements with no required approvals apply immediately.",
"ru": "Отпуск сохраняется сразу. Подтверждение замены требуется только от участников с аккаунтом и доступом к workspace. Контакты без аккаунта не подтверждают; если подтверждения не нужны, замена применяется сразу.",
"fr": "L’absence prend effet à l’enregistrement. Seuls les participants disposant d’un compte et d’un accès approuvent les remplacements ; les contacts n’approuvent pas. Sans approbation requise, le remplacement s’applique immédiatement."
},
"some_shifts_have_no_available_replacement_they_are_s_c20d79": {
"en": "Some shifts have no available replacement. They are shown as uncovered and block publication.",
"ru": "Для некоторых смен нет доступной подмены. Они отмечены как непокрытые и блокируют публикацию.",
"fr": "Certaines astreintes n’ont pas de remplaçant disponible. Elles restent non couvertes et bloquent la publication."
},
"date_in_country_calendar_fbc5e1": {
"en": "Date in country calendar",
"ru": "Дата по календарю страны",
"fr": "Date du calendrier national"
},
"holiday_name_ceba88": {
"en": "Holiday name",
"ru": "Название праздника",
"fr": "Nom du jour férié"
},
"paste_a_csv_with_113f64": {
"en": "Paste a CSV with",
"ru": "Вставьте CSV с заголовками",
"fr": "Collez un CSV avec les en-têtes"
},
"country_date_name_a98540": {
"en": "country,date,name",
"ru": "country,date,name",
"fr": "country,date,name"
},
"headers_use_country_codes_from_the_same_directory_as_abe68d": {
"en": "headers. Use country codes from the same directory as your people, such as",
"ru": ". Используйте коды стран из справочника участников, например",
"fr": ". Utilisez les codes pays de l’annuaire des participants, par exemple"
},
"cy_c44de8": {
"en": "CY",
"ru": "CY",
"fr": "CY"
},
"cyprus_and_834749": {
"en": "(Cyprus) and",
"ru": "(Кипр) и",
"fr": "(Chypre) et"
},
"am_80d305": {
"en": "AM",
"ru": "AM",
"fr": "AM"
},
"armenia_existing_dates_will_never_be_overwritten_5250bb": {
"en": "(Armenia). Existing dates will never be overwritten.",
"ru": "(Армения). Существующие даты не перезаписываются.",
"fr": "(Arménie). Les dates existantes ne seront jamais écrasées."
},
"country_codes_csv_example_b6cb8a": {
"en": "Country codes & CSV example",
"ru": "Коды стран и пример CSV",
"fr": "Codes pays et exemple CSV"
},
"find_a_country_bec93b": {
"en": "Find a country",
"ru": "Найти страну",
"fr": "Rechercher un pays"
},
"choose_a_country_7843c8": {
"en": "Choose a country",
"ru": "Выберите страну",
"fr": "Choisir un pays"
},
"cy_cyprus_am_armenia_8c0034": {
"en": "CY = Cyprus · AM = Armenia",
"ru": "CY = Кипр · AM = Армения",
"fr": "CY = Chypre · AM = Arménie"
},
"country_date_name_cy_2026_10_01_independence_day_am__be8930": {
"en": "country,date,name\nCY,2026-10-01,Independence Day\nAM,2026-09-21,Independence Day\nCY,2026-12-25,Christmas Day",
"ru": "country,date,name\nCY,2026-10-01,Independence Day\nAM,2026-09-21,Independence Day\nCY,2026-12-25,Christmas Day",
"fr": "country,date,name\nCY,2026-10-01,Independence Day\nAM,2026-09-21,Independence Day\nCY,2026-12-25,Christmas Day"
},
"holiday_csv_222225": {
"en": "Holiday CSV",
"ru": "CSV с праздниками",
"fr": "CSV des jours fériés"
},
"country_date_name_cy_2026_12_25_christmas_day_b4543f": {
"en": "country,date,name\nCY,2026-12-25,Christmas Day",
"ru": "country,date,name\nCY,2026-12-25,Christmas Day",
"fr": "country,date,name\nCY,2026-12-25,Christmas Day"
},
"comparing_with_saved_holidays_ad992c": {
"en": "Comparing with saved holidays…",
"ru": "Сравниваем с сохранёнными праздниками…",
"fr": "Comparaison avec les jours fériés enregistrés…"
},
"new_ac85be": {
"en": " new ",
"ru": " новых ",
"fr": " nouveaux "
},
"already_saved_2ba31a": {
"en": " already saved",
"ru": " уже сохранено",
"fr": " déjà enregistrés"
},
"repeated_rows_60187e": {
"en": " repeated rows",
"ru": " повторяющихся строк",
"fr": " lignes répétées"
},
"nothing_is_saved_until_you_choose_import_996b73": {
"en": "Nothing is saved until you choose Import.",
"ru": "Данные сохранятся только после нажатия «Импорт».",
"fr": "Rien n’est enregistré avant de choisir Importer."
},
"date_eb9a4b": {
"en": "Date",
"ru": "Дата",
"fr": "Date"
},
"will_be_added_5399ac": {
"en": "Will be added",
"ru": "Будет добавлено",
"fr": "Sera ajouté"
},
"registered_username_e29aa9": {
"en": "Registered username",
"ru": "Имя зарегистрированного пользователя",
"fr": "Identifiant enregistré"
},
"your_teammate_needs_an_account_before_you_can_add_th_80fa32": {
"en": "Your teammate needs an account before you can add them.",
"ru": "Чтобы добавить коллегу, ему нужен аккаунт.",
"fr": "Votre collègue doit avoir un compte pour être ajouté."
},
"team_name_9b11ed": {
"en": "Workspace name",
"ru": "Название пространства",
"fr": "Nom de l’espace"
},
"planning_horizon_days_fc8284": {
"en": "Planning horizon (days)",
"ru": "Горизонт планирования (дни)",
"fr": "Horizon de planification (jours)"
},
"schedule_timezone_003979": {
"en": "Schedule timezone: ",
"ru": "Часовой пояс расписания: ",
"fr": "Fuseau du planning : "
},
"change_it_in_workspace_working_interval_settings_eac_1779f8": {
"en": ". Change it in workspace working interval settings. Each rotation has its own handover time.",
"ru": ". Измените его в настройках рабочего интервала пространства. У каждой ротации своё время передачи смены.",
"fr": ". Modifiez-le dans les horaires de l’espace. Chaque rotation a sa propre heure de relève."
},
"from_the_current_configuration_past_assignments_and__e2a3f7": {
"en": "from the current configuration. Past assignments and audit history are retained.",
"ru": "из текущей конфигурации. Прошедшие смены и история действий сохранятся.",
"fr": "de la configuration actuelle. Les affectations passées et l’historique d’audit sont conservés."
},
"this_schedule_has_current_or_future_approved_replace_6bfa3a": {
"en": "This schedule has current or future approved replacements. It cannot be removed until those intervals have ended.",
"ru": "В расписании есть текущие или будущие подтверждённые подмены. Удаление возможно только после их окончания.",
"fr": "Ce planning contient des remplacements approuvés en cours ou futurs. Il ne peut être supprimé avant leur fin."
},
"used_by_escalation_steps_3e2542": {
"en": "Used by escalation steps",
"ru": "Используется в шагах эскалации",
"fr": "Utilisé par des étapes d’escalade"
},
"step_37d11c": {
"en": "Step ",
"ru": "Шаг ",
"fr": "Étape "
},
"used_as_a_coverage_fallback_8955da": {
"en": "Used as a coverage fallback",
"ru": "Используется как резервное расписание",
"fr": "Utilisé comme planning de repli"
},
"existing_references_748fbb": {
"en": "Existing references",
"ru": "Существующие ссылки",
"fr": "Références existantes"
},
"remove_the_affected_escalation_steps_8586b1": {
"en": "Remove the affected escalation steps",
"ru": "Удалить затронутые шаги эскалации",
"fr": "Supprimer les étapes d’escalade concernées"
},
"use_8023ca": {
"en": "Use ",
"ru": "Использовать ",
"fr": "Utiliser "
},
"instead_cd9ec2": {
"en": " instead",
"ru": " вместо него",
"fr": " à la place"
},
"all_escalation_steps_and_coverage_fallbacks_that_ref_8ca984": {
"en": "All escalation steps and coverage fallbacks that refer to this schedule will use the selected schedule instead.",
"ru": "Все шаги эскалации и резервные ссылки перейдут на выбранное расписание.",
"fr": "Toutes les étapes d’escalade et références de repli utiliseront le planning sélectionné."
},
"choose_another_schedule_for_the_coverage_fallbacks_b_61dbff": {
"en": "Choose another schedule for the coverage fallbacks before removing this one.",
"ru": "Перед удалением выберите другое резервное расписание.",
"fr": "Choisissez un autre planning de repli avant de supprimer celui-ci."
},
"these_policies_would_have_no_steps_left_choose_a_rep_2ce922": {
"en": "These policies would have no steps left. Choose a replacement schedule or edit them first:",
"ru": "В этих политиках не останется шагов. Выберите замену или сначала измените политики:",
"fr": "Ces politiques n’auraient plus d’étapes. Choisissez un planning de remplacement ou modifiez-les d’abord :"
},
"no_escalation_or_fallback_references_need_changing_b2018c": {
"en": "No escalation or fallback references need changing.",
"ru": "Ссылки эскалации и резерва менять не требуется.",
"fr": "Aucune référence d’escalade ou de repli à modifier."
},
"pending_replacement_requests_will_be_cancelled_in_fu_a1f178": {
"en": " pending replacement requests will be cancelled in full, including both legs of any swaps. They remain in the audit history.",
"ru": " запросов на подмену будут полностью отменены, включая обе стороны обмена. Они останутся в истории.",
"fr": " demandes de remplacement seront annulées intégralement, y compris les deux volets des échanges. Elles restent dans l’historique."
},
"the_schedule_and_these_dependency_changes_are_saved__42e786": {
"en": "The schedule and these dependency changes are saved together. Provider publication is then queued.",
"ru": "Расписание и зависимые изменения сохраняются вместе. Затем публикация ставится в очередь.",
"fr": "Le planning et ses dépendances sont enregistrés ensemble. La publication est ensuite mise en file d’attente."
},
"policy_name_101bf6": {
"en": "Policy name",
"ru": "Название политики",
"fr": "Nom de la politique"
},
"then_if_the_condition_still_holds_0fa74f": {
"en": "↓ then, if the condition still holds",
"ru": "↓ затем, если условие всё ещё выполняется",
"fr": "↓ ensuite, si la condition est toujours remplie"
},
"after_minutes_d33505": {
"en": "After minutes",
"ru": "Через минут",
"fr": "Après (minutes)"
},
"condition_2f4979": {
"en": "Condition",
"ru": "Условие",
"fr": "Condition"
},
"if_not_acknowledged_5fc93a": {
"en": "If not acknowledged",
"ru": "Если не подтверждён",
"fr": "Si non acquittée"
},
"if_not_closed_4369ad": {
"en": "If not closed",
"ru": "Если не закрыт",
"fr": "Si non fermée"
},
"notify_6c03ee": {
"en": "Notify",
"ru": "Уведомить",
"fr": "Notifier"
},
"everyone_on_the_team_235b55": {
"en": "Everyone on the team",
"ru": "Всех участников команды",
"fr": "Toute l’équipe"
},
"a_random_team_member_8f35f3": {
"en": "A random team member",
"ru": "Случайного участника команды",
"fr": "Un membre aléatoire de l’équipe"
},
"remove_step_088d48": {
"en": "Remove step",
"ru": "Удалить шаг",
"fr": "Supprimer l’étape"
},
"escalation_step_72b706": {
"en": "+ Escalation step",
"ru": "+ Шаг эскалации",
"fr": "+ Étape d’escalade"
},
"repeat_count_912e08": {
"en": "Repeat count",
"ru": "Число повторов",
"fr": "Nombre de répétitions"
},
"wait_between_repeats_0_disables_2e1378": {
"en": "Wait between repeats (0 disables)",
"ru": "Пауза между повторами (0 — отключить)",
"fr": "Délai entre répétitions (0 pour désactiver)"
},
"reset_recipient_states_on_repeat_8152c6": {
"en": "Reset recipient states on repeat",
"ru": "Сбрасывать состояния получателей при повторе",
"fr": "Réinitialiser l’état des destinataires à chaque répétition"
},
"close_alert_after_all_repeats_2bec22": {
"en": "Close alert after all repeats",
"ru": "Закрыть алерт после всех повторов",
"fr": "Fermer l’alerte après toutes les répétitions"
},
"rule_name_9e84d7": {
"en": "Rule name",
"ru": "Название правила",
"fr": "Nom de la règle"
},
"position_cf1c85": {
"en": "Position",
"ru": "Позиция",
"fr": "Position"
},
"1_first_6d7898": {
"en": "1 · First",
"ru": "1 · Первое",
"fr": "1 · Première"
},
"all_conditions_match_e5187c": {
"en": "All conditions match",
"ru": "Все условия выполняются",
"fr": "Toutes les conditions correspondent"
},
"when_e3eafa": {
"en": "WHEN",
"ru": "КОГДА",
"fr": "QUAND"
},
"field_c326a4": {
"en": "Field",
"ru": "Поле",
"fr": "Champ"
},
"tags_848eed": {
"en": "Tags",
"ru": "Теги",
"fr": "Étiquettes"
},
"priority_886cbf": {
"en": "Priority",
"ru": "Приоритет",
"fr": "Priorité"
},
"message_68f414": {
"en": "Message",
"ru": "Сообщение",
"fr": "Message"
},
"description_55f8eb": {
"en": "Description",
"ru": "Описание",
"fr": "Description"
},
"operation_430d32": {
"en": "Operation",
"ru": "Операция",
"fr": "Opération"
},
"contains_33e15d": {
"en": "Contains",
"ru": "Содержит",
"fr": "Contient"
},
"equals_09b6a6": {
"en": "Equals",
"ru": "Равно",
"fr": "Égal à"
},
"starts_with_2a61f5": {
"en": "Starts with",
"ru": "Начинается с",
"fr": "Commence par"
},
"value_8dce17": {
"en": "Value",
"ru": "Значение",
"fr": "Valeur"
},
"not_ca1dd3": {
"en": "Not",
"ru": "Не",
"fr": "Non"
},
"remove_condition_858fb1": {
"en": "Remove condition",
"ru": "Удалить условие",
"fr": "Supprimer la condition"
},
"and_condition_63ce48": {
"en": "+ AND condition",
"ru": "+ Условие И",
"fr": "+ Condition ET"
},
"only_during_working_hours_fa1eb6": {
"en": "Only during working hours",
"ru": "Только в рабочее время",
"fr": "Uniquement pendant les heures de travail"
},
"uses_the_shared_workspace_interval_change_it_in_team_01fcc4": {
"en": "Uses the workspace interval. Change it in Workspace settings → Workspace time.",
"ru": "Использует рабочий интервал пространства. Изменить: Настройки пространства → Время пространства.",
"fr": "Utilise les horaires de l’espace. Modifiez-les dans Paramètres de l’espace → Horaires."
},
"provider_7ceee3": {
"en": "Provider",
"ru": "Сервис",
"fr": "Fournisseur"
},
"local_preview_no_external_writes_0c302e": {
"en": "Local preview (no external writes)",
"ru": "Локальный предпросмотр (без внешней записи)",
"fr": "Aperçu local (sans écriture externe)"
},
"atlassian_cloud_id_829908": {
"en": "Atlassian cloud ID",
"ru": "ID облака Atlassian",
"fr": "ID du cloud Atlassian"
},
"jsm_team_id_70f05e": {
"en": "JSM team ID",
"ru": "ID команды JSM",
"fr": "ID de l’équipe JSM"
},
"premium_enterprise_advanced_escalations_available_483732": {
"en": "Premium / Enterprise advanced escalations available",
"ru": "Доступны расширенные эскалации Premium / Enterprise",
"fr": "Escalades avancées Premium / Enterprise disponibles"
},
"atlassian_accounts_a9aeb6": {
"en": "Atlassian accounts",
"ru": "Аккаунты Atlassian",
"fr": "Comptes Atlassian"
},
"emails_resolve_automatically_to_existing_active_atla_e073f6": {
"en": "Emails resolve automatically to existing active Atlassian accounts before publication. Explicit account IDs take precedence; use one if an email is hidden by Atlassian.",
"ru": "Перед публикацией email автоматически сопоставляются с активными аккаунтами Atlassian. Явно заданный ID приоритетнее; укажите его, если email скрыт в Atlassian.",
"fr": "Avant publication, les e-mails sont associés aux comptes Atlassian actifs. Les ID explicites sont prioritaires ; utilisez-en un si Atlassian masque l’e-mail."
},
"account_id_optional_when_email_is_available_d135c3": {
"en": "Account ID (optional when email is available)",
"ru": "ID аккаунта (необязателен при наличии email)",
"fr": "ID du compte (facultatif si l’e-mail est disponible)"
},
"ask_your_deployment_administrator_to_configure_crede_782891": {
"en": "Ask your deployment administrator to configure credentials for this workspace. Secrets are never entered or shown here.",
"ru": "Попросите администратора настроить учётные данные сервиса для этого пространства. Секреты здесь не вводятся и не показываются.",
"fr": "Demandez à l’administrateur de configurer les identifiants de cet espace. Les secrets ne sont jamais saisis ni affichés ici."
},
"cancel_77dfd2": {
"en": "Cancel",
"ru": "Отмена",
"fr": "Annuler"
},
"request_approval_instead_b84265": {
"en": "Request approval instead",
"ru": "Запросить согласование",
"fr": "Demander un accord à la place"
},
"accept_cover_d9a527": {
"en": "Accept & cover",
"ru": "Принять и подменить",
"fr": "Accepter et remplacer"
},
"send_request_a89d64": {
"en": "Send request",
"ru": "Отправить запрос",
"fr": "Envoyer la demande"
},
"offer_to_cover_054c95": {
"en": "Offer to cover",
"ru": "Предложить подмену",
"fr": "Proposer de remplacer"
},
"saving_56a228": {
"en": "Saving…",
"ru": "Сохранение…",
"fr": "Enregistrement…"
},
"remove_redirect_references_f1a241": {
"en": "Remove & redirect references",
"ru": "Удалить и перенаправить ссылки",
"fr": "Supprimer et rediriger les références"
},
"remove_schedule_affected_steps_7348af": {
"en": "Remove schedule & affected steps",
"ru": "Удалить расписание и затронутые шаги",
"fr": "Supprimer le planning et les étapes concernées"
},
"import_new_holidays_b36db6": {
"en": "Import new holidays",
"ru": "Импортировать новые праздники",
"fr": "Importer les nouveaux jours fériés"
},
"send_for_confirmation_f3df0f": {
"en": "Send for confirmation",
"ru": "Отправить на подтверждение",
"fr": "Envoyer pour validation"
},
"apply_replacement_9b0845": {
"en": "Apply replacement",
"ru": "Применить подмену",
"fr": "Appliquer le remplacement"
},
"use_in_draft_a8f78c": {
"en": "Use in draft",
"ru": "Добавить в черновик",
"fr": "Utiliser dans le brouillon"
},
"save_changes_179359": {
"en": "Save changes",
"ru": "Сохранить изменения",
"fr": "Enregistrer les modifications"
},
"data_rules_schedules_a64885": {
"en": "Data → Rules → Schedules",
"ru": "Данные → Правила → Расписания",
"fr": "Données → Règles → Plannings"
},
"review_and_apply_your_changes_together_76e548": {
"en": "Review and apply your changes together.",
"ru": "Проверьте и примените изменения вместе.",
"fr": "Vérifiez et appliquez les modifications ensemble."
},
"reload_saved_state_1b1cb9": {
"en": "Reload saved state",
"ru": "Загрузить сохранённое состояние",
"fr": "Recharger l’état enregistré"
},
"apply_checked_changes_efa2a4": {
"en": "Save checked changes",
"ru": "Сохранить проверенные изменения",
"fr": "Enregistrer les modifications vérifiées"
},
"workspace_variables_2c8617": {
"en": "Workspace variables",
"ru": "Переменные пространства",
"fr": "Variables de l’espace"
},
"variable_596d48": {
"en": "+ Variable",
"ru": "+ Переменная",
"fr": "+ Variable"
},
"projects_people_and_shared_values_0cd0a8": {
"en": "Projects, people, and shared values.",
"ru": "Проекты, люди и общие значения.",
"fr": "Projets, personnes et valeurs partagées."
},
"symbol_1fdf0d": {
"en": "·",
"ru": "·",
"fr": "·"
},
"edit_variable_22ec4a": {
"en": "Edit variable ",
"ru": "Изменить переменную ",
"fr": "Modifier la variable "
},
"remove_variable_bdd11d": {
"en": "Remove variable ",
"ru": "Удалить переменную ",
"fr": "Supprimer la variable "
},
"no_variables_yet_start_with_a_list_of_projects_and_a_84c8f7": {
"en": "No variables yet. Start with a list of projects and a dictionary of responsible people.",
"ru": "Переменных пока нет. Начните со списка проектов и словаря ответственных.",
"fr": "Aucune variable. Commencez par une liste de projets et un dictionnaire de responsables."
},
"team_generation_rules_f882ba": {
"en": "Generation rules",
"ru": "Правила генерации",
"fr": "Règles de génération"
},
"generation_rule_610cb3": {
"en": "+ Generation rule",
"ru": "+ Правило генерации",
"fr": "+ Règle de génération"
},
"turn_shared_values_into_schedules_automatically_66a530": {
"en": "Turn shared values into schedules automatically.",
"ru": "Автоматически создавайте расписания из общих данных.",
"fr": "Transformez automatiquement les données partagées en plannings."
},
"enabled_df174a": {
"en": "Enabled",
"ru": "Включено",
"fr": "Activé"
},
"disabled_f4f447": {
"en": "Disabled",
"ru": "Выключено",
"fr": "Désactivé"
},
"iterations_e61016": {
"en": " iterations · ",
"ru": " итераций · ",
"fr": " itérations · "
},
"output_blocks_22e1ee": {
"en": " output blocks",
"ru": " блоков результата",
"fr": " blocs de sortie"
},
"move_rule_up_a8ab03": {
"en": "Move rule up",
"ru": "Переместить правило выше",
"fr": "Monter la règle"
},
"move_rule_down_2c58ed": {
"en": "Move rule down",
"ru": "Переместить правило ниже",
"fr": "Descendre la règle"
},
"edit_rule_d0838a": {
"en": "Edit rule ",
"ru": "Изменить правило ",
"fr": "Modifier la règle "
},
"remove_rule_2dd5ee": {
"en": "Remove rule ",
"ru": "Удалить правило ",
"fr": "Supprimer la règle "
},
"one_rule_can_produce_all_your_project_schedules_bb9e45": {
"en": "One rule can produce all your project schedules.",
"ru": "Одно правило может создать расписания для всех проектов.",
"fr": "Une seule règle peut produire tous les plannings de vos projets."
},
"generated_routing_block_position_e14d64": {
"en": "Where to place generated rules",
"ru": "Где разместить сгенерированные правила",
"fr": "Placement des règles générées"
},
"first_before_manual_routing_rules_b44e75": {
"en": "Before manual rules",
"ru": "Перед ручными",
"fr": "Avant les règles manuelles"
},
"after_5c0dbf": {
"en": "After ",
"ru": "После ",
"fr": "Après "
},
"manual_rules_3e27ea": {
"en": " manual rules",
"ru": " ручных правил",
"fr": " règles manuelles"
},
"start_with_projects_responsible_example_7da288": {
"en": "Start with projects & responsible example",
"ru": "Начать с примера проектов и ответственных",
"fr": "Commencer avec l’exemple projets et responsables"
},
"variable_name_39179c": {
"en": "Variable name",
"ru": "Имя переменной",
"fr": "Nom de la variable"
},
"responsible_37926b": {
"en": "responsible",
"ru": "responsible",
"fr": "responsible"
},
"simple_editor_33ff22": {
"en": "Simple editor",
"ru": "Простой редактор",
"fr": "Éditeur simple"
},
"edit_structure_types_3c202b": {
"en": "Edit structure & types",
"ru": "Изменить структуру и типы",
"fr": "Modifier la structure et les types"
},
"list_value_4318c3": {
"en": "List value",
"ru": "Значение списка",
"fr": "Valeur de liste"
},
"move_entry_up_647a57": {
"en": "Move entry up",
"ru": "Переместить элемент выше",
"fr": "Monter l’entrée"
},
"move_entry_down_bc86af": {
"en": "Move entry down",
"ru": "Переместить элемент ниже",
"fr": "Descendre l’entrée"
},
"remove_entry_18ffc8": {
"en": "Remove entry",
"ru": "Удалить элемент",
"fr": "Supprimer l’entrée"
},
"add_item_51e41d": {
"en": "+ Add item",
"ru": "+ Добавить элемент",
"fr": "+ Ajouter un élément"
},
"paste_rows_24d667": {
"en": "Paste rows",
"ru": "Вставить строки",
"fr": "Coller des lignes"
},
"project_key_1c60ec": {
"en": "Project / key",
"ru": "Проект / ключ",
"fr": "Projet / clé"
},
"responsible_people_in_order_d69f7b": {
"en": "Responsible people · in order",
"ru": "Ответственные · по порядку",
"fr": "Responsables · dans l’ordre"
},
"dictionary_key_9777bd": {
"en": "Dictionary key",
"ru": "Ключ словаря",
"fr": "Clé du dictionnaire"
},
"project_name_ab9773": {
"en": "Project name",
"ru": "Название проекта",
"fr": "Nom du projet"
},
"move_person_earlier_52af52": {
"en": "Move person earlier",
"ru": "Переместить участника раньше",
"fr": "Avancer la personne"
},
"symbol_817964": {
"en": "←",
"ru": "←",
"fr": "←"
},
"remove_person_2ea467": {
"en": "Remove person",
"ru": "Удалить участника",
"fr": "Retirer la personne"
},
"add_person_to_4670b9": {
"en": "Add person to ",
"ru": "Добавить участника в ",
"fr": "Ajouter une personne à "
},
"person_485c1d": {
"en": "+ Person",
"ru": "+ Участник",
"fr": "+ Personne"
},
"remove_project_333b0c": {
"en": "Remove project",
"ru": "Удалить проект",
"fr": "Supprimer le projet"
},
"add_project_key_71d0f2": {
"en": "+ Add project / key",
"ru": "+ Добавить проект / ключ",
"fr": "+ Ajouter un projet / une clé"
},
"paste_spreadsheet_rows_e07917": {
"en": "Paste spreadsheet rows",
"ru": "Вставить строки таблицы",
"fr": "Coller des lignes de tableau"
},
"add_to_10956d": {
"en": "Add to ",
"ru": "Добавить в ",
"fr": "Ajouter à "
},
"done_e9b450": {
"en": "Done",
"ru": "Готово",
"fr": "Terminé"
},
"find_person_or_email_b640f7": {
"en": "Find person or email",
"ru": "Найти участника или email",
"fr": "Rechercher une personne ou un e-mail"
},
"search_name_or_enter_email_863139": {
"en": "Search name or enter email…",
"ru": "Найти по имени или ввести email…",
"fr": "Rechercher un nom ou saisir un e-mail…"
},
"project_key_98f3fa": {
"en": "Project key",
"ru": "Ключ проекта",
"fr": "Clé du projet"
},
"item_284e12": {
"en": "Item ",
"ru": "Элемент ",
"fr": "Élément "
},
"value_type_a95648": {
"en": "Value type",
"ru": "Тип значения",
"fr": "Type de valeur"
},
"duration_minutes_77d597": {
"en": "duration (minutes)",
"ru": "длительность (минуты)",
"fr": "durée (minutes)"
},
"entries_7c3fe9": {
"en": " entries",
"ru": " элементов",
"fr": " entrées"
},
"entry_dd9298": {
"en": "+ Entry",
"ru": "+ Элемент",
"fr": "+ Entrée"
},
"text_value_9fe378": {
"en": "Text value",
"ru": "Текстовое значение",
"fr": "Valeur texte"
},
"registered_person_734f05": {
"en": "Registered person",
"ru": "Зарегистрированный пользователь",
"fr": "Personne inscrite"
},
"use_email_address_c12ddf": {
"en": "Use email address",
"ru": "Указать email",
"fr": "Utiliser une adresse e-mail"
},
"person_email_1ed8a9": {
"en": "Person email",
"ru": "Email участника",
"fr": "E-mail de la personne"
},
"person_example_com_371ab9": {
"en": "person@example.com",
"ru": "person@example.com",
"fr": "person@example.com"
},
"number_value_f84357": {
"en": "Number value",
"ru": "Числовое значение",
"fr": "Valeur numérique"
},
"boolean_value_4d92eb": {
"en": "Boolean value",
"ru": "Логическое значение",
"fr": "Valeur booléenne"
},
"true_88b33e": {
"en": "True",
"ru": "Да",
"fr": "Vrai"
},
"false_97cdbd": {
"en": "False",
"ru": "Нет",
"fr": "Faux"
},
"time_value_1072a0": {
"en": "Time value",
"ru": "Время",
"fr": "Heure"
},
"date_value_1f290a": {
"en": "Date value",
"ru": "Дата",
"fr": "Date"
},
"append_rows_03d5d2": {
"en": "Append rows",
"ru": "Добавить строки",
"fr": "Ajouter les lignes"
},
"one_value_per_line_existing_entries_are_kept_244563": {
"en": "One value per line. Existing entries are kept.",
"ru": "Одно значение на строку. Существующие элементы сохранятся.",
"fr": "Une valeur par ligne. Les entrées existantes sont conservées."
},
"paste_two_spreadsheet_columns_project_key_then_comma_9b3966": {
"en": "Paste two spreadsheet columns: project key, then comma-separated emails. Columns must be separated by a TAB.",
"ru": "Вставьте два столбца: ключ проекта и email через запятую. Столбцы разделяются табуляцией.",
"fr": "Collez deux colonnes : la clé du projet, puis les e-mails séparés par des virgules. Séparez les colonnes par une tabulation."
},
"rows_to_append_2ddee4": {
"en": "Rows to append",
"ru": "Строки для добавления",
"fr": "Lignes à ajouter"
},
"cancel_paste_fbbf61": {
"en": "Cancel paste",
"ru": "Отменить вставку",
"fr": "Annuler le collage"
},
"project_rotations_1bf6a8": {
"en": "Project rotations",
"ru": "Ротации проектов",
"fr": "Rotations des projets"
},
"for_each_5e8ebd": {
"en": "For each",
"ru": "Для каждого",
"fr": "Pour chaque"
},
"iteration_3b56cf": {
"en": "+ Iteration",
"ru": "+ Итерация",
"fr": "+ Itération"
},
"no_loop_create_one_instance_add_an_iteration_to_crea_750db8": {
"en": "No loop: create one instance. Add an iteration to create outputs for every list or dictionary entry.",
"ru": "Без цикла создаётся один экземпляр. Добавьте итерацию, чтобы создавать результаты для каждого элемента списка или словаря.",
"fr": "Sans boucle : une seule instance. Ajoutez une itération pour créer des résultats pour chaque entrée de liste ou de dictionnaire."
},
"then_for_each_4ca48c": {
"en": "THEN FOR EACH",
"ru": "ЗАТЕМ ДЛЯ КАЖДОГО",
"fr": "PUIS POUR CHAQUE"
},
"for_each_fb4174": {
"en": "FOR EACH",
"ru": "ДЛЯ КАЖДОГО",
"fr": "POUR CHAQUE"
},
"iteration_name_fc3d26": {
"en": "Iteration name",
"ru": "Название итерации",
"fr": "Nom de l’itération"
},
"project_f6f4da": {
"en": "Project",
"ru": "Проект",
"fr": "Projet"
},
"iteration_collection_bd6344": {
"en": "Iteration collection",
"ru": "Коллекция для перебора",
"fr": "Collection à parcourir"
},
"only_generate_when_a_condition_matches_78d185": {
"en": "Only generate when a condition matches",
"ru": "Генерировать только при выполнении условия",
"fr": "Générer uniquement si une condition correspond"
},
"condition_left_value_cc4063": {
"en": "Condition left value",
"ru": "Левая часть условия",
"fr": "Valeur gauche de la condition"
},
"generation_condition_424e30": {
"en": "Generation condition",
"ru": "Условие генерации",
"fr": "Condition de génération"
},
"does_not_equal_86e30f": {
"en": "Does not equal",
"ru": "Не равно",
"fr": "Différent de"
},
"is_not_empty_414a30": {
"en": "Is not empty",
"ru": "Не пусто",
"fr": "N’est pas vide"
},
"condition_right_value_5e741f": {
"en": "Condition right value",
"ru": "Правая часть условия",
"fr": "Valeur droite de la condition"
},
"create_outputs_dd2376": {
"en": "Create outputs",
"ru": "Создать ресурсы",
"fr": "Créer des ressources"
},
"add_output_block_00047b": {
"en": "Add output block",
"ru": "Добавить блок результата",
"fr": "Ajouter un bloc de sortie"
},
"output_block_29f985": {
"en": "+ Output block",
"ru": "+ Блок результата",
"fr": "+ Bloc de sortie"
},
"ordered_project_coverage_cf12c3": {
"en": "First available",
"ru": "Первый доступный",
"fr": "Premier disponible"
},
"two_person_coverage_c48bee": {
"en": "First available",
"ru": "Первый доступный",
"fr": "Premier disponible"
},
"move_block_up_b67b5b": {
"en": "Move block up",
"ru": "Переместить блок выше",
"fr": "Monter le bloc"
},
"move_block_down_714fea": {
"en": "Move block down",
"ru": "Переместить блок ниже",
"fr": "Descendre le bloc"
},
"bind_891f4e": {
"en": "Bind ",
"ru": "Связать ",
"fr": "Lier "
},
"delay_in_minutes_e18c95": {
"en": "Delay in minutes",
"ru": "Задержка в минутах",
"fr": "Délai en minutes"
},
"escalation_condition_5b4c13": {
"en": "Escalation condition",
"ru": "Условие эскалации",
"fr": "Condition d’escalade"
},
"recipient_type_32b1f5": {
"en": "Recipient type",
"ru": "Тип получателя",
"fr": "Type de destinataire"
},
"person_8c41ae": {
"en": "Person",
"ru": "Участник",
"fr": "Personne"
},
"escalation_recipient_9dfd31": {
"en": "Escalation recipient",
"ru": "Получатель эскалации",
"fr": "Destinataire de l’escalade"
},
"matches_any_alert_add_conditions_to_target_this_proj_299abf": {
"en": "Matches any alert. Add conditions to narrow the match.",
"ru": "Совпадает с любым алертом. Добавьте условия для отбора.",
"fr": "Correspond à toute alerte. Ajouter des conditions pour restreindre la sélection."
},
"routing_field_a63fdc": {
"en": "Routing field",
"ru": "Поле маршрутизации",
"fr": "Champ de routage"
},
"source_6da13a": {
"en": "Source",
"ru": "Источник",
"fr": "Source"
},
"routing_operation_01689c": {
"en": "Routing operation",
"ru": "Операция маршрутизации",
"fr": "Opération de routage"
},
"matches_ee2dbd": {
"en": "Matches",
"ru": "Соответствует шаблону",
"fr": "Correspond au motif"
},
"routing_condition_value_f76e2d": {
"en": "Routing condition value",
"ru": "Значение условия маршрутизации",
"fr": "Valeur de la condition de routage"
},
"value_binding_1bb7eb": {
"en": "Value binding",
"ru": "Привязка значения",
"fr": "Liaison de valeur"
},
"dictionary_key_source_b4a40b": {
"en": "Dictionary key source",
"ru": "Источник ключа словаря",
"fr": "Source de la clé du dictionnaire"
},
"value_source_c0ae15": {
"en": "Value source",
"ru": "Источник значения",
"fr": "Source de la valeur"
},
"fixed_value_191429": {
"en": "Fixed value",
"ru": "Постоянное значение",
"fr": "Valeur fixe"
},
"current_iteration_value_39357a": {
"en": "Current iteration value",
"ru": "Значение текущей итерации",
"fr": "Valeur de l’itération courante"
},
"current_iteration_key_347e79": {
"en": "Current iteration key",
"ru": "Ключ текущей итерации",
"fr": "Clé de l’itération courante"
},
"dictionary_lookup_f38672": {
"en": "Dictionary lookup",
"ru": "Поиск в словаре",
"fr": "Recherche dans un dictionnaire"
},
"created_resource_c04e1e": {
"en": "From a generated resource",
"ru": "Из генерируемого ресурса",
"fr": "Depuis une ressource générée"
},
"values_one_per_line_b8e245": {
"en": "Values, one per line",
"ru": "Значения, по одному в строке",
"fr": "Valeurs, une par ligne"
},
"fixed_list_a199a2": {
"en": "Fixed list",
"ru": "Постоянный список",
"fr": "Liste fixe"
},
"alice_example_com_bob_example_com_f2697e": {
"en": "alice@example.com\nbob@example.com",
"ru": "alice@example.com\nbob@example.com",
"fr": "alice@example.com\nbob@example.com"
},
"fixed_text_ab18dc": {
"en": "Fixed text",
"ru": "Постоянный текст",
"fr": "Texte fixe"
},
"fixed_number_017ee6": {
"en": "Fixed number",
"ru": "Постоянное число",
"fr": "Nombre fixe"
},
"fixed_boolean_38876f": {
"en": "Fixed boolean",
"ru": "Постоянное логическое значение",
"fr": "Booléen fixe"
},
"fixed_time_40176a": {
"en": "Fixed time",
"ru": "Постоянное время",
"fr": "Heure fixe"
},
"fixed_date_1c63b4": {
"en": "Fixed date",
"ru": "Постоянная дата",
"fr": "Date fixe"
},
"workspace_person_844f8f": {
"en": "Workspace person",
"ru": "Участник пространства",
"fr": "Personne de l’espace"
},
"email_84add5": {
"en": "Email",
"ru": "Email",
"fr": "E-mail"
},
"fixed_email_189696": {
"en": "Fixed email",
"ru": "Постоянный email",
"fr": "E-mail fixe"
},
"existing_resource_1752f5": {
"en": "Existing resource",
"ru": "Существующий ресурс",
"fr": "Ressource existante"
},
"choose_a_resource_3e0493": {
"en": "Choose a resource",
"ru": "Выберите ресурс",
"fr": "Choisir une ressource"
},
"variable_19de69": {
"en": "Variable",
"ru": "Переменная",
"fr": "Variable"
},
"binding_variable_137329": {
"en": "Binding variable",
"ru": "Переменная привязки",
"fr": "Variable de liaison"
},
"choose_a_variable_e27462": {
"en": "Choose a variable",
"ru": "Выберите переменную",
"fr": "Choisir une variable"
},
"iteration_18905a": {
"en": "Iteration",
"ru": "Итерация",
"fr": "Itération"
},
"binding_iteration_f1778d": {
"en": "Binding iteration",
"ru": "Итерация привязки",
"fr": "Itération de liaison"
},
"choose_an_iteration_5d2162": {
"en": "Choose an iteration",
"ru": "Выберите итерацию",
"fr": "Choisir une itération"
},
"output_block_3853ab": {
"en": "Generated resource",
"ru": "Генерируемый ресурс",
"fr": "Ressource générée"
},
"binding_output_block_e2b0ab": {
"en": "Generated resource",
"ru": "Генерируемый ресурс",
"fr": "Ressource générée"
},
"choose_an_output_747632": {
"en": "Choose a generated resource",
"ru": "Выберите генерируемый ресурс",
"fr": "Choisissez une ressource générée"
},
"nested_field_list_position_optional_bac49a": {
"en": "Nested field / list position (optional)",
"ru": "Вложенное поле / позиция списка (необязательно)",
"fr": "Champ imbriqué / position de liste (facultatif)"
},
"nested_field_or_position_eaeb07": {
"en": "Nested field or position",
"ru": "Вложенное поле или позиция",
"fr": "Champ imbriqué ou position"
},
"primary_1_4b34b8": {
"en": "primary / 1",
"ru": "primary / 1",
"fr": "primary / 1"
},
"leave_empty_to_use_the_whole_value_list_positions_st_8da342": {
"en": "Leave empty to use the whole value. List positions start at 1.",
"ru": "Оставьте пустым для всего значения. Позиции в списке начинаются с 1.",
"fr": "Laissez vide pour utiliser la valeur entière. Les positions commencent à 1."
},
"prefix_90eceb": {
"en": "Prefix",
"ru": "Префикс",
"fr": "Préfixe"
},
"text_prefix_62b30b": {
"en": "Text prefix",
"ru": "Текстовый префикс",
"fr": "Préfixe de texte"
},
"optional_0c6c41": {
"en": "Optional",
"ru": "Необязательно",
"fr": "Facultatif"
},
"suffix_885db9": {
"en": "Suffix",
"ru": "Суффикс",
"fr": "Suffixe"
},
"text_suffix_f191fa": {
"en": "Text suffix",
"ru": "Текстовый суффикс",
"fr": "Suffixe de texte"
},
"server_preview_09022a": {
"en": "Server preview",
"ru": "Проверка на сервере",
"fr": "Aperçu serveur"
},
"checking_data_references_permissions_and_generated_s_ffca12": {
"en": "Checking data, references, permissions, and generated schedules…",
"ru": "Проверяем данные, ссылки, права и сгенерированные расписания…",
"fr": "Vérification des données, références, autorisations et plannings générés…"
},
"to_create_43ed95": {
"en": " to create · ",
"ru": " создать · ",
"fr": " à créer · "
},
"to_update_31fbac": {
"en": " to update · ",
"ru": " изменить · ",
"fr": " à modifier · "
},
"to_remove_29c5ac": {
"en": " to remove · ",
"ru": " удалить · ",
"fr": " à supprimer · "
},
"unchanged_ce74d2": {
"en": " unchanged",
"ru": " без изменений",
"fr": " inchangés"
},
"issues_prevent_applying_this_draft_509aaa": {
"en": " issues prevent applying this draft",
"ru": " ошибок мешают применить черновик",
"fr": " erreurs empêchent l’application du brouillon"
},
"showing_the_first_30_issues_fix_these_to_continue_3e3210": {
"en": "Showing the first 30 issues. Fix these to continue.",
"ru": "Показаны первые 30 ошибок. Исправьте их, чтобы продолжить.",
"fr": "Les 30 premières erreurs sont affichées. Corrigez-les pour continuer."
},
"valid_configuration_no_changes_have_been_saved_by_th_114934": {
"en": "Valid configuration. No changes have been saved by this preview.",
"ru": "Конфигурация корректна. Предпросмотр не сохраняет изменения.",
"fr": "Configuration valide. Cet aperçu n’a enregistré aucune modification."
},
"pending_requests_will_be_cancelled_because_their_sch_ea9b18": {
"en": " pending requests will be cancelled because their schedules are being removed.",
"ru": " ожидающих запросов будут отменены, поскольку их расписания удаляются.",
"fr": " demandes en attente seront annulées car leurs plannings sont supprimés."
},
"team_source_item_d10c3e": {
"en": "Source item",
"ru": "Источник",
"fr": "Élément source"
},
"resource_021493": {
"en": "Resource",
"ru": "Ресурс",
"fr": "Ressource"
},
"change_64fbd9": {
"en": "Change",
"ru": "Изменение",
"fr": "Modification"
},
"single_instance_785a47": {
"en": "Single instance",
"ru": "Один экземпляр",
"fr": "Instance unique"
},
"show_fewer_resources_3953fb": {
"en": "Show fewer resources",
"ru": "Показать меньше ресурсов",
"fr": "Afficher moins de ressources"
},
"resources_015def": {
"en": " resources",
"ru": " ресурсов",
"fr": " ressources"
},
"enter_a_valid_date_as_dd_mm_yyyy_f6df03": {
"en": "Enter a valid date as DD-MM-YYYY.",
"ru": "Введите корректную дату в формате ДД-ММ-ГГГГ.",
"fr": "Saisissez une date valide au format JJ-MM-AAAA."
},
"all_countries_legacy_04451d": {
"en": "All countries (legacy)",
"ru": "Все страны (старый формат)",
"fr": "Tous les pays (ancien format)"
},
"not_975146": {
"en": "NOT ",
"ru": "НЕ ",
"fr": "NON "
},
"calendar_adab50": {
"en": "Calendar",
"ru": "Календарь",
"fr": "Calendrier"
},
"requests_f7194e": {
"en": "Requests",
"ru": "Запросы",
"fr": "Demandes"
},
"schedules_26d9d0": {
"en": "Schedules",
"ru": "Расписания",
"fr": "Plannings"
},
"escalations_routing_af3e1b": {
"en": "Escalations & routing",
"ru": "Эскалации и маршрутизация",
"fr": "Escalades et routage"
},
"variables_rules_9bb3e0": {
"en": "Variables & rules",
"ru": "Переменные и правила",
"fr": "Variables et règles"
},
"activity_81c0d9": {
"en": "Activity",
"ru": "История действий",
"fr": "Activité"
},
"team_settings_06b774": {
"en": "Workspace settings",
"ru": "Настройки пространства",
"fr": "Paramètres de l’espace"
},
"view_calendar_b702b1": {
"en": "View calendar",
"ru": "Просмотр календаря",
"fr": "Voir le calendrier"
},
"request_replacements_386c5e": {
"en": "Request replacements",
"ru": "Запрос подмен",
"fr": "Demander des remplacements"
},
"edit_schedules_policies_a02744": {
"en": "Edit schedules & policies",
"ru": "Редактирование расписаний и политик",
"fr": "Modifier les plannings et politiques"
},
"manage_team_access_db8b53": {
"en": "Manage workspace access",
"ru": "Управление доступом к пространству",
"fr": "Gérer l’accès à l’espace"
},
"manage_provider_804901": {
"en": "Manage provider",
"ru": "Управление сервисом",
"fr": "Gérer le fournisseur"
},
"view_audit_history_896487": {
"en": "View audit history",
"ru": "Просмотр истории действий",
"fr": "Voir l’historique d’audit"
},
"unknown_employee_f68692": {
"en": "Unknown employee",
"ru": "Неизвестный сотрудник",
"fr": "Employé inconnu"
},
"archived_schedule_40f4da": {
"en": "Archived schedule",
"ru": "Архивное расписание",
"fr": "Planning archivé"
},
"the_request_failed_02d674": {
"en": "The request failed",
"ru": "Запрос не выполнен",
"fr": "La demande a échoué"
},
"daily_support_30fec0": {
"en": "Daily support",
"ru": "Ежедневная поддержка",
"fr": "Assistance quotidienne"
},
"project_matrix_7c3bed": {
"en": "Project matrix",
"ru": "Матрица проектов",
"fr": "Matrice de projets"
},
"enter_a_complete_email_address_5f5f50": {
"en": "Enter a complete email address.",
"ru": "Введите полный email.",
"fr": "Saisissez une adresse e-mail complète."
},
"complete_the_dates_and_choose_a_person_for_each_repl_6187c4": {
"en": "Complete the dates and choose a person for each replacement range.",
"ru": "Заполните даты и выберите участника для каждого интервала подмены.",
"fr": "Renseignez les dates et choisissez une personne pour chaque période de remplacement."
},
"choose_the_day_you_want_to_change_6ce301": {
"en": "Choose the day you want to change.",
"ru": "Выберите день для изменения.",
"fr": "Choisissez le jour à modifier."
},
"replacement_accepted_publication_is_queued_afea8f": {
"en": "Replacement accepted. Publication is queued.",
"ru": "Подмена принята. Публикация в очереди.",
"fr": "Remplacement accepté. Publication en attente."
},
"replacement_applied_publication_is_queued_89e283": {
"en": "Replacement applied. Synchronize to publish.",
"ru": "Замена применена. Синхронизируйте для публикации.",
"fr": "Remplacement appliqué. Synchronisez pour publier."
},
"request_sent_waiting_for_your_colleague_b70b64": {
"en": "Request sent. Waiting for your colleague.",
"ru": "Запрос отправлен. Ожидаем ответа коллеги.",
"fr": "Demande envoyée. En attente de votre collègue."
},
"offers_to_cover_935d75": {
"en": " offers to cover ",
"ru": " предлагает подменить ",
"fr": " propose de remplacer "
},
"needs_cover_9e1ff7": {
"en": " needs cover",
"ru": " просит подмену",
"fr": " demande un remplacement"
},
"preview_the_csv_and_fix_any_errors_before_importing_2ccc4c": {
"en": "Preview the CSV and fix any errors before importing.",
"ru": "Проверьте CSV и исправьте ошибки перед импортом.",
"fr": "Vérifiez le CSV et corrigez les erreurs avant l’importation."
},
"resolve_the_listed_dependencies_before_removing_this_fa1445": {
"en": "Resolve the listed dependencies before removing this schedule.",
"ru": "Исправьте указанные зависимости перед удалением расписания.",
"fr": "Résolvez les dépendances indiquées avant de supprimer ce planning."
},
"wait_for_a_valid_absence_preview_before_saving_c743bf": {
"en": "Wait for a valid absence preview before saving.",
"ru": "Дождитесь успешной проверки отсутствия перед сохранением.",
"fr": "Attendez un aperçu d’absence valide avant d’enregistrer."
},
"this_country_already_has_a_holiday_on_that_date_7a457a": {
"en": "This country already has a holiday on that date.",
"ru": "В этой стране уже есть праздник на эту дату.",
"fr": "Ce pays a déjà un jour férié à cette date."
},
"changes_saved_5ffbaf": {
"en": "Changes saved.",
"ru": "Изменения сохранены.",
"fr": "Modifications enregistrées."
},
"request_updated_c52ad2": {
"en": "Request updated.",
"ru": "Запрос обновлён.",
"fr": "Demande mise à jour."
},
"configuration_updated_a81653": {
"en": "Configuration updated.",
"ru": "Конфигурация обновлена.",
"fr": "Configuration mise à jour."
},
"move_route_a6e86d": {
"en": "\"] .move-route",
"ru": "\"] .move-route",
"fr": "\"] .move-route"
},
"routing_order_saved_publication_is_queued_cfb972": {
"en": "Routing order saved. Synchronize to publish.",
"ru": "Порядок маршрутов сохранён. Синхронизируйте для публикации.",
"fr": "Ordre enregistré. Synchronisez pour publier."
},
"drift_policy_updated_be40fd": {
"en": "Drift policy updated.",
"ru": "Политика внешних изменений обновлена.",
"fr": "Politique de dérive mise à jour."
},
"publication_queued_8355e1": {
"en": "Publication queued.",
"ru": "Публикация в очереди.",
"fr": "Publication en attente."
},
"publication_preview_downloaded_afd91a": {
"en": "Publication preview downloaded.",
"ru": "Предпросмотр публикации скачан.",
"fr": "Aperçu de publication téléchargé."
},
"workspace_data_and_generated_schedules_saved_publica_e4ae3d": {
"en": "Workspace changes saved. Synchronize when ready.",
"ru": "Изменения workspace сохранены. Синхронизируйте, когда всё будет готово.",
"fr": "Modifications enregistrées. Synchronisez lorsque vous êtes prêt."
},
"choose_person_f20051": {
"en": "Choose person",
"ru": "Выберите участника",
"fr": "Choisir une personne"
},
"enter_a_name_86c810": {
"en": "Enter a name.",
"ru": "Введите название.",
"fr": "Saisissez un nom."
},
"line_2b754a": {
"en": "Line ",
"ru": "Строка ",
"fr": "Ligne "
},
"paste_a_project_key_a_tab_and_comma_separated_emails_2b81fc": {
"en": ": paste a project key, a TAB, and comma-separated emails.",
"ru": ": вставьте ключ проекта, табуляцию и email через запятую.",
"fr": ": collez une clé de projet, une tabulation et des e-mails séparés par des virgules."
},
"shift_length_days_0b28fa": {
"en": "Shift length (days)",
"ru": "Длительность смены (дни)",
"fr": "Durée d’astreinte (jours)"
},
"responsible_person_d575dc": {
"en": "Responsible person",
"ru": "Ответственный",
"fr": "Responsable"
},
"responsible_people_in_priority_order_7205a5": {
"en": "Responsible people, in priority order",
"ru": "Ответственные по приоритету",
"fr": "Responsables par ordre de priorité"
},
"minutes_between_repeats_f17ab0": {
"en": "Minutes between repeats",
"ru": "Минут между повторами",
"fr": "Minutes entre les répétitions"
},
"new_61bd57": {
"en": "New ",
"ru": "Новый ",
"fr": "Nouveau "
},
"choose_a_value_e0b399": {
"en": "Choose a value",
"ru": "Выберите значение",
"fr": "Choisir une valeur"
},
"variable_2e46ef": {
"en": "Variable · ",
"ru": "Переменная · ",
"fr": "Variable · "
},
"choose_variable_435bd9": {
"en": "Choose variable",
"ru": "Выберите переменную",
"fr": "Choisir une variable"
},
"current_item_8d8efa": {
"en": "Current item",
"ru": "Текущий элемент",
"fr": "Élément courant"
},
"key_b6898c": {
"en": " → key",
"ru": " → ключ",
"fr": " → clé"
},
"value_2a618b": {
"en": " → value",
"ru": " → значение",
"fr": " → valeur"
},
"dictionary_860e1f": {
"en": "Dictionary",
"ru": "Словарь",
"fr": "Dictionnaire"
},
"key_bb778f": {
"en": " → key: ",
"ru": " → ключ: ",
"fr": " → clé : "
},
"variables_projects_or_responsible_already_exist_add__83d3ed": {
"en": "Variables projects or responsible already exist. Add a rule and bind them, or rename the existing variables first.",
"ru": "Переменные projects или responsible уже существуют. Добавьте правило с ними или сначала переименуйте переменные.",
"fr": "Les variables projects ou responsible existent déjà. Ajoutez une règle qui les utilise ou renommez-les d’abord."
},
"on_call_5d0267": {
"en": " · on-call",
"ru": " · дежурство",
"fr": " · astreinte"
},
"example_draft_added_replace_the_example_emails_befor_e73113": {
"en": "Example draft added. Replace the example emails before applying.",
"ru": "Пример добавлен в черновик. Замените примерные email перед применением.",
"fr": "Exemple ajouté au brouillon. Remplacez les e-mails d’exemple avant d’appliquer."
},
"language": {
"en": "Language",
"ru": "Язык",
"fr": "Langue"
},
"language_auto": {
"en": "Browser language (automatic)",
"ru": "Язык браузера (автоматически)",
"fr": "Langue du navigateur (automatique)"
},
"language_en": {
"en": "English",
"ru": "English",
"fr": "English"
},
"language_ru": {
"en": "Русский",
"ru": "Русский",
"fr": "Русский"
},
"language_fr": {
"en": "Français",
"ru": "Français",
"fr": "Français"
},
"language_invalid": {
"en": "Choose a supported language",
"ru": "Выберите поддерживаемый язык",
"fr": "Choisissez une langue prise en charge"
},
"enum_pending": {
"en": "Pending",
"ru": "Ожидает",
"fr": "En attente"
},
"enum_applied": {
"en": "Applied",
"ru": "Применено",
"fr": "Appliqué"
},
"enum_rejected": {
"en": "Declined",
"ru": "Отклонено",
"fr": "Refusé"
},
"enum_cancelled": {
"en": "Cancelled",
"ru": "Отменено",
"fr": "Annulé"
},
"enum_synced": {
"en": "Synced",
"ru": "Синхронизировано",
"fr": "Synchronisé"
},
"enum_failed": {
"en": "Failed",
"ru": "Ошибка",
"fr": "Échec"
},
"enum_conflict": {
"en": "Conflict",
"ru": "Конфликт",
"fr": "Conflit"
},
"enum_running": {
"en": "Publishing",
"ru": "Публикуется",
"fr": "Publication en cours"
},
"enum_create": {
"en": "Create",
"ru": "Создать",
"fr": "Créer"
},
"enum_update": {
"en": "Update",
"ru": "Изменить",
"fr": "Modifier"
},
"enum_remove": {
"en": "Remove",
"ru": "Удалить",
"fr": "Supprimer"
},
"enum_unchanged": {
"en": "Unchanged",
"ru": "Без изменений",
"fr": "Inchangé"
},
"enum_text": {
"en": "Text",
"ru": "Текст",
"fr": "Texte"
},
"enum_person": {
"en": "Person",
"ru": "Участник",
"fr": "Personne"
},
"enum_number": {
"en": "Number",
"ru": "Число",
"fr": "Nombre"
},
"enum_boolean": {
"en": "Boolean",
"ru": "Логическое значение",
"fr": "Booléen"
},
"enum_date": {
"en": "Date",
"ru": "Дата",
"fr": "Date"
},
"enum_time": {
"en": "Time",
"ru": "Время",
"fr": "Heure"
},
"enum_duration": {
"en": "Duration",
"ru": "Длительность",
"fr": "Durée"
},
"enum_list": {
"en": "List",
"ru": "Список",
"fr": "Liste"
},
"enum_dictionary": {
"en": "Dictionary / object",
"ru": "Словарь / объект",
"fr": "Dictionnaire / objet"
},
"enum_rotation": {
"en": "Rotation",
"ru": "Ротация",
"fr": "Rotation"
},
"enum_priority": {
"en": "First available",
"ru": "Первый доступный",
"fr": "Premier disponible"
},
"enum_coverage": {
"en": "First available",
"ru": "Первый доступный",
"fr": "Premier disponible"
},
"enum_escalation": {
"en": "Escalation",
"ru": "Эскалация",
"fr": "Escalade"
},
"enum_route": {
"en": "Routing rule",
"ru": "Правило маршрутизации",
"fr": "Règle de routage"
},
"enum_schedule": {
"en": "Schedule",
"ru": "Расписание",
"fr": "Planning"
},
"enum_policy": {
"en": "Policy",
"ru": "Политика",
"fr": "Politique"
},
"enum_true": {
"en": "True",
"ru": "Да",
"fr": "Vrai"
},
"enum_false": {
"en": "False",
"ru": "Нет",
"fr": "Faux"
},
"waiting_count": {
"en": "Requests awaiting a reply: {count}",
"ru": "Запросов без ответа: {count}",
"fr": "Demandes en attente de réponse : {count}"
},
"cover_person": {
"en": "Cover {name}’s shift",
"ru": "Подменить на смене: {name}",
"fr": "Remplacer {name}"
},
"diagnostics_count": {
"en": "Issues to resolve: {count}",
"ru": "Ошибок для исправления: {count}",
"fr": "Erreurs à corriger : {count}"
},
"holiday_count": {
"en": "New holidays: {count}",
"ru": "Новых праздников: {count}",
"fr": "Nouveaux jours fériés : {count}"
},
"err_person_ids_must_be_unique_2d45f9": {
"en": "Person IDs must be unique",
"ru": "ID участников должны быть уникальны",
"fr": "Les ID des personnes doivent être uniques"
},
"err_choose_a_user_who_has_access_to_this_workspace_41cf15": {
"en": "Choose a user who has access to this workspace",
"ru": "Выберите пользователя с доступом к пространству",
"fr": "Choisissez un utilisateur ayant accès à cet espace"
},
"err_choose_a_valid_country_code_e79c72": {
"en": "Choose a valid country code",
"ru": "Выберите корректный код страны",
"fr": "Choisissez un code pays valide"
},
"err_enter_a_valid_email_address_1577ea": {
"en": "Enter a valid email address",
"ru": "Введите корректный email",
"fr": "Saisissez une adresse e-mail valide"
},
"err_email_addresses_must_be_normalized_c8f704": {
"en": "Email addresses must be normalized",
"ru": "Email должны быть приведены к стандартному виду",
"fr": "Les adresses e-mail doivent être normalisées"
},
"err_this_email_is_already_in_the_team_directory_2692f4": {
"en": "This email is already in the workspace directory",
"ru": "Этот email уже есть в справочнике пространства",
"fr": "Cet e-mail figure déjà dans l’annuaire de l’espace"
},
"err_use_a_valid_iana_timezone_b90408": {
"en": "Use a valid IANA timezone",
"ru": "Укажите корректный часовой пояс IANA",
"fr": "Utilisez un fuseau IANA valide"
},
"err_publication_horizon_must_be_7_366_days_95023e": {
"en": "Publication horizon must be 7–366 days",
"ru": "Горизонт публикации должен быть от 7 до 366 дней",
"fr": "L’horizon de publication doit être de 7 à 366 jours"
},
"err_team_history_is_too_large_archive_old_data_befor_fc0b97": {
"en": "Workspace history is too large; archive old data before adding more",
"ru": "История пространства слишком велика; архивируйте старые данные",
"fr": "L’historique de l’espace est trop volumineux ; archivez les anciennes données"
},
"err_schedule_ids_must_be_unique_4f12c8": {
"en": "Schedule IDs must be unique",
"ru": "ID расписаний должны быть уникальны",
"fr": "Les ID des plannings doivent être uniques"
},
"err_choose_a_workspace_user_or_email_contact_for_eve_879191": {
"en": "Choose a workspace user or email contact for every participant",
"ru": "Для каждого участника выберите пользователя пространства или контакт по email",
"fr": "Choisissez un utilisateur de l’espace ou un contact e-mail pour chaque participant"
},
"err_a_rotation_cannot_repeat_a_participant_adc324": {
"en": "A rotation cannot repeat a participant",
"ru": "Участник не может повторяться в ротации",
"fr": "Un participant ne peut pas apparaître deux fois dans une rotation"
},
"err_shift_length_must_be_1_366_calendar_days_b772e3": {
"en": "Shift length must be 1–366 calendar days",
"ru": "Длительность смены должна быть от 1 до 366 календарных дней",
"fr": "Une astreinte doit durer de 1 à 366 jours calendaires"
},
"err_anchor_year_must_be_2000_2100_5009d7": {
"en": "Anchor year must be 2000–2100",
"ru": "Год начала должен быть от 2000 до 2100",
"fr": "L’année de départ doit être comprise entre 2000 et 2100"
},
"err_priority_coverage_needs_1_100_people_b162ae": {
"en": "Priority coverage needs 1–100 people",
"ru": "Для приоритетного дежурства нужно от 1 до 100 участников",
"fr": "La couverture prioritaire nécessite de 1 à 100 personnes"
},
"err_choose_a_workspace_user_or_email_contact_for_eve_291413": {
"en": "Choose a workspace user or email contact for every responsible person",
"ru": "Для каждого ответственного выберите пользователя пространства или контакт по email",
"fr": "Choisissez un utilisateur ou un contact e-mail pour chaque responsable"
},
"err_priority_coverage_cannot_repeat_a_person_c524c8": {
"en": "Priority coverage cannot repeat a person",
"ru": "Ответственные не должны повторяться",
"fr": "Une personne ne peut pas apparaître deux fois dans la couverture prioritaire"
},
"err_fallback_schedule_does_not_exist_0ef8b9": {
"en": "Fallback schedule does not exist",
"ru": "Резервное расписание не существует",
"fr": "Le planning de repli n’existe pas"
},
"err_primary_and_secondary_must_be_different_people_9fbd54": {
"en": "Primary and secondary must be different people",
"ru": "Первый и второй ответственные должны быть разными людьми",
"fr": "Les responsables principal et secondaire doivent être différents"
},
"err_coverage_owners_must_be_team_members_afc392": {
"en": "Coverage owners must be workspace members",
"ru": "Ответственные должны быть участниками пространства",
"fr": "Les responsables doivent appartenir à l’espace"
},
"err_fallback_schedules_cannot_contain_a_cycle_b96e58": {
"en": "Fallback schedules cannot contain a cycle",
"ru": "Резервные расписания не могут образовывать цикл",
"fr": "Les plannings de repli ne peuvent pas former de cycle"
},
"err_missing_fallback_schedule_6234b6": {
"en": "Missing fallback schedule",
"ru": "Не задано резервное расписание",
"fr": "Planning de repli manquant"
},
"err_absent_employee_must_be_a_team_member_510f37": {
"en": "Absent employee must be a workspace member",
"ru": "Отсутствующий сотрудник должен быть участником пространства",
"fr": "La personne absente doit appartenir à l’espace"
},
"err_absence_must_be_a_valid_range_of_at_most_two_yea_db96bb": {
"en": "Absence must be a valid range of at most two years",
"ru": "Отсутствие должно быть корректным интервалом не более двух лет",
"fr": "L’absence doit être une période valide de deux ans au maximum"
},
"err_holiday_country_must_be_an_iso_country_code_09ebeb": {
"en": "Holiday country must be an ISO country code",
"ru": "Страна праздника должна быть указана кодом ISO",
"fr": "Le pays du jour férié doit être un code ISO"
},
"err_holiday_year_must_be_2000_2100_e542b1": {
"en": "Holiday year must be 2000–2100",
"ru": "Год праздника должен быть от 2000 до 2100",
"fr": "L’année du jour férié doit être comprise entre 2000 et 2100"
},
"err_escalation_ids_must_be_unique_8346e7": {
"en": "Escalation IDs must be unique",
"ru": "ID эскалаций должны быть уникальны",
"fr": "Les ID des escalades doivent être uniques"
},
"err_an_escalation_needs_1_20_steps_644fbf": {
"en": "An escalation needs 1–20 steps",
"ru": "Эскалация должна содержать от 1 до 20 шагов",
"fr": "Une escalade nécessite de 1 à 20 étapes"
},
"err_escalation_delays_must_be_ordered_and_at_most_on_93513d": {
"en": "Escalation delays must be ordered and at most one week",
"ru": "Задержки эскалации должны идти по порядку и не превышать неделю",
"fr": "Les délais d’escalade doivent être ordonnés et ne pas dépasser une semaine"
},
"err_escalation_p0_step_p1_references_a_missing_sched_a8026c": {
"en": "Escalation ‘{p0}’, step {p1} references a missing schedule. Update the step or use the schedule removal workflow.",
"ru": "Эскалация «{p0}», шаг {p1}: указанного расписания нет. Измените шаг или используйте удаление расписания с проверкой зависимостей.",
"fr": "L’escalade « {p0} », étape {p1}, référence un planning absent. Modifiez l’étape ou utilisez la procédure de suppression du planning."
},
"err_escalation_employee_must_be_a_team_member_8b2c9f": {
"en": "Escalation employee must be a workspace member",
"ru": "Получатель эскалации должен быть участником пространства",
"fr": "Le destinataire de l’escalade doit appartenir à l’espace"
},
"err_invalid_escalation_repeat_settings_508f67": {
"en": "Invalid escalation repeat settings",
"ru": "Некорректные настройки повторов эскалации",
"fr": "Paramètres de répétition d’escalade invalides"
},
"err_routing_ids_and_priorities_must_be_unique_1753f6": {
"en": "Routing IDs and priorities must be unique",
"ru": "ID и приоритеты маршрутов должны быть уникальны",
"fr": "Les ID et priorités de routage doivent être uniques"
},
"err_routing_escalation_does_not_exist_0c1581": {
"en": "Routing escalation does not exist",
"ru": "Политика эскалации маршрута не существует",
"fr": "La politique d’escalade du routage n’existe pas"
},
"err_too_many_routing_conditions_7c419b": {
"en": "Too many routing conditions",
"ru": "Слишком много условий маршрутизации",
"fr": "Trop de conditions de routage"
},
"err_unsupported_routing_field_0b98b6": {
"en": "Unsupported routing field",
"ru": "Неподдерживаемое поле маршрутизации",
"fr": "Champ de routage non pris en charge"
},
"err_unsupported_routing_operation_c5c07c": {
"en": "Unsupported routing operation",
"ru": "Неподдерживаемая операция маршрутизации",
"fr": "Opération de routage non prise en charge"
},
"err_routing_value_must_contain_1_500_characters_0f3a17": {
"en": "Routing value must contain 1–500 characters",
"ru": "Значение условия должно содержать от 1 до 500 символов",
"fr": "La valeur de routage doit contenir de 1 à 500 caractères"
},
"err_jsm_cloud_and_team_ids_must_be_uuids_f75b5f": {
"en": "JSM cloud ID must be a UUID; team ID must be a UUID, optionally prefixed with og-",
"ru": "ID облака JSM должен быть UUID; ID команды — UUID, возможно с префиксом og-",
"fr": "L’ID du cloud JSM doit être un UUID ; l’ID de l’équipe doit être un UUID, éventuellement précédé de og-"
},
"err_jsm_account_ids_must_contain_1_200_characters_9fb430": {
"en": "JSM account IDs must contain 1–200 characters",
"ru": "ID аккаунтов JSM должны содержать от 1 до 200 символов",
"fr": "Les ID de compte JSM doivent contenir de 1 à 200 caractères"
},
"err_names_must_contain_1_120_characters_8071e9": {
"en": "Names must contain 1–120 characters",
"ru": "Названия должны содержать от 1 до 120 символов",
"fr": "Les noms doivent contenir de 1 à 120 caractères"
},
"err_use_a_valid_iana_timezone_for_working_hours_b4e2c6": {
"en": "Use a valid IANA timezone for working hours",
"ru": "Укажите корректный часовой пояс IANA для рабочего времени",
"fr": "Utilisez un fuseau IANA valide pour les horaires de travail"
},
"err_choose_distinct_working_days_9a4ea4": {
"en": "Choose distinct working days",
"ru": "Рабочие дни не должны повторяться",
"fr": "Choisissez des jours de travail distincts"
},
"err_working_hours_must_end_after_they_start_on_the_s_a19afe": {
"en": "Working hours must end after they start on the same day",
"ru": "Рабочее время должно заканчиваться после начала в тот же день",
"fr": "Les horaires doivent se terminer après leur début, le même jour"
},
"err_unknown_timezone_9d07d7": {
"en": "Unknown timezone",
"ru": "Неизвестный часовой пояс",
"fr": "Fuseau horaire inconnu"
},
"err_the_handover_on_p0_is_ambiguous_or_does_not_exis_e6f851": {
"en": "The handover on {p0} is ambiguous or does not exist in {p1}",
"ru": "Время передачи смены {p0} неоднозначно или не существует в {p1}",
"fr": "L’heure de relève du {p0} est ambiguë ou inexistante dans {p1}"
},
"err_date_is_out_of_range_4ecf15": {
"en": "Date is out of range",
"ru": "Дата вне допустимого диапазона",
"fr": "Date hors limites"
},
"err_calendar_range_must_be_positive_and_at_most_367_23a2e6": {
"en": "Calendar range must be positive and at most 367 days",
"ru": "Период календаря должен быть положительным и не превышать 367 дней",
"fr": "La période du calendrier doit être positive et ne pas dépasser 367 jours"
},
"err_fallback_schedules_contain_a_cycle_e98539": {
"en": "Fallback schedules contain a cycle",
"ru": "Резервные расписания образуют цикл",
"fr": "Les plannings de repli forment un cycle"
},
"err_missing_schedule_4dc6ee": {
"en": "Missing schedule",
"ru": "Расписание не найдено",
"fr": "Planning manquant"
},
"err_approved_overrides_overlap_ce280c": {
"en": "Approved overrides overlap",
"ru": "Подтверждённые подмены пересекаются",
"fr": "Les remplacements approuvés se chevauchent"
},
"err_approved_replacement_f0feba": {
"en": "Approved replacement",
"ru": "Подтверждённая подмена",
"fr": "Remplacement approuvé"
},
"err_earlier_owners_off_responsible_p0_bb11c0": {
"en": "Earlier owners off · responsible {p0}",
"ru": "Предыдущие ответственные отсутствуют · ответственный {p0}",
"fr": "Responsables précédents absents · responsable {p0}"
},
"err_owners_off_general_on_call_9cfec2": {
"en": "Owners off · general on-call",
"ru": "Ответственные отсутствуют · общий дежурный",
"fr": "Responsables absents · astreinte générale"
},
"err_invalid_rotation_8f771c": {
"en": "Invalid rotation",
"ru": "Некорректная ротация",
"fr": "Rotation invalide"
},
"err_holiday_general_on_call_30a96b": {
"en": "Holiday · general on-call",
"ru": "Праздник · общий дежурный",
"fr": "Jour férié · astreinte générale"
},
"err_primary_off_secondary_baf501": {
"en": "Primary off · secondary",
"ru": "Первый отсутствует · второй ответственный",
"fr": "Principal absent · secondaire"
},
"err_both_off_general_on_call_89c27f": {
"en": "Both off · general on-call",
"ru": "Оба отсутствуют · общий дежурный",
"fr": "Tous deux absents · astreinte générale"
},
"err_schedule_does_not_exist_637210": {
"en": "Schedule does not exist",
"ru": "Расписание не существует",
"fr": "Le planning n’existe pas"
},
"err_replacement_must_be_future_facing_and_at_most_90_c483a9": {
"en": "Replacement must be future-facing and at most 90 days",
"ru": "Подмена должна относиться к будущему и длиться не более 90 дней",
"fr": "Le remplacement doit porter sur le futur et durer au maximum 90 jours"
},
"err_replacement_must_be_within_the_next_year_2cab72": {
"en": "Replacement must be within the next year",
"ru": "Подмена должна быть в пределах следующего года",
"fr": "Le remplacement doit être prévu dans l’année à venir"
},
"err_choose_two_different_team_members_38153c": {
"en": "Choose two different workspace members",
"ru": "Выберите двух разных участников пространства",
"fr": "Choisissez deux membres différents de l’espace"
},
"err_swap_intervals_overlap_740eb3": {
"en": "Swap intervals overlap",
"ru": "Интервалы обмена пересекаются",
"fr": "Les périodes d’échange se chevauchent"
},
"err_this_interval_already_has_an_approved_replacemen_09700a": {
"en": "This interval already has an approved replacement",
"ru": "На этот интервал уже есть подтверждённая подмена",
"fr": "Cette période a déjà un remplacement approuvé"
},
"err_the_original_employee_no_longer_owns_the_entire_c36051": {
"en": "The original employee no longer owns the entire interval; refresh the calendar",
"ru": "Исходный сотрудник больше не дежурит на всём интервале; обновите календарь",
"fr": "La personne initiale n’est plus affectée à toute la période ; actualisez le calendrier"
},
"err_the_replacement_employee_is_absent_during_this_i_3b5cc2": {
"en": "The replacement employee is absent during this interval",
"ru": "Подменяющий сотрудник отсутствует в этом интервале",
"fr": "Le remplaçant est absent pendant cette période"
},
"err_a_swap_must_exchange_shifts_between_the_same_two_dd579e": {
"en": "A swap must exchange shifts between the same two employees",
"ru": "Обмен должен происходить между теми же двумя сотрудниками",
"fr": "Un échange doit concerner les deux mêmes personnes"
},
"err_password_must_contain_12_256_characters_3169d0": {
"en": "Password must contain 12–256 characters",
"ru": "Пароль должен содержать от 12 до 256 символов",
"fr": "Le mot de passe doit contenir de 12 à 256 caractères"
},
"err_could_not_hash_password_212449": {
"en": "Could not hash password",
"ru": "Не удалось обработать пароль",
"fr": "Impossible de hacher le mot de passe"
},
"err_username_must_use_3_64_letters_numbers_dots_unde_2c6b6f": {
"en": "Username must use 3–64 letters, numbers, dots, underscores, or hyphens",
"ru": "Имя пользователя: от 3 до 64 букв, цифр, точек, подчёркиваний или дефисов",
"fr": "L’identifiant doit contenir de 3 à 64 lettres, chiffres, points, tirets bas ou traits d’union"
},
"err_this_username_is_already_registered_5ea7ea": {
"en": "This username is already registered",
"ru": "Это имя пользователя уже занято",
"fr": "Cet identifiant est déjà enregistré"
},
"err_invalid_credentials_e41784": {
"en": "Invalid credentials",
"ru": "Неверные данные для входа",
"fr": "Identifiants incorrects"
},
"err_a_contact_cannot_be_linked_to_a_login_through_an_68dd72": {
"en": "A contact cannot be linked to a login through an unverified email",
"ru": "Контакт нельзя связать с аккаунтом через неподтверждённый email",
"fr": "Un contact ne peut pas être lié à un compte via un e-mail non vérifié"
},
"err_select_the_workspace_user_from_the_directory_725423": {
"en": "Select the workspace user from the directory",
"ru": "Выберите пользователя пространства из справочника",
"fr": "Sélectionnez l’utilisateur de l’espace dans l’annuaire"
},
"err_cannot_remove_a_schedule_with_an_active_approved_a83aa7": {
"en": "Cannot remove a schedule with an active approved replacement",
"ru": "Нельзя удалить расписание с активной подтверждённой подменой",
"fr": "Impossible de supprimer un planning avec un remplacement approuvé actif"
},
"err_an_approved_replacement_references_a_missing_mem_fd0f2a": {
"en": "An approved replacement references a missing member",
"ru": "Подтверждённая подмена ссылается на отсутствующего участника",
"fr": "Un remplacement approuvé référence un membre absent"
},
"err_demo_mode_uses_the_local_preview_provider_extern_e125f3": {
"en": "Demo mode uses the local preview provider; external publication is disabled",
"ru": "В деморежиме используется локальный предпросмотр; внешняя публикация отключена",
"fr": "Le mode démo utilise l’aperçu local ; la publication externe est désactivée"
},
"err_a_published_jsm_destination_cannot_be_changed_in_7bc9a5": {
"en": "A published JSM destination cannot be changed in place; create a new team binding to preserve ownership",
"ru": "Нельзя изменить уже опубликованное назначение JSM; создайте новую привязку команды для сохранения владения",
"fr": "Une destination JSM publiée ne peut pas être modifiée sur place ; créez une nouvelle liaison d’équipe pour conserver la propriété"
},
"err_every_member_must_have_calendar_access_ca104e": {
"en": "Every member must have calendar access",
"ru": "Каждый участник должен иметь доступ к календарю",
"fr": "Chaque membre doit avoir accès au calendrier"
},
"err_ask_this_person_to_create_an_account_first_897eb2": {
"en": "Ask this person to create an account first",
"ru": "Попросите этого человека сначала создать аккаунт",
"fr": "Demandez à cette personne de créer d’abord un compte"
},
"err_add_at_most_100_contacts_at_once_e720fc": {
"en": "Add at most 100 contacts at once",
"ru": "Добавляйте не более 100 контактов за раз",
"fr": "Ajoutez au maximum 100 contacts à la fois"
},
"err_edit_an_existing_contact_in_team_settings_ad289b": {
"en": "Edit an existing contact in workspace settings",
"ru": "Измените существующий контакт в настройках пространства",
"fr": "Modifiez le contact existant dans les paramètres de l’espace"
},
"err_select_an_existing_workspace_user_from_the_direc_a09a03": {
"en": "Select an existing workspace user from the directory",
"ru": "Выберите существующего пользователя пространства из справочника",
"fr": "Choisissez un utilisateur existant de l’espace dans l’annuaire"
},
"err_comment_must_be_at_most_1000_characters_e5d5ef": {
"en": "Comment must be at most 1000 characters",
"ru": "Комментарий должен быть не длиннее 1000 символов",
"fr": "Le commentaire ne doit pas dépasser 1000 caractères"
},
"err_replacement_history_limit_reached_3b1168": {
"en": "Replacement history limit reached",
"ru": "Достигнут лимит истории подмен",
"fr": "Limite de l’historique des remplacements atteinte"
},
"err_you_can_give_your_own_shift_or_offer_to_cover_a_5e6f57": {
"en": "You can give your own shift or offer to cover a colleague",
"ru": "Можно отдать свою смену или предложить подменить коллегу",
"fr": "Vous pouvez céder votre astreinte ou proposer de remplacer un collègue"
},
"err_this_request_has_already_been_resolved_26b69e": {
"en": "This request has already been resolved",
"ru": "Этот запрос уже обработан",
"fr": "Cette demande a déjà été traitée"
},
"err_unknown_request_action_0db000": {
"en": "Unknown request action",
"ru": "Неизвестное действие запроса",
"fr": "Action de demande inconnue"
},
"err_fix_the_csv_errors_before_importing_fe5a4e": {
"en": "Fix the CSV errors before importing",
"ru": "Исправьте ошибки CSV перед импортом",
"fr": "Corrigez les erreurs du CSV avant l’importation"
},
"err_there_are_no_new_holidays_to_import_f77467": {
"en": "There are no new holidays to import",
"ru": "Нет новых праздников для импорта",
"fr": "Aucun nouveau jour férié à importer"
},
"err_workspace_settings_changed_refresh_before_saving_445ae7": {
"en": "Workspace settings changed. Refresh before saving.",
"ru": "Настройки пространства изменились. Обновите перед сохранением.",
"fr": "Les paramètres de l’espace ont changé. Actualisez avant d’enregistrer."
},
"err_invalid_stored_identifier_7c6a5b": {
"en": "Invalid stored identifier",
"ru": "Некорректный сохранённый идентификатор",
"fr": "Identifiant enregistré invalide"
},
"err_this_team_changed_refresh_before_saving_7f93ad": {
"en": "This workspace changed. Refresh before saving.",
"ru": "Данные пространства изменились. Обновите перед сохранением.",
"fr": "L’équipe a changé. Actualisez avant d’enregistrer."
},
"err_this_team_or_your_permissions_changed_refresh_be_c1e4c2": {
"en": "This workspace or your permissions changed. Refresh before saving.",
"ru": "Данные пространства или ваши права изменились. Обновите перед сохранением.",
"fr": "L’équipe ou vos autorisations ont changé. Actualisez avant d’enregistrer."
},
"err_invalid_calendar_range_c177b5": {
"en": "Invalid calendar range",
"ru": "Некорректный период календаря",
"fr": "Période du calendrier invalide"
},
"err_this_schedule_is_generated_remove_it_through_var_6da973": {
"en": "This schedule is generated. Remove it through Variables & rules so its source stays consistent",
"ru": "Это расписание сгенерировано. Удаляйте его через исходное правило на странице настройки.",
"fr": "Ce planning est généré. Supprimez-le via sa règle source dans la configuration."
},
"err_this_schedule_has_current_or_future_approved_rep_49a098": {
"en": "This schedule has current or future approved replacements. It must remain until those intervals have ended.",
"ru": "В расписании есть текущие или будущие подтверждённые подмены. Оно должно сохраняться до их окончания.",
"fr": "Ce planning contient des remplacements approuvés en cours ou futurs. Il doit être conservé jusqu’à leur fin."
},
"err_choose_a_different_existing_schedule_for_the_ref_ea3955": {
"en": "Choose a different existing schedule for the references",
"ru": "Выберите другое существующее расписание для ссылок",
"fr": "Choisissez un autre planning existant pour les références"
},
"err_choose_a_replacement_fallback_for_p0_6e17d4": {
"en": "Choose a replacement fallback for: {p0}",
"ru": "Выберите резервное расписание для: {p0}",
"fr": "Choisissez un planning de repli pour : {p0}"
},
"err_choose_a_replacement_schedule_or_edit_these_poli_f9b0c9": {
"en": "Choose a replacement schedule or edit these policies first; removing their last step would leave them empty: {p0}",
"ru": "Выберите другое расписание или сначала измените политики; удаление последнего шага оставит их пустыми: {p0}",
"fr": "Choisissez un autre planning ou modifiez d’abord ces politiques ; supprimer leur dernière étape les laisserait vides : {p0}"
},
"err_the_ordered_list_must_contain_every_current_rout_a7854b": {
"en": "The ordered list must contain every current routing rule exactly once. Refresh and try again.",
"ru": "В списке должно быть каждое текущее правило маршрутизации ровно один раз. Обновите и повторите.",
"fr": "La liste doit contenir chaque règle de routage actuelle exactement une fois. Actualisez et réessayez."
},
"err_validated_permutation_74a9c2": {
"en": "Validated permutation",
"ru": "Проверенный порядок",
"fr": "Permutation validée"
},
"err_absence_coverage_2fccc7": {
"en": "Absence coverage",
"ru": "Подмена на время отсутствия",
"fr": "Couverture d’absence"
},
"err_this_absence_no_longer_exists_8d51ae": {
"en": "This absence no longer exists",
"ru": "Это отсутствие больше не существует",
"fr": "Cette absence n’existe plus"
},
"err_absence_coverage_supports_1_500_affected_interva_d61c7a": {
"en": "Absence coverage supports 1–500 affected intervals per range",
"ru": "Подмена на время отсутствия поддерживает от 1 до 500 интервалов на диапазон",
"fr": "La couverture d’absence prend en charge de 1 à 500 intervalles par période"
},
"err_absence_coverage_can_replace_only_the_absent_emp_a99c60": {
"en": "Absence coverage can replace only the absent employee",
"ru": "Подмена при отсутствии может заменить только отсутствующего сотрудника",
"fr": "La couverture d’absence ne peut remplacer que la personne absente"
},
"err_replacement_must_stay_inside_the_absence_8ec5a5": {
"en": "Replacement must stay inside the absence",
"ru": "Подмена должна оставаться в пределах отсутствия",
"fr": "Le remplacement doit rester dans la période d’absence"
},
"err_absence_replacement_intervals_overlap_d053f4": {
"en": "Absence replacement intervals overlap",
"ru": "Интервалы подмены при отсутствии пересекаются",
"fr": "Les périodes de remplacement d’absence se chevauchent"
},
"err_choose_an_absence_of_1_366_duty_days_090954": {
"en": "Choose an absence of 1–366 duty days",
"ru": "Выберите отсутствие от 1 до 366 дней дежурства",
"fr": "Choisissez une absence de 1 à 366 jours d’astreinte"
},
"err_absence_must_end_within_the_next_year_767689": {
"en": "Absence must end within the next year",
"ru": "Отсутствие должно закончиться в течение следующего года",
"fr": "L’absence doit se terminer dans l’année à venir"
},
"err_this_person_already_has_an_overlapping_absence_f17a77": {
"en": "This person already has an overlapping absence",
"ru": "У этого сотрудника уже есть пересекающееся отсутствие",
"fr": "Cette personne a déjà une absence sur cette période"
},
"err_use_at_most_24_replacement_ranges_52203c": {
"en": "Use at most 24 replacement ranges",
"ru": "Используйте не более 24 интервалов подмены",
"fr": "Utilisez au maximum 24 périodes de remplacement"
},
"err_each_replacement_range_must_cover_1_90_duty_days_f18f21": {
"en": "Each replacement range must cover 1–90 duty days inside this absence",
"ru": "Каждый интервал подмены должен покрывать от 1 до 90 дней внутри отсутствия",
"fr": "Chaque remplacement doit couvrir de 1 à 90 jours dans cette absence"
},
"err_replacement_ranges_must_not_overlap_bf6aad": {
"en": "Replacement ranges must not overlap",
"ru": "Интервалы подмены не должны пересекаться",
"fr": "Les périodes de remplacement ne doivent pas se chevaucher"
},
"err_choose_a_different_workspace_user_or_email_conta_a0a168": {
"en": "Choose a different workspace user or email contact as replacement",
"ru": "Выберите другого пользователя пространства или контакт по email для подмены",
"fr": "Choisissez un autre utilisateur de l’espace ou contact e-mail comme remplaçant"
},
"err_timeline_covers_range_6c1844": {
"en": "Timeline covers range",
"ru": "Расписание покрывает интервал",
"fr": "Le planning couvre la période"
},
"err__p0_direct_user_team_notifications_are_not_chang_66a117": {
"en": "{p0}: direct user/team notifications are not changed by schedule absence. Review these recipients in the provider.",
"ru": "{p0}: прямые уведомления пользователю или команде не меняются при отсутствии в расписании. Проверьте получателей во внешнем сервисе.",
"fr": "{p0} : les notifications directes à une personne ou une équipe ne changent pas avec une absence. Vérifiez ces destinataires chez le fournisseur."
},
"err_csv_is_limited_to_256_kib_e30936": {
"en": "CSV is limited to 256 KiB",
"ru": "CSV ограничен 256 КиБ",
"fr": "Le CSV est limité à 256 Kio"
},
"err_could_not_read_csv_headers_2bbd8d": {
"en": "Could not read CSV headers",
"ru": "Не удалось прочитать заголовки CSV",
"fr": "Impossible de lire les en-têtes CSV"
},
"err_use_the_csv_headers_country_date_name_7d9639": {
"en": "Use the CSV headers country,date,name",
"ru": "Используйте заголовки CSV country,date,name",
"fr": "Utilisez les en-têtes CSV country,date,name"
},
"err_csv_must_have_exactly_three_columns_country_date_723e07": {
"en": "CSV must have exactly three columns: country,date,name",
"ru": "CSV должен содержать ровно три столбца: country,date,name",
"fr": "Le CSV doit contenir exactement trois colonnes : country,date,name"
},
"err_import_is_limited_to_2_000_rows_6e1c86": {
"en": "Import is limited to 2,000 rows",
"ru": "Импорт ограничен 2000 строками",
"fr": "L’import est limité à 2 000 lignes"
},
"err_row_line_invalid_csv_or_column_count_be7745": {
"en": "Row {line}: invalid CSV or column count",
"ru": "Строка {line}: некорректный CSV или число столбцов",
"fr": "Ligne {line} : CSV ou nombre de colonnes incorrect"
},
"err_row_line_use_an_iso_country_code_dd_mm_yyyy_or_y_bf011e": {
"en": "Row {line}: use an ISO country code, DD-MM-YYYY or YYYY-MM-DD date (2000–2100), and a name of 1–120 characters",
"ru": "Строка {line}: укажите ISO-код страны, дату DD-MM-YYYY или YYYY-MM-DD (2000–2100) и название из 1–120 символов",
"fr": "Ligne {line} : indiquez un code pays ISO, une date DD-MM-YYYY ou YYYY-MM-DD (2000–2100) et un nom de 1 à 120 caractères"
},
"err_row_line_two_different_names_for_p0_on_p1_4c127b": {
"en": "Row {line}: two different names for {p0} on {p1}",
"ru": "Строка {line}: два разных названия для {p0} на {p1}",
"fr": "Ligne {line} : deux noms différents pour {p0} le {p1}"
},
"err__p0_p1_existing_p2_is_kept_p3_will_not_replace_i_053cc0": {
"en": "{p0} · {p1}: existing ‘{p2}’ is kept; ‘{p3}’ will not replace it",
"ru": "{p0} · {p1}: существующий «{p2}» сохранится; «{p3}» не заменит его",
"fr": "{p0} · {p1} : « {p2} » est conservé ; « {p3} » ne le remplacera pas"
},
"err_the_team_would_exceed_2_000_holidays_496996": {
"en": "The workspace would exceed 2,000 holidays",
"ru": "У пространства будет более 2000 праздников",
"fr": "L’équipe dépasserait 2 000 jours fériés"
},
"err_data_is_limited_to_8_nested_levels_and_10_000_va_fa5d71": {
"en": "Data is limited to 8 nested levels and 10,000 values",
"ru": "Данные ограничены 8 уровнями вложенности и 10 000 значений",
"fr": "Les données sont limitées à 8 niveaux et 10 000 valeurs"
},
"err_data_entry_ids_must_be_unique_4725be": {
"en": "Data entry IDs must be unique",
"ru": "Идентификаторы записей должны быть уникальны",
"fr": "Les identifiants des entrées doivent être uniques"
},
"err_dictionary_keys_must_be_nonempty_and_unique_4e8ce4": {
"en": "Dictionary keys must be nonempty and unique",
"ru": "Ключи словаря должны быть непустыми и уникальными",
"fr": "Les clés du dictionnaire doivent être non vides et uniques"
},
"err_enter_a_valid_p0_value_3b830b": {
"en": "Enter a valid {p0} value",
"ru": "Введите корректное значение {p0}",
"fr": "Saisissez une valeur {p0} valide"
},
"err_use_at_most_100_workspace_variables_c7d391": {
"en": "Use at most 100 workspace variables",
"ru": "Используйте не более 100 переменных пространства",
"fr": "Utilisez au maximum 100 variables d’espace"
},
"err_variable_p0_973058": {
"en": "Variable {p0}",
"ru": "Переменная {p0}",
"fr": "Variable {p0}"
},
"err_choose_a_unique_variable_name_and_id_ee4fc3": {
"en": "Choose a unique variable name and ID",
"ru": "Укажите уникальные имя и идентификатор переменной",
"fr": "Choisissez un nom et un identifiant de variable uniques"
},
"err_bindings_can_be_nested_at_most_16_levels_b78618": {
"en": "Bindings can be nested at most 16 levels",
"ru": "Привязки могут иметь не более 16 уровней вложенности",
"fr": "Les liaisons sont limitées à 16 niveaux"
},
"err_choose_an_existing_workspace_variable_db6738": {
"en": "Choose an existing workspace variable",
"ru": "Выберите существующую переменную пространства",
"fr": "Choisissez une variable existante de l’espace"
},
"err_choose_an_earlier_iteration_an_item_is_available_4aef3d": {
"en": "Choose an earlier iteration; an item is available only inside its loop",
"ru": "Выберите предыдущую итерацию; элемент доступен только внутри своего цикла",
"fr": "Choisissez une itération précédente ; un élément est disponible uniquement dans sa boucle"
},
"err_choose_an_earlier_iteration_3562e3": {
"en": "Choose an earlier iteration",
"ru": "Выберите предыдущую итерацию",
"fr": "Choisissez une itération précédente"
},
"err_dictionary_lookup_needs_a_dictionary_variable_867cbc": {
"en": "Dictionary lookup needs a dictionary variable",
"ru": "Для поиска нужна переменная-словарь",
"fr": "La recherche nécessite une variable de type dictionnaire"
},
"err_choose_the_dictionary_lookup_key_66d49d": {
"en": "Choose the dictionary lookup key",
"ru": "Выберите ключ для поиска в словаре",
"fr": "Choisissez la clé de recherche du dictionnaire"
},
"err_dictionary_keys_must_be_text_8bcea8": {
"en": "Dictionary keys must be text",
"ru": "Ключи словаря должны быть текстом",
"fr": "Les clés du dictionnaire doivent être du texte"
},
"err_no_responsible_value_entry_for_key_key_06146d": {
"en": "No responsible/value entry for key ‘{key}’",
"ru": "Для ключа «{key}» нет ответственных или значения",
"fr": "Aucune entrée de responsables ou de valeur pour la clé « {key} »"
},
"err_choose_an_output_block_in_this_rule_or_a_shared_0758e5": {
"en": "Choose an output block in this rule or a shared rule without iterations",
"ru": "Выберите блок результата этого правила или общего правила без итераций",
"fr": "Choisissez un bloc de ce modèle ou d’un modèle partagé sans itérations"
},
"err_choose_a_value_source_00b9ad": {
"en": "Choose a value source",
"ru": "Выберите источник значения",
"fr": "Choisissez une source de valeur"
},
"err_field_or_list_position_key_does_not_exist_4a5e94": {
"en": "Field or list position ‘{key}’ does not exist",
"ru": "Поле или позиция списка «{key}» не существует",
"fr": "Le champ ou la position « {key} » n’existe pas"
},
"err_name_prefixes_suffixes_need_a_text_value_96730e": {
"en": "Name prefixes/suffixes need a text value",
"ru": "Префиксы и суффиксы названия требуют текстового значения",
"fr": "Les préfixes et suffixes nécessitent une valeur textuelle"
},
"err_condition_values_must_have_the_same_type_e949f9": {
"en": "Condition values must have the same type",
"ru": "Значения условия должны иметь одинаковый тип",
"fr": "Les valeurs de la condition doivent avoir le même type"
},
"err_contains_needs_a_list_and_a_value_or_two_text_va_b878ec": {
"en": "Contains needs a list and a value, or two text values",
"ru": "«Содержит» требует список и значение либо два текстовых значения",
"fr": "« Contient » nécessite une liste et une valeur, ou deux textes"
},
"err_choose_a_supported_condition_f7daba": {
"en": "Choose a supported condition",
"ru": "Выберите поддерживаемое условие",
"fr": "Choisissez une condition prise en charge"
},
"err_set_key_a7389f": {
"en": "Set {key}",
"ru": "Задайте {key}",
"fr": "Définissez {key}"
},
"err__key_must_be_text_4fd030": {
"en": "{key} must be text",
"ru": "{key} должно быть текстом",
"fr": "{key} doit être du texte"
},
"err__key_must_be_a_nonnegative_whole_number_2fb848": {
"en": "{key} must be a nonnegative whole number",
"ru": "{key} должно быть целым неотрицательным числом",
"fr": "{key} doit être un entier positif ou nul"
},
"err_choose_a_person_or_enter_an_email_address_a24e0a": {
"en": "Choose a person or enter an email address",
"ru": "Выберите сотрудника или введите email",
"fr": "Choisissez une personne ou saisissez un e-mail"
},
"err_person_is_not_in_this_workspace_or_team_director_c6d509": {
"en": "Person is not in this workspace or workspace directory",
"ru": "Сотрудника нет в справочнике пространства или пространства",
"fr": "Cette personne ne figure pas dans l’annuaire de l’espace ou de l’espace"
},
"err__value_is_not_an_email_address_a7e20a": {
"en": "‘{value}’ is not an email address",
"ru": "«{value}» не является email-адресом",
"fr": "« {value} » n’est pas une adresse e-mail"
},
"err_choose_a_schedule_or_policy_reference_f55953": {
"en": "Choose a schedule or policy reference",
"ru": "Выберите расписание или политику",
"fr": "Choisissez un planning ou une politique"
},
"err_name_needs_1_120_characters_408c00": {
"en": "Name needs 1–120 characters",
"ru": "Название должно содержать 1–120 символов",
"fr": "Le nom doit contenir de 1 à 120 caractères"
},
"err_handover_use_hh_mm_25d33e": {
"en": "handover: use HH:MM",
"ru": "handover: используйте HH:MM",
"fr": "handover : utilisez HH:MM"
},
"err_participants_choose_a_list_of_people_emails_d13655": {
"en": "participants: choose a list of people/emails",
"ru": "participants: выберите список сотрудников или email",
"fr": "participants : choisissez une liste de personnes ou d’e-mails"
},
"err_participants_choose_1_100_people_45308a": {
"en": "participants: choose 1–100 people",
"ru": "participants: выберите 1–100 сотрудников",
"fr": "participants : choisissez de 1 à 100 personnes"
},
"err_anchor_choose_a_valid_date_497062": {
"en": "anchor: choose a valid date",
"ru": "anchor: укажите корректную дату",
"fr": "anchor : choisissez une date valide"
},
"err_shift_days_use_1_366_days_801e00": {
"en": "shift_days: use 1–366 days",
"ru": "shift_days: укажите 1–366 дней",
"fr": "shift_days : indiquez de 1 à 366 jours"
},
"err_step_p0_delay_must_be_0_10080_minutes_b384d0": {
"en": "Step {p0}: delay must be 0–10080 minutes",
"ru": "Шаг {p0}: задержка должна быть 0–10080 минут",
"fr": "Étape {p0} : le délai doit être de 0 à 10080 minutes"
},
"err_escalation_repeat_is_limited_to_20_repeats_10080_9b06f3": {
"en": "Escalation repeat is limited to 20 repeats / 10080 minutes",
"ru": "Повтор эскалации ограничен 20 повторами / 10080 минутами",
"fr": "L’escalade est limitée à 20 répétitions / 10080 minutes"
},
"err_routing_condition_value_must_be_text_233f0e": {
"en": "Routing condition value must be text",
"ru": "Значение условия маршрутизации должно быть текстом",
"fr": "La valeur de la condition de routage doit être du texte"
},
"err_working_must_be_true_or_false_10625c": {
"en": "working must be true or false",
"ru": "working должно быть true или false",
"fr": "working doit être true ou false"
},
"err_choose_an_output_type_4ab1b5": {
"en": "Choose an output type",
"ru": "Выберите тип результата",
"fr": "Choisissez un type de résultat"
},
"err_use_at_most_50_generation_rules_abf459": {
"en": "Use at most 50 generation rules",
"ru": "Используйте не более 50 правил генерации",
"fr": "Utilisez au maximum 50 modèles de génération"
},
"err_rule_p0_eb6431": {
"en": "Rule {p0}",
"ru": "Правило {p0}",
"fr": "Modèle {p0}"
},
"err_use_a_unique_rule_id_name_at_most_4_iterations_a_c413b3": {
"en": "Use a unique rule ID/name, at most 4 iterations and 20 output blocks",
"ru": "Укажите уникальные имя и ID правила, не более 4 итераций и 20 блоков результата",
"fr": "Utilisez un nom et un ID uniques, au maximum 4 itérations et 20 blocs"
},
"err_iteration_ids_must_be_unique_bfb5cc": {
"en": "Iteration IDs must be unique",
"ru": "Идентификаторы итераций должны быть уникальными",
"fr": "Les identifiants d’itération doivent être uniques"
},
"err_iteration_p0_contains_duplicate_value_label_1743fe": {
"en": "Iteration {p0} contains duplicate value ‘{label}’",
"ru": "Итерация {p0} содержит повторяющееся значение «{label}»",
"fr": "L’itération {p0} contient la valeur « {label} » en double"
},
"err_for_each_needs_a_list_or_dictionary_c87f69": {
"en": "For each needs a list or dictionary",
"ru": "Для перебора нужен список или словарь",
"fr": "La boucle nécessite une liste ou un dictionnaire"
},
"err_expansion_is_limited_to_500_iteration_combinatio_81a6ef": {
"en": "Expansion is limited to 500 iteration combinations",
"ru": "Генерация ограничена 500 комбинациями итераций",
"fr": "La génération est limitée à 500 combinaisons d’itérations"
},
"err_output_block_ids_must_be_unique_across_rules_1efed6": {
"en": "Output block IDs must be unique across rules",
"ru": "Идентификаторы блоков результата должны быть уникальны во всех правилах",
"fr": "Les identifiants des blocs doivent être uniques entre les modèles"
},
"err_generated_identity_collides_with_a_manual_resour_4403f1": {
"en": "Generated identity collides with a manual resource",
"ru": "Идентификатор результата совпадает с ресурсом, созданным вручную",
"fr": "L’identifiant généré entre en conflit avec une ressource manuelle"
},
"err_expansion_exceeds_the_team_resource_budget_5669f8": {
"en": "Expansion exceeds the workspace resource budget",
"ru": "Результат превышает лимит ресурсов пространства",
"fr": "La génération dépasse la limite de ressources de l’espace"
},
"err_a_generated_schedule_has_current_future_approved_0abed7": {
"en": "A generated schedule has current/future approved replacements and cannot be removed",
"ru": "У сгенерированного расписания есть текущие или будущие подтверждённые подмены, его нельзя удалить",
"fr": "Un planning généré possède des remplacements approuvés en cours ou futurs et ne peut pas être supprimé"
},
"err_generated_configuration_61fd64": {
"en": "Generated configuration",
"ru": "Сгенерированная конфигурация",
"fr": "Configuration générée"
},
"err_generated_calendar_5e4edc": {
"en": "Generated calendar",
"ru": "Сгенерированный календарь",
"fr": "Calendrier généré"
},
"err_edit_generation_sources_in_variables_rules_8ec0b0": {
"en": "Edit generation sources in Variables & rules",
"ru": "Измените источники в разделе «Переменные и правила»",
"fr": "Modifiez les sources dans « Variables et modèles »"
},
"err_this_resource_is_generated_edit_its_source_in_va_b45498": {
"en": "This resource is generated. Edit its source in Variables & rules",
"ru": "Этот ресурс сгенерирован. Измените его источник в разделе «Переменные и правила»",
"fr": "Cette ressource est générée. Modifiez sa source dans « Variables et modèles »"
},
"err_a_generated_routing_rule_is_missing_df7dc4": {
"en": "A generated routing rule is missing",
"ru": "Отсутствует сгенерированное правило маршрутизации",
"fr": "Une règle de routage générée est manquante"
},
"err_generated_routing_rules_move_as_one_block_set_th_d09425": {
"en": "Generated routing rules move as one block. Set their position in Variables & rules",
"ru": "Сгенерированные правила маршрутизации перемещаются вместе. Задайте позицию в разделе «Переменные и правила»",
"fr": "Les règles de routage générées se déplacent ensemble. Définissez leur position dans « Variables et modèles »"
},
"err_the_preview_is_stale_check_the_updated_impact_be_85cacd": {
"en": "The preview is stale. Check the updated impact before applying.",
"ru": "Предпросмотр устарел. Проверьте обновлённые изменения перед применением.",
"fr": "L’aperçu est périmé. Vérifiez les effets actualisés avant d’appliquer."
},
"err_sign_in_to_continue_9a7843": {
"en": "Sign in to continue",
"ru": "Войдите, чтобы продолжить",
"fr": "Connectez-vous pour continuer"
},
"err_you_do_not_have_permission_for_this_action_6306e9": {
"en": "You do not have permission for this action",
"ru": "У вас нет прав на это действие",
"fr": "Vous n’avez pas les droits pour cette action"
},
"err_resource_not_found_2d1d4c": {
"en": "Resource not found",
"ru": "Ресурс не найден",
"fr": "Ressource introuvable"
},
"err_an_internal_error_occurred_96c51c": {
"en": "An internal error occurred",
"ru": "Произошла внутренняя ошибка",
"fr": "Une erreur interne est survenue"
},
"err_send_a_json_request_34adc9": {
"en": "Send a JSON request",
"ru": "Отправьте запрос в формате JSON",
"fr": "Envoyez une requête JSON"
},
"err_request_body_is_too_large_fda0d1": {
"en": "Request body is too large",
"ru": "Тело запроса слишком большое",
"fr": "Le corps de la requête est trop volumineux"
},
"err_invalid_json_request_650225": {
"en": "Invalid JSON request",
"ru": "Некорректный JSON-запрос",
"fr": "Requête JSON invalide"
},
"err_choose_a_valid_iana_timezone_176bd9": {
"en": "Choose a valid IANA timezone",
"ru": "Выберите корректный часовой пояс IANA",
"fr": "Choisissez un fuseau horaire IANA valide"
},
"err_choose_a_drift_policy_5a1cd6": {
"en": "Choose a drift policy",
"ru": "Выберите политику внешних изменений",
"fr": "Choisissez une politique de modifications externes"
},
"err_invalid_calendar_query_feced6": {
"en": "Invalid calendar query",
"ru": "Некорректный запрос календаря",
"fr": "Requête de calendrier invalide"
},
"err_choose_a_calendar_date_e25e18": {
"en": "Choose a calendar date",
"ru": "Выберите дату календаря",
"fr": "Choisissez une date du calendrier"
},
"err_calendar_year_must_be_2000_2100_8681fc": {
"en": "Calendar year must be 2000–2100",
"ru": "Год календаря должен быть от 2000 до 2100",
"fr": "L’année doit être comprise entre 2000 et 2100"
},
"err_calendar_range_must_be_1_366_days_8e177e": {
"en": "Calendar range must be 1–366 days",
"ru": "Период календаря должен быть 1–366 дней",
"fr": "La période doit être de 1 à 366 jours"
},
"err_invalid_start_date_92aea1": {
"en": "Invalid start date",
"ru": "Некорректная дата начала",
"fr": "Date de début invalide"
},
"err_invalid_end_date_68eb79": {
"en": "Invalid end date",
"ru": "Некорректная дата окончания",
"fr": "Date de fin invalide"
},
"err_missing_key_364001": {
"en": "Missing {key}",
"ru": "Не указано: {key}",
"fr": "Champ manquant : {key}"
},
"err_missing_configuration_revision_07cf43": {
"en": "Missing configuration revision",
"ru": "Не указана версия конфигурации",
"fr": "Version de configuration manquante"
},
"err_invalid_request_e_2228c5": {
"en": "Invalid request: {e}",
"ru": "Некорректный запрос: {e}",
"fr": "Requête invalide : {e}"
},
"err_login_limiter_unavailable_4f8aae": {
"en": "Login limiter unavailable",
"ru": "Ограничитель входа недоступен",
"fr": "Le limiteur de connexions est indisponible"
},
"err_too_many_sign_in_attempts_try_again_later_abceb2": {
"en": "Too many sign-in attempts. Try again later.",
"ru": "Слишком много попыток входа. Попробуйте позже.",
"fr": "Trop de tentatives de connexion. Réessayez plus tard."
},
"err_too_many_sign_in_attempts_try_again_in_five_minu_cc6ccd": {
"en": "Too many sign-in attempts. Try again in five minutes.",
"ru": "Слишком много попыток входа. Попробуйте через пять минут.",
"fr": "Trop de tentatives de connexion. Réessayez dans cinq minutes."
},
"err_random_team_recipients_and_repeats_require_jsm_p_69c0b1": {
"en": "Random team recipients and repeats require JSM Premium or Enterprise",
"ru": "Случайные получатели команды и повторы требуют JSM Premium или Enterprise",
"fr": "Les destinataires aléatoires et les répétitions nécessitent JSM Premium ou Enterprise"
},
"err_add_an_email_or_atlassian_account_id_for_every_s_7d378f": {
"en": "Add an email or Atlassian account ID for every scheduled person before publishing",
"ru": "Перед публикацией укажите email или ID аккаунта Atlassian для каждого дежурного",
"fr": "Avant publication, ajoutez un e-mail ou un ID de compte Atlassian pour chaque personne"
},
"err_publication_blocked_an_assigned_employee_is_abse_9a003e": {
"en": "Publication blocked: an assigned employee is absent. Arrange a replacement first.",
"ru": "Публикация заблокирована: назначенный сотрудник отсутствует. Сначала организуйте подмену.",
"fr": "Publication bloquée : une personne affectée est absente. Organisez d’abord un remplacement."
},
"err_external_publication_is_disabled_in_demo_mode_712662": {
"en": "External publication is disabled in demo mode",
"ru": "Внешняя публикация отключена в деморежиме",
"fr": "La publication externe est désactivée en mode démo"
},
"err_jsm_is_not_configured_4e6594": {
"en": "JSM is not configured",
"ru": "JSM не настроен",
"fr": "JSM n’est pas configuré"
},
"err_missing_prefix_email_deployment_secret_6e5753": {
"en": "Missing {prefix}_EMAIL deployment secret",
"ru": "Отсутствует секрет развёртывания {prefix}_EMAIL",
"fr": "Le secret de déploiement {prefix}_EMAIL est manquant"
},
"err_missing_prefix_token_deployment_secret_1f0352": {
"en": "Missing {prefix}_TOKEN deployment secret",
"ru": "Отсутствует секрет развёртывания {prefix}_TOKEN",
"fr": "Le secret de déploiement {prefix}_TOKEN est manquant"
},
"err_could_not_initialize_jsm_client_09bad0": {
"en": "Could not initialize JSM client",
"ru": "Не удалось инициализировать клиент JSM",
"fr": "Impossible d’initialiser le client JSM"
},
"err_configure_the_atlassian_directory_or_provide_acc_266b32": {
"en": "Configure the Atlassian directory or provide account IDs",
"ru": "Настройте справочник Atlassian или укажите ID аккаунтов",
"fr": "Configurez l’annuaire Atlassian ou indiquez les ID de comptes"
},
"err_atlassian_user_lookup_could_not_connect_6f312b": {
"en": "Atlassian user lookup could not connect",
"ru": "Не удалось подключиться к поиску пользователей Atlassian",
"fr": "Impossible de se connecter à la recherche d’utilisateurs Atlassian"
},
"err_atlassian_user_lookup_returned_http_p0_grant_bro_a0f887": {
"en": "Atlassian user lookup returned HTTP {p0}. Grant Browse users and groups permission, or provide an account ID.",
"ru": "Поиск пользователей Atlassian вернул HTTP {p0}. Предоставьте право Browse users and groups или укажите ID аккаунта.",
"fr": "La recherche Atlassian a renvoyé HTTP {p0}. Accordez le droit Browse users and groups ou indiquez un ID de compte."
},
"err_invalid_atlassian_directory_response_1c1889": {
"en": "Invalid Atlassian directory response",
"ru": "Некорректный ответ справочника Atlassian",
"fr": "Réponse invalide de l’annuaire Atlassian"
},
"err_atlassian_search_limit_reached_provide_an_explic_d1fe8a": {
"en": "Atlassian search limit reached. Provide an explicit account ID.",
"ru": "Достигнут лимит поиска Atlassian. Укажите ID аккаунта явно.",
"fr": "Limite de recherche Atlassian atteinte. Indiquez un ID de compte explicite."
},
"err_could_not_find_one_active_atlassian_account_with_39e9a9": {
"en": "Could not find one active Atlassian account with exact email {email}. Ensure it exists and the email is visible, or enter its account ID in provider settings.",
"ru": "Не найден единственный активный аккаунт Atlassian с точным email {email}. Проверьте наличие аккаунта и видимость email либо укажите ID аккаунта в настройках провайдера.",
"fr": "Aucun compte Atlassian actif unique avec l’e-mail exact {email}. Vérifiez son existence et la visibilité de l’e-mail, ou saisissez son ID dans les paramètres du fournisseur."
},
"err_person_id_needs_an_email_or_an_atlassian_account_360521": {
"en": "Person {id} needs an email or an Atlassian account ID",
"ru": "Для сотрудника {id} нужен email или ID аккаунта Atlassian",
"fr": "La personne {id} nécessite un e-mail ou un ID de compte Atlassian"
},
"err_jsm_request_timed_out_or_could_not_connect_5ce428": {
"en": "JSM request timed out or could not connect",
"ru": "Истекло время запроса JSM или не удалось подключиться",
"fr": "Délai JSM dépassé ou connexion impossible"
},
"err_jsm_returned_http_p0_for_p1_check_credentials_pl_b31caf": {
"en": "JSM returned HTTP {p0} for {p1}. Check credentials, plan capabilities, and provider permissions.",
"ru": "JSM вернул HTTP {p0} для {p1}. Проверьте учётные данные, возможности тарифа и права провайдера.",
"fr": "JSM a renvoyé HTTP {p0} pour {p1}. Vérifiez les identifiants, l’abonnement et les droits du fournisseur."
},
"err_jsm_returned_an_invalid_json_response_af8daf": {
"en": "JSM returned an invalid JSON response",
"ru": "JSM вернул некорректный JSON-ответ",
"fr": "JSM a renvoyé une réponse JSON invalide"
},
"err_jsm_collection_was_not_found_60d46c": {
"en": "JSM collection was not found",
"ru": "Коллекция JSM не найдена",
"fr": "Collection JSM introuvable"
},
"err_jsm_collection_exceeds_the_supported_pagination_a1136e": {
"en": "JSM collection exceeds the supported pagination limit",
"ru": "Коллекция JSM превышает поддерживаемый лимит страниц",
"fr": "La collection JSM dépasse la limite de pagination prise en charge"
},
"err_employee_id_has_no_jsm_account_mapping_7b6db1": {
"en": "Employee {id} has no JSM account mapping",
"ru": "У сотрудника {id} нет привязки аккаунта JSM",
"fr": "La personne {id} n’a pas de compte JSM associé"
},
"err_multiple_jsm_resources_have_the_same_meguri_owne_889887": {
"en": "Multiple JSM resources have the same Meguri ownership name",
"ru": "Несколько ресурсов JSM имеют одинаковое имя владения Meguri",
"fr": "Plusieurs ressources JSM portent le même nom de gestion Meguri"
},
"err_jsm_kind_was_deleted_externally_publication_paus_88543d": {
"en": "JSM {kind} was deleted externally. Publication paused.",
"ru": "Ресурс JSM {kind} удалён извне. Публикация приостановлена.",
"fr": "La ressource JSM {kind} a été supprimée à l’extérieur. Publication suspendue."
},
"err_jsm_kind_changed_outside_meguri_publication_paus_ac8220": {
"en": "JSM {kind} changed outside Meguri. Publication paused.",
"ru": "Ресурс JSM {kind} изменён вне Meguri. Публикация приостановлена.",
"fr": "La ressource JSM {kind} a été modifiée hors de Meguri. Publication suspendue."
},
"err_jsm_schedule_contains_external_overrides_publica_ff6a5d": {
"en": "JSM schedule contains external overrides. Publication paused.",
"ru": "Расписание JSM содержит внешние подмены. Публикация приостановлена.",
"fr": "Le planning JSM contient des remplacements externes. Publication suspendue."
},
"err_override_has_no_alias_0bab5d": {
"en": "Override has no alias",
"ru": "У подмены нет псевдонима",
"fr": "Le remplacement n’a pas d’alias"
},
"err_unexpected_jsm_override_identifier_896f12": {
"en": "Unexpected JSM override identifier",
"ru": "Неожиданный идентификатор подмены JSM",
"fr": "Identifiant de remplacement JSM inattendu"
},
"err_jsm_create_endpoint_was_not_found_1be86a": {
"en": "JSM create endpoint was not found",
"ru": "Не найден адрес создания ресурса JSM",
"fr": "Point de création JSM introuvable"
},
"err_unexpected_jsm_resource_identifier_dedd70": {
"en": "Unexpected JSM resource identifier",
"ru": "Неожиданный идентификатор ресурса JSM",
"fr": "Identifiant de ressource JSM inattendu"
},
"err_jsm_resource_is_missing_after_publication_3448ad": {
"en": "JSM resource is missing after publication",
"ru": "После публикации ресурс JSM отсутствует",
"fr": "La ressource JSM est absente après publication"
},
"err_jsm_kind_read_back_does_not_match_the_requested_63440e": {
"en": "JSM {kind} read-back does not match the requested configuration",
"ru": "Проверка JSM {kind} после записи не соответствует запрошенной конфигурации",
"fr": "La relecture JSM {kind} ne correspond pas à la configuration demandée"
},
"err_managed_by_meguri_p0_e8ef37": {
"en": "Managed by Meguri · {p0}",
"ru": "Управляется Meguri · {p0}",
"fr": "Géré par Meguri · {p0}"
},
"err_escalation_references_an_empty_schedule_2a0f3c": {
"en": "Escalation references an empty schedule",
"ru": "Эскалация ссылается на пустое расписание",
"fr": "L’escalade référence un planning vide"
},
"err_missing_escalation_mapping_3fd412": {
"en": "Missing escalation mapping",
"ru": "Отсутствует привязка эскалации",
"fr": "Correspondance d’escalade manquante"
},
"err_an_obsolete_jsm_resource_changed_externally_dele_a26bda": {
"en": "An obsolete JSM resource changed externally; deletion paused",
"ru": "Устаревший ресурс JSM изменён извне; удаление приостановлено",
"fr": "Une ressource JSM obsolète a changé à l’extérieur ; suppression suspendue"
},
"err_an_obsolete_jsm_schedule_has_external_overrides_c6de63": {
"en": "An obsolete JSM schedule has external overrides; deletion paused",
"ru": "Устаревшее расписание JSM содержит внешние подмены; удаление приостановлено",
"fr": "Un planning JSM obsolète contient des remplacements externes ; suppression suspendue"
},
"err_publication_time_limit_reached_completed_steps_a_e404c5": {
"en": "Publication time limit reached; completed steps are checkpointed for retry",
"ru": "Истекло время публикации; выполненные шаги сохранены для повтора",
"fr": "Délai de publication atteint ; les étapes terminées sont enregistrées pour la reprise"
},
"schedule_setup": {
"en": "Schedule setup",
"ru": "Настройка расписаний",
"fr": "Configuration des plannings"
},
"generated_resource": {
"en": "✦ Generated · edit the source",
"ru": "✦ Сгенерировано · изменение через источник",
"fr": "✦ Généré · modifier la source"
},
"manual_resource": {
"en": "Manual",
"ru": "Вручную",
"fr": "Manuel"
},
"generated_resources": {
"en": "Generated from your rules",
"ru": "Сгенерировано по вашим правилам",
"fr": "Généré à partir de vos modèles"
},
"which_projects": {
"en": "For which projects?",
"ru": "Для каких проектов?",
"fr": "Pour quels projets ?"
},
"repeat_for": {
"en": "One set for every item in",
"ru": "Один набор для каждого элемента",
"fr": "Un ensemble pour chaque élément de"
},
"one_schedule_set": {
"en": "One shared set of schedules",
"ru": "Один общий набор расписаний",
"fr": "Un ensemble de plannings partagé"
},
"custom_iterations": {
"en": "Custom loops and conditions",
"ru": "Свои циклы и условия",
"fr": "Boucles et conditions personnalisées"
},
"what_to_create": {
"en": "Schedules and alert rules",
"ru": "Расписания и правила алертов",
"fr": "Plannings et règles d’alerte"
},
"add_another_resource": {
"en": "+ Add schedule or rule",
"ru": "+ Расписание или правило",
"fr": "+ Planning ou règle"
},
"owners_by_project": {
"en": "By project → {name}",
"ru": "По проекту → {name}",
"fr": "Par projet → {name}"
},
"each_project_name": {
"en": "Project name → {name}",
"ru": "Имя проекта → {name}",
"fr": "Nom du projet → {name}"
},
"custom_binding": {
"en": "Custom source…",
"ru": "Другой источник…",
"fr": "Source personnalisée…"
},
"customize_value": {
"en": "Customize",
"ru": "Настроить",
"fr": "Personnaliser"
},
"result_example": {
"en": "Example result",
"ru": "Пример результата",
"fr": "Exemple de résultat"
},
"sample_missing": {
"en": "Complete the sources to see an example",
"ru": "Заполните источники для примера",
"fr": "Complétez les sources pour voir un exemple"
},
"search_people_or_email": {
"en": "Search people or enter email",
"ru": "Поиск сотрудника или email",
"fr": "Rechercher une personne ou saisir un e-mail"
},
"add_person_c126e2": {
"en": "+ Add person",
"ru": "+ Добавить сотрудника",
"fr": "+ Ajouter une personne"
},
"publication_absent_detail": {
"en": "Publication blocked: {person} is absent in “{schedule}”, {start} → {end}. Arrange cover for this interval.",
"ru": "Публикация заблокирована: {person} отсутствует в расписании «{schedule}», {start} → {end}. Назначьте подмену на этот интервал.",
"fr": "Publication bloquée : {person} est absent dans « {schedule} », {start} → {end}. Organisez un remplacement sur cet intervalle."
},
"coverage_to_arrange": {
"en": "Uncovered intervals: {count}",
"ru": "Интервалы без подмены: {count}",
"fr": "Intervalles sans remplacement : {count}"
},
"open_affected_day": {
"en": "Arrange cover",
"ru": "Назначить подмену",
"fr": "Organiser un remplacement"
},
"duration_hours": {
"en": "{count}h",
"ru": "{count}ч",
"fr": "{count}h"
},
"duration_minutes": {
"en": "{count}m",
"ru": "{count}м",
"fr": "{count}min"
},
"enum_tags": {
"en": "tags",
"ru": "теги",
"fr": "étiquettes"
},
"enum_message": {
"en": "message",
"ru": "сообщение",
"fr": "message"
},
"enum_description": {
"en": "description",
"ru": "описание",
"fr": "description"
},
"enum_source": {
"en": "source",
"ru": "источник",
"fr": "source"
},
"enum_equals": {
"en": "equals",
"ru": "равно",
"fr": "égal à"
},
"enum_contains": {
"en": "contains",
"ru": "содержит",
"fr": "contient"
},
"enum_starts-with": {
"en": "starts with",
"ru": "начинается с",
"fr": "commence par"
},
"enum_matches": {
"en": "matches",
"ru": "соответствует",
"fr": "correspond à"
},
"err_jsm_mapping_contains_a_non_member": {
"en": "JSM mapping contains a non-member",
"ru": "Привязка JSM содержит сотрудника вне команды",
"fr": "La correspondance JSM contient une personne hors de l’équipe"
},
"err_jsm_collection_has_no_values": {
"en": "JSM collection has no values",
"ru": "Коллекция JSM не содержит значений",
"fr": "La collection JSM ne contient aucune valeur"
},
"err_jsm_resource_disappeared_during_publication": {
"en": "JSM resource disappeared during publication",
"ru": "Ресурс JSM исчез во время публикации",
"fr": "La ressource JSM a disparu pendant la publication"
},
"err_jsm_created_resource_without_an_id": {
"en": "JSM created resource without an ID",
"ru": "JSM создал ресурс без идентификатора",
"fr": "JSM a créé une ressource sans identifiant"
},
"err_jsm_supports_at_most_500_rotations_per_schedule_shorten_the_publication_horizon": {
"en": "JSM supports at most 500 rotations per schedule; shorten the publication horizon",
"ru": "JSM поддерживает не более 500 ротаций на расписание; сократите горизонт публикации",
"fr": "JSM prend en charge au maximum 500 rotations par planning ; réduisez l’horizon de publication"
},
"err_a_collection_supports_at_most_1_000_entries": {
"en": "A collection supports at most 1,000 entries",
"ru": "Коллекция поддерживает не более 1000 записей",
"fr": "Une collection prend en charge au maximum 1 000 entrées"
},
"enum_configuration.updated": {
"en": "Configuration updated",
"ru": "Конфигурация обновлена",
"fr": "Configuration mise à jour"
},
"enum_schedule.removed": {
"en": "Schedule removed",
"ru": "Расписание удалено",
"fr": "Planning supprimé"
},
"enum_routing.reordered": {
"en": "Routing reordered",
"ru": "Порядок маршрутизации изменён",
"fr": "Routage réordonné"
},
"enum_integration.updated": {
"en": "Provider updated",
"ru": "Провайдер обновлён",
"fr": "Fournisseur mis à jour"
},
"enum_member.permissions_changed": {
"en": "Access changed",
"ru": "Доступ изменён",
"fr": "Droits modifiés"
},
"enum_absence.created": {
"en": "Absence created",
"ru": "Отсутствие создано",
"fr": "Absence créée"
},
"enum_absence.forced": {
"en": "Absence and cover applied",
"ru": "Отсутствие и подмены применены",
"fr": "Absence et remplacements appliqués"
},
"enum_replacement.requested": {
"en": "Replacement requested",
"ru": "Запрошена подмена",
"fr": "Remplacement demandé"
},
"enum_replacement.forced": {
"en": "Replacement applied without approval",
"ru": "Подмена применена без согласования",
"fr": "Remplacement appliqué sans accord"
},
"enum_replacement.approve": {
"en": "Replacement approved",
"ru": "Подмена подтверждена",
"fr": "Remplacement approuvé"
},
"enum_replacement.reject": {
"en": "Replacement declined",
"ru": "Подмена отклонена",
"fr": "Remplacement refusé"
},
"enum_replacement.cancel": {
"en": "Replacement cancelled",
"ru": "Подмена отменена",
"fr": "Remplacement annulé"
},
"enum_holidays.imported": {
"en": "Holidays imported",
"ru": "Праздники импортированы",
"fr": "Jours fériés importés"
},
"enum_generation.applied": {
"en": "Generation applied",
"ru": "Генерация применена",
"fr": "Génération appliquée"
},
"enum_publication.succeeded": {
"en": "Publication succeeded",
"ru": "Публикация выполнена",
"fr": "Publication réussie"
},
"enum_tenant.drift_policy_changed": {
"en": "Drift policy changed",
"ru": "Политика внешних изменений обновлена",
"fr": "Politique de modifications externes mise à jour"
},
"enum_tenant.working_interval_updated": {
"en": "Working interval updated",
"ru": "Рабочий интервал обновлён",
"fr": "Plage de travail mise à jour"
},
"enum_person.country_changed": {
"en": "Country updated",
"ru": "Страна обновлена",
"fr": "Pays mis à jour"
},
"enum_publication.requested": {
"en": "Publication requested",
"ru": "Публикация запрошена",
"fr": "Publication demandée"
},
"enum_workspace.variables_applied": {
"en": "Shared variables applied",
"ru": "Общие переменные применены",
"fr": "Variables partagées appliquées"
},
"enum_demo.requests_expired": {
"en": "Demo requests expired",
"ru": "Срок демозапросов истёк",
"fr": "Demandes de démonstration expirées"
},
"cover_invalid_time": {
"en": "Enter a valid time as HH:MM",
"ru": "Введите корректное время HH:MM",
"fr": "Saisissez une heure valide au format HH:MM"
},
"cover_start_date": {
"en": "Start date",
"ru": "Дата начала",
"fr": "Date de début"
},
"cover_start_time": {
"en": "Start time",
"ru": "Время начала",
"fr": "Heure de début"
},
"cover_end_date": {
"en": "End date",
"ru": "Дата окончания",
"fr": "Date de fin"
},
"cover_end_time": {
"en": "End time",
"ru": "Время окончания",
"fr": "Heure de fin"
},
"cover_return_date": {
"en": "Return start date",
"ru": "Начало ответной подмены",
"fr": "Date de début en retour"
},
"cover_return_time": {
"en": "Return start time",
"ru": "Время начала ответной подмены",
"fr": "Heure de début en retour"
},
"cover_return_end_date": {
"en": "Return end date",
"ru": "Окончание ответной подмены",
"fr": "Date de fin en retour"
},
"cover_return_end_time": {
"en": "Return end time",
"ru": "Время окончания ответной подмены",
"fr": "Heure de fin en retour"
},
"cover_timezone": {
"en": "Dates and times in {zone}",
"ru": "Даты и время в {zone}",
"fr": "Dates et heures en {zone}"
},
"cover_swap_optional": {
"en": "Offer a shift in return",
"ru": "Предложить смену взамен",
"fr": "Proposer un créneau en retour"
},
"cover_checking": {
"en": "Checking…",
"ru": "Проверяем…",
"fr": "Vérification…"
},
"generation_check_failed": {
"en": "Could not check the draft",
"ru": "Не удалось проверить черновик",
"fr": "Impossible de vérifier le brouillon"
},
"generation_checked": {
"en": "Draft checked",
"ru": "Черновик проверен",
"fr": "Brouillon vérifié"
},
"generation_show_errors": {
"en": "Show details",
"ru": "Подробности",
"fr": "Afficher les détails"
},
"generation_hide_errors": {
"en": "Hide details",
"ru": "Скрыть подробности",
"fr": "Masquer les détails"
},
"cover_local_time_invalid": {
"en": "The local time {date} {time} is ambiguous or does not exist in {zone}. Choose another time.",
"ru": "Местное время {date} {time} неоднозначно или не существует в зоне {zone}. Выберите другое время.",
"fr": "L’heure locale {date} {time} est ambiguë ou n’existe pas dans le fuseau {zone}. Choisissez une autre heure."
},
"binding_preview_title": {
"en": "Value preview",
"ru": "Предпросмотр значения",
"fr": "Aperçu de la valeur"
},
"binding_preview_hint": {
"en": "Example · validation runs on the server",
"ru": "Пример · проверка выполняется на сервере",
"fr": "Exemple · validation sur le serveur"
},
"binding_preview_row": {
"en": "Example · {row}",
"ru": "Пример · {row}",
"fr": "Exemple · {row}"
},
"binding_preview_resource": {
"en": "Resource reference · example, not its identifier",
"ru": "Ссылка на ресурс · пример, не его идентификатор",
"fr": "Référence de ressource · exemple, pas son identifiant"
},
"source_saved_resource": {
"en": "Manual schedule · {name}",
"ru": "Ручное расписание · {name}",
"fr": "Planning manuel · {name}"
},
"source_saved_policy": {
"en": "Manual escalation · {name}",
"ru": "Ручная эскалация · {name}",
"fr": "Escalade manuelle · {name}"
},
"source_generated_schedule": {
"en": "Generated schedule",
"ru": "Генерируемое расписание",
"fr": "Planning généré"
},
"source_generated_policy": {
"en": "Generated escalation",
"ru": "Генерируемая эскалация",
"fr": "Escalade générée"
},
"source_generated_resource": {
"en": "Generated resource",
"ru": "Генерируемый ресурс",
"fr": "Ressource générée"
},
"generated_reference_hint": {
"en": "The reference is resolved during generation; repeated rules use the resource for the current item.",
"ru": "Ссылка подставится при генерации; для повторяющихся правил — на ресурс текущего элемента.",
"fr": "La référence est résolue à la génération ; les règles répétées utilisent la ressource de l’élément courant."
},
"generated_direct_reference_hint": {
"en": "This saved reference points to a generated resource. Choose “From a generated resource” or select a manual resource.",
"ru": "Сохранённая ссылка указывает на сгенерированный ресурс. Выберите «Из генерируемого ресурса» или ресурс, созданный вручную.",
"fr": "Cette référence enregistrée pointe vers une ressource générée. Choisissez « Depuis une ressource générée » ou une ressource manuelle."
},
"audit_raw_details": {
"en": "Original JSON · identifiers and UTC timestamps",
"ru": "Исходный JSON · идентификаторы и время UTC",
"fr": "JSON original · identifiants et dates UTC"
},
"setup_sources": {
"en": "Data & generation",
"ru": "Данные и генерация",
"fr": "Données et génération"
},
"setup_sources_hint": {
"en": "Shared data and generation rules. Review changes before applying.",
"ru": "Общие данные и правила генерации. Проверьте изменения перед применением.",
"fr": "Données partagées et règles de génération. Vérifiez les modifications avant de les appliquer."
},
"setup_review_changes": {
"en": "Review changes",
"ru": "Проверка изменений",
"fr": "Vérifier les modifications"
},
"setup_availability": {
"en": "Absences & holidays",
"ru": "Отсутствия и праздники",
"fr": "Absences et jours fériés"
},
"setup_view_absences": {
"en": "View absences",
"ru": "Посмотреть отсутствия",
"fr": "Voir les absences"
},
"setup_resources": {
"en": "Resources",
"ru": "Ресурсы",
"fr": "Ressources"
},
"manual_resources": {
"en": "Manually created",
"ru": "Созданные вручную",
"fr": "Créées manuellement"
},
"create_schedule": {
"en": "+ Schedule",
"ru": "+ Расписание",
"fr": "+ Planning"
},
"create_escalation": {
"en": "+ Escalation policy",
"ru": "+ Политика эскалации",
"fr": "+ Politique d’escalade"
},
"create_routing": {
"en": "+ Routing rule",
"ru": "+ Правило маршрутизации",
"fr": "+ Règle de routage"
},
"resource_schedule": {
"en": "Schedule",
"ru": "Расписание",
"fr": "Planning"
},
"resource_escalation": {
"en": "Escalation",
"ru": "Эскалация",
"fr": "Escalade"
},
"resource_routing": {
"en": "Routing",
"ru": "Маршрутизация",
"fr": "Routage"
},
"generated_symbol": {
"en": "✦",
"ru": "✦",
"fr": "✦"
},
"rule_iterations_short": {
"en": "Iterations: {count}",
"ru": "Итераций: {count}",
"fr": "Itérations : {count}"
},
"rule_blocks_short": {
"en": "Blocks: {count}",
"ru": "Блоков: {count}",
"fr": "Blocs : {count}"
},
"generated_by_rule": {
"en": "Generated by: {name}",
"ru": "Создано правилом: {name}",
"fr": "Généré par : {name}"
},
"rotation_brief": {
"en": "Every {days} d · {time} {zone}",
"ru": "Каждые {days} д. · {time} {zone}",
"fr": "Tous les {days} j · {time} {zone}"
},
"fallback_brief": {
"en": "Fallback: {name}",
"ru": "Резерв: {name}",
"fr": "Repli : {name}"
},
"escalation_step_brief": {
"en": "{minutes} min: {recipient}",
"ru": "{minutes} мин: {recipient}",
"fr": "{minutes} min : {recipient}"
},
"validation_details": {
"en": "Validation status and details",
"ru": "Статус проверки и подробности",
"fr": "État de validation et détails"
},
"validation_not_checked": {
"en": "Not checked yet",
"ru": "Ещё не проверено",
"fr": "Pas encore vérifié"
},
"validation_no_errors": {
"en": "No errors found.",
"ru": "Ошибок не найдено.",
"fr": "Aucune erreur détectée."
},
"validation_on_save": {
"en": "This form is validated when saved.",
"ru": "Эта форма проверяется при сохранении.",
"fr": "Ce formulaire est validé lors de l’enregistrement."
},
"validation_secondary": {
"en": "May be a consequence of an earlier error. Fix the source error first.",
"ru": "Может быть следствием предыдущей ошибки. Сначала исправьте исходную.",
"fr": "Peut découler d’une erreur précédente. Corrigez d’abord la cause."
},
"validation_edit_rule": {
"en": "Edit rule: {name}",
"ru": "Изменить правило: {name}",
"fr": "Modifier la règle : {name}"
},
"validation_edit_variable": {
"en": "Edit variable: {name}",
"ru": "Изменить переменную: {name}",
"fr": "Modifier la variable : {name}"
},
"validation_other_team": {
"en": "Open affected team in a new tab",
"ru": "Открыть затронутую команду в новой вкладке",
"fr": "Ouvrir l’équipe concernée dans un nouvel onglet"
},
"absence_all_schedules": {
"en": "All affected schedules",
"ru": "Все затронутые расписания",
"fr": "Tous les plannings concernés"
},
"absence_end_exclusive": {
"en": "Range ends (exclusive)",
"ru": "Конец интервала (не включительно)",
"fr": "Fin de la plage (exclue)"
},
"absence_interval_zone": {
"en": "Dates and times: {zone}",
"ru": "Даты и время: {zone}",
"fr": "Dates et heures : {zone}"
},
"absence_invalid_interval": {
"en": "Choose a positive interval of at most 90 days within the absence.",
"ru": "Выберите интервал до 90 дней с концом после начала, в пределах отсутствия.",
"fr": "Choisissez une plage positive de 90 jours maximum dans l’absence."
},
"start_time": {
"en": "Start time",
"ru": "Время начала",
"fr": "Heure de début"
},
"end_time": {
"en": "End time",
"ru": "Время окончания",
"fr": "Heure de fin"
},
"coverage_attention": {
"en": "Coverage to complete",
"ru": "Нужно завершить подмены",
"fr": "Remplacements à finaliser"
},
"coverage_publication_wait": {
"en": "Absence is already active. The new schedule cannot be published until all coverage is confirmed.",
"ru": "Отсутствие уже действует. Новое расписание нельзя опубликовать, пока все подмены не подтверждены.",
"fr": "L’absence est déjà active. Le nouvel horaire ne peut pas être publié tant que tous les remplacements ne sont pas confirmés."
},
"coverage_waiting": {
"en": "Awaiting approval",
"ru": "Ожидает подтверждения",
"fr": "En attente de confirmation"
},
"coverage_missing": {
"en": "No substitute assigned",
"ru": "Замена не назначена",
"fr": "Aucun remplaçant désigné"
},
"coverage_substitute": {
"en": "Substitute: {names}",
"ru": "Заменяет: {names}",
"fr": "Remplaçant : {names}"
},
"coverage_waiting_for": {
"en": "Waiting for: {names}",
"ru": "Ждём подтверждения: {names}",
"fr": "Confirmation attendue de : {names}"
},
"coverage_open_requests": {
"en": "View requests",
"ru": "Открыть запросы",
"fr": "Voir les demandes"
},
"generated_routing_after_named": {
"en": "After “{name}”",
"ru": "После «{name}»",
"fr": "Après « {name} »"
},
"schedule_type_named": {
"en": "Schedule: {name}",
"ru": "Расписание: {name}",
"fr": "Planning : {name}"
},
"resource_detail_type": {
"en": "Schedule type",
"ru": "Тип расписания",
"fr": "Type de planning"
},
"resource_detail_cycle": {
"en": "Rotation cycle",
"ru": "Цикл ротации",
"fr": "Cycle de rotation"
},
"resource_rotation_cycle": {
"en": "Every {days} days · starts {date}",
"ru": "Каждые {days} дней · начало {date}",
"fr": "Tous les {days} jours · début le {date}"
},
"resource_person_order": {
"en": "Assignee {number}",
"ru": "Ответственный {number}",
"fr": "Responsable {number}"
},
"resource_rotation_order": {
"en": "Takes the next shift in this order",
"ru": "Принимает смену в указанном порядке",
"fr": "Prend le prochain tour dans cet ordre"
},
"resource_fixed_owner": {
"en": "Always assigned to this schedule",
"ru": "Постоянно назначен на это расписание",
"fr": "Toujours affecté à ce planning"
},
"resource_fallback_when": {
"en": "When everyone above is unavailable",
"ru": "Если все ответственные выше недоступны",
"fr": "Si tous les responsables précédents sont indisponibles"
},
"resource_detail_trigger": {
"en": "Trigger",
"ru": "Начало",
"fr": "Déclencheur"
},
"resource_step_number": {
"en": "Step {number}",
"ru": "Шаг {number}",
"fr": "Étape {number}"
},
"resource_detail_repeat": {
"en": "Repeat",
"ru": "Повторение",
"fr": "Répétition"
},
"resource_all_conditions": {
"en": "Match all conditions",
"ru": "Все условия должны совпасть",
"fr": "Toutes les conditions doivent correspondre"
},
"resource_detail_destination": {
"en": "Route to",
"ru": "Направить в",
"fr": "Acheminer vers"
},
"builder_rule_name": {
"en": "Rule name",
"ru": "Название правила",
"fr": "Nom de la règle"
},
"builder_iterations": {
"en": "Iterations",
"ru": "Итерации",
"fr": "Itérations"
},
"builder_once": {
"en": "No iterations · generate once",
"ru": "Без итераций · создать один раз",
"fr": "Sans itération · générer une fois"
},
"builder_alias": {
"en": "Item alias",
"ru": "Имя элемента",
"fr": "Alias de l’élément"
},
"builder_alias_placeholder": {
"en": "Item",
"ru": "Элемент",
"fr": "Élément"
},
"builder_choose_collection": {
"en": "Select a list or dictionary",
"ru": "Выберите список или словарь",
"fr": "Choisir une liste ou un dictionnaire"
},
"builder_remove_iteration": {
"en": "Remove iteration {name}",
"ru": "Удалить итерацию {name}",
"fr": "Supprimer l’itération {name}"
},
"builder_filter": {
"en": "Condition",
"ru": "Условие",
"fr": "Condition"
},
"builder_outputs": {
"en": "Output blocks",
"ru": "Выходные блоки",
"fr": "Blocs de sortie"
},
"builder_add_output": {
"en": "Add a schedule, escalation policy or routing rule.",
"ru": "Добавьте расписание, политику эскалации или правило роутинга.",
"fr": "Ajouter un planning, une politique d’escalade ou une règle de routage."
},
"binding_picker_button": {
"en": "⋯",
"ru": "⋯",
"fr": "⋯"
},
"preview_created": {
"en": "+{count} new",
"ru": "+{count} новых",
"fr": "+{count} nouveaux"
},
"preview_updated": {
"en": "{count} updated",
"ru": "{count} изменено",
"fr": "{count} modifiés"
},
"preview_removed": {
"en": "−{count} removed",
"ru": "−{count} удалено",
"fr": "−{count} supprimés"
},
"preview_unchanged": {
"en": "Unchanged: {count}",
"ru": "Без изменений: {count}",
"fr": "Inchangés : {count}"
},
"demo_extra_users": {
"en": "dave / erin",
"ru": "dave / erin",
"fr": "dave / erin"
},
"demo_extra_users_hint": {
"en": "Engineering · service ownership and cover",
"ru": "Engineering · ответственные и подмены",
"fr": "Engineering · responsables et remplacements"
},
"rule_result_title": {
"en": "Generated resources",
"ru": "Ресурсы правила",
"fr": "Ressources générées"
},
"rule_result_count": {
"en": "Resources: {count}",
"ru": "Ресурсов: {count}",
"fr": "Ressources : {count}"
},
"rule_result_invalid": {
"en": "Check the configuration errors below",
"ru": "Исправьте ошибки конфигурации — подробности ниже",
"fr": "Corrigez les erreurs de configuration ci-dessous"
},
"rule_result_waiting": {
"en": "Waiting for server validation",
"ru": "Ожидание проверки сервера",
"fr": "En attente de validation du serveur"
},
"rule_result_disabled": {
"en": "Rule disabled — no resources",
"ru": "Правило выключено — ресурсов нет",
"fr": "Règle désactivée — aucune ressource"
},
"rule_result_empty": {
"en": "No resources — check iterations, filter and output blocks",
"ru": "Ресурсов нет — проверьте итерации, условие и выходные блоки",
"fr": "Aucune ressource — vérifiez les itérations, le filtre et les blocs de sortie"
},
"enum_workspace.created": {
"en": "Workspace created",
"ru": "Пространство создано",
"fr": "Espace créé"
},
"workspace_settings_only": {
"en": "Change workspace settings using their dedicated forms.",
"ru": "Меняйте настройки пространства в соответствующих формах.",
"fr": "Modifiez les paramètres de l’espace dans leurs formulaires dédiés."
},
"data_values_mode": {
"en": "Values",
"ru": "Значения",
"fr": "Valeurs"
},
"data_structure_mode": {
"en": "Structure",
"ru": "Структура",
"fr": "Structure"
},
"data_toggle": {
"en": "Expand or collapse {name}",
"ru": "Развернуть или свернуть {name}",
"fr": "Développer ou réduire {name}"
},
"data_duplicate": {
"en": "Duplicate entry",
"ru": "Дублировать элемент",
"fr": "Dupliquer l’entrée"
},
"data_expanded_symbol": {
"en": "▾",
"ru": "▾",
"fr": "▾"
},
"data_collapsed_symbol": {
"en": "▸",
"ru": "▸",
"fr": "▸"
},
"data_duplicate_symbol": {
"en": "⧉",
"ru": "⧉",
"fr": "⧉"
},
"map_open": {
"en": "Map",
"ru": "Карта",
"fr": "Carte"
},
"map_title": {
"en": "Generation map",
"ru": "Карта генерации",
"fr": "Carte de génération"
},
"map_hint": {
"en": "Variables → generators → resources. Select a colored value to explore its origin.",
"ru": "Переменные → генераторы → ресурсы. Нажмите на цветное значение, чтобы исследовать его происхождение.",
"fr": "Variables → générateurs → ressources. Sélectionnez une valeur colorée pour explorer sa provenance."
},
"map_close": {
"en": "Close",
"ru": "Закрыть",
"fr": "Fermer"
},
"map_refresh": {
"en": "Refresh preview",
"ru": "Обновить превью",
"fr": "Actualiser l’aperçu"
},
"map_zoom_out": {
"en": "Zoom out",
"ru": "Уменьшить",
"fr": "Dézoomer"
},
"map_zoom_in": {
"en": "Zoom in",
"ru": "Увеличить",
"fr": "Zoomer"
},
"map_minus": {
"en": "−",
"ru": "−",
"fr": "−"
},
"map_plus": {
"en": "+",
"ru": "+",
"fr": "+"
},
"map_fit": {
"en": "Fit all",
"ru": "Показать всё",
"fr": "Tout afficher"
},
"map_selected": {
"en": "Selected node",
"ru": "Выбранный узел",
"fr": "Nœud sélectionné"
},
"map_expand": {
"en": "Expand outputs",
"ru": "Показать выходные блоки",
"fr": "Afficher les sorties"
},
"map_collapse": {
"en": "Collapse outputs",
"ru": "Свернуть выходные блоки",
"fr": "Réduire les sorties"
},
"map_edit": {
"en": "Edit source",
"ru": "Редактировать источник",
"fr": "Modifier la source"
},
"map_pass": {
"en": "Iteration pass",
"ru": "Проход итерации",
"fr": "Passage d’itération"
},
"map_all": {
"en": "All passes",
"ru": "Все проходы",
"fr": "Tous les passages"
},
"map_inputs": {
"en": "Inputs",
"ru": "Входы",
"fr": "Entrées"
},
"map_resources": {
"en": "Resources · {count}",
"ru": "Ресурсы · {count}",
"fr": "Ressources · {count}"
},
"map_empty": {
"en": "No resources produced here.",
"ru": "Здесь ресурсы не созданы.",
"fr": "Aucune ressource produite ici."
},
"map_unverified": {
"en": "Fix validation errors to inspect verified resources.",
"ru": "Исправьте ошибки проверки, чтобы увидеть проверенные ресурсы.",
"fr": "Corrigez les erreurs pour voir les ressources validées."
},
"map_variables": {
"en": "Variables",
"ru": "Переменные",
"fr": "Variables"
},
"map_rules": {
"en": "Rule order →",
"ru": "Порядок правил →",
"fr": "Ordre des règles →"
},
"map_iterations": {
"en": "Iteration / resource group",
"ru": "Итерация / группа ресурсов",
"fr": "Itération / groupe de ressources"
},
"map_readonly": {
"en": "Drag to pan · Scroll to zoom · Moving nodes only changes this view",
"ru": "Перетаскивайте поле · Масштаб колёсиком · Перемещение узлов меняет только вид",
"fr": "Glisser pour naviguer · Molette pour zoomer · Déplacer les nœuds ne modifie que cette vue"
},
"map_once": {
"en": "Single run",
"ru": "Один запуск",
"fr": "Exécution unique"
},
"map_included": {
"en": "Included",
"ru": "Включён",
"fr": "Inclus"
},
"map_filtered": {
"en": "Filtered out · {count}",
"ru": "Отфильтровано · {count}",
"fr": "Exclus · {count}"
},
"map_error": {
"en": "Error",
"ru": "Ошибка",
"fr": "Erreur"
},
"map_invalid": {
"en": "Validation error",
"ru": "Ошибка проверки",
"fr": "Erreur de validation"
},
"map_count": {
"en": "Resources · {count}",
"ru": "Ресурсы · {count}",
"fr": "Ressources · {count}"
},
"map_loop": {
"en": "Iteration · {count} passes",
"ru": "Итерация · {count} проходов",
"fr": "Itération · {count} passages"
},
"map_condition": {
"en": "Condition",
"ru": "Условие",
"fr": "Condition"
},
"map_group": {
"en": "Generated resource group",
"ru": "Группа созданных ресурсов",
"fr": "Groupe de ressources générées"
},
"map_condition_left": {
"en": "Compared value",
"ru": "Проверяемое значение",
"fr": "Valeur comparée"
},
"map_condition_operation": {
"en": "Comparison",
"ru": "Сравнение",
"fr": "Comparaison"
},
"map_condition_right": {
"en": "Expected value",
"ru": "Ожидаемое значение",
"fr": "Valeur attendue"
},
"map_step_delay": {
"en": "Step {step} · delay (minutes)",
"ru": "Шаг {step} · задержка (минуты)",
"fr": "Étape {step} · délai (minutes)"
},
"map_step_recipient": {
"en": "Step {step} · recipient",
"ru": "Шаг {step} · получатель",
"fr": "Étape {step} · destinataire"
},
"map_not": {
"en": "Not",
"ru": "Не",
"fr": "Non"
},
"map_matches_all": {
"en": "All alerts",
"ru": "Все алерты",
"fr": "Toutes les alertes"
},
"map_person": {
"en": "Person",
"ru": "Сотрудник",
"fr": "Personne"
},
"map_empty_value": {
"en": "Empty list",
"ru": "Пустой список",
"fr": "Liste vide"
},
"map_missing_value": {
"en": "Value could not be resolved",
"ru": "Значение не удалось вычислить",
"fr": "Valeur impossible à résoudre"
},
"map_missing_reference": {
"en": "Resource could not be resolved",
"ru": "Ресурс не удалось найти",
"fr": "Ressource introuvable"
},
"map_no_inputs": {
"en": "No evaluated inputs for this selection. Choose an included pass or fix the validation errors.",
"ru": "Для этого выбора нет вычисленных значений. Выберите включённый проход или исправьте ошибки.",
"fr": "Aucune valeur évaluée pour cette sélection. Choisissez un passage inclus ou corrigez les erreurs."
},
"map_distinct_values": {
"en": "{count} different values",
"ru": "Разных значений: {count}",
"fr": "{count} valeurs différentes"
},
"map_no_sources": {
"en": "Uses fixed values only.",
"ru": "Использует только заданные значения.",
"fr": "Utilise uniquement des valeurs fixes."
},
"map_view_source": {
"en": "View source",
"ru": "Открыть источник",
"fr": "Voir la source"
},
"map_choose_pass_values": {
"en": "Select a pass above to inspect its values.",
"ru": "Выберите проход выше, чтобы увидеть его значения.",
"fr": "Sélectionnez un passage ci-dessus pour voir ses valeurs."
},
"err_shared_draft_limit": {
"en": "The shared draft exceeds the workspace limits.",
"ru": "Общий черновик превышает ограничения workspace.",
"fr": "Le brouillon partagé dépasse les limites de l’espace."
},
"err_shared_draft_stale": {
"en": "A colleague changed this draft. Reload the shared draft before saving.",
"ru": "Коллега изменил черновик. Загрузите общий черновик заново перед сохранением.",
"fr": "Un collègue a modifié ce brouillon. Rechargez le brouillon partagé avant de sauvegarder."
},
"err_publication_busy_or_stale": {
"en": "The workspace changed or publication is running. Refresh before synchronizing.",
"ru": "Workspace изменился или публикация уже выполняется. Обновите состояние перед синхронизацией.",
"fr": "L’espace a changé ou une publication est en cours. Actualisez avant de synchroniser."
},
"enum_draft": {
"en": "Awaiting synchronization",
"ru": "Ожидает синхронизации",
"fr": "En attente de synchronisation"
},
"shared_draft_saving": {
"en": "Saving shared draft…",
"ru": "Сохраняем общий черновик…",
"fr": "Enregistrement du brouillon partagé…"
},
"publication_waiting_click": {
"en": "Changes are shared with your workspace. Synchronize when ready to publish.",
"ru": "Изменения доступны коллегам. Нажмите «Синхронизировать», когда всё будет готово.",
"fr": "Les modifications sont partagées. Synchronisez quand vous êtes prêt à publier."
},
"publication_no_changes": {
"en": "No unpublished changes.",
"ru": "Нет неопубликованных изменений.",
"fr": "Aucune modification non publiée."
},
"publication_coverage_end": {
"en": "Published coverage through {date}",
"ru": "Покрытие опубликовано до {date}",
"fr": "Couverture publiée jusqu’au {date}"
},
"publication_details": {
"en": "Resource changes and publication",
"ru": "Изменения ресурсов и публикация",
"fr": "Modifications des ressources et publication"
},
"enum_generation.draft_saved": {
"en": "Shared generator draft saved",
"ru": "Общий черновик генератора сохранён",
"fr": "Brouillon partagé du générateur enregistré"
},
"confirm_remove_variable": {
"en": "Remove variable “{name}” from the shared draft? Rules using it may become invalid.",
"ru": "Удалить переменную «{name}» из общего черновика? Правила, использующие её, могут стать невалидными.",
"fr": "Supprimer la variable « {name} » du brouillon partagé ? Les règles qui l’utilisent peuvent devenir invalides."
},
"confirm_remove_generation_rule": {
"en": "Remove rule “{name}” from the shared draft?",
"ru": "Удалить правило «{name}» из общего черновика?",
"fr": "Supprimer la règle « {name} » du brouillon partagé ?"
},
"publication_workflow_hint": {
"en": "Drafts are shared and autosaved. Save checked changes applies a validated draft in Meguri; it is unavailable while checking or when errors remain. Reload retrieves the shared draft. Sync saves and publishes in one step — saving first is optional.",
"ru": "Общий черновик сохраняется автоматически. «Сохранить проверенные изменения» применяет проверенный черновик в Meguri; кнопка недоступна во время проверки или при ошибках. Восстановление загружает общий черновик. Синхронизация сохраняет и публикует за один шаг — отдельно сохранять перед ней необязательно.",
"fr": "Le brouillon partagé est enregistré automatiquement. Enregistrer l’état applique le brouillon validé dans Meguri ; ce bouton est indisponible pendant la vérification ou en cas d’erreur. Recharger récupère le brouillon partagé. Synchroniser enregistre et publie en une étape ; aucun enregistrement préalable n’est nécessaire."
},
"routing_greater_than": {
"en": "Higher than",
"ru": "Выше",
"fr": "Supérieur à"
},
"routing_less_than": {
"en": "Lower than",
"ru": "Ниже",
"fr": "Inférieur à"
},
"enum_greater-than": {
"en": "Higher than",
"ru": "Выше",
"fr": "Supérieur à"
},
"enum_less-than": {
"en": "Lower than",
"ru": "Ниже",
"fr": "Inférieur à"
},
"publication_lease_wait": {
"en": "Publication is reserved until {date}. After a restart, recovery waits for this lock to expire to avoid simultaneous writes.",
"ru": "Публикация заблокирована для других запусков до {date}. После перезапуска восстановление ждёт истечения блокировки, чтобы избежать одновременной записи.",
"fr": "La publication est réservée jusqu’au {date}. Après un redémarrage, la reprise attend l’expiration du verrou pour éviter des écritures simultanées."
},
"publication_lease_expired": {
"en": "The publication lock has expired. The worker can resume; you can also request synchronization again.",
"ru": "Блокировка публикации истекла. Воркер может продолжить работу; также можно снова нажать «Синхронизировать».",
"fr": "Le verrou de publication a expiré. Le worker peut reprendre ; vous pouvez aussi relancer la synchronisation."
},
"publication_submitting": {
"en": "Submitting…",
"ru": "Отправка…",
"fr": "Envoi…"
},
"publication_pending_button": {
"en": "Queued…",
"ru": "В очереди…",
"fr": "En attente…"
},
"publication_running_button": {
"en": "Synchronizing…",
"ru": "Синхронизация…",
"fr": "Synchronisation…"
},
"publication_pending_hint": {
"en": "Synchronization requested. Waiting for the worker; status updates automatically.",
"ru": "Синхронизация запрошена. Ожидаем запуска воркера; статус обновляется автоматически.",
"fr": "Synchronisation demandée. En attente du worker ; le statut se met à jour automatiquement."
},
"map_generators": {
"en": "Generators",
"ru": "Генераторы",
"fr": "Générateurs"
},
"map_resource_lane": {
"en": "Resources",
"ru": "Ресурсы",
"fr": "Ressources"
},
"map_manual": {
"en": "Manual resource",
"ru": "Ручной ресурс",
"fr": "Ressource manuelle"
},
"map_manual_resources": {
"en": "Manual resources · {count}",
"ru": "Ручные ресурсы · {count}",
"fr": "Ressources manuelles · {count}"
},
"map_generated_resources": {
"en": "Generated resources · {count}",
"ru": "Сгенерированные ресурсы · {count}",
"fr": "Ressources générées · {count}"
},
"map_explore": {
"en": "Explore value origin",
"ru": "Исследовать происхождение",
"fr": "Explorer la provenance"
},
"map_explore_back": {
"en": "Back",
"ru": "Назад",
"fr": "Retour"
},
"map_source_fields": {
"en": "Source fields",
"ru": "Поля источника",
"fr": "Champs de la source"
},
"map_source_chain": {
"en": "Source chain",
"ru": "Цепочка источников",
"fr": "Chaîne des sources"
},
"map_source_value": {
"en": "Source value",
"ru": "Исходное значение",
"fr": "Valeur source"
},
"map_resolved_value": {
"en": "Final value",
"ru": "Итоговое значение",
"fr": "Valeur finale"
},
"map_value_examples": {
"en": "Value examples",
"ru": "Примеры значений",
"fr": "Exemples de valeurs"
},
"map_pass_number": {
"en": "Pass {number}",
"ru": "Итерация {number}",
"fr": "Passage {number}"
},
"map_no_trace": {
"en": "No evaluated example in this snapshot",
"ru": "В этом снимке нет вычисленного примера",
"fr": "Aucun exemple calculé dans cet instantané"
},
"map_examples_limited": {
"en": "Showing the first 20 passes. Select a pass to inspect another.",
"ru": "Показаны первые 20 итераций. Выберите итерацию для просмотра остальных.",
"fr": "Les 20 premiers passages sont affichés. Sélectionnez un passage pour voir les autres."
},
"transfer_contacts": {
"en": "New scheduling contacts (no login access)",
"ru": "Новые контакты дежурств (без доступа к входу)",
"fr": "Nouveaux contacts d’astreinte (sans accès de connexion)"
},
"transfer_title": {
"en": "Import / Export",
"ru": "Импорт / Экспорт",
"fr": "Importer / Exporter"
},
"transfer_export": {
"en": "Export",
"ru": "Экспорт",
"fr": "Exporter"
},
"transfer_import": {
"en": "Import",
"ru": "Импорт",
"fr": "Importer"
},
"transfer_document": {
"en": "Configuration · meguri/v2 JSON",
"ru": "Конфигурация · meguri/v2 JSON",
"fr": "Configuration · JSON meguri/v2"
},
"transfer_paste": {
"en": "Paste or edit configuration",
"ru": "Вставьте или отредактируйте конфигурацию",
"fr": "Coller ou modifier la configuration"
},
"transfer_hint": {
"en": "Exports variables and generators from the shared draft. Import adds new names and updates matching names; omitted items remain. Applying saves the shared draft. Use Sync separately to publish.",
"ru": "Экспортирует переменные и генераторы общего черновика. Импорт добавляет новые имена и обновляет совпадающие; отсутствующие элементы остаются. Применение сохраняет общий черновик. Для публикации отдельно нажмите Sync.",
"fr": "Exporte les variables et générateurs du brouillon partagé. L’import ajoute les nouveaux noms et met à jour les noms correspondants ; les éléments absents restent. L’application enregistre le brouillon partagé. Synchronisez séparément pour publier."
},
"transfer_identity_hint": {
"en": "Use ordinary values and email addresses. Keep output keys when editing. Named list entries and people are matched before positions; review resource changes after renaming or reordering. Existing v1 files are still accepted.",
"ru": "Используйте обычные значения и email. Сохраняйте ключи выходных блоков при редактировании. Имена элементов списка и люди сопоставляются до позиций; проверяйте изменения ресурсов после переименования или перестановки. Старые файлы v1 поддерживаются.",
"fr": "Utilisez des valeurs ordinaires et des emails. Conservez les clés de sortie. Les noms et personnes des listes sont rapprochés avant les positions ; vérifiez les changements après renommage ou réorganisation. Les fichiers v1 restent acceptés."
},
"transfer_copy": {
"en": "Copy",
"ru": "Копировать",
"fr": "Copier"
},
"transfer_download": {
"en": "Download JSON",
"ru": "Скачать JSON",
"fr": "Télécharger le JSON"
},
"transfer_inputs": {
"en": "Variables and generators",
"ru": "Переменные и генераторы",
"fr": "Variables et générateurs"
},
"transfer_no_resources": {
"en": "No resource changes.",
"ru": "Изменений ресурсов нет.",
"fr": "Aucune modification de ressource."
},
"transfer_apply": {
"en": "Apply to shared draft",
"ru": "Применить к общему черновику",
"fr": "Appliquer au brouillon partagé"
},
"transfer_applied": {
"en": "Configuration imported into the shared draft.",
"ru": "Конфигурация импортирована в общий черновик.",
"fr": "Configuration importée dans le brouillon partagé."
},
"transfer_copied": {
"en": "Configuration copied.",
"ru": "Конфигурация скопирована.",
"fr": "Configuration copiée."
},
"transfer_invalid": {
"en": "Invalid configuration: {detail}",
"ru": "Некорректная конфигурация: {detail}",
"fr": "Configuration invalide : {detail}"
},
"transfer_duplicate": {
"en": "Duplicate or ambiguous name: {name}",
"ru": "Повторяющееся или неоднозначное имя: {name}",
"fr": "Nom en double ou ambigu : {name}"
},
"transfer_reference": {
"en": "Source is missing or ambiguous: {name}",
"ru": "Источник отсутствует или неоднозначен: {name}",
"fr": "Source absente ou ambiguë : {name}"
},
"transfer_email_required": {
"en": "Set a valid scheduling email before exporting this person: {person}",
"ru": "Укажите корректный email контакта перед экспортом этого человека: {person}",
"fr": "Définissez un email d’astreinte valide avant d’exporter cette personne : {person}"
},
"transfer_limit": {
"en": "Configuration exceeds the size or nesting limit.",
"ru": "Конфигурация превышает ограничение размера или вложенности.",
"fr": "La configuration dépasse la limite de taille ou d’imbrication."
},
"transfer_version": {
"en": "Expected format: meguri/v2 (or legacy meguri/v1).",
"ru": "Ожидаемый формат: meguri/v2 (или прежний meguri/v1).",
"fr": "Format attendu : meguri/v2 (ou ancien meguri/v1)."
},
"transfer_fix_errors": {
"en": "Fix the preview errors before importing.",
"ru": "Исправьте ошибки предпросмотра перед импортом.",
"fr": "Corrigez les erreurs de prévisualisation avant l’import."
},
"transfer_v2_binding": {
"en": "Invalid compact value or reference. Check its type, arguments and required fields.",
"ru": "Некорректное компактное значение или ссылка. Проверьте тип, аргументы и обязательные поля.",
"fr": "Valeur ou référence compacte invalide. Vérifiez le type, les arguments et les champs requis."
},
"transfer_guide": {
"en": "Guide",
"ru": "Guide",
"fr": "Guide"
},
"transfer_guide_copy": {
"en": "Copy full guide",
"ru": "Скопировать весь гайд",
"fr": "Copier le guide complet"
},
"transfer_guide_copied": {
"en": "Full guide copied as Markdown.",
"ru": "Полный гайд скопирован в Markdown.",
"fr": "Guide complet copié en Markdown."
},
"transfer_guide_hint": {
"en": "Complete v2 reference for hand editing or an LLM. Copy includes every section and the example.",
"ru": "Полная справка v2 для ручного редактирования или LLM. Копируются все разделы и пример.",
"fr": "Référence v2 complète pour édition manuelle ou LLM. La copie inclut toutes les sections et l’exemple."
},
"transfer_guide_structure_title": {
"en": "1. Document and notation",
"ru": "1. Документ и обозначения",
"fr": "1. Document et notation"
},
"transfer_guide_structure": {
"en": "Produce strict JSON: no comments, trailing commas, executable code or string interpolation. All three root fields are required. Only variables and generators are transferred. B below means a literal value or a binding; ? marks an optional field in schemas (do not put ? in JSON keys). Names, keys and enum values are literal strings, not bindings. Unknown options are errors. Export uses v2; old v1 imports remain supported.\n\n{\"format\":\"meguri/v2\", \"variables\":{}, \"generators\":[]}",
"ru": "Создавайте строгий JSON: без комментариев, запятых в конце списков, исполняемого кода и подстановок внутри строк. Все три корневых поля обязательны. Переносятся только переменные и генераторы. Ниже B — обычное значение или привязка; ? отмечает необязательное поле схемы (в JSON знак ? не пишется). Имена, ключи и значения перечислений — обычные строки, не привязки. Неизвестные опции — ошибка. Экспорт использует v2; импорт старого v1 поддерживается.\n\n{\"format\":\"meguri/v2\", \"variables\":{}, \"generators\":[]}",
"fr": "Produisez du JSON strict : sans commentaires, virgules finales, code exécutable ni interpolation de chaînes. Les trois champs racine sont obligatoires. Seuls les variables et générateurs sont transférés. B désigne une valeur littérale ou une liaison ; ? marque un champ facultatif du schéma (sans ? dans les clés JSON). Noms, clés et énumérations sont des chaînes littérales. Les options inconnues sont des erreurs. Export en v2 ; import v1 conservé.\n\n{\"format\":\"meguri/v2\", \"variables\":{}, \"generators\":[]}"
},
"transfer_guide_variables_title": {
"en": "2. Variable values and types",
"ru": "2. Значения и типы переменных",
"fr": "2. Valeurs et types des variables"
},
"transfer_guide_variables": {
"en": "variables maps unique names to values. JSON strings/numbers/booleans/arrays/objects become text/number/boolean/list/dictionary. A valid email string becomes a person; dates and times are not inferred. Null is not a variable type. Existing people resolve by exact email; unknown emails become scheduling contacts (country CY), never logins or workspace members. Provider accounts are resolved separately before publication. A dictionary uses alphabetical key order; use $object pairs when order matters or keys start with $. Variable wrappers are not binding operators.\n\n\"on_call\": [\"alice@example.com\", \"bob@example.com\"]\n\"projects\": [{\"name\":\"alpha\", \"owners\":[\"alice@example.com\"]}]\n{\"$person\":\"alice@example.com\"}\n{\"$text\":\"email-looking-text@example.com\"}\n{\"$date\":\"2026-10-01\"}\n{\"$time\":\"09:00\"}\n{\"$duration\":30}\n{\"$object\":[[\"z\",1],[\"a\",2],[\"$custom\",true]]}",
"ru": "variables сопоставляет уникальные имена значениям. Строки/числа/булевы/массивы/объекты JSON становятся текстом/числом/булевым/списком/словарём. Валидный email становится персоной; даты и время не угадываются. Null не является типом переменной. Люди сопоставляются по точному email; неизвестные email создают контакты дежурств (страна CY), без учётной записи и доступа в workspace. Аккаунты провайдера проверяются отдельно перед публикацией. Ключи обычного словаря идут по алфавиту; для заданного порядка или ключей с $ используйте пары $object. Обёртки типов переменных не являются операторами привязок.\n\n\"on_call\": [\"alice@example.com\", \"bob@example.com\"]\n\"projects\": [{\"name\":\"alpha\", \"owners\":[\"alice@example.com\"]}]\n{\"$person\":\"alice@example.com\"}\n{\"$text\":\"email-looking-text@example.com\"}\n{\"$date\":\"2026-10-01\"}\n{\"$time\":\"09:00\"}\n{\"$duration\":30}\n{\"$object\":[[\"z\",1],[\"a\",2],[\"$custom\",true]]}",
"fr": "variables associe des noms uniques à des valeurs. Chaînes/nombres/booléens/tableaux/objets JSON deviennent texte/nombre/booléen/liste/dictionnaire. Un email valide devient une personne ; dates et heures ne sont pas déduites. Null n’est pas un type de variable. Les personnes sont rapprochées par email exact ; les nouveaux emails créent des contacts d’astreinte (pays CY), sans compte ni accès. Les comptes fournisseur sont vérifiés avant publication. Les dictionnaires ordinaires suivent l’ordre alphabétique ; utilisez les paires $object pour imposer l’ordre ou pour des clés commençant par $. Ces enveloppes ne sont pas des opérateurs de liaison.\n\n\"on_call\": [\"alice@example.com\", \"bob@example.com\"]\n\"projects\": [{\"name\":\"alpha\", \"owners\":[\"alice@example.com\"]}]\n{\"$person\":\"alice@example.com\"}\n{\"$text\":\"email-looking-text@example.com\"}\n{\"$date\":\"2026-10-01\"}\n{\"$time\":\"09:00\"}\n{\"$duration\":30}\n{\"$object\":[[\"z\",1],[\"a\",2],[\"$custom\",true]]}"
},
"transfer_guide_bindings_title": {
"en": "3. Bindings (B)",
"ru": "3. Привязки (B)",
"fr": "3. Liaisons (B)"
},
"transfer_guide_bindings": {
"en": "Ordinary scalars and arrays are literal bindings; an array containing references does NOT evaluate them: use $list. A literal object needs $literal. Each binding object has exactly one $ operator. Optional prefix/suffix require a text result. Optional path is an array of exact dictionary keys or one-based list indexes written as strings. Dots, spaces and slashes inside a segment stay literal. $var/$item/$key accept a name or [name,...path]; do not also supply path when the shorthand already includes a path. $lookup keys resolve to text. A $person marker inside a generic $literal resolves an email to the workspace person identity.\n\n{\"$var\":\"projects\"}\n{\"$var\":[\"settings\",\"owners\",\"1\"]}\n{\"$item\":[\"Project\",\"name\"],\"prefix\":\"MG: \",\"suffix\":\" primary\"}\n{\"$key\":\"Project\"}\n{\"$output\":[\"Generator name\",\"output-key\"]}\n{\"$lookup\":[\"tiers\",{\"$item\":[\"Project\",\"tier\"]}],\"path\":[\"delay\"]}\n{\"$list\":[{\"$item\":[\"Project\",\"owners\",\"1\"]},\"bob@example.com\"]}\n{\"$literal\":{\"custom\":\"object\"}}\n{\"$literal\":{\"$person\":\"alice@example.com\"}}\n{\"$literal\":\"text\",\"prefix\":\"A \",\"suffix\":\" B\"}",
"ru": "Обычные скаляры и массивы — константы; массив со ссылками НЕ вычисляет их: нужен $list. Для объекта-константы нужен $literal. В объекте привязки ровно один оператор $. Необязательные prefix/suffix требуют текстовый результат. Необязательный path — массив точных ключей словаря или индексов списка от единицы, записанных строками. Точки, пробелы и слеши внутри сегмента — часть ключа. $var/$item/$key принимают имя или [имя,...путь]; если путь уже в массиве, отдельный path не добавляйте. Ключ $lookup должен давать текст. Маркер $person внутри общего $literal преобразует email в идентификатор человека текущего workspace.\n\n{\"$var\":\"projects\"}\n{\"$var\":[\"settings\",\"owners\",\"1\"]}\n{\"$item\":[\"Project\",\"name\"],\"prefix\":\"MG: \",\"suffix\":\" primary\"}\n{\"$key\":\"Project\"}\n{\"$output\":[\"Generator name\",\"output-key\"]}\n{\"$lookup\":[\"tiers\",{\"$item\":[\"Project\",\"tier\"]}],\"path\":[\"delay\"]}\n{\"$list\":[{\"$item\":[\"Project\",\"owners\",\"1\"]},\"bob@example.com\"]}\n{\"$literal\":{\"custom\":\"object\"}}\n{\"$literal\":{\"$person\":\"alice@example.com\"}}\n{\"$literal\":\"text\",\"prefix\":\"A \",\"suffix\":\" B\"}",
"fr": "Les scalaires et tableaux ordinaires sont littéraux ; les références dans un tableau ne sont PAS évaluées : utilisez $list. Un objet littéral exige $literal. Chaque objet de liaison contient exactement un opérateur $. prefix/suffix facultatifs exigent un résultat texte. path est une liste de clés exactes ou d’indices de liste à partir de un écrits en chaînes. Points, espaces et barres obliques restent littéraux. $var/$item/$key acceptent un nom ou [nom,...chemin] ; ne doublez pas un chemin abrégé avec path. La clé de $lookup doit produire du texte. Un marqueur $person dans un $literal générique résout l’email vers l’identité de la personne du workspace.\n\n{\"$var\":\"projects\"}\n{\"$var\":[\"settings\",\"owners\",\"1\"]}\n{\"$item\":[\"Project\",\"name\"],\"prefix\":\"MG: \",\"suffix\":\" primary\"}\n{\"$key\":\"Project\"}\n{\"$output\":[\"Generator name\",\"output-key\"]}\n{\"$lookup\":[\"tiers\",{\"$item\":[\"Project\",\"tier\"]}],\"path\":[\"delay\"]}\n{\"$list\":[{\"$item\":[\"Project\",\"owners\",\"1\"]},\"bob@example.com\"]}\n{\"$literal\":{\"custom\":\"object\"}}\n{\"$literal\":{\"$person\":\"alice@example.com\"}}\n{\"$literal\":\"text\",\"prefix\":\"A \",\"suffix\":\" B\"}"
},
"transfer_guide_generators_title": {
"en": "4. Generators, loops and filters",
"ru": "4. Генераторы, циклы и фильтры",
"fr": "4. Générateurs, boucles et filtres"
},
"transfer_guide_generators": {
"en": "A generator needs name and outputs. enabled defaults to true. for is an ordered list of nested loops over lists/dictionaries; an empty list of loops generates once. Each loop needs a unique as alias and an in binding; later loops may use earlier aliases. when filters each row. equals/not_equals compare equal JSON types; contains means list membership or text substring; not_empty ignores the third operand (use null). false and 0 are nonempty. Output keys are unique within a generator and must remain stable. Define producers before consumers. $output may reference an earlier output in the same row; outputs of generators without loops are shared across generators. Iterated outputs cannot be referenced across generators.\n\n{name, enabled?:true, for?:[{as,in:B}], when?:[B,operation,B], outputs:[]}\nwhen operations: equals | not_equals | contains | not_empty\n\"when\": [{\"$item\":[\"Project\",\"enabled\"]},\"equals\",true]\n\"when\": [{\"$item\":[\"Project\",\"owners\"]},\"not_empty\",null]\nEvery output: {key, type, name:B, ...type-specific fields}",
"ru": "Генератору нужны name и outputs. enabled по умолчанию true. for — упорядоченный список вложенных циклов по спискам/словарям; без циклов генератор выполняется один раз. Каждый цикл задаёт уникальное имя as и привязку in; следующие циклы могут ссылаться на предыдущие. when фильтрует каждую итерацию. equals/not_equals сравнивают одинаковые JSON-типы; contains проверяет наличие в списке или подстроку; not_empty игнорирует третий операнд (пишите null). false и 0 считаются непустыми. Ключи выходов уникальны внутри генератора; сохраняйте их при правках. Объявляйте источники перед потребителями. $output может ссылаться на предыдущий выход той же итерации; выходы генератора без циклов общие для других генераторов. Ссылаться на выходы чужих циклов нельзя.\n\n{name, enabled?:true, for?:[{as,in:B}], when?:[B,operation,B], outputs:[]}\nОперации when: equals | not_equals | contains | not_empty\n\"when\": [{\"$item\":[\"Project\",\"enabled\"]},\"equals\",true]\n\"when\": [{\"$item\":[\"Project\",\"owners\"]},\"not_empty\",null]\nЛюбой выход: {key, type, name:B, ...type-specific fields}",
"fr": "Un générateur exige name et outputs. enabled vaut true par défaut. for est une liste ordonnée de boucles imbriquées sur listes/dictionnaires ; sans boucle, une seule exécution. Chaque boucle exige un alias as unique et une liaison in ; les suivantes peuvent utiliser les alias précédents. when filtre chaque ligne. equals/not_equals comparent des types JSON identiques ; contains teste l’appartenance ou une sous-chaîne ; not_empty ignore le troisième opérande (utilisez null). false et 0 sont non vides. Les clés de sortie sont uniques par générateur et doivent rester stables. Placez les producteurs avant les consommateurs. $output peut viser une sortie antérieure de la même ligne ; les sorties sans boucle sont partagées entre générateurs. Les sorties itérées ne traversent pas les générateurs.\n\n{name, enabled?:true, for?:[{as,in:B}], when?:[B,operation,B], outputs:[]}\nOpérations when : equals | not_equals | contains | not_empty\n\"when\": [{\"$item\":[\"Project\",\"enabled\"]},\"equals\",true]\n\"when\": [{\"$item\":[\"Project\",\"owners\"]},\"not_empty\",null]\nChaque sortie : {key, type, name:B, ...type-specific fields}"
},
"transfer_guide_schedules_title": {
"en": "5. Schedule outputs",
"ru": "5. Выходы-расписания",
"fr": "5. Sorties planning"
},
"transfer_guide_schedules": {
"en": "All listed data fields accept B; key/type are fixed strings. participants must resolve to an ordered list of 1–100 distinct people/emails. rotation continuously cycles through them from anchor; shift_days counts local calendar days (1–366). priority chooses the first available person, respecting absences/holidays, then fallback. It does not alternate primary/secondary people. fallback must reference a schedule. Literal references use an exact existing schedule name; generated references use $output. handover defaults to 11:00 in the workspace IANA zone; ambiguous/nonexistent local times are rejected. Anchor is an ISO date, years 2000–2100. Workspace holidays and availability are not part of this file.\n\nrotation: {key,type:\"rotation\",name:B,participants:B,anchor:B,shift_days?:7,handover?:\"11:00\"}\npriority: {key,type:\"priority\",name:B,participants:B,fallback:B,handover?:\"11:00\"}",
"ru": "Все поля данных ниже принимают B; key/type — фиксированные строки. participants должен дать упорядоченный список 1–100 разных людей/email. rotation циклически меняет их от anchor; shift_days — число местных календарных дней (1–366). priority выбирает первого доступного человека с учётом отсутствий/праздников, затем fallback. Это не чередование primary/secondary. fallback ссылается на расписание. Константа-ссылка — точное имя существующего расписания; ссылка на генерируемое — $output. handover по умолчанию 11:00 в IANA-зоне workspace; неоднозначное или несуществующее местное время отклоняется. Anchor — ISO-дата, год 2000–2100. Праздники и доступность workspace в этот файл не входят.\n\nrotation: {key,type:\"rotation\",name:B,participants:B,anchor:B,shift_days?:7,handover?:\"11:00\"}\npriority: {key,type:\"priority\",name:B,participants:B,fallback:B,handover?:\"11:00\"}",
"fr": "Tous les champs de données ci-dessous acceptent B ; key/type sont fixes. participants doit produire une liste ordonnée de 1 à 100 personnes/emails distincts. rotation les alterne depuis anchor ; shift_days compte les jours calendaires locaux (1–366). priority choisit la première personne disponible selon absences/jours fériés, puis fallback. Ce n’est pas une alternance primary/secondary. fallback référence un planning. Une référence littérale utilise le nom exact d’un planning existant ; une référence générée utilise $output. handover vaut 11:00 dans le fuseau IANA du workspace ; les heures ambiguës/inexistantes sont refusées. Anchor est une date ISO, année 2000–2100. Disponibilités et jours fériés ne sont pas transférés.\n\nrotation: {key,type:\"rotation\",name:B,participants:B,anchor:B,shift_days?:7,handover?:\"11:00\"}\npriority: {key,type:\"priority\",name:B,participants:B,fallback:B,handover?:\"11:00\"}"
},
"transfer_guide_escalations_title": {
"en": "6. Escalation outputs",
"ru": "6. Выходы-эскалации",
"fr": "6. Sorties escalade"
},
"transfer_guide_escalations": {
"en": "Steps notify a schedule, person, or every member of the provider team configured in the workspace. Exactly one recipient option per step. after is an integer delay in minutes AFTER ALERT CREATION, not after the previous step (0–10080, default 0). if defaults to not-acked; not-closed is also supported. after, schedule and person accept B; team and if are fixed strings. There are 1–20 steps. repeat_count is 0–20 (default 0, disabled); repeat_wait is 0–10080 minutes (default 0). Both repeat fields accept B. Providers execute notification timers; Meguri only publishes configuration. Unsupported provider capabilities block publication.\n\n{key,type:\"escalation\",name:B,repeat_count?:0,repeat_wait?:0,steps:[]}\nstep: {after?:0,if?:\"not-acked\",schedule:B}\n or {after?:0,if?:\"not-acked\",person:B}\n or {after?:0,if?:\"not-acked\",team:\"all\"|\"random\"}\n\"steps\": [{\"schedule\":{\"$output\":[\"Owners\",\"primary\"]}},{\"after\":30,\"team\":\"all\"}]\n\nRandom selects one member of the configured provider team when the provider executes the step; it does not call each colleague in turn.\n{\"after\":30,\"team\":\"random\"}",
"ru": "Шаги уведомляют расписание, человека или всех участников команды провайдера, заданной в workspace. В шаге ровно один вариант получателя. after — целое число минут ПОСЛЕ СОЗДАНИЯ АЛЕРТА, не после предыдущего шага (0–10080, по умолчанию 0). if по умолчанию not-acked; также поддерживается not-closed. after, schedule и person принимают B; team и if — фиксированные строки. Шагов 1–20. repeat_count — 0–20 (по умолчанию 0, повторы выключены); repeat_wait — 0–10080 минут (по умолчанию 0). Оба поля повторения принимают B. Таймеры уведомлений выполняет провайдер; Meguri публикует конфигурацию. Неподдерживаемые возможности провайдера блокируют публикацию.\n\n{key,type:\"escalation\",name:B,repeat_count?:0,repeat_wait?:0,steps:[]}\nШаг: {after?:0,if?:\"not-acked\",schedule:B}\n или {after?:0,if?:\"not-acked\",person:B}\n или {after?:0,if?:\"not-acked\",team:\"all\"|\"random\"}\n\"steps\": [{\"schedule\":{\"$output\":[\"Owners\",\"primary\"]}},{\"after\":30,\"team\":\"all\"}]\n\nRandom выбирает одного участника команды при выполнении шага провайдером; это не последовательный обзвон коллег.\n{\"after\":30,\"team\":\"random\"}",
"fr": "Les étapes notifient un planning, une personne ou toute l’équipe fournisseur configurée dans le workspace. Une seule option de destinataire par étape. after est un entier en minutes APRÈS LA CRÉATION DE L’ALERTE, non après l’étape précédente (0–10080, défaut 0). if vaut not-acked par défaut ; not-closed est aussi accepté. after, schedule et person acceptent B ; team et if sont fixes. De 1 à 20 étapes. repeat_count : 0–20 (défaut 0, désactivé) ; repeat_wait : 0–10080 minutes (défaut 0). Les deux acceptent B. Le fournisseur exécute les temporisations ; Meguri publie la configuration. Une capacité non prise en charge bloque la publication.\n\n{key,type:\"escalation\",name:B,repeat_count?:0,repeat_wait?:0,steps:[]}\nÉtape : {after?:0,if?:\"not-acked\",schedule:B}\n ou {after?:0,if?:\"not-acked\",person:B}\n ou {after?:0,if?:\"not-acked\",team:\"all\"|\"random\"}\n\"steps\": [{\"schedule\":{\"$output\":[\"Owners\",\"primary\"]}},{\"after\":30,\"team\":\"all\"}]\n\nRandom sélectionne un membre de l’équipe lors de l’exécution par le fournisseur ; il ne contacte pas les collègues à tour de rôle.\n{\"after\":30,\"team\":\"random\"}"
},
"transfer_guide_routes_title": {
"en": "7. Routing outputs",
"ru": "7. Выходы-маршруты",
"fr": "7. Sorties routage"
},
"transfer_guide_routes": {
"en": "escalation is optional: omission creates a route with no escalation destination (no notification). working accepts B resolving to boolean; true uses the workspace working-days/hours/timezone, which cannot be changed in this file. Conditions are ANDed; an empty list is a catch-all. Conditions contain a literal field and operation, a B that resolves to nonempty text (1–500 characters), and optionally the literal \"not\". matches is a regular expression; escape backslashes in JSON. Routing comparison semantics are those of the provider (P1 is highest alert priority). Routing order matters: first matching rule wins; put specific routes before catch-alls.\n\n{key,type:\"route\",name:B,escalation?:B,working?:false,conditions?:[]}\ncondition: [field,operation,B] or [field,operation,B,\"not\"]\nfields: tags | priority | message | description | source | alias\noperations: matches | contains | equals | greater-than | less-than | starts-with | ends-with\n\"conditions\": [[\"tags\",\"contains\",{\"$item\":[\"Project\",\"tag\"]}]]",
"ru": "escalation необязателен: если его нет, маршрут не направляет в эскалацию (без уведомления). working принимает B с булевым результатом; true использует рабочие дни/часы/зону workspace, которые этим файлом не меняются. Условия объединяются через И; пустой список — маршрут для всех алертов. Условие содержит фиксированные field и operation, B с непустым текстом (1–500 символов) и необязательную строку \"not\". matches — регулярное выражение; экранируйте обратные слеши в JSON. Семантику сравнений задаёт провайдер (P1 — высший приоритет алерта). Порядок важен: срабатывает первый подходящий маршрут; частные правила ставьте перед общими.\n\n{key,type:\"route\",name:B,escalation?:B,working?:false,conditions?:[]}\nУсловие: [field,operation,B] или [field,operation,B,\"not\"]\nПоля: tags | priority | message | description | source | alias\nОперации: matches | contains | equals | greater-than | less-than | starts-with | ends-with\n\"conditions\": [[\"tags\",\"contains\",{\"$item\":[\"Project\",\"tag\"]}]]",
"fr": "escalation est facultatif : son omission crée une route sans destination d’escalade (sans notification). working accepte B produisant un booléen ; true utilise jours/heures/fuseau de travail du workspace, non modifiables ici. Les conditions sont combinées par ET ; une liste vide est une règle générale. Chaque condition contient field et operation littéraux, B produisant du texte non vide (1–500 caractères), puis éventuellement \"not\". matches est une expression régulière ; échappez les antislashs en JSON. Les comparaisons suivent le fournisseur (P1 est la priorité maximale). La première route correspondante gagne ; placez les règles spécifiques avant les générales.\n\n{key,type:\"route\",name:B,escalation?:B,working?:false,conditions?:[]}\nCondition : [field,operation,B] ou [field,operation,B,\"not\"]\nChamps : tags | priority | message | description | source | alias\nOpérations : matches | contains | equals | greater-than | less-than | starts-with | ends-with\n\"conditions\": [[\"tags\",\"contains\",{\"$item\":[\"Project\",\"tag\"]}]]"
},
"transfer_guide_merge_title": {
"en": "8. Import behavior and limits",
"ru": "8. Поведение импорта и ограничения",
"fr": "8. Import et limites"
},
"transfer_guide_merge": {
"en": "Merge matches variable/generator names case-insensitively after trimming: update matches, append new names, retain omitted names. An included generator replaces its entire definition, so removed outputs can remove resources. Existing generator order and routing insertion position remain unchanged; new generators append. Keep output keys stable. Dictionary fields and uniquely named/equal list entries retain identity; ambiguous combined renames/reorders can change resource identity—review creates/removes. Manual resources resolve by exact name and are never imported. Preview shows errors, input/resource changes, contacts and cancellations. Apply saves the shared draft; Sync separately publishes. Other edits invalidate a preview. An LLM should return ONLY a complete v2 JSON document, with real supplied emails/names and no invented options; ask for missing required data.\n\nLimits: JSON 1,000,000 bytes; 100 variables; 10,000 value nodes; nesting depth 8; 1,000 entries/collection.\n50 generators; 4 loops and 20 outputs/generator; 500 expanded rows/generator.\nWorkspace totals: 200 schedules, 200 escalations, 500 routes; up to 900 generated resources.\nNames: variable 1–80 characters; generator/resource 1–120; output key 1–120; dictionary key 1–120.\nText variable ≤2000 characters. Routing conditions ≤20/route. Binding nesting ≤16.\nNumbers must be finite; durations nonnegative; day counts, delays and repeat values are integers.\nDates: YYYY-MM-DD. Times: HH:MM or HH:MM:SS. Scheduling uses the workspace IANA timezone.",
"ru": "Сопоставление имён переменных/генераторов — без учёта регистра и крайних пробелов: совпадающие обновляются, новые добавляются, отсутствующие остаются. Включённый генератор заменяется целиком, поэтому удалённые выходы могут удалить ресурсы. Порядок существующих генераторов и позиция вставки маршрутов не меняются; новые генераторы добавляются в конец. Сохраняйте ключи выходов. Поля словаря и однозначно именованные/совпадающие элементы списка сохраняют идентичность; неоднозначные переименования с перестановкой могут её изменить — проверяйте создания/удаления. Ручные ресурсы разрешаются по точному имени и не импортируются. Предпросмотр показывает ошибки, изменения, контакты и отмены запросов. Apply сохраняет общий черновик; Sync отдельно публикует. Чужие правки делают предпросмотр устаревшим. LLM должна вернуть ТОЛЬКО полный JSON v2, с предоставленными реальными email/именами, без выдуманных опций; недостающие обязательные данные нужно запросить.\n\nЛимиты: JSON 1 000 000 байт; 100 переменных; 10 000 узлов значений; глубина 8; 1000 элементов в коллекции.\n50 генераторов; 4 цикла и 20 выходов на генератор; 500 развёрнутых итераций на генератор.\nВсего в workspace: 200 расписаний, 200 эскалаций, 500 маршрутов; до 900 генерируемых ресурсов.\nИмена: переменная 1–80 символов; генератор/ресурс 1–120; ключ выхода 1–120; ключ словаря 1–120.\nТекст переменной ≤2000 символов. Условия маршрутизации ≤20 на маршрут. Вложенность привязок ≤16.\nЧисла конечные; длительности неотрицательные; дни, задержки и параметры повторения — целые числа.\nДаты: YYYY-MM-DD. Время: HH:MM или HH:MM:SS. Расчёт использует IANA-зону workspace.",
"fr": "Fusion par noms de variables/générateurs sans casse ni espaces périphériques : mise à jour, ajout des nouveaux noms, conservation des absents. Un générateur inclus remplace toute sa définition ; supprimer des sorties peut supprimer des ressources. Ordre des générateurs existants et position d’insertion des routes conservés ; nouveaux générateurs ajoutés à la fin. Gardez les clés de sortie. Champs de dictionnaire et éléments de liste identifiables conservent leur identité ; renommages/réordonnancements ambigus peuvent la modifier : vérifiez créations/suppressions. Les ressources manuelles sont résolues par nom exact, jamais importées. La prévisualisation montre erreurs, changements, contacts et annulations. Apply enregistre le brouillon partagé ; Sync publie séparément. Les autres modifications invalident la revue. Un LLM doit renvoyer UNIQUEMENT un document JSON v2 complet avec les emails/noms fournis, sans options inventées, et demander les données obligatoires manquantes.\n\nLimites : JSON 1 000 000 octets ; 100 variables ; 10 000 nœuds ; profondeur 8 ; 1000 éléments par collection.\n50 générateurs ; 4 boucles et 20 sorties par générateur ; 500 lignes développées par générateur.\nTotaux du workspace : 200 plannings, 200 escalades, 500 routes ; jusqu’à 900 ressources générées.\nNoms : variable 1–80 caractères ; générateur/ressource 1–120 ; clé de sortie 1–120 ; clé de dictionnaire 1–120.\nTexte de variable ≤2000 caractères. Conditions de routage ≤20 par route. Imbrication des liaisons ≤16.\nNombres finis ; durées non négatives ; jours, délais et paramètres de répétition entiers.\nDates : YYYY-MM-DD. Heures : HH:MM ou HH:MM:SS. Calcul dans le fuseau IANA du workspace."
},
"transfer_guide_example_title": {
"en": "9. Complete importable example",
"ru": "9. Полный пример для импорта",
"fr": "9. Exemple complet importable"
},
"transfer_guide_example": {
"en": "{\n \"format\": \"meguri/v2\",\n \"variables\": {\n \"on_call\": [\"alice@example.com\", \"bob@example.com\"],\n \"projects\": [{\"name\":\"alpha\",\"owners\":[\"alice@example.com\",\"bob@example.com\"],\"tag\":\"project:alpha\"}]\n },\n \"generators\": [\n {\"name\":\"General\",\"outputs\":[\n {\"key\":\"weekly\",\"type\":\"rotation\",\"name\":\"General on-call\",\"participants\":{\"$var\":\"on_call\"},\"anchor\":\"2026-09-28\",\"shift_days\":7,\"handover\":\"11:00\"}\n ]},\n {\"name\":\"Owners\",\"for\":[{\"as\":\"Project\",\"in\":{\"$var\":\"projects\"}}],\"outputs\":[\n {\"key\":\"primary\",\"type\":\"priority\",\"name\":{\"$item\":[\"Project\",\"name\"],\"suffix\":\" owners\"},\"participants\":{\"$item\":[\"Project\",\"owners\"]},\"fallback\":{\"$output\":[\"General\",\"weekly\"]}},\n {\"key\":\"escalation\",\"type\":\"escalation\",\"name\":{\"$item\":[\"Project\",\"name\"],\"suffix\":\" escalation\"},\"steps\":[\n {\"schedule\":{\"$output\":[\"Owners\",\"primary\"]}},\n {\"after\":30,\"team\":\"all\"}\n ]},\n {\"key\":\"route\",\"type\":\"route\",\"name\":{\"$item\":[\"Project\",\"name\"],\"suffix\":\" route\"},\"escalation\":{\"$output\":[\"Owners\",\"escalation\"]},\"working\":true,\"conditions\":[[\"tags\",\"contains\",{\"$item\":[\"Project\",\"tag\"]}]]}\n ]}\n ]\n}",
"ru": "{\n \"format\": \"meguri/v2\",\n \"variables\": {\n \"on_call\": [\"alice@example.com\", \"bob@example.com\"],\n \"projects\": [{\"name\":\"alpha\",\"owners\":[\"alice@example.com\",\"bob@example.com\"],\"tag\":\"project:alpha\"}]\n },\n \"generators\": [\n {\"name\":\"General\",\"outputs\":[\n {\"key\":\"weekly\",\"type\":\"rotation\",\"name\":\"General on-call\",\"participants\":{\"$var\":\"on_call\"},\"anchor\":\"2026-09-28\",\"shift_days\":7,\"handover\":\"11:00\"}\n ]},\n {\"name\":\"Owners\",\"for\":[{\"as\":\"Project\",\"in\":{\"$var\":\"projects\"}}],\"outputs\":[\n {\"key\":\"primary\",\"type\":\"priority\",\"name\":{\"$item\":[\"Project\",\"name\"],\"suffix\":\" owners\"},\"participants\":{\"$item\":[\"Project\",\"owners\"]},\"fallback\":{\"$output\":[\"General\",\"weekly\"]}},\n {\"key\":\"escalation\",\"type\":\"escalation\",\"name\":{\"$item\":[\"Project\",\"name\"],\"suffix\":\" escalation\"},\"steps\":[\n {\"schedule\":{\"$output\":[\"Owners\",\"primary\"]}},\n {\"after\":30,\"team\":\"all\"}\n ]},\n {\"key\":\"route\",\"type\":\"route\",\"name\":{\"$item\":[\"Project\",\"name\"],\"suffix\":\" route\"},\"escalation\":{\"$output\":[\"Owners\",\"escalation\"]},\"working\":true,\"conditions\":[[\"tags\",\"contains\",{\"$item\":[\"Project\",\"tag\"]}]]}\n ]}\n ]\n}",
"fr": "{\n \"format\": \"meguri/v2\",\n \"variables\": {\n \"on_call\": [\"alice@example.com\", \"bob@example.com\"],\n \"projects\": [{\"name\":\"alpha\",\"owners\":[\"alice@example.com\",\"bob@example.com\"],\"tag\":\"project:alpha\"}]\n },\n \"generators\": [\n {\"name\":\"General\",\"outputs\":[\n {\"key\":\"weekly\",\"type\":\"rotation\",\"name\":\"General on-call\",\"participants\":{\"$var\":\"on_call\"},\"anchor\":\"2026-09-28\",\"shift_days\":7,\"handover\":\"11:00\"}\n ]},\n {\"name\":\"Owners\",\"for\":[{\"as\":\"Project\",\"in\":{\"$var\":\"projects\"}}],\"outputs\":[\n {\"key\":\"primary\",\"type\":\"priority\",\"name\":{\"$item\":[\"Project\",\"name\"],\"suffix\":\" owners\"},\"participants\":{\"$item\":[\"Project\",\"owners\"]},\"fallback\":{\"$output\":[\"General\",\"weekly\"]}},\n {\"key\":\"escalation\",\"type\":\"escalation\",\"name\":{\"$item\":[\"Project\",\"name\"],\"suffix\":\" escalation\"},\"steps\":[\n {\"schedule\":{\"$output\":[\"Owners\",\"primary\"]}},\n {\"after\":30,\"team\":\"all\"}\n ]},\n {\"key\":\"route\",\"type\":\"route\",\"name\":{\"$item\":[\"Project\",\"name\"],\"suffix\":\" route\"},\"escalation\":{\"$output\":[\"Owners\",\"escalation\"]},\"working\":true,\"conditions\":[[\"tags\",\"contains\",{\"$item\":[\"Project\",\"tag\"]}]]}\n ]}\n ]\n}"
},
"generation_recipient_conflict": {
"en": "Choose exactly one escalation recipient type.",
"ru": "Выберите ровно один тип получателя эскалации.",
"fr": "Choisissez un seul type de destinataire d’escalade."
},
"site_title": {
"en": "Site administration",
"ru": "Администрирование сайта",
"fr": "Administration du site"
},
"site_scope": {
"en": "Installation settings",
"ru": "Настройки сайта",
"fr": "Paramètres du site"
},
"site_scope_hint": {
"en": "Manage accounts and workspace ownership. Workspace access remains explicit.",
"ru": "Управление аккаунтами и владельцами workspace. Доступ к workspace назначается отдельно.",
"fr": "Gérez les comptes et les propriétaires des espaces. Les accès restent explicites."
},
"site_users": {
"en": "Users",
"ru": "Пользователи",
"fr": "Utilisateurs"
},
"site_workspaces": {
"en": "Workspaces",
"ru": "Рабочие пространства",
"fr": "Espaces de travail"
},
"site_authentication": {
"en": "Authentication",
"ru": "Авторизация",
"fr": "Authentification"
},
"site_audit": {
"en": "Administration history",
"ru": "Журнал администрирования",
"fr": "Historique administratif"
},
"site_refresh": {
"en": "Refresh",
"ru": "Обновить",
"fr": "Actualiser"
},
"site_sections": {
"en": "Administration sections",
"ru": "Разделы администрирования",
"fr": "Sections administratives"
},
"site_denied": {
"en": "Site administrator access is required.",
"ru": "Нужны права администратора сайта.",
"fr": "Le rôle administrateur du site est requis."
},
"site_search": {
"en": "Search",
"ru": "Поиск",
"fr": "Rechercher"
},
"site_administrator": {
"en": "Site administrator",
"ru": "Администратор сайта",
"fr": "Administrateur du site"
},
"site_disabled": {
"en": "Account suspended",
"ru": "Аккаунт заблокирован",
"fr": "Compte suspendu"
},
"site_edit": {
"en": "Edit",
"ru": "Редактировать",
"fr": "Modifier"
},
"site_owners": {
"en": "Owners",
"ru": "Владельцы",
"fr": "Propriétaires"
},
"site_name": {
"en": "Name",
"ru": "Название",
"fr": "Nom"
},
"site_add_owner": {
"en": "Grant owner access to",
"ru": "Выдать права владельца",
"fr": "Accorder le rôle propriétaire à"
},
"site_owner_hint": {
"en": "Existing owners keep access. To work inside this workspace, explicitly add yourself as an owner.",
"ru": "Текущие владельцы сохранят доступ. Для работы внутри workspace явно назначьте себя владельцем.",
"fr": "Les propriétaires actuels conservent leur accès. Ajoutez-vous explicitement pour intervenir dans cet espace."
},
"site_suspend_hint": {
"en": "Suspension blocks login and ends sessions. Scheduling assignments and history are retained.",
"ru": "Блокировка запрещает вход и завершает сессии. Дежурства и история сохраняются.",
"fr": "La suspension bloque la connexion et ferme les sessions. Les plannings et l’historique sont conservés."
},
"site_cancel": {
"en": "Cancel",
"ru": "Отмена",
"fr": "Annuler"
},
"site_save": {
"en": "Save changes",
"ru": "Сохранить изменения",
"fr": "Enregistrer"
},
"site_saved": {
"en": "Changes saved",
"ru": "Изменения сохранены",
"fr": "Modifications enregistrées"
},
"site_confirm": {
"en": "Apply these administrative changes?",
"ru": "Применить эти административные изменения?",
"fr": "Appliquer ces modifications administratives ?"
},
"site_auth_draft": {
"en": "Configuration draft only. OIDC login is not connected yet. Saving these settings does not change the login page, password login or signup.",
"ru": "Пока это только конфигурация. OIDC-вход ещё не подключён. Сохранение не меняет страницу входа, парольную авторизацию и регистрацию.",
"fr": "Configuration uniquement. La connexion OIDC n’est pas encore active. Enregistrer ne modifie ni la page de connexion, ni les mots de passe, ni les inscriptions."
},
"site_login_methods": {
"en": "Login methods",
"ru": "Способы входа",
"fr": "Méthodes de connexion"
},
"site_password_enabled": {
"en": "Allow password login",
"ru": "Разрешить вход по паролю",
"fr": "Autoriser la connexion par mot de passe"
},
"site_oidc_enabled": {
"en": "Enable OIDC single sign-on",
"ru": "Включить единый вход OIDC",
"fr": "Activer la connexion unique OIDC"
},
"site_oidc_provider": {
"en": "OIDC provider",
"ru": "Провайдер OIDC",
"fr": "Fournisseur OIDC"
},
"site_issuer": {
"en": "Issuer URL",
"ru": "Issuer URL",
"fr": "URL de l’émetteur"
},
"site_issuer_hint": {
"en": "Provider issuer URL, for example https://identity.example.com/realms/company. Discovery will provide the authorization, token and key endpoints.",
"ru": "Адрес issuer, например https://identity.example.com/realms/company. Через discovery будут определяться адреса авторизации, токенов и ключей.",
"fr": "URL de l’émetteur, par exemple https://identity.example.com/realms/company. La découverte fournira les points d’autorisation, de jetons et de clés."
},
"site_client_id": {
"en": "Client ID",
"ru": "Client ID",
"fr": "ID client"
},
"site_secret_env": {
"en": "Client secret environment variable",
"ru": "Переменная окружения с client secret",
"fr": "Variable d’environnement du secret client"
},
"site_secret_hint": {
"en": "Enter the variable name, never the secret itself. The secret will be supplied by the deployment.",
"ru": "Укажите имя переменной, а не сам секрет. Значение секрета задаётся при развёртывании.",
"fr": "Indiquez le nom de la variable, jamais le secret. Sa valeur sera fournie par le déploiement."
},
"site_login_experience": {
"en": "Login page and accounts",
"ru": "Страница входа и аккаунты",
"fr": "Page de connexion et comptes"
},
"site_button_label": {
"en": "Login button label",
"ru": "Название кнопки входа",
"fr": "Libellé du bouton de connexion"
},
"site_new_accounts": {
"en": "Allow new accounts through SSO",
"ru": "Разрешить создание аккаунтов через SSO",
"fr": "Autoriser les nouveaux comptes via SSO"
},
"site_new_accounts_hint": {
"en": "New accounts will not automatically receive workspace access or administrator rights.",
"ru": "Новые аккаунты не получат автоматически доступ к workspace или права администратора.",
"fr": "Les nouveaux comptes ne recevront automatiquement aucun accès aux espaces ni rôle administrateur."
},
"site_save_draft": {
"en": "Save configuration draft",
"ru": "Сохранить конфигурацию",
"fr": "Enregistrer la configuration"
},
"site_deployment": {
"en": "Deployment",
"ru": "Развёртывание",
"fr": "Déploiement"
},
"site_action_bootstrap": {
"en": "Administrator bootstrap",
"ru": "Назначение первого администратора",
"fr": "Initialisation administrateur"
},
"site_action_user": {
"en": "Account updated",
"ru": "Аккаунт изменён",
"fr": "Compte modifié"
},
"site_action_workspace": {
"en": "Workspace updated",
"ru": "Workspace изменён",
"fr": "Espace modifié"
},
"site_action_authentication": {
"en": "Authentication draft updated",
"ru": "Настройки авторизации изменены",
"fr": "Configuration d’authentification modifiée"
},
"site_invalid": {
"en": "Check the configuration fields. Use an HTTPS issuer without credentials, query or fragment and a secret variable name beginning MEGURI_OIDC_.",
"ru": "Проверьте поля. Используйте HTTPS issuer без учётных данных, параметров и фрагмента; имя переменной секрета должно начинаться с MEGURI_OIDC_.",
"fr": "Vérifiez les champs. Utilisez un émetteur HTTPS sans identifiants, paramètres ni fragment, et une variable de secret commençant par MEGURI_OIDC_."
},
"site_last_admin": {
"en": "The last active site administrator cannot be suspended or demoted.",
"ru": "Нельзя заблокировать или лишить роли последнего активного администратора сайта.",
"fr": "Le dernier administrateur actif ne peut être suspendu ni rétrogradé."
},
"site_stale": {
"en": "Administration data changed. Refresh before saving again.",
"ru": "Данные администрирования изменились. Обновите страницу перед сохранением.",
"fr": "Les données ont changé. Actualisez avant d’enregistrer."
},
"site_auth_method": {
"en": "Keep at least one login method selected in the configuration.",
"ru": "В конфигурации должен быть выбран хотя бы один способ входа.",
"fr": "Gardez au moins une méthode de connexion dans la configuration."
},
"enum_site.workspace_updated": {
"en": "Workspace updated by site administrator",
"ru": "Workspace изменён администратором сайта",
"fr": "Espace modifié par l’administrateur du site"
},
"replacement_account_access": {
"en": "Participants with login accounts need workspace access to approve.",
"ru": "Участникам с аккаунтом нужен доступ к workspace для подтверждения.",
"fr": "Les participants disposant d’un compte doivent avoir accès à l’espace pour approuver."
},
"account_email": {
"en": "Email address",
"ru": "Электронная почта",
"fr": "Adresse e-mail"
},
"account_identity_taken": {
"en": "This username or email address is already registered.",
"ru": "Это имя пользователя или почта уже зарегистрированы.",
"fr": "Ce nom d’utilisateur ou cette adresse e-mail est déjà enregistré."
},
"account_person_authoritative": {
"en": "This person belongs to an account. Identity and profile details are managed in account settings.",
"ru": "Этот человек связан с аккаунтом. Его данные управляются в настройках аккаунта.",
"fr": "Cette personne appartient à un compte. Ses informations sont gérées dans les paramètres du compte."
},
"enum_person.profile_changed": {
"en": "Person profile updated",
"ru": "Профиль человека обновлён",
"fr": "Profil de la personne mis à jour"
},
"enum_account.people_migrated": {
"en": "Account people migrated",
"ru": "Данные людей связаны с аккаунтами",
"fr": "Profils des comptes migrés"
},
"enum_account.contacts_linked": {
"en": "Planning contacts linked to accounts",
"ru": "Контакты планирования связаны с аккаунтами",
"fr": "Contacts de planification associés aux comptes"
}
}